Skip to content
A morphological analyzer with a small memory footprint.
Common Lisp Java
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
analyzer
android-sample/app
dicbuilder
.gitignore
COPYING
COPYING.ipadic
README

README

[名前]
・Sanmoku


[バージョン]
・0.0.2


[概要]
・Gomoku( https://github.com/sile/gomoku )から派生した形態素解析器
・Gomokuに比べて実行時に必要なメモリ量が少ないのが特徴 (数分の一程度)
・形態素解析器としての特徴は、おおむねGomokuと同様


[形態素解析器]
形態素解析を行う(Java)。

= ビルド方法
 $ cd analyzer
 $ ant
 $ ls sanmoku-0.0.1.jar

= 形態素解析コマンド
 # 形態素解析
 $ java -cp sanmoku-0.0.1.jar net.reduls.sanmoku.bin.Sanmoku < 解析対象テキスト

 # 分かち書き
 $ java -cp sanmoku-0.0.1.jar net.reduls.sanmoku.bin.Sanmoku -wakati < 解析対象テキスト

= java API
package net.reduls.sanmoku;

class Tagger {
  public static List<Morpheme> parse(String text);
  public static List<String> wakati(String text);
}

class Morpheme {
  public final String surface;  // 形態素表層形
  public final String feature;  // 形態素素性 (== 品詞)
  public final int start;       // 入力テキスト内での形態素の出現開始位置
}


[辞書構築コマンド]
Sanmoku用のバイナリ辞書を構築する(Common Lisp)。
デフォルトの辞書(IPADIC)をカスタマイズしたい場合は、このコマンドを使ってバイナリ辞書を作成し、jarを再ビルドする必要がある。

ソース辞書にはMecabのサイト( http://mecab.sourceforge.net/ )にて配布されている辞書を想定。
※ 現時点ではIPADICにのみ対応。他の辞書での動作は未確認。


= 依存パッケージ
 ・SBCL: http://www.sbcl.org/
  ・Common Lisp処理系

= 辞書構築コマンド作成方法
 $ cd dicbuilder
 $ sbcl --script make-build-dic-command.lisp [コマンドの作成先ディレクトリ]
 $ ls sanmoku-build-dic

= 辞書構築コマンド使用方法
 $ sanmoku-build-dic <入力テキスト辞書ディレクトリ> <出力バイナリ辞書ディレクトリ> [テキスト辞書の文字コード(デフォルトはeuc-jp)]
 # 注意! ディレクトリ指定は最後の'/'が必要

= Sanmoku辞書の更新手順
 $ cd analyzer
 $ sanmoku-build-dic mecab-ipadic-2.7.0-20070801/ src/net/reduls/sanmoku/dicdata/  # 新しい辞書データで上書き
 $ ant clean
 $ ant


[ライセンス]
・Sanmoku本体(ソースファイル及びjarファイル)
 ・MITライセンス: 詳細はCOPYINGファイルを参照

・Sanmokuに含まれるIPADICバイナリデータ
 ・IPADICのライセンスに準拠: 詳細はCOPYING.ipadicを参照


[TODO]
・サロゲートペア対応
・CSVパーサ
・IPADIC以外の辞書に対応
・ヒープ実装最適化
・諸々整理
Something went wrong with that request. Please try again.