Ruby Text Analysis - PullRequest
       26

Ruby Text Analysis

12 голосов
/ 30 сентября 2011

Есть ли какой-нибудь драгоценный камень Ruby или еще для анализа текста?Частота слова, распознавание образов и т. Д. (Желательно с пониманием французского)

Ответы [ 3 ]

9 голосов
/ 30 сентября 2011

обобщением частот слов являются языковые модели, например, униграммы (= частота одного слова), биграммы (= частота пар слов), триграммы (= частота мировых троек), ..., в общем: n-грамм

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

Существует несколько стандартных наборов инструментов, например, от команды CMU Sphinx, а также HTK.

Эти наборы инструментов, как правило, написаны на C (для скорости !!, потому что вам приходится обрабатывать огромные массивы) и генерируют файлы ARPA n-грамм стандартного выходного формата (обычно это текстовые форматы)

Проверьте следующую ветку, которая содержит более подробную информацию и ссылки:

Создание модели языка, совместимой с openears

После того, как вы сгенерировали вашу языковую модель с помощью одного из этих наборов инструментов, вам потребуется либо Ruby Gem, который делает языковую модель доступной в Ruby, либо вам необходимо преобразовать формат ARPA в ваш собственный формат.

В посте adi92 перечислены еще некоторые ресурсы Ruby NLP.

Для получения дополнительной информации вы также можете использовать Google для "ARPA Language Model"

Не в последнюю очередь проверьте Онлайн-инструмент Google N-граммы . Они построили n-граммы на основе оцифрованных книг - также доступны на французском и других языках!

4 голосов
/ 30 сентября 2011

Ошибка Mendicant: ресурсы НЛП для Ruby содержит много полезных ссылок Ruby NLP.
Я пытался использовать материал Ruby Linguistics давным-давно, и помню, что у меня было много проблем с этим ... Я не рекомендую прыгать в это.

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

Как и гем Stanford parser, можно использовать библиотеки Java, которые решают вашу проблему изнутри Ruby, но это может быть непросто, поэтому, вероятно, не лучший способ решения проблемы.

0 голосов
/ 27 октября 2014

Я написал драгоценный камень words_counted по этой причине. Вы можете увидеть демо на rubywordcount.com . В нем много функций анализа, о которых вы упомянули, и множество других. API хорошо документирован и может быть найден в readme на Github.

...