Подтвердить что ты не робот

Анализ текста Ruby

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

4b9b3361

Ответ 1

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

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

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

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

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

Построение openears совместимой языковой модели

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

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

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

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

Ответ 2

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

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

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

Ответ 3

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