Анализ и обработка текста
, , Мордовский ГУ
Abstract—В статье рассматриваются вопросы автоматического анализа текстовых корпусов и предлагается алгоритм препроцессирования текстового источника и подготовки его для дальнейшей обработки. Указываются достоинства и недостатки предложенного алгоритма, приводятся примеры его применения.
Index Terms—корпус, текстовый источник, лемматизация, частотный анализ
Задача анализа текста
Т
ермином анализ текста обозначает совокупность лингвистических, статистических методов, а также методов машинного обучения, при помощи которых моделируется и структурируется информационное содержимое разнообразных текстовых источников для задач лингвистических исследований, анализа данных, и бизнес-аналитики. Анализ текста включает в себя извлечение информации из текста, лексический анализ для определения частотных распределений слов, поиск и распознавание образов, разметку и аннотирование, анализ связей и ассоциаций, визуализацию, и прогнозную аналитику. В конечном итоге, задача анализа текста сводится к преобразованию исходного текста к некоторой структуре данных при помощи алгоритмов обработки естественных языков или некоторых аналитических методов.
Многие исследования утверждают (Grimes, Alta Plana Corporation; Anant Jhingran of IBM Research), что более 80% информации, критичной для принятия бизнес-решений хранится в неструктурированной форме, в основном, в виде текста. Таким образом, решение задачи анализа текста, возможно, в совокупности с анализом структурированных, реляционных или числовых данных, позволит выполнить подготовку к машинной обработке, извлечение представление фактов, бизнес-правил и бизнес-данных, которые, в противном случае, были бы практически недоступны для использования.
В рамках задачи анализа текста можно выделить следующие шаги и подзадачи:
- Создание корпуса текста, идентификация или извлечение информации, включает подготовку набора текстовых материалов, например, содержащихся в интернете или файловой системе, базе данных, или системе управления содержимым. Распознавание именных единиц, включает использование словарей, географических справочников или методов статистического анализа для определения и извлечения именных единиц, таких как имена людей, названий организаций, географических мест, аббревиатур. Зачастую необходимо дополнительно выполнять раскрытие и снятие неопределенностей, при которых одно и то же имя может относится к разных единицам. Распознавание шаблонных единиц, например телефонных номеров, адресов электронной почты, различной числовой информации. Распознавание кореферентности, выделение в тексте имен, имеющих один и тот же референт. Извлечение отношений, фактов, событий, включает определение ассоциаций между сущностями, которыми оперирует текст. Анализ тональности текста, производится с целью выявления в тексте эмоционально окрашенной лексики и эмоциональной оценки автора (авторов) по отношению к объектам, речь о которых идет в тексте.
Решение задачи анализа текста требует выполнения аннотирования текстового источника. Современная корпусная лингвистика оперирует в основном аннотированными корпусами (treebanks), представляющими собой тексты, в которых каждое предложение было подвергнуто синтаксическому разбору и каждый член предложения которого помечен соответствующим тегом. Синтаксическая структура обычно выражена в виде дерева, порожденного некоторой грамматикой. Синтаксических разбор может сопровождаться разметкой частей речи, либо расширяться путем добавления некоторой семантической или другой лингвистически-значимой информацией.
В процессе предварительной обработки текстового источника, документ преобразуется в поток кортежей вида <wi, di, ti, si>, где
wi – исходная форма слова, извлеченная их текста;
di – лемма слова wi;
ti – часть речи, к которой относится слово;
si – отметка, является ли данное слово контекстуально значимым.
Алгоритм, выполняющий подготовку текстового источника на английском языке, выполняет следующую последовательность шагов:
1. Нормализация (normalization). Любой документ корпуса представлен в виде текста, содержащего слова, записанные как прописными, так и строчными буквами алфавита. Это приводит к различию в машинном представлении одного и того же слова, что вынуждает машину рассматривать и обрабатывать такие последовательности символов как различные слова. Для решения это проблемы, исходный текст необходимо нормализовать, приведя все символы к одному регистру (обычно выбирается нижний регистр).
2. Токенизация (tokenization). Под токенизацией понимается процесс разбиения сообщения на разговорные смысловые единицы. В качестве таких единиц могут выступать отдельные слова, словосочетания, небольшие фрагменты предложения или текста. Данный алгоритм выполняет разбиения текста на отдельные слова, далее, при необходимости, кортежи могут объединяться в более крупные структуры, например, словосочетания и т. д. В результате токенизации из исходного текста выделяется компонент wi.
3. Определение частей речи (part-of-speech (POS) tagging). Определение частей речи – это процесс обработки текста, при котором каждому слову входного предложения назначается таг, определяющий его принадлежность к той или иной части речи (существительное, прилагательное, глагол, наречие и т. д.) Входом алгоритма являются последовательность слов предложения, взятого из документа корпуса и набор тегов (конечное множество, включающее описатели требуемых частей речи с желаемым уровнем детализации). На выходе алгоритма получаются пары вида (слово, таг), где таг выбирается наиболее подходящим образом. В результате процесса определения части речи алгоритм генерирует таг ti.
4. Выделение корневых лексем и определение канонических форм слов (stemming and lemmatization): Стемматизация – это процесс приведения некоторой формы слова (флективной или порожденной) к его основе, базовой или корневой форме. Основа слова необязательно совпадает с морфологическим корнем слова, обычно является достаточным, что родственные слова приводятся к одной и той же основе, даже если эта основа не является правильным морфологическим корнем. Наиболее известным алгоритмом является алгоритм Портера (the Porter's stemming algorithm). Этот алгоритм включает 5 стадий редукций, применяемых к входному слову последовательно. На каждой фазе используются специальные наборы правил редукции и некоторые эвристика для их применения к входному слову. Например, выбор правила из каждой группы правил, применяющихся к суффиксу наибольшей длинны. Стемминг не является полностью определенным процессом, обычно алгоритм стемматизации подбирается опытным путем в зависимости от входного корпуса. Известно, что алгоритм Портера хорош для индексации текстов для последующего поиска по альтернативным формам слов.
Лемматизация – процесс приведения словоформы к ее лемме (нормальной словарной форме). В результате этого процесса алгоритм генерирует лемму di.
5. Уменьшение размерности данных (dimensionality reduction). Основной идей уменьшения размерности является удаление контекстуально незначимых слов, встречающихся в документе, таких как «the», «that», «this», и т. д. Эти слова часто встречаются (обладают высокой частотностью) в любом документе и обычно не содержат никакой семантической нагрузки для последующих стадий анализа. Такие слова называются «stop words». Список таких слов не фиксирован, обычно он изменяется от текста к тексту. Более того, одно и то же слово может быть незначимым для одного корпуса, и значимым для другого. Для каждого слова алгоритм генерирует отметку si, определяющую относится ли данное слово к списку stop words.
Применение алгоритмаОписываемый алгоритм был реализован на языке программирования Python после чего был применен для лексико-семантического анализа. В качестве тестового корпуса был выбран корпус инаугурационных речей президентов Соединенных Штатов Америки (56 текстовых источников). В результате были получены следующие частотные диаграммы распределение встречаемости слов для 30 наиболее часто встречаемых слов.
На рисунке 1 представлена частотная диаграмма с учетом stop words, на рисунке 2 – без учета stop words.
Можно заметить, что из 30 самых встречаемых слов, 20 является stop words, что практически составляет 70%. Самыми наиболее часто встречаемыми (и семантически важными) словами в исследуемом корпусе являются слова: our (2058 употребления), we (1625 употреблений), I (832 употреблений), government (644 употребления), people (602 употрбления), nation (496 употреблений), my (491 употребление), state (438 употреблений), country (336 употреблений), power (331 употребление). Особое внимание привлекает превалирование местоимений our (2058) и we (1625) над my (491) и I (832). Также следует отметить широкое употребление модальных глаголов: will (854 употреблений), must (346 употреблений), may (334 употребления).
Частотность семантически значимых слов можно использовать для категоризации и кластеризации текстовых источников. Как видно из проведенного анализа выбранного корпуса, текстовые источники относятся к категории, во-первых, связанной с государственных управлением, правовыми вопросами, и во-вторых, выполнением программных обещаний и ответственности автора. На первое указывают такие слова как government, people, nation, state, country, а на второе — использование модальных глаголов типа will и must.
Недостатки алгоритма и направление дальнейшей работыК недостаткам алгоритма в текущей реализации описываемого алгоритма следует отнести:
1. Относительно невысокую точность определения частей речи (POS-tagging), которая составляет порядка 87%. Проверка осуществлялась на размеченном вручную корпусе Brown, в качестве обучающих данных были использованы 90% размеченных лексических единиц, после чего алгоритм был применен к оставшимся 10% корпуса, после чего было выполнено сравнение полученных результатов с проставленными вручную тэгами.
2. При определении частей речи и последующей лемматизации не учитывается роль вспомогательных глаголов. В текущей реализации вспомогательные глаголы правильно определяются, однако затем из влияние не учитывается, что приводит к потере грамматического времени и ошибкам лемматизатора.
3. Отсутствие в алгоритме шага снятия омонимии. Частично разрешение омонимии осуществляется на шаге определения частей речи, однако на шаге лемматизации не всегда выбирается правильное значение из словаря, к тому же выбор значения из словаря не фиксируется, что в последствии может привести к неточностям при семантическом анализе.
Соответственно, в процессе дальнейшей работы будут проанализированы пути преодоления описанных недостатков, что приведет к повышению качества алгоритма. Кортеж, моделирующий лексическую единицу, должен был расширен для учета грамматической информации, например, определения падежа для существительного, формы и залога, формы для глагола и т. д.
Кроме того, ведется работа в направлении адаптации построенного алгоритма к задачам семантического анализа. Для этого алгоритм должен помимо лексических единиц выделять в тексте синтаксические единицы, выполнять соотнесение лексических единиц синтаксическим, и моделировать лексические единицы с учетом их синтаксического окружения.
Это позволит, например, провести анализ изменения семантики слова и собрать примеры словоупотребления в рамках различных исторических периодов и/или выполнить идентификацию авторов текстов.
Ссылки
Henry Kucera, W. Nelson Francis, John B. Carroll, W. F. putational Analysis of Present Day American English. Brown University Press,1967 – 424pp. Henry Kucera, W. Nelson Francis. BROWN CORPUS MANUAL. Revised Edition, 1979. http://khnt. aksis. uib. no/icame/manuals/brown/ Statistical natural language processing and corpus-based computational linguistics: An annotated list of resources. http://www-nlp. stanford. edu/links/statnlp. htm Eric Brill. A Simple Rule-Based Part of Speech Tagger. Ph. D. thesis. University of Pennsylvania, 1993 Porter, M. F. (1980) An Algorithm for Suffix Stripping, Program, 14(3): 130–137 6. Seth Grimes. Unstructured Data and the 80 Percent Rule. http://www. /default. aspx? tabid=137&ModuleID=635&ArticleID=551 G. A. Miller, R. Beckwith, C. D. Fellbaum, D. Gross, K. Miller. 1990. WordNet: An online lexical database. Int. J. Lexicograph. 3, 4, pp. 235-244.старший преподаватель кафедры автоматизированных систем обработки информации и управления Мордовского государственного университета.
Область научных интересов обработка данных, компьютерная графика, компьютерный анализ и обработка тестов.
к. т.н, профессор, заведующий кафедрой автоматизированных систем обработки информации и управления Мордовского государственного университета.
Область научных интересов математическое моделирование, обработка данных.
.
Оригинал получен 13 апреля 2011.
– зав. кафедрой Автоматизированных систем обработки информации и управления Мордовского Государственного университета им. , к. т.н., профессор, (телефон: (8342)47-86-91; e-mail: *****@***mrsu. ru).
– старший преподаватель кафедры Автоматизированных систем обработки информации и управления Мордовского Государственного университета им. . (телефон: (8342)47-86-91; e-mail: edward. *****@***com).


