Разработка поисковой системы

123 4
G
На сайте с 25.10.2010
Offline
0
5164

Здраствуйте! Пишу диплом бакалавра на тему "Организация поиска с интеллектуальным анализом запросов". И вопрос сейчас не про саму организацию поиска, индексации и т.д., а про Морфологческий анализатор.

Первое: Стоит ли его вообще писать, я тут где-то читал, что оказывается в некторых субд он есть встроенный. Хотелось бы узнать о качестве его работы в них.

Второе: Если все же писать, как лучше быть? Протые стеммеры я сразу откинул, мне не понравилось что Стеммер Портера при вводе слова "зал" и "зала" выводит один и тот же ответ: "Неизменная часть слова : "за"". Вообщем для поиска не очень походит.

Моя идея пока такая: хранить список всех возможных окончаний, по ним определять что за слово и какое окончание подставить чтобы получить заглавную форму. Но че то это не всегда хорошо прокатывает. А если проводить дополнительный анализ предложения - не слишком ли это долго будет?

Shapranov Pavel
На сайте с 27.08.2007
Offline
304
#1
GBall:
Здраствуйте! Пишу диплом бакалавра на тему "Организация поиска с интеллектуальным анализом запросов". И вопрос сейчас не про саму организацию поиска, индексации и т.д., а про Морфологческий анализатор.

Первое: Стоит ли его вообще писать, я тут где-то читал, что оказывается в некторых субд он есть встроенный. Хотелось бы узнать о качестве его работы в них.

Второе: Если все же писать, как лучше быть? Протые стеммеры я сразу откинул, мне не понравилось что Стеммер Портера при вводе слова "зал" и "зала" выводит один и тот же ответ: "Неизменная часть слова : "за"". Вообщем для поиска не очень походит.

Моя идея пока такая: хранить список всех возможных окончаний, по ним определять что за слово и какое окончание подставить чтобы получить заглавную форму. Но че то это не всегда хорошо прокатывает. А если проводить дополнительный анализ предложения - не слишком ли это долго будет?

Наверное вас все-таки в этот раздел /ru/forum/optimization-practices/search-technologies

Там программистов больше тусуется. К тому же, далеко не каждый вообще поймет о чем речь. Я вот не понял :)

G
На сайте с 25.10.2010
Offline
0
#2

ну я подумал я ж все таки - новичек) Вот и пошел в раздел для новичков)

vitali_y
На сайте с 23.05.2007
Offline
33
#3

я бы сказал так - морфологический анализатор писать не стоит. моя точка зрения основана на чистой интуиции и некотором опыте написания поисковой системы.

пока не видел разумного математического обоснования зачем он нужен.

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

т.е. моя точка зрения такая - то что вводит пользователь при поиске предварительно обрабатывать не нужно - можно лишь давать пользователю подсказки (контекстные подсказки).

имеет какай-то смысл как-то обрабатывать информацию перед индексированием - типа классифицировать, разбить на кластеры и т.д. и т.п.

Онтарио
На сайте с 30.06.2009
Offline
37
#4

по-моему стоит копать в сторону семантического анализа, ибо морфология - довольно глупый метод для поиска. Тот же замОк, зАмок. По большим выборкам запросов можно построить семантический граф и скакать от него. Тем более работая с выборками запросов можно довольно гибко следовать за развитием языка (неологизмы и жаргон).

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

p.s. Кстати не плохая тема для аспирантуры ;)

vitali_y
На сайте с 23.05.2007
Offline
33
#5

ну и в строну так называемого "граля" т.е. святого семантического анализа я бы не смотрел...

пока это все из разряда искусственного интеллекта - нет тут интеллекта.

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

хотя финансирование под их бредовые идеи им иногда удается получить - поскольку для людей далеких это может звучать достаточно перспективно.

Онтарио
На сайте с 30.06.2009
Offline
37
#6

по идее, имея большие выборки запросов, можно делать выводы, но конечно, такой подход будет давать лажу, но без неё вроде как ничего не бывает. Лажу можно пытаться частично компенсировать личным поиском (учет истории поиска).

По поводу ИИ можно тоже долго спорить, и даже аргументированно спорить, но при этом либо каждый останется при своем, либо одно из двух.

Простой эксперимент: завяжите человеку глаза, затащите с улицы первого встречного и попросите его задать поисковый запрос испытуемому. Одно слово: замок/замок. Что он ответит? Попытается угадать. То есть задача в принципе не решается даже человеком, а значит и ИИ тут не поможет.

Проблема тем и интересна в научном плане, что ее нельзя решить с пол пинка.

UPD: лажу еще можно компенсировать исходя из статистических оценок.

L
На сайте с 03.05.2006
Offline
171
#7

по теме топика - скачайте либ-ру или русскую википедию, отсортируйте слова, напишите все окончани и посмотрите сколько слов разбирается с окончаниями, а сколько нет.

программа - простейшая.

А вот что такое ИИ и запросы я не понимаю.... как тут поинтелектничать то?

Хотя если бы меня спросили зАмок/замОк я бы выдал выдачу в примерном соотношении количесва документов с тем и другим...

orbea
На сайте с 30.11.2009
Offline
24
#8
GBall:
Здраствуйте! Пишу диплом бакалавра на тему "Организация поиска с интеллектуальным анализом запросов". И вопрос сейчас не про саму организацию поиска, индексации и т.д., а про Морфологческий анализатор.

Первое: Стоит ли его вообще писать, я тут где-то читал, что оказывается в некторых субд он есть встроенный. Хотелось бы узнать о качестве его работы в них.

Второе: Если все же писать, как лучше быть? Протые стеммеры я сразу откинул, мне не понравилось что Стеммер Портера при вводе слова "зал" и "зала" выводит один и тот же ответ: "Неизменная часть слова : "за"". Вообщем для поиска не очень походит.

Моя идея пока такая: хранить список всех возможных окончаний, по ним определять что за слово и какое окончание подставить чтобы получить заглавную форму. Но че то это не всегда хорошо прокатывает. А если проводить дополнительный анализ предложения - не слишком ли это долго будет?

Вот это вполне хорошо работает. Выводы делаю из многолетней практики использования.

G
На сайте с 25.10.2010
Offline
0
#9

Ну по одному слову естественно ничего не понятно. Тут просто можно придугадывать. А вот если предложение то тут надо проводить анализ. А без анализа никак нельзя делать поисковую систему, она же должна выводить наиболее подходящую информацию. Тоесть "Интеллектуальный анализ запросов" подразумевает анализ запроса с той целью, что бы система поняла, что этому пользователю от нее нужно.

Вот как раз у меня проблема первая - это то что надо анализировать слова. Тоетсь привести их к заглавной форме. Причем этих заглавных форм может оказаться несколько - что с ними делать это уже другой вопрос. (Замок - всмысле строение и всмысле тот, который с ключом).

Пока я пытаюсь сделать лемматизатор, для приведения к заглавной форме, например, делал -> делать. Потом разбирать уже предложение, где тут глагол, где еще что-то. Но проблема пока как раз таки в приведении к заглавной форме.

А вот если от этого отказаться, то я не совсем еще понял как тогда организовать поиск. У меня пока утсроено так:

1)Индексируется документ - тоесть все слова в нем переводятся в заглавную форму и сохраняются в БД. Ту да же еще всякая информация по документу (набор шинглов, адрес и т.д.)

Вот тогда для самого поиска мне все слова надо тоже к заглавной форме привести. Как же мне тут отказаться от анализа?

vitali_y
На сайте с 23.05.2007
Offline
33
#10
orbea:
Вот это вполне хорошо работает. Выводы делаю из многолетней практики использования.

www.aot.ru - ну определяет части речи, ну и что? какое отношение это имеет к поиску?

vitali_y добавил 26.10.2010 в 15:51

GBall, что вы будете делать (т.е. что будет делать ваша интеллектуальная поисковая система) если в качестве запроса я введу "trejbngfek dnfvdnfwjknre rkjenrfevf"? какая тут морфология?

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий