lecture2-2016 (1126933), страница 2
Текст из файла (страница 2)
Русскийморфологический анализ и синтез с генерациеймоделей словоизменения для не описанных всловаре слов.• Используется словарь словоформ А.А. Зализняка• Находит нормальную форму даже для не словарныхслов• Алгоритм реализован в системе mystemОбработка текстовЛемматизация• Вариант русского лемматайзерареализован в ISPRAS API• lemmatizationAnnotate(text)Так говорила в июле 1805 года известная Анна Павловна Шерер, фрейлина иприближенная императрицы Марии Феодоровны, встречая важного и чиновного князяВасилия, первого приехавшего на ее вечер.
Анна Павловна кашляла несколько дней,у нее был грипп, как она говорила (грипп был тогда новое слово, употреблявшеесятолько редкими). В записочках, разосланных утром с красным лакеем, было написанобез различия во всех: так говорить в июль 1805 год известный анна павловна шерер фрейлин иприближенный императрица мария феодоровна встречать важный и чиновнойкнязь василий первый приехавший на она вечер анна павловна кашлялнесколько день у она быть грипп как она говорить грипп быть тогда новый словоупотребляться только редкий в записочка разосылать утро с красный лакейбыть писать без различие в весьОбработка текстовОпределение границ предложений• Поиск терминов необходимо производитьвнутри предложений• Как автоматически определять границыпредложений?• Обычно определяются по точке• Точка - имеет много значений• граница предложения• сокращение: “Dr.”, “U.S.A.”• Разделитель в числах 3.14•…Обработка текстовОпределение границ предложений• Необходимы алгоритмы разрешениямногозначности точки• Задача сводится к классификации точки на двакласса: конец предложения или нет• Например, можно написать список правил• перед точкой и после нее стоят цифры• слово перед точкой есть в словаресокращений• Правил может быть много и хочется выводить ихкомбинировать автоматически• Используется машинное обучениеОбработка текстовЗакон ЦипфаЗакон Ципфа — эмпирическая закономерность распределения частоты словестественного языка: если все слова языка (или просто достаточно длинноготекста) упорядочить по убыванию частоты их использования, то частота n-го словав таком списке окажется приблизительно обратно пропорциональной егопорядковому номеру n.
(Википедия)Обработка текстовЗакон Ципфа• Распределение частоты слов в первом томе“Война и мир” (логарифмическая шкала)from urllib import urlopen from bs4 import BeautifulSoup as bs from nltk import WordPunctTokenizer from collections import Counter import matplotlib.pyplot as plt f = urlopen("http://az.lib.ru/t/tolstoj_lew_nikolaewich/text_0040.shtml") data = f.read().decode("cp1251") f.close() text = bs(data).get_text() tokens = WordPunctTokenizer().tokenize(data) cnt = Counter(tokens).most_common() # draw plot X = range(len(cnt)) Y = [y[1] for y in cnt] plt.loglog(X, Y) plt.show()Обработка текстовСтоп-слова• Во многих задачахиспользование наиболеечастотных слов создает шум• Например, при полнотекстовомпоиске, система может вернутьпочти все документы, если взапросе были предлоги• Поэтому часто наиболеечастотные слова фильтруют и неиспользуют при анализебытьвотвыдаещеикакмыненетоониотссказатьтолькоуэтотбольшойввсеговоритьдляжеизкоторыйнанегониходиноноотосвойтатотчтоябывесьвсейгоддознатькмочьнашнееноонаоныйпосебятакойтыэтоhttp://www.artlebedev.ru/everything/yandex/site/saved/stopword.htmlОбработка текстовРезюме• Изучены регулярные выражения–регулярные выражения - мощный инструмент дляобработки текстов–любое регулярное выражение может быть реализовано спомощью КА (кроме памяти)–автомат неявно определяет формальный язык–для любого НКА существует ДКА• Рассмотрены базовые задачи обработки текстов–Токенизация и сегментация–Стемминг и лемматизация–Определение границ предложений–Фильтрация стоп-слов• Для представления результатов работы алгоритмовудобно использовать аннотацииОбработка текстовЗадания для тренировки• Написать аналог ELIZA• Реализовать конечный автомат дляраспознавания всех русских числительных• Спроектировать КА для дат: March 12, the22nd of November, Christmas• Расширить предыдущий автоматотносительными датами: yesterday,tomorrow, a week from tomorrow, the daybefore yesterday, three weeks fromSaturday, next Monday, ...Обработка текстовСледующая лекция• Языковые модели• Задача определения частей речи слов.