RU2638634C2 - Автоматическое обучение программы синтаксического и семантического анализа с использованием генетического алгоритма - Google Patents

Автоматическое обучение программы синтаксического и семантического анализа с использованием генетического алгоритма Download PDF

Info

Publication number
RU2638634C2
RU2638634C2 RU2014102113A RU2014102113A RU2638634C2 RU 2638634 C2 RU2638634 C2 RU 2638634C2 RU 2014102113 A RU2014102113 A RU 2014102113A RU 2014102113 A RU2014102113 A RU 2014102113A RU 2638634 C2 RU2638634 C2 RU 2638634C2
Authority
RU
Russia
Prior art keywords
parameter
quality
vector
parameters
translation
Prior art date
Application number
RU2014102113A
Other languages
English (en)
Other versions
RU2014102113A (ru
Inventor
Константин Владимирович Анисимович
Original Assignee
Общество с ограниченной ответственностью "Аби Продакшн"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "Аби Продакшн" filed Critical Общество с ограниченной ответственностью "Аби Продакшн"
Priority to RU2014102113A priority Critical patent/RU2638634C2/ru
Priority to US14/588,695 priority patent/US9542381B2/en
Publication of RU2014102113A publication Critical patent/RU2014102113A/ru
Priority to US15/295,362 priority patent/US9703776B2/en
Application granted granted Critical
Publication of RU2638634C2 publication Critical patent/RU2638634C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/51Translation evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)

Abstract

Изобретение относится к области обработки текста на естественном языке. Технический результат заключается в повышении точности анализа текста на естественном языке. Способ, заключающийся в создании устройством обработки начальной популяции и использовании системы Natural Language Compiler (NLC) для перевода предложения с исходного языка на целевой язык с помощью синтаксических и семантических описаний исходного предложения, построении вектора оценок качества, замене нескольких параметров в векторе параметров на скорректированные параметры, причем замена нескольких параметров включает случайный выбор первого параметра из вектора параметров и корректировку первого параметра для получения первого скорректированного параметра. Вычисление оценки качества для первого скорректированного параметра, сравнение оценки качества для первого скорректированного параметра с оценкой качества для первого параметра, замену первого параметра на первый скорректированный параметр, если оценка качества для первого скорректированного параметра лучше, чем оценка качества для первого параметра. 3 н. и 17 з.п. ф-лы, 2 ил.

Description

УРОВЕНЬ ТЕХНИКИ
[0001] Одной из основных задач машинного перевода является предоставление качественного результата. Различные технологии используют разные методы и подходы в решении данной задачи. Например, для перевода исходного предложения на другой язык может использоваться глубинный анализ исходного предложения на основе исчерпывающих лингвистических описаний исходного языка и независимая семантическая структура, раскрывающая смысл исходного предложения. Также они могут использоваться для синтеза перевода, который передает смысл исходного предложения на целевом языке с использованием универсальных семантических описаний и лингвистических описаний целевого языка. Для повышения точности перевода стадия анализа и/или синтеза может использовать разного рода статистику и оценки, полученные с помощью анализа параллельных текстовых корпусов. Например, система Natural Language Compiler (который ниже именуется «NLC») использует лингвистические описания (морфологические, синтаксические, семантические, прагматические и пр.) для построения независимой синтаксической структуры предложения и синтеза соответствующего предложения на языке перевода. Система Natural Language Compiler (NLC) основана на технологии универсального языкового моделирования и получения языковых структур (система машинного перевода на основе языковых моделей), ее описание приведено в заявке на патент США No. 11/548,214, которая была подана 10 октября 2006 года, а также в заявках на патент США No. 11/690,099, 11/690,102 и 11/690,104, которые были поданы 22 марта 2007 года. В целом, чем более точно описана лексика языка, тем выше вероятность получения точного перевода.
[0002] Неоднозначность естественного языка, омонимия, наличие множества лексических вариантов и различающихся синтаксических моделей в процессе машинного перевода иногда приводят к довольно большому количеству возможных вариантов разбора и перевода исходного предложения. Обычно человек интуитивно легко справляется с этой проблемой, основываясь на своих знаниях о мире и знании контекста исходного предложения, однако решение этого вопроса может оказаться проблематичным для системы машинного перевода. Для достижения лучших результатов машинного перевода (максимального приближения к человеческому переводу) используется множество оценок связей, полученных на этапе обучения системы и необходимых NLC для анализа естественного языка. Применяются различные виды оценок, например, оценки лексических значений (частота и вероятность употребления) слов, оценки заполнителей поверхностных, глубинных позиций, оценки семантического описания и пр. От точности подобранных оценок зависит качество перевода, так как по сумме оценок на этапе анализа система делает выбор наилучшей синтаксической структуры исходного предложения. Общая синтаксическая структура предложения представляет собой структуру, которая описывает конструкцию предложения и указывает главные слова, зависимые слова и связи между ними.
[0003] В настоящее время этот подбор осуществляется вручную с использованием параллельного анализа размеченных текстовых корпусов. Размеченный вручную корпус представляет собой корпус, в котором каждому слову поставлен в соответствие набор грамматических значений, а каждому предложению - одна синтаксическая структура. Грамматическое значение - это элемент грамматической категории, то есть замкнутой системы, задающей разбиение обширной совокупности словоформ на непересекающиеся классы, различия между которыми существенно сказывается на грамматическом значении текста. Примерами грамматических категорий являются род, число, падеж, одушевленность, переходность и так далее.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0004] В настоящем описании приводятся способы, системы и машиночитаемые носители данных для автоматического обучения синтаксического и семантического анализатора с использованием генетического алгоритма. Один вариант осуществления относится к способу, который включает создание с помощью устройства обработки данных начальной популяции, содержащей вектор параметров для элементов синтаксических и семантических описаний исходного предложения. Этот способ дополнительно включает использование системы Natural Language Compiler (NLC) для перевода исходного предложения в итоговый перевод на основе синтаксических и семантических описаний исходного предложения. Этот способ дополнительно включает построение вектора оценок качества, в котором каждая оценка качества в векторе оценок качества имеет соответствующий параметр в векторе параметров. Этот способ дополнительно включает замену нескольких параметров в векторе параметров скорректированными параметрами, причем такая корректировка нескольких параметров включает следующее: случайный выбор первого параметра из вектора параметров и корректировку первого параметра для получения первого скорректированного параметра; вычисление оценки качества первого скорректированного параметра; сравнение оценки качества для первого скорректированного параметра с оценкой качества первого параметра и замену первого параметра первым скорректированным параметром, если оценка качества первого скорректированного параметра, лучше оценки качества первого параметра.
[0005] Другой вариант осуществления относится к системе, включающей устройство обработки данных. Это устройство обработки настроено на создание начальной популяции, содержащей вектор параметров для элементов синтаксических и семантических описаний исходного предложения. Это устройство обработки дополнительно настроено на возможность использования системы Natural Language Compiler (NLC) для перевода исходного предложения в итоговый перевод на основе синтаксических и семантических описаний исходного предложения. Это устройство обработки данных дополнительно настроено на получение вектора оценок качества, в котором каждая оценка качества в векторе оценок качества имеет соответствующий параметр в векторе параметров. Это устройство обработки данных дополнительно настроено на замену ряда параметров в векторе параметров скорректированными параметрами, причем для замены нескольких параметров схема обработки настроена на возможность случайным образом выбирать первый параметр из вектора параметров и скорректировать первый параметр для создания первого скорректированного параметра; вычислить оценку качества для первого скорректированного параметра; сравнить оценку качества для первого скорректированного параметр с оценкой качества для первого параметра, и заменить первый параметр первым скорректированным параметром, если оценка качества для первого скорректированного параметр лучше оценки качества для первого параметра.
[0006] Другой вариант осуществления относится к постоянному машиночитаемому носителю, на который записаны команды, причем эти команды содержат команды для создания начальной популяции, содержащей вектор параметров для элементов синтаксических и семантических описаний исходного предложения. Эти команды дополнительно содержат команды, используемые системой Natural Language Compiler (NLC) для перевода исходного предложения в итоговый перевод на основе синтаксических и семантических описаний исходного предложения. Эти команды дополнительно содержат команды для построения вектора оценок качества, в котором каждая оценка качества в векторе оценок качества имеет соответствующий параметр в векторе параметров. Эти команды дополнительно содержат команды для замены нескольких параметров в векторе параметров скорректированными параметрами, причем команды для замены нескольких параметров включают следующее: команды для случайного выбора первого параметра из вектора параметров и корректировки первого параметра для получения первого скорректированного параметра; команды для вычисления оценки качества для первого скорректированного параметра; команды для сравнения оценки качества первого скорректированного параметра, с оценкой качества для первого параметра, а также инструкции по замене первого параметра первым скорректированным параметром, если оценка качества для первого настроенного параметру лучше оценки качества для первого параметра.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0007] Указанные выше и другие признаки настоящего изобретения будут более понятны из приведенного ниже описания и прилагаемой формулы изобретения, которые рассматриваются совместно с прилагаемыми чертежами. Указанные чертежи иллюстрируют только отдельные варианты осуществления данного изобретения в соответствии с его раскрытием. Поэтому возможности раскрытия изобретения не ограничиваются вариантами, представленными в чертежах. Чертежи прилагаются для более подробного и точного описания.
[0008] На Фиг. 1 показана блок-схема генетического алгоритма согласно одному из возможных вариантов реализации изобретения.
[0009] На Фиг. 2 показано вычислительное средство, которое можно использовать для реализации методов и способов, раскрытых в настоящем описании, в соответствии с одним из вариантов реализации изобретения.
[0010] На протяжении всего приведенного ниже подробного описания делаются ссылки на эти прилагаемые чертежи. На этих чертежах одинаковые символы обычно означают аналогичные компоненты, если контекст не требует иного. Иллюстрирующие варианты осуществления, приведенные в подробном описании, на чертежах и пунктах формулы изобретения, не являются единственно возможными. Возможны другие варианты осуществления изобретения, возможны и другие изменения, не затрагивающие его объект и сущность. Различные аспекты настоящего изобретения, приведенные в настоящем описании изобретения и проиллюстрированные чертежами, можно комбинировать, заменять, группировать и конструировать для получения широкого спектра различных вариантов применения, все они явно подразумеваются настоящим описанием изобретения и считаются его частью.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[0011] Как правило, ручная разметка корпуса - это очень трудоемкий и дорогостоящий процесс, требующий колоссальной человеческой работы. Потому число таких корпусов и их объемы весьма ограничены и зачастую бывают недостаточными для набора необходимой статистики. Более того, оценки, соответствующие нужным статистикам, могут зависеть друг от друга, поэтому не получится улучшить качество перевода, последовательно подбирая значения этих оценок, из-за огромного числа вариантов разбора. Предлагаемые способы, системы и машиночитаемые носители дают возможность справиться с задачей подбора оценок (настроечных параметров) для различных элементов синтаксического/семантического описания автоматически с использованием генетического алгоритма.
[0012] Описание генетического алгоритма
[0013] В целом генетический алгоритм - это эвристический алгоритм поиска, применяемый для решения оптимизационных задач и моделирования путем случайного подбора, комбинирования и вариации параметров. Использование таких механизмов аналогично естественному отбору в природе. Задача формализуется таким образом, чтобы ее решение могло быть закодировано в виде вектора элементов, где каждый элемент может быть битом, числом или неким другим объектом. Некоторым, обычно случайным, образом создается множество элементов начальной популяции. Это множество элементов оценивается с использованием «функции приспособленности», в результате чего с каждым элементом ассоциируется определенное значение («приспособленность»), которое определяет, насколько хорошо данный элемент решает поставленную задачу.
[0014] Из полученного множества решений («поколения») с учетом значения «приспособленности» выбираются решения (обычно лучшие особи имеют большую вероятность быть выбранными), к которым применяются «генетические операторы» (в большинстве случаев «скрещивание» (crossover) и «мутация» (mutation)). Результатом этого является получение новых решений. Для каждого из новых решений также вычисляется значение приспособленности, и затем производится отбор («селекция») лучших решений в следующее поколение. Этот набор действий повторяется итеративно; так моделируется «эволюционный процесс», продолжающийся несколько жизненных циклов (поколений), пока не будет выполнен критерий остановки алгоритма. Например, таким критерием может быть следующее: нахождение глобального либо локального оптимального решения; исчерпание числа поколений, отпущенных на эволюцию, и исчерпание времени, отпущенного на эволюцию.
[0015] Таким образом, выделяются следующие основные этапы генетического алгоритма: задание целевой функции (приспособленности) для особей в популяции; создание начальной популяции и запуск итеративных циклов. Итеративные циклы могут включать в себя: размножение (скрещивание) и/или мутацию; вычисление значения целевой функции для всех особей, формирование нового поколения (селекция), а затем, если выполняется одно или несколько условий остановки, то окончание этого цикла (в противном случае, если условия остановки не выполняются, цикл может повторяться).
[0016] Перейдем к Фиг. 1, на которой приведена блок-схема последовательности этапов генетического алгоритма 100 в соответствии с одним из вариантов реализации изобретения. На шаге 102 с помощью случайного процесса создается начальная популяция. Даже если эта начальная популяция окажется совершенно неконкурентоспособной, то вполне вероятно, что генетический алгоритм все равно быстро переведет ее в жизнеспособную популяцию (с помощью селекции). Таким образом, на шаге 102 достаточно, чтобы элементы популяции можно было использовать для подсчета функции приспособленности (Fitness). Итогом шага 102 является популяция Н, состоящая из N особей.
[0017] Как правило, размножение или скрещивание (шаг 104) аналогичны половому размножению (т.е. чтобы произвести потомка, нужны несколько родителей, обычно два). Тем не менее, в некоторых вариантах осуществления размножение определяется по-разному, оно может зависеть от представления используемых данных. Главное требование к размножению заключается в том, чтобы потомок или потомки имели возможность унаследовать черты обоих родителей (например, «перемешав» их каким-либо способом и т.д.).
[0018] Для размножения особи обычно выбираются из всей популяции Н, а не из выживших на первом шаге элементов Н0. Дело в том, что генетический алгоритм довольно часто страдает от недостатка разнообразия в особях. Например, быстро выделяется один-единственный элемент популяции, который представляет собой локальный максимум, после чего все остальные элементы популяции проигрывают ему отбор. Таким образом, вся популяция «забивается» копиями этой особи, которая является локальным максимумом, что является нежелательным. Существуют различные способы противодействия этому эффекту. Например, для размножения можно выбирать всех особей, а не самых приспособленных, что приводит к более разнообразной популяции.
[0019] В зависимости от поставленной задачи этап размножения 104 может сопровождаться или заменяться этапом мутации. Доля мутантов (m) может являться параметром генетического алгоритма 100. На шаге мутации нужно выбрать mN особей, а затем скорректировать их в соответствии с заранее определенными операциями мутации.
[0020] На шаге селекции 106 нужно из всей популяции выбрать определенную ее долю, которая останется «в живых» на этом этапе эволюции. Есть разные способы проводить отбор, при этом вероятность выживания особи h должна зависеть от значения функции приспособленности Fitness (h). Сама доля выживших обычно является параметром генетического алгоритма, и ее задают заранее. По итогам отбора происходит формирование нового поколения Н' (шаг 108). Новое поколение Н' состоит из sN особей, а остальные не выбранные особи погибают. Если желаемый результат достигнут (например, если выполняется условие остановки на шаге 110), то полученная популяция 112 может считаться решением поставленной проблемы. Если желаемый результат является неудовлетворительным (шаг 110), то генетический алгоритм 100 может быть повторен с другим этапом размножения (скрещивания) и/или мутации 104 для получения нового поколения.
[0021] Как уже обсуждалось выше, один из вариантов реализации изобретения включает в себя способ автоматического вычисления оценок (оценочных параметров) различных элементов в синтактико-семантическом описании. Вычисление оценок происходит на этапе обучения системы. Для обучения используются неразмеченные параллельные корпуса (на исходном языке и целевом языке). Обычно каждый корпус состоит из не менее 100000 фрагментов, однако можно использовать корпуса другого объема. В параллельных корпусах каждому фрагменту из корпуса исходного языка соответствует фрагмент из корпуса целевого языка, который рассматривается в качестве эталонного перевода. В процессе обучения системы корпус исходного языка подвергается переводу с помощью системы NLC, как описано выше. Полученные переведенные фрагменты сравниваются с эталонными фрагментами, на основании чего делается вывод о качестве проделанной системой работы.
[0022] В общем случае генетический алгоритм (например, генетический алгоритм 100) используется для решения задач оптимизации. Таким образом, в одном из вариантов реализации изобретения генетический алгоритм 100 используется для решения задачи максимального повышения качества перевода. Таким образом, целевой функцией является оценка качества перевода. Генетический алгоритм подбирает множество оценок связей, используемое системой NLC на этапе синтаксического анализа для максимального повышения качества перевода по некоторому критерию. Уровень качества можно определить заранее, до запуска алгоритма. Подбор оценок происходит до тех пор, пока качество полученного перевода не достигнет заданного уровня.
[0023] Критерий качества перевода представляет совокупность двух параметров: оценки BLEU (Bilingual Evaluation Understudy) и количества аварийных предложений (аварийных состояний). Оценка BLEU - эта метрика, используемая для оценки качества машинного перевода, ее более подробное описание приведено ниже. Оценка BLEU принимает значения от 0 до 1, она показывает близость машинного перевода к эталонному переводу (например, переводу, сделанному человеком). Аварийные предложения - это предложения, разобранные в специальном аварийном режиме, который включается автоматически, если система NLC не может построить его корректное синтактико-семантическое описание.
[0024] Формально задачу максимального повышения качества можно записать следующим образом:
Figure 00000001
где
Figure 00000002
представляет собой вектор оценок или настроечных параметров,
Figure 00000003
является функцией оценки качества, такой, что
Figure 00000004
, а q является оценкой качества перевода, где q=q (bleu, Ecount), которая включает в себя две числовые характеристики: blue (оценку BLEU) и Ecount (число аварийных предложений). Функция
Figure 00000003
представляет собой систему перевода NLC, запущенную с данным набором настроечных параметров
Figure 00000002
на корпусе. Результаты перевода вычисляются с использованием оценки BLEU и числа аварийных предложений.
[0025] Возвратимся к Фиг. 1; в одном из вариантов реализации изобретения на шаге 102 генетического алгоритма 100 создается начальная популяция, которая в соответствии с настоящим изобретением является вектором наборов настоечных параметров
Figure 00000005
. Затем описанная выше система перевода NLC может быть запущена для каждого элемента популяции (например, для каждого набора настроечных параметров). После завершения перевода системой NLC итоговый перевод сравнивается с эталонным переводом, и можно вычислить оценку качества перевода на основе оценки BLEU и числа аварийных предложений. При этом получается вектор оценок качества перевода (q1, q2, …, qN) для каждого элемента популяции.
[0026] На шаге 104 алгоритма 100 производятся «мутации». Мутации можно реализовать путем случайного выбора нескольких элементов популяции (наборов настроечных параметров) и изменения по меньшей мере одного параметра в каждом из выбранных наборов. Затем вектор оценки качества
Figure 00000006
можно вычислить для набора с «мутировавшими» элементами
Figure 00000007
.
[0027] На шаге селекции 106 две оценки качества (т.е. оценки качества перевода и оценки качества мутация) сравниваются поэлементно, чтобы определить, какая из них лучше. Если
Figure 00000008
лучше q1, то
Figure 00000009
в векторе
Figure 00000005
заменяется
Figure 00000010
. В противном случае элемент популяции не заменяется «мутировавшим» элементом. При выполнении описанных выше замен формируется новое поколение (108), и алгоритм 100 можно снова применить к этому корпусу, начиная с этапа 104.
[0028] Как уже отмечалось выше, генетический алгоритм является итеративным алгоритмом. Так, в одном из вариантов реализации изобретения все три основных шага (например, шаги 104, 106 и 108) повторяются последовательно на каждой итерации. Этот алгоритм может быть остановлен при выполнении условия остановки. В одном из вариантов реализации изобретения могут использоваться следующие условия остановки алгоритма: 1) по меньшей мере один из элементов вектора оценки качества достиг необходимого уровня качества; и/или 2) популяция выродилась [т.е. после выполнения последнего шага 108 алгоритма сформированное поколение состоит из одинаковых элементов
Figure 00000011
].
[0029] Таким образом, когда будет достигнут заданный уровень качества перевода для одного из элементов популяции, при том что алгоритм не был остановлен (то есть, желаемый результат достигнут, на что указывает решение на этапе 110), полученная популяция 112 (т.е. набор настроечных параметров или оценок) обеспечивает наилучшую структуру с точки зрения синтаксических и семантиких описаний.
[0030] Дополнительное пояснение по оценке BLEU
[0031] Как уже упоминалось выше, оценка BLEU является хорошо известным инструментом, используемым для сравнения качества машинного перевода с переводом, выполненным человеком. Эта оценка определяет, насколько качественно был сделан машинный перевод с одного естественного языка на другой естественный язык. Уровень качества определяется на основе результатов сравнения переводов, выполненных машиной и человеком (например, чем ближе они друг к другу, тем выше качество машинного перевода). Оценка BLEU может вычисляться с помощью метрики, характеризующей точность перевода по n-граммам (т.е. последовательностей из n слов) в предложении. Данную метрику можно определять следующим образом: в машинном переводе предложения выделяют все n-граммы. Затем эти n-граммы ищут в нескольких вариантах человеческого перевода. Максимальное число повторений n-граммы в одном из вариантов перевода обозначаются mmax. Если количество повторений этой n-граммы в машинном переводе mw превышает mmax, то mw уменьшают до mmax, (в противном случае mw остается без изменения). Аналогичным образом поступают с остальными n-граммами. После обработки n-грамм описанным выше способом суммируются количество повторений mw для всех n-грамм, и полученную сумму делят на общее количество n-грамм в машинном переводе. Этот вариант вычисления оценки BLEU учитывает адекватность перевода и частоту употребления тех или иных словосочетаний (fluency).
[0032] Для вычисления метрики в тестовом корпусе используют аналогичный подход, так как значимой единицей корпуса является предложение. Обычно существует несколько вариантов перевода исходного предложения, как возможны и различные лексические варианты, что может приводить к искажению смысла и терминологии в различных частях одного и того же текста. Поэтому производится выделение n-грамм, совпадающих от предложения к предложению. Затем производится суммирование значений mw (после описанной выше процедуры урезания) для всех n-грамм в корпусе и деление данной суммы на общее число n-грамм в тестовом корпусе. Затем может быть вычислена оценка точности перевода рn:
Figure 00000012
[0033] С учетом того, что точность перевода экспоненциально падает с ростом длины n-грамм, вычисление оценка BLEU необходимо проводить как
Figure 00000013
, где wn - это постоянные веса (Σnwn=1). Соответственно, для учета длины машинного перевода вводится метрика, названная штрафом за краткость (brevity penalty). Эта метрика определяется как:
Figure 00000014
[0034] где с - это длина машинного перевода, а r является эффективной длиной корпуса человеческого перевода. В этом случае итоговая оценка BLEU имеет следующий вид:
Figure 00000015
[0035] Или для удобства вычисления:
Figure 00000016
[0036] Значения оценки BLEU лежат в диапазоне от 0 до 1, причем машинный перевод получает оценку 1, если он идентичен переводу, выполненному человеком. В некоторых вариантах осуществления эта оценка учитывает одновременно и длину предложения, выбор слов и порядок слов. Преимущество вычисления оценки BLEU таким способом заключается в том, что эта оценка сильно коррелирует с оценкой качества перевода, сделанного вручную.
[0037] Дополнительные пояснения по аварийным предложениям
[0038] Как уже отмечалось выше, аварийное предложение - это предложение, разбираемое в специальном аварийном режиме, который может включаться автоматически при обнаружении ошибки. Например, может произойти ошибка, когда система NLC анализирует исходное предложение или синтезирует перевод исходного предложения на целевом языке. Такие ошибки могут включать следующие ошибки, но не ограничиваться ими:
1) Наличие синтаксической ошибки, в том числе несогласованность слов в предложении, например, «You was't haрpy.» (Вы не был счастлив.); пропуск предлога, например, «Не went _the house and shut the door.» (Он вошел_дом и закрыл дверь.) или употребление лишнего предлога;
2) Отсутствие запятой после слова, если описание этого слова в соответствующей семантической иерархии требует обязательной ее постановки;
3) Отсутствие описания (например, при отсутствии соответствующей лексемы в словаре) или если слово содержит редкую конструкцию;
4) Слишком длинное предложение (например, предложение, которое является слишком длинным по количеству слов, может инициировать аварийный режим).
[0039] Также возможны и другие ошибки. Если программа сталкивается с такими трудностями, то она может перейти в аварийный режим, в котором выбирается приемлемый вариант разбора.
[0040] Одним из преимуществ, описанных в настоящем документе, вариантов осуществления является использование неразмеченных текстовых корпусов вместо корпусов с ручной разметкой. Это позволяет избежать применения квалифицированного, но дорогостоящего человеческого труда и существенно сократить затраты на разработку. Кроме того, автоматическое вычисление основанных на функциях оценок различных элементов синтаксико-семантического описания повышает качество результатов выполненных системой переводов и ускоряет весь процесс обработки.
[0041] На Фиг. 2 приведен пример вычислительного средства (200), которое может быть использовано для внедрения методов и способов, описанных в настоящем документе. На Фиг. 2 показано вычислительное средство 200, которое может использоваться для внедрения методов и способов, описанных в настоящем документе. В качестве процессора (202) можно использовать любой серийный цифровой процессор (ЦП). Под «процессором» (202) подразумевается один или несколько процессоров, которые могут использоваться в виде процессора общего назначения, специализированной интегральной схемы (ASIC), одной или нескольких программируемых вентильных матриц (FPGA), цифрового сигнального процессора (DSP), группы обрабатывающих компонентов или иных подходящих электронных компонентов для обработки данных. Память 204 может включать оперативное запоминающее устройство (RAM) устройства, включающие основную память вычислительного средства 200, а также любые дополнительные уровни памяти, например, кэш-память, энергонезависимую или резервную память (например, программируемую или флэш-память), постоянные запоминающие устройства и т.д. Кроме того, память 204 может включать память, физически расположенную в другом месте в вычислительном средстве 200, например, любую кэш-память в процессоре 202, а также любую емкость запоминающего устройства, используемую в качестве виртуальной памяти, например, при хранении в запоминающем устройстве большой емкости 210. В памяти (204) могут храниться (отдельно или во взаимодействии с запоминающим устройством (210)) компоненты базы данных, компоненты объектного кода, компоненты сценария или иные типы структур данных для поддержки различных действий и информационных структур, описанных в настоящем документе. Память (204) или запоминающее устройство (210) могут передавать компьютерный код или команды в процессор (202) для выполнения процессов, описанных в настоящем документе.
[0042] Вычислительное средство (200) обычно имеет несколько входов и выходов для обмена информацией с другими устройствами и системами. В качестве интерфейса пользователя в вычислительном средстве (200) может применяться одно или несколько устройств ввода (206) (например, клавиатура, мышь, сенсорная панель, формирователь изображения, сканер и пр.), а также одно или несколько устройств вывода (208) (например, панель с жидкокристаллическим дисплеем и устройство для воспроизведения звука (динамик)). В качестве дополнительной памяти вычислительное средство 200 может также включать одно или несколько устройств памяти большой емкости 210, например, накопитель на дискете или на другом съемном диске, на жестком диске, запоминающее устройство с прямым доступом (DASD), оптический привод (например, с диском формата компакт-диск (CD), с диском формата «цифровой универсальный диск» (DVD) и т.д.) и/или накопитель на магнитной ленте и др. Вычислительное средство (200) может также включать интерфейс с одной или несколькими сетями (212), например, с локальной сетью, глобальной сетью (WAN), беспроводной сетью и/или сетью Интернет и т.д. для обеспечения обмена информацией с другими компьютерами, подключенными к этим сетям. Необходимо учесть, что вычислительное средство (200) обычно имеет различные аналоговые и цифровые интерфейсы между процессором (202) и каждым из компонентов (204, 206, 208 и 212), что хорошо известно специалистам.
[0043] Вычислительное средство (200) может работать под управлением операционной системы (214), на нем можно запускать различные программные приложения (216), включая компоненты, программы, объекты, модули и т.д. для осуществления описанных выше процессов. Например, программные приложения для компьютера могут включать приложение системы NCL, приложение с генетическим алгоритмом, и приложение для получения оценки BLEU. Все описанные выше приложения могут быть частью единого приложения или являться отдельными приложениями, подключаемыми модулями и т.д. Приложения (216) также могут запускаться на одном или нескольких процессорах других компьютеров, соединенных с вычислительным средством (200) по сети (212), например, в распределенной вычислительной среде, где обработка, необходимая для реализации функций компьютерной программы, может распределяться по сети между несколькими компьютерами.
[0044] Все подпрограммы, выполняемые для реализации вариантов осуществления, могут выполняться частью операционной системы или специальным приложением, компонентой, программой, объектом, модулем или последовательностью команд, обобщенно именуемыми «компьютерными программами». Как правило, компьютерные программы представляют собой ряд команд, записанных в разное время в разных устройствах хранения данных в компьютере; после прочтения и выполнения команд одним или несколькими процессорами в компьютере они заставляют этот компьютер выполнять операции, требуемые для выполнения элементов описанных вариантов осуществления. Различные варианты осуществления были описаны в контексте полностью работоспособных компьютеров и компьютерных систем. Специалисты в этой отрасли оценят возможности различных вариантов осуществления для распространения в виде различных программных продуктов в разных формах, они равно применимы независимо от конкретного типа машиночитаемого носителя, используемого для фактического распространения. Примеры таких машиночитаемых носителей включают такие записываемые типы носителей, как энергозависимые и энергонезависимые устройства памяти, дискеты и другие съемные диски, накопители на жестких дисках, оптические диски (например, CD-ROM, DVD, флэш-накопители) и многие другие, но не ограничиваются ими. Различные варианты осуществления также могут распространяться в виде загружаемых через Интернет или сеть программных продуктов.
[0045] В приведенном выше описании многие подробности даны в целях пояснения. Однако специалистам в данной области техники будет очевидно, что эти конкретные детали являются просто примерами. В других случаях структуры и устройства показаны в форме блок-схемы для облегчения изложения.
[0046] Упоминание в настоящем описании «одного из вариантов реализации» или «варианта реализации» подразумевает, что определенный признак, структура или характеристика, описанная в связи с этим осуществлением, включена по меньшей мере в один из вариантов реализации. Выражение «в одном из вариантов реализации» в разных частях описания не обязательно относится к одному и тому же варианту реализации, а различные и альтернативные варианты реализации не являются взаимоисключающими и не исключают других вариантов реализации. Более того, различные описанные здесь признаки могут относиться к одним вариантам осуществления, но не относиться к другим вариантам осуществления. Подобным образом некоторые описанные здесь требования могут относиться к одним вариантам осуществления, но не относиться к другим вариантам осуществления.
[0047] Примеры некоторых вариантов осуществления описаны и проиллюстрированы на прилагаемых чертежах. Однако необходимо помнить, что эти варианты осуществления приводятся исключительно в иллюстративных целях, что они не ограничиваются описанными вариантами осуществления, а также то, что последние не привязаны конкретно к описанным модификациям и вариантам, и что специалисты могут создавать другие модификации на основе информации этого раскрытия изобретения. В столь быстро развивающейся области технологии многие улучшения сложно предусмотреть заранее. Поэтому описанные варианты осуществления могут видоизменяться по компоновке или деталями и облегчаться технологическими достижениями, что, однако, не будет означать отступления от сути настоящего раскрытия изобретения.

Claims (44)

1. Способ анализа текста, заключающийся в
создании устройством обработки начальной популяции, содержащей вектор параметров для элементов синтаксических и семантических описаний исходного предложения;
использовании системы Natural Language Compiler (NLC) для перевода предложения с исходного языка на целевой язык с помощью синтаксических и семантических описаний исходного предложения;
построении вектора оценок качества, отличающегося тем, что каждая оценка качества в векторе оценок качества имеет соответствующий параметр в векторе параметров, а также
замене нескольких параметров в векторе параметров на скорректированные параметры, отличающейся тем, что замена нескольких параметров включает следующее:
случайный выбор первого параметра из вектора параметров и корректировку первого параметра для получения первого скорректированного параметра;
вычисление оценки качества для первого скорректированного параметра;
сравнение оценки качества для первого скорректированного параметра с оценкой качества для первого параметра, и
замену первого параметра на первый скорректированный параметр, если оценка качества для первого скорректированного параметра лучше, чем оценка качества для первого параметра.
2. Способ по п. 1, дополнительно содержащий сравнение получаемого перевода с эталонным переводом для определения качества полученного перевода, отличающийся тем, что вектор оценок качества получается как результат определения качества полученного перевода.
3. Способ по п. 2, отличающийся тем, что качество получаемого перевода основано на оценке BLEU полученного перевода и количества аварийных предложений.
4. Способ по п. 3, отличающийся тем, что аварийные предложения содержат по меньшей мере одно предложение, которое формируется в аварийном режиме, отличающийся тем, что аварийный режим автоматически включается, если система NLC обнаружит ошибку во время перевода.
5. Способ по п. 1, отличающийся тем, что замена нескольких параметров в векторе параметров скорректированными параметрами продолжается до тех пор, пока не будет выполнено условие остановки.
6. Способ по п. 5, отличающийся тем, что условие остановки содержит по меньшей мере одно из следующих условий: хотя бы для одного параметра в векторе параметров соответствующая оценка качества достигает определенного уровня или начальная популяция вырождается.
7. Способ по п. 5, отличающийся тем, что число параметров в векторе параметров, которые заменены во время одной итерации, основано на заданной пропорции параметров, скорректированных в ходе одной итерации.
8. Система анализа текста, содержащая:
устройство обработки, настроенное на:
создание начальной популяции, содержащей вектор параметров для элементов синтаксических и семантических описаний исходного предложения;
использование системы Natural Language Compiler (NLC) для перевода предложения с исходного языка на целевой с помощью синтаксических и семантических описаний исходного предложения;
построение вектора оценок качества, в котором каждая оценка качества в векторе оценок качества имеет соответствующий параметр в векторе параметров, и
замену нескольких параметров в векторе параметров на скорректированные параметры, отличающуюся тем, что для замены нескольких параметров схема обработки настроена на:
случайный выбор первого параметра из вектора параметров и корректировку первого параметра для получения первого скорректированного параметра;
вычисление оценки качества для первого скорректированного параметра;
сравнение оценки качества для первого скорректированного параметра с оценкой качества для первого параметра и
замену первого параметра первым скорректированным параметром, если оценка качества для первого скорректированного параметра лучше, чем оценка качества для первого параметра.
9. Система по п. 8, отличающаяся тем, что устройство обработки дополнительно настроено на сравнение полученного перевода с эталонным переводом для определения качества полученного перевода, где вектор оценок качества формируется как результат определения качества полученного перевода.
10. Система по п. 9, отличающаяся тем, что качество получаемого перевода основано на оценке BLEU полученного перевода и количества аварийных предложений.
11. Система по п. 10, отличающаяся тем, что аварийные предложения содержат по меньшей мере одно предложение, которое формируется в аварийном режиме, отличающаяся тем, что аварийный режим автоматически включается устройством обработки, если система NLC обнаруживает ошибку в процессе перевода.
12. Система по п. 8, отличающаяся тем, что замена нескольких параметров в векторе параметров скорректированными параметрами продолжается до тех пор, пока не будет выполнено условие остановки.
13. Система по п. 12, отличающаяся тем, что условие остановки содержит по меньшей мере одно из следующих условий: хотя бы для одного параметра в векторе параметров соответствующая оценка качества достигает определенного уровня или начальная популяция вырождается.
14. Система по п. 12, отличающаяся тем, что число параметров в векторе параметров, которые заменяются в ходе итерации, основано на заданной доле настроечных параметров для каждой итерации.
15. Постоянный машиночитаемый носитель данных, на котором записаны команды, отличающийся тем, что эти команды включают следующее:
команды для создания начальной популяции, содержащей вектор параметров для элементов синтаксических и семантических описаний исходного предложения;
команды по использованию системы natural language compiler (NLC) для перевода предложения с исходного языка на целевой с помощью синтаксических и семантических описаний исходного предложения;
команды для формирования вектора оценок качества, отличающиеся тем, что каждая оценка качества в векторе оценок качество является оценкой качества, соответствующей каждому параметру в векторе параметров, и команды для замены нескольких параметров в векторе параметров скорректированными параметрами, отличающиеся тем, что команды для замены нескольких параметров включают следующие:
команды для случайного выбора первого параметра из вектора параметров и корректировки первого параметра для получения первого скорректированного параметра;
команды для вычисления оценки качества для первого скорректированного параметра;
команды для сравнения оценки качества для первого скорректированного параметра, с оценкой качества для первого параметра, и
команды для замены первого параметра первым скорректированны параметра, если оценка качества для первого скорректированного параметру, лучше оценки качества для первого параметра.
16. Носитель по п. 15, дополнительно содержащий команды для сравнения полученного перевода с эталонным переводом для определения качества полученного перевода, отличающийся тем, что вектор оценок качества формируется как результат определения качества полученного перевода.
17. Носитель по п. 16, отличающийся тем, что качество получаемого перевода основано на оценке BLEU полученного перевода и числа аварийных предложений.
18. Носитель по п. 17, отличающийся тем, что аварийные предложения содержат по меньшей мере одно предложение, которое формируется в аварийном режиме, отличающийся тем, что аварийный режим автоматически включается, если система NCL обнаруживает ошибку в ходе перевода.
19. Носитель по п. 15, отличающийся тем, что замена нескольких параметров в векторе параметров на настроечные параметры продолжается до тех пор, пока не выполняется условие остановки.
20. Носитель по п.19, отличающийся тем, что условие остановки содержит по меньшей мере одно из следующих условий: хотя бы для одного параметра в векторе параметров соответствующая оценка качества достигает определенного уровня или начальная популяция вырождается.
RU2014102113A 2014-01-23 2014-01-23 Автоматическое обучение программы синтаксического и семантического анализа с использованием генетического алгоритма RU2638634C2 (ru)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2014102113A RU2638634C2 (ru) 2014-01-23 2014-01-23 Автоматическое обучение программы синтаксического и семантического анализа с использованием генетического алгоритма
US14/588,695 US9542381B2 (en) 2014-01-23 2015-01-02 Automatic training of a syntactic and semantic parser using a genetic algorithm
US15/295,362 US9703776B2 (en) 2014-01-23 2016-10-17 Automatic training of a syntactic and semantic parser using a genetic algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2014102113A RU2638634C2 (ru) 2014-01-23 2014-01-23 Автоматическое обучение программы синтаксического и семантического анализа с использованием генетического алгоритма

Publications (2)

Publication Number Publication Date
RU2014102113A RU2014102113A (ru) 2015-07-27
RU2638634C2 true RU2638634C2 (ru) 2017-12-14

Family

ID=53544964

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014102113A RU2638634C2 (ru) 2014-01-23 2014-01-23 Автоматическое обучение программы синтаксического и семантического анализа с использованием генетического алгоритма

Country Status (2)

Country Link
US (2) US9542381B2 (ru)
RU (1) RU2638634C2 (ru)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160132491A1 (en) * 2013-06-17 2016-05-12 National Institute Of Information And Communications Technology Bilingual phrase learning apparatus, statistical machine translation apparatus, bilingual phrase learning method, and storage medium
US20160260148A1 (en) 2015-03-06 2016-09-08 Wal-Mart Stores, Inc. Systems, devices and methods for monitoring modular compliance in a shopping space
CN106547743B (zh) 2015-09-23 2020-03-27 阿里巴巴集团控股有限公司 一种进行翻译的方法及其系统
US10120861B2 (en) * 2016-08-17 2018-11-06 Oath Inc. Hybrid classifier for assigning natural language processing (NLP) inputs to domains in real-time
US10089742B1 (en) * 2017-03-14 2018-10-02 Adobe Systems Incorporated Automatically segmenting images based on natural language phrases
US10963644B2 (en) * 2018-12-27 2021-03-30 Microsoft Technology Licensing, Llc Computer-implemented generation and utilization of a universal encoder component
US11340963B2 (en) * 2019-01-08 2022-05-24 Microsoft Technology Licensing, Llc Augmentation of notification details
US11138383B2 (en) 2019-08-21 2021-10-05 International Business Machines Corporation Extracting meaning representation from text
CN113366511B (zh) 2020-01-07 2022-03-25 支付宝(杭州)信息技术有限公司 利用遗传编程的命名实体识别和提取
EP3799645A4 (en) * 2020-04-24 2021-07-21 Alipay (Hangzhou) Information Technology Co., Ltd. NAMED ENTITY RECOGNITION AND EXTRACTION USING GENETIC PROGRAMMING

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167434A (en) * 1998-07-15 2000-12-26 Pang; Stephen Y. Computer code for removing junk e-mail messages
US20050132327A1 (en) * 2003-12-15 2005-06-16 Mountain Highland M. Software development environment
EA200400068A1 (ru) * 2001-06-22 2005-06-30 Нервана, Инк. Система и способ поиска, управления, доставки и представления знаний
RU2005126821A (ru) * 2003-02-25 2006-01-20 Майкрософт Корпорейшн (Us) Адаптивная система фильтрации ненужных сообщений

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752052A (en) * 1994-06-24 1998-05-12 Microsoft Corporation Method and system for bootstrapping statistical processing into a rule-based natural language parser
JP2003058861A (ja) * 2001-08-15 2003-02-28 Communication Research Laboratory データエラーの検出方法及び装置、ソフトウェア並びにその記憶媒体
US9489495B2 (en) * 2008-02-25 2016-11-08 Georgetown University System and method for detecting, collecting, analyzing, and communicating event-related information
US8407208B2 (en) * 2011-02-02 2013-03-26 Nanorep Technologies Ltd Method for matching queries with answer items in a knowledge base

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6167434A (en) * 1998-07-15 2000-12-26 Pang; Stephen Y. Computer code for removing junk e-mail messages
EA200400068A1 (ru) * 2001-06-22 2005-06-30 Нервана, Инк. Система и способ поиска, управления, доставки и представления знаний
RU2005126821A (ru) * 2003-02-25 2006-01-20 Майкрософт Корпорейшн (Us) Адаптивная система фильтрации ненужных сообщений
US20050132327A1 (en) * 2003-12-15 2005-06-16 Mountain Highland M. Software development environment

Also Published As

Publication number Publication date
US9703776B2 (en) 2017-07-11
US20150205783A1 (en) 2015-07-23
US9542381B2 (en) 2017-01-10
US20170031900A1 (en) 2017-02-02
RU2014102113A (ru) 2015-07-27

Similar Documents

Publication Publication Date Title
RU2638634C2 (ru) Автоматическое обучение программы синтаксического и семантического анализа с использованием генетического алгоритма
Yao et al. Editing large language models: Problems, methods, and opportunities
Chisholm et al. Learning to generate one-sentence biographies from Wikidata
Castilho et al. A comparative quality evaluation of PBSMT and NMT using professional translators
US20190171720A1 (en) Method and system for generation of candidate translations
Oraby et al. Controlling personality-based stylistic variation with neural natural language generators
Specia et al. QuEst-A translation quality estimation framework
US20200380216A1 (en) Artificial intelligence system using phrase tables to evaluate and improve neural network based machine translation
US7957953B2 (en) Weighted linear bilingual word alignment model
US10025778B2 (en) Training markov random field-based translation models using gradient ascent
US8775155B2 (en) Machine translation using overlapping biphrase alignments and sampling
Zaidan et al. Crowdsourcing translation: Professional quality from non-professionals
CN103154936B (zh) 用于自动化文本校正的方法和系统
US8805669B2 (en) Method of and a system for translation
US10789431B2 (en) Method and system of translating a source sentence in a first language into a target sentence in a second language
US8849665B2 (en) System and method of providing machine translation from a source language to a target language
JP2004362249A (ja) 翻訳知識最適化装置、翻訳知識最適化のためのコンピュータプログラム、コンピュータ及び記憶媒体
JP2019096303A (ja) 機械翻訳方法及び装置
RU2642343C2 (ru) Автоматическое построение семантического описания целевого языка
JP2019185551A (ja) アノテーション付テキストデータの拡張方法、アノテーション付テキストデータの拡張プログラム、アノテーション付テキストデータの拡張装置、及び、テキスト分類モデルの訓練方法
JP2009163303A (ja) 検索フィルタリング装置及び検索フィルタリングプログラム
KR20140049150A (ko) 사용자 참여 기반의 자동 번역 생성 후처리 시스템
JP2023536103A (ja) 制御可能なテキスト要約化のためのシステムおよび方法
Heineman et al. Dancing between success and failure: Edit-level simplification evaluation using SALSA
Chen et al. Converge to the truth: Factual error correction via iterative constrained editing

Legal Events

Date Code Title Description
HZ9A Changing address for correspondence with an applicant
QB4A Licence on use of patent

Free format text: LICENCE FORMERLY AGREED ON 20201211

Effective date: 20201211

QC41 Official registration of the termination of the licence agreement or other agreements on the disposal of an exclusive right

Free format text: LICENCE FORMERLY AGREED ON 20201211

Effective date: 20220311