RU2500024C2 - Способ автоматизированного определения языка и (или) кодировки текстового документа - Google Patents
Способ автоматизированного определения языка и (или) кодировки текстового документа Download PDFInfo
- Publication number
- RU2500024C2 RU2500024C2 RU2011153489/08A RU2011153489A RU2500024C2 RU 2500024 C2 RU2500024 C2 RU 2500024C2 RU 2011153489/08 A RU2011153489/08 A RU 2011153489/08A RU 2011153489 A RU2011153489 A RU 2011153489A RU 2500024 C2 RU2500024 C2 RU 2500024C2
- Authority
- RU
- Russia
- Prior art keywords
- language
- document
- encoding
- byte sequences
- byte
- Prior art date
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
Изобретение относится к автоматизированному определению языка и (или) кодировки текстового документа. Техническим результатом является расширение арсенала технических средств, позволяющее автоматически определять язык и (или) кодировку текста по заранее набранной статистике в любых текстовых документах. В способе автоматизированного определения языка и (или) кодировки текстового документа выделяют байтовые последовательности и подсчитывают статистику встречаемости выделенных байтовых последовательностей. Затем строят на основе статистики профили каждого языка и (или) каждой кодировки, строят поисковый автомат для извлечения искомых байтовых последовательностей из байтового потока проверяемого документа и сохраняют в памяти построенный поисковый автомат и профили языков и (или) кодировок. Находят байтовые последовательности в электронной версии каждого проверяемого документа с помощью поискового автомата и подсчитывают в качестве профиля проверяемого документа статистику встречаемости найденных байтовых последовательностей. Сопоставляют подсчитанный профиль проверяемого документа с профилями языков и (или) кодировок для определения релевантности языка и (или) кодировки данному проверяемому документу. 2 з.п. ф-лы.
Description
Область техники, к которой относится изобретение
Настоящее изобретение относится к автоматизированному определению языка и (или) кодировки текстового документа и может быть использовано при разработке новых и совершенствовании существующих систем проверки текстовых документов.
Уровень техники
В процессе автоматического анализа текстовых документов, например, в случае отслеживания документов, проходящих по сети компании, на предмет наличия в них конфиденциальной информации, остро стоит задача определения языка, на котором записан проверяемый документ, либо кодировки бинарного представления этого документа.
В настоящее время известны некоторые способы определению языка и (или) кодировки текстового документа.
Так, в патенте РФ №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). Построенный поисковый автомат и профили языков и (или) кодировок, совместно именуемые онтологией данной коллекции языков и (или) кодировок, сохраняют в памяти для возможности их дальнейшего использования при проверке очередных текстовых документов.
Теперь, при поступлении входного байтового потока проверяемого документа находят с помощью поискового автомата байтовые последовательности в электронной версии каждого проверяемого документа и подсчитывают статистику встречаемости найденных байтовых последовательностей на основе сохраненной в памяти онтологии. Иными словами, используя построенный и запомненный поисковый автомат, автоматически выявляют в проверяемом документе байтовые последовательности, выделенные в эталонных документах, и подсчитывает статистику встречаемости. Эта статистика представляет собой профиль проверяемого документа. Затем сопоставляют этот профиль (подсчитанную статистику) проверяемого документа с запомненными профилями языков и (или) кодировок для определения релевантности того или иного языка и (или) той или иной кодировки данному проверяемому документу. В качестве языка и (или) кодировки, определенных в результате данных действий, выбирают, например, тот язык или ту кодировку, которые имеют наибольшую степень релевантности.
Таким образом, способ по настоящему изобретению, расширяющий арсенал технических средств, позволяет автоматически определять язык и (или) кодировку текста по заранее набранной статистике в любых текстовых документах.
Claims (3)
1. Способ автоматизированного определения языка и (или) кодировки текстового документа, заключающийся в том, что:
- выделяют байтовые последовательности, входящие в электронные версии эталонных документов, тексты которых записаны на соответствующем языке и (или) закодированы соответствующей кодировкой;
- подсчитывают статистику встречаемости выделенных байтовых последовательностей для эталонных документов, тексты которых записаны на одном языке и (или) закодированы в одной кодировке;
- строят на основе подсчитанной статистики профили каждого языка и (или) каждой кодировки в виде множества байтовых последовательностей с указанием веса каждой байтовой последовательности в данном языке и (или) в данной кодировке;
- строят поисковый автомат для извлечения искомых байтовых последовательностей из байтового потока проверяемого документа;
- сохраняют в памяти построенный поисковый автомат и профили языков и (или) кодировок, совместно именуемые онтологией данной коллекции языков и (или) кодировок;
- находят байтовые последовательности в электронной версии каждого проверяемого документа с помощью упомянутого поискового автомата;
- подсчитывают в качестве профиля проверяемого документа статистику встречаемости найденных байтовых последовательностей на основе упомянутой онтологии;
- сопоставляют подсчитанный профиль проверяемого документа с упомянутыми профилями языков и (или) кодировок для определения релевантности языка и (или) кодировки данному проверяемому документу.
- выделяют байтовые последовательности, входящие в электронные версии эталонных документов, тексты которых записаны на соответствующем языке и (или) закодированы соответствующей кодировкой;
- подсчитывают статистику встречаемости выделенных байтовых последовательностей для эталонных документов, тексты которых записаны на одном языке и (или) закодированы в одной кодировке;
- строят на основе подсчитанной статистики профили каждого языка и (или) каждой кодировки в виде множества байтовых последовательностей с указанием веса каждой байтовой последовательности в данном языке и (или) в данной кодировке;
- строят поисковый автомат для извлечения искомых байтовых последовательностей из байтового потока проверяемого документа;
- сохраняют в памяти построенный поисковый автомат и профили языков и (или) кодировок, совместно именуемые онтологией данной коллекции языков и (или) кодировок;
- находят байтовые последовательности в электронной версии каждого проверяемого документа с помощью упомянутого поискового автомата;
- подсчитывают в качестве профиля проверяемого документа статистику встречаемости найденных байтовых последовательностей на основе упомянутой онтологии;
- сопоставляют подсчитанный профиль проверяемого документа с упомянутыми профилями языков и (или) кодировок для определения релевантности языка и (или) кодировки данному проверяемому документу.
2. Способ по п.1, в котором выбирают для каждого языка и (или) для каждой кодировки наиболее характерные байтовые последовательности.
3. Способ по п.1, в котором упомянутый поисковый автомат строят на основе алгоритма Ахо-Корасик для точного сопоставления множеств.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2011153489/08A RU2500024C2 (ru) | 2011-12-27 | 2011-12-27 | Способ автоматизированного определения языка и (или) кодировки текстового документа |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2011153489/08A RU2500024C2 (ru) | 2011-12-27 | 2011-12-27 | Способ автоматизированного определения языка и (или) кодировки текстового документа |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2011153489A RU2011153489A (ru) | 2013-07-10 |
RU2500024C2 true RU2500024C2 (ru) | 2013-11-27 |
Family
ID=48787265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2011153489/08A RU2500024C2 (ru) | 2011-12-27 | 2011-12-27 | Способ автоматизированного определения языка и (или) кодировки текстового документа |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2500024C2 (ru) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2607989C1 (ru) * | 2015-07-08 | 2017-01-11 | Закрытое акционерное общество "МНИТИ" (сокращенно ЗАО "МНИТИ") | Способ автоматизированного определения языка или языковой группы текста |
RU2610245C2 (ru) * | 2014-10-21 | 2017-02-08 | Сяоми Инк. | Способ и устройство для идентификации кодирования веб-страницы |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2210809C2 (ru) * | 2000-11-21 | 2003-08-20 | Открытое акционерное общество "Московская телекоммуникационная корпорация" | Способ упорядочения данных, представленных в текстовых информационных блоках данных |
RU2251737C2 (ru) * | 2002-10-18 | 2005-05-10 | Аби Софтвер Лтд. | Способ автоматического определения языка распознаваемого текста при многоязычном распознавании |
EA011266B1 (ru) * | 2004-06-04 | 2009-02-27 | Нетпиа.Ком, Инк. | Система интернет-адресации на национальных языках |
US7689531B1 (en) * | 2005-09-28 | 2010-03-30 | Trend Micro Incorporated | Automatic charset detection using support vector machines with charset grouping |
RU2009127102A (ru) * | 2006-12-18 | 2011-01-27 | Нокиа Корпорейшн (Fi) | Способ, устройство и компьютерный программный продукт для гибкой идентификации языка на базе текста |
US8041566B2 (en) * | 2003-11-21 | 2011-10-18 | Nuance Communications Austria Gmbh | Topic specific models for text formatting and speech recognition |
-
2011
- 2011-12-27 RU RU2011153489/08A patent/RU2500024C2/ru active IP Right Revival
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2210809C2 (ru) * | 2000-11-21 | 2003-08-20 | Открытое акционерное общество "Московская телекоммуникационная корпорация" | Способ упорядочения данных, представленных в текстовых информационных блоках данных |
RU2251737C2 (ru) * | 2002-10-18 | 2005-05-10 | Аби Софтвер Лтд. | Способ автоматического определения языка распознаваемого текста при многоязычном распознавании |
US8041566B2 (en) * | 2003-11-21 | 2011-10-18 | Nuance Communications Austria Gmbh | Topic specific models for text formatting and speech recognition |
EA011266B1 (ru) * | 2004-06-04 | 2009-02-27 | Нетпиа.Ком, Инк. | Система интернет-адресации на национальных языках |
US7689531B1 (en) * | 2005-09-28 | 2010-03-30 | Trend Micro Incorporated | Automatic charset detection using support vector machines with charset grouping |
RU2009127102A (ru) * | 2006-12-18 | 2011-01-27 | Нокиа Корпорейшн (Fi) | Способ, устройство и компьютерный программный продукт для гибкой идентификации языка на базе текста |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2610245C2 (ru) * | 2014-10-21 | 2017-02-08 | Сяоми Инк. | Способ и устройство для идентификации кодирования веб-страницы |
RU2607989C1 (ru) * | 2015-07-08 | 2017-01-11 | Закрытое акционерное общество "МНИТИ" (сокращенно ЗАО "МНИТИ") | Способ автоматизированного определения языка или языковой группы текста |
Also Published As
Publication number | Publication date |
---|---|
RU2011153489A (ru) | 2013-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105426539B (zh) | 一种基于词典的lucene中文分词方法 | |
CN109933656B (zh) | 舆情极性预测方法、装置、计算机设备及存储介质 | |
EP3819785A1 (en) | Feature word determining method, apparatus, and server | |
CN111310476B (zh) | 一种使用基于方面的情感分析方法的舆情监控方法和系统 | |
CN107102993B (zh) | 一种用户诉求分析方法和装置 | |
CN111767716A (zh) | 企业多级行业信息的确定方法、装置及计算机设备 | |
CN103778205A (zh) | 一种基于互信息的商品分类方法和系统 | |
RU2491622C1 (ru) | Способ классификации документов по категориям | |
CN110134777B (zh) | 问题去重方法、装置、电子设备和计算机可读存储介质 | |
WO2017091985A1 (zh) | 停用词识别方法与装置 | |
CN110008474B (zh) | 一种关键短语确定方法、装置、设备及存储介质 | |
CN110909531A (zh) | 信息安全的甄别方法、装置、设备及存储介质 | |
CN110781673B (zh) | 文档验收方法、装置、计算机设备及存储介质 | |
CN103605691A (zh) | 用于处理社交网络中发布内容的装置和方法 | |
CN112818110B (zh) | 文本过滤方法、设备及计算机存储介质 | |
CN106815209B (zh) | 一种维吾尔文农业技术术语识别方法 | |
RU2500024C2 (ru) | Способ автоматизированного определения языка и (или) кодировки текстового документа | |
Zhang et al. | Chinese novelty mining | |
CN112328469B (zh) | 一种基于嵌入技术的函数级缺陷定位方法 | |
CN113111645A (zh) | 一种媒体文本相似性检测方法 | |
CN106484672A (zh) | 词汇识别方法和词汇识别系统 | |
CN109344397B (zh) | 文本特征词语的提取方法及装置、存储介质及程序产品 | |
US20140207440A1 (en) | Language recognition based on vocabulary lists | |
CN115827867A (zh) | 文本类型的检测方法及装置 | |
Fu et al. | A sensitive word detection method based on variants recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PD4A | Correction of name of patent owner | ||
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20181228 |
|
NF4A | Reinstatement of patent |
Effective date: 20191211 |