Найти - Пользователи
Полная версия: Разбиение на keywords
Начало » Python для экспертов » Разбиение на keywords
1
pyOut
Как можно эффективно для Python2.5 написать следующий функционал.
В базе хранятся keywords, и phraze.
Имеется на входе текст. Нужно проверить текст на наличие имеющихся в базе кейвордов(keywords) и вывести нужную фразу(phraze) соответствующую кейворду(keywords). При не нахождения keyword-ов выдавать какую-то дефолтную фразу.
Поэтому возникает вопрос, как это лучше сделать? Как правильней разбить на кейворды текст чтобы не дергать базу на нахождения подходящего кейворда.
Zubchick
блин я такое на первом курсе делал :)
Я проверял по многу раз все слова и их производные, считал баллы и выводил. База у меня была собственноручнопридуманная, а вам дабы не париться с ерундой типа поиска и организации информации в этой самой базе я советую использовать любую субд.
pyOut
Zubchick, не совсем понял что вы хотели сказать. То что я могу использовать любую СУБД это понятно. Но как быть с разбиением текста на кейворды? Вы предлагаете брать каждое слово текста и дергать каждый раз БД на принадлежность к keywords?
Ferroman
“не дергать базу на нахождения подходящего кейворда” не получится. Придётся дёргать базу за каждое слово.
Единственное, что я бы сделал, как оптимизацию - разбил бы слова по длине в разные таблицы, избавившись от всех заведомо маленьких/больших чем нужно, да и поиск по маленьких таблицах быстрее. А заранее оптимизировать как-то более хитро - нет смысла, я думаю.
Zubchick
а че нет то?)
БД на то и нужна чтобы ее дергать. У меня база была около 2х метров искал я где-то раз по 4*n на каждую фразу, где n число слов во фразе. И ничего, работало очень быстро. Ну мусор типа слов паразитов, союзов междометий можно убрать. Это в самом примитивном варианте.
Если хотите чуть более осмысленного бота (или что там у вас будет?) ) попробуйте посмотреть в сторону цепей Маркова. Это где у вас есть некоторое сочетание (слов-символов) и по нему вы выводите другое сочетание. Часть первого + только что выведенное дает нам новую комбинацию, которую мы снова ищем в базе…(а куда от этого денешься то?) Вот таким образом.
Вообще с этим делом все довольно трудно, есть какой-то хардкорный рускоязычный ресурс в интернете по поводу ботов, поищите если интересно.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB