.\" .\" $Id: kanren.man,v 1.3 2001/06/14 18:08:33 ura Exp $ .\" .\" .\" FreeWnn is a network-extensible Kana-to-Kanji conversion system. .\" This file is part of FreeWnn. .\" .\" Copyright Kyoto University Research Institute for Mathematical Sciences .\" 1987, 1988, 1989, 1990, 1991, 1992 .\" Copyright OMRON Corporation. 1987, 1988, 1989, 1990, 1991, 1992, 1999 .\" Copyright ASTEC, Inc. 1987, 1988, 1989, 1990, 1991, 1992 .\" Copyright FreeWnn Project 1999, 2000 .\" .\" Maintainer: FreeWnn Project .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by .\" the Free Software Foundation; either version 2 of the License, or .\" (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public License .\" along with this program; if not, write to the Free Software .\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA .\" .TH JS_KANREN \ "20 September 1991" .SH 名称 .sv 1 .nf .ta 0.1i 2i js_kanren() 連文節変換を行う。 .fi .SH 形式 .sv 1 .nf .ta 0.1i 3i #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; /* 変換結果を返すエリアへのポインタ */ .fi .SH 機能 .HP 0 .IP 読み yomi を連文節変換し、第一候補の列を返す。 hinsi, fzk は、yomi の文節の前の文節の品詞番号、付属語文字列を指定する。 品詞番号、付属語文字列を指定した場合は、yomi 先頭の文節を前の文節に接続 できる小文節列(前の文節を含めて大文節となる)として変換する。 前の文節に接続できる候補が無い場合は、大文節の先頭になれるものを返す。 それもない場合は、大文節の先頭になれないもの(その前に、指定した品詞以外 の品詞がこなくてはいけないもの。たとえば、hinsi に名詞を指定したときの 助数詞:助数詞の前には、数詞がきて大文節となる)を返す。 このうちどの候補が選ばれたかは、rb->buf->sbn->status に返される。 .nf .ta 0.3i 2.5i WNN_CONNECT 指定された(品詞、付属語)に接続できた WNN_SENTOU 大文節の先頭 WNN_NOT_CONNECT 大文節の先頭になれないし、前に接続できない WNN_GIJI 疑似文節として変換した .fi 前の文節に付属語が無い場合は、NULL を指定する。 前の小文節とは大別文節として変換する時は、hinsi に、 .nf .ta 0.3i 2.5i WNN_BUN_SENTOU (大文節の先頭になれるもの) WNN_ALL_HINSI (全ての小文節) .fi を指定する。 vec、vec1 は、変換のための終端ベクトルを指定する。 後ろの小文節の前端ベクトルを指定する。その場合は、yomi の最後の文節に 後ろの文節を含めたものが大文節となる。 後ろの小文節とは別大文節として変換する時は、vec、 vec1 に、 .nf .ta 0.3i 2.5i WNN_VECT_KANREN (連文節変換の終端ベクトル) WNN_VECT_KANTAN (単文節変換の終端ベクトル) WNN_VECT_KANZEN (全候補取出しの終端ベクトル) WNN_VECT_BUNSETSU (文節の終端ベクトル) .fi を指定する。 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 *)の先頭への ポインタが返される。そこから、大文節数だけ大文節の情報が、入っている。 付属語ファイルが読み込まれていない場合は、エラーとなる。 .SH リターンバリュー .sv 1 .nf 正常終了時には、大文節数を返す。 異常終了時には、-1 を返す。 .fi