СПОСОБ АВТОМАТИЗИРОВАННОГО ОПРЕДЕЛЕНИЯ ЯЗЫКА И (ИЛИ) КОДИРОВКИ ТЕКСТОВОГО ДОКУМЕНТА Российский патент 2013 года по МПК G06F17/00 

Описание патента на изобретение RU2500024C2

Область техники, к которой относится изобретение

Настоящее изобретение относится к автоматизированному определению языка и (или) кодировки текстового документа и может быть использовано при разработке новых и совершенствовании существующих систем проверки текстовых документов.

Уровень техники

В процессе автоматического анализа текстовых документов, например, в случае отслеживания документов, проходящих по сети компании, на предмет наличия в них конфиденциальной информации, остро стоит задача определения языка, на котором записан проверяемый документ, либо кодировки бинарного представления этого документа.

В настоящее время известны некоторые способы определению языка и (или) кодировки текстового документа.

Так, в патенте РФ №2251737 (опубл. 10.05.2005) охарактеризован способ автоматического определения языка распознаваемого текста при многоязычном распознавании, в котором по распознанным отдельным символам текста формируют гипотезы о языковой принадлежности группы символов и проверяют эти гипотезы на основе перечня используемых лингвистических моделей, содержащего заранее составленные признаки символов всех предполагаемых языков. Нечто подобное используется и в заявке на патент США №2009/0024385 (опубл. 22.01.2009), где описан семантический грамматический анализатор, осуществляющий последовательный анализ предложений с компонентами на нескольких языках, по результатам чего строится граф, используемый в дальнейшем анализе. Эффективность этих способов недостаточно высока в силу использования отдельных символов или групп символов, поскольку в тексте могут встречаться цитаты на ином языке.

Наиболее близким можно считать патент США №8041566 (опубл. 18.10.2011), где раскрыты тематически специфичные модели для форматирования текста и распознавания речи. В этом способе сегментируют текст, и каждому сегменту назначают модель из набора тематически специфичных моделей, содержащих статистическую информацию о вероятности языковой модели, обработке текста и правилах форматирования, к примеру, интерпретацию команд для пунктуации, высвечивания частей текста и т.п., а также характеристический словарь для этого сегмента. Способ имеет ограниченное применение, поскольку он предназначен в первую очередь для форматирования текста.

Раскрытие изобретения

Цель настоящего изобретения состоит в обеспечении такого способа, который расширял бы арсенал технических средств и позволял автоматически определять язык и (или) кодировку текста по заранее набранной статистике в любых текстовых документах.

Для решения этой задачи и достижения указанного технического результата в настоящем изобретении предложен способ автоматизированного определения языка и (или) кодировки текстового документа, заключающийся в том, что: выделяют байтовые последовательности, входящие в электронные версии эталонных документов, тексты которых записаны на соответствующем языке и (или) закодированы соответствующей кодировкой; подсчитывают статистику встречаемости выделенных байтовых последовательностей для эталонных документов, тексты которых записаны на одном языке и (или) закодированы в одной кодировке; строят на основе подсчитанной статистики профили каждого языка и (или) каждой кодировки в виде множества байтовых последовательностей с указанием веса каждой байтовой последовательности в данном языке и (или) в данной кодировке; строят поисковый автомат для извлечения искомых байтовых последовательностей из байтового потока проверяемого документа; сохраняют в памяти построенный поисковый автомат и профили языков и (или) кодировок, совместно именуемые онтологией данной коллекции языков и (или) кодировок; находят байтовые последовательности в электронной версии каждого проверяемого документа с помощью поискового автомата; подсчитывают в качестве профиля проверяемого документа статистику встречаемости найденных байтовых последовательностей на основе онтологии; сопоставляют подсчитанный профиль проверяемого документа с профилями языков и (или) кодировок для определения релевантности языка и (или) кодировки данному проверяемому документу.

Особенность способа по настоящему изобретению состоит в том, что для каждого языка и (или) для каждой кодировки могут выбирать наиболее характерные байтовые последовательности.

Еще одна особенность способа по настоящему изобретению состоит в том, что поисковый автомат могут строить на основе алгоритма Ахо-Корасик для точного сопоставления множеств.

Подробное описание изобретения

Настоящее изобретение может быть реализовано в любой вычислительной системе, например, в персональном компьютере, на сервере и т.п. Для осуществления изобретения необходимо также наличие соответствующей базы данных, в которой хранятся электронные файлы текстовых документов.

Способ автоматизированного определения языка и (или) кодировки текстового документа предназначен для автоматического определения языка и (или) кодировки текстового документа.

Сначала на основе специально подобранных коллекций текстов на различных языках либо уже в процессе использования (путем дополнения первоначальной коллекции текстов) в электронных версиях эталонных документов, тексты которых записаны на соответствующем языке и (или) закодированы соответствующей кодировкой, выделяют байтовые последовательности и подсчитывают статистику встречаемости выделенных байтовых последовательностей для эталонных документов, тексты которых записаны на одном языке и (или) закодированы в одной кодировке. На основе подсчитанной статистики строят профили каждого языка и (или) каждой кодировки в виде множества байтовых последовательностей с указанием веса каждой байтовой последовательности в данном языке и (или) в данной кодировке.

Следует отметить, что при накоплении байтовых последовательностей для каждого языка и (или) для каждой кодировки операторы, работающие на автоматизированном рабочем месте, могут выбирать наиболее характерные байтовые последовательности. Эта операция осуществляется для так называемого (в машинном обучении) «снижения размерности». Для этого можно использовать различные алгоритмы, в частности алгоритм для подсчета взаимной встречаемости (mutual information - см., например, http://en.wikipedia.org/wiki/Mutual_information) байтовой последовательности в размеченных документах и в категориях, которыми размечены документы. В данном случае категории - это языки или кодировки. Например, пусть последовательность «абв» встречается в украинском и русском языках в 10 документах украинского языка и 15 документах русского. Всего в русском языке 50 документов, в украинском, соответственно, 30. Всего пусть имеется 8 языков, на которых представлены документы.

Исходя из этих цифр и подсчитывается взаимная встречаемость байтовой последовательности (в данном случае последовательности «абв») в этих документах.

Профиль каждого языка и (или) каждой кодировки обычно формируют в виде вектора выделенных байтовых последовательностей, характерных для данного языка и (или) данной кодировки, по одному вектору на язык.

В принципе, для языков и кодировок используются разные коллекции документов («обучающие множества»), но действия, выполняемые и в том, и в другом случае, будут одни и те же. В качестве языков могут использоваться не только естественные языки, но и языки программирования. Кодировки могут быть любыми: к примеру, это может быть кодировка ASCII или любая иная, в том числе специально разработанная.

Далее строят поисковый автомат для извлечения искомых байтовых последовательностей из байтового потока документа, подлежащего проверке. Этот поисковый автомат может быть построен на основе алгоритма Ахо-Корасик для точного сопоставления множеств (см., например, http://e-maxx.ru/algo/aho_corasick или http://aho-corasick.narod.ru). Построенный поисковый автомат и профили языков и (или) кодировок, совместно именуемые онтологией данной коллекции языков и (или) кодировок, сохраняют в памяти для возможности их дальнейшего использования при проверке очередных текстовых документов.

Теперь, при поступлении входного байтового потока проверяемого документа находят с помощью поискового автомата байтовые последовательности в электронной версии каждого проверяемого документа и подсчитывают статистику встречаемости найденных байтовых последовательностей на основе сохраненной в памяти онтологии. Иными словами, используя построенный и запомненный поисковый автомат, автоматически выявляют в проверяемом документе байтовые последовательности, выделенные в эталонных документах, и подсчитывает статистику встречаемости. Эта статистика представляет собой профиль проверяемого документа. Затем сопоставляют этот профиль (подсчитанную статистику) проверяемого документа с запомненными профилями языков и (или) кодировок для определения релевантности того или иного языка и (или) той или иной кодировки данному проверяемому документу. В качестве языка и (или) кодировки, определенных в результате данных действий, выбирают, например, тот язык или ту кодировку, которые имеют наибольшую степень релевантности.

Таким образом, способ по настоящему изобретению, расширяющий арсенал технических средств, позволяет автоматически определять язык и (или) кодировку текста по заранее набранной статистике в любых текстовых документах.

Похожие патенты RU2500024C2

название год авторы номер документа
СПОСОБ КЛАССИФИКАЦИИ ДОКУМЕНТОВ ПО КАТЕГОРИЯМ 2012
  • Лапшин Владимир Анатольевич
  • Пшехотская Екатерина Александровна
  • Перов Дмитрий Всеволодович
RU2491622C1
СПОСОБ И СИСТЕМА СЕМАНТИЧЕСКОЙ ОБРАБОТКИ ТЕКСТОВЫХ ДОКУМЕНТОВ 2016
  • Мительков Дмитрий Владимирович
  • Новиков Андрей Юрьевич
  • Сатин Борис Борисович
RU2630427C2
СПОСОБ ПОСТРОЕНИЯ СЕМАНТИЧЕСКОЙ МОДЕЛИ ДОКУМЕНТА 2011
  • Турдаков Денис Юрьевич
  • Недумов Ярослав Ростиславович
  • Сысоев Андрей Анатольевич
RU2487403C1
СПОСОБ АВТОМАТИЗИРОВАННОГО ОПРЕДЕЛЕНИЯ ЯЗЫКА ИЛИ ЯЗЫКОВОЙ ГРУППЫ ТЕКСТА 2015
  • Калегин Сергей Николаевич
RU2607989C1
СПОСОБ АВТОМАТИЗИРОВАННОЙ СЕМАНТИЧЕСКОЙ ИНДЕКСАЦИИ ТЕКСТА НА ЕСТЕСТВЕННОМ ЯЗЫКЕ 2012
  • Харламов Александр Александрович
RU2518946C1
СПОСОБ ОЦЕНКИ СТЕПЕНИ РАСКРЫТИЯ ПОНЯТИЯ В ТЕКСТЕ, ОСНОВАННЫЙ НА КОНТЕКСТАХ, ДЛЯ ПОИСКОВЫХ СИСТЕМ 2007
  • Злыгостев Алексей Сергеевич
RU2348072C1
СПОСОБ АВТОМАТИЗИРОВАННОЙ ОБРАБОТКИ ТЕКСТА НА ЕСТЕСТВЕННОМ ЯЗЫКЕ ПУТЕМ ЕГО СЕМАНТИЧЕСКОЙ ИНДЕКСАЦИИ, СПОСОБ АВТОМАТИЗИРОВАННОЙ ОБРАБОТКИ КОЛЛЕКЦИИ ТЕКСТОВ НА ЕСТЕСТВЕННОМ ЯЗЫКЕ ПУТЕМ ИХ СЕМАНТИЧЕСКОЙ ИНДЕКСАЦИИ И МАШИНОЧИТАЕМЫЕ НОСИТЕЛИ 2008
  • Хорошевский Владимир Фёдорович
  • Клинцов Виктор Петрович
RU2399959C2
СПОСОБ АВТОМАТИЗИРОВАННОГО АНАЛИЗА ТЕКСТОВЫХ ДОКУМЕНТОВ 2011
  • Лапшин Владимир Анатольевич
  • Пшехотская Екатерина Александровна
  • Перов Дмитрий Всеволодович
RU2474870C1
СПОСОБ ОБНАРУЖЕНИЯ ТЕКСТОВЫХ ОБЪЕКТОВ 2012
  • Лапшин Владимир Анатольевич
  • Пшехотская Екатерина Александровна
  • Перов Дмитрий Всеволодович
RU2498401C2
СИСТЕМА И МЕТОД СЕМАНТИЧЕСКОГО ПОИСКА 2013
  • Зуев Константин Алексеевич
  • Даниэлян Татьяна Владимировна
  • Рахматулина Эльмира Монировна
RU2563148C2

Реферат патента 2013 года СПОСОБ АВТОМАТИЗИРОВАННОГО ОПРЕДЕЛЕНИЯ ЯЗЫКА И (ИЛИ) КОДИРОВКИ ТЕКСТОВОГО ДОКУМЕНТА

Изобретение относится к автоматизированному определению языка и (или) кодировки текстового документа. Техническим результатом является расширение арсенала технических средств, позволяющее автоматически определять язык и (или) кодировку текста по заранее набранной статистике в любых текстовых документах. В способе автоматизированного определения языка и (или) кодировки текстового документа выделяют байтовые последовательности и подсчитывают статистику встречаемости выделенных байтовых последовательностей. Затем строят на основе статистики профили каждого языка и (или) каждой кодировки, строят поисковый автомат для извлечения искомых байтовых последовательностей из байтового потока проверяемого документа и сохраняют в памяти построенный поисковый автомат и профили языков и (или) кодировок. Находят байтовые последовательности в электронной версии каждого проверяемого документа с помощью поискового автомата и подсчитывают в качестве профиля проверяемого документа статистику встречаемости найденных байтовых последовательностей. Сопоставляют подсчитанный профиль проверяемого документа с профилями языков и (или) кодировок для определения релевантности языка и (или) кодировки данному проверяемому документу. 2 з.п. ф-лы.

Формула изобретения RU 2 500 024 C2

1. Способ автоматизированного определения языка и (или) кодировки текстового документа, заключающийся в том, что:
- выделяют байтовые последовательности, входящие в электронные версии эталонных документов, тексты которых записаны на соответствующем языке и (или) закодированы соответствующей кодировкой;
- подсчитывают статистику встречаемости выделенных байтовых последовательностей для эталонных документов, тексты которых записаны на одном языке и (или) закодированы в одной кодировке;
- строят на основе подсчитанной статистики профили каждого языка и (или) каждой кодировки в виде множества байтовых последовательностей с указанием веса каждой байтовой последовательности в данном языке и (или) в данной кодировке;
- строят поисковый автомат для извлечения искомых байтовых последовательностей из байтового потока проверяемого документа;
- сохраняют в памяти построенный поисковый автомат и профили языков и (или) кодировок, совместно именуемые онтологией данной коллекции языков и (или) кодировок;
- находят байтовые последовательности в электронной версии каждого проверяемого документа с помощью упомянутого поискового автомата;
- подсчитывают в качестве профиля проверяемого документа статистику встречаемости найденных байтовых последовательностей на основе упомянутой онтологии;
- сопоставляют подсчитанный профиль проверяемого документа с упомянутыми профилями языков и (или) кодировок для определения релевантности языка и (или) кодировки данному проверяемому документу.

2. Способ по п.1, в котором выбирают для каждого языка и (или) для каждой кодировки наиболее характерные байтовые последовательности.

3. Способ по п.1, в котором упомянутый поисковый автомат строят на основе алгоритма Ахо-Корасик для точного сопоставления множеств.

Документы, цитированные в отчете о поиске Патент 2013 года RU2500024C2

СПОСОБ УПОРЯДОЧЕНИЯ ДАННЫХ, ПРЕДСТАВЛЕННЫХ В ТЕКСТОВЫХ ИНФОРМАЦИОННЫХ БЛОКАХ ДАННЫХ 2000
  • Припачкин Ю.И.
  • Сменцарев Г.В.
RU2210809C2
СПОСОБ АВТОМАТИЧЕСКОГО ОПРЕДЕЛЕНИЯ ЯЗЫКА РАСПОЗНАВАЕМОГО ТЕКСТА ПРИ МНОГОЯЗЫЧНОМ РАСПОЗНАВАНИИ 2002
  • Анисимович К.В.
  • Терещенко В.В.
  • Рыбкин В.Ю.
RU2251737C2
RU 2009127102 A, 27.01.2011
Передача для приведения в движение передних, направляющих колес автомобиля 1927
  • Р. Буссин
SU11266A1
US 8041566 B2, 18.10.2011
US 7689531 B1, 30.03.2010
Приспособление для суммирования отрезков прямых линий 1923
  • Иванцов Г.П.
SU2010A1

RU 2 500 024 C2

Авторы

Лапшин Владимир Анатольевич

Пшехотская Екатерина Александровна

Перов Дмитрий Всеволодович

Даты

2013-11-27Публикация

2011-12-27Подача