Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flasher.ru > Флейм

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.09.2010, 10:56
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 1  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
По умолчанию Нужен алгоритм анализа текста, подбор релевантных вариантов

Наверное все видели когда неправильно набираешь текст в гугле например, то он предлагает свое значение. Мне требуется что-то похожее.

Пользователь вводит возможно бессмысленный набор букв (или машинный рандом, неважно), а программа должна каким-то образом сравнивать куски текста с базой слов в словаре и предлагать наиболее подходящие значения причем отсортированные по степени релевантности. Например, на запрос «натусупиалонесь» – выдаст как наиболее правильный «наступила осень».
То есть программа должна проанализировать текст, разделить набор букв на слова и выбрать самые подходящие варианты слов.

Не сталкивался ли кто с решениями такой задачи? Библиотеки, исходники, словари?

Старый 18.09.2010, 11:33
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Бесплатный пакет вряд ли найдете.
Тут придется разделять строку на кусочки и проверять каждый кусочек по отдельности на какую-то близость к известным словоформам, то есть еще и морфология! Результат где-то хранить временно. Потом пошагово выводить общую релевантность.
Такого даже у Гугла нет.
Вообще, задачка тянет на работу небольшой команды разработчиков не на один месяц.
__________________
Идите первым!

Старый 18.09.2010, 11:36
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
на запрос «натусупиалонесь» – выдаст... ссылку на эту тему.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 18.09.2010, 12:24
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 4  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Цитата:
Бесплатный пакет вряд ли найдете.
Тут придется разделять строку на кусочки и проверять каждый кусочек по отдельности на какую-то близость к известным словоформам, то есть еще и морфология! Результат где-то хранить временно. Потом пошагово выводить общую релевантность.
Такого даже у Гугла нет.
Да, я так и предполагал. Мне такая работа не под силу. Вот и ищу подобные реализации.
Цитата:
на запрос «натусупиалонесь» – выдаст... ссылку на эту тему.
На все форумы где я спрашивал

Добавлено через 2 минуты
Хорошо. А если упростить задачу и текст будет разделен по словам. Есть же выражение %LIKE% в mySQL. Может есть какой-то подобный способ выборки по базе данных?

Старый 18.09.2010, 20:00
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 5  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
Цитата:
Такого даже у Гугла нет.
зато во FlashDevelop автокомплит именно так работает. Ищет наиболее похожие названия на ввод всякой несуразицы.

Старый 24.09.2010, 23:48
VovkaMorkovka1 вне форума Посмотреть профиль Отправить личное сообщение для VovkaMorkovka1 Посетить домашнюю страницу VovkaMorkovka1 Найти все сообщения от VovkaMorkovka1
  № 6  
Ответить с цитированием
VovkaMorkovka1

Регистрация: Nov 2008
Сообщений: 205
Попробуйте расстояние Хемминга поискать

Старый 24.09.2010, 23:56
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 7  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Можно сделать нейросеть и обучить её программой, которая перемешивала бы каждое слово из базы по алгоритму.

Старый 25.09.2010, 00:46
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 8  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
зато во FlashDevelop автокомплит именно так работает
Насколько я помню, во FlashDevelop поиск идет по последовательности букв, а не по похожести. То есть, если набрать ader одним из вариантов будет addEventListener, т.к. в этом слове эти буквы идут друг за другом. Если набрать adezer, то addEventListener в окошке автокомплита не появится
__________________
...вселенская грусть

Старый 25.09.2010, 01:19
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 9  
Ответить с цитированием
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
Попробуйте расстояние Хемминга поискать
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Можно сделать нейросеть и обучить её программой, которая перемешивала бы каждое слово из базы по алгоритму.
Вы ещё рандомизированный алгоритм стохастической аппроксимации предложите)

Вообще для начала надо чётко сформализировать задачу:

Из множества символов выбрать группу совпадующую с паттернами за исключением 2-3(?) символов или по-другому? Они ещё и могут быть местами поменяны?.
тут уже начинается самое интересное:
переборы вариантов.
Если в лоб то просто циничным перебором, для начала ищем полные совпадения 3 букв/4/5 итп до несовпадения - меняем 6 на *
проверяем 12345*7 (причём буквы в множестве имеют больший приоритет по сравнению с остальным алфавитом) - если поиск закончился значит либо пробел либо мы не правильно начали заменять с 6 пункта..
в общем как-то так + добавить весов вариантов каких нибудь..
Это чисто теория на практике надо будет ещё очень и очень оптимизировать такие гигантские вычисления
Варианты: кэш и прочее, т.к. чаще всего люди либо просто ошибаются ( Жы-Шы, Варабей, Хлеб)

Кстати пиша/пися этот текст в FF вспомнил про проверку орфографии..
ищите в исходниках FireFox.
он предлагает поменять Жы-Шы на Шипы, что вроде близко к вашей задаче.
а натусупиалонесь = натуралистичность
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 25.09.2010 в 01:29.
Старый 06.10.2010, 10:33
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 10  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Я нашел решение в триграммах Сфинкса (могу скинуть ссылку на статью на Хабре, если кого заинтересовало). Хотя пока не реализовал. Спасибо за FlashDevelop, все никак не проверю этого зверя

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:19.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.