> REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < 1 Анализ и обработка текста Федосин С.А., Александров Э.Э., Мордовский ГУ Abstract—В статье рассматриваются вопросы автоматического анализа текстовых корпусов и предлагается алгоритм препроцессирования текстового источника и подготовки его для дальнейшей обработки. Указываются достоинства и недостатки предложенного алгоритма, приводятся примеры его применения. Index Terms—корпус, текстовый источник, лемматизация, частотный анализ I. ЗАДАЧА АНАЛИЗА ТЕКСТА Т анализ текста обозначает совокупность лингвистических, статистических методов, а также методов машинного обучения, при помощи которых моделируется и структурируется информационное содержимое разнообразных текстовых источников для задач лингвистических исследований, анализа данных, и бизнес-аналитики. Анализ текста включает в себя извлечение информации из текста, лексический анализ для определения частотных распределений слов, поиск и распознавание образов, разметку и аннотирование, анализ связей и ассоциаций, визуализацию, и прогнозную аналитику. В конечном итоге, задача анализа текста сводится к преобразованию исходного текста к некоторой структуре данных при помощи алгоритмов обработки естественных языков или некоторых аналитических методов. Многие исследования утверждают (Grimes, Alta Plana Corporation; Anant Jhingran of IBM Research), что более 80% информации, критичной для принятия бизнесрешений хранится в неструктурированной форме, в основном, в виде текста. Таким образом, решение задачи анализа текста, возможно, в совокупности с анализом структурированных, реляционных или числовых данных, позволит выполнить подготовку к машинной обработке, извлечение представление фактов, бизнес-правил и бизнес-данных, которые, в противном случае, были бы практически недоступны для использования. В рамках задачи анализа текста можно выделить ЕРМИНОМ Оригинал получен 13 апреля 2011. С.А. Федосин – зав. кафедрой Автоматизированных систем обработки информации и управления Мордовского Государственного университета им. Н.П. Огарева, к.т.н., профессор, (телефон: (8342)47-86-91; e-mail: fedosinsa@freemail.mrsu.ru). Э.Э. Александров – старший преподаватель кафедры Автоматизированных систем обработки информации и управления Мордовского Государственного университета им. Н.П. Огарева. (телефон: (8342)47-86-91; e-mail: edward.alx@gmail.com). следующие шаги и подзадачи: Создание корпуса текста, идентификация или извлечение информации, включает подготовку набора текстовых материалов, например, содержащихся в интернете или файловой системе, базе данных, или системе управления содержимым. Распознавание именных единиц, включает использование словарей, географических справочников или методов статистического анализа для определения и извлечения именных единиц, таких как имена людей, названий организаций, географических мест, аббревиатур. Зачастую необходимо дополнительно выполнять раскрытие и снятие неопределенностей, при которых одно и то же имя может относится к разных единицам. Распознавание шаблонных единиц, например телефонных номеров, адресов электронной почты, различной числовой информации. Распознавание кореферентности, выделение в тексте имен, имеющих один и тот же референт. Извлечение отношений, фактов, событий, включает определение ассоциаций между сущностями, которыми оперирует текст. Анализ тональности текста, производится с целью выявления в тексте эмоционально окрашенной лексики и эмоциональной оценки автора (авторов) по отношению к объектам, речь о которых идет в тексте. II. ПРЕДВАРИТЕЛЬНАЯ ОБРАБОТКА ТЕКСТОВОГО ИСТОЧНИКА Решение задачи анализа текста требует выполнения аннотирования текстового источника. Современная корпусная лингвистика оперирует в основном аннотированными корпусами (treebanks), представляющими собой тексты, в которых каждое предложение было подвергнуто синтаксическому разбору и каждый член предложения которого помечен соответствующим тегом. Синтаксическая структура обычно выражена в виде дерева, порожденного некоторой грамматикой. Синтаксических разбор может сопровождаться разметкой частей речи, либо расширяться путем добавления некоторой семантической или другой лингвистически-значимой информацией. В процессе предварительной обработки текстового источника, документ преобразуется в поток кортежей вида <wi, di, ti, si>, где wi – исходная форма слова, извлеченная их текста; di – лемма слова wi; ti – часть речи, к которой относится слово; si – отметка, является ли данное слово контекстуально > REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < значимым. Алгоритм, выполняющий подготовку текстового источника на английском языке, выполняет следующую последовательность шагов: 1. Нормализация (normalization). Любой документ корпуса представлен в виде текста, содержащего слова, записанные как прописными, так и строчными буквами алфавита. Это приводит к различию в машинном представлении одного и того же слова, что вынуждает машину рассматривать и обрабатывать такие последовательности символов как различные слова. Для решения это проблемы, исходный текст необходимо нормализовать, приведя все символы к одному регистру (обычно выбирается нижний регистр). 2. Токенизация (tokenization). Под токенизацией понимается процесс разбиения сообщения на разговорные смысловые единицы. В качестве таких единиц могут выступать отдельные слова, словосочетания, небольшие фрагменты предложения или текста. Данный алгоритм выполняет разбиения текста на отдельные слова, далее, при необходимости, кортежи могут объединяться в более крупные структуры, например, словосочетания и т.д. В результате токенизации из исходного текста выделяется компонент wi. 3. Определение частей речи (part-of-speech (POS) tagging). Определение частей речи – это процесс обработки текста, при котором каждому слову входного предложения назначается таг, определяющий его принадлежность к той или иной части речи (существительное, прилагательное, глагол, наречие и т.д.) Входом алгоритма являются последовательность слов предложения, взятого из документа корпуса и набор тегов (конечное множество, включающее описатели требуемых частей речи с желаемым уровнем детализации). На выходе алгоритма получаются пары вида (слово, таг), где таг выбирается наиболее подходящим образом. В результате 2 процесса определения части речи алгоритм генерирует таг ti. 4. Выделение корневых лексем и определение канонических форм слов (stemming and lemmatization): Стемматизация – это процесс приведения некоторой формы слова (флективной или порожденной) к его основе, базовой или корневой форме. Основа слова необязательно совпадает с морфологическим корнем слова, обычно является достаточным, что родственные слова приводятся к одной и той же основе, даже если эта основа не является правильным морфологическим корнем. Наиболее известным алгоритмом является алгоритм Портера (the Porter's stemming algorithm). Этот алгоритм включает 5 стадий редукций, применяемых к входному слову последовательно. На каждой фазе используются специальные наборы правил редукции и некоторые эвристика для их применения к входному слову. Например, выбор правила из каждой группы правил, применяющихся к суффиксу наибольшей длинны. Стемминг не является полностью определенным процессом, обычно алгоритм стемматизации подбирается опытным путем в зависимости от входного корпуса. Известно, что алгоритм Портера хорош для индексации текстов для последующего поиска по альтернативным формам слов. Лемматизация – процесс приведения словоформы к ее лемме (нормальной словарной форме). В результате этого процесса алгоритм генерирует лемму di. 5. Уменьшение размерности данных (dimensionality reduction). Основной идей уменьшения размерности является удаление контекстуально незначимых слов, встречающихся в документе, таких как «the», «that», «this», и т.д. Эти слова часто встречаются (обладают высокой частотностью) в любом документе и обычно не содержат никакой семантической нагрузки для последующих стадий анализа. Такие слова называются 10000 9000 8000 7000 6000 5000 4000 3000 2000 1000 Рисунок 1. Диаграмма распределения частот встречаемости слов в корпусе инаугурационных речей президентов США с учетом stop words on or from people has but their government are all this i not w ill w ith have w hich by for we that it our in be a to and of the 0 > REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < 3 10000 9000 8000 7000 6000 5000 4000 3000 2000 1000 every if citizen more shall those them should w orld pow er great may must country w ho state no can my nation people government all i we not have we our be 0 Рисунок 2. Диаграмма распределения частот встречаемости слов в корпусе инаугурационных речей президентов США без stop words «stop words». Список таких слов не фиксирован, обычно он изменяется от текста к тексту. Более того, одно и то же слово может быть незначимым для одного корпуса, и значимым для другого. Для каждого слова алгоритм генерирует отметку si, определяющую относится ли данное слово к списку stop words. анализа выбранного корпуса, текстовые источники относятся к категории, во-первых, связанной с государственных управлением, правовыми вопросами, и во-вторых, выполнением программных обещаний и ответственности автора. На первое указывают такие слова как government, people, nation, state, country, а на второе — использование модальных глаголов типа will и must. III. ПРИМЕНЕНИЕ АЛГОРИТМА Описываемый алгоритм был реализован на языке программирования 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 употребления). Частотность семантически значимых слов можно использовать для категоризации и кластеризации текстовых источников. Как видно из проведенного IV. НЕДОСТАТКИ АЛГОРИТМА И НАПРАВЛЕНИЕ ДАЛЬНЕЙШЕЙ РАБОТЫ К недостаткам алгоритма в текущей реализации описываемого алгоритма следует отнести: 1. Относительно невысокую точность определения частей речи (POS-tagging), которая составляет порядка 87%. Проверка осуществлялась на размеченном вручную корпусе Brown, в качестве обучающих данных были использованы 90% размеченных лексических единиц, после чего алгоритм был применен к оставшимся 10% корпуса, после чего было выполнено сравнение полученных результатов с проставленными вручную тэгами. 2. При определении частей речи и последующей лемматизации не учитывается роль вспомогательных глаголов. В текущей реализации вспомогательные глаголы правильно определяются, однако затем из влияние не учитывается, что приводит к потере грамматического времени и ошибкам лемматизатора. 3. Отсутствие в алгоритме шага снятия омонимии. Частично разрешение омонимии осуществляется на шаге определения частей речи, однако на шаге лемматизации не всегда выбирается правильное значение из словаря, к тому же выбор значения из словаря не фиксируется, что в последствии может привести к неточностям при семантическом анализе. Соответственно, в процессе дальнейшей работы будут проанализированы пути преодоления описанных > REPLACE THIS LINE WITH YOUR PAPER IDENTIFICATION NUMBER (DOUBLE-CLICK HERE TO EDIT) < недостатков, что приведет к повышению качества алгоритма. Кортеж, моделирующий лексическую единицу, должен был расширен для учета грамматической информации, например, определения падежа для существительного, формы и залога, формы для глагола и т.д. Кроме того, ведется работа в направлении адаптации построенного алгоритма к задачам семантического анализа. Для этого алгоритм должен помимо лексических единиц выделять в тексте синтаксические единицы, выполнять соотнесение лексических единиц синтаксическим, и моделировать лексические единицы с учетом их синтаксического окружения. Это позволит, например, провести анализ изменения семантики слова и собрать примеры словоупотребления в рамках различных исторических периодов и/или выполнить идентификацию авторов текстов. ССЫЛКИ [1] [2] [3] [4] [5] [6] [7] Henry Kucera, W. Nelson Francis, John B. Carroll, W. F. Twaddell. Computational 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://wwwnlp.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.clarabridge.com/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. 235244. Александров Эдуард Эмильевич старший преподаватель кафедры автоматизированных систем обработки информации и управления Мордовского государственного университета. Область научных интересов обработка данных, компьютерная графика, компьютерный анализ и обработка тестов. Федосин Сергей Алексеевич к.т.н, профессор, заведующий кафедрой автоматизированных систем обработки информации и управления Мордовского государственного университета. Область научных интересов математическое моделирование, обработка данных. . 4