Авт. обработка текстов на естественном языке и комп. лингвистика. Большакова (2014) (1185448), страница 42
Текст из файла (страница 42)
Его название130показывает место предсинтаксического анализа в общей системе: передсинтаксическим анализом. Задачей предсинтаксического анализа является подготовкаданных для синтаксического анализа в наиболее удобной форме, максимальнооблегчающей выполнение задачи последнему.На вход системы поступает текст. В первую очередь необходимо определитьединицы этого текста: абзацы, предложения, отдельные слова и знаки препинания.
Вотличие от систем машинного перевода, диалоговым системам нет необходимостивыделять заголовки, сноски, комментарии, врезки и прочие элементы текста,необходимые для сохранения форматирования. Подобное форматирование текстаможет понадобиться диалоговой системе только для приобретения новых знаний изсуществующих текстов, однако создание систем, способных на подобные экзерсизы –дело будущего. Выделение всех описанных элементов текста (как слов, так и врезок)является задачей графематического анализа.Выделение абзацев в современных редакторах является тривиальной задачей. Вних уже существует разметка на абзацы.
При полностью текстовом вводе абзацызачастую отмечаются символом перевода строки. В начале абзаца часто ставят два иболее пробела или пробельную строку. В случае, когда каждая строка текстаоканчивается символами конца строки, задача выделения абзаца может потребоватьспециальных знаний о структуре данного текста.Задача выделения предложений менее тривиальна. Обычно предложениезаканчивается точкой, вопросительным или восклицательным знаком, иногда –многоточием. Однако на практике те же знаки препинания используются и для другихцелей. Точка часто применяется в сокращениях.
При этом если сокращениеприходится на конец предложения, то ставится только одна точка, относящаяся как ксокращению, так и к концу предложения. Восклицательный и вопросительный знакичасто используются в выразительных вставках в тексте: «… и он, Великая удача!, …»,«… он смотрел, А что он мог сделать?,...». Таким образом, знаки препинания неявляются стопроцентной гарантией окончания предложения. К счастью, при общениис диалоговыми системами выразительные вставки обычно не используются, однакопроблема точки остается. Еще одна проблема на данном этапе – это слова,написанные с большой буквы, после точки. Так в предложении «Мишка очень любитмёд…» без использования прагматики и контекста не совсем понятно о ком идетречь: о ласково называемом медведе или личности по имени Михаил, такженазываемом уменьшительно-ласкательным именем.
В первом случае однозначнорассматривается начало предложения, во втором есть шанс, что предшествующаяточка могла стоять после сокращения.Еще одну проблему представляют собой цитаты и прямая речь, также нечастоиспользуемые при общении с диалоговыми системами. В состав цитаты можетвходить как несколько слов, так и несколько предложений.
Прямая речь обычносодержит некоторый связанный фрагмент текста. В связи с этим и разбирать ихлучше как отдельный текст. Однако, например, в английских текстах, прямую речьпринято выделять не кавычками, а апострофами. Те же самые апострофыиспользуются для обозначения притяжательного падежа и сокращений: «man’s»,«mans’», «it’s», «I’ll», «’cause». В текстах, пытающихся подчеркнутьпростонародность речи, сокращения (и как результат апострофы) встречаются оченьчасто. В связи с этим проблема выделения начала и конца прямой речи стоит остро.131Следует заметить, что притяжательный падеж в английском языке можетобразовываться не только от существительных, но даже, например, от глаголов: «lastgone’s daughter».
В этом случае не совсем понятно, что делать с притяжательностью:формально глаголы не обладают параметром «притяжательность». Более того,приведенный пример может сам по себе рассматриваться как отдельное предложение:«last gone is (was) daughter». Заметим, что знаки препинания могут встречаться вслове несколько раз: «a-number-one’s».Отдельной проблемой являются тире и дефис. В двухбайтных кодировках ониразличаются, и системы редактирования текстов имеют возможность ставить их внужных местах. Однако однобайтные кодировки знают только один символ – минус.В связи с этим в однобайтной кодировке (или в случае ошибок пользователя)отличить «кто-то» от «кто то» в следующих двух предложениях можно только врезультате синтаксического анализа: «он знает, что кто-то пришел к другу …» от «онзнает кто – то пришел к другу …».
Ориентироваться на наличие пробелов в такойситуации можно, но и в этом случае мы не имеем стопроцентной гарантии.Для решения этих и других проблем, возникающих при членении текста насоставляющие, используется графематический анализ. Для работы графематическогоанализа нам среди прочего потребуется этап деления сложносоставных слов. Данныйэтап занимается тем, что делит сложное слово, составленное из нескольких, насоставляющие его, например, «сине-зелено-красный». Данная проблема особенноактуальна в немецком и турецком языках. В немецком языке разрешено формироватьпроизвольные сложносоставные слова, если образующие его слова относятся кодному понятию.
Часть из них, например «Siecherheitdienst» (Siecherheit + dienst), ужеустоялись и считаются одним словом, но большинство подобных слов образуется «налету» и заносить их в морфологический словарь нет никакой возможности.Однако примеры из немецкого языка меркнут перед примерами из более редкихязыков.
Mamihlapinatapai - слово из яганского языка Племя Яган, (Огненная Земля),указано в книге рекордов Гиннесса в качестве «наиболее сжатого слова» и считаетсяодним из самых трудных для перевода слов. Оно означает «Взгляд между двумялюдьми, в котором выражается желание каждого в том, что другой станетинициатором того, чего хотят оба, но ни один не хочет быть первым». Слово состоитиз рефлексивного / пассивного префикса ма-(MAM-перед гласным), корень ihlapi, чтозначит быть в недоумении, как то, что делать дальше, то stative суффикса-н,достижение Суффикс-ate, и двойной суффикс-apai, который в составе срефлексивным mam- есть взаимные чувства.Пример восьмипорядковой деривации в эскимосском языке: igdlo-ssua-tsia-liorfi-gssa-liar-qu-gamiuk (дом-большой-довольно-изготавливать-место-быть-идти-велетькогда.он.его), «Велев ему пойти туда, где строился довольно большой дом».К великому счастью, подобные языки обычно не анализируютсяавтоматизированными методами.В отличие от европейских языков, турецкий язык (и не только он) являетсяагглютинативным.
В нем часть информации об употреблении слова добавляется вконец слова в виде аффиксов. Так, например, в одно слово можно сказатьkitap_lar_ım_da_ki_ler_i: «те (вин. падеж), что лежат на моих книгах». За счетдобавления аффиксов у одного существительного может появиться несколько тысячсловоформ, хранить которые в морфологическом словаре также будет простоневозможно, так как аффиксы будут добавляться после любой имеющейся132словоформы, не содержащей аффиксов, хотя и в строго определенном порядке.
Всвязи с этим было бы проще ввести ряд дополнительных параметров и «откусив»соответствующий аффикс, добавить оставшейся словоформе параметр с заданнымдля данного аффикса значением.Остальные сложные слова должны разделяться по определенным правилам. Впротивном случае только слово «поляк» будет иметь более 20 вариантов деления.Так, все прилагательные, кроме последнего, в примере, приведенном для русскогоязыка («сине-зелено-красный»), должны находиться в краткой форме (и как минимумприсутствовать в словаре).Таким образом, этап деления сложносоставных слов имеет довольно сложнуюструктуру и управляется языкозависимыми правилами.
Работа графематическогоанализа будет выглядеть следующим образом. Сперва, графематический анализ позаданным критериям выделяет абзацы. Далее выделяется строка до первогоразделителя (пробела, перевода строки, иного знака препинания). Если строка состоитиз одних цифр, то она помечается частью речи «числительное» и отправляется впромежуточный массив. В противном случае строка подается на этап делениясложносоставных слов.
Если после выделенной строки стоит единственный знакпрепинания, разрешенный для присутствия в словах, представленных вморфологическом словаре, то мы выделяем следующую строку, объединяем спредыдущей, вновь проверяем на наличие разрешенного разделителя до тех пор, покатакой разделитель присутствует. После этого подаем полученную строку на этапделения сложносоставных слов. Если слово не представлено в морфологическомсловаре и не может быть разделено, этап должен вернуть ошибку. При этом в массиввыделенных слов будет помещен специальным образом помеченный кортеж,содержащий выделенную строку, с неизвестным словом. В противном случае мывозвращаем выделенный набор слов и помещаем его в массив выделенных слов.Выделенные знаки препинания также подаются в массив выделенных слов.Для борьбы с неоднозначной расстановкой точек можно вводить правилаанализа сокращений.