neologd と TinySegmenterMaker を 手軽に組み合わせられる様にしてみた

読了まで:約2分


と言う話です。なお実際の成果物はこちら:

前提となる知識

そもそも Neologd とか TinySegmenter とか何やねんと言うと、

  • Neologd は今時の新語などを良い感じに処理するための辞書
  • TinySegmenter は元は JavaScript で書かれたわかち書きのライブラリ

で、TinySegmenterMaker はその TinySegmenter のモデルを作り、 カスタマイズされた TInySegmenter を作るためのツールチェイン一式、という感じです。

なお、それぞれのリンクは以下:

私の成果物は何をするためのモノか

で。私の成果物である、

は、何をしているかというと、

  1. neologdTinySegmenterMaker の DL をサクっと行う
  2. neologd + mecab でテキストを分析して TinySegmenterMaker で使える様にする
  3. この一連の流れをmake コマンド一発で行える様にする

と言う感じのコトをやっているパッケージです。

なお私は普段使いの OS が NixOS なんで、 nix-shell 経由で作業が出来る様に default.nix が 付属していますが、 他の Linux 環境でもコマンドさえ揃ってれば Makfile のタスクを実行できると思います。

なお細かい流れとかについては、

を見てくれーと言う感じですが、だいたいコレを参考にしてカスタムな Makefile を作れば、 おおよそ手軽に再現性のある TinySegmenter が作れると思います。

ちなみに

自分は TinySegmenterMaker のコーパスを作るために、 自分のブログ(つまりこの WebSite です)の過去記事をプレーンテキストにして合体させたモノを使いました。やってて良かったブログ歴 13 年。

ただこれ、自分のブログを元ネタにしたんで、 今回作ったモデルだと自分のブログに最適化された形で分かち書きされる、 と言う様な気はしているんですが、 いかんせん TinySegmenter も含めテキスト処理についてはあまり詳しくないので、 今回作ったモデルで精度とか出るのか、と言うと正直良く判りません。

あと今回作ったパッケージには scripts/model-to-json.pl と言う謎スクリプトが付属していますが、 これを上手いこと使うと以前自分が作った、

で使える JSON ファイルが得られるので、上記ライブラリは Golang 製ですが、 わりと手軽に精度とかをチェックするのが出来るんじゃないかと思います。

以上

と言うコトで、

neologdTinySegmenterMaker を手軽に組み合わせられる様にしたよー

と言う話でした。

まぁ結果として出来上がったモデルが実用できるのかどうかは今一つピンと来てないんですが、 今回作ったパッケージでモデルを作る作業は大分ラクになったので、良かったら使ってみて下さい。

と言う事で今回の話は以上です。はい。

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。