Лекция
Привет, Вы узнаете о том , что такое поиск по фразе, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое поиск по фразе , настоятельно рекомендую прочитать все из категории Обработка естественного языка.
В информатике , фраза поиска позволяет пользователям извлекать содержимое из информационных систем (например, документы из систем хранения файлов, записей из баз данных и веб - страниц в Интернете) , который содержит порядок и конкретные комбинации слов , определенных пользователем.
поиск по фразе - один из многих операторов поиска, которые являются стандартными в технологии поисковых систем , наряду с логическими операторами (И, ИЛИ и НЕ), операторами усечения и подстановочными знаками (обычно обозначаемыми символом звездочки), операторами кода поля (которые ищут конкретные слова в определенных полях, таких как поле «Автор» в периодической базе данных) и операторы близости (которые ищут определенные слова, которые появляются рядом друг с другом, если не непосредственно рядом друг с другом, как при поиске по фразе). Операторы поиска используются для уточнения результатов поиска, когда простой поиск по ключевым словам дает слишком много нежелательных результатов.
Хотя точная функциональность каждой поисковой системы определяется ее разработчиками, поиск по фразе обычно выполняется путем заключения нужной фразы в кавычки. Например, поиск red apple
может возвращать записи, содержащие слово «яблоко», те, которые содержат слово «красный», и те, которые содержат оба слова, независимо от того, где в записи они появляются (то есть, если поисковая система применяет Логическая логика ИЛИ для функции поиска по ключевым словам), тогда как поиск "red apple"
будет возвращать только записи, содержащие фразу «красное яблоко».
Поиск по фразе - один из наиболее важных методов, связанных с оптимизацией текстового содержания веб-страниц таким образом, чтобы его мог найти кто-то, ищущий определенную строку текста.
Рассмотрим систему, которая индексирует документы на основе модели векторного пространства и простого запроса, например qwe asd
. Об этом говорит сайт https://intellect.icu . При поиске мы относим весы оба слов qwe
и на asd
основе того, как часто они появляются в индексе. Идея состоит в том, что если слово существует в большем количестве документов, оно должно иметь меньшее влияние на релевантность. Это хорошо работает, потому что для каждого слова мы обычно храним статистику: количество вхождений данного слова во всем индексе и количество вхождений данного слова в каждом документе (возможно, после нормализации).
Теперь рассмотрим другой запрос: "qwe asd" zxcrty
. У нас здесь две части: фраза и простое слово. По слову у нас есть приведенная выше статистика, а по фразе - нет. Возникает вопрос: как сравнить документы с поиском по фразе? Если мы найдем один документ, содержащий фразу ( qwe asd
), а другой - одно слово ( zxcrty
), какой из них следует поставить выше?
Я почему-то сомневаюсь, что есть одно и окончательное решение этого вопроса, но хотел бы знать, какие подходы используются в существующих поисковых системах, решают ли проблему другие модели и другая информация, которая может быть полезна при анализе проблемы.
вы можете использовать множество разных подходов. Ваш вопрос не ограничивается моделью векторного пространства. Различные языковые модели также полагаются на эти концепции. Вот два подхода:
Один из популярных подходов - использование n-граммов . Этот подход предполагает обработку соседних слов как одного слова. Например, «большой дом» будет храниться в вашем контролируемом словаре как «большой», «дом» и «большой дом», если вы решите использовать 2-граммы (биграммы). Вероятности будут рассчитываться на n-грамм
Плюсы: точно отслеживать вероятности появления n-грамм, легко расширять из модели униграммы (просто следуйте тем же функциям ранжирования для униграмм, таких как tf-idf или Okapi BM25)
Минусы: экспоненциально увеличенное использование памяти, много биграмм выполняется только один раз.
Этот подход требует хранения инвертированного индекса в каждом документе в дополнение к инвертированному индексу всего корпуса. Это означало бы, что вам не нужно хранить n-граммы. Конечно, у вас не будет такой важной информации, как частота термина или частота в документе н-грамма. Идея состоит в том, что вы ищите первое слово в n-грамме и находите его в документе. Вы сравниваете следующие слова, чтобы увидеть, есть ли там n-грамм.
Плюсы: меньшее использование памяти (нет необходимости отслеживать n-граммы в документах), большая гибкость (например, игнорирование несоответствующих слов).
Минусы: хранится меньше информации (нет TF, DF и т. Д.), Требуется больше места на документ (для инвертированного индекса), требуется дополнительный поиск, ранжирование может быть затруднено.
Если мы найдем один документ, содержащий фразу (qwe asd), а другой - одно слово (zxcrty), какой из них следует поставить выше?
Это полностью зависит от функции ранжирования и от того, как вы решите взвесить каждую вещь. Насколько распространены qwe и asd? Насколько распространен zxcrty? Хотели бы вы придать дополнительный вес большим n-граммам? Все это важные соображения.
Исследование, описанное в статье про поиск по фразе, подчеркивает ее значимость в современном мире. Надеюсь, что теперь ты понял что такое поиск по фразе и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Обработка естественного языка
Из статьи мы узнали кратко, но содержательно про поиск по фразе
Комментарии
Оставить комментарий
Обработка естественного языка
Термины: Обработка естественного языка