Большакова Е.И. и др. - Автоматическая обработка текстов на естественном языке и компьютерная лингвистика (1027379), страница 43
Текст из файла (страница 43)
К счастью, большинство подобных дробей легкосокращаются и приводятся к более очевидному варианту.Для десятичных дробей на этапе анализа числительных необходимо ввестиразделитель, показывающий место, с которого начинается дробная часть (целых врусском языке, point в английском). Сама дробная часть в различных языкахвыражается по-разному. Так, в русском языке после разделителя будет идтирациональная дробь, вторая часть которой выражается единственным словом(десятых, тысячных, стомиллионных. ...). Также возможна такая же запись дроби, каки в английском языке: после разделителя перечисляются цифры в том порядке, вкотором они идут после запятой (точки).
Но такая форма записи редко встречается написьме, особенно в человеко-машинном диалоге.Для немецкого языка указанный алгоритм работать не будет в связи с тем, чтопорядок слов в немецких числительных несколько иной. Так, единицы в нем ставятсяперед десятками, например, «fünf und zwanzig» - «пять и двадцать». Аналогично и ванглийском языке могут встречаться конструкции, включающие в себя слово «and»:«twenty and five». В связи с этим в алгоритм необходимо вводить слова,обозначающие сложение и даже умножение текущей и последующей сумм. Следует134помнить, что подобные слова сами могут вносить некоторую неоднозначность. Так,например, во фразе «Twenty and five vehicle» в качестве ответа на вопрос «How manypeoples goes?» будет иметься в виду двадцать человек и пять машин.Кроме того, слово «один» (и аналогичные ему в других языках) имеетсобственную семантику.
С одной стороны, оно может употребляться для обозначениянекоторого объекта: «Дай одну», «В одном зоопарке, не помню каком,…». С другойстороны, оно может опускаться в числительных: обычно говориться «тысяча пять», ане «одна тысяча пять», хотя второй вариант также употребим, особенно вформальных документах.Аналогично слова «десяток», «сотня» и «тысяча» могут выступать в ролисуществительных: «Во главе пяти сотен воинов с осадными орудиями он подошел кстенам города и начал правильную осаду».
В данном примере слово «сотня» означаетвоинское подразделение, а не количество людей.При обработке числительных следует помнить, что в тексте может встречатьсязапись групп числительных: телефоны, IP-адреса и т.п., записанные не числами, асловами. Т.е. по ходу выполнения алгоритма необходимо отслеживать, чтоследующее число не принадлежит одной группе (десятки, сотни…) с предыдущим итекущая сумма не больше итоговой. Например: «Сто девяносто два сто шестьдесятвосемь ноль один».
Однако подобная запись может обозначать как IP-адрес192.168.0.1, так и число 19216801, хотя наиболее вероятным с точки зренияпрагматики в такой ситуации представляется первый вариант. Второй вариант болеевероятен при группировке цифр тройками для выделения тысяч, миллионов и т.д.,например, 108.891.452. В этом примере не может быть записан IP-адрес, так как ондолжен содержать в себе четыре группы цифр от 0 до 255. Приведенная запись чиселхарактерна для финансовых расчетов и может предполагать до или после себяобозначения денежной единицы ($108.891.452 или 108.891.452 руб.).Семантически нагруженные группы цифр: даты, номера телефонов, IP-адреса ит.д.
также имеет смысл объединять в одно слово. Их можно объединять по шаблонам.Например, xx/xx/xxxx или xx.xx.xxxx для дат, xxx-xxxx, +x(xxx)xxx-xxxx, xxx-xx-xxдля телефонов и т.д. Это также уменьшит количество слов, поступающих насинтаксический анализ и, как следствие, упростит его работу.Превращая слова в цифры, следует иметь в виду, что слова могут подчеркиватьроль цифр в слове. Они могут играть роль порядковых или счетных числительных. Всвязи с этим следует приписывать различную часть речи в зависимости от того, какоеслово идет последним в группе.
Так, «сто один» будет счетным числительным, а «стопервый» - порядковым.Еще одной задачей предсинтаксического анализа является обработкасловосочетаний. Можно выделить следующие виды словосочетаний: неразрывныенеизменяемые, неразрывные изменяемые и разрывные. Неразрывные неизменяемыесловосочетания состоят из одних и тех же словоформ, идущих одна за другой.Например, «таким образом», «так сказать», «не взирая на» и т.д.
В составнеразрывных неизменяемых словосочетаний могут входить и знаки препинания: ср.«для того чтобы» в начале предложения и «для того, чтобы» в середине. Для поискаподобных словосочетаний необходимо просто проанализировать входной текст.Найденные словосочетания имеет смысл обрабатывать дальше как единуюсловоформу.135Кроме того, словосочетания можно разделить на открытые и закрытые. Взакрытых словосочетаниях отдельные слова теряют собственный смысл и могуттрактоваться только в составе словосочетания. При этом слова в открытыхсловосочетаниях сохраняют все лексические связи и, как следствие, могут подчинятьсебе другие слова. При этом может происходить разрыв словосочетания.Следует опасаться неоднозначности у словосочетаний.
Так, например, сочетание«так сказать» может встретиться в фразе вида «так сказать нельзя», хотя как вводнаяконструкция оно должно быть выделено запятыми.Неразрывные изменяемые словосочетания состоят из идущих подряд словоформ,образованных от фиксированных нормальных форм, но в зависимости от контекстаобладающих различными параметрами. Например, «бить баклуши» («бил баклуши»,…), «наивная модель мира», «искусственный интеллект» и т.д. Обычно слова внеразрывном изменяемом словосочетании согласуются. При желании можновыделить главное и зависимые слова, однако свертка подобных словосочетанийпозволяет, как и в предыдущем случае, сократить количество синтаксических единици тем самым упростить задачу синтаксического анализа.
Заметим, что грань междуизменяемым словосочетанием и простой синтаксической конструкцией довольнотонка. Так, если «Черный квадрат» можно отнести к словосочетаниям, то «красныйквадрат» таковым являться не будет. Дело в том, что словосочетания имеет смыслвыделять лишь в тех случаях, когда сдвигается семантика или прагматика предметов,указанных в словосочетании. «Черный квадрат» обозначает название картины иявляется именем собственным (кстати, в такой роли он должен быть обрамленкавычками), а красный квадрат является просто квадратом, одно из свойств которого– цвет – обладает значением «красный».
Аналогично, если искусственный интеллектявляется специализированной отраслью знаний, то, например, обширный интеллект –это интеллект, обладающий свойством обширности. Как всегда и здесь не обходитсябез неоднозначности. Так, в фразе «несколько искусственный интеллект» будетиметься в виду интеллект, обладающий свойством заполненности искусственнопридуманными знаниями. Приведенный пример и сам является искусственным,однако на практике подобная ситуация встречается довольно широко.Для анализа неразрывных неизменяемых словосочетаний необходимопредварительно провести морфологический анализ.
Далее мы ищем требуемыесловоформы в заданном порядке. При этом может быть необходимо проверитьсогласование слов по параметрам: заданные параметры должны обладать одними итеми же значениями. Как уже упоминалось, прилагательное и существительное врусском языке согласуются по ряду параметров. Следовательно, для словосочетаний,составленных из существительного и подчиненных ему прилагательных, необходимопроверить подобное согласование.Разрывные словосочетания – это связанные слова, между которыми могутвклиниваться другие слова. Как и в предыдущем случае, связка слов дает несколькоиное значение, чем просто сумма значений слов.
В случае с разрывнымисловосочетаниям связь между словами либо очевидна, либо используемый видсогласования не требует того, чтобы слова стояли рядом. Более того, кромеподчиненного слова, образующего словосочетание, к главному слову могутприсоединяться и другие зависимые слова, являющиеся его неоднородными членами.В итоге все подчиненные члены имеют право идти вперемешку. Например, «отправкасамолетов», «прибытие самолетов» → «отправка и прибытие самолетов».136Так как слова в разрывных словосочетаниях могут быть разнесены попредложению, то сперва требуется провести синтаксический анализ предложения.Следовательно, работа с разрывными словосочетаниями не может быть отнесена кпредсинтаксическому анализу.§ 3.3.Синтаксическая сегментацияЕще до проведения синтаксического анализа есть возможность выдвинутьнекоторые предположения о структуре разбираемого предложения, выделить егофрагменты (сегменты), которые можно разобрать независимым образом.
Дальнейшийсинтаксический анализ будет опираться на эти предположения и получитвозможность сразу отбросить часть вариантов. Для использования этих возможностейвводится этап синтаксической сегментации.Первой задачей синтаксической сегментации является уменьшение количестваомонимов, соответствующих каждой словоформе. Так, например, если слово можетявляться как наречием, так и прилагательным, то следует проанализироватьследующее за ним слово. Если оно является однозначным глаголом, то слово будетнаречием. Если следующее слово является однозначным прилагательным илисуществительным, то данное слово будет прилагательным.
Подобных правилдостаточно много, но очень часто они могут служить лишь предположениями, так каксуществует альтернативный вариант прочтения данного фрагмента. Однако зачастуюдаже выделение нескольких альтернатив помогает сократить количество возможныхвариантов.Вторая задача – выделение синтаксических конструкций.
Например, мы можемвыделить начало сложноподчиненного предложения, обнаружив ключевые слова «,который», «, потому что», «, когда» и т.д. Можно выделить деепричастные обороты,найдя место, где за существительным после запятой идет деепричастие. Кроме того,можно попытаться определить связность и подчинение фрагментов. Так, например, вофразе «...когда на столе, покрытом скатертью, они расставили тарелки...» жирнымвыделен единый фрагмент, одному из слов которого (стол) подчинен вставленный внего в фрагмент.Для поиска фрагментов нам потребуется понятие шаблона поиска.
Подшаблоном поиска слова будем понимать кортеж <N,S,P>, где N – нормальная формаискомого слова, S – часть речи и P={p} множество искомых параметров искомогослова. Нормальная форма слова может представлять собой строку с искомойнормальной формой, либо пустую строку, если нормальная форма нас не интересует.Аналогично описывается и часть речи. Множество параметров может быть пустым,если параметры при поиске нас не интересуют. Искомые параметры, в отличие отобычных параметров, будут содержать дополнительный флажок, указывающий натип поиска. Предполагаются следующие типы поиска:• точный, когда сравнивается как имя, так и значение параметра;• по имени, когда проверяется наличие параметра у данного слова внезависимости от его значения;• совпадающий, когда значение параметра должно совпадать со значениямитаких же параметров у других шаблонов;• несовпадающий, когда значение параметра может принимать любое значение,кроме указанного.137Под шаблоном поиска фрагмента будем понимать упорядоченное множествошаблонов поиска слов.Приведем пример шаблона поиска фрагмента.<‘’,’прилагательное’, {[‘род’,совп.,’’],[ ‘число’,совп.,’’],[ ‘падеж’,точн.,’им’]}><‘’,’существительное’, {[‘род’,совп.,’’],[ ‘число’,совп.,’’],[ ‘падеж’,совп.,’’]}>Здесь мы пытаемся найти прилагательное и следующее за ним существительноевне зависимости от их нормальной формы, при этом у найденных слов должнысовпадать род, число и падеж, причем падеж должен быть именительным.Как уже упоминалось, нам может потребоваться найти слово, имеющееединственное значение.