ログ分析ツールのためにTF-IDFのプログラムをGitHUBでForkした
今朝は5時から開発開始です。
昨日、AIの作ったTF-IDFのプログラムを添削しましたが、使えそうもないので、助手の猫のアドバイスを聞いて自分で考えることにしました。
まずは、
のプログラムを真面目に読み込んでみました。
中の作りも良くできています。
良い点は
単語分割を拡張できる(日本語対応など)
文書間の類似度を計算できる
重複する文書を削減できる
などです。
悪い点は、
Glideという古いパッケージ管理を使っている
中国語の単語分割のライブラリでワーニングがでる
です。
そこで、思い切ってForkして自分で開発することにしました。
オリジナルから
中国語の対応を削除
日本語に対応
パッケージ管理をgo modに変更
の変更をしました。
サンプルのプログラムを中国語版と同じように
tokenizer := &seg.JaTokenizer{}
defer tokenizer.Free()
f = tfidf.NewTokenizer(tokenizer)
f.AddDocs("東京大学", "早稲田大学", "東京工業大学", "北見工業大学", "慶応大学")
t1 = "東京工業大学"
w1 = f.Cal(t1)
fmt.Printf("weight of %s is %+v.\n", t1, w1)
t2 = "北見工業大学"
w2 = f.Cal(t2)
fmt.Printf("weight of %s is %+v.\n", t2, w2)
日本の大学名にしてみたら、結果が
weight of 東京工業大学 is map[東京工業大学:1.0986122886681096].
weight of 北見工業大学 is map[北見工業大学:1.0986122886681096].
のようになってしまいました。大学名は一つの単語になるようです。
オリジナルの中国語は
weight of 重庆市西南大学 is map[大学:0 市:0.18325814637483104 庆:0.10216512475319815 西南:0.3218875824868201 重:0.10216512475319815].
のように分割されます。
なので、サンプルは書き換えますが、今朝は時間切れです。
明日に続く
いいなと思ったら応援しよう!
開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。
ソフトウェアのマニュアルをnoteの記事で提供しています。
サポートによりnoteの運営にも貢献できるのでよろしくお願います。