JS_KANZEN_DAI(3)

名称
js_kanzen_dai()		大文節単位で単文節変換し全候補を得る。

形式
#include "jslib.h"

int
js_kanzen_dai(env,yomi,hinsi,fzk,vec,vec1,rb)
struct wnn_env *env;		/* 環境 */
w_char *yomi;			/* 読み列 */
int hinsi;			/* 品詞番号 */
w_char *fzk;			/* 付属語文字列 */
int vec;			/* 接続ベクター */
int vec1;			/* 接続ベクター */
struct wnn_ret_buf *rb;		/* 変換結果を返すエリアへのポインタ */

機能

    読み yomi を大文節として単文節変換で変換し、全候補の列を返す。

    hinsi, fzk は、yomi の文節の前の文節の品詞番号、付属語文字列を指定する。

    品詞番号、付属語文字列を指定した場合は、yomi を前の文節に接続できる 小文節列(前の文節を含めて大文節となる)として変換する。

    前の文節に接続できる候補が無い場合は、大文節の先頭になれるものを返す。 それもない場合は、大文節の先頭になれないもの(その前に、指定した品詞以外 の品詞がこなくてはいけないもの。たとえば、hinsi に名詞を指定したときの 助数詞:助数詞の前には、数詞がきて大文節となる)を返す。

    このうちどの候補が選ばれたかは、rb->buf->sbn->status に返される。
    	    WNN_CONNECT		指定された(品詞、付属語)に接続できた
    	    WNN_SENTOU		大文節の先頭
    	    WNN_NOT_CONNECT	大文節の先頭になれないし、前に接続できない
    	    WNN_GIJI       	疑似文節として変換した

    前の文節に付属語が無い場合は、NULL を指定する。

    前の小文節とは大別文節として変換する時は、hinsi に、
    	    WNN_BUN_SENTOU	(大文節の先頭になれるもの)
    	    WNN_ALL_HINSI	(全ての小文節)
    を指定する。

    vec、vec1 は、変換のための終端ベクトルを指定する。 後ろの小文節の前端ベクトルを指定する。その場合は、yomi の最後の文節に 後ろの文節を含めたものが大文節となる。 後ろの小文節とは別大文節として変換する時は、vec、 vec1 に、
    	    WNN_VECT_KANREN (連文節変換の終端ベクトル)
    	    WNN_VECT_KANTAN (単文節変換の終端ベクトル)
    	    WNN_VECT_KANZEN (全候補取出しの終端ベクトル)
    	    WNN_VECT_BUNDETSU(文節の終端ベクトル)
    を指定する。

    vec に指定した終端ベクトルは、vec1 に指定した終端ベクトルよりも、評価 基準が高くなる。 通常、vec には後ろの小文節の前端ベクトルを、vec1 には、WNN_VECT_KANREN を指定する。 vec1 に指定すべき終端ベクトルがない場合は、WNN_VECT_NO を指定する。 この場合 vec のみが変換に使用される。

    vec に接続できる文節か、vec1 に接続できる文節かは、 rb->buf->sbn->status_bkwd に返される。 vec に接続できた場合は、WNN_CONNECT_BK が、vec1 に接続できた場合は、 WNN_NOT_CONNECT_BK が返される。 この値は、yomi に指定した、最後語の文節のみが有効である。

    rb には、変換結果が返るエリアへのポインタ(struct wnn_ret_buf *)を指定す る。rb は、ユーザが用意し *rb = {0, NULL} に初期化する。 rb->buf に変換結果の大文節の情報(struct wnn_dai_bunsetsu *)の先頭への ポインタが返される。そこから、大文節数だけ大文節の情報が、入っている。

    付属語ファイルが読み込まれていない場合は、エラーとなる。

リターンバリュー
正常終了時には、大文節数を返す。
異常終了時には、-1 を返す。