Как найти наиболее встречающиеся сочетания слов в нескольких текстах?

Имеется БД с множеством текстовой информации. Необходимо найти наиболее встречающиеся сочетания слов, чтобы в дальнейшем обучить некоторый скриптик.

Как логически правильно было бы организовать поиск, чтобы ничего не упустить?
  • Вопрос задан
  • 564 просмотра
Пригласить эксперта
Ответы на вопрос 4
@danilkin Автор вопроса
Думаю сделать следующим образом:
Берем текст, делим на шинглы длиной 1-2-3-4-5 внахлест, убираем дубликаты.
Далее каждый шингл проверям на наличие в БД. Если данного шингла нет, то добавляем в БД и увеличиваем кол-во упоминаний на 1. Если шингл присутствует, то просто увеличиваем кол-во. И так каждый текст. В итоге получаем нужный набор шинглов и сортируем.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Здесь информация по рекурсивному поиску и по поисковой древовидной структуре для хранения текста.
Ответ написан
Комментировать
@Vlad_Fedorenko
Ответ написан
Комментировать
Kotofey
@Kotofey
Все уже придумано до нас. Работает в том числе и с разными словоформами для рус.языка: carrot2
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы