Ассоциативно-семантический поиск на харде с сугестией.

09.06.2009
99
0
#1
Ищу программу для поиска текстовой информации у себя на жёстком диске.
Таких программ до фига, скажете Вы.
Например Архивариус 3000, Search inform, ищейка, Google Desctop Search и т.п.
Да. Программ много. Но в них нет нужных мне фишек.
О каких "фишках" идёт речь?
Сейчас попробую рассказать. Прогу, которая должна иметь описанные ниже фишки
я условно буду называть ХХ.

1) Хочу чтобы была поддержка суггестии. Ну типа как в яндексе: пока ты набираешь
текст в строке поиска яндекс параллельно ищет и предлагает тебе варианты
поиска.

К примеру я набрал "мама мыла р" а ХХ мне показывает в выпадающем списке:
"мама мыла раму" (123 890)
"мама мыла руки" (23 433)
"мама мыла ребёнка" (12 444)
Где цифры показывают кол-во найденного в базе данных ХХ

2) Семантический поиск. Хочу чтобы можно было задать поиск близких по смыслу слов.
Например я ввёл "папа <#ушёл> домой".
То что слово "ушёл" написано в угловых скобках с префиксом # говорит о том,
что в этой фразе вместо слово "ушёл" могут быть также и другие, близкие по
смыслу, слова. Например, "уехал", "вернулся", "направился" и т.п.

3) Хочу чтобы можно было вместо конкретного слова написать <@глагол>,
<@существительное> и т.д..
Например, если я введу "папа <@глагол> домой", то ХХ должна мне найти
все документы, которые содержат фразы где после "папа" следует
ЛЮБОЙ глагол, а потом слово "домой"

4) Поиск ассоциативно-связанной инфы.
Т.е. я ввожу некий запрос. ХХ анализируя свою базу данных находит
слова, словосочетания или фразы, которые чаще всего присутствуют в документе
вместе с указанным Вами запросом.
К примеру.
Вы ввели "Ошибка в Windows".
А ХХ в суггестии Вам показывает:
"Билл Гейтс" [78%][32][1,4]
"синий экран" [33%][39][1,9]
"мелкософт" [22%][22][3,01]
Что означают эти цифры?
Рассмотрим к примеру 1-ю строку.
- "78%" говорит нам, что 78% документов, в которых найдено "Ошибка в
Windows", содержат также и фразу "Билл Гейтс".
- "32" - это среднее расстояние (слов) в документах от фразы "Ошибка в Windows"
до ближайшей к ней фразе "Билл Гейтс".
- "1,4" показывает сколько раз (усреднёно по всем документам) в документе,
содержащем "Ошибка в Windows" и "Билл Гейтс" повторяется Билл Гейтс"

5) Чтобы можно было задавать вес слов, словосочетаний и предложений.
К примеру если я хочу, чтобы документы и фразы, в которых встречается слово
"форум", имели меньший вес в списке результатов поиска и вариантов суггестии,
то я задаю ему нулевой вес. Напротив. Если я хочу, чтобы документы и варианты
суггестии, содержащие, к примеру, слово OLAP имели больший вес, то я задаю
слову OLAP максимальный вес (10).

6) Чтобы можно было задавать то, что я ищу путём указания расстояния от
известной фразы
К примеру запрос "папа /{2,3} [<@глагол>] маму" означает что нужно найти все
глаголы в документах, в которых глагол расположен справа от слова "папа"
на расстоянии от 2-х до 3-х слов и после которого следует слово мама.


Засим пока хватит.
Хотя описание получилось довольно путаным и сумбурным.
Но я надеюсь Вы поняли основные моменты.
Просто и так "много букафф" получилось, а если бы я описывал всё более детально
и более понятно, что вообще текст бы немереный получился и вряд ли бы его кто-то
тогда "асилил" бы.

Поэтому это пока всё. А в дальнейшем я буду просто давать уточнения и
дополнения.

_________________________________
13:58 30 июля 2011 г.
Доктор ТуамОсес inc.®
 
09.06.2009
99
0
#4
Чтобы вам, господа, понятней было что я хочу и что я понимаю под "ассоциативно связанной инфой" расскажу как я сейчас "вручную" (с помощью архивариуса 3000) это делаю .

К примеру, меня интересует насколько ассоциативно связаны в моей базе данных (точнее в базе данных архивариуса 3000) слова гайморит и насморк.
Сначала я ищу <гайморит*>. Получаю, что <гайморит*> содержится в 1073-х файлах.
Затем я ищу <насморк*>. Получаю, что <насморк*> содержится в 1845-ти файлах.
После этого я ищу <насморк* AND гайморит*>. Архивариус находит 374 файла.

После того я вычисляю степень ассоциативной связности.
100-374/1073*100=65,14%
100-374/1845*100=79.73%

О чём говорят эти цифры?
О том, что 65% документов, содержащих слово гайморит, не содержали слова насморк
И о том, что 80% документов, содержащих слово насморк, не содержали слова гайморит.

О чём МНЕ говорят эти цифры?

О том, что ассоциативная связь между "насморком" и "гайморитом" в моей базе данных весьма слабая. Ибо при сильная связь - это, ИМХО, когда менее 10% документов содержат слово и не содержат слова, ассоциативно связанное.

Так вот. Хотелось бы иметь у себя прогу, которая сама, автоматически, находила бы мне все слова, словосочетания или предложения (впо выбору), которые очень СИЛЬНО (или напротив очень слабо) ассоциативно связаны с введённым мной поисковым запросом.

Выше я описал самый простой алгоритм вычисления степени ассоциативной связности просто как иллюстрацию того, чего же мне хотелось. Реально алгоритм может быть гораздо более сложный и интеллектуальный с кучей настроек.
 
S

S-haman

Гость
#8
ДокторТуамОсес - я думаю будет проще написать свою мини поисковую систему и заложить там все необходимы для вас правила/алгоритмы
 
09.06.2009
99
0
#9
Некогда мне писать. Я и так много всего пишу.

В частности разрабатываю новую парадигму в программировании и новую концепцию построения системы виртуальных миров ("цифровых вселенных"&reg;)
 
R

rrrFer

Гость
#10
ДокторТуамОсес
да, еще вы пишите книгу, к которой очень хорошие комментарии. Против книги я ничего не имею, я ее бегло просмотрел, но судя по сотням страниц комментариев к ней вы пишите книгу о том, чего не знаете(вы сами в комментариях писали, вроде бы, что не написали никаких программ на С++, но книгу уже пишите). Хотя ИМХО лишняя книга никому не вредит, только авторы обычно не хотят писать "в стол". Название надо было дать ей адекватное. ОЕсли назвать книгу "Лучшая в мире книга" -то 100% автор будет долго и безуспешно отбиваться от армии троллей, т.к. надо доказать что она лучшая.
Дак вот, про парадигму... перед тем как разрабатывать новую стоит разобраться с существующими, я сомневаюсь что вы это сделали, а => не сможете пояснить чем ваша парадигма лучше, или хотя бы отличается от аналогов => вас о5 затроллят.

Программы, которую вы ищите в этой теме, не существует.
 
09.06.2009
99
0
#11
ДокторТуамОсес
Дак вот, про парадигму... перед тем как разрабатывать новую стоит разобраться с существующими
Естественно.
А разве может быть иначе? :newconfus:
Я разобрался. Перечитал за последние 35 лет ТЕРАБАЙТЫ статей, книг, научных монографий, программистских форумов и т.п.

Поэтому детально изучив всех их достоинства и недостатки занялся разработкой своей, которая займёт место давно уже себя изживших парадигм, которые используют в настоящее время (вроде ОО, функционального, декларативного и т.п. программирования)

Моя парадигма перевернёт цивилизацию. В корне изменит взгляд человека на процесс и суть программирования
В корне изменит весь ход человеческой цивилизации.
 

lazybiz

Well-Known Member
03.11.2010
1 339
0
#12
Я хочу изменить взгляд на процесс и суть программирования! Переверните пожалуйста цивилизацию!!
 

1ive

Well-Known Member
12.09.2010
621
0
#13
Один я ник*я не понял из слов этого "доктора"?..
Вам сценарии к фильмам типа "Звёздный крейсер «Галактика»" писать нужно...

Кстати - http://www.rsdn.ru/Poll/3192.aspx
 
R

rrrFer

Гость
#14
доктор
ладно, не буду мешать. Когда парадигма будет готова - дай знать )
Хотя, наверное сам узнаю - цивилизация ведь резко перевернется.

Добавлено: Ну если это не отнимет много вашего драгоценного времени - то МБ уже сейчас ответите на вопрос(я писал про это выше): "чем ваша парадигма лучше, или хотя бы отличается от аналогов"