2. • Возьмём Викисловарь, и закодируем его в виде графа, где узлами
являются слова, а рёбрами – именованные связи между словами.
• Связи будем кодировать в виде “яблоко > [гипероним] > плод” и “плод >
[~гипероним] > яблоко”. Всего Викисловарь даёт порядка 315 тысяч
вершин и 4.5 миллионов связей между ними.
• Расширим базу, загрузив в неё доступные в открытом доступе словари
(толковые, энциклопедические, синонимов, взаимозаменяемых
выражений, арго и т.д.), а также тезаурусы.
• Проведём парсинг 10 Гб художественных текстов и новостных
сообщений, занесём в базу накопленные согласованные N-граммы.
• В результате получим базу, содержащую в себе более 1 млн. вершин и
порядка 150 миллионов связей между вершинами 32-х типов. База
именованных связей между понятиями – триплетов, является
онтологией. А база, накопленная на основании автоматического
парсинга разнородных источников и статистической обработки текстов,
является народной онтологией.
Теория: http://en.wikipedia.org/wiki/Folksonomy#Folksontology
3. • Среднее число связей на вершину – 150, при этом, для
распространённых слов и понятий количество связей
достигает сотен тысяч, а для нераспространённых –
единиц и десятков. Важно, что база имеет высокую
связность, и всегда можно найти множество вариантов
пути от одной вершины к другой. Это справедливо даже
для слов, не представленных ни в одном из словарей и
тезаурусов. Такие слова как минимум имеют связи
через статистику использования – N-граммы.
Теория:
http://en.wikipedia.org/wiki/Folksonomy#Folksontology
4. Предположим, некто ввёл в Яндексе поисковый запрос
Изучив результаты выдачи, некто решил конкретизировать
свой запрос и ввёл
Имеется ли возможность определить, что минивэны
релевантны запросу “большая семейная машина” для
таргетирования рекламы и улучшения результатов поиска?
5. Для этого в базе народной онтологии необходимо найти
такой путь от вершин “большая”, “семейная” и “машина”,
чтобы они сходились на вершине “минивэн” с высокой
достоверностью. Рассмотрим возможный вариант такого
пути:
1. машина > [синоним] > автомобиль
2. большой > [~N-грамма прил.-сущ.] > минивэн
3. семейный > [~N-грамма прил.-сущ.] > минивэн
4. автомобиль > [~определяющее слово] > минивэн
Источником первой связи являются словари, источниками
остальных связей – парсинг текстов.
6. Таким образом, изучив историю запросов пользователя Яндекса, мы смогли
построить некоторый алгоритм вычисления уточнённого запроса. Попробуем
применить этот алгоритм.
1. способ > [синоним] > алгоритм
2. быстрый > [~N-грамма прил.-сущ.] > поразрядная сортировка
3. сортировки > [прямое соответствие лемм] > поразрядная сортировка
4. алгоритм > [~определяющее слово] > поразрядная сортировка
В итоге, имеем ожидаемое уточнение запроса “быстрый способ сортировки”
до запроса “поразрядная сортировка”. Можно сформировать подсказку вида
Возможно, Вас заинтересует поразрядная сортировка
и таргетировать рекламу.
7. На примере показано, что:
• Пользователи Яндекса могут обучать Яндекс стратегии поиска, в
результате Яндекс способен предполагать следующий уточняющий
запрос, давать подсказки, повышая юзабилити, и таргетировать рекламу;
• Пути в базе народной онтологии универсальны и применимы к запросам
из разных предметных областей;
• Пути, описывающие стратегию поиска пользователей Яндекса, можно
генерировать и уточнять автоматически.
При автоматической генерации пути, соответствующего паре “запрос” –
“уточнённый запрос”, генерируется не единственный, как в примере, путь, а
набор путей, взвешенных весовыми коэффициентами. При обработке
однотипных пар “запрос” – “уточнённый запрос” коэффициенты
настраиваются методами машинного обучения под максимальную
релевантность результата. Другими словами, при автоматической генерации
формируется правило, принимающее на своём входе набор путей,
взвешивающее их весовыми коэффициентами и подстраивающее
коэффициенты для уменьшения ошибки. Да, это он -
https://ru.wikipedia.org/wiki/Персептрон Только оперирует персептрон не
числовыми значениями входов, а словами.