Парсинг цены из свободно структурированного текста - PullRequest
0 голосов
/ 12 января 2011

Я пишу скрипт, который анализирует цены по объявлениям на форуме.

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

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

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

Ответы [ 2 ]

2 голосов
/ 12 января 2011

Вы действительно говорите об анализе текста, который выходит далеко за рамки регулярных выражений, который просто поможет вам вывести цены. Вам нужно будет поискать фразы типа «был х евро, теперь спрашивает у евро».

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

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

0 голосов
/ 12 января 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...