CaboCha/南瓜 Python Document (CaboCha.py)

> メソッド(引数) -> 返値タイプ
> 説明

# module Cabocha
####.Chunk(\*args, \**kwargs)
不明。解析の内部的に利用してるコンストラクタ？
####.Chunk_swigregister(int) -> None
不明
####.Parser(str) -> CaboCha.Parser
コマンドラインオプションを引数にすることができる。
####.Parser_swigregister(int) -> None
不明
####.Parser_version
コマンドラインオプション-v, --versionに対応
cabochaのバージョンを返す。
####.Token(\*args, \**kwargs)
不明。解析の内部的に利用してるコンストラクタ？
####.Token_swigregister(int) -> None
不明
####.Tree() -> CaboCha.Tree
不明。解析の内部的に利用してるコンストラクタ？
####.Tree_swigregister(int) -> None
不明
####.getLastError() -> str
不明
####.runChunkingTraining
不明。cabocha-learn用？
####.runDependencyTraining
不明。cabocha-learn用？
####.runNETraining
不明。cabocha-learn用？


# class Chunk
文節に関する属性を保持するクラス。
####.additional_info() ->
不明
####.feature_list_size() -> int
素性列の数を返す。
####.feature_list(int) -> str
位置intの素性列を返す。
####.func_pos() -> int
素性列で説明される機能語の位置を返す。
####.head_pos() -> int
素性列の説明される主辞の位置を返す。
####.link() -> int
文節の係り先の文節番号(id)が返る。-1は係り先がない。
####.score() -> float
係りやすさの度合を示す係り関係のスコアを返す。一般に大きな値ほど係りやすいことを表す。
####.this() -> SwigPyObject
不明 \<Swig Object of type 'CaboCha::Chunk *' at 0x0000000>
####.token_pos() -> int
自立語(文節中の最初の単語)の入力文中での位置を返す。
####.token_size() -> int
文節に含まれている単語の数を返す。


# class Token
単語に関する属性を保持するクラス。
####.additional_info() ->
不明
####.chunk() ->
不明。自立語のときCaboCha.Chunk、付属語のときNoneを返す？
####.feature() -> str
素性を返す。
####.feature_list() -> method
不明
####.ne() -> str
コマンドラインオプション-n, --ne=MODEに対応
Parserにオプションを渡したとき固有表現解析をし、その結果を返す。オプションがないときはNoneを返す

0 - without NE(default)
1 - output NE with chunk constraint
2 - output NE without chunk constraint
####.normalized_surface() -> str
不明。崩れ表記の正規化？`.surface`との差異がでなかった。
####.surface() -> str
表層形を返す。
####.this() -> SwigPyObject
不明 \<Swig Object of type 'CaboCha::Token *' at 0x000000000>


# class Tree
####.chunk(int) -> CaboCha.Chunk
位置(id)intのCaboCha.Chunkインスタンスを返す
####.chunk_size() -> int
文節の数を返す
####.clear() -> None
不明
####.clear_chunk() -> None
不明
####.charset() -> int
不明。CaboCha.py中に以下の定数があるので関係しているか？
CABOCHA_EUC_JP = \_CaboCha.CABOCHA_EUC_JP
CABOCHA_CP932 = \_CaboCha.CABOCHA\_CP932
CABOCHA_UTF8 = \_CaboCha.CABOCHA_UTF8
CABOCHA_ASCII = \_CaboCha.CABOCHA_ASCII

####.empty() -> bool
不明
####.output_layer() -> int
コマンドラインオプション`-o`の数値が返る。デフォルトは4
`.toString`があるため使い道不明
####.posset() -> int
品詞体系及びモデルのタイプを返す？
CABOCHA\_IPA = \_CaboCha.CABOCHA_IPA
CABOCHA\_JUMAN = \_CaboCha.CABOCHA_JUMAN
CABOCHA\_UNIDIC = \_CaboCha.CABOCHA_UNIDIC
 
####.read(arg1, arg2) ->
不明。引数が2つ必要
####.sentence() -> str
入力文を返す
####.sentence_size() -> int
入力文のバイト数を返す（文字数ではない）
####.set_charset(int) -> None
`.charset`がgetter、`.set_charset`がsetter
####.set_output_layer(int) -> None
`.output_layer`がgetter、`.set_output_layer`がsetter
####.set_posset(int) -> None
コマンドラインオプション-P, --possetに対応？ただし、コマンドラインオプションでは引数がstrであるのに対して、int(定数)になる`.posset`参照
`.posset`がgetter、`.set_posset`がsetter
####.set_sentence(str) -> None
`.set_sentence`がgetter、`.set_sentence`がsetter
ただし、解析し直している様子はない
####.size() -> int
単語の数を返す。`token_size`との差異不明
####.token(int) -> CaboCha.Token
位置intのCaboCha.Tokenインスタンスを返す
####.token_size() -> int
単語の数を返す。`.size`との差異不明
####.toString(Const) -> str
-f, --output-format=TYPEに対応
以下のFORMAT_タイプにしたがって出力

- CaboCha.FORMAT_TREE (`-f0`)
- CaboCha.FORMAT_LATTICE (`-f1`)
- CaboCha.FORMAT_TREE_LATTICE (`-f2`)
- CaboCha.FORMAT_XML (`-f3`)
- CaboCha.FORMAT_CONLL
- CaboCha.FORMAT_NONE

####.what() -> str
不明

# class Parser
####.parseToString(str) -> str
解析結果を文字列で返す。出力フォーマットの変更方法は不明
####.parse(str) -> CaboCha.Tree
引数strを解析してTreeクラスを返す
Treeクラスは文節クラス(class Chunk)と単語クラス(class Token)を包含する。文節クラスおよび単語クラスは文頭から順にid(0,1,2,...)がつく
####.version -> str
コマンドラインオプション-v, --versionに対応
cabochaのバージョン番号を返す。
####.what -> str
不明


#補足・参照
CaboChaバージョン0.69に基づく
CaboChaモジュールのまとまったドキュメントが見つからなかったのでまとめました。素人によるものなので、いろいろとご指摘を受けて内容を充実できたらと考えてます。CaboCha.py(SWIGで生成されたもの？)を軽くのぞいた程度のドキュメントです。

####動機
 - MeCabの-Odumpのデータを利用したかった。結果、無理だった。形態素解析を2回することになって計算量が無駄になる。
 - Chunkオブジェクトからそれを構成しているTokenオブジェクトや、係り受け先・係り受け元のオブジェクトを直接取得する方法を知りたかった。結果、無理だった。常にTreeオブジェクトから取得することになる。

[CaboCha/南瓜: Yet Another Japanese Dependency Structure Analyzer](http://chasen.naist.jp/chaki/t/2005-08-29/doc/CaboCha%20Yet%20Another%20Japanese%20Dependency%20Structure%20Analyzer.htm)
[CaboCha/南瓜: Yet Another Japanese Dependency Structure Analyzer
](http://taku910.github.io/cabocha/)