Презентации лекций (1126940), страница 7
Текст из файла (страница 7)
для русского)КатегорияУникальных формСуществительные117,097Глаголы11,488Прилагательные22,141Наречия4,601 h"p://h"p://wordnet.princeton.edu/ h"p://wordnet.ru/Обработка текстовФормат WordNetОбработка текстовWordNet: отношения междусловамиОбработка текстовИерархии WordNetОбработка текстовКак “зачение” определяется вWordNet• Множестно синонимов называется синсет• Примерfrom nltk.corpus import wordnetfor synset in wordnet.synsets('chick'):print synset.definitionprint [lemma.name for lemma in synset.lemmas]young bird especially of domestic fowl['chick', 'biddy']informal terms for a (young) woman['dame', 'doll', 'wench', 'skirt', 'chick', 'bird']Обработка текстовВычислительная лексическаясемантика• Разрешение лексической многозначности• Семантическая близость словОбработка текстовТрудность разрешениялексической многозначностиI saw a man who is 98 years old and can still walk and tell jokes26 11 4 8 5 4 10 8 3 sensessensessensessensessensessensessensessensessenses43,929,600sensesОбработка текстовРазрешение лексическоймногозначности (РЛМ)• Word Sense Disambiguation (WSD)– определение значения слова в контексте– обычно предполагается фиксированныйсписок значений (например WordNet)• Сводится к задаче классификации• Отличается от задачи разграничениязначений (word sense discrimination)Обработка текстовРЛМ: варианты• Определение значений только заранеевыбранных слов (lexical sample task)– line - hard - serve; interest– Ранние работы– Обучение с учителем• Определение значений всех слов (all-wordtask)– Проблема разреженности данных– Невозможно натренировать отдельныйклассификатор для каждого словаОбработка текстовПризнаки• Должны описывать контекст• Предварительная обработка текста–параграфы, предложения, части речи, леммы,синтаксический разбор?• Признаки в словосочетаниях с позициями• Множества соседей• Проблема разреженности языка– Использовать семантическую близость(далее)Обработка текстовПримерAn electric guitar and bass player stand off to one side, not really partof the scene, just as a sort of nod to gringo expectations perhaps.Collocational featuresBag-of-words featuresword_L3electricfishing0POS_L3JJbig0word_L2guitarsound0POS_L2NNplayer1word_L1andfly0POS_L1CCrod0word_R1playerpound0POS_R1NNdouble0word_R2standruns0POS_R2VBplaying0word_R3offguitar1POS_R3RBband0Обработка текстовАлгоритмы• Любые методы классификации–(Пример) Наивный байесовский классификаторОбработка текстовНаивный байесовскийклассификатор• Выбор наиболее вероятного значенияŝ = arg max P (s|f )s S• По правилу БайесаP (s)P (f |s)ŝ = arg max= arg max P (s)P (f |s)P (f )s Ss S• Наивное предположение об условнойнезависимости признаковnŝ = arg max P (s)s Sj=1P (fi |s)Обработка текстовОбучение наивногобайесовского классификатора• Метод максимального правдоподобия• Другими словам, просто считаем• Алгоритм прост в реализации, но– Исчезновение значащих цифр àиспользовать сумму логарифмов вместопроизведения– Нулевые вероятности à сглаживаниеОбработка текстовВопрос на засыпку• Как сделать классификатор для задачиопределения значений всех слов (all-wordtask)?Обработка текстовМетоды оценки• Внешние (in vivo)– Машинный перевод с/без РЛМ• Внутренние (in vitro)– Применение к размеченным данным (SemCor, SENSEVAL,SEMEVAL)– Измерение точности и полноты в сравнении со стандартнымизначениями• Нижняя граница– Выбор случайных значений работает плохо– Более сильные границы: наиболее частое значение, алгоритм Леска• Верхняя граница: согласие экспертов– 75-80 для задачи определения значений всех слов со значениями изWordNet– до 90% с менее гранулированными значениямиОбработка текстовНаиболее частое значение• Сравнение методов на SENSEVAL-2• McCarthy et.
al. 2004 ACL - поиск наиболеечастого значения по неразмеченному корпусуОбработка текстовМетоды основанные насловорях и тезаурусах• Алгоритм Леска (1986)–Взять все определения целевого слова из словаря–Сравнить с определениями слов в контексте–Выбрать значение с максимальным пересечением• Пример• pine1. a kind of evergreen tree with needle-shaped leaves2. to waste away through sorrow or illness• cone1. A solid body which narrows to a point2.
Something of this shape, whether solid or hollow3. Fruit of certain evergreen trees• Определить значение: pine coneОбработка текстовВарианты алгоритма Леска• Упрощенный (Simplified Lesk)–Взять все определения целевого слова из словаря–Сравнить со определениями словами в контексте–Выбрать значение с максимальным пересечением• Корпусный (Corpus Lesk)–Включить предложения из размеченного корпуса всигнатуру каждого значения–Взвесить слова через IDF–IDF(w) = -log P(w)–Показывает лучшие результаты–Использовался как нижняя граница на SENSEVALОбработка текстовСамонастройка (Bootstrapping)• Yarowsky (1995)––––Начать с маленького множества данных, размеченного вручнуюНатренировать список принятия решенийПрименить классификатор к неразмеченным даннымПереместить примеры в которых мы уверены в тренировочноемножество– Повторить!• Требует хорошей метрики уверенности– логарифмическое отношение правдоподобия• Эвристики для получения начальных данных– одно значение на словосочетание– одно значение на дискурсОбработка текстовАлгоритм YarowskyОбработка текстовСемантическая близость слов• Подходы на основе тезаурусов• Подходы на основе статистикиОбработка текстовМотивация• Хороший признак для многих задач• Позволяет бороться с разреженностьюязыка• Имеет прикладное применение– поиск опечаток (с учетом семантики)– поиск плагиата– извлечение информацииОбработка текстовПодход на основе тезаурусов• Близость по пути• Метод Резника• Метод Лина• Расширенный алгоритм ЛескаОбработка текстовСемантическая близость словв тезаурусах• Можно использовать любые отношениямежду словами• На практике используется иерархическаяструктура и иногда описания значений• Похожесть (similarity) VS связность(relatedness)– машина и топливо: не похожи но связаны– машина и велосипед: похожиОбработка текстовБлизость по пути в иерархии• Два понятия семантически близки, еслиони находятся рядом в иерархииОбработка текстовБлизость между словами• Только что мы посчитали близость междупонятиями• Перейдем ко словам simpath(c1,c2) = -‐log (pathlen(c1,c2)) wordsim(w1,w2) = maxc1∈senses(w1),c2∈senses(w2) sim(c1,c2)Обработка текстовДругие методы• Сначала немного определений...–Информационное содержимое–Наименьший общий предокОбработка текстовВероятность класса• Определим P(C) как:–Вероятность, что случайно выбранное слово вкорпусе является экземпляром класса C–P(root)=1–Чем ниже узел в иерархии, тем нижевероятность∑ count(w)P(c) =€w ∈words(c )NОбработка текстовИнформационное содержимое• Расширяем иерархию WordNetвероятностями P(C)Обработка текстовОпределения• Информационное содержимое–IC(c)=-log(P(c))• Наименьший общий предок– LCS (c1,c2)Обработка текстовМетод Резника• Resnik (1995)–Чем больше общего между понятиями, темболее они похожи– simresnik(c1,c2) = IC(LCS(c1,c2)) = = -‐log P(LCS(c1,c2))Обработка текстовМетод Лина• Dekang Lin (1998)–При вычислении близости также надоучитывать различие между понятиями• Идея может быть выражена как2 log(P (LCS(c1 , c2 )))simLin (c1 , c2 ) =log(P (c1 )) + log(P (c2 ))simLin (hill, coast) =2log(P (geological inf ormation))= 0.59log(P (hill)) + log(P (coast))Обработка текстовРасширенный алгоритм Леска• Две концепции похожи, если их описаниясодержат похожие слова Drawing paper: paper that is specially prepared for use in draFing Decal: the art of transferring designs from specially prepared paper to a wood or glass or metal surface • Каждому общему словосочетанию длиныn назначить вес n2 • paper + specially prepared: 1+4 = 5Обработка текстовРезюме: методы, основанныена тезаурусахОбработка текстовПроблемы с подходом,основанном на тезаурусе• Не доступен для многих языков• Много слов пропущено• Используются только обобщения идетализация–Хорошо работает для имен существительных–Для прилагательных и глаголов намного хужеОбработка текстовСемантическая близость• Нормализованное количество общих соседейPeter the greatAndreyKolmogorovMstislavKeldyshSergeySobolevYury OsipovMoscowInstitute forSystemProgrammingMarkov PrizeSergeyBulgakovAkademgorodokGraphiConVitus BeringRectorLandau Institutefor TheoreticalPhysicsFree EconomicSocietyTheoretical andMathematicalPhysicsNikolaySklifosovskiyMikhailLomonosovCatherine I ofRussiaSaint Petersburg StateUniversityMoscow Institute ofPhysics and TechnologyIvan SechenovCatherine II ofRussiaVladimir Arnold• Близкие концепции чаще встречаются вместеОбработка текстовСтатистический подход коценки близости слов• Firth (1957): “You shall know a word by thecompany it keeps!”• ПримерБутылка tezgüino стоит на столеВсе любят tezgüinoTezgüino делает тебя пьянымМы делаем tezgüino из кукурузы• Идея:– из контекста можно понять значение слова– надо взять контекст и посмотреть, какие ещеслова имеют такой же контекстОбработка текстовВекторное представление контекста• Для каждого слова из словаря определимбинарный признак, показывающийвстречаемость вместе с целевым словом w• w=(f1,f2,f3,...,fN)• w= tezgüino, v1=бутылка, v2=кукуруза,v3=матрица• w = (1,1,0,...)Обработка текстовИдея• Задать два слова через разреженныйвектор признаков• Применить метрику близости векторов• Два слова близки, если векторы близкиОбработка текстовСтатистический подход коценки близости слов• Необходимо определить 3 вещи:–совместная встречаемость–вес термина–близость между векторамиОбработка текстовСовместная встречаемость• Проблема разреженности–Нужны большие корпусаВес термина• Manning and Schuetze (1999)Обработка текстовБлизость между векторамиОбработка текстовСовременное направление• Использование нейронныхсетей для получения векторногопредставления слов–word2vec, GloVe–http://code.google.com/p/word2vec/• Близость к слову france ->• Задача поиска аналогий– v(king)-v(man)+v(woman)=?• Gensim: реализация наPythonОбработка текстовОценка качества• Внутренняя–Коэффициент корреляции между• результатами алгоритма и• значениями, поставленными людьми• Внешняя–Встроить в приложение• Поиск опечаток• Поиск плагиата• Разрешение лексической многозначностиОбработка текстовЗаключение• Лексическая семантика изучает значенияотдельных слов• WordNet содержит различные отношениямежду словами, синсеты задают значенияслов• Разрешение лексической многозначности- задача определения значений слов• Семантическая близость между словами полезный инструмент для монгихприложенийОбработка текстовЧто не было рассказано• Композиционная семантика• Представление знаний• Семантические поля и семантическиероли–PropBank–FrameNet• Задача разграничения значений• Автоматическое извлечение отношениймежду словами• ...Обработка текстовСледующая лекция• Информационный поиск• Вопросно-ответные системы• Автоматическое реферированиеОбработка текстовОсновы обработки текстовЛекция 9 Приложения обработки текстов1Обработка текстовПлан• Информационный поиск• Вопросно-ответные системы• Автоматическое реферированиеОбработка текстовИнформационный поиск• Information retrieval (IR)• Поиск всех документов из заданногомножества, отвечающих запросампользователяинформационнаяпотребностьЗапросКоллекциядокументовпоискIRсистемаСписок ответовОбработка текстовПроблема информационногопоиска• Первое приложение в библиотечном делеISBN: 0-201-12227-8Author: Salton, GerardTitle: Automatic text processing: the transformation, analysis, and retrieval of information bycomputerEditor: Addison-WesleyDate: 1989Content: <Text>• Поиск по внешним аттрибутам - поиск в БД• IR: поиск по контентуОбработка текстовВозможные подходы• Поиск близких строк–Медленно–Тяжело улучшать• Индексирование–Быстро–Возможности для улучшенийОбработка текстовПримеры системОбработка текстовАрхитектура системЗапросДокументыОбработчикОбработчикРепрезентация запросаФункциясравненияРезультатыРепрезентация документаИндексОбработка текстовАрхитектура системЗапросДокументыОбработказапросаОбработкадокументаРепрезентация запросаИзвлечениедокументовРезультатыРепрезентация документаИндексОбработка текстовОсновные проблемы• Обработка запроса и документа–Какой наилучший способ представлениязапроса и документа• Извлечение документов–Как понять какой документ наилучшим образомудовлетворяет запросу• Оценка систем–Как понять что система работает хорошоОбработка текстовПредставление документа• Модель мешка слов (bag-of-words)• Взвешивание слов (терминов)– tf = term frequency• частота встречаемости термина в документе–df = document frequency• число документов, содержащих термин–idf = inverse document frequency• специфичность термина–weight(t,D) = tf(t,D) * idf(t)Обработка текстовВарианты tf-idf• tf(t, D)=freq(t,D)idf(t) = log(N/n)• tf(t, D)=log[freq(t,D)]n = # документов содержит t• tf(t, D)=log[freq(t,D)]+1N = # документов в корпусе• tf(t, D)=freq(t,d)/Max[f(t,d)]Обработка текстовПредварительная обработка• Стоп-слова - Функциональные слова ненесут полезной инорфмации для IRсистем• Удаление стоп-слов часто улучшаеткачество IR систем• Часто используются “стандартные”списки стоп-слов• Стемминг• ЛемматизацияОбработка текстовРезультат индексирования• Инвертированный индексDoc 1This is a sampledocumentwith one samplesentenceDoc 2This is anothersample documentTerm#docsTotalfreqThis22is22sample23another11………Doc idFreq11211121122121…………Обработка текстовИзвлечение документов• Запрос из одного слова– Берем инвертированый список для слова• Запрос из нескольких слов– Комбинирование нескольких списков– Как интерпретировать вес?– Модель информационного поискаОбработка текстовМодели информационногопоиска• Документ D = множество взвешенныхключевых слов• Запрос Q = множество невзвешенныхсловR(D, Q) =iti - слова запросаw(ti , D)Обработка текстовБулева модель• Документ - логическая конъюнкция слов• Запрос - Булево выражениеR(Q, D) = Q ! DD = t 1 ∧ t2 ∧ … ∧ tnQ = (t1 ∧ t2) ∨ (t3 ∧ ¬t4)Q → D, то есть R(D, Q) = 1.• Проблемы• R - либо 0, либо 1 (неупорядоченноемножество документов• Сложно писать запросыОбработка текстовВекторная модель• Векторное пространство всех слов<t1, t2, t3, …, tn>• ДокументD = < a1, a2, a3, …, an>ai = вес ti в D• ЗапросQ = < b1, b2, b3, …, bn>bi = вес ti в QОбработка текстовМатричное представление…tnD1a11 a12 a13 …a1nD2a21 a22 a23 …a2nD3a31 a32 a33 …a3n…Dm am1 am2 am3 …amnQbnПространстводокументовt1b1t2b2t3b3…Разреженная матрица!ПространствотерминовОбработка текстовПодсчет близостиСкалярноепроизведениеt1DQt2КосинусМера ДайсаМера ЖаккараОбработка текстовКакие еще бывают модели*http://en.wikipedia.org/wiki/Information_retrievalОбработка текстовОценка систем• Точность и полнотаНайденные релевантныеРелевантныедокументыНайденныедокументы–Точность = найденные релевантные /найденные документы–Полнота = найденные релевантные /релевантные документыОбработка текстовТочность и полнота• Общая форма зависимости– Точность и полнота зависимы– Системы нельзя сравнивать в одной точке– Вычисляют среднюю точность (в 11 точках сполнотой: 0.0, 0.1, ..., 1.0){0, 1} = 1, если k-й документрелевантен запросуrel(k)Обработка текстовMAP• Mean Average Precision• rij = ранг j-го релевантного документа для Qi• |Ri| = число релевантных документов для Qi• n = # тестовых запросовРанг1510481ый рел.