Coder Social home page Coder Social logo

goji_trapper's Introduction

誤字トラッパー

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



はじまりはこのコピペ。

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

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

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

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


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


Python +
GiNZA(自然言語処理担当その1) +
spaCy(自然言語処理担当その2) +
pykakasi(自然言語処理担当その3) +
OpenCV(画像の類似度判定) +
青空文庫(aozorahackさんのaozorabunko_text( https://github.com/aozorahack/aozorabunko_text )を使用) +
Rime Academyさんの漢字一覧表( https://github.com/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を用いるよりも高速な処理が可能ですが、精度に問題がありました。

まじめなバージョン

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

こちら



goji_trapper's People

Contributors

taksas avatar

Watchers

 avatar

goji_trapper's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.