СПОСОБ АВТОМАТИЗИРОВАННОГО ОПРЕДЕЛЕНИЯ ЯЗЫКА И(ИЛИ) КОДИРОВКИ ТЕКСТОВОГО ДОКУМЕНТА

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