Как получить список слов часто встречающихся в тексте?
Есть текст. Нужно разобрать его и вывести список слов, которые в нем встречаются и количество их вхождений. При этом нужен "умный" поиск, что бы учитывал словоформы и в результат они записывались в инфинитиве.
Не подскажите, как называется эта процедура? Или какие есть библиотеку для этого? Язык не важен, но предпочтительны PHP/Python/Java/Scala
Посмотрите на Sphinx (sphinxsearch.com/).
Процедура приведения словоформы к нормальному виду называется нормализацией (морфологическая задача). С ней хорошо может справиться и AOT (aot.ru). Для ХОРОШЕГО поиска нужно использовать уже движки (Sphinx и прочие). У Sphinx в результатах возвращается статистика по словам.
@becks, Мне нужен не поиск, а статистика нормализованных слов в тексте. При этом один текст используется один раз: загрузили, получили статистику, забыли. Сфинкс для этого избыточен не будет?
На столько же избыточен, как и elasticsearch и другие движки. Можете с помощью aot (или чего другого) получать слова в нормальной форме, а статистику считать и хранить сами.