Download - Spcua 2013 кожемякин-алексей
22 мая 2013, Киев
Успешные корпоративные поисковые порталы на основе SharePoint 2013
Алексей Кожемякин
22 мая 2013, Киев
Как сделать крутой поиск
Алексей Кожемякин
3
Обо мне
• Solution Architect @epam
• Focusing on search• Sharepoint Search FAST/2010/2013• Apache Lucene, Solr, elasticsearch,
Oracle Endeca…
• http://powersearching.wordpress.com
4
О чем будем говорить
• Корпоративный поисковый портал• Как «работает» поиск в SP2013• Ключевые изменения• Магия – расчет релевантности
• Полезные практики
5
Типичные сценарии поиска
• Я знаю что я ищу и я знаю где это найти
• Я знаю что я ищу, но НЕ знаю где это найти
• Я НЕ знаю что я ищу
http://aghy.hu/AghyBlog_EN/Lists/Posts/Post.aspx?ID=199
6
• Предпосылки:• Компания растет• Зоопарк из систем
• Решение: • поисковый портал, «маленький гугл»
• Быстрая бизнес польза от внедрения:• Единая точка поиска информации• Сокращение времени на поиск информации• Улучшение климата внутри компании
Поисковый портал
7
Но после внедрения…
• «Поиск плохо ищет»• Из коробки поиск ничего не знает про вас• «Но…• … Microsoft позаботились о хорошем алгоритме»• … мы не уверены что сделаем лучше»• ... нам не нужен поиск, у нас все знают что где лежит»• … сделайте нам как в Гугл\Бинг»
8
Почему это сложно
• Неоднозначные короткие запросы• Разнородный неоптимизированный контент• Разная терминология составителей и
потребителей контента• Ограниченность ресурсов, в то время как в
интернет-поисковиках• Ручное и автоматическое измерение качества
(асессоры)• Постоянное улучшение
9
Архитектура поиска в SP2013
10
Поиск - двухфазный процесс
• Матчинг – все документы с ключ.словами• Лингвистика: стемминг, фонетика• Синонимы
• Ранжирование• «Фичи»
• TF-IDF, BM25• Вес полей• Тип файла• Дата изменения• Популярность• …
11
Ранжирование в FAST
• Линейная комбинация фич
12
Ранжирование в FAST
• Вклад отдельных компонент в результат
1st 2nd 3rd 4th0
1000
2000
3000
4000
5000
6000
7000
8000
term:fast term:search freshness static rank proximity
13
Миграция FAST->SP2013
14
Ранжирование в SP2013
15
Ранжирование в SP2013
• Основная модель релевантности• Две последовательные нейронные сети• Дата документа не учитывается• Фичи Type Instance
BM25 BM25Static UrlDepthBucketedStatic InternalFileTypeBucketedStatic LanguageStatic ClickDistanceStatic QueryLogClicksStatic QueryLogSkipsStatic LastClicksStatic EventRateMinSpan - soft TitleMinSpan - soft TitleMinSpan - soft TitleMinSpan - soft Content
16
Ранжирование в SP2013
• Основная модель релевантности
17
Расшифровка релевантности
• /_layout/15/explainrank.aspx• rankdetail property
18
Расшифровка релевантности
• Ручная проверка в екселе
19
20
Успешные практики
1. Поисковая аналитика2. Тонкая настройка и адаптация3. Регулярное тестирование4. Анализ проблем с конфиденциальностью5. Популяризация6. Адаптация контента
21
1. Поисковая аналитика
• Поисковая аналитика
• Поисковая аналитика
• Поисковая аналитика
22
1. Поисковая аналитика
• Стандартно в SP2013• Наиболее популярные запросы• «Неудачные» запросы
• Сторонние системы (Google Analytics, Omniture, WebTrends)• Измерение качества поиска
• % кликов на результаты• на какие результаты• обратные переходы
• Анализ сессии• Сегментация запросов
23
Сегментация запросов
• Анализировать не только самые популярные, а классы запросов
24
2. Тонкая настройка
• Authoritative Pages• Быстрая выгода – приоритет источников контент
• Query Rules• Поиск становится умным в глазах пользователей
• Synonyms• Отдельный маппинг файл• Только экспансия• Синонимы термсетов не работают
• Модели релевантности
25
Authoritative Pages
• Влияет на ClickDistance• ClickDistance, UrlDepth имеют сильное влияние
на итоговую релевантность• Конфигурируются в CA, CSOM
26
Query Rules (Rule + Action)
• Основной инструмент имитации разума• Интерактивная реакция на запросы• Пост обработка запроса• Навигационные ключевые слова• …
27
Условия для Query Rules
• Query Matches Keyword Exactly• Advanced Query Text Match• Query Matches Dictionary Exactly
• Query Contains Action Term
• Query More Common in Source• Result Type Commonly Clicked
28
Действия для Query Rules
• Create and display a result block• Change ranked search results• Best Bets• XRANK
• Работает аддитивно• Не отображается в rankdetail• Правильный выбор веса?
29
Шаблоны для QueryRules
• Типичные комбинации из нашего портала• Software, soft, download, install• How to• Policy, Blog• Portal• Music, Video• Presentation, Documents, Report• Training, tutorial• Book, ebook
• У вас будут другие!
30
Custom Rank Models
• Сбор Query Judgments• Настройка коэффициентов нейронной сети
машинным обучением• Gradient Descent, Lambda Rank
• Microsoft.Office.Server.Search.RankerTuning
31
Custom Rank Models
• Модифицируйте простую модель сделанную руками• A/B тестирование весов• Измерение, метрики : Precision, NDCG
32
Custom Rank Models
• Пример – модель поиска людей
33
3. Тестирование поиска
• Зачем? Это компас.• «Юнит тестирование»• Ручное тестирование, периодически
34
4. Аудит «безопасности»
• Внедрение поиска выявляет проблемы с правами доступа • Security by obscurity
• Например:• «конфиденциально»• Зарплаты, подробности интервью
• Решение – автоматический мониторинг чувствительных запросов
35
5. Адаптация контента
• Работа с подразделениями• Помощь в мониторинге аналитики
• Гайдлайн по оформлению контента• Базовый SEO• Оформление заголовков• Оформление урлов• Мета тэги <meta name=…
• Title, description• Автоматически протянутся в crawled properties
36
6. Популяризация
• Имидж – «здесь найдется все»• Интеграция с другими системами• Поиск как сервис• Виджет «поискать во всех системах»
• Бэджи, гемификация
37
Популяризация
• Социальные Best-bets
38
Понимать естественный язык
• В общем виде задача не решается• Аналитика + кропотливая работа• см выше набор практик
• NLP – question answering• Rocket science• English only• Part of speech tagging, dependency parsing
• Stanford NLP, Open NLP, IR
39
«Литература»
• Patents - http://goo.gl/20sbR
• Explain Rank page - http://goo.gl/o3ZmN
• How SP2013 relevancy models works - http://goo.gl/arf0P
• MS Enterprise Search approach - http://goo.gl/x8SDO
• Customizing ranking models in SP 2013 - http://goo.gl/lBJAp
22 мая 2013, Киев
Спасибо за внимание
Skype: Alexey_KozhemiakinEmail: [email protected]: http://powersearching.wordpress.com
40