LINUX.ORG.RU

Python: поиск слов и словосочетаний в строке с учетом морфологии

 


0

1

Собственно, требуется прочитать некий текстовик (или html) в строку и найти в ней указанную фразу.

Чем и как это лучше сделать? В голове летает мысль выпилить все предлоги/союзы/знаки препинания, разбить строку по пробелам в массив, с помощью pymorphy привести каждый элемент в начальную форму, собрать строку обратно, ну и искать. Но создается впечатление, что что-то здесь не так.

Системы, вроде Sphynx ищут по собственным таблицам индекса, что не приемлимо.


Да вроде нормально. Сравнить массивы исходных совоформ и сделать выводы о соответствии по результатам сравнения. Будет совсем чуть сложнее если порядок слов не важен или нужны не только полные совпадения.
Ждем питонера, который подскажет библиотеку, взамен велосипедов или правильный алго.

anonymous
()

ищут по собственным таблицам индуса

(ищут пожарные, ищет милиция)

nokachi
()

Построй свой индекс. Это просто таблица где указано где какое слово встречается. Естественно уже нормализованное. Когда ищешь документ то по таблице находишь все которые пересекаются с запросом. Сортируешь по размеру пересечения

OxiD ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.