РАЗРЕШЕНИЕ КОРЕФЕРЕНЦИИ В ЧУВСТВИТЕЛЬНОЙ К НЕОДНОЗНАЧНОСТИ СИСТЕМЕ ОБРАБОТКИ ЕСТЕСТВЕННОГО ЯЗЫКА
COREFERENCE RESOLUTION IN AMBIGUITY-SENSITIVE NATURAL LANGUAGE PROCESSING SYSTEM

ОБЛАСТЬ ТЕХНИКИ К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к способам разрешения кореференции в чувствительной к неоднозначности системе обработки естественного языка, в частности к интеграции функциональных возможностей разрешения кореференции в систему обработки документов.
УРОВЕНЬ ТЕХНИКИ
В естественном языке не редкость, когда на объект ссылаются, используя разные описания. Например, вместо имен существительных обычно используются местоимения. Кроме того, для ссылки на объект могут использоваться различные другие описания или различные формы ссылки. Рассмотрим в качестве примера следующие части текста:
"Пабло Пикассо родился в Малаге."
"Испанский живописец стал знаменит, благодаря его различными стилям."
"Среди его картин крупномасштабная "Герника"."
"Он нарисовал этот волнующий шедевр во время испанской гражданской войны."
"Пикассо умер в 1973 году."
Здесь мы наталкиваемся на последовательность лингвистического изменения. Например, используются два различных имени, "Пабло Пикассо" и "Пикассо". Определяющее описание, "испанский живописец" и два местоимения "его" и "он", все используются для ссылки на Пикассо. Для ссылки на картину используются два различных выражения: название произведения, "Герника", и указательное описание, "этот волнующий шедевр."
О двух лингвистических выражениях можно сказать, что они являются кореферентными, если они имеют один и тот же референт. Другими словами, если они ссылаются на один и тот же объект. Вторая фраза может быть анафорой, которая является анафорической к первой фразе. Также, первая фраза является антецедентом второй фразы. Знание референта антецедента может быть необходимо для определения референта анафоры. Общая задача нахождения кореферентных выражений, анафор и их антецедентов в пределах документа может упоминаться как разрешение кореференции. Разрешение кореференции является процессом установления, что два выражения относятся к одному и тому же референту без необходимости установления, каков этот референт. Разрешение референции является процессом установления, что является референтом.
Для групп выражений, которые кореферентны, независимо от их анафорических отношений, выражения могут упоминаться как альтернативные названия друг друга. В соответствии с приведенным выше примером, выражения "Пабло Пикассо", "испанский живописец" "его", "он" и "Пикассо" формируют группу альтернативных названий, относящихся к Пикассо.
Выражения естественного языка часто содержат двусмысленность (неоднозначность). Неоднозначность возникает, когда выражение может быть интерпретировано более чем с одним значением. Например, предложение "Утка готова к еде" может быть интерпретировано как утверждение, что утка либо уже должным образом приготовлена, либо что утка хочет есть и нуждается в корме.
Разрешение кореференции и разрешение неоднозначности являются двумя примерами операций обработки естественного языка, которые могут использоваться, чтобы механически поддерживать язык, как он обычно используется людьми-пользователями. Системы обработки информации, такие как текстовая индексация и запрос поддержки поиска информации, могут получить преимущество при повышенном применении систем обработки естественного языка.
Раскрытие, сделанное здесь, касается этих и других рассмотрений.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Здесь описываются технологии разрешения кореференции в чувствительной к неоднозначности системе обработки естественного языка. В частности, описываются технологии интеграции функциональных возможностей разрешения кореференции в систему обработки документов, которые должны индексироваться в системе поиска и извлечения информации. Эта интеграция может улучшить индексацию с помощью информации, поддерживающей разрешение кореференции и неоднозначное значение в пределах документов на естественном языке.
В соответствии с одним аспектом, представленным здесь, информация, предоставленная системой разрешения кореференции, может быть интегрирована в систему обработки естественного языка и повысить ее производительность. Примером такой системы является система индексации и извлечения документов.
В соответствии с другим аспектом, представленным здесь, признаки осведомленности о неоднозначности, а также функциональные возможности разрешения неоднозначности, могут работать в координации с разрешением кореференции в рамках системы обработки естественного языка. Аннотация объектов кореференции, а также неоднозначные интерпретации, могут поддерживаться встроенной разметкой внутри текстовых выражений или, альтернативно, внешними отображениями объектов.
В соответствии с еще одним аспектом, представленным здесь, факты могут извлекаться из текста, который должен быть индексирован. Информация, выраженная внутри текста, формально может быть организована с точки зрения фактов. Используемый в этом смысле факт может быть любой информацией, содержащейся в тексте, и не обязательно должен быть истинным. Факт может быть представлен как отношения между объектами. Факт может храниться в семантическом индексе как отношения между объектами, хранящимися внутри индекса. В системе извлечения, основанной на факте, документ может быть извлечен, если он содержит факт, который соответствует факту, определенному через анализ запроса.
В соответствии с еще одним другим аспектом, представленным здесь, процесс расширения может поддерживать применение многочисленных альтернативных названий или двусмысленностей к индексируемому объекту. Такое расширение может поддерживать дополнительные возможные референции или интерпретации для заданного объекта, зафиксированного в семантическом индексе. Альтернативные хранящиеся описания могут поддерживать извлечение факта посредством либо оригинального описания, либо кореференциального описания.
Следует понимать, что вышеописанный предмет обсуждения может также быть осуществлен как управляемое компьютером устройство, компьютерный процесс, вычислительная система или как производственное изделие, такое как считываемый компьютером носитель. Эти и различные другие признаки должны стать очевидны из чтения последующего подробного описания и рассмотрения сопроводительных чертежей.
Настоящий раздел "Сущность изобретения" предназначен для введения выборочных концепций в упрощенной форме, которые дополнительно описываются ниже в подробном описании. Настоящий раздел "Сущность изобретения" не предназначен ни для того, чтобы идентифицировать ключевые признаки или существенные признаки заявленного предмета изобретения, ни для того, чтобы использовать этот раздел "Сущность изобретения" для ограничения объема заявленного предмета изобретения. Дополнительно, заявленный предмет изобретения не ограничивается вариантами осуществления, которые устраняют любые или все недостатки, отмеченные в любой части настоящего раскрытия.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - схема архитектуры сети, показывающая систему поиска информации в соответствии с аспектами представленного здесь варианта осуществления;
Фиг. 2 - функциональная блок-схема, показывающая различные компоненты системы индексов и запросов текста естественного языка, соответствующей аспектам представленного здесь варианта осуществления;
Фиг. 3 - функциональная блок-схема, показывающая разрешение кореференции и разрешение двусмысленности в пределах системы обработки естественного языка в соответствии с аспектами представленного здесь варианта осуществления;
Фиг. 4 - логическая блок-схема последовательности выполнения операций, показывающая аспекты процессов для чувствительной к двусмысленности индексации с разрешением кореференции в соответствии с аспектами представленного здесь варианта осуществления; и
Фиг. 5 - схема компьютерной архитектуры, показывающая пример компьютерной архитектуры аппаратного и программного обеспечения для вычислительной системы, способной осуществлять аспекты представленного здесь варианта осуществления.
ПОДРОБНОЕ ОПИСАНИЕ
Приведенное далее подробное детальное описание относится к технологиям разрешения кореференции в чувствительной к двусмысленности системе обработки естественного языка. Используя представленные здесь технологии и концепции, функциональные возможности разрешения кореференции могут быть интегрированы в систему обработки естественного языка, обрабатывающую документы, которые должны быть индексированы для использования в системе поиска и извлечения информации. Эта интеграция может улучшить индексирование с помощью информации, поддерживающей разрешение кореференции для индексируемых документов на естественном языке.
Хотя описанный здесь предмет изобретения представлен в общем контексте программных модулей, которые выполняются в сочетании с выполнением операционной системы и программ приложений на компьютерной системе, специалисты в данной области техники должны признать, что другие варианты осуществления могут быть реализованы в комбинации с другими типами программных модулей. В целом, программные модули содержат подпрограммы, программы, компоненты, структуры данных и другие типы структур, которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Кроме того, специалисты в данной области техники должны понимать, что описанный здесь предмет изобретения может быть осуществлен с другими конфигурациями компьютерной системы, включающей карманные устройства, мультипроцессорные системы, программируемую бытовую электронную аппаратуру или на основе микропроцессоров, миникомпьютеров, универсальных вычислительных машин и т.п.
В последующем подробном описании делаются ссылки на сопроводительные чертежи, являющиеся частью настоящего описания и показывающие пояснительные конкретные варианты осуществления или примеры. Теперь далее, со ссылкой на чертежи, на которых на разных чертежах схожие позиции представляют схожие элементы, описываются аспекты вычислительной системы и методология разрешения кореференции в чувствительной к двусмысленности системе обработки естественного языка.
На фиг. 1 здесь будут предоставлены подробности в отношении примера рабочей среды для представленных вариантов осуществления. В частности, схема 100 сетевой архитектуры показывает систему поиска информации в соответствии с аспектами варианта осуществления, представленного здесь. Клиентские компьютеры 110А-110D могут взаимодействовать через сеть 140 с сервером для получения информации, связанной с механизмом 130 естественного языка. Хотя показаны четыре клиентских компьютера 110А-110D, следует понимать, что может использоваться любое количество клиентских компьютеров 110А-110D. Клиентские компьютеры 110А-110D могут быть географически распределены по сети 140, располагаться по соседству или быть расположены в любой их комбинации. Хотя на чертеже показан одиночный сервер 120, следует понимать, что функциональные возможности сервера 120 могут быть распределены на любое количество многочисленных серверов 120. Такие многочисленные серверы 120 могут располагаться рядом, быть географически распределены по сети 140 или располагаться в любой комбинации.
В соответствии с одним или более вариантами осуществления, механизм 130 естественного языка может поддерживать функциональные возможности механизма поиска. В сценарии механизма поиска запрос пользователя может быть выдан от клиентского компьютера 110А-110D через сеть 140 и на сервер 120. Запрос пользователя может быть в формате естественного языка. На сервере механизм 130 естественного языка может обрабатывать запрос на естественном языке, чтобы поддержать поиск, основанный на синтаксисе и семантике, извлеченных из запроса на естественном языке. Результаты такого поиска могут быть предоставлены от сервера 120 через сеть 140 обратно на клиентские компьютеры 110А-110D.
Один или более индексов поиска могут храниться или быть связаны с сервером 120. Информация, содержащаяся в индексе поиска, может быть заполнена из набора исходной информации или из совокупности. Например, при осуществлении веб-поиска содержание может собираться и индексироваться из различных веб-сайтов на различных веб-серверах (не показаны) по сети 140. Такой сбор и индексация могут быть выполнены посредством исполнения программного обеспечения на сервере 120 или на другом компьютере (не показан). Сбор может быть выполнен с помощью прикладных программ, веб-поисковых обходчиков (crawlers) или поисковых роботов (spiders). Механизм 130 естественного языка может применяться к собранной информации таким образом, что содержание на естественном языке, собранное из совокупности, может быть индексировано, основываясь на синтаксисе и семантике, извлеченных механизмом 130 естественного языка. Индексация и поиск обсуждаются более подробно со ссылкой на фиг. 2.
Клиентские компьютеры 110А-110D для сервера 120 могут действовать как оконечные клиенты, клиенты гипертекстовых браузеров, клиенты графических дисплеев или другие сетевые клиенты. Например, приложение веб-браузера на клиентских компьютерах 110А-110D может поддерживать взаимодействие с приложением веб-сервера на сервере 120. Для поддержки взаимодействия с сервером 120 такой браузер может использовать элементы управления, плагины или апплеты. Клиентские компьютеры 110А-110D могут также использовать другие заказные программы, приложения или модули для взаимодействия с сервером 120. Клиентские компьютеры 110А-110D могут быть настольными компьютерами, ноутбуками, карманными компьютерами, мобильными терминалами, мобильными телефонами, телевизионной компьютерной приставкой, киосками, серверами, терминалами, "тонкими" клиентами (клиент-терминалами) или любыми другими компьютеризированными устройствами.
Сеть 140 может быть любой сетью связи, способной обеспечивать связь между клиентскими компьютерами 110А-110D и сервером 120. Сеть 140 может быть проводной, беспроводной, оптической, радиосетью, с коммутацией пакетов, с коммутацией каналов или любой их комбинацией. Сеть 140 может использовать любую топологию и линии 140 связи могут поддерживать любую сетевую технологию, протокол или полосу пропускания, такие как Ethernet, DSL, кабельный модем, ATM, SONET, MPLS, PSTN, модем POTS, PONS, HFC, спутниковая, ISDN, WiFi, WiMax, любая их комбинация или любой другой механизм соединения данных или сетевой механизм. Сеть 140 может быть интрасетью, интерсетью, Интернетом, веб-сетью, LAN, WAN, MAN или любой другой сетью для взаимного соединения компьютерных систем.
Следует понимать, что в дополнение к показанной сетевой среде механизмом 130 естественного языка можно управляться местно. Например, сервер 120 и клиентский компьютер 110А-110D могут объединяться на едином вычислительном устройстве. Такая комбинированная система может поддержать индексы поиска, хранящиеся местно или дистанционно.
На фиг. 2 показана функциональная блок-схема различных компонент механизма 130 естественного языка в соответствии с одним примером варианта осуществления. Как обсуждалось выше, механизм 130 естественного языка может поддерживать поиски информации. Чтобы поддержать такие поиски, выполняется процесс 200 получения содержания. Операции, связанные с получением 200 содержания, извлекают информацию из документов, предоставленных как текстовое содержание 210. Эта информация может храниться в семантическом индексе 250, который может использоваться для поиска. Операции, связанные с поиском 205 пользователя, могут поддерживать обработку введенного пользователем запроса поиска. Запрос пользователя может принимать форму вопроса 260 на естественном языке. Механизм 130 естественного языка может анализировать ввод от пользователя, чтобы перевести запрос в представление, которое должно сравниваться с информацией, представленной внутри семантического индекса 250. Содержание и структурирование информации в семантическом индексе 250 могут поддерживать быстрое согласование и извлечение документов или частей документов, которые имеют отношение к смыслу запроса или вопроса 260 на естественном языке.
Текстовое содержание 210 может содержать документы в очень общем смысле. Примерами таких документов могут являться веб-страницы, текстовые документы, сканированные документы, базы данных, распечатки информации, прочее Интернет-содержание или любой другой информационный источник. Это текстовое содержание 210 может обеспечить совокупность информации, которая должна быть найдена. Обработка текстового содержания 210 может происходить в два этапа как синтаксический анализ 215 и семантическое отображение 225. Предварительные этапы языковой обработки могут производиться до или в начале синтаксического анализа 215. Например, текстовое содержание 210 может разделяться на границах предложений. Имена собственные могут идентифицироваться как имена конкретных людей, мест, объектов или событий. Кроме того, могут быть определены грамматические свойства придающих смысл словесных окончаний. Например, на английском языке, существительное, заканчивающееся буквой "s", вероятно, будет существительным во множественном числе, хотя глагол, заканчивающийся на "s", может быть глаголом в третьем лице единственного числа.
Синтаксический анализ 215 может быть выполнен с помощью системы синтаксического анализа, такой как Xerox Linguistic Environment (XLE), представленной здесь только в качестве общего примера, но не ограничивающей возможные варианты осуществления настоящего описания. Синтаксический анализатор 215 может преобразовывать предложения в представления, которые создают ясные синтаксические отношения между словами. Синтаксический анализатор 215 может применять грамматику 220, связанную с конкретным используемым языком. Например, синтаксический анализатор 215 может применить грамматику 220 английского языка. Грамматика 220 может быть формализована, например, как лексическая функциональная грамматика (LFG) или другой подходящий механизм синтаксического анализа, такой как те, которые основаны на грамматике непосредственных составляющих, управляемых заголовками (HPSG), комбинаторной категориальной грамматике (CCG), вероятностной контекстно-свободной грамматике (PCFG) или любой другой формальной грамматике. Грамматика 220 может определить возможные пути конструирования значимых предложений на заданном языке. Синтаксический анализатор 215 может применять правила грамматики 220 к строкам текстового содержания 210.
Грамматика 220 может обеспечиваться для различных языков. Например, грамматики LFG были созданы для английского, французского, немецкого, китайского и японского языков. Другие грамматики также могут быть предоставлены. Грамматика 220 может быть разработана посредством ручного получения, при котором грамматические правила определяются лингвистом или автором словаря. Альтернативно, получение с помощью устройства со средствами самообучения может содержать автоматизированное наблюдение и анализ многих примеров текста из большой совокупности, чтобы автоматически определять грамматические правила. Также, при получении правил грамматики 220 может использоваться комбинация ручного определения и определения с помощью устройства со средствами самообучения.
Синтаксический анализатор 215 может применять грамматику 220 к текстовому содержанию 210, чтобы определить синтаксическую структуру. В случае синтаксического анализа, основанного на LFG, синтаксические структуры состоят из составляющих структур (c-структуры) и функциональных структур (f-структуры). С-структура может представлять иерархию составляющих фраз и слов. F-структура может кодировать роли и отношения между различными составляющими c-структуры. F-структура может также представлять информацию, выведенную из форм слов. Например, в f-структуре может быть определено множественное число существительного или время глагола.
Во время процесса 225 семантического отображения, который следует за процессом 215 синтаксического анализа, информация может быть извлечена из синтаксических структур и объединена с информацией о значениях слов в предложении. Семантическое отображение или семантическое представление предложения могут быть предоставлены как семантика 240 содержания. Семантическое отображение 225 может улучшать синтаксические взаимоотношения, предоставленные синтаксическим анализатором 215 с концептуальными свойствами индивидуальных слов. Результаты могут быть преобразованы в представления значения предложений из текстового содержания 210. Семантическое отображение 225 может определять роли, играемые словами в предложении. Например, подлежащее, выполняющее действие, что-либо, используемое для выполнения действия, или что-либо, затрагиваемое действием. В целях индексации поиска слова могут сохраняться в семантическом индексе 250 вместе с их ролями. Таким образом, извлечение из семантического индекса 250 может зависеть не просто от отдельно выделенного слова, но также и от значения слова в предложениях, в которых оно появляется в пределах текстового содержания 210. Семантическое отображение 225 может способствовать устранению неоднозначности терминов, определению антецедентных отношений и расширению терминов посредством синонимов, гиперонимов или гипонимов.
Семантическое отображение 225 может применять ресурсы 230 знания в качестве правил и методик для извлечения семантики из предложений. Ресурсы знания могут быть получены как через ручное определение, так и через устройство со средствами самообучения, как обсуждалось в отношении получения грамматик 220. Процесс семантического отображения 225 может обеспечить семантику 240 содержания в представлении на семантическом расширяемом языке разметки (семантический XML или semxml). Любой подходящий язык представления, такой как выражения, записанные в PROLOG, LISP, JSON, YAML или других, также может использоваться. Семантика 240 содержания может указывать роли, играемые словами в предложениях текстового содержания 210. Семантика 240 содержания может быть предоставлена процессу 245 индексации.
Индекс может поддерживать представление большой совокупности информации, так чтобы местоположения слов и фраз могли быть быстро идентифицированы в пределах индекса. Традиционный механизм поиска может использовать ключевые слова в качестве терминов поиска, так что индекс отображается из ключевых слов, определенных пользователем в статьях или документах, где такие ключевые слова появляются. Семантический индекс 250 может представлять семантические значения слов в дополнение к самим словам. Семантические взаимоотношения могут назначаться словам во время получения содержания 200, а также во время поиска 205 пользователя. Запросы о семантическом индексе 250 могут быть основаны не только на словах, но и на словах в конкретных ролях. Роли - это то, что представляет слово в предложении или фразе, как хранит в семантическом индексе 250. Семантический индекс 250 может рассматриваться как инвертированный индекс, который является быстро доступной для поиска базой данных, объектами которой являются семантические слова (то есть, слова в данной роли) с помощью указателей на документы, или web-страницами, на которых появляются эти слова. Семантический индекс 250 может поддерживать гибридную индексацию. Такая гибридная индексация может объединять признаки и функции как индексации ключевого слова, так и семантической индексации.
Ввод запросов пользователем может быть поддержан в форме вопросов 260 на естественном языке. Запрос может анализироваться через источник информации на естественном языке, подобном или идентичном тому, который использовался при получении 200 содержания. То есть, вопрос 260 на естественном языке может быть обработан синтаксическим анализатором 265, чтобы извлечь синтаксическую структуру. После синтаксического анализа 265 вопрос 260 на естественном языке может быть обработан для семантического отображения 270. Семантическое отображение 270 может обеспечить семантику 275 вопроса, которая должна использоваться в процессе 280 извлечения относительно семантического индекса 250, как обсуждалось выше. Процесс 280 извлечения может поддерживать гибридные индексные запросы, где как извлечение индекса ключевого слова, так и извлечение семантического индекса могут быть обеспечены отдельно или в комбинации.
В ответ на запрос пользователя результаты извлечения 280 из семантического индекса 250 вместе с семантикой 275 вопроса могут информировать процесс 285 ранжирования. Ранжирование может подкреплять как ключевое слово, так и семантическую информацию. Во время ранжирования 285 результаты, полученные посредством извлечения 280, могут быть выстроены по порядку по различными показателям в попытке расположить наиболее желательные результаты ближе к вершине извлеченной информации, которая должна предоставляться пользователю в качестве результирующего представления 290.
Обратимся теперь к фиг. 3, где показана функциональная блок-схема разрешения кореференции и разрешения двусмысленности в пределах системы 300 обработки естественного языка в соответствии с аспектами представленного здесь варианта осуществления. Как пример применения, система 300 обработки естественного языка может поддерживать механизм поиска информации для индексации и извлечения документа. Такой разрешенный поисковый механизм на естественном языке может расширять информацию, хранящуюся в ее индексе, основанном на лингвистическом анализе. Система может также поддерживать раскрытие намерения в пределах запроса пользователя путем анализа запроса лингвистически. Признаки разрешения кореференции и разрешения двусмысленности, обсуждаемые здесь, могут работать в отношении синтаксического анализа 215, семантического отображения 225 и семантической индексации 245, как обсуждалось со ссылкой на фиг. 2. Разрешение кореференции может выполняться напрямую на текстовом содержании 210 или на информации использования из операций анализа 215 или семантического отображения 225.
Как показано на чертеже, разрешение 320, 370 кореференции может быть выполнено непосредственно на сегментированном документе и также как часть семантического отображения 225. Эти два появления разрешений 320, 370 кореференции могут быть объединены или могут быть объединены их информационные выводы. Следует понимать, что разрешение кореференции может также произойти между синтаксическим анализом 215 и семантическим отображением 225. Разрешение кореференции может также произойти на любом другом этапе в пределах конвейера обработки естественного языка. Могут иметься одна, две или более компонент разрешения кореференции или этапов в различных положениях в пределах системы обработки естественного языка. Текстовое содержание 210 может анализироваться для информации, предназначенной для хранения в семантическом индексе 250. Поиск может содержать в себе запрос семантического индекса 250 для желаемой информации.
Сегментация 310 содержания может быть выполнена на документах, обладающих текстовым содержанием 210. Документы могут быть сегментированы для более эффективного и потенциально более точного разрешения 320 кореференции. Разрешение 320 референции может рассматривать потенциальные взаимоотношения референции по всему документу. Для длинных документов много времени может быть потрачено, сравнивая удаленные друг от друга выражения. Когда учитывается скорость обработки, сегментация 310 содержания документов перед разрешением 320 кореференции может существенно уменьшить время, используемое для обработки. Сегментация 310 содержания может эффективно уменьшить объем текста 210 содержания, который исследуется при попытках разрешения 320 кореференции.
Сегментация 310 содержания может обеспечить информацию для разрешения 370 семантической кореференции, чтобы указать, когда начинается новый сегмент документа. Такая информация может быть предоставлена как сигнал 312 сегментации или посредством введения разметки в сегмент документа содержания. Также может быть использован внешний файл, содержащий метаинформацию, или другие механизмы.
Структура документа может использоваться, чтобы идентифицировать границы сегмента, которые связи референции вряд ли должны пересекать. Структура документа может быть выведена из явной разметки, такой как границы параграфа, главы или заголовки раздела. Структура документа может также раскрываться через лингвистическую обработку. Сегменты, превышающие заданную длину, могут быть разделены дополнительно. Желательная длина при дополнительном делении может быть выражена, например, в терминах количества предложений или количества слов.
Когда надежное структурирование документа недоступно, могут применяться эвристические или статистические критерии. Такие критерии могут указываться, чтобы иметь тенденцию поддерживать кореференции вместе, в то же время ограничивая размер сегмента до заранее определенного максимума. Могут также применяться различные другие подходы к сегментации текстового содержания 210 документов. Сегментация 310 содержания может также определить весь документ как один сегмент.
Разрешение 320, 370 кореференции может использоваться для идентификации кореференции и псевдонимов в пределах текста 210 содержания. Например, при индексации предложения "Он нарисовал "Гернику"", может быть крайне важно решить, что "он" относится к Пикассо. Это особенно справедливо, если используется извлечение, основанное на факте. Принятие решения по использованию местоимения вместо Пикассо может поддержать индексацию факта, что Пикассо нарисовал "Гернику", вместо менее полезного факта, что некоторый человек мужского пола, "он", нарисовал "Гернику". Без этой способности идентифицировать и индексировать референта местоимения может быть трудно, используя основанный на факте способ извлечения, извлечь документ в ответ на запрос "Пикассо нарисовал". Повторный вызов системы может улучшиться, когда возвращается документ, относящийся к запросу, который не мог бы быть в противном случае возвращен.
Аннотация 330 может применяться к текстовому содержанию 210, чтобы поддерживать слежение за объектами и возможные отношения кореференции. Доверительные значения в решениях разрешений могут также быть аннотированы или маркированы в пределах текстового содержания 210. Определения разрешений могут записываться, добавляя явные метки аннотации к тексту. Например, задается текст "John visited Mary. He met her in 2003" (Джон посетил Мэри. Он встретил ее в 2003 г.). Аннотация 330 может быть применена как "[E1:0.9 John] visited [E2:0.8 Mary]. [E1:0.9 He] met [E2:0.8 her] in 2003", где слова "John" и "He" могут быть связаны как один объект E1 с доверительным значением 0,9. Точно так же слова "Mary" и "her" могут быть связаны как объект два E2 с доверительным значением 0,8. Доверительное значение может указывать критерий доверия в решении разрешения 320 кореференции. Аннотация может кодировать решения кореференции напрямую или аннотация может функционировать как идентификаторы, соединяющие соответствующие термины в аннотированном тексте с дополнительной информацией в автономной аннотации 325.
Решения для разрешения 320 кореференции могут использоваться как часть процесса построения семантического отображения 225. Ссылочные выражения, используемые системой разрешения 320 кореференции, могут интегрироваться во входное представление для семантического отображения 225 внутристрочными аннотациями внутри текстового содержания. Референции могут также обеспечиваться отдельно во внешнем, автономном отображении объекта 325.
В пределах набора больших документов текстового содержания 210, такого как веб-сеть, одно и то же предложение может появляться многократно в различных контекстах. Эти различные контексты могут обеспечивать различных кандидатов для разрешения 320 кореференции. Так как синтаксический анализ 215 может быть в вычислительном отношении дорогим, может быть полезно сохранить результаты анализа для предложений в кэше. Такой механизм 350 кэширования может поддерживать быстрое извлечение информации синтаксического анализа, когда предложение встречается в будущем.
Если разрешение 320 кореференции применяется к одиночному предложению, появляющемуся в различных контекстах, оно может идентифицировать различные отношения кореференции для одних и тех же ссылочных выражений, поскольку кореференция может зависеть от контекста. Таким образом, внутри текста могут быть вставлены различные идентификаторы объекта. Например, текст "He is smart" (Он - умный), появляющийся в двух различных документах, может быть аннотирован с двумя различными идентификаторами, "[E21 He] is smart" и "[E78 He] is smart", когда слово "He" в первом документе относится к другому человеку, чем слово "He" во втором документе.
Могут иметься различные источники информации для поверхностного разрешения 320 кореференции. Например, в дополнение к обнаружению выражения, выполненному во время разрешения 320 кореференции, может существовать система, предназначенная для обнаружения имен собственных в текстовом содержании 210. Эти различные источники могут идентифицировать информацию конфликтующего разрешения. Например, конфликтующее разрешение может возникать при пересечении границ. Например, две системы могли идентифицировать следующие конфликтующие ссылочные выражения:
"[John] told [George Washington] [Irving] was a great writer."
("[Джон] сказал, что [Джордж Вашингтон] [Ирвинг] был большим писателем.")
"[John] told [George] [Washington Irving] was a great writer."
("[Джон] сказал, что [Джордж] [Вашингтон, Ирвинг] был большим писателем.")
Рассмотрим следующие конфликты на пересечении границ: [George Washington] в первой строке конфликтует с [George] во второй строке. Также [George Washington] в первой строке конфликтует с [Washington Irving] во второй строке. Основываясь на доверительной информации или контекстных факторах, различные стратегии могут быть применены итеративно, чтобы решить этот конфликт или сохранить его. В стратегии "сброса" решение для двух или более конфликтующих границ может быть принято посредством сброса одной, которая имеет наименьшую доверительность. В стратегии "слияния" границы могут быть соответственно перемещены, когда две или более границ одинаково правдоподобны в совместимых контекстах. Например, "Mr. [John Smith]" ("[г-н Джон] Смит") и "Mr. [John Smith]" ("г-н [Джон Смит]") могут быть объединены, чтобы получить [Mr. John Smith]" ("[г-н Джон Смит]") В "сохраняющей" стратегии многочисленные границы могут быть сохранены, поддерживая их как неоднозначный вывод, когда конфигурация границ и их доверительные значения не поддерживает ни слияния, ни сброс. Например, "[Alexander the Great]" ("[Александр Великий]") и "[Alexander] [the Great]" ("[Александр] [Великий]") могут быть представлены как альтернативные неоднозначные разрешения.
Компонент 215 синтаксического анализа 215 может быть анализатором с осведомленностью о двусмысленности, поддерживающим прямой синтаксический анализ неоднозначного ввода, при котором синтаксический анализ 355 может сохранить двусмысленность. Альтернативно, разрешения по неоднозначному вводу могут нуждаться в раздельном синтаксическом анализе и многочисленные структуры выводов могут передаваться семантическому компоненту 225 отдельно. Семантическая обработка 225, как обсуждается далее более подробно, может применяться многократно к каждому выводу синтаксического анализатора 215. Это может привести к различным семантическим выводам для различных синтаксических вводов. Альтернативно, семантическое отображение 225 может объединить различные вводы и обрабатывать их совместно.
Семантическое отображение 225 может иметь семантическую нормализацию 360. Многочисленные выводы неоднозначного синтаксического анализа 355 предложения могут совместно использовать значение, имеющее различные формы. Например, это может происходить при нормализации пассивного языка. Рассмотрим "John gave Mary a present" ("Джон сделал Мэри подарок") и здесь слово "John" является подлежащим, а "Mary" является косвенным дополнением. Рассмотрим "a present was given to Mary by John" ("подарок был сделан Мэри Джоном"), здесь подлежащим является "Mary", и "John" является дополнением. Нормализация 360 может обеспечить выводы, что для этих двух примеров представляется одним и тем же, что "John" семантически является подлежащим, а "Mary" семантически является косвенным дополнением. Альтернативно, "John" может быть идентифицирован как агент, а "Mary" - как реципиент. Точно так же идентичные представления могут быть обеспечены для "Rome's destruction of Carthage" ("разрушение Римом Карфагена") и "Rome destroyed Carthage" ("Рим разрушил Карфаген").
Семантическая нормализация может также добавить информацию о различных словах разобранного предложения. Например, слова могут быть идентифицированы в словаре и связаны с их синонимами, гиперонимами, возможными альтернативными названиями и другой лексической информацией.
Разрешение 370 кореференции, основанное на семантике, может принять решение о выражениях, основываясь на синтаксической и семантической информации. Например, "John saw Bill. He greeted him" ("Джон видел Билла. Он приветствовал его") можно решить как "he" ("он") в отношении "John" (Джона) и "him" ("его") в отношении "Bill" ("Билла"). Такое разрешение может быть принято, поскольку "he" ("он") и "John" ("Джон") - оба являются подлежащими, тогда как "him" ("его") и "Bill" ("Билл") - оба являются дополнениями.
Поверхностное разрешение 320 кореференции может функционировать посредством просмотра сегмента документа, в котором появляются термины. Напротив, семантическое разрешение 370 кореференции или глубокое разрешение кореференции может обрабатывать одно предложение за один раз. Возможные антецеденты предложений могут помещаться в хранилище 375 антецедентов, так чтобы семантическое разрешение 370 кореференции последующих предложений могло обратиться к ранее введенным элементам. Антецеденты могут храниться с информацией об их грамматической функции и ролях в предложении, их расстоянии в тексте, с информацией об их взаимоотношениях с другими антецедентами и различными другими фрагментами информации.
Слияние 380 выражений может объединять выражения из поверхностного разрешения 320 кореференции, автономно расположенных аннотаций 325 и информацию из семантического разрешения 370 кореференции. Информация для терминов, которые должны объединяться, может идентифицироваться, используя выравнивание строк или аннотации 330. Могут также использоваться и другие механизмы объединения двух аннотаций на одном и том же тексте.
Синтаксический анализ 215 может быть естественной точкой интеграции для произвольно обнаруженных ссылочных выражений. Анализатор может поддерживать выделение структуры в предложениях, таких как составляющие или грамматические взаимоотношения, такие как подлежащее и дополнение. Синтаксический анализ 215, допускающий двусмысленность, может идентифицировать многочисленные альтернативные структурные представления предложения. В одном примере, информация из разрешения 320 кореференции может использоваться для фильтрации вывода синтаксического анализатора 215, сохраняя только те представления, в которых левая граница каждого ссылочного выражения совпадает с началом совместимой части синтаксического анализа. Например, разрешение кореференции может устанавливать кореферентов как в случае "[EO John] told [El George] [E2 Washington Irving] was a great writer"]. Синтаксический анализатор 215 может раздельно обеспечивать четыре возможности синтаксического анализа:
1. [John] and [George] and [Washington Irving]
2. [John] and [George] and [Washington] and [Irving]
3. [John] and [George Washington] and [Irving]
4. [John] and [George Washington Irving]
Возможности синтаксического анализатора под номером три и под номером четыре могут быть отфильтрованы из-за несовместимости с левой границей объекта E2 "Washington Irving" в соответствии с разрешением 320 референции.
Процесс расширения 385 может добавить дополнительную информацию к представлению. Например, для "John sold a car from Bill" ("Джон продал автомобиль Биллу") расширение 385 может дополнительно вывести представление "Bill bought a car from John" ("Билл купил автомобиль у Джона"). Аналогично, для "John killed Bill" ("Джон убил Билла") расширение 385 может дополнительно вывести представление "Bill died" ("Билл умер").
Традиционные механизмы поиска могут извлекать документы в ответ на запросы пользователей, основываясь на соответствии ключевых слов или терминов. В этих традиционных системах документы могут ранжироваться в соответствии с такими факторами, сколько терминов из запроса обнаруживаются в пределах документов, как часто появляются термины или как близко друг к другу обнаруживаются термины.
Рассмотрим пример запроса "Picasso painted" ("Пикассо нарисовал") с документом первого примера, содержащим "Picasso was born in Malaga. He painted Guernica" ("Пикассо родился в Малаге. Он нарисовал "Гернику"") и с документом второго примера, содержащим "Picasso's friend Matisse painted prolifically" ("Друг Пикассо Матисс рисовал много"). При равном всем остальном, традиционная система может присваивать второму документу более высокий ранг, чем первому, потому что слова "Picasso" ("Пикассо") и "painted" ("рисовал") ближе друг к другу во втором документе. Напротив, система, способная решить, что слово "He" ("он") в первом документе относится к Picasso (Пикассо), может правильно определить ранг первого документа выше, основываясь на этом знании. Полагая, что запрос "Picasso painted" (Пикассо нарисовал") отражает намерение пользователя узнать, что нарисовал Пикассо, первый документ явно дает более соответствующий результат.
Система 300 обработки естественного языка может обладать различной архитектурой. В одном варианте осуществления может быть обеспечен конвейер, в котором информацию с одного этапа языковой обработки передают в качестве входных данных на последующие этапы. Следует понимать, что эти подходы могут осуществляться и при любой другой архитектуре, предназначенной для извлечения фактов, которые должны быть проиндексированы, из текстового содержания 210 на естественном языке.
На фиг. 4 показаны дополнительные подробности в отношении вариантов осуществления, представленных здесь для разрешения кореференции в чувствительной к двусмысленности системе обработки естественного языка. В частности, на фиг. 4 показана блок-схема, демонстрирующая аспекты процессов 400 для чувствительной к двусмысленности индексации с разрешением кореференции в соответствии с аспектами представленного здесь варианта осуществления.
Следует понимать, что описанные здесь логические операции осуществляются (1) как последовательность действий, осуществляемых компьютером или программными модулями, работающими в вычислительной системе и/или (2) как взаимосвязанные машинные логические схемы или схемные модули в пределах вычислительной системы. Реализация является делом выбора, зависящего от производительности и других требований вычислительной системы. Соответственно, описанные здесь логические операции упоминаются по-разному, как операции с состояниями, структурные устройства, действия или модули. Эти операции, структурные устройства, действия и модули могут быть осуществлены в программном обеспечении, во встроенном программном обеспечении, в специализированных цифровых логических схемах и любой их комбинации. Следует также понимать, что может выполняться большее или меньшее количество операций, чем показано на чертежах и описано здесь. Эти операции могут также выполняться последовательно, параллельно, или в порядке, отличном от описанного здесь.
Подпрограмма 400 начинается с этапа 410, где часть текстового содержания 210 может быть извлечена для анализа и индексации. На этапе 420 текстовое содержание 210 может быть сегментировано, чтобы связать области текста, для которых при обработке разрешения осуществляется больший поиск и анализ. Сегментация может основываться на структуре внутри текста, такой как предложения, параграфы, страницы, главы или разделы. Сегментация может также основываться на количестве слов, количестве предложений или других показателях объема или сложности.
На этапе 430 решения по кореференциям могут приниматься в пределах текстового содержания 210. Работая с границами, установленными в рамках этапа 430, кореференции могут быть идентифицированы и согласованы. Могут быть установлены группы альтернативных названий. Для обеспечения "поверхностного" разрешения может использоваться поверхностная структура. Двусмысленности, возникающие во время разрешения кореференции, могут аннотироваться. Такая аннотация 340 может быть предоставлена в виде разметки в пределах текстового содержания 210 или с помощью внешнего отображения объекта. Аналогичная аннотация может также использоваться для маркировки референций и референтов с номерами объектов. Аннотация может быть также обеспечена, чтобы указать доверительные уровни установленных разрешений кореференции.
На этапе 440 синтаксический анализ может преобразовать предложения в представления, которые делают явными синтаксические отношения между словами. Синтаксический анализатор 215 может применять грамматику 220, связанную с конкретным языком, чтобы обеспечить информацию синтаксического анализа 355.
На этапе 450 семантические представления могут быть извлечены из текстового содержания 210. Информация, выраженная в документе внутри текстового содержания 210, может быть формально организована с точки зрения представлений взаимоотношений между объектами внутри текста. Эти отношения в общем смысле могут упоминаться как факты.
На этапе 455 информация синтаксического анализа 355, выведенная из синтаксического анализа 215, может использоваться для поддержки принятия глубокого разрешения 370 кореференции 370. Семантические представления, созданные во время этапа 450, могут также быть усилены.
На этапе 460 выражения, полученные при операции 430 поверхностного разрешения кореференции, могут быть объединены с информацией, полученной на этапе 455 глубокого разрешения кореференции. Синтаксический анализатор 215 с поддержкой двусмысленности может идентифицировать многочисленные альтернативные структурные представления для предложения. Информация от разрешения кореференции может использоваться для фильтрации вывода синтаксического анализатора 215.
На этапе 470 семантика текстового содержания 210 может быть расширена, чтобы содержать выбранные неявные представления. На этапе 475 факты могут быть извлечены из семантических представлений, выражающих взаимоотношения между объектами, событиями и сочетаниями обстоятельств в пределах текстового содержания. На этапе 480 факты и объекты могут быть сохранены в семантическом индексе 250.
Подпрограмма 400 может закончиться после этапа 480. Однако следует понимать, что подпрограмма 400 может применяться неоднократно или непрерывно, чтобы извлекать фрагменты текстового содержания 210, которые должны применяться к семантическому индексу 250.
Показанный на фиг. 5 пример компьютерной архитектуры 500 может выполнять описанные здесь компоненты программного обеспечения для разрешения кореференции в чувствительной к двусмысленности системе обработки естественного языка. Компьютерная архитектура, представленная на фиг. 5, показывает обычный настольный компьютер, ноутбук или серверный компьютер и может использоваться для выполнения любых аспектов компонент программного обеспечения, представленных здесь. Следует, однако, понимать, что описанные компоненты программного обеспечения могут также выполняться на другом примере вычислительных сред, таких как мобильные устройства, телевидение, телевизионные абонентские приставки, киоски, информационные системы транспортных средств, мобильные телефоны, встроенные системы или любые другие. Любой один или более клиентских компьютеров 110А-110D или серверных компьютеров 120 могут осуществляться как компьютерная система 500, соответствующая вариантам осуществления.
Компьютерная архитектура, показанная на фиг. 5, может содержать центральный процессор 10 (CPU), системное запоминающее устройство 13, содержащее оперативное запоминающее устройство 14 (RAM) и постоянное запоминающее устройство 16 (ROM), и системную шину 11, которая может соединять системное запоминающее устройство 13 с центральным процессором 10. Базовая система ввода-вывода, содержащая основные подпрограммы, которые помогают передавать информацию между элементами внутри компьютера 500, такие как те, которые действуют во время запуска, может храниться в ROM 16. Компьютер 500 может дополнительно содержать запоминающее устройство 15 большого объема для хранения операционной системы 18, программного обеспечения, данных и различные программных модулей, таких как те, которые связаны с механизмом 130 естественного языка. Механизм 130 естественного языка может выполнять части компонент программного обеспечения, описанных здесь. Семантический индекс 250, связанный с механизмом 130 естественного языка, может храниться внутри запоминающего устройства 15 большого объема.
Запоминающее устройство 15 большого объема может соединяться с CPU 10 через контроллер запоминающего устройства большого объема (не показан), соединенный с шиной 11. Запоминающее устройство 15 большого объема и связанные с ним считываемые компьютером носители могут обеспечивать энергонезависимое запоминающее устройство для компьютера 500. Хотя описание считываемых компьютером носителей, содержащееся здесь, относится к запоминающему устройству большого объема, такому как жесткий диск или дисковод для компакт-дисков, специалисты в данной области техники должны понимать, что считываемые компьютером носители могут быть любыми доступными компьютерными носителями данных, к которым может обращаться компьютер 500.
Для примера, но не для ограничения, считываемые компьютером носители могут содержать энергозависимые и энергонезависимые, съемные и несъемные носители, осуществляемые любым способом или технологией хранения информации, такими как считываемые компьютером команды, структуры данных, программные модули или другие данные. Например, считываемые компьютером носители содержат, RAM, ROM, EPROM, EEPROM, флэш-память или другие твердотельные технологии, CD-ROM, цифровые универсальные диски (DVD), HD-DVD, BLU-RAY или другие оптические запоминающие устройства, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства или любые другие носители, которые могут использоваться для хранения желаемой информации и к которым может получать доступ компьютер 500, но не ограничены этим.
В соответствии с различными вариантами осуществления, компьютер 500 может работать в сетевой среде, используя логические соединения с удаленными компьютерами через сеть, такую как сеть 140. Компьютер 500 может соединяться с сетью 140 через сетевой интерфейсный блок 19, соединенный с шиной 11. Следует понимать, что сетевой интерфейсный блок 19 может также использоваться для соединения с другими типами сетей и удаленными компьютерными системами. Компьютер 500 может также содержать контроллер 12 ввода-вывода для приема и обработки входных сигналов от многих других устройств, в том числе, от клавиатуры, мыши или электронного пера (не показано). Точно так же, контроллер 12 ввода-вывода может обеспечить выходной сигнал на видеодисплей, принтер или другой тип устройства вывода (также не показано).
Как кратко упоминалось выше, многие программные модули и файлы данных могут храниться в запоминающем устройстве 15 большой емкости и в RAM 14 компьютера 500, в том числе, операционная система 18, пригодная для управления работой сетевого настольного компьютера, ноутбука, серверного компьютера или другой вычислительной средой. Запоминающее устройство 15 большого объема, ROM 16 и RAM 14 могут также хранить один или более программных модулей. В частности, запоминающее устройство 15 большого объема, ROM 16 и RAM 14 могут хранить механизм 130 естественного языка 130 для выполнения CPU 10. Механизм 130 естественного языка может содержать компоненты программного обеспечения для осуществления частей процессов, обсуждавшихся подробно со ссылкой на фиг. 2-4. Запоминающее устройство 15 большого объема, ROM 16 и RAM 14 могут также хранить другие типы программных модулей. Запоминающее устройство 15 большого объема, ROM 16 и RAM 14 могут также хранить семантический индекс 250, связанный с механизмом 130 естественного языка.
На основе вышесказанного, следует понимать, что здесь представляются технологии разрешения кореференции в чувствительной к двусмысленности системе обработки естественного языка. Хотя предмет изобретения, представленный здесь, был описан на языке, специфическом для компьютерных структурных признаков, методологических действиях и считываемых компьютером носителей, подразумевается, что изобретение, определенное в приложенной формуле изобретения, не обязательно ограничивается описанными здесь конкретными признаками, действиями или носителями. Скорее, конкретные признаки, действия и носители раскрыты как примеры формы осуществления формулы изобретения.
Предмет изобретения, описанный выше, представлен только для примера и не должен рассматриваться как ограничение. В описанном здесь предмете изобретения могут быть сделаны различные модификации и изменения, не следующие показанным и описанным примерам вариантов осуществления и применениям и не отступающие от истинной сущности и объема настоящего изобретения, которые изложены в последующей формуле изобретения.