Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 

README.md

なぎた読みの自動作成の試み

Apache License

Requirements

  1. 自分でn-gramコーパスを用意するか,NINJAL Web Japanese Corpusから以下のファイルをダウンロード・展開する
    • NWJC-surface-1gram.zip
    • NWJC-surface-2gram.zip (または任意のn-gram)
    • このn-gram作成に使われた辞書と,ぎなた読み探索に用いる辞書が一致するとは限らないことに留意
  2. UniDicのウェブサイトから現代書き言葉UniDicをダウンロード・展開する
  3. wlsp2unidicをダウンロード・展開する
  4. MeCabをインストールし,ライブラリを利用できるようにする

Usage

# 頻度が300回以上の1gram, 2gramを抽出
#  形態素単位はUniDicとは限らないことに注意
zcat data/NWJC-surface-1gram/*gz | nkf -w | python3 ./ngram_filter.py -n 1 --th 300 > data/1gram.300.txt
zcat data/NWJC-surface-2gram/*gz | nkf -w | python3 ./ngram_filter.py -n 2 --th 300 > data/2gram.300.txt

# オリジナルのUnidicを加工したMeCab辞書を作成
#  1-gramが一定数以上ある形態素のみ使う
#  記号などは除外
#  BOS/EOSとの連接コストは0になる
python3 ./convert_unidic.py --unidic /path/to/unidic --freq data/1gram.300.txt -o data/mydic

# C++プログラムをコンパイル
g++ -lmecab ./discover-ginata.cpp -o discover-ginata

# 異分割の探索
cat ./data/2gram.300.txt | ./discover-ginata -d ./data/mydic/bin | gzip > data/result.2gram.gz

# 分類語彙表を使って結果をフィルタリングする
#   コスト差を示す先頭カラムが追加される
#   ここでは異分割に食料を意味する形態素を含む場合のみを出力している
zcat data/result.2gram.gz | python3 ./result_filter.py -b ./data/wlsp2unidic/BunruiNo_LemmaID.txt --key 体-生産物-食料-食料 --after

Related Work

LICENSE

About

「ぎなた読みの自動生成の試み」で用いたコード

Resources

License

Packages

No packages published
You can’t perform that action at this time.