Слайд 1Обработка текстов на естественном языке. Основные понятия
Липачёв Е.К.
2020
Казанский (Приволжский) федеральный_университет
Слайд 2Рекомендации
Маннинг Кристофер Д., Шютце Хайнрих: Введение в информационный поиск. –
СПб: Диалектика, 2020.
https://www.ozon.ru/context/detail/id/168021950/
http://libgen.rs/book/index.php?md5=7581B67A0431378C6DB9E7C321C32911
http://libgen.rs/book/index.php?md5=027A36CCD3063A5ADCA20BA3998DD79B
Слайд 3Рекомендации
Ингерсолл Грант С., Мортон Томас С.: Обработка неструктурированных текстов. Поиск,
организация и манипулирование
. – М: ДМК Пресс, 2015.
https://www.ozon.ru/context/detail/id/29899774/
http://libgen.rs/book/index.php?md5=69421BA43F11D57D97FB073FC40B48E4
Taming Text: How
to Find, Organize, and Manipulate It -
http://library.lol/main/ABB29E8F0B32425B55E0B1118E793A4B
Слайд 4Рекомендации
Автоматическая обработка текстов на естественном языке и анализ данных :
учеб. пособие / Большакова Е.И., Воронцов К.В., Ефремова Н.Э., Клышинский
Э.С., Лукашевич Н.В., Сапин А.С. — М.: Изд-во НИУ ВШЭ, 2017. — 269 с.
https://www.hse.ru/data/2017/08/12/1174382135/NLP_and_DA.pdf
Слайд 5Точное совпадение и неточное сравнение строк
Слайд 6Точное совпадение и неточное сравнение строк
Ингерсолл Грант С., Мортон Томас
С.: Обработка неструктурированных текстов. Поиск, организация и манипулирование. – М:
ДМК Пресс, 2015 - стр. 139.
Гасфилд Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология. – СПб, 2003.
Слайд 7Определения
Строка S – упорядоченный список символов, записанных слева направо. Через
S[i..j] обозначают подстроку S, которая начинается в позиции i и
заканчивается в позиции j строки S.
Префикс строки S – построка S[0..j], т.е. часть строки он начала до некоторой позиции j.
Суффикс строки S – построка S[i..|S|], т.е. часть строки, начинающаяся с некоторой позиции i до конца строки.
|S| – длина строки.
S(i) или Si – символ строки, расположенный в позиции i.
Слайд 9Мера сходства Жаккара
a – количество видов на первой пробной площадке,
b –количество видов на второй пробной площадке, c – количество
видов, общих для 1-й и 2-й площадок.
Поль Жакка́р (1868-1944) — профессор Швейцарской высшей технической школе Цюрих
Слайд 10Как вычислять
Ингерсолл Грант С., Мортон Томас С.: Обработка неструктурированных текстов.
Поиск, организация и манипулирование. – М: ДМК Пресс, 2015. –
с.142. …Taming Text: How to Find, Organize, and Manipulate It -
-p.87.
Слайд 11Неточное сравнение. Нечеткий поиск
Алгоритмы нечеткого поиска характеризуются метрикой — функцией
расстояния между двумя словами, позволяющей оценить степень их сходства в
данном контексте.
Слайд 13Редакционное расстояние
Другое название – расстояние Левенштейна
Владимир Иосифович Левенштейн (1935 —
2017) — советский и российский математик.
Слайд 14Расстояние Левенштейна
Расстояние Левенштейна (редакционное расстояние, дистанция редактирования) — минимальное количество
операций вставки одного символа, удаления одного символа и замены одного
символа на другой, необходимых для превращения одной строки в другую.
Редакционным предписанием называется последовательность действий, необходимых для получения из первой строки второй кратчайшим образом. Обычно действия обозначаются так: D (англ. delete) — удалить, I (англ. insert) — вставить, R (replace) — заменить, M (match) — совпадение.
Пример. S1=“СТОЛ”, S2=“СТУЛ”. Замена одного символа – расстояние между S1 и S2 равно 1.
Слайд 15Формула вычисления расстояния Левенштейна
Слайд 16Как вычислять
Ингерсолл Грант С., Мортон Томас С.: Обработка неструктурированных текстов.
Поиск, организация и манипулирование. – М: ДМК Пресс, 2015. –
с.145. …Taming Text: How to Find, Organize, and Manipulate It -
-p.90.
Слайд 17Алгоритм Вагнера — Фишера
Искомое расстояние формируется через вспомогательную функцию D(M,N),
находящую редакционное расстояние для подстрок S1[0..M] и S2[0..N]. Тогда полное
редакционное расстояние будет равно расстоянию для подстрок полной длины: d(S1,S2) = DS1,S2(M,N).
Справедливы следующие утверждения:
D(0,0) = 0 (пустые строки совпадают).
D(i, 0) = i; D(0, j) = j (любая строка может получиться из пустой, добавлением определенного количества нужных символов).
В общем случае:
D(i,j) = D(i-1,j-1), если S1[i] = S2[j],
иначе D(i,j) = min( D(i-1,j), D(i,j-1), D(i-1,j-1) ) + 1.
В данном случае, мы выбираем, что выгоднее: удалить символ (D(i-1,j)), добавить (D(i,j-1)), или заменить (D(i-1,j-1)).
Слайд 19Пример
http://masters.donntu.org/2016/fknt/shulianskiy/library/article4.htm
Слайд 22Задание
Расстояние Дамерау – Левенштейна
Слайд 23Задание
Расстояние Джаро — Винклера