Слайды со всех лекций (1126919)
Текст из файла
Введение в обработкутекстовлекция 14 октября 2011 г.О курсе• Лектор: Турдаков Денис Юрьевич• Лекции каждую пятницу в 18.00 ауд. 707• Математический спецкурс для 3-5 курсов.–предполагаются минимальные занания линейнойалгебры, теории вероятности и математическойстатистики–не все имеют одинаковые знания• предполагается, что студеты могут быстро учиться• Курс состоит из лекций, практической части иитогового экзамена• Язык программирования Python• Вся информация: http://modis.ispras.ru/I2TP4 октября 2011 г.Практическая часть• Одна из открытых задач обработкитекстов–определение авторства текста–Веб-интерфейс для проверки–тренировочный и проверочный наборы–baseline - векторная модель–для допуска к экзамену необходимо превыситьbaseline (F1-мера)4 октября 2011 г.Python• Конструкторы списков и словарейnumber_list=[1,2,3,4]string_list=[‘a’,’b’,’c’,’d’]mixed_list=[‘a’,2,’c’,7]•Словарь (ключ/значение)ages={‘John’:34, ‘Sarah’:20, ‘Max’:24}•Доступ к элементам []string_list[3] # ‘c’ages[‘Sarah’] # ’20’4 октября 2011 г.Python• Значимые пробелыif x==1:print ‘x is 1’print ‘внутри блока’print ‘вне блока’4 октября 2011 г.Python• Трансформация списков• [выражение for переменная in список]• [выражение for переменная in список if условие]l1=[1,2,3,4,5,6,7,8,9]print [v*10 for v in l1 if v>4]# [50, 60, 70, 80, 90]4 октября 2011 г.Python и обработка текстов• NLTK• http://www.nltk.org• NLTK book>>> import nltk>>> text = "Hello world!">>> tokens = nltk.word_tokenize(text)>>> print tokens['Hello', 'world', '!']4 октября 2011 г.Классические задачиобработки текстов• Информационный поиск (IR)• Извлечение информации (IE)• Вопросно-ответные системы (QA)• Классификация и кластеризация• Автоматическое аннотирование иреферирование• Диалоговые системы• Машинный перевод4 октября 2011 г.Приложения обработки текстов4 октября 2011 г.Уровни обработки текстов• Морфологический– I’m - I am– кошка-кошки, дно-?; чай - чайник• Синтаксический– Мне один черный кофе и один сладкий булка...• Семантический– Сколько китайского шелка было экспортировано вЗападную Европу в конце 18 века?– лексическая и композиционная семантика• Прагматический (дискурс)– Сколько тогда было штатов в США?– установление кореферентности (coreferenceresolution)4 октября 2011 г.Начало:1940ые-1950ые• Машинный перевод.
Машины менеемощные, чем карманные калькуляторы.• Базовые работы по теории автоматов (А.Тьюринг), формальным языкам (Н.Хомский, Д. Бэкус и П. Наур), ториивероятностей и теории информации (К.Шэннон)• Военные разработки• Перевод как декодирование. Малоевнимание к синтаксису, семантике ипрагматике4 октября 2011 г.Проблемы перевода• Help для Windows 95... Мышь может неадекватно реагировать на щелчок попочкам. Но не спешите! Это могут быть физическиепроблемы, а не клоп Окон 95.Почистите вашу мышь.Отсоедините ее поводок от компьютера, вытащитегениталий и промойте его и ролики внутренностей спиртом.Снова зашейте мышь.Проверьте на переломы поводка.Подсоедините мышь к компьютеру.Приглядитесь к вашей прокладке (подушке) - она не должнабыть источником мусора и пыли в гениталии и роликах.Поверхность прокладки не должна стеснять движениямыши....4 октября 2011 г.Многозначность• Я траву косил косой,Дождик вдруг пошел косой.Бросил я тогда коситьИ на Стешу стал косить.Ну а Стеша,ох,краса,Как огонь её коса!4 октября 2011 г.Многозначность• Морфологическая–часть речи слова–мой (-- нос, -- руки)–look ( look at me, have a look)Алгоритмы определениячастей речи (part ofspeech tagging)• Синтаксическая–мужу изменять нельзя–мать любит дочь–Flying planes can be dangerous4 октября 2011 г.Синтаксическийразбор (parsing)Многозначность• Лексическая (семантическая)разрешениелексическоймногозначности (wordsense disambiguation)–Омонимия (ключ)–полисемия (платформа)–семантическая многозначность (лиса)• Прагматическая–тот человек в толпе...4 октября 2011 г.Сложность языка• Естественный язык:–многозначен на всех уровнях–сложное, едва уловимое использованиеконтекста для передачи значения–включает знания и рассуждения о мире• Но обработка естественного языка можетбыть иногда очень простой–использование грубых признаков частопозволяют достичь очень хороших результатов4 октября 2011 г.Подходы к машинномупереводу'.0&,"+-.'%&/%)0:)3+7+/'.0&,"+-.'%+6&,&(+3'.0&,"+-.'%&/'"#$%"$#&'+,"&%'+-.'%&/'"#$%"$#&!"#$%"$#&'()*&'.0&,"+-.'%&/1.%)0:)3+7+/'.0&,"+-.'%&/'"#$%"$#&'+,"&%'+-.'%).:#.);#&3)*&,+.'.0&,"+-.'%&/9.,.#&7+/'+,"&%'+-.'%&/'"#$%"$#&'+,"&%'+-.'%+6'+,"&%'+-.'%&/&,&(+39.,.#&7+/:#/0)6 :.#.*)10)#8)()9+-.'%+6&,&(+3+'5)1,46 ".%'"4 октября 2011 г.,&12/34%)*&/'"#$%"$#&!"#$%"$#&'()*&0)#8)()9+-.'%&/9.,.#&7+/7.(.*)6 ".%'"История машинного перевода• 1950ые - интенсивные исследования• 1960ые - прямая замена слов• 1966 - ALPAC (Automatic Language ProcessingAdvisory Committee)• 1966-1975 - период восстановление• 1975-1985 - возрождение (Европа, Япония)–Системы, основанные на правилах, для заданнойпредметной области• 1985-1995 - возрождение (США)• 1995-2011 - статистический машинныйперевод4 октября 2011 г.Понимание• Тест Тьюринга• Китайская комната• ELIZA (1966)– „I am unhappy.“– „How long have you been unhappy?“– „Six months.
Can you help me?“– „What makes you think I help you?“– „You remind me of my sister.“– „Can you tell me more about your sister?“– „I like teasing my sister.“– „Does anyone else in your family like teasing your sister?“– „No. Only me.“– „Please go on.“•SHRDLU (1972)4 октября 2011 г.Текущее состояние• Разговорные агенты используютсянекоторыми авиакомпаниями• Можно отдавать голосовые командыустройствам (телефон, в автомобиле...)• Многоязыковой информационный поискGoogle• Перевод страниц Google• Компании занимающиеся анализомтекстов позволяют анализировать мненияи предпочтения людей4 октября 2011 г.Новые взгляд на старыепроблемы• Информационный взрыв имасштабируемость• Обработка сообщений в социальныхсетях• Автоматическое извлечение знаний изтекста• Обогащение документов4 октября 2011 г.Резюме• Хороший способ понять проблемы обработкитекстов - сделать систему машинногоперевода, вопросно-ответнуб систему илиразговорного агента• Обработка текста основана на формальныхмоделях• Основы обработки текста лежат вкомпьютерных науках, математике,лингвистике, электротехнике и психологии• Сейчас - удивительное время, когдареволюционные разработки используютсяповсеместно4 октября 2011 г.Дополнительные ресурсы• Конференции: ACL, EACL, COLING, CoNLL,EMNLP, Диалог• Журналы: Computational Linguistics, NaturalLanguage Engineering, Speech & LanguageProcessing• http://www.aclweb.org/anthology-new/• Книги:– D.
Jurafsky, J.H. Martin. Speech and Languageprocessing.– C. Manning, H. Schutze. Foundations of StatisticalNatural Language Processing• Курс Stanford NLP: http://see.stanford.edu/4 октября 2011 г.Следующая лекция• регулярные выражения• конечные автоматы4 октября 2011 г.Введение в обработкутекстовЛекция 2Регулярные выражения и конечные автоматы8 октября 2011 г.Мотивация• Обновить цену товара в прайс-листе:для конкретного товара за 1000р. сделать 999.99р.• Заменить все вхождения одного слова втексте на другое• для части слова (Википедия -> Энциклопедия)• с учетом контекста• Найти сообщения о терроризме• Фильтрация нецензурных высказыванийна форумах8 октября 2011 г.Регулярные выражения• Regular Expressions(RegExp)• Языки программирования(Python, Perl, Ruby,Java, .Net)• Текстовые редакторы(Vim, EmEdit)• Утилиты (grep, sed)8 октября 2011 г.Регулярные выражения• Регулярные выражения - алгебраическаянотация для записи множества строк• Функции Python#encoding=CP1251import rere.search("в","пиво").group(0) # вre.sub("о","ко","пиво") # пивкоre.findall("cd","abcdcde") # [“cd”,”cd”]8 октября 2011 г.Регулярные выражения• Последовательность букв: abcd• Чувствительны к регистру: “Пиво”!= “пиво”• Дизъюнкция: [П|п]иво,[abc],[1234567890]• Интервал: [A-Z], [0-9], [A-Za-z]for letter in re.findall("[а-о]","пиво"):print letter,> и в о• Знак ^: [^a] - все кроме “а”• “.” - любой символ, кроме \n8 октября 2011 г.Регулярные выражения• ? - условие для 0 или 1 вхожденя символаre.findall("пивк?о", "пиво или пивко")> [“пиво”,”пивко”]• Как найти “Gooooogle”?• Счетчики–Gooo*gle–Goo+gleprint re.sub("Goo+gle","Google","Gooooogle")> Google8 октября 2011 г.Регулярные выражения• Дизъюнкцияre.sub("cat|dog","chicken","cat dog")> chicken chickenre.search("пив(о|ко)","пивко") # Match• Якоря^ - начало строки$ - конец строкиre.search("^cat(1|2)","cat1 cat2").group(0)> cat1re.search("cat(1|2)$","cat1 cat2").group(0)> cat 28 октября 2011 г.Регулярные выражения• Память (Memory)text="A conditional random field (CRF) is a ..."print re.search("\([^\)]+\)",text).group(0)> (CRF)print re.search("\(([^\)]+)\)",text).group(1)> CRFtext1 = "the faster they ran, the faster we ran"text2 = "the faster they ran, the faster we ate"re.search("the (.*)er they (.*), the \\1er we \\2", text1) # Matchre.search("the (.*)er they (.*), the \\1er we \\2", text2) # Not match• Приоритет операцийКруглые скобкиСчетчикиПоследовательности и якоряДизъюнкция8 октября 2011 г.()* + ? {}the ^my end$|Практические примеры• Найти все вхождения слова в тексте–слово the в тексте 6 раз8 октября 2011 г.Практические примеры• ELIZAUser: Men are all alike.ELIZA: IN WHAT WAY?User: They’re always bugging us about something otherELIZA: CAN YOU THINK OF A SPECIFIC EXAMPLE?User: My boyfriend made me come hereELIZA: YOUR BOYFRIEND MADE YOU COME HEREUser: He says I’m depressed much of the timeELIZA: I AM SORRY TO HEAR YOU ARE DEPRESSEDsentence=re.sub("I’m","YOU ARE", sentence)...sentence=re.sub(".* YOU ARE (depressed|sad) .*","I'M SORRY TO HEAR YOU ARE \\1",sentence)sentence=re.sub(".* all .*","IN WHAT WAY?",sentence)sentence=re.sub(".* always .*","CAN YOU THINK OF A SPECIFIC EXAMPLE?",sentence)8 октября 2011 г.Конечные автоматы• Finite-state automation (FSA)• Один из важнейших инструментов дляобработки текстов• Могут быть использованы для реализациирегулярных выражений*,'"-'("./0,1.0(!"#$%&!'("&)(*+!"#$%&!'("#!.11.0+*+8 октября 2011 г.!"#$%&!'("/(!.2"'+&Использование КА дляраспознавания языка• Научимся говорить с овцами–бээ!–бэээ!–бээээ!–бэээээ!–...• RE: “бээ+!”"!q08 октября 2011 г."q1"q2!q3q4Представление автоматов• Текст: лента с ячейкамиq0!"!!"• Таблица переходов между состояниямиСостояние012348 октября 2011 г.Входбэ!1∅ ∅∅ 2 ∅∅ 3 ∅4∅ 3∅∅∅Формальное определениеQ = q0 q1 q2 .
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.