Заместитель Директора Департамента корпоративного управления Минэкономразвития России





НазваниеЗаместитель Директора Департамента корпоративного управления Минэкономразвития России
страница9/64
Дата публикации05.01.2015
Размер7.41 Mb.
ТипОтчет
100-bal.ru > Информатика > Отчет
1   ...   5   6   7   8   9   10   11   12   ...   64

5Прототип модуля лингвистического анализа полнотекстовых электронных ресурсов на русском языке для повышения уровня релевантности выполнения поисковых запросов


В настоящем разделе изложены принципы лингвистической интерпретации текста, выполняемой программными средствами согласно определенным формальным алгоритмам. Интерпретация текста предполагает обработку электронного текста, т.е. последовательное восхождение от знаков низшего уровня к знакам высшего уровня. Процесс лингвистической интерпретации предполагает несколько уровней обработки знаков: от символов к лексемам (словам), от лексем к предложениям, от предложений к тексту.

Документ ставит целью объяснить ключевые абстракции, структуры данных и алгоритмы, которые необходимы для успешного анализа знаков на разных уровнях. Предлагаемая технология является открытой и имеет работающую программную реализацию в виде свободно распространяемых модулей системы OOmnik (http://www.oomnik.org). Данная технология разрабатывалась с 2001 года в рамках научно-исследовательской работы Лаборатории информационных лингвистических технологий Института лингвистических исследований РАН (Санкт-Петербург).

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

.5.1Интерпретация знаков

.5.1.1Линейная последовательность знаков и их иерархия


Естественный способ речевой коммуникации между людьми предполагает обмен звуковыми или иными сигналами, которые имеют линейную последовательность, т.е. следуют один за другим во времени. В устной речи это единственно возможный способ коммуникации, поскольку речевые звуки (фонемы) мы производим по очереди, а не одновременно. Соответственно, человеческий язык устроен таким образом, чтобы упаковывать интересующую нас информацию в линейные последовательности, т.е. в слова, предложения, абзацы, главы, цельные речи. Это ключевая особенность нашей речевой коммуникации в отличие, скажем, от зрительного восприятия, когда мы одновременно можем наблюдать целую картину. Все тексты, которые производит на свет человек, записываются на носители последовательно, буква за буквой, слово за словом, предложение за предложением. Направление письма может быть разным --- слева направо (европейские языки), справо налево (например, арабский, иврит) или сверху вниз (китайский, японский) --- однако принцип последовательности всегда соблюдается.

Понятие знака предполагает закрепление за определенным объектом определенной семантической и синтаксической информации, позволяющей связывать знаки одного ранга между собой и образовывать знаки более высокого уровня. Нахождение связей между знаками становится возможным благодаря тому, что знаки помимо линейного расположения могут образовывать иерархические или древовидные структуры. Так, из определенных линейных сочетаний букв (письменных эквивалентов фонем) образуются форманты-морфемы, из морфем - словоформы, из словоформ - синтаксические узлы, из синтаксических узлов - предложения, из предложений - абзацы и т.д.

Текст представляет собой результат сложной упаковки в линейную последовательность знаков различных уровней. Задача автоматической интерпретации текста состоит в том, чтобы определить алгоритмы распаковки знаковых последовательностей и воссоздания иерархической знаковой структуры, которую в дальнейшем можно будет подвергнуть смысловому анализу.

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

.5.1.2Символы и числовые электронные коды


Электронный способ кодирования текста также состоит в последовательной записи числовых кодов, соответствующих определенным буквенным и иным символам, на информационный носитель (память компьютера, жесткий диск, съемные накопители типа CD/DVD/USB и др. Направление письма в данном способе хранения не имеет значения, поскольку вся информация сохраняется на цифровых носителях, а не на бумаге. Вывод на экран или бумагу осуществляется программными средствами и может быть каким угодно.

Мельчайшей единицей электронного текста является символ, которому в компьютере соответствует определенный числовой код. Анализ текста, хранящегося в электронном виде, начинается с анализа числовых кодов, нахождения соответствующих им символов и разбиения непрерывного символьного потока на составные последовательности символов (токены), которые можно интерпретировать как знаки более высокого уровня (морфемы, слова, числа, знаки пунктуации и т.д.).

Для корректной интерпретации цифрового содержимого текстового файла важно понимать разницу между числовыми кодами, символами и токенами. Числовой код --- это всего лишь число, кодируемое одним или несколькими байтами памяти в компьютере. Различают однобайтовые и многобайтовые кодировки исходя из того, сколько байтов памяти отводится на хранение отдельного символа в таблице. В однобайтовых кодировках присутствует всего лишь 256 кодов, которых не всегда хватает для записи языковых и иных символов.

Для решения проблем с кодированием большого числа символов были приняты стандарты Unicode (http://www.unicode.org), использующие в качестве единиц хранения символов 2 и более байтов памяти. Благодаря Unicode мы имеем возможность хранить в одном файле текстовое содержание, использующее самые разные системы письменности, включая иероглифические. Вместе с тем на сегодняшний день остаются еще достаточно распространенными и однобайтовые кодировки, что создает проблемы интерпретации унаследованных документов, поскольку приходится каждый раз определять кодировку документа. В разных системах кодировки известные нам символы (например, кириллические буквы) могут иметь разные соответствия числовым кодам. Многим приходилось сталкиваться с чтением так называемых , когда, например, получая почту или просматривая веб-страницу, вы видите на экране компьютера странные комбинации символов, не поддающиеся чтению. Это происходит из-за неправильного программного выбора кодировки экранного шрифта.

Аналогичная ситуация имеет место и с использованием символов, т.е. собственно графических знаков письменности, которой мы пользуемся. Символы могут использоваться для образования разных знаков, имеющих совершенно разные интерпретации. Так, символ "I" может использоваться для записи слов в различных языках, имеющих в качестве письменной системы латиницу (например, английское "I", т.е. "я"). Этот же символ может применяться в римской системе записи чисел, где он уже будет использован в качестве цифры и числа 1. Говоря о различном применении символов, мы вводим понятие токена, т.е. последовательности символов, которая может иметь ту или иную интерпретацию. Минимальный токен - это 1 символ. Для перехода на более высокий уровень анализа электронного текста мы должны разбить непрерывный символьный поток на токены.

Токен как последовательность символов

Токеном мы назовем любую последовательность символов, которая может быть истолкована как лексема. Лексема - это единица следующего уровня, способная участвовать в формировании синтаксических узлов.

Основываясь на этих особенностях интерпретации символьных последовательностей, мы можем спроектировать программный класс Токен. Базовой частью Токена будет контейнер символов, представляющий собой линейную последовательность символов (self.symbols). Эта последовательность может быть проинтерпретирована по-разному, т.е. распознана как объект других классов. Все возможные интерпретации данного Токена размещаются в особом контейнере интерпретаций, который ранжирует их по принадлежности к различным классам. Так, все интерпретации Токена как Лексемы естественного языка будут храниться в особом массиве, доступ к которому осуществляется по ключу 'Word'. Все интерпретации этого же Токена как знака другого класса будут храниться в отдельных массивах со своими ключами. Единая хеш-таблица self.types хранит соответствующие массивы других объектов: self.types['Word'] хранит Слова, self.types['Punctuation'] -- знаки препинания, self.types['Number'] -- числа и т.п. Главное условие помещения различных объектов внутрь Токена состоит в том, чтобы они соответствовали строго данной последовательности символов.

Процесс токенизации символьного потока или процесс разбиения символьного потока на объекты класса Токен осуществляется динамически. Заранее мы не знаем границ Токенов и не можем с уверенностью сказать, например, что такой границей является пробел. Пробел может ошибочно быть пропущен или добавлен, а может и использоваться в качестве разрядки, в целях эмфазы. Пробел также может являться полнозначным Токеном, когда он используется для отбивки красной строки, для табуляции строк программы и в других случаях.

Токен как программный объект создается в момент начала считывания символьного потока и получает на вход свой первый символ. Мы помним, что символ может входить в состав знаков различных классов, поэтому нам потребуется запросить различных программных экспертов, которые подтвердят или отвергнут принадлежность текущего символа к тому или иному классу. Все возникшие интерпретации символа должны быть сохранены в хеш-словаре self.types.

Каждый раз, когда на вход Токена подается очередной новый символ, Токен должен предъявить его всем имеющимся у него интерпретациям и решить, оставаться ли единым Токеном или быть разбитым на несколько. Основным условием сохранения текущего Токена является то, что все текущие интерпретации, имеющие одинаковый состав self.symbols, признают новый символ своим (легитимным).

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

Каждая трактовка получает на вход 1 символ. Если у трактовки это первый символ, то она начинает сразу же анализировать его возможную семантику. Делается запрос к словарю формантов. Если в словаре есть форманты, совпадающие с этим символом, то первый из них заносится в список формантов текущей трактовки, а для остальных создаются новые трактовки и в каждую заносится соответствующий формант. Помимо этого создается трактовка, в которой текущий символ присоединяется к строке нераспознанных символов, поскольку мы предполагаем, что нынешние трактовки могут быть ошибочными и более правильная трактовка будет возможна при дальнейшем увеличении числа символов.

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

Токен должен отслеживать текущее состояние своих трактовок. Когда какая-нибудь трактовка заявляет о том, что ее состояние представляет собой законченную легитимную словоформу, Токен должен создать новый экземпляр Токена, поскольку появилась легитимная граница между Токенами.

Когда поток символов заканчивается, Токен рассматривает имеющиеся трактовки. Например, речь может идти о незаконченной словоформе (обрыв текста), и в таком случае необходимо выдать хотя бы текущие гипотезы интерпретации.

.5.2Словообразованиеи словоизменение как динамическая система


Сколько всего слов в языке?

Обращаясь к словарю, мы рассчитываем найти то слово, которое мы ищем. Однако это вовсе не означает, что словари способно полностью охватить весь лексический фонд нашего языка. Многие слова остаются за пределами описания в словарях именно по той причине, что их количество необозримо. Взять к примеру названия медицинских препаратов, которых изо дня в день становится все больше. Имена собственные, неологизмы, окказионализмы, жаргон, уменьшительно-ласкательные названия, производные от аббревиатур, иностранные заимствования -- вся эта лексика в огромных количествах порождается каждый день. Язык --- это открытая система, поэтому и анализировать его факты необходимо при помощи динамических инструментов, а не статических словарей.

Экспертный модуль OOWord

В приложении приводится исходный текст прототипа динамического анализатора русской морфологии (включая словообразование) на языке Python.

.5.3Синтаксический анализ русских предложений


В предлагаемой нами формальной модели синтаксиса предложение рассматривается как самостоятельный объект, имеющий собственную внутреннюю организацию и представляющий собой минимальную единицу текста. При этом мы придерживаемся широкой трактовки предложения и относим к классу предложений все те языковые структуры, целью которых является формирование высказывания о чем-либо. Высказывание всегда делается о каком-то объекте (даже если он не упомянут явно), поэтому для последующего семантического анализа принципиально важно установить, о каком объекте идет речь. Таким образом, мы считаем целесообразным считать все предложения двусоставными, т.е. имеющими подлежащее и сказуемое (хотя бы и неявные).

Отдельно следует рассматривать высказывания, равные по своему значению предложению, но не имеющие синтаксической структуры. Речь идет прежде всего о междометиях, словах утвердительного/отрицательного высказываний и др. Для их семантической трактовки необходимо вначале привести их к синтаксическому виду. В русском языке на письме принято оформлять границы предложения особыми графическими способами: первая буква первого слова предложения пишется в виде прописной, а не строчной буквы, а в конце предложения ставится один из финальных пунктуационных знаков: точка, многоточие, вопросительный знак, восклицательный знак. Этот способ оформления касается лишь тех предложений, которые составляют абзац, в то время как предложения заглавий, названий оформляются иначе. Заметим кстати, что сами по себе знаки пунктуации, равно как и прописные буквы могут выполнять и другие функции, поэтому их можно считать многозначными, и именно поэтому интерпретация отдельности предложения должна опираться на собственно языковые признаки, а не на внешнее оформление.

Принципиальной особенностью предложения естественного языка с точки зрения его структуры является то, что отдельные элементы предложения могут не присутствовать в явном виде, но подразумеваться. На поверхностном лексико-грамматическом уровне могут присутствовать лишь отдельные актуальные элементы предложения, однако это не мешает воспринимать нам предложение как нечто цельное, учитывая пропущенные (эллиптические) элементы.

.5.3.1Слова или синтаксические узлы?


При автоматической интерпретации текстового потока (впрочем, как и при устном восприятии речи человеком) границы предложения заранее не известны: программа получает на вход последовательность словоформ, из которых собирается новое предложение, т.е. происходит динамическое построение предложения. Соответственно, программе должны быть заранее известны критерии распознавания предложения как цельного объекта и условия встраивания отдельных словоформ в общую конструкцию этого объекта.

Согласно традиционному представлению о членах предложения единицами синтаксиса являются слова. Например, в предложении Железная дорога построена в срок лишь слово дорога будет считаться подлежащим. Аналогичный подход предлагает грамматика зависимостей (Мельчук). Наибольшую трудность для этих грамматик представляют так называемые однородные члены предложения, которые в предложении выступают как единая группа. Например: Маша и Петя идут в школу. Множественное число глагольной формы обусловлено именно объединением в одну группу двух лиц.

В американской лингвистической традиции преобладает подход к синтаксису как к грамматике составляющих (Хомский), в которых вводится понятие синтаксических групп, но последние часто оказываются ориентированными не на признаки согласования/подчинения граммем, а на линейный порядок слов в предложении. Однако в последнее время были предложены гибридные грамматики, совмещающие идеи грамматики составляющих и грамматики зависимостей.

Для решения этих проблем мы предлагаем ввести понятие синтаксического узла, как определенной абстрактной единицы синтаксиса, в отличие от словоформы, как материальной единицы поверхностной манифестации предложения. Синтаксический узел является достаточно сложным информационным объектом (SyNode). Каждый синтаксический узел:

  1. принадлежит к определенному классу;

  2. имеет уникальный идентификатор;

  3. имеет ЯДРО, которое заполняется массивом других узлов или терминальных словоформ;

  4. массив ЯДРА может включать однородные узлы, которые объединяются коннекторами (союзами и, или, а, но и др.)

  5. имеет хозяина – другой узел (только одного)

  6. может содержать подчиненные узлы (модификаторы);

  7. имеет граммемы или грамматические признаки (род, число, падеж, лицо, время и др.)

  8. знает правила согласования граммем;

  9. может быть терминальным узлом, т.е. в качестве ЯДРА содержать словоформу, а не узел

  10. может содержать связующие элементы (relation markers: подчинительные союзы, относительные местоимения и др.);

  11. может содержать вводные конструкции (вводные узлы, не входящие в основное дерево предложения)

  12. содержит информацию о линейном расположении узла (порядок слов)

.5.3.2Синтаксическое дерево


Высшим синтаксическим узлом (или вершиной) является объект класса ПРЕДЛОЖЕНИЕ.

SyNode ПРЕДЛОЖЕНИЕ:

Ядро состоит из множества ПРОСТЫХ ПРЕДЛОЖЕНИЙ (сочинительная связь в традиционном синтаксисе). Ядру может подчиняться множество ПРОСТЫХ ПРЕДЛОЖЕНИЙ (подчинительная связь в традиционном синтаксисе). SyNode: ПРОСТОЕ ПРЕДЛОЖЕНИЕ Ядро состоит из множества ПОДЛЕЖАЩИХ. Ядру обязательно подчиняется СКАЗУЕМОЕ. SyNode: ПОДЛЕЖАЩЕЕ Ядро состоит из множества ИМЕННЫХ ГРУПП. Ядру подчиняется ОПРЕДЕЛЕНИЕ. SyNode: СКАЗУЕМОЕ Ядро состоит из множества ГЛАГОЛЬНЫХ ГРУПП. Ядру подчиняются ОБСТОЯТЕЛЬСТВА (разных типов), ДОПОЛНЕНИЕ.

.5.4Этапы автоматической синтаксической интерпретации


1. Формирование комбинаторных вариантов На вход синтаксического интерпретатора по очереди подаются массивы словоформ – каждая цепочка символов во входном потоке преобразуется морфоанализатором в массив морфологических вариантов. Прочитав некоторое количество этих массивов (например, 5) синтаксический интерпретатор строит комбинаторные варианты. Например, для последовательности Глокая куздра штеко бодланула бокра будет построен следующий ряд комбинаторных вариантов.

COMBINATION 0: 1.1.1.1.1 NumOfElems: 5

глокий adj f sg nom

куздра noun f sg nom

штеко adv

бодлануть verb fin act pf past any f

бокр noun m sg gen
COMBINATION 1: 2.1.1.1.1 NumOfElems: 5

глокать verb gerund act impf pres any any

куздра noun f sg nom

штеко adv

бодлануть verb fin act pf past any f

бокр noun m sg gen
COMBINATION 2: 1.2.1.1.1 NumOfElems: 5

глокий adj f sg nom

куздр noun m sg gen

штеко adv

бодлануть verb fin act pf past any f

бокр noun m sg gen
COMBINATION 3: 2.2.1.1.1 NumOfElems: 5

глокать verb gerund act impf pres any any

куздр noun m sg gen

штеко adv

бодлануть verb fin act pf past any f

бокр noun m sg gen

......

2.Формирование в каждом комбинаторном варианте множества синтаксических узлов Для каждого комбинаторного варианта словоформ будет осуществлено приведение словоформ к синтаксическим узлам, т.е. нахождение тех узлов, чьим ядром могут быть данные словоформы. Это делается при помощи обращения к базе описаний синтаксических узлов. Поскольку одна и та же словоформа может составлять ядро различных синтаксических узлов, то здесь также будет построен ряд комбинаторных вариантов.

3.Восхождение по дереву синтаксических узлов После того как словоформа помещается в качестве ядра в тот или иной синтаксический узел, осуществляется поиск вышестоящего узла, в который текущий узел в свою очередь помещается в качестве ядра. Таким образом, интепретатор старается найти максимально высокое положение вложенных узлов во всем дереве предложения. Например, словоформа существительного в именительном падеже вначале будет помещана в качестве ядра в именную группу (терминальную), а затем либо в группу подлежащего, потом простого предложения, потом предложения; либо в группу составного именного сказуемого, потом сказуемого; либо в группу сравнения.

4.Поиск однородных узлов Следующим шагом является поиск однородных узлов, когда интерпретатор обращается к ранее опознанным узлам и старается выяснить, не нужно ли включить данный узел в состав другого. Здесь используются правила согласования однородных узлов (частеречная принадлежность. граммемы, линейное расположение и др.).

5.Поиск слуг Узел старается найти подчиненные ему узлы среди тех, которые уже были опознаны.

6.Поиск хозяина Узел старается найти своего хозяина, обращаясь к ранее опознанным узлам и следуя правилам согласования граммем. Если это происходит, то узел размещается в качестве модификатора внутри узла-хозяина.

6.Успешная интепретация Успешной будет считаться такая интепретация, при которой все словоформы, поступившие на вход, будут включены в терминальные узлы, а те в свою очередь образуют связное дерево, согласованное по всем правилам, вершиной которого является узел ПРЕДЛОЖЕНИЕ.

Пример семантической автоматической интерпретации текста на русском языке приведен в приложении.

1   ...   5   6   7   8   9   10   11   12   ...   64

Похожие:

Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconЗаместитель Директора Департамента корпоративного управления Минэкономразвития России
Директор Всероссийского института научной и технической информации Российской академии наук
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconОбязанности совета директоров и роль заинтересованных лиц в области корпоративного управления
Четвертое заседание круглого стола по вопросам корпоративного управления в России
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconПротокол заседания Управляющего Совета
Приглашенные: Колосова В. С., заместитель директора по увр; Коробец В. А., заместитель директора по вр; Шлык А. А., заместитель директора...
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconСамосудов М. В., к э. н., вице-президент Института корпоративного...
На карточках написаны названия рыб, нужно за 1 минуту отобрать, карточки с названиями морских рыб, за правильный ответ 1 балл, неправильный...
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconДоклад о результатах деятельности муниципального учреждения средней...
А. В. Тунцев, директор му сош №68; Е. В. Антонова, заместитель директора по увр; Е. А. Шерудилло, заместитель директора по увр; Л....
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconДементьева А. Г., зам декана факультета Международного бизнеса и...
Практика показывает, что наличие в компании эффективной системы корпоративного управления зачастую становится основной для привлечения...
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconПрограмма внеклассного кружка «Проектная работа в педагогике»
Руководитель шмо заместитель директора по мнр заместитель директора по ур директор
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconЗаместитель директора департамента образования мэрии
Методический совет «Нормативно-правовое обеспечение деятельности орц в 2012 году»
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconПрограмма по формированию навыков безопасного поведения на дорогах...
Ответственные: заместитель директора по увр: Михайлова Л. А. заместитель директора по увр
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconДроздов Б. В. д т. н., заместитель директора нии информационных технологий...
Заместитель Председателя Правительства Московской области – министр транспорта Правительства Московской области – П. Д. Кацыв
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconОтчет по работе экологической площадки Гурылева Наталья Владимировна,...
...
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconЗакон РФ от 10. 07. 1992 n 3266-1 «Об образовании»
М. О. Антонова, к п н., заместитель директора Департамента образования и науки Костромской области, начальник отдела обеспечения...
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconРекомендации по организации учебного процесса и подготовке локальных...
Кудрявцев Л. В. — заместитель начальника Департамента кадрового обес­печения мвд россии, кандидат юридических наук
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconПрограмма по формированию навыков безопасного поведения на дорогах...
Милославского района, Рязанской области в составе: Свиридова Н. А. – директор моу «Центральная средняя общеобразовательная школа»,...
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconДоклад директора Департамента государственной политики в сфере воспитания,...
Доклад директора Департамента государственной политики в сфере воспитания, дополнительного образования и социальной защиты детей...
Заместитель Директора Департамента корпоративного управления Минэкономразвития России iconПротокол №14 заседания Комиссии по землепользованию и застройке города Томска
Коренев В. И. заместитель начальника Департамента строительства и архитектуры Администрации г. Томска — заместитель председателя...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск