NISHIO Hirokazu[Translate]
ppoi改善案

2018-10-24
ppoiの改善案、使っている最中に直し始めると気が散るのでこちらにメモしておく

unknown.txtをおいて欲しい旨がわからない
具体的に何をするんかわからない
書籍の裁断スキャンPDFをOCRしたデータ5冊分をcatした
$ wc unknown.txt
> 35203 110327 2069652 unknown.txt

python
>>> lines = open("unknown.txt").readlines() >>> lines = [line for line in lines if line != "\n"] >>> len(lines) 25762 >>> open("unknown.txt", "w").writelines(lines) >>> from collections import Counter >>> c = Counter() >>>> for line in lines: c.update(line) >>> c.most_common(100) ... >>> len(c) 2851 >>> len([1 for k in c if c[k] > 9]) 1513 >>> open("chars.txt", "w").write("".join([k for (k, v) in c.most_common() if v > 9])) 1513

(将来の機能追加) initialize時に最低1つのpositiveとnegativeを入れろと言うが、別に入れなくても「両サイドのデータが入力されてなければ全部0.5」と判断して能動学習に進んだらいい
(検討) コマンドラインで実行されることを想定してるけど、ipython上で動くのでもよかったかもなぁ?
ipythonはinputを取れるのか?
ppoi/unknown.txtをおけ、って伝わらないよね

今回OCR化けの判定なので
:
$ cat ppoi/positive.txt |11111'「 11 $ cat ppoi/negative.txt よ い取材をしな いと、 いくら器用 にそれをまとめたところで、 よ い判断 に到達する気づか い

user.pyのfeatureづくりを変更
python
CHARS = open("chars.txt").read() def make_features(s): "take a string, return np.array" x = np.array([s.count(c) for c in CHARS], dtype=np.float) # normalize x = x / x.sum() return x

能動学習の時に間違えて入力した場合のためにundoがあると良い
今はファイルを2つ開いて編集しなければならない

能動学習の最中に、クラスタを増やしたくなる
今回のケース、Yes/Noの他に「これじゃ短すぎて判断つかないよ」がある

"Engineer's way of creating knowledge" the English version of my book is now available on [Engineer's way of creating knowledge]

(C)NISHIO Hirokazu / Converted from [Scrapbox] at [Edit]