Алгоритм сопоставления слов

Мы разрабатываем мобильное приложение, которое считывает штрих-коды продуктов и получает цены с 8 сайтов электронной коммерции. Я разрабатываю веб-сервер на С#, который имеет всю логику и отправляет данные клиенту с помощью веб-службы.

Если я спрашиваю цену товара, отправив штрих-код, все ок. Но большинство систем веб-сайтов не имеют номеров штрих-кодов в своей базе данных, поэтому я должен отправить им название продукта, и оно ДОЛЖНО каким-то образом совпадать, чтобы получить подробную информацию о продукте.

Чтобы получить название продукта, я выполняю поиск UPC и получаю название продукта с веб-сайта.

Но проблема начинается именно в этот момент. Каждый сайт электронной коммерции может иметь различную структуру и другое название продукта. Как я собираюсь написать алгоритм, который будет анализировать базы данных электронной коммерции и приносить мне результаты. Мне действительно нужно писать отдельный анализатор данных для каждого сайта электронной коммерции. Есть ли алгоритм, который я могу написать.

Любая помощь будет оценена по достоинству.


person Yagiz Ozturk    schedule 28.12.2010    source источник


Ответы (3)


Боюсь, вам придется написать этот синтаксический анализатор. Я сомневаюсь, что вы могли бы использовать какой-либо алгоритм, кроме того, как этот алгоритм должен работать... (вероятно, как ваш парсер)

person Tomasz Orłowski    schedule 28.12.2010

1-Одним из решений будет сохранение общего имени продукта в таблице базы данных, чтобы вы могли хранить их в памяти сервера в виде статического списка и обновлять список с помощью задания при EOD.

2- Найдите какую-нибудь внешнюю веб-службу, которая предоставляет имя продукта, и используйте эту службу в своей веб-службе.

потому что вы просто не можете зайти на каждый веб-сайт для анализа данных.

person TalentTuner    schedule 28.12.2010
comment
Как я уже сказал, второй выбор невозможен. Различные сайты электронной коммерции имеют разные имена в своих базах данных. Первый выбор каким-то образом ручной и не оптимизирует мое решение. Спасибо, хотя за ваш хороший ответ. - person Yagiz Ozturk; 28.12.2010

Я обнаружил, что если я отправлю каждое слово в названии продукта в виде строкового массива, веб-сайт электронной коммерции сможет искать в своей базе данных слово за словом, пока не получит один результат продукта и не вернет его мне.

person Yagiz Ozturk    schedule 06.01.2011