libraryGomokuをベースにしたSanmokuという形態素解析器を実装した。Gomokuに比べて解析時に必要なメモリ量が少ないのと初期ロード時間が短いのが特徴。sileの日記の続き。Gomoku(0.0.4)では辞書引き部分*1にDAWGを使っているので、それもIgoに取り込んで処理速度の変化を図ってみた。諸々の条件は前回と同様。今回は新たにIgoのDAWG版が加わる。speedGomoku(0.0.4)で得た知見の一部をIgo(0.4.3)に取り込んでみた。形態素解析の部分が少し速くなっている。MeCab(0.98)、Gomoku(0.0.4)、Igo(0.4.2,0.4.3)の処理速度の比較*1。以前とはマシンも変わっているので、全部計り直した。speedigo-gaeを修正して、辞書データ読み込みを速度を向上させた。igo-gaeの現在のバージョンは0.0.2。オリジナルのIgoでは、データ読み込みにはnio系パッケージのjava.nio.channels.FileChannelとjava.nio.MappedByteBufferを使っていた。algorithmこれまではDoubleArrayを構築する際には、ソースとなるトライのノードを深さ優先順で探索しDoubleArrayへと変換していた。speedIgoの時と同じように、Gomoku(0.0.4)とMeCab(0.98)の形態素解析速度を比較してみた。UTF-8)を、辞書にはMeCabのサイトより入手可能なmecab-ipadic-2.7.0-20070801*1を使用。Engine上で動くことを確認。昨日から若干修正したのでバージョンは0.0.3。libraryIgoをベースにしてJARファイルに辞書データを同梱した形態素解析器を作成した。開発コンセプト(?)は「JARファイルのみで形態素解析」と「サイズを(比較的)小さく」の二点。sileの日記で作成したクラスの巨大ファイル対応版。2GB以上のファイルでも扱うことが可能。ファイルにマッピングされたランダムアクセス可能な入力ストリームJava表題の通り、ファイルにマッピングされておりかつランダムアクセス可能な入力ストリームクラス、のサンプル。出力ストリームのバイトオーダーを制御する方法JavaJavaはデフォルトでは入出力でビッグエンディアンを使用するけど、リトルエンディアン或いはその環境にネイティブのバイトオーダーを指定して操作を行ないたい時もある。今回は出力ストリームのバイトーオーダーを制御する方法のメモ。JavaScriptで形態素解析で書いた内容を少し整理してgithubにソース一式を登録。GoogleAppEngineで形態素解析サーバで用意したサーバ(※追加修正あり。後述)を使って形態素解析を行うJavaScriptを書いてみた。GoogleAppEngineで形態素解析サーバJavaIgoをGoogleAppEngine上で動かしてみた。speed前回からだいぶ間が空いたけど、jadaで試したことのメモ。Javaは文字を二バイトコード(UTF-16)で表現しているので、jadaで実装されたトライの各ノードで(遷移に)用いられるコード値の最大値も0xFFFFとなっている。library必要になったのでJava版のDoubleArrayライブラリを作成。実装で試したことのメモ書きや計時はまた今度。speedIgo(0.4.0)とMeCab(0.97)の形態素解析速度を再度比較してみた。MeCabの計時用のプログラム。library先週の日曜から取り組んでいたJavaでの形態素解析器の実装がひとまず終了。Igoまだ、例外処理周りの整備とか、ドキュメント作成とかは残っているが、実装が大幅に修正されることはもうなさそう。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。