|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Нужен алгоритм анализа текста, подбор релевантных вариантов
Наверное все видели когда неправильно набираешь текст в гугле например, то он предлагает свое значение. Мне требуется что-то похожее.
Пользователь вводит возможно бессмысленный набор букв (или машинный рандом, неважно), а программа должна каким-то образом сравнивать куски текста с базой слов в словаре и предлагать наиболее подходящие значения причем отсортированные по степени релевантности. Например, на запрос «натусупиалонесь» – выдаст как наиболее правильный «наступила осень». То есть программа должна проанализировать текст, разделить набор букв на слова и выбрать самые подходящие варианты слов. Не сталкивался ли кто с решениями такой задачи? Библиотеки, исходники, словари? |
|
|||||
Модрон-ветеринар
|
Бесплатный пакет вряд ли найдете.
Тут придется разделять строку на кусочки и проверять каждый кусочек по отдельности на какую-то близость к известным словоформам, то есть еще и морфология! Результат где-то хранить временно. Потом пошагово выводить общую релевантность. Такого даже у Гугла нет. Вообще, задачка тянет на работу небольшой команды разработчиков не на один месяц.
__________________
Идите первым! |
|
|||||
Цитата:
Цитата:
Добавлено через 2 минуты Хорошо. А если упростить задачу и текст будет разделен по словам. Есть же выражение %LIKE% в mySQL. Может есть какой-то подобный способ выборки по базе данных? |
|
|||||
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Цитата:
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
Регистрация: Nov 2008
Сообщений: 205
|
Попробуйте расстояние Хемминга поискать
|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Можно сделать нейросеть и обучить её программой, которая перемешивала бы каждое слово из базы по алгоритму.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Цитата:
__________________
...вселенская грусть |
|
|||||
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
Цитата:
Вообще для начала надо чётко сформализировать задачу: Из множества символов выбрать группу совпадующую с паттернами за исключением 2-3(?) символов или по-другому? Они ещё и могут быть местами поменяны?. тут уже начинается самое интересное: переборы вариантов. Если в лоб то просто циничным перебором, для начала ищем полные совпадения 3 букв/4/5 итп до несовпадения - меняем 6 на * проверяем 12345*7 (причём буквы в множестве имеют больший приоритет по сравнению с остальным алфавитом) - если поиск закончился значит либо пробел либо мы не правильно начали заменять с 6 пункта.. в общем как-то так + добавить весов вариантов каких нибудь.. Это чисто теория на практике надо будет ещё очень и очень оптимизировать такие гигантские вычисления Варианты: кэш и прочее, т.к. чаще всего люди либо просто ошибаются ( Жы-Шы, Варабей, Хлеб) Кстати пиша/пися этот текст в FF вспомнил про проверку орфографии.. ищите в исходниках FireFox. он предлагает поменять Жы-Шы на Шипы, что вроде близко к вашей задаче. а натусупиалонесь = натуралистичность
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 25.09.2010 в 01:29. |
Часовой пояс GMT +4, время: 16:19. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|