Skip to content

Commit

Permalink
Merge pull request #154 from tokuhirom/issue-153
Browse files Browse the repository at this point in the history
Remove jawiki-kana-kanji-dict
  • Loading branch information
tokuhirom authored Jan 16, 2023
2 parents 998b359 + 21f05d7 commit 5ea1078
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 53 deletions.
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@
[submodule "akaza-data/skk-dev-dict"]
path = akaza-data/skk-dev-dict
url = https://github.com/skk-dev/dict.git
[submodule "akaza-data/jawiki-kana-kanji-dict"]
path = akaza-data/jawiki-kana-kanji-dict
url = https://github.com/tokuhirom/jawiki-kana-kanji-dict.git
[submodule "rx-sys/rx"]
path = rx-sys/rx
url = [email protected]:yt76/rx.git
Expand Down
21 changes: 1 addition & 20 deletions akaza-data/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,25 +49,6 @@ work/vibrato-ipadic.vocab: work/vibrato-ipadic.wfreq src/subcmd/vocab.rs
cargo run --release -- vocab --threshold 16 work/vibrato-ipadic.wfreq work/vibrato-ipadic.vocab -vvv


# -------------------------------------------------------------------------

# Lindera によるトーカナイズ

# 以下のようにすれば、ユーザー辞書を追加可能。ただし、jawiki-kana-kanji-dict は wikipedia から生成しているため誤爆もあるので、ここでは使わないほうが良さそう。
# -u jawiki-kana-kanji-dict/lindera-userdic.bin

work/jawiki/lindera-ipadic/_SUCCESS: src/subcmd/tokenize.rs jawiki-kana-kanji-dict/mecab-userdic.csv src/corpus_reader/wikipedia_extracted.rs work/jawiki/extracted/_SUCCESS
cargo run --release -- tokenize-lindera-ipadic work/jawiki/extracted/ work/jawiki/lindera-ipadic/ -vvv

work/jawiki/lindera-ipadic.wfreq: work/jawiki/lindera-ipadic/_SUCCESS src/subcmd/wfreq.rs
cargo run --release -- wfreq work/jawiki/lindera-ipadic/ work/jawiki/lindera-ipadic.wfreq -vvv

# threshold が 16 なのは、ヒューリスティックなパラメータ設定による。
# 調整の余地あり。
work/jawiki/lindera-ipadic.vocab: work/jawiki/lindera-ipadic.wfreq src/subcmd/vocab.rs
cargo run --release -- vocab --threshold 16 work/jawiki/lindera-ipadic.wfreq work/jawiki/lindera-ipadic.vocab -vvv


# -------------------------------------------------------------------------

# 統計的仮名かな漢字変換のためのモデル作成処理
Expand Down Expand Up @@ -101,7 +82,7 @@ data/unigram.model: data/bigram.model
# システム辞書の構築。dict/SKK-JISYO.akaza、コーパスに書かれている語彙および work/vibrato-ipadic.vocab にある語彙。
# から、SKK-JISYO.L に含まれる語彙を除いたものが登録されている。

data/SKK-JISYO.akaza: work/vibrato-ipadic.vocab jawiki-kana-kanji-dict/SKK-JISYO.jawiki dict/SKK-JISYO.akaza src/subcmd/make_dict.rs corpus/must.txt corpus/should.txt corpus/may.txt
data/SKK-JISYO.akaza: work/vibrato-ipadic.vocab dict/SKK-JISYO.akaza src/subcmd/make_dict.rs corpus/must.txt corpus/should.txt corpus/may.txt
cargo run --release -- make-system-dict \
--corpus corpus/must.txt \
--corpus corpus/should.txt \
Expand Down
1 change: 0 additions & 1 deletion akaza-data/jawiki-kana-kanji-dict
Submodule jawiki-kana-kanji-dict deleted from 8fa633
2 changes: 1 addition & 1 deletion akaza-data/src/tokenizer/vibrato.rs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ impl VibratoTokenizer {

// ユーザー辞書として jawiki-kana-kanji-dict を使うと
// 変な単語を間違って覚えることがあるので、
// トーカナイズフェーズからは外す
// トーカナイズフェーズには入れないこと。
if let Some(user_dict) = user_dict {
info!("Loading user dictionary: {}", user_dict);
dict = dict
Expand Down
47 changes: 19 additions & 28 deletions docs/data-flow.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,29 +4,26 @@

ここで、language model とは日本語における単語の発現確率のことを指す。

akaza では、基本的に wikipedia 日本語版のデータをもとに単語の発現確率及び 2gram での発現確率を求めている。
akaza では、基本的に wikipedia 日本語版および青空文庫のデータをもとに単語の発現確率及び 2gram での発現確率を求めている。

わかちがき処理及びよみがな処理には kytea を利用している。

wikipedia を利用しているのは、日本語のコーパスとしてフリーで再利用可能なものが他に見当たらないからであって、他に良いものがあれば追加したい。
わかちがき処理及びよみがな処理には vibrato+ipadic を利用している。

```mermaid
graph TD
wikipedia --> wikipedia.xml.bz2
-- bunzip2 -->latest-pages-articles.xml
-- wikiextractor --> extracted
-- kytea --> annotated
-- text2wfreq --> jawiki.wfreq
-- wfreq2vocab --> jawiki.vocab
jawiki.vocab --> dumpngram[/dumpngram/]
extracted --> dumpngram[/dumpngram/]
--> ngram.txt
ngram.txt --> jawiki.mergeed-1gram.txt
ngram.txt --> jawiki.mergeed-2gram.txt
jawiki.mergeed-1gram.txt -- akaza-make-system-lm --> stats-kytea-lm_v2_1gram.trie
jawiki.mergeed-2gram.txt -- akaza-make-system-lm --> stats-kytea-lm_v2_2gram.trie
stats-kytea-lm_v2_1gram.trie -- akaza-make-system-lm --> stats-kytea-lm_v2_2gram.trie
-- bunzip2 --> wikipedia.xml
-- wikiextractor --> extracted/
-- vibrato --> tokenized/
aozora_bunko --> vibrato --> tokenized/
tokenized/ --> wfreq
wfreq --> vocab
tokenized/ --> bigram.raw
wfreq --> unigram.raw
corpus/ --> learn-corpus
bigram.raw --> learn-corpus
unigram.raw --> learn-corpus
learn-corpus --> unigram.model
learn-corpus --> bigram.model
```

## システム辞書
Expand All @@ -38,16 +35,10 @@ graph TD

```mermaid
graph TD
SKK-JISYO.L --> system-dict
SKK-JISYO.jinmei --> system-dict
SKK-JISYO.station --> system-dict
jawiki-kana-kanji-dict --> SKK-JISYO.jawiki --> system-dict
SKK-JISYO.akaza --> system-dict
system-dict -- akaza-make-binary-dict--> stats-kytea-system_dict.trie
SKK-JISYO.emoji --> single-term-dict
SKK-JISYO.zipcode --> single-term-dict
single-term-dict -- akaza-make-binary-dict--> stats-kytea-single_term.trie
corpus/*.txt --> system-dict
work/vibrato-ipadic.vocab --> system-dict
dict/SKK-JISYO.akaza --> system-dict
system-dict -- make-system-dict--> data/SKK-JISYO.akaza
```

## ユーザー言語モデル
Expand Down

0 comments on commit 5ea1078

Please sign in to comment.