Apache Определение языка Tika: улучшение азиатских языков - PullRequest
0 голосов
/ 05 мая 2020

Я обнаружил, что Apache Тику часто путают с азиатскими языками (например, японским, китайским) с небольшими частями английского sh.

Пример текста:

サ ン フ ラ ン シ ス コ 生 ま れ の チ ョ コ レ ー ト シ ョ ッ プ, ダ ン デ ラ イ オ ン · チ ョ コ レ ー ト か ら ほ う じ 茶 ブ レ ン ド の 「ホ ッ ト チ ョ コ レ ー ト ミ ッ ク ス」 が 新 登場. ド リ ン ク と し て だ け で な く, ア イ ス ク リ ー ム や お 餅 に か け て も OK. ほ う じ 茶 ホ ッ ト チ ョ コ レ ー ト 150g (約 5 杯 分) ¥ 2160 © одуванчика Шоколад Япония カ カ オ 豆 か ら チ ョ コ レ ー ト バ ー に な る ま で の 全 工程 を 一貫 し て 行 う 「ビ ー ン · ト ゥ ー · バ ー (Bean в баре)」 メ ー カ ー の 先 駆 け 的 存在, ダ ン デ ラ イ オ ン · チ ョ コ レ ー ト. そ の 人 気 商品 ホ ッ ト チ ョ コ レ ー ト ミ ッ ク ス は 「自 宅 で ホ ッ ト チ ョ コ レ ー ト を 飲 み た い!」 と い う 客 か ら の 要 望 を 元 に 開 発 さ れ た も の ​​だ. ほ か の チ ョ コ レ ー ト バ ー 同 様, カ カ オ 豆 は シ ン グ ル オ リ ジ ン に こ だ わ り, ほ ろ 苦 さ と フ ル ー テ ィ ー な 酸味 の バ ラ ン ス が よ い ド ミ ニ カ 共和国 産 を 使用. カ カ オ 本来 の 豊 か な 風味 を 味 わ え る. こ の ホ ッ ト チ ョ コ レ ー ト ミ ッ ク ス が 新 た に 出 合 っ た の が, 京都 · 河 原 町 の 日本 茶 専 門店 「Yugen」 の ほ う じ 茶 だ. 宇 治 を 中心 に 各地 の 生産者 を 訪 れ , 厳 選 さ れ た 日本 茶 の み を 扱 う Yugen. ほ う じ 茶 も 春 に 収穫 さ れ た 新芽 だ け で 作 ら れ る. そ の 茶葉 を 石臼 で じ っ く り と 挽 き, パ ウ ダ ー 状 に し て ブ レ ン ド す る こ と で, 香 ば し さ だ け で な く, 旨 味, 甘 み, 栄 養成 分 ま で そ の ま ま 溶 け 込 む, 深 み の あ る 味 わ い の ホ ッ ト チ ョ コ レ ー ト が 誕生. オ ン ラ イ ン ス ト ア で も 購入 で き る の で, チ ョ コ レ ー ト と ほ う じ 茶 の お い し い マ リ ア ー ジ ュ を 自 宅 で 堪 能 し て. ダ ン デ ラ イ オ ン · チ ョ コ レ ー ト フ ァ ク ト リ ー & カ フ ェ 蔵 前 東京 都 台 東区 蔵 前 4-14-6 тел 03-5833-7270 営) 10 時 〜20 時 (LO 19 時 30 分) 不定 休 https://dandelionchocolate.jp ※ 4/12 ま で 休業 中。 そ の ほ か の 情報 は ウ ェ ブ サ イ ト で 要 確認 記事 に 記載 し て 価 格 は 、 軽 減税 率 8 % の 格 で す。 連 記事】 産地 の 魅力 が 際 立 つ 、 誘惑 の 「Bean to Bar」。 マ ロ ン × カ カ オ 、 ビ ト ゥ ・ バ ー 発 想 の ブ ラ ン。

languageDetector.detect() -> en: MEDIUM (0.570320)

languageDetector.detectAll() -> ArrayList(size=1) en: MEDIUM (0.570320)

Я использую реализацию по умолчанию * OptimDetector * Пример кода:

        LanguageDetector languageDetector = LanguageDetector.getDefaultLanguageDetector().loadModels();
        languageDetector.addText(text);
        var result = languageDetector.detect().getLanguage();

Я выяснил, что после разделения текста на мелкие части (n-граммы) Тика ищет совпадение в wordLangProbMap. Он построен только из 114к н-граммов для всех языков. Это приводит к тому, что большинство японских символов (n-граммов) не обнаруживаются на этой карте, а все английские sh n-граммы идентифицированы правильно. В результате для японских или китайских текстов Тика часто определяет язык как французский, немецкий, английский sh и т. Д.

Есть ли способ расширить список, по которому выполняется сопоставление?

Я также рассматриваю другие альтернативы, если бы они могли вести себя лучше. Раньше я использовал lingua , но он действительно показывает резкое c падение производительности и использование ресурсов для больших текстов.

...