sourCEntral - mobile manpages

pdf

JS_KANREN

名称

js_kanren()

連文節変換を行う。

形式

#include "jslib.h"

int
js_kanren(env,yomi,hinsi,fzk,vec,vec1,vec2,rb)

struct wnn_env *env;

/* 環境 */

w_char *yomi;

/* 読み列 */

int hinsi;

/* 品詞番号 */

w_char *fzk;

/* 付属語文字列 */

int vec;

/* 接続ベクター */

int vec1;

/* 接続ベクター */

int vec2;

/* 接続ベクター */

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_BUNSETSU (文節の終端ベクトル)

を指定する。

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

vec2 は、連文節変換時の途中の文節で使用される。 通常、vec2 には WNN_VECT_BUNSETSU を指定する。

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 を返す。

pdf