Syoyo Fujita commited on
Commit
cb752aa
1 Parent(s): bb99ea7

lfs utrack

Browse files
Files changed (2) hide show
  1. .gitattributes +0 -1
  2. README.md +113 -3
.gitattributes CHANGED
@@ -34,5 +34,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  kenlm_model-wiki-nfkc-wakachi.bin filter=lfs diff=lfs merge=lfs -text
37
- *.md filter=lfs diff=lfs merge=lfs -text
38
  kenlm_model-wiki-nfkc-char.bin filter=lfs diff=lfs merge=lfs -text
 
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
  kenlm_model-wiki-nfkc-wakachi.bin filter=lfs diff=lfs merge=lfs -text
 
37
  kenlm_model-wiki-nfkc-char.bin filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,3 +1,113 @@
1
- version https://git-lfs.github.com/spec/v1
2
- oid sha256:e446746694af03f2a26a30a2914af109ff068775fbe6172619cdae72384d7123
3
- size 3723
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ language:
3
+ - ja
4
+ tags:
5
+ - scoring
6
+ license: odc-by
7
+
8
+ ## 日本語品質スコアリングモデル
9
+
10
+ 現在は KenLM モデルのみ提供されています.
11
+
12
+ ## KenLM model
13
+
14
+ - kenlm_model-wiki-nfkc-char.bin
15
+ Wikipedia データセットに対して, NFKC 正規化を行い, 文字単位で train したもの.
16
+
17
+ - kenlm_model-wiki-nfkc-wakachi.bin
18
+ Wikipedia データセットに対して, NFKC 正規化を行い, Fugashi で分かち書きして train したもの.
19
+ 9 GB ほどあります.
20
+
21
+ ### 利用例
22
+
23
+ 文字単位の場合.
24
+ 必要に応じて `unicodedata.normalize` などで入力文章を NFKC 正規化ください.
25
+
26
+ ```py
27
+ import kenlm
28
+ import os
29
+
30
+ MODEL_BIN='kenlm_model-wiki-nfkc-char.bin'
31
+
32
+ if __name__ == '__main__':
33
+ if not os.path.exists(MODEL_BIN):
34
+ raise Exception("model file not found: {}".format(MODEL_BIN))
35
+ model = kenlm.LanguageModel(MODEL_BIN)
36
+
37
+ for txt in [
38
+ "脱字が存在する文章です。",
39
+ "脱字が存在する文章す。",
40
+ '東京はッ晴れ。',
41
+ '東京は元気です。',
42
+ '吾輩は猫である。 名前はまだない。',
43
+ '吾輩は猫である。 名前はまだな。',
44
+ '東京は晴れ',
45
+ '東京は晴れ。'
46
+ ]:
47
+ sentence = " ".join(txt.strip())
48
+ prob = model.score(sentence, bos=True, eos=True)
49
+ perplexity = model.perplexity(sentence)
50
+ print(perplexity, prob, txt)
51
+
52
+ ```
53
+
54
+ ```
55
+ 43.35517516360913 -21.281532287597656 脱字が存在する文章です。
56
+ 97.87160125641132 -23.887880325317383 脱字が存在する文章す。
57
+ 436.3376833313477 -21.118581771850586 東京はッ晴れ。
58
+ 28.211570751481222 -13.053845405578613 東京は元気です。
59
+ 10.25990652099858 -17.189437866210938 吾輩は猫である。 名前はまだない。
60
+ 18.742658903324944 -20.365299224853516 吾輩は猫である。 名前はまだな。
61
+ 1707.9430028946922 -19.394840240478516 東京は晴れ
62
+ 62.91522904283418 -12.591290473937988 東京は晴れ。
63
+ ```
64
+
65
+ 分かち書きする場合. 分かち書き処理には, SudachiPy など利用でもよいでしょう.
66
+ 必要に応じて `unicodedata.normalize` などで入力文章を NFKC 正規化ください.
67
+
68
+ ```py
69
+ import kenlm
70
+ import os
71
+ from fugashi import Tagger
72
+
73
+ MODEL_BIN='kenlm_model-wiki-nfkc-wakachi.bin'
74
+
75
+ tagger = Tagger('-Owakati')
76
+
77
+ if __name__ == '__main__':
78
+ if not os.path.exists(MODEL_BIN):
79
+ raise Exception("model file not found: {}".format(MODEL_BIN))
80
+ model = kenlm.LanguageModel(MODEL_BIN)
81
+
82
+ # 句点ごとの文に対してスコア計算が理想である
83
+ for txt in [
84
+ "脱字が存在する文章です。",
85
+ "脱字が存在する文章す。",
86
+ '東京はッ晴れ。',
87
+ '東京は元気です。',
88
+ '吾輩は猫である。 名前はまだない。',
89
+ '吾輩は猫である。 名前はまだな。',
90
+ '東京は晴れ',
91
+ '東京は晴れ。'
92
+ ]:
93
+ sentence = tagger.parse(txt.strip())
94
+ prob = model.score(sentence, bos=True, eos=True)
95
+ perplexity = model.perplexity(sentence)
96
+ print(perplexity, prob, txt)
97
+ ```
98
+
99
+ ```
100
+ 799.5157517342569 -23.22261619567871 脱字が存在する文章です。
101
+ 1427.360337285063 -25.236268997192383 脱字が存在する文章す。
102
+ 3103.9820393600435 -20.951515197753906 東京はッ晴れ。
103
+ 186.32902872137998 -13.621683120727539 東京は元気です。
104
+ 25.350235809904472 -16.8477840423584 吾輩は猫である。 名前はまだない。
105
+ 113.43313945517427 -24.656879425048828 吾輩は猫である。 名前はまだな。
106
+ 17985.3170652363 -17.019672393798828 東京は晴れ
107
+ 354.6946680891273 -12.749273300170898 東京は晴れ。
108
+ ```
109
+
110
+ ## License
111
+
112
+ odc-by
113
+