Неструктурированный текст в структурированные данные - PullRequest
8 голосов
/ 02 июля 2010

Я ищу ссылки (учебные пособия, книги, академическую литературу), касающиеся структурирования неструктурированного текста способом, аналогичным кнопке быстрого добавления в календарь Google.

Я понимаю, что это может относиться к категории НЛП, но яЯ заинтересован только в процессе перехода от чего-то типа «джинсы Levi size 32 A0b293»

до: Бренд: Levi, размер: 32, категория: джинсы, код: A0b293

я представляюбудет некоторая комбинация лексического синтаксического анализа и методов машинного обучения.

Я довольно независим от языка, но если толкнуть, я предпочту ссылки на Python, Matlab или C ++

Спасибо

Ответы [ 4 ]

7 голосов
/ 02 июля 2010

Вам необходимо предоставить больше информации об источнике текста (Интернет? Пользовательский ввод?), Домене (это просто одежда?), Возможном форматировании и словаре ...

В худшем случае вам нужно начать изучать НЛП. Очень хорошая бесплатная книга - документация NLTK: http://www.nltk.org/book. Это также очень хорошее введение в Python, и SW является бесплатным (для различного использования). Будьте осторожны: НЛП трудно. Это не всегда работает. Это не весело время от времени. Уровень техники далеко не такой, как вы себе представляете.

При условии лучшего сценария (ваш текст полуструктурирован) - хороший бесплатный инструмент - pyparsing . Есть книга, множество примеров, и полученный код чрезвычайно привлекателен.

Надеюсь, это поможет ...

1 голос
/ 05 июля 2010

После некоторых исследований я обнаружил, что эту проблему обычно называют Извлечение информации , собрал несколько статей и сохранил их в коллекции Менделея

http://www.mendeley.com/research-papers/collections/3237331/Information-Extraction/

Также, как отметил Тай Вайс, NLTK для python является хорошей отправной точкой, и эта глава книги посвящена извлечению информации

1 голос
/ 02 июля 2010

Возможно, посмотрите на «Коллективный разум» Тоби Сегарана.Кажется, я помню, что решение основ этого в одной главе.

0 голосов
/ 05 июля 2010

Если вы работаете только с такими случаями, как в приведенном вами примере, вам лучше использовать некоторые правила, основанные на правилах, которые предсказуемы на 100% и покрывают 90% случаев, с которыми они могут столкнуться.

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

Два других можно легко обнаружить и извлечь с помощью регулярных выражений.(1-3-значные числа всегда имеют размеры и т. Д.)

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

...