Python
自然言語処理
NLP
Cabocha

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
CaboCha/南瓜: Yet Another Japanese Dependency Structure Analyzer