h2o-3で日本語のトークナイズ

h2o.aiのH2OFrameにtokenizeがあるけど、これは正規表現で区切って、単語分割を実現してくれる。がしかし、日本語だと全く持って役に立たない…。でも、日本語を何とかしたい、でググってもPythonの世界にデータを持ってきて処理したりするのはあるがイマイチ期待する解決策でもない…。

ということで、どうしたものかと思い、Fione環境であればElasticsearchもあるので、ElasticsearchのAnalyze APIを用いて、単語分割を実現することにした。Fione環境だと、さらにFessの設定も使えるので、japanese_analyzerとかもあるので、これを呼べるようにすれば解決なわけである。

H2OFrameに新たなメソッドを生やすのも面倒なので、既存のtokenizeにtokenize:elasticsearch:urlみたいな文字列を渡されたら、ElasticsearchのAnalyze APIを呼んで、単語分割することにした。ということをやってくれるElasticsearchTokeinzerパッチがこれ

という感じで、これで、Python側にデータを持ってこないで、h2oのMRTaskの世界で処理ができるようになったので、ひとまず、解決。これで、Fioneで日本語をWord2Vecできるようになったはず。(素のh2oで使う場合は別途elasticsearchを用意するか、tokenizerをそんな感じで作るかかな…)

Fess 13.7のリリース

Fess 13.7をリリースしました。いくつかやりたいことはあるものの、Fioneとか、他にもやることがあったので、elasticsearch 7.7できちんと動くような修正を入れることだけにしてリリースした感じです。elasticsearch 7.7がelasticsearch 8に備えて、WARNとか、出してくるようになってきたので、そこら辺の調整な感じです。という感じで、問題があれば、フォーラムに上げていただければ対応していこうと思います。

Fione 13.6.3のリリース

Fione 13.6.3をリリースしました。細かい課題はまだいろいろとある気がしますが、定期的に区切りの良いところでリリースしながら改善していければということでリリースしました。

今回は次に繋がるPython統合を行ったことで、大幅な進化を遂げたと思います。任意のPythonスクリプトを追加して、拡張を行えるようになったので、どんどんPythonスクリプトが追加されていけば、画面からポチポチするだけで、機械学習を適用していくことができると思います。今のところは、K MeansとGLRMを実行するスクリプトを追加してあるので、AutoMLページにいけば、選択して実行することができます。ドキュメントとかはこれから少しずつ増やしていければと思います。

UIまわりも地道に整理してきていますが、直感的でないところは継続して改善していければと思っています。まぁ、概念的にわかりにくいところをどのように整理していくかという感じではありますが…。

という感じではありますが、クイックスタートあたりから試していっていただければと。