lecture2-2015 (1126921), страница 3
Текст из файла (страница 3)
(Википедия)Обработка текстовЗакон Ципфа• Распределение частоты слов в первом томе“Война и мир” (логарифмическая шкала)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, ...Обработка текстовСледующая лекция• Языковые модели• Задача определения частей речи слов.