📜
Нейронные сети и обработка текста
  • Содержание курса
  • Введение
    • Естественный язык и текст
    • Особенности обработки естественных языков
    • Лингвистический анализ
    • Извлечение признаков
    • Прикладные задачи обработки текста
  • Векторная модель текста и классификация длинных текстов
    • Векторная модель текста и TF-IDF
    • Создаём нейросеть для работы с текстом
    • Теоретические задачи: Векторная модель текста
    • Семинар: классификация новостных текстов
  • Базовые нейросетевые методы работы с текстами
    • Общий алгоритм работы с текстами с помощью нейросетей
    • Дистрибутивная семантика и векторные представления слов
    • Семинар: рецепты еды и Word2Vec на PyTorch
    • Теоретические вопросы: Дистрибутивная семантика
    • Основные виды нейросетевых моделей для обработки текстов
    • Свёрточные нейросети для обработки текстов
    • Семинар: POS-тэггинг свёрточными нейросетями
    • Теоретические вопросы: Свёрточные нейросети в обработке текстов
  • Языковые модели и генерация текста
    • Untitled
  • Преобразование последовательностей
    • Untitled
  • Transfer learning, адаптация моделей
    • Untitled
  • Финальное соревнование на kaggle и заключение
    • Untitled
Powered by GitBook
On this page
  • Высокоуровневые задачи обработки текста
  • Лингвистический анализ текста
  • Анализ целых текстов
  • Генерация текста

Was this helpful?

  1. Введение

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

PreviousОсобенности обработки естественных языковNextИзвлечение признаков

Last updated 5 years ago

Was this helpful?

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

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

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

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

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

Используйте синтаксис регулярных выражений Python версии >3.5 ().

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

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

С помощью каких методов обычно решают задачу извлечения именованных сущностей?

Выберите все задачи лингвистического анализа, которые можно решать в два этапа:

  1. выделение всех кандидатов (это могут быть слова, токены, сущности состоящие из нескольких слов)

  2. обучение классификатора, принимающего пару кандидатов, и предсказывающего класс отношения между ними.

Попробуйте предположить и выбрать все варианты, где такая схема могла бы применяться, даже если в лекциях непосредственно такой вариант не упоминался.

В синтаксическом анализе такой подход может использоваться, но на практике не вполне эффективен, потому что классификатор, принимающий на вход пару кандидатов, не может учитывать остальные кандидаты и отношения между ними.

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

  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)

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

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

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

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

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

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

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

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

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

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

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

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

Методы:

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

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

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

https://docs.python.org/3/library/re.html