形態素解析器
実行ファイルjaggerはstdIn stdOutではなく,コマンドラインと対話するバージョンです。
デフォルトのモデルファイルは../model/kyoto+kwdlc/patternです。
辞書は別途GitHubからダウンロードする設計です。
まずZip形式で圧縮しておきます。
- ファイル名は常に
model.zip
$model:=Folder("/RESOURCES/model/kyoto+kwdlc")
$zip:=cs._Zip.new($model)
$zip.create()リリース名を辞書名に合わせます。
https://github.com/miyako/Jagger/releases/tag/kyoto%2Bkwdlc
Releasesから.zip形式の辞書をダウンロードして展開します。
$model:=cs.Jagger.Model.new("kyoto+kwdlc")
If (Not($model.exists))
$model.install()
End ifvar $Jagger : cs.Jagger.Jagger
$Jagger:=cs.Jagger.Jagger.new()
$text:="Jagger は、辞書に基づく単語分割のための最長一致法と、機械学習の分類器の事前計算に着想を得た、特徴パターンに基づく高速・高精度・省メモリの形態素解析器です。"
$status:=$Jagger.split($text)
ALERT($status.join(","))
var $Jagger : cs.Jagger.Jagger
$Jagger:=cs.Jagger.Jagger.new()
$text:="Jagger は、辞書に基づく単語分割のための最長一致法と、機械学習の分類器の事前計算に着想を得た、特徴パターンに基づく高速・高精度・省メモリの形態素解析器です。"
$status:=$Jagger.tokenize($text)
ALERT(JSON Stringify($status; *))
#DECLARE($params : Object)
If (Count parameters=0)
CALL WORKER("Jagger"; Current method name; {})
Else
var Jagger : cs.Jagger.Jagger
If (Jagger=Null)
Jagger:=cs.Jagger.Jagger.new()
End if
$text:="Jagger は、辞書に基づく単語分割のための最長一致法と、機械学習の分類器の事前計算に着想を得た、特徴パターンに基づく高速・高精度・省メモリの形態素解析器です。"
Jagger.split($text; True)
//Jagger.quit()
End if
実行ファイルを起動したまま,CGIのように標準入出力で対話します。毎回,辞書やモデルをロードしないので効率的です。.quit()するまでonDataコールバック関数が呼ばれます。実行中のインスタンスで辞書やモデルを変更することはできません。起動した後はsplitあるいはtokenizeいずれかの実装になります。
- コンストラクターが必要に応じてGitHubからデフォルトの辞書をインストールします。