[Tofu]形態素解析エンジン『Tofu』プログラミングAPI

戻る

概要

形態素解析エンジン『Tofu』は COM コンポーネントです。以下のメソッドを提供します。

     メソッド名 機能 概要
1  analyze   品詞情報付き解析   引数で渡された文章を形態素に分解し、品詞情報付きの解析結果を返します。 
2  tokenize   分かち書き   引数で渡された文章を形態素に分解し、スペースで連結して返します。 
3  selectNoun   名詞取り出し   引数で渡された文章を形態素解析後、名詞のみをスペースで連結して返します。 


詳細

『Tofu』が提供するAPIの詳細と、VB6からの呼び出し例を次に示します。なお、VS6や.net 環境で使用する場合は、プロジェクトあるいはソリューションにTofu 1.0 タイプライブラリ への参照を追加する必要があります。プログラミングインタフェースに関しては共通ですので、VB6で説明し、.netでの説明を省きます。プロジェクト全体のソースがVB版、C#版共に同梱されていますので、ご参照ください。

1.品詞情報付き解析 analyze

引数で渡された文章を形態素に分解し、品詞情報付きの解析結果を返します。 例えば、次の文章をtokenizeDetailメソッドに引き渡すと、

analyzeメソッドは、文章を形態素に分解し、品詞情報付きの解析結果を返します。
戻り値として次の解析結果が得られます。

ANALYZE	未知語,*   
メソッド	名詞,一般
は	助詞,係助詞
、	記号,読点
文章	名詞,一般
を	助詞,格助詞
形態素	名詞,一般
に	助詞,格助詞
分解	名詞,サ変接続
し	動詞,自立
、	記号,読点
品詞	名詞,一般
情報	名詞,一般
付き	名詞,一般
の	助詞,連体化
解析	名詞,サ変接続
結果	名詞,副詞可能
を	助詞,格助詞
返し	動詞,自立
ます	助動詞,*
。	記号,句点
なお、このメソッドは表示を目的に作られています。解析結果の単語と品詞情報の間には、TABコード(0x0A)が挿入されています。また行末には改行(LF:0x0A)が付加されます。ただし、VisualStudioのテキストボックスに貼り付けて改行させるには、LF(0x0a)をCR+LF(0x0d+0x0a)に置き換える必要があります。
メソッド形式
outputStr = analyze( inputStr )
引 数
  1. inputStr -- 形態素解析対象の文字列
戻り値
  戻り値 説明
正常時 長さ1以上の文字列 解析結果
エラー時 NULL エラーの原因
  • メモリ確保失敗
  • 入力文字列エラー
  • 辞書読み込みエラー
  • 辞書引きエラー
VB6からの呼び出し例
Dim morphan As Object
Dim istr, ostr

Set morphan = CreateObject("Tofu.TofuMA.1")
istr = InputText.Text		'入力用テキストボックスから文字列を取り出す
ostr = morphan.analyze(istr)
OutputText.Text = ostr		'結果出力用テキストボックスに解析結果を設定

2.分かち書き tokenize

引数で渡された文章を形態素に分解し、スペースで連結して返します。 例えば、次の文章をtokenizeメソッドに引き渡すと、

tokenizeメソッドは、文章を形態素に分解し、スペースで連結して返します。
戻り値として次の解析結果が得られます。

tokenize メソッド は 文章 を 形態素 に 分解 し 、 スペース で 連結 し て 返し ます 。
なお、このメソッドの解析結果は、単語間が半角スペース(0x20)で連結しています。これを配列化するには、VB6やC#が標準で備えている split関数(メソッド)を使用し、” ”(半角スペース)で分割すれば楽に行えます。
メソッド形式
outputStr = tokenize( inputStr )
引 数
  1. inputStr -- 形態素解析対象の文字列
戻り値
  戻り値 説明
正常時 長さ1以上の文字列 解析結果
エラー時 NULL エラーの原因
  • メモリ確保失敗
  • 入力文字列エラー
  • 辞書読み込みエラー
  • 辞書引きエラー
VB6からの呼び出し例
Dim morphan As Object
Dim istr, ostr

Set morphan = CreateObject("Tofu.TofuMA.1")
istr = InputText.Text		'入力用テキストボックスから文字列を取り出す
ostr = morphan.tokenize(istr)
OutputText.Text = ostr		'結果出力用テキストボックスに解析結果を設定

3.名詞取り出し tokenizeNoun

引数で渡された文章を形態素に分解し、名詞のみをスペースで連結して返します。 例えば、次の文章をselectNounメソッドに引き渡すと、

selectNounメソッドは、文章を形態素に分解し、名詞のみをスペースで連結して返します。
戻り値として次の解析結果が得られます。

selectNoun メソッド 文章 形態素 分解 名詞 スペース 連結
なお、このメソッドの解析結果は、単語間が半角スペース(0x20)で連結しているため、配列化するにはVB6やC#のsplit関数を使用し、” ”(半角スペース)で分割すれば楽に行えます。
メソッド形式
outputStr = selectNoun( inputStr )
引 数
  1. inputStr -- 形態素解析対象の文字列
戻り値
  戻り値 説明
正常時 長さ1以上の文字列 解析結果
エラー時 NULL エラーの原因
  • メモリ確保失敗
  • 入力文字列エラー
  • 辞書読み込みエラー
  • 辞書引きエラー
VB6からの呼び出し例
Dim morphan As Object
Dim istr, ostr

Set morphan = CreateObject("Tofu.TofuMA.1")
istr = InputText.Text		'入力用テキストボックスから文字列を取り出す
ostr = morphan.selectNoun(istr)
OutputText.Text = ostr		'結果出力用テキストボックスに解析結果を設定


All rights reserved, Copyright © 2009 Discovery Inc.