Поиск: непохожие пути к похожим результатам. Часть 2️⃣ — Стемминг и лемматизация в обработке естественного языка
Поскольку ключевые слова и статистическое ранжирование не могли обеспечить высокую релевантность результатов поиска, необходимо было научиться обрабатывать запрос так, чтобы он становился понятным для машины.
Как следствие, получила стимул к развитию область знаний на стыке компьютерных наук, искусственного интеллекта и лингвистики, которая учит машины понимать, интерпретировать и генерировать человеческий язык — обработка естественного языка (англ. Natural Language Processing, NLP)
Функции NLP призваны справляться с различными языковыми трудностями, поэтому применяются разные подходы к решению задач. Самые простые из них — стемминг и лемматизация. По сути, они представляют процессы преобразования использованных в запросе слов в более простые формы.
📌 Стемминг (англ. stemming) приводит слово к общей основе (стему) за счет удаления окончаний и суффиксов. Стемом может быть как целое слово, так и его часть, которая объединяет разные формы одного слова. Цель — упростить анализ текста, чтобы компьютер интерпретировал различные формы слова как проявление одной лексической единицы.
📌 Лемматизация (англ. lemmatization) же приводит слово к его базовой, словарной форме — лемме. Лемма — это начальная форма слова, как оно записано в словаре (для существительных — именительный падеж, единственное число; для глаголов — инфинитив).
Основное отличие этих подходов в том, что лемматизация учитывает грамматику и смысл слов. Оба подхода используются в равной степени для снижения ресурсозатрат и повышения вычислительных возможностей.
📎 В карточках — наглядные примеры.
🗺 Анонс со ссылками на все части, предыдущая часть — здесь
#интересное #полезное #поиск #NLP #стемминг #лемматизация
Поскольку ключевые слова и статистическое ранжирование не могли обеспечить высокую релевантность результатов поиска, необходимо было научиться обрабатывать запрос так, чтобы он становился понятным для машины.
Как следствие, получила стимул к развитию область знаний на стыке компьютерных наук, искусственного интеллекта и лингвистики, которая учит машины понимать, интерпретировать и генерировать человеческий язык — обработка естественного языка (англ. Natural Language Processing, NLP)
Функции NLP призваны справляться с различными языковыми трудностями, поэтому применяются разные подходы к решению задач. Самые простые из них — стемминг и лемматизация. По сути, они представляют процессы преобразования использованных в запросе слов в более простые формы.
Основное отличие этих подходов в том, что лемматизация учитывает грамматику и смысл слов. Оба подхода используются в равной степени для снижения ресурсозатрат и повышения вычислительных возможностей.
#интересное #полезное #поиск #NLP #стемминг #лемматизация
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥14👌11🤯1
Поиск: непохожие пути к похожим результатам. Часть 3️⃣ — Сегментация текста
Современный поисковый запрос, как правило, представляет собой как минимум словосочетание, а как максимум — предложение или даже несколько предложений. Особенно это заметно на примере нейросетей, где запросы (или же промпты) могут представлять собой целые сочинения с набором условий.
Важный этап понимания такого запроса в контексте обработки естественного языка — сегментация.
📌 Сегментация — процесс разделения текста на отдельные слова или значимые единицы (токены), которые потом можно анализировать. Это один из первых шагов в обработке текста, чтобы компьютер мог понять структуру предложения.
Самый простой способ сегментации — разбить текст на части там, где есть пробелы.
Следующая ступень — учет знаков препинания, сокращений и составных слов.
Сегментация важна, потому что в разных языках слова могут соединяться по-разному, а знаки препинания и пробелы не всегда чётко показывают границы.
Примеры языков с нетривиальной сегментацией:
🔷 китайский и японский языки предполагают разграничение предложений, а не слов
🔷 тайский и лаосский предполагает разграничение фраз и предложений
🔷 во вьетнамском языке разграничиваются слоги
Для большинства языков, включая русский, сегментация реализуется достаточно просто, в чем можно убедиться, посмотрев пример в карточке✏️
🗺 Анонс со ссылками на все части, предыдущая часть — здесь
#интересное #полезное #поиск #NLP #сегментация
Современный поисковый запрос, как правило, представляет собой как минимум словосочетание, а как максимум — предложение или даже несколько предложений. Особенно это заметно на примере нейросетей, где запросы (или же промпты) могут представлять собой целые сочинения с набором условий.
Важный этап понимания такого запроса в контексте обработки естественного языка — сегментация.
Самый простой способ сегментации — разбить текст на части там, где есть пробелы.
Следующая ступень — учет знаков препинания, сокращений и составных слов.
Сегментация важна, потому что в разных языках слова могут соединяться по-разному, а знаки препинания и пробелы не всегда чётко показывают границы.
Примеры языков с нетривиальной сегментацией:
Для большинства языков, включая русский, сегментация реализуется достаточно просто, в чем можно убедиться, посмотрев пример в карточке
#интересное #полезное #поиск #NLP #сегментация
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍12👌9😱2
Поиск: непохожие пути к похожим результатам. Часть4️⃣ — Речевая разметка и выделение сущностей
Прошедшие недели были насыщены событиями, но сегодня мы хотим вернуться к теме эволюции поисковых систем и завершить вступление в эру обработки естественного языка.
Со временем стало очевидным, что просто сегментировать текст недостаточно, так как сегментация позволяет проанализировать только структуру предложения, но не дает представления о роли каждого слова в нём.
Решить эту проблему помогла речевая разметка или разметка частей речи (англ. Part of Speech Tagging, PoS) — способ классификации списков слов как существительных, глаголов, прилагательных и т. д. для более точной обработки запроса.
⚡ Иногда в качестве меток присваиваются дополнительные грамматические характеристики — падеж, число, время и т.п., при этом сначала текст сегментируется и анализируется его контекст.
Схожей функцией обладает процесс извлечения сущностей (англ. Named Entity Recognition, NER): из текста выделяются конкретные объекты или сущности, имеющие определённое значение, такие как имена людей, названия организаций, местоположения, даты, числа и т.д.
➡️ Извлечение сущностей (NER) на шаг впереди простой речевой разметки (PoS), поскольку вносит конкретику: если PoS говорит, что слово — существительное, то NER уточняет, что это за существительное (человек, место или что-то ещё). Это особенно важно для обработки голосовых запросов.
В русском языке извлечение сущностей достаточно трудоёмко из-за наличия склонений и многозначных слов. Примеры, как работает каждый из рассмотренных подходов — по традиции, в карточках📎
🗺 Анонс со ссылками на все части, предыдущая часть — здесь
#интересное #полезное #поиск #NLP #PoS #NER
Прошедшие недели были насыщены событиями, но сегодня мы хотим вернуться к теме эволюции поисковых систем и завершить вступление в эру обработки естественного языка.
Со временем стало очевидным, что просто сегментировать текст недостаточно, так как сегментация позволяет проанализировать только структуру предложения, но не дает представления о роли каждого слова в нём.
Решить эту проблему помогла речевая разметка или разметка частей речи (англ. Part of Speech Tagging, PoS) — способ классификации списков слов как существительных, глаголов, прилагательных и т. д. для более точной обработки запроса.
Схожей функцией обладает процесс извлечения сущностей (англ. Named Entity Recognition, NER): из текста выделяются конкретные объекты или сущности, имеющие определённое значение, такие как имена людей, названия организаций, местоположения, даты, числа и т.д.
В русском языке извлечение сущностей достаточно трудоёмко из-за наличия склонений и многозначных слов. Примеры, как работает каждый из рассмотренных подходов — по традиции, в карточках
#интересное #полезное #поиск #NLP #PoS #NER
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17⚡8 8🎉1🤩1
Поиск: непохожие пути к похожим результатам. Часть 5️⃣ — Онтология и графы знаний
Следующим скачком в эволюции поисковых запросов (хотя и по смыслу, а не по хронологии), стало внедрение онтологии и графов знаний.
В общих чертах графы знаний представляют собой связь между различными элементами — концепциями, объектами, событиями, а онтология определяет каждый из элементов и их свойства.
📌 Детально под онтологией понимают формализованное описание знаний в виде набора понятий (концептов) и отношений между ними в определенной области. Задача онтологии — помощь машине понять контекст.
📌 Граф знаний по своей сути является практической реализацией онтологии, наполненной конкретными фактами. Граф в общем виде — некая база данных, где информация представлена в виде узлов (сущностей) и рёбер (связи между сущностями).
Эти методы используются для уточнения смысла слов, понимания отношений между сущностями и ответов на вопросы, требующих выводов из связей. Посмотреть пример реализации можно в карточках 📎
⚡ Совместно эти методы могут быть одним из способов обхода ограничений поиска по ключевым словам, поскольку в этом случае идет не только сопоставление слов в поисковом запросе, но и поиска сущностей, которые описывал запрос.
На практике обнаруживаются существенные недостатки:
🚫 быстрое устаревание данных
🚫 плохая масштабируемость из-за ручного построения графов
🚫 трудный перенос в разные категории знаний, т.к. граф знаний одной области не будет совпадать с графом другой
➡️ Эти трудности привели к тому, что автоматическая разработка графов знаний удалась всего нескольким крупным компаниям, например, Google. При этом его графы знаний — Google Knowledge Graph — содержат миллиарды связей.
Любопытно, что в русском языке проблема склонений, осложняющая построение графа, нивелируется за счет лемматизации формы слов.
🗺 Анонс со ссылками на все части, предыдущая часть — здесь
#интересное #полезное #поиск #NLP #онтология #граф_знаний
Следующим скачком в эволюции поисковых запросов (хотя и по смыслу, а не по хронологии), стало внедрение онтологии и графов знаний.
В общих чертах графы знаний представляют собой связь между различными элементами — концепциями, объектами, событиями, а онтология определяет каждый из элементов и их свойства.
Эти методы используются для уточнения смысла слов, понимания отношений между сущностями и ответов на вопросы, требующих выводов из связей. Посмотреть пример реализации можно в карточках 📎
На практике обнаруживаются существенные недостатки:
Любопытно, что в русском языке проблема склонений, осложняющая построение графа, нивелируется за счет лемматизации формы слов.
#интересное #полезное #поиск #NLP #онтология #граф_знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤🔥12✍11👍11😢1🎉1🤩1
Поиск: непохожие пути к похожим результатам. Часть 6️⃣ — Автозаполнение и рейтинг ИИ
В эту субботу вновь возвращаемся к теме развития поисковых систем🔍
Ранее мы намеренно пропустили автозаполнение, хотя в широкую практику оно вошло всего годом ранее онтологий и графов знаний, которым посвящена прошлая часть
📌 Автозаполнение — функция интерфейса, которая автоматически предлагает варианты завершения слова или фразы в процессе написания текста
Автозаполнение предсказывает, что человек хочет написать, основываясь на уже введённых символах, и помогает ускорить ввод текста, уменьшить количество ошибок и повысить удобство
Функция стала стандартом для поисковых систем и веб-форм после обретения популярности благодаря Google
Реализуется в несколько этапов:
▶️ Сбор базы данных поисковых запросов (например, в виде истории поиска или словаря)
▶️ Определение совпадений по базе данных по мере ввода символов запроса
▶️ Сортировка вариантов по вероятности на основе частоты использования, контекста или персональных данных
▶️ Предложение списка подсказок, из которых пользователь может выбрать подходящий вариант
С новым витком развития ИИ в этот процесс встроились улучшенные механизмы ранжирования и на релевантность результатов стали влиять оценки пользователей
📌 Рейтинг ИИ — оценка качества и релевантности ответов, которые ИИ (например, чат-бот или поисковая система) выдает на запросы пользователей
Этот способ медленно, но постоянно вносит изменения в поисковый алгоритм, улучшая его качество. Цель — выведение в топ лучших результатов и одновременное отсеивание менее полезных
Из недостатков:
🚫 требует большое количество данных для подбора значимых результатов
🚫 не подходит для идентифицирования записей — идентификация все равно реализуется через ключевые слова и лингвистические ресурсы
🚫 эффективно только для ранжирования результатов
➡️ Результат: развитие векторного поиска, о котором расскажем в следующем выпуске
🗺 Анонс со ссылками на все части
#интересное #полезное #поиск #NLP #автозаполнение #рейтинг_ИИ
В эту субботу вновь возвращаемся к теме развития поисковых систем
Ранее мы намеренно пропустили автозаполнение, хотя в широкую практику оно вошло всего годом ранее онтологий и графов знаний, которым посвящена прошлая часть
Автозаполнение предсказывает, что человек хочет написать, основываясь на уже введённых символах, и помогает ускорить ввод текста, уменьшить количество ошибок и повысить удобство
Функция стала стандартом для поисковых систем и веб-форм после обретения популярности благодаря Google
Реализуется в несколько этапов:
С новым витком развития ИИ в этот процесс встроились улучшенные механизмы ранжирования и на релевантность результатов стали влиять оценки пользователей
Этот способ медленно, но постоянно вносит изменения в поисковый алгоритм, улучшая его качество. Цель — выведение в топ лучших результатов и одновременное отсеивание менее полезных
Из недостатков:
#интересное #полезное #поиск #NLP #автозаполнение #рейтинг_ИИ
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19✍11👍11😱1🎉1