Лингвистический анализ

Выберите регулярное выражение, которое приведёт к указанной токенизации.

Входное предложение:

"Пожалуйста, отправляйте свои заявки на адрес электронной почты inbox@example.com или по телефону 123456.".

Ожидаемая токенизация:

['Пожалуйста', ',', 'отправляйте', 'свои', 'заявки', 'на', 'адрес', 'электронной', 'почты', 'inbox@example.com', 'или', 'по', 'телефону', '123456', '.']

Используйте синтаксис регулярных выражений Python версии >3.5 (https://docs.python.org/3/library/re.html).

Токенизация будет выполняться с помощью следующего фрагмента кода:

import re
txt = "Пожалуйста, отправляйте свои заявки на адрес электронной почты inbox@example.com или по телефону 123456."
tokenize_regex = re.compile(<your answer>, re.I)
tokens = tokenize_regex.findall(txt)
print(tokens)

Высокоуровневые задачи обработки текста

  1. Лингвистический анализ — разбор структуры текста

  2. Извлечение признаков — простроение векторного, графового представления, сопоставление со словарями

  3. Прикладные задачи — классификация, поиск по запросу, поиск похожих, извлечение именованных сущностей и фактов

Лингвистический анализ текста

Цель — извлечение структуры текста. Фундамент для решения других задач.

Задачи решаются в порядке:

  1. Подготовка

    • графематический анализ

  2. Анализ отдельных предложений

    • морфологический анализ

    • POS-теггинг

    • извлечение именованных сущностей

    • синтаксический анализ

    • семантический анализ

    • извлечение отношений между сущностями внутри предложения

  3. Анализ целых текстов

    • разрешение анафорических связей

    • дискурсивный анализ

  4. Генерация текста

Для графематического анализа (разбиения сырого текста на токены) используются:

  • регулярные выражения

  • вероятностные модели (Hidden Markov Model, Condiitional Random Fields) для разрешения неоднозначностей

Для морфологического анализа используются:

  • словари

  • системы правил, регулярные выражения

Для частеречного анализа (определения точной начальной словоформы) используются:

  • системы правил

  • вероятностные модели последовательностей (Hidden Markov Model, Condiitional Random Fields)

Для извлечения именованных сущностей используются:

  • словари

  • системы правил, регулярные выражения

  • вероятностные модели последовательностей (Hidden Markov Model, Condiitional Random Fields)

  • нейросетевые модели

Для синтаксического анализа используются:

  • Shift-reduce-анализаторы с вручную составленными или обучаемыми решающими правилами, в т.ч. нейросетевыми (Malt parser, SyntaxNet)

Для семантического анализа используются:

  • словари (вспомагательный инструмент)

  • системы правил

  • все остальные методы

Для извлечения отношений между сущностями используются:

  • попарные классификаторы, основанные на системах правил

Анализ целых текстов

Анафорическая связь — связь между словами-ссылками и словами-адресатами (референтами)

Марк надел пальто и вышел из дома. Он не очень любил холод осени, но её красота согревала

Он -> Марк, её -> осени

Дискурсивный анализ — синтаксический анализ для документа в целом

Генерация текста

Методы:

  • структурированное описание содержания

  • генерация через поиск

  • с помощью нейросетей

Last updated

Was this helpful?