2. Выделение ключевых слов
Исходный текст
Курс рубля снизился к доллару и евро при открытии торгов
на Московской бирже во вторник, падению рубля
способствует продолжающееся снижение мировых цен на
нефть. Первые сделки по доллару прошли на Московской
бирже во вторник в диапазоне 63,10-64,83 рубля, по итогам
первой минуты торгов курс составил 63,38 рубля, что на 36
копеек выше уровня предыдущего закрытия.
Нужно выделить из него ключевые
слова
Рубль, доллар, евро, курс, биржа…
2
3. Зачем?
Извлечение информации
для обработки в дальнейшем
{
‘доллар’ : 63.38
‘дата’ : 27.10.2015
}
Генерация тэгов и хэштегов
#курс #доллар #биржа
Индексация текста
Автоматическая генерация новых
текстов
3
4. Как?
Разбиение текста на слова
Наивный вариант: по пробелам и знакам препинания.
Более продвинутый вариант: учитывать аббревиатуры,
сокращения и т.д.
Приведение слов в нормальную форму
Глаголы – в инфинитив, существительные – в именительный
падеж и т.д.
Выбор из полученного списка слов
наиболее подходящих
Например, выкинуть служебные части речи и отсортировать
по частотности (или более сложные алгоритмы).
4
5. Как?
Выбор из полученного списка слов
наиболее подходящих
Наивный метод: отсортировать по частоте
Проблема: часто встречаются служебные части
речи, необходим словарь для их исключения.
Пример: Danneo CMS
$adjectivearray = array(
"ые","ое","ие","как","для","что","или","это“, <…>
); <…>
if(strlen($word) >= $len && !is_numeric($word)){
$adjective = substr($word,-2);
if(!in_array($adjective,$adjectivearray) &&
!in_array($word,$adjectivearray)) <…>
5
6. Как?
Выбор из полученного списка слов
наиболее подходящих
Веса tf.idf
tf – количество вхождений слова в документ
df – количество документов с данным словом
idf = log(N/df), где N – количество документов
в качестве документов можно взять предложения
Пример: rutermextract 0.2
>>> from rutermextract import TermExtractor
>>> term_extractor = TermExtractor()
>>> text = ...
>>> idf = ...
>>> terms = term_extractor(text, weight=lambda term:
idf.get(term.normalized, 1.0) * term.count)
6
7. Как?
Выбор из полученного списка слов
наиболее подходящих
Методы для структурированных документов
Модификация предыдущих двух методов, в
которых может учитываться:
Нахождение в заголовке.
Выделение в тексте (<strong>, <font color=…>)
Определённое форматирование абзаца
(<blockquote>, <p class=“note”>)
Расположение в определённой части текста
Машинное обучение
7
8. Средства и решения
Pymorhy2
Морфологический анализатор
OpenCalais
Выделяет ключевые слова, строит семантическую сеть.
Не работает с русскоязычными текстами
TextAnalyst 2.0
По функционалу похож на предыдущий и
поддерживает русский язык
Site Content Analyzer 3
Работает с web-сайтами
8
9. Для моей работы
Дан текст учебно-научной работы
Нужно выделить из него по 2-3
предложения на слайд
Из полученных слайдов составить
презентацию к докладу.
9
10. Идея реализации
Достаточно выделить наиболее
популярные ключевые слова
На их основании подобрать
подходящие предложения
Полученные предложения вставить на
слайд в виде маркированного списка
(как на этом слайде).
Это один из методов реферирования
10
11. Реферирование
Дан текст
На его основании построить
другой текст:
Меньшего объёма
Выражающий суть документа
Осмысленный и связный (опционально)
11
12. Реферирование
Дан текст
Курс рубля снизился к доллару и евро при открытии
торгов на Московской бирже во вторник, падению
рубля способствует продолжающееся снижение
мировых цен на нефть. Первые сделки по доллару
прошли на Московской бирже во вторник в диапазоне
63,10-64,83 рубля, по итогам первой минуты торгов
курс составил 63,38 рубля, что на 36 копеек выше
уровня предыдущего закрытия.
На его основании построить
другой текст:
Курс [доллара] составил 63,38 рубля 12
13. Реферирование: зачем?
Аннотация к статье, книге
Описание документа в результатах
поиска
Новостные агрегаторы
(Яндекс.Новости)
В моей работе: создание слайда из
раздела учебно-научной работы
13
15. Реферирование: как?
Квазиреферирование
Строим текст из предложений или
словосочетаний, которые уже имеются в тексте,
на основе выделенных ключевых слов
Относительно простой в реализации
Не всегда получается связный осмысленный
текст
15
16. Реферирование: как?
Квазиреферирование
Cтатические методы
Основной критерий информативности для предложения
– частота появления ключевых слов (словосочетаний)
Позиционные методы
Критерий – позиция элемента в документе (например, в
заголовке)
Индикаторные методы
Критерий – специальные слова и словосочетания,
которые бы указывали на значимость предложения
Определение 1. Сайт — это система электронных
документов частного лица или организации
в компьютерной сети под общим адресом
16
17. Реферирование: как?
Квазиреферирование
W= L + K + S
W – вес фрагмента (предложения)
L – вес расположения (какой раздел, в каком
месте раздела)
K – вес индикаторных конструкций вида
S – сумма весов наших ключевых слов в
предложении.
17
19. Реферирование: как?
Краткое изложение содержания
первичного документа
Строим текст на основе базы знаний, созданной при
анализе документа
Первичный документ – файл, на основании
которого строим реферат
Сложнее в реализации, затратный алгоритм
Текст генерируется по заданному алгоритму, что
обеспечивает его связность по смыслу.
19
20. Реферирование: как?
Краткое изложение содержания
первичных документов
Метод синтаксического разбора
предложений
используются деревья разбора текста
Методы, опирающиеся на понимание
естественного языка
основываются на системах искусственного
интеллекта, в которых формируются семантические
структуры в виде концептуальных подграфов в базе
знаний.
20
25. Для моей работы
Дан текст учебно-научной работы
Нужно выделить из него по 2-3
предложения на слайд
Из полученных слайдов составить
презентацию к докладу.
25
26. Идея реализации
В презентации изложение тезисное
Предложения выстраиваются в виде
маркированного списка
Не слишком важна связность
предложений по смыслу.
26
27. Идея реализации
Для данной задачи удобнее
использовать квазиреферирование
Относительно простой алгоритм
Выдаёт не обязательно связные
предложения
27
28. Идея реализации
По ключевым словам ищем
подходящие 2-3 предложения
(определения, формулировки
утверждений).
Учитываем важность ключевого слова по его
расположению (встречаемость в заголовке)
Индикаторные конструкции
<…> – это <…>,
<…> называется <…>, и т.д. 28
29. Итоги: идея реализации
Разбиваем текст учебно-научной работы на
разделы, выбираем подходящие ключевые
слова в каждом разделе.
В зависимости от важности и длины раздела
слайдов может быть несколько.
На основании ключевых слов выбираем
наиболее важные предложения из каждого
раздела
Полученные предложения вставляем на
слайд. 29