2010-03-01から1ヶ月間の記事一覧

式一つ分のコメントアウト

common lispで開発していると、たまに式一つ分だけコメントアウトしたくなることがある。 そういった機能は標準ではないかと思っていたが、条件付き読み込み(?)を使えば似たようなことが出来ることに気がついた。 ;; (+ 20 30)をコメントアウト > (+ 10 #+c …

make-sequenceとmake-array

sbcl-1.0.34での話。 make-sequence関数はmake-array関数よりも特殊化されているので、より高速なのかと思っていたら、そうではなかった。 ;; make-array関数 > (time (loop repeat 1000000 sum (length (make-array 1000 :initial-element 0)))) Evaluation…

Igo : Common Lisp版

Javaで作成していた形態素解析器のCommon Lisp版も作成(cl-igo)。 バイナリ辞書はJavaで作成したものを使用するようにし、辞書の読み込み・形態素解析部分だけをcommon lispで実装した。 ユニコード文字列に対応している処理系なら、多分動くはず...。※ 確認…

Igo : MeCabと形態素解析速度比較

Igo(0.4.0)とMeCab(0.97)の形態素解析速度を再度比較してみた。 計時用のプログラム MeCabの計時用のプログラム。 参照: ReadLine /** * ファイル名: mec.cc * コンパイル: g++ -O3 -omec mec.cc `mecab-config --libs` * 計時方法: time mec <対象ファイル>…

終了

先週の日曜から取り組んでいたJavaでの形態素解析器の実装がひとまず終了。 完成物: Igoまだ、例外処理周りの整備とか、ドキュメント作成とかは残っているが、実装が大幅に修正されることはもうなさそう。 特徴 思いつく特徴を列挙。 Java ほぼMeCab互換 MeC…

結果

前回の予告の結果。 一応、それらしいものは出来た。 igoという名前をつけてプロジェクトも作成*1。 ただ、何とか動作はするが、ソースコードやクラスの構成はメチャクチャ。 あと、若干MeCabと出力(形態素解析結果)が異なることがある。※ 要調査 その他、諸…

予告

予告 明日・明後日は仕事が休みなので、それを利用してJavaの形態素解析器を作ることにする。 作るもの ・完全にJavaで書かれた形態素解析器(+ その中で使われるDoubleArray) ・MeCabと辞書互換が目標 ・ただし、サポートするのは単純な形態素解析のみ ・既…