CS440 Лекции
CS440 Лекции CS 440/ECE 448
Осень 2019
Маргарет Флек
Лекция 19: NLP 2
Боати МакБотфейс (от BBC)
На последнем занятии мы набросали процесс получения из речи или необработанных (потенциально грязный) ввод текста в чистую последовательность слов. Под словом я подразумеваю кусок размера, удобного для более поздних алгоритмов (например, синтаксический анализ, перевод).
Часто это стандартное письменное слово. Но это может быть слиянием стандартных слов, если они неудобно короткие (например, китайский) или часть слова в языках (например, турецком, немецком), чьи слова неудобно долго. Это может означать морфему, т.е. минимальная смысловая единица, что они обычно кажутся слишком короткими.
Поиск слов, морфем
Модели понимания человеческого языка обычно предполагают, что первый этап, который производит достаточно точную последовательность телефонов. (На практике это не всегда верно. ) Последовательность телефонов должна затем сегментироваться в последовательность слов с помощью алгоритма «сегментации слов». Процесс может выглядеть так, где # обозначает буквальная пауза в речи (например, говорящий делает вдох).
ВВОД: ohlThikidsinner # ahrpiyp@lThA?HAvkids # ohrThADurHAviynqkids
ВЫВОД: ohl Thi kids внутренний # ahr piyp@l ThA? HAv kids # ohr ThADur HAviynq kids
На стандартном письменном английском языке это будет «все дети там # — это люди, у которых есть дети # или у которых есть дети».
Затем эти слова необходимо разделить на морфемы с помощью алгоритма «морфологии». Слова в некоторых языках могут быть очень длинными (например, в турецком), что усложняет задачу. выполнять дальнейшую обработку, если они (по крайней мере, частично) не подразделяются в морфемы. Например:
без ответа —> без ответа
предварительные условия —> предварительные условия
Системы, работающие с текстовым вводом, могут столкнуться с аналогичной проблемой сегментации.
В некоторых системах письма пробелы между словами не ставятся.В системах НЛП также может потребоваться объединение входных единиц в более крупные. Например, системы распознавания речи могут быть настроены на преобразовать в последовательность коротких слов (например, «база», «мяч», «компьютер», «наука») даже когда они образуют тесную смысловую единицу («бейсбол» или «информатика»). Это особенно важная проблема для систем записи, таких как Китайский язык. Рассмотрим эту хорошо известную последовательность из двух символов:
Чжун + Го
Исторически сложилось так, что это два слова («средний» и «страна») и два символы появляются в письменной форме без явного указания на то, что они образуют единицу. Но на самом деле это одно слово, означающее Китай. Группировка входных последовательностей символов в блоки с одинаковым значением является важным первым шагом в обработке китайского текста.
Фонология
В приведенном выше примере сегментации обратите внимание, что «там» слилось во «внутренний» с «й» звук меняется, чтобы стать похожим на предшествующую ему букву «н». Этот вид «фонологическое» изменение звука делает и распознавание речи, и слово сегментировать намного сложнее. На практике ранние этапы распознавания речи дают сбои. последовательности фонем, которые должны быть исправлены последующей обработкой.
Сочетание проблем обработки сигналов и фонологических изменений означает, что на практике современные распознаватели речи не могут расшифровывать речь в последовательность телефонов без какого-либо более широкого контекста. Большинство распознавателей используют простую (ngram) модель слов и слов. исправить необработанное распознавание телефона и, следовательно, произвести слово последовательности напрямую. Таким образом, фактическая последовательность этапов обработки зависит от приложения и идет ли речь о серийных компьютерных системах или моделях понимание человеческого языка.
Маркировка POS
Чтобы сгруппировать слова в более крупные единицы (например, предложные фразы), Первым шагом обычно является присвоение тега «части речи» (POS) каждому слову. Вот пример текста из корпуса Брауна, который содержит очень чистые письменный текст.
Северные либералы являются главными сторонниками гражданских прав и интеграция. Они также вели нацию в направлении государство всеобщего благосостояния.
Вот версия с тегами. Например, «либералы» — это ННС, которые является существительным во множественном числе. «Северный» — прилагательное (JJ). Наборы тегов должны различать основные типы слов. (например, существительные и прилагательные) и основные варианты, например. существительные в единственном и множественном числе, глаголы в настоящем и прошедшем времени. Есть также несколько специальных тегов ключевые функциональные слова, такие как HV для «иметь», и знаки препинания (например, точка).
Северные/jj либералы/nns являются/ber the/вождем/jjs сторонники/nns в/в гражданских/жж права/ннс и/в/в интеграции/нн ./. Они/ппсс Иметь/hv также/rb привело/vbn the/в нации/nn в/в/в направлении/nn из/в а/в благополучии/нн состояние/нн . /.
На чистом тексте хорошо настроенный теггер POS может обеспечить точность около 97%. Другими словами, POS-теггеры достаточно надежны и в основном используются в качестве стабильной отправной точкой для дальнейшего анализа.
Разбор
Если у нас есть POS-теги для слов, мы можем собрать слова в дерево разбора. Существует множество стилей построения деревьев синтаксического анализа. Здесь это 9Дерево избирательного округа 0060 от берега дерева Пенна (от Митча Маркуса).
Дерево синтаксического анализа в стиле Penn treebank (от Митча Маркуса)
Альтернативой является дерево зависимостей , как показано ниже из Гугл лаборатории. Достаточно свежий парсер от них называется «Парси Макпарсфейс» после Великобритании Boaty McBoatface показан выше.
В этом примере левое дерево показывает правильная приставка для «в своей машине», т.е. модификация «поехала». Дерево справа показывает интерпретацию, в которой улица находится в машине.
Лингвисты (вычислительные и другие) ведут длительные споры о лучший способ нарисовать эти деревья. Однако закодированная информация всегда довольно похожи и в основном включают в себя группировку слов которые образуют связные фразы, например. «государство всеобщего благоденствия». Это довольно похоже к разбору языков программирования, за исключением того, что программирование языки были разработаны, чтобы упростить синтаксический анализ.
Парсеры делятся на две категории
- Нелексикализованный: используйте только теги POS для построения дерева.
- Классы слов: помимо частей речи, определите общий тип объект или действие (например, человек против транспортного средства)
- Лексикализованный: также включает некоторую информацию о слове идентичность/значение
Значение лексической информации иллюстрируется предложениями вот так, в котором меняется именное словосочетание изменяет то, что предложное словосочетание изменяет:
Она шла по улице. .в ее грузовике. (меняет ход)
в новом наряде. (меняет тему)
в Южном Чикаго. (меняет улицу)
Лучшие синтаксические анализаторы лексикализированы (точность до 94% от Google). Парсер «Parsey McParseface»). Но неясно, сколько информации включать о слова и их значения. Например, должен ли «автомобиль» всегда вести себя как «грузовик»? Более подробная информация помогает принимать решения (особенно приложение) но требует больше обучающих данных.
Подробнее о наборах бирок
Обратите внимание, что набор тегов для корпуса Брауна был несколько специализированным. для английского языка, в котором формы have и to be играют важную синтаксическую роль. Наборы тегов для других языков потребуют одних и тех же тегов (например, для существительные), но и категории для типы служебных слов, которые не используются в английском языке. Например, для набора тегов для китайского языка или языка майя потребуется тег для числа.
Наборы тегов различаются по размеру в зависимости от теоретических предубеждений люди, делающие аннотированные данные. Меньшие наборы этикеток передают только основная информация о типе слова. Большие наборы содержат информацию о том, какую роль слово играет в окружающем контексте. Образец размеры
- Пенн Трибанк 36
- Коричневый корпус 87
- «универсальный» 12
Разговорный разговорный язык также включает в себя черты, которых нет в письменном языке. В приведенном ниже примере (из корпуса Switchboard) можно увидеть заполненную паузу «ух», а также обломанное слово «т-«. Кроме того, обратите внимание, что первое предложение разбивается парантетической комментарий («вы знаете»), и третье предложение обрывается в конце. Такие особенности затрудняют анализ устной беседы, чем письменный текст.
Я был бы очень-очень осторожен и, ну, вы знаете, проверил бы их. Э-э, наш, надо было т-, поместить маму в дом престарелых. У нее был довольно массивный инсульт о, ммм, о —
I/PRP ‘d/MD be/VB очень/RB очень/RB осторожный/JJ и/CC ,/, эм/UH ,/, вы /прп знаете/вбп ,/, проверяя/вбг их/прп вых/рп./. Ух/Ух,/, наш/прп$ ,/, имел/вбд т-/к ,/, место/вб мой/прп$ мать/нн в/в а/дт дом престарелых/NN дом/NN ./. Она/PRP имела/VBD a/DT скорее/RB массивная/JJ ход/н.н.о/рб ,/,э/ух ,/,о/рб —/:
Перевод
Еще одним низкоуровневым приложением является перевод. Чтобы научиться переводить, мы могли бы выровнять пары предложений на разных языках, сопоставив соответствующие слова.
Русский: 18-летним нельзя покупать алкоголь.
Французский: Les 18 ans ne peuvent pas acheter d’alcool
18 | год | старые | банка | т | купить | спирт | |||
Лес | 18 | и | не | пёвент | за | ачетер | д’ | алкоголь |
Обратите внимание, что некоторые слова не имеют соответствий на другом языке. Для других пар языки, могут быть радикальные изменения в порядке слов.
Корпус совпадающих пар предложений можно использовать для создания словарей перевода (для фразы, а также слова) и извлекать общие сведения об изменениях в порядке слов.
Низкоуровневые алгоритмы
Большинство тестов, которые мы видели до сих пор, используют простые модели последовательностей входных данных. делать предположение, что только несколько последних пунктов имеют значение для следующего решения («Марковское предположение»).
- Решаете, вставлять ли границу слова? Посмотрите на последние 5-7 символов.
- Решаете, какой POS-тег поставить на следующее слово? Посмотрите на последние 1-3 слова.
Конкретные методы включают автоматы с конечным числом состояний, скрытые марковские модели (HMM) и рекуррентные нейронные сети (RNN).
Алгоритмы синтаксического анализа имеют аналогичную структуру, но их предыдущий контекст включает целые куски дерева. Например, «юная леди» может считаться единое целое. Алгоритмы синтаксического анализа обычно имеют гораздо больше вариантов для рассмотрения, то есть много частично построенных деревьев. Это вынуждает их использовать поиск по лучу, т.е. сохранение фиксированного числа гипотез с лучшим рейтингом. Более новые методы также попытаться разделить древовидную структуру между конкурирующими альтернативами (например, динамическое программирование) чтобы они могли хранить больше гипотез и избегать дублирования работы.
Семантика
Представление смысла менее понятно, поэтому во многих рабочих методах используются поверхностные представления, основанные на модели мешка слов (см. наше обсуждение наивного Байеса) или локальные группы слов (например, словосочетания). Приложения, которые могут хорошо работать с ограниченным пониманием включают
- группировка документов по темам, разделение документов в местах смены темы
- анализ настроений: нравится ли писателю этот фильм или этот ресторан?
Очень немногие системы пытаются понять сложные конструкции с использованием кванторов («Сколько стрел не попали в цель?») или относительные предложения (см. пример синтаксического анализа Penn treebank выше). Отрицание сложнее, чем кажется. Например, запрос Google для «Африка, а не франкоязычный» возвращает информацию во франкоязычных частях Африки. И это пример кругового перевода показывает, как Google преобразовывает «упс на X» в «попробуй X», т.е. полярность советов.
Три типа поверхностного семантического анализа оказались полезными и почти в пределах текущих возможностей:
- Маркировка семантической роли: мы знаем, что именная группа X относится к глаголу Y. Является ли X субъектом/действующим лицом? объект, что действие было сделано? инструмент, используемый, чтобы помочь с действием?
- классов слов: какие слова похожи друг на друга.
- резолюция по совместной ссылке (см. ниже)
Семантическая ролевая маркировка включает в себя определение того, как основные именные фразы в предложение относится к глаголу. Например, в «Джон вел машину». «Джон» — это субъект/агент, а «машина» — управляемый объект. Эти отношения не всегда являются объектами, т.е. кто ест кого в «мост, пожирающий грузовики»? (Погугли это.)
В настоящее время наиболее популярным представлением классов слов является «вложение слов». Вложения слов дают каждому слову уникальное местоположение в многомерном евклидовом пространстве, устроенном так, что подобные слова находятся близко друг к другу. Подробности увидим позже. популярный алгоритм word2vec.
Текущий текст содержит ряд «именованных сущностей», т. е. существительных, местоимений и т. словосочетания, относящиеся к людям, организациям и местам. Совместная резолюция пытается идентифицировать какие именованные сущности относятся к одному и тому же. Например, в этом тексте из Википедии у нас есть определил три сущности, относящиеся к Мишель Обаме, два как Барак Обама и три как места, которые не являются ни тем, ни другим. из них. Одним из источников трудностей являются такие предметы, как последний «Обама», который внешне выглядит так, как будто это может быть любой из них.
[Мишель ЛаВон Робинсон Обама] (родился 17 января 1964 г.) американский юрист, администратор университета и писатель который служил в качестве [Первая леди США] от с 2009 по 2017 год. Замужем за [44-й президент США], [Барак Обама], и была первой афроамериканской первой леди. Выросший на южной стороне [Чикаго, Иллинойс], [Обама] является выпускник [Университет Принстон] и [Гарвардская школа права].
ИИ в действии
Успехи и фейспланты от экспериментальные чат-боты.
Google Hummingbird — Глоссарий контент-маркетинга от clickworker
Г
- Google Hummingbird – Краткое концептуальное объяснение
- Что такое Google Колибри?
- Как Google Hummingbird влияет на страницу результатов поисковой системы Google (SERP)
- Повышение эффективности голосового поиска
- Как Hummingbird влияет на локальный поиск
- Google Колибри в действии
© ЕлизаветаБоюр – Fotolia.com
Google Hummingbird — краткое концептуальное объяснение
Google Hummingbird — последнее поколение поисковых алгоритмов Google. Он был активен с конца 2013 года и позволил Google выйти за рамки буквального определения запроса пользователя. Вместо этого он анализирует цель поиска и извлекает лучшие результаты для запросов, состоящих из нескольких слов или полных предложений.
Что такое Google Колибри?
Google Hummingbird — это поисковый алгоритм Google, выпущенный в конце 2013 года. Предыдущие алгоритмы включали Panda и Penguin.
Алгоритмы Google позволяют пользователю искать результаты в Интернете. Раньше результаты поиска были буквальными. Поисковая система выдавала именно то, что было запрошено, что требовало от искателей точности и конкретности при вводе запроса.
Hummingbird отходит от точного, буквального поиска и вместо этого сосредотачивается на семантическом поиске. Он может анализировать значение слов, используемых в строке поиска, и предоставлять более полный и релевантный список результатов.
Как Google Hummingbird влияет на страницу результатов поисковой системы Google (SERP)
Страница результатов поисковой системы Google (SERP) менялась и оставалась неизменной на протяжении многих лет. Результаты обычного поиска выглядят почти так же, как и всегда с обновлением Google Hummingbird. Они включают в себя мета-заголовок и мета-информацию о контенте, который можно найти на странице.
Однако поисковая выдача выглядит совсем иначе, чем всего несколько лет назад, потому что Hummingbird позволяет Google создавать более визуально привлекательные условия поиска. Функции SERP, которые сегодня можно найти на странице результатов Google, включают:
- Расширенные фрагменты, такие как рейтинги продуктов
- Платные результаты, приобретаемые компаниями
- Универсальные результаты, такие как избранные фрагменты
- Графики знаний, которые отображаются в выделенных панелях или блоках
Повышение эффективности голосового поиска
С появлением интеллектуальных технологий пользователи мобильных устройств все чаще используют голосовые команды. Голосовые команды создают проблемы для традиционных методов поиска, поскольку полные предложения не могут быть найдены дословно в Интернете.
Google Hummingbird решает эту проблему, потому что он выходит за рамки буквальных слов в поиске и определяет цель поиска. Таким образом, пользователь может задать вопрос или сделать утверждение, а Hummingbird может предоставить список результатов запроса, даже если его буквальное намерение не было указано.
Этот тип поиска позволяет пользователям использовать технологии так же, как они взаимодействуют с другими людьми. Нет необходимости разбираться в хитростях поисковых систем, таких как использование кавычек или ключевых слов, чтобы получить релевантные результаты.
Как Hummingbird влияет на локальный поиск
Локальный поиск столкнулся с проблемой, когда Hummingbird впервые был реализован, потому что казалось, что он заполняет страницы блоками, которые давали один ответ на запрос, который должен был дать несколько вариантов.
Это было особенно проблематично для компаний, которые играли по новым правилам SEO. Другие компании, которые размещали свои объявления с использованием ключевых слов, получали прирост трафика, в то время как компании, использующие органический контент, появлялись в нижней части списка или на последующих страницах.