js_kanzen_sho() 小文節単位で単文節変換し全候補を得る。
#include "jslib.h"
int
js_kanzen_sho(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->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_sho_bunsetsu *)の先頭への
ポインタが返される。そこから、小文節数だけ小文節の情報が、入っている。
付属語ファイルが読み込まれていない場合は、エラーとなる。
リターンバリュー¶
正常終了時には、大文節数を返す。
異常終了時には、-1 を返す。