7. Provost J. Naive-Bayes vs. rule-learning in classification of Email // Technical Report AI-TR-99-284. Austin: The University of Texas, Department of Computer Sciences, 1999. P. 1-4.
8. Sebastiani F. Machine learning in automated text categorization // ACM Computing Surveys. 1. N. Y.: ACM Press, 2002. P. 1-47.
9. Yang Y., Liu X. A re-examination of text categorization methods // Proc. of Intern. ACM Conf. on Research and Development in Information Retrieval (SIGIR-99). N. Y.: ACM Press, 1999. P. 42-49.
10. Joachims T. Making large-scale SVM learning practical // Advances in kernel methods: support vector learning. Cambridge: MIT-Press, 1999. P. 169-184.
11. Chakrabarti S. Mining the Web discovering knowledge from hypertext data. San Francisco: Morgan Kaufmann Publishers, 2004.
12. Fisher R. The use of multiple measurements in taxonomic problems // Annals of Eugenics. 7. L.: Galton Laboratory, 1936. P. 179-188.
13. Quinlan R. C4.5: Programs for machine learning. San Francisco: Morgan Kaufmann Publishers, 1993.
14. Liao C., Alpha S., Dixon P. Feature preparation in text categorization // Proc. of Australian Data Mining Workshop. Sydney: University of Technology, 2003. P. 23-34.
15. Hersh W., Buckley C., Leone Т., Hie к am D. OHSUMED: An interactive retrieval evaluation and new large test collection for research // Proc. of the 17th Annual International ACM SIGIR Conf. on Research and Development in Information Retrieval. N. Y.: Springer-Verlag, 1994. P. 192-201.
16. http://www.daviddlewis.com/resources/testcollections/reuters21578/readme.txt
17. Nigam K., McCallum A., Thrun S., Mitchell T. Learning to classify text from labeled and unlabeled documents // Proc. of the 15th National Conf. on Artificial Intelligence. Menlo Park: AAAI Press, 1998. P. 729-799.
18. Joachims. A probabilistic analysis of the Rocchio algorithm with TFIDF for text categorization // Proc. of Int. Conf. on Machine Learning (ICML). San Francisco: Morgan Kaufmann Publishers, 1997. P. 143-151.
19. Труды 4-го Российского семинара РОМИП'2006. СПб.: НУ ЦСИ, 2006.
Поступила в редакцию 16.11.06
УДК 519.6
М. Г. Мальковский, П. П. Жалыбин
СРЕДСТВА ФОРМАЛЬНОГО ОПИСАНИЯ ЕСТЕСТВЕННОГО ЯЗЫКА В ИНСТРУМЕНТАЛЬНОЙ СРЕДЕ ОБРАБОТКИ ЯПОНСКИХ ТЕКСТОВ
(кафедра алгоритмических языков факультета ВМиК, e-mail: [email protected])
Введение. Инструментальная среда "NIHONGO" [1] ориентирована на работу с японоязычным лингвистическим материалом. Система предоставляет пользователю инструменты для редактирования и лингвистического анализа японского текста, а также позволяет получать различную справочную информацию о японском языке. Система может также выполнять функции автоматизированного рабочего места лингвиста-япониста. В этом случае конечным пользователем системы будет исследователь японского языка, сталкивающийся с проблемой лингвистической обработки японского текста, которому требуется понятное формальное средство для описания различных лингвистических феноменов. Работа над созданием среды "NIHONGO" ведется на факультете ВМиК МГУ в сотрудничестве с Институтом востоковедения РАН.
В свое время в Институте востоковедения РАН ведущим специалистом в области компьютерной обработки японского языка З.М. Шаляпиной был предложен так называемый сущностный подход к языку [2]. В рамках этого подхода единицы языка рассматриваются как сущности, являющиеся совокупностью присущих им свойств. Свойством сущности может быть любая значимая информация о
ней, например графическое написание, сведения о сочетаемости, семантическая классификация и т.д. Эти свойства (или атрибуты) могут принадлежать непосредственно самой сущности или могут наследоваться ею от более общих, базовых сущностей. Применение сущностного подхода к описанию естественного языка позволяет взглянуть на него как на иерархическую структуру сущностей: от отдельных морфем до частей речи и семантических классов. Другими словами, используя этот подход, можно описать естественный язык в рамках объектно-ориентированной парадигмы. Сущностный подход уже использовался как теоретическая база для формального описания японского языка З.М. Шаляпиной при создании комплекса японско-русского перевода ЯРАП [3]. В данной статье авторы предлагают для организации лингвистического обеспечения системы "NIHONGO" специальный продукционный объектно-ориентированный язык LEELA, единый для описания всей информации о естественном языке, будь то грамматика, словарь лексем или семантический словарь — тезаурус. Также на этом языке описаны алгоритмы лингвистического анализа — морфологического, синтаксического и семантического.
Инструменты работы с японским текстом. Система поддерживает большинство из используемых кодировок японских символов (Unicode, JIS и др.). Пользователь системы может работать с японскими документами в обычном текстовом формате в любой поддерживаемой кодировке, а также с файлами в формате RTF.
Разрабатываемая система предоставляет пользователю целый ряд удобных способов ввода японского иероглифического текста. Вводимая латинская или русская транскрипция японских слов автоматически преобразуется встроенными в систему средствами в японскую слоговую азбуку и далее в иероглифы. Для преобразования транскрипции в японскую запись используется компонент статистического аннотирования, причем достоверное сопоставление аннотации (в данном случае японских символов) транскрипционному тексту основано на применении алгоритма Витерби [4] для отыскания оптимального решения скрытой марковской модели.
Система помогает пользователю быстро найти нужный ему иероглифический знак. Кроме широко распространенных классических способов поиска иероглифа по ключу, количеству черт, чтению в системе "NIHONGO" также реализована возможность отыскания незнакомого иероглифа по составляющим его элементам. В статьи иерархического словаря графематических сущностей, который входит в лингвистическое обеспечение системы, включены сведения о простых элементах, составляющих каждый иероглиф. Пользователю, задавшему набор подобных элементов, система предлагает ряд иероглифов, в состав которых входят указанные части. Таким образом, иероглифический ввод незнакомых иероглифов существенно упрощается.
Инструменты лингвистического анализа. Японоязычный текст представляет собой непрерывную последовательность символов японской графики, разделяемых лишь знаками препинания. Поэтому важным инструментом лингвистического анализа японского текста, предоставляемым системой "NIHONGO", является подсистема автоматической сегментации, т.е. выделения отдельных графико-морфологических составляющих. Процесс сегментации в системе совмещен с морфологическим анализом. В состав системы включен словообразовательный компонент, поэтому она приспособлена к работе с неопознанными словами, которые образованы путем сложения основ, конверсией частей речи, с помощью аффиксов и т.д. При наличии неоднозначности в процессе сегментации системой предлагается список вариантов разбиения сомнительного участка текста, отсортированный начиная с самого вероятного. Пользователь может выбрать правильный, на его взгляд, вариант сегментации или задать свой собственный вариант. При обнаружении неизвестных слов пользователь может пополнить словарь, используя предлагаемые системой варианты.
Пользователю предоставлена возможность вносить изменения и дополнения в лингвистическое обеспечение системы. Можно написать код на языке LEELA, используя для этих целей интегрированную среду разработки, входящую в инструментальную систему. С помощью специального графического интерфейса пользователь может работать на более содержательном уровне и самостоятельно описывать лингвистические сущности и процессы их преобразования. При этом программа на языке LEELA создается автоматически. Иерархическая структура сущностей отображается в виде графа. Пользователь может выбрать нужную ему сущность, определить ее наследников или сущности, наследницей свойств которых эта сущность является.
После сегментации текста на отдельные графико-морфологические элементы система аннотирует интервалы текста (слова), ставя в соответствие каждому из них определенную сущность. Этой
сущностью может быть отдельная морфема или набор морфем-омографов. В случае если система встретила в тексте незнакомое слово, то это слово аннотируется сущностью с более общими свойствами. Пользователь может скорректировать предложенный системой вариант сопоставления отрезков текста сущностям. При этом системой ведется статистика таких сопоставлений для обеспечения более корректной работы в будущем.
Далее текст рассматривается системой уже как последовательность сущностей, всей совокупности их свойств. Синтаксический анализ понимается как процесс заполнения актантных (подлежащее, дополнение) и сирконстантных (обстоятельства) валентностей [5] и выделения сочинительных групп. Причем сущность может реализовывать свою собственную валентность, а может наследовать ее от другой сущности, синтаксически связанной с ней. При описании валентности, характерной для некоторой сущности, указывается список сущностей, которыми эта валентность может заполняться. На заполнение валентности могут накладываться различные ограничения: семантические, синтаксические, лексические и др.
Синтаксическая структура предложения отображается системой в виде графа. Вершинами этого графа являются сущности, а дугами — заполняемые синтаксические валентности. Система в состоянии автоматически заполнить некоторые валентности, однако пользователь всегда может исправить предложенный системой вариант. При появлении противоречий между предложенным пользователем вариантом заполнения валентности и описанными в синтаксическом словаре ограничениями на ее заполнение система может предложить пользователю снять это противоречие, исправив ошибку или изменив множество сущностей — допустимых заполнителей валентности. Это позволяет выявить встречающиеся чаще других синтаксические конструкции и тем самым повысить эффективность синтаксического анализа.
Семантический анализ представляет собой выделение из текста смысловых связей, классов и групп. Первым этапом анализа является выделение именованных групп. Примерами именованных групп являются такие объекты, как дата, географическое название, имя лица или наименование организации. В результате одна или несколько сущностей объединяются в группы, которые в дальнейшем могут быть вершинами семантических графов. Следующим этапом анализа является процесс выявления семантических классов. К семантическому классу относится группа понятий, связанных с одной предметной областью и являющихся одной и той же частью речи. Например, семантический класс глаголов, связанных с производственной деятельностью человека. В системе используется записанная на формальном языке LEELA иерархия семантических классов, основанная на японском тезаурусе [6].
Далее семантический анализатор расставляет связи кореферентности (описание разными словами одного и того же объекта действительности), а также другие семантические связи, соответствующие смысловым предикатам, которые отражают особенности выбранной предметной области. Примерами таких связей могут быть отношения: "работает в ...", "находится в ...".
Формальный язык описания лингвистической информации. Для описания процедур анализа и хранения лингвистической информации используется специальный объектно-ориентированный язык — LEELA. Этот язык имеет списковую структуру, подобно языку Лисп. Программа на языке LEELA состоит из базы знаний, описывающей иерархию сущностей, и продукционных правил лингвистического анализа. Базовым понятием языка является сущность, которая понимается как множество пар "атрибут-значение", отражающее свойства сущности, причем значением атрибута является или элементарное значение (текст или число), или другая сущность. Язык поддерживает немонотонное множественное наследование: атрибуты сущностей-наследников могут изменять значения атрибутов родительской сущности, причем сущность может получать атрибуты наследованием нескольких родительских сущностей. Для продукционных правил вводится дополнительный блок "условие", в котором описываются ограничения на значение атрибута с возможностью сопоставления по образцу. Также предусмотрена возможность описания принадлежащих сущности функций (так называемых методов) с использованием языка Java.
Рассмотрим описание правил для подсистемы автоматического анализа и синтеза словоформ, записанных на языке LEELA. На вход подсистемы синтеза подается набор атрибутов, являющийся объединением двух наборов: набора атрибутов, соответствующего некоторому элементу иерархии лексических сущностей, и набора словоизменительных атрибутов, характеризующего ту словоформу, которую требуется построить. Результатом работы подсистемы является удовлетворяющая этому набору словоформа.
Для синтеза словоформ используется набор правил, каждое из которых представляет собой указание на то, как по набору атрибутов, удовлетворяющему условию применения правила, сгенерировать определенную строку. Правила делятся на промежуточные и конечные. Строка (графическое или текстовое написание), порождаемая конечным правилом, трактуется системой как построенная словоформа. Строки, порождаемые промежуточными правилами, используются другими правилами (промежуточными или конечными).
При синтезе входной набор атрибутов соотносится с условиями применения всех конечных правил. Затем по тем правилам, которые оказываются применимыми, генерируются словоформы.
Правило синтеза имеет следующую структуру:
(атрибут) : (условие) = (значение)
На месте блока (атрибут) пишется имя строковой переменной, значение которой генерируется правилом. Блок (условие) задает условие применения правила, т.е. те ограничения, которым должен удовлетворять входной набор атрибутов, чтобы правило было применено. Условие применения правила представляет собой логическое выражение, атомарные элементы которого можно разделить на три категории.
1. Явные ограничения на значения атрибутов (равенство или неравенство значения атрибута некоторой константе, принадлежность значения атрибута некоторому множеству значений и т.п.).
2. Ограничения на буквенный состав базовой формы.
3. Ограничения на буквенный состав атрибута, являющегося результатом применения других правил и появляющегося позднее.
Ограничения типа 1 и 2 мы будем называть явными, а ограничения типа 3 — неявными. Приведем пример условия применения правила, после чего поясним некоторые моменты:
(.POS = V1 CLASS = (1, 5), FINALl = (ku, gu), base = ((.*).»
Запись CLASS = (1,5) означает, что значение атрибута CLASS должно быть равно одному из чисел 1 или 5. В угловых скобках записываются ограничения на буквенный состав. Для этого используются шаблоны, синтаксис которых напоминает синтаксис регулярных выражений. В шаблон могут входить явно указываемые буквы и специальные служебные конструкции:
• конструкция '.' обозначает произвольную букву;
• конструкция '.*' обозначает произвольную цепочку букв (в том числе и пустую);
• конструкция Б\ |i?21 • • • \ Бп обозначает любую из букв £¿ (i : 1, 2,..., ra);
• конструкция Ai?i|.E>2| • • • \L>n обозначает любую букву, за исключением всех букв £¿ (г : 1,2,..., га).
В шаблонах также могут использоваться скобки — для обозначения отдельных частей, на которые можно впоследствии ссылаться из блока (результат). Следует сказать, что конструкция '.*' может встречаться в шаблоне не более одного раза.
Конструкция X = (template) обозначает ограничение на буквенный состав атрибута X. Это ограничение считается выполненным, если существует атрибут X, условие применения которого обращается в истину на входном наборе атрибутов, причем сгенерированное этим правилом значение переменной X удовлетворяет шаблону (template).
Блок (значение) представляет собой последовательность символьных констант и ссылок на шаблоны из блока (условие). Ссылки записываются следующим образом:
$пате.п
В приведенном примере пате — это имя атрибута, а га — целое неотрицательное число. Указанная конструкция ссылается на строку, сопоставляемую со скобочным выражением в ограничении атрибута пате, причем внутри шаблона порядковый номер скобки, открывающей это выражение (если считать слева направо), равен га. Имя атрибута может быть опущено. В этом случае система будет обращаться к первому по счету атрибуту, имеющему в блоке (условие) ограничения на буквенный состав. Если га равно 0, то указанная конструкция ссылается на строку, сопоставляемую со всем шаблоном в целом, причем в этом случае ссылку можно заменить именем атрибута, т. е. выражение $пате.О эквивалентно выражению пате.
В случае успешной проверки условий применения правила со всеми шаблонами в этом правиле сопоставляются определенные строки. После этого система получает возможность сгенерировать результат правила (подставив на место всех ссылок на шаблоны соответствующие фрагменты строк).
Приведем пример нескольких правил синтеза:
(
STEMS : (POS = V, CLASS = 5к) = $STEMke,
STEM : (POS = V, (CLASS = bk\CLASS = 5), base = {(.*)ku)) = $1,
FORM : (POS = V, MOOD = cond, STEMS = (.*)) = $0ba
)
Эти правила порождают форму условного наклонения путем присоединения к основе окончания -Ьа. Строка, соответствующая основе, порождается при помощи первых двух правил. Сама словоформа порождается последним правилом из списка.
Набор правил такого вида с помощью ряда эквивалентных преобразований приводится к каноническому виду. Под каноническим видом мы понимаем такой вид правил, при котором в условиях применения правил отсутствуют дизъюнкции и неявные ограничения, при этом словоформа выражается через базовую форму без использования промежуточных атрибутов. Канонический вид правил удобен по двум причинам. Во-первых, алгоритм синтеза, работающий с правилами в каноническом виде, достаточно прост и эффективен. Во-вторых, система правил синтеза в каноническом виде в большом количестве случаев может быть автоматически преобразована в систему правил анализа.
Добиться отсутствия дизъюнкций в условиях можно просто раскрыв скобки. К примеру, правило вида
п : ((С1|С2),СЗ) = R преобразуется в два правила следующего вида:
п : (С1,СЗ) = Д, п : (С2,СЗ) = R.
Для того чтобы избавиться от неявных ограничений, система осуществляет подстановки одних правил в другие, используя операцию суперпозиции шаблонов. Формальное изложение математического аппарата, на котором основаны эти преобразования, выходит за рамки данной статьи. Следует сказать, что в случае отсутствия взаимных ссылок между правилами избавление от неявных ограничений всегда возможно.
Правило синтеза в каноническом виде может быть записано следующим образом:
С Li Ci, base ~ Т = fx (base).
В приведенной записи Cl — набор ограничений на лексические признаки, С/ — набор словоизменительных признаков, base — базовая форма некоторой лексемы, Т — шаблон на буквенный состав, /т(х) — функция, ставящая в соответствие строке х новую строку, использующая при этом разметку строки х скобочными выражениями шаблона Т. Конструкция СА ~ В' означает, что строка А сопоставима с шаблоном В.
Это правило следует понимать следующим образом: если словарные характеристики некоторой лексемы удовлетворяют набору ограничений Cl, причем базовая форма этой лексемы сопоставима с шаблоном Т, то словоформа этой лексемы, обладающая набором характеристик С/, может быть построена при взятии функции /у от базовой формы этой лексемы.
Система морфологического анализа работает с описанным набором правил синтеза. На вход системе подается цепочка букв. Эта цепочка сопоставляется со всеми шаблонами в левых частях правил. Для тех правил, которые в результате сопоставления оказываются применимыми, генерируются гипотезы, каждая из которых состоит из набора ограничений на словарные атрибуты, набора словоизменительных атрибутов и базовой формы гипотетической лексемы. Эти гипотезы проверяются по словарю системы: в словарном дереве ищутся такие узлы, в которых значение атрибута base совпадает с гипотетической базовой формой, и при этом набор словарных характеристик узла не противоречит ограничениям на словарные атрибуты гипотезы. Гипотезы, подтвержденные по словарю, подаются на выход. В зависимости от режима работы модуля гипотезы, которые не были подтверждены, либо уничтожаются, либо используются дальше при работе модуля распознавания незнакомых слов.
Заключение. Инструментальная среда "NIHONGO" представляет собой действующую компьютерную систему для работы с японским лингвистическим материалом. Теоретической основой реализации системы "NIHONGO" является сущностный подход к языку. Авторами статьи разработан продукционный объектно-ориентированный язык LEELA, удобный для формального описания естественного языка в рамках сущностного подхода. Система предоставляет эксперту возможность работы с японской графикой, морфологией, синтаксисом и другими аспектами японского языка. Функциональные особенности среды "NIHONGO" позволяют использовать ее как для экспериментальных лингвистических исследований, так и для чисто прикладных целей.
СПИСОК ЛИТЕРАТУРЫ
1. Жалыбин П.П., Мальковский М.Г. Инструментальная среда экспертной обработки японских текстов "NIHONGO" // Компьютерная лингвистика и интеллектуальные технологии: Труды международной конференции "Диалог'2005". М.: Наука, 2005. С. 487-492.
2. Шаляпина З.М. Оппозиция "часть-целое" и сущностный подход к моделированию языковой компетенции // Роман Якобсон: тексты, документы, исследования. М.: РГГУ, 1999. С. 541-551.
3.Шаляпина З.М., Модина Л.С., Канович М.И., Любченко В.И., Панина A.C., Сени-на Н.И., Сивцева В.И., Тарасова Е.С., Хайлова И.М., Штернова O.A. Экспериментальный комплекс ЯРАП для лингвистических исследований в области японско-русского автоматического перевода: первая очередь. М.: ИНИОН РАН, 2001.
4. Viterbi J. Error bounds for convolutional codes and an asymptotically optimal decoding algorithm // IEEE Transactions on Information Theory. 1967. April. P. 260-269.
5. Мальковский М.Г. Диалог с системой искусственного интеллекта. М.: Изд-во МГУ, 1985.
6. Ikehara S., Miyazaki М., Shirai S., Yokoo A., Nakaiwa H., Ogura K., Ooyama Y., Hay as hi Y. Goi-Taikei — a japanese lexicon. Tokyo: Iwanami Shoten, 1997 (in Japanese).
Поступила в редакцию 29.11.06
УДК 517.977.5
Исследование одномерных задач распределения ресурсов на бесконечном промежутке времени / Киселев Ю.Н., Орлов М.В. // Вестн. Моск. ун-та. Сер. 15. Вычислительная математика и кибернетика. 2007. № 2. С. 5-11.
В статье рассматриваются две управляемые нелинейные динамические модели распределения ресурсов в случае бесконечного горизонта. Для исследования обеих моделей применяется известный теоретический результат, который применим без всяких ограничений только к первой задаче. В каждой из моделей найдено оптимальное решение и обоснована их оптимальность.
Библиогр. 7.
УДК 575.852
Распознавание структурно-функциональной организации генетических последовательностей / Дед у с Ф. Ф., Куликова Л.И., Махортых С. А., Назипова H.H., Панкратов А. Н., Тетуев Р. К. // Вестн. Моск. ун-та. Сер. 15. Вычислительная математика и кибернетика. 2007. № 2. С. 12-16.
Приводятся постановки задач анализа генетических последовательностей с точки зрения современных математических и информационных подходов. Рассматриваются статистические, корреляционные, энтропийные, спектральные подходы. Дается краткое введение в историю вопроса. Прослеживается генезис нового междисциплинарного направления — биоинформатики, науки о применении компьютерных методов в биологических исследованиях. Предлагаются новые подходы в изучении макромолекулярных систем, основанные на комбинированных спектрально-аналитических технологиях. Приводятся оценки алгоритмической сложности при реализации предлагаемых подходов.
Ил. 1. Библиогр. 12.
УДК 519.2
Оценка скорости сходимости в теореме переноса для центрированных случайных сумм / Кокшаров С.Н. // Вестн. Моск. ун-та. Сер. 15. Вычислительная математика и кибернетика. 2007. № 2. С. 17-23.
В данной заметке приведены оценки скорости сходимости в теореме переноса для случайных сумм, центрированных константами. Эти оценки получены как следствие оценок устойчивости представлений распределений в виде специальных смесей по отношению к малым изменениям смешивающего и смешиваемого распределений.
Библиогр. 4.
УДК 519.718
Об оценках функций Шеннона длины единичных тестов относительно транспозиций переменных / Романов Д. С. // Вестн. Моск. ун-та. Сер. 15. Вычислительная математика и кибернетика. 2007. № 2. С. 23-29.
В работе предлагается нетривиальная верхняя оценка вида п\/2п(1 +о(1)) функции Шеннона длины единичного проверяющего теста относительно транспозиций переменных булевой функции из _Р2" и доказывается асимптотика вида п2 /2 функции Шеннона длины единичного диагностического теста относительно транспозиций переменных булевой функции из _Р2".
Табл. 1. Библиогр. 3.