Skip to content

Microsoft IMEで誤字を意図的に引き起こす、IME用単語セット

License

Notifications You must be signed in to change notification settings

taksas/GOJI_Trapper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

誤字トラッパー

Microsoft IMEで誤字を意図的に引き起こす、IME用単語セット



はじまりはこのコピペ。

546 :Mr.名無しさん:2008/06/05(木) 03:18:01

休み時間ヒマだったので、上司のパソコンに

「うんゆ」→「運輪」 「こくどこうつうしょう」→「国土文通省」 「せんじつは」→「先曰は」 「けっさん」→「抉算」 「ねんどまつ」→「年度未」 「しゃちょう」→「杜長」 「おくえん」→「憶円」

などを辞書登録しておいた。 辛いまだバレていないようだ


「これ、自然言語処理と画像の類似度判定使えば、辞書データ作成自動化出来るんじゃね…?」と思ったのが事の発端。


Python +
GiNZA(自然言語処理担当その1) +
spaCy(自然言語処理担当その2) +
pykakasi(自然言語処理担当その3) +
OpenCV(画像の類似度判定) +
青空文庫(aozorahackさんのaozorabunko_text( https:/aozorahack/aozorabunko_text )を使用) +
Rime Academyさんの漢字一覧表( https:/rime-aca/character_set

を使用しています。

ダウンロード

生成された生データ自体はgoji.txt(1,147,421単語)ですが重複単語が非常に多く辞書読み込みに時間が掛かるため、こちらは動作確認にのみの使用をおすすめします。
通常使用には重複単語を除いたgoji_modified.txt(331,745単語)をお使いください。

類似度1.7未満、青空文庫の17000件ほどの作品のうち6000件ほどを解析した結果出た出力データとして、goji_similarity_1.7_under7000.txtを置いています(生データのため重複あり)。テストにご利用ください。

完成版(goji_modified.txt、類似度1.7未満を対象)は

こちら

主な登場人物

Kanji_Imager.py

漢字の画像化を行います。Windows10/11標準フォントで出力した文字をjpgで保存。OpenCVの画像の類似度判定を使用できるようにします。

kanji_imager_forbidden_unpicker.py

画像化した漢字の内特殊なものはWin10/11標準フォントで表示できません。そういったものを一覧から取り除きます。

kanji_imager_similar_lister_v3.py

画像化した漢字を、さらにnumpy配列に変換します。諸事情で漢字と配列データが分かれており、data0.csvに漢字データ、data1.csvの同列に対応する配列データが保存されています。

kanji_imager_similar_lister_v3_2.py

画像の類似度判定の厳格性を決定するためのテストコードです。ログに随時類似した漢字を出力します。

kanji_imager_similar_outputter.py

画像化した漢字の内、「あるAという漢字に類似する漢字B, C, D, ....」を./kanji_similar/A.txtの中で一行づつB, C, D, ....という風に出力します。

GOJI_Generator_v1.py

青空文庫の文書を読み込み、自然言語処理(GiNZA + spaCy)で文節ごとに分け、さらに漢字ごとにkanji_similarディレクトリ内の類似漢字一覧を参照して漢字を置き換えます。
また、自然言語処理(pykakasi)で生成した文節のふりがなとともにIMEの辞書ファイル形式でgoji.txtに保存します。



その他の登場人物

GOJI_Generator_test.py

ハードコーディングした特定の文字列に対して、文節の分割とふりがなの予測、辞書ファイル用フォーマットの作成を行います。

kanji_imager_similar_lister_cv2.py

OpenCVの類似度判定を用いて、2つの漢字の比較をします。

kanji_imager_similar_lister_imagehash.py

ImageHashを用いて、画像のハッシュデータの類似度を判定します。OpenCVを用いるよりも高速な処理が可能ですが、精度に問題がありました。

まじめなバージョン

この技術をもっとまともな方向性で使ったプロジェクトが

こちら



About

Microsoft IMEで誤字を意図的に引き起こす、IME用単語セット

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages