Lect_Graph

advertisement
Автоматическая обработка
текста
Предварительная
обработка текста
Предварительная обработка
текста




графематический анализ
служебные символы
токенизация
классификация токенов
Графематический анализ
.
.
.
The U S. may sell a record $3 25 trillion of debt this fiscal year ending Sept 30,
according to primary dealer Goldman Sachs Group Inc.
INDEX CHANGE
The 10-year note yielded 3.71 percent as of 7:56 a.m. in London, according to data
.
.
compiled by Bloomberg The 3 125 percent security maturing in May 2019 traded at a
price of 95 4/32. The yield yesterday dropped eight basis points. <br><br>The MSCI
World Index of equities fell 0.3 percent and the Nikkei 225 Stock Average slipped 2.9
percent. <br><br>Industrial production dropped 1 percent in May, the seventh month
of declines
,
,
, .
Italy's FTSE MIB Index lost 613.73 or 3 percent, to 19 770 49.
The yen climbed to 133.46 per euro as of 7:40 a.m. in London from 134.99 yesterday in
New York. It earlier rose to 132.74, the strongest level since May 28. The yen advanced
1.5 percent to 96.35 per dollar, the biggest gain since May 29. Japan's currency rose 1.6
percent to 60.76 against the New Zealand dollar, and strengthened 1.8 percent to 76.44
versus Australia's currency.
Графематический анализ. Задачи

Задача:
 получить выборку полных словоформ из массива текстов базы данных.

выполняет три функции:
стоп-слов в тексте;
 2. разбиение данных на три потока (n потоков);
 3. индексация каждого потока.
Единицей графематического анализа является цепочка символов, выделенная с
двух сторон пробелами.
Выделенная цепочка символов подвергается последовательной обработке
эвристическими правилами: отсечь знаки пунктуации, проверить присутствие
гласных внутри цепочки, чередование верхнего и нижнего регистров и т.д. В
зависимости от результатов обработки полученная цепочка символов
направляется в один из трех потоков данных:
 - цифровые и символьные комплексы (‘кг’, ‘ст.’, ’12.01.99’);
 - аббревиатуры - названия государств, организаций, предприятий (‘СССР’,
‘ЮНЕСКО’, ‘ДорСтройСервис’);
 - полные словоформы



1. отсечение
Графематический анализ
1.
2.
3.
разделение входного текста на элементы (слова, разделители и
т.д.);
удаление нетекстовых элементов;
выделение и оформление нестандартных (нелексических)
элементов, например:
элементов форматирования – жирность, курсивность,
подчёркивание;
 структурных элементов текста – заголовков, абзацев, примечаний;
 различных элементов текста, не являющихся словами (числа, даты в
цифровых форматах, буквенно-цифровые комплексы, и т.п.);
 имен (имя, отчество), написанных инициалами;
 иностранных лексем, записанных латиницей;
 и т.д.

4.
сборка

Лекция 3
например, слов, написанных в разрядку
АОТ
Пример 1
Русское
Назва
назван
Объяснение
Примеры
ние
ие
RLE
Иван
русская лексема, присваивается
ЛЕ
последовательностям, состоящим из кириллицы
LLE
иностранная лексема,
John
ИЛЕ
присваивается последовательностям из латиницы
DEL РЗД
разделитель.
"*', '=', '_'
PUN
знак препинания, присваивается
".", '[', ']', '(', ')',
ЗПР
последовательностям, состоящим из одинаковых '-', ':', ';'
знаков препинания
DC
цифровой комплекс, присваивается
1234
ЦК
последовательностям, состоящим из цифр
DSC
34h
цифро-буквенный комплекс, присваивается
ЦБК
последовательностям, состоящим из цифр и букв
GRAU
сложный узел, присваивается последовательностям,
NK
не обладающим вышеперечисленными признаками
Пример 2
#Cap_Letter
110
(?<'_Chain_el''_Cap_Letter'>(?<'STOP_DOT'>[Case.SCap])&".")
//выделяет инициалы (B.), буквы в названиях типов коммерческих организаций
(P.,C., A.,G.), считаем, что это контекст для точки не в конце предложения
#ABBR_dot
120
(?<'_Chain_el''_ABBR_dot'>(?<'STOP_DOT'>[RX"\[A-Z\]"]\[a-z\])&".")
// выделяет двухбуквенные аббревиатуры с точкой, возможно правильней
задавать их списком, но их достаточно много
Пример 2
•
(?<'_NUMBER_MLN_DEC'>[Case.Number]((&"."|&",")[Case.Number])/0-1)
•
(?<'_Cap_Word''_Chain_el'>{!'_Cap_list_abbr'[Case.Cap]})
•
//слова с большой буквы, содержащие не меньше 2-х букв, не аббревиатура
•
(?<'_Cap_ABBR''_Chain_el'>[Case.Mixed])
•
//McDonalds
•
(?<'_Cap_UPPER''_Chain_el'>[Case.Upper])
•
//USA
•
(?<'_Chain_el''_Cap_Word'>[Case.Cap]&"-"[])
•
//слова с дефисом, например, двойные имена или фамилии Marry-Ann
Графематический анализ
Примерный перечень элементов текста, требующих специальной обработки
Адрес
докладчика/унив-та
Страницы
форзаца
Примечания
Тезисы
докладов отдельным файлом
Зачеркивания
Перечисления
Титульные
листы
Текст
списком Сами рисунки
литературы
Слова
типа «рак1», «рак2», Nкластеры
Списки
Цифры
Таблицы
Иностр.
язык в тексте
Формат
Адреса,
ссылки, гиперссылки
Римские
Сокращения,
Пример
аббревиатуры
поиска
Значки для формул
Лекция 5
в тексте
Рус. яз.
цифры
в иностранном тексте
Формулы
Названия
Схемы
9
рисунков
Корпусная лингвистика
Грфематический анализ. Токенизация
Слова с дефисом:
1) по-моему, по-пушкински,
2) Петербургу-Петрограду-Ленинграду,
3) бело-желтым, штабс-капитана, удовлетворенносмущенное, штабс-капитан
Числа, "шаблоны": 1945г., тел. 555-33-22
сокращения: г., вв. и т.п. ст.
особенности расстановки стилей:
разрядка: Д О Л Г О
дополнительные "внутрисловные" знаки:
м-е-е-е-дленно, о'key, he's
знаки препинания
вкрапления другого алфавита
Графематический анализ
Cложности:
обработка дефиса и пробела;
 выделение составных предлогов, устойчивых
оборотов, аналитических форм и др.;
 иноязычные фрагменты;
 нетекстовые элементы.
Лекция 3
АОТ
Графематический анализ
1.

Межсловный дефис:
объединительная функция (буква)?
кто-то, где-нибудь, давным-давно, бакш-таг, брейд-вымпел, генерал-аншеф
или

разделительная функция (знак препинания)?
старик-художник, словарь-справочник, девочка-пионерка
2.

Пробел:
объединительная функция (буква)?
сто двадцать пять
или

разделительная функция?
русский язык
Лекция 3
АОТ
Часть 2. Индекс. Поиск в корпусе

Найти: «дом»
 Можно загрузить текст в Word искать там:
Правка: найти
 Что найдем?
форму «дом» или часть слова, совпадающего с
последовательностью букв «дом» - народом
Программа ищет ту подстроку, которую мы ей зададим
(точное совпадение)



??? Как найти дома, доме, домом и т.п.?
 Можно использовать специальный язык «дом.*»
Что найдем?

Дома, доме и т.п. + домашний, домовой, домолоть …
Часть 2. Индекс
char* strstr(char *big, char *little)
{
char *x, *y, *z;
for (x = big; *x; x++)
{
for (y = little, z = x; *y;
++y, ++z)
{
if (*y != *z)
break;
}
if (!*y)
return x;
}
return 0;
}
В этой функции языка C
текст строки big
просматривают слева
направо и для каждой
позиции x запускают
последовательное
сравнение с искомой
подстрокой little. Для
этого, двигая
одновременно два
указателя y и z,
попарно сравнивают все
символы. Если мы
успешно дошли до конца
искомой подстроки,
значит она найдена.
Индекс. Полнотекстовый
поиск
Хотя прямой просмотр всех текстов – довольно медленное
занятие, не следует думать, что алгоритмы прямого поиска не
применяются в интернете. Норвежская поисковая система Fast
(www.fastsearch.com) использовала чип, реализующий логику
прямого поиска упрощенных регулярных выражений [fastpmc],
и разместила 256 таких чипов на одной плате. Это позволяло
Fast-у обслуживать довольно большое количество запросов в
единицу времени. (И. Сегалович)
Часть 2. Индекс
Xml формат с разбивкой на предложения и токенизацией:
<?xml version="1.0" encoding="utf-8"?>
<sentences>
<p>
<se id="31016">
<w id="1" lemma="" morph="" comment="">
<rel id_head="" type=""/>Нам</w>
...
<w id="16.9" lemma="" morph="" comment="">
<rel id_head="" type=""/>.</w>
</se>
…
</p>
Индекс. Инвертированный файл
Эта простейшая структура данных, несмотря на свое загадочное
иностранное название, интуитивно знакома любому грамотному
человеку, так и любому программисту баз данных, даже не
имевшему дело с полнотекстовым поиском.
Первая категория людей знает, что это такое, по «конкордансам» алфавитно упорядоченным исчерпывающим спискам слов из
одного текста или принадлежащих одному автору (например
«Конкорданс к стихам А. С. Пушкина», «Словарь-конкорданс
публицистики Ф. М. Достоевского»). Вторые имеют дело с
той или иной формой инвертированного списка всякий раз, когда
строят или используют «индекс БД по ключевому полю».
Download