белканова

17
© Dictum Ltd. 2012 Белканова Анна Даниил Скатов ООО «Диктум» Борьба с опечатками в диком Интернете и не только.

description

Выступление Диктум на AINL. Анна Белканова

Transcript of белканова

Page 1: белканова

© Dictum Ltd. 2012

Белканова Анна

Даниил Скатов

ООО «Диктум»

Борьба с опечатками в диком

Интернете и не только.

Page 2: белканова

© Dictum Ltd. 2012 2

Опечатки

Лишний символ: «будующее – будущее»

Пропуск символа: «грусно – грустно»

Транспозиция: «груснто - грустно»

Замена: «кинтакт – контакт»: клавиатурные: «анеудот – анекдот»

орфографические: «девченка – девчонка»

наличие латиницы: «xpoмocoм – хромосом»

Раскладка: «jlyjrkfccybrb – одноклассники»

Транслитерация: «kartinki – картинки»

Перепутывание рук: «инвнжае – телефон»

Page 3: белканова

© Dictum Ltd. 2012 3

Алгоритм Левенштейна

Веса ошибокАлгоритм

Левенштейна

Получение

подсказок

веса исправления

Построение n-шара

подсказок

многоместные исправления;

взвешенный: выделяем типы

ошибок, устанавливаем свой

уникальный вес;

поддержка префиксного поиска.

боитьсябоится

бояться

биться доиться

бриться

Page 4: белканова

© Dictum Ltd. 2012 4

Префиксное дерево

На рисунке демонстрируется проход по словарю в

виде префиксного дерева при исправлении слова

«куупе».

к

е

е

а

ттн

с

и

л

п

у

о

р

вход

выходпревышено

пороговое

значение

первый вариант:

«купе»

операции для общего

префикса просчитываются

один раз

а

в

т

о

Page 5: белканова

© Dictum Ltd. 2012 5

Сравнение модулей

Word2003 Word2010 Dictum

Всего подсказок 4030 7318 3864

Кол-во правильных подсказок 1442 1708 1719

Правильная подсказка на 1 месте 1145 1414 1576

Правильная подсказка на 2 месте 172 189 116

Правильная подсказка на 3 месте 64 49 17

Выборка: ~2000 слов

Page 6: белканова

© Dictum Ltd. 2012 6

Русский подсказочник

Запрос:

натали портмэн

Исправление запроса: натали натали, наталия, наталии, natalie, natali

портмэн портмен, портман, portman

Сбор подсказок: натали портман

натали портман фото

natalie portman

натали портмен

natali portman

Page 7: белканова

© Dictum Ltd. 2012 7

Фильтрация выдачи(1)

Сортировка по частоте запроса

Запрос: "трейлеры"

трейлер F:3098

трейлеры к фильмам F:2893

трейлеры к фильмам 2010 года F:2647

триллеры 2009 F:2329

трейлеры F:2140

триллеры F:1663

триллеры смотреть онлайн F:1321

триллеры онлайн F:1047

триллеры фильмы F:934

триллеры смотреть онлайн бесплатно F:784

Сортировка по похожести

Запрос: "однакласники ru" однакласники ru L:0

однокласники ru L:0.035

аднакласники ru L:0.035

однокласники ru моя страница L:0.035

однаклассники ru L:0.038961

однаклассники ru моя страница L:0.038961

однакластники ru L:0.0642857

аднаклосники ru L:0.07

днакласники ru L:0.0714286

одноклассники ru L:0.073961

Page 8: белканова

© Dictum Ltd. 2012 8

Фильтрация выдачи(2)

L dict == 0 L query == 0

Запрос: "трейлеры"

трейлеры к фильмам

трейлеры к фильмам 2010 года

трейлеры

трейлеры к новым фильмам

трейлеры к фильмам 2010 года смотреть онлайн

трейлеры к играм

трейлеры к фильму затмение

трейлеры 2010

трейлеры фильмов

трейлеры онлайн

L dict > 0, ∃L query == 0, F dict > F(query)

Запрос: "однакласcники" одноклассники

одноклассники моя страница

одноклассники ru

одноклассники ру

одноклассники вход

одноклассники регистрация

одноклассники ru моя страница

одноклассники ua

одноклассники км

одноклассники авторизация

Фильтруем с помощью словарных слов с частотами

Page 9: белканова

© Dictum Ltd. 2012 9

Возможно, вы имели в виду

HMM, forward-backward, сглаживание и т.д

Частотные словари:

слова из запросов;

биграммы слов из запросов.

«весеняя оптека» «весенняя аптека»

Частота запроса «весенняя аптека» = 0

Page 10: белканова

© Dictum Ltd. 2012 10

Вьетнамский подсказочник

Латинизированный

ввод – поднятие

диакритики

Диакритический ввод –

исправление

частотных ошибок

Page 11: белканова

© Dictum Ltd. 2012 11

Способы ввода (IME)

• Telex: диакритика проставляется буквой

oo → ô, ow → ơ

• VIQR: диакритика проставляется знаком

a^ → â, a~ → ã

• VNI: диакритика проставляется цифрой

a6 → â, a4 → ã

Не обязательно второй символ идет сразу же после

основного:

huyeenf → huyền

72truong → trường

Page 12: белканова

© Dictum Ltd. 2012 12

Исправление ошибок, связанных с IME

Telex: micro → mỉco, asus → áu, exe → ễ

английские слова искажения

mỉco → micro

Формирование словаря:

Исправление ошибок:

словарь

Page 13: белканова

© Dictum Ltd. 2012 13

Возможно, вы имели в виду(2)

Запрос: «hãi hung»

Возможно, вы имели в виду: «hãi hùng»

Лог:

ám ảnh 17 năm những sang chấn hãi hùng 75871

fulro bóng ma hãi hùng trên đất tây nguyên 67720

fulro bóng ma hãi hùng trên đất tây nguyên kỳ 1 54518

buổi chia tay hãi hùng của nhóm học sinh 12 2761

tiệc chia tay hãi hùng của nhóm học sinh lớp 12 2666

buổi chia tay hãi hùng 2

Разбиение запроса

n = 5 fulro bóng ma hãi hùng trên đất tây nguyên

Page 14: белканова

© Dictum Ltd. 2012

Фильтрация шума

Пример. «báo ân»

Подсказки из базы запросов:

báo ân cha mẹ 0

báo an ninh 0.025

báo an ninh thế giới 0.025

báo an ninh thủ đô 0.025

báo an giang 0.025

báo an ninh hải phòng 0.025

báo an ninh nhân dân 0.025

báo an ninh the gioi 0.025

báo an ninh thu đô 0.025

Из словаря получаем ближайшее исправление “báo ân 0”.

Page 15: белканова

© Dictum Ltd. 2012 15

Синтаксис + опечатки

Синтаксис выбирает одно ГЗ для токена:

токен

ГЗ для исходного написания

ГЗ для первого варианта исправления

ГЗ для второго варианта исправления

Page 16: белканова

© Dictum Ltd. 2012 16

Синтаксис + опечатки (2)

Пример. Мне нравиться телфон

нравится телефон

тефлон

Мне нравится телефон

Мне нравится тефлон

Мне нравится телфон

…Содержит штраф за несловарное слово

Минимальное проективное дерево

Page 17: белканова

© Dictum Ltd. 2012 17

Спасибо за внимание!

Анна Белканова

Проект «Spell», ведущий разработчик

Даниил Скатов

Руководитель разработок

ООО «Диктум», г.Нижний Новгород

[email protected]

www.dictum.ru