Previous Post | Top | Next Post |
TOC
まず、anthy.dic
作成時の構成要素のanthy.dep
に組み込まれる、
ソースファイル内での文法係り受け定義関連の要点をレビューしました。
使ったanthyのソースはDebian BusterのベースとなるgniibeさんがUTF-8化パッチ を掛けかなり変更した0.3です。
anthy.dep
は、基本的にdepgraph/
内のファイルから生成されます。
Anthyの文法係り受け定義
単文節内の、単語結合の遷移ルールが「接頭辞 自立語 接尾辞 付属語」
という順の結合で定義されるとして、以下の2段階ででデーターファイルを
読み込みanthy.dep
の中に書き出し文法係り受けルールを定義します。
- 付属語グラフを、
init_depword_tab()
が、付属語に関する日本語表現を使った結合ルールをall.depword
から読み込みメモリー中に作成します。 - 自立語からの遷移表を、
init_indep_word_seq_tab()
が、indepword-wt.txt
から自立語のソースの辞書内で用いる品詞ニモニック文字列と対応する日本語表現を読み込み作成します。
ここで、Anthyで言う付属語とは、活用語尾を含みます。
付属語グラフ
付属語ノードの結合ルールは、活用語尾や助詞や助動詞等のノードが一定の規則 にしたがって並んで、次のノードに遷移していくグラフ構造モデルです。
この付属語グラフを規程するために読み込まれるall.depword
は、
活用語尾を定義したconjugate.table
と助詞や助動詞等のノードを定義した*.depword
を、
sed
でコメント行を除き結合して生成します。
このall.depword
は、基本的に
@ノード名 "そこに続く単語1" "そこに続く単語2" .. "..n" \
@遷移するノード名1 @遷移するノード名2 .. @遷移するノード名m
という形式の行の繰り返しです。(読みやすいように折り返しましたが、 通常1行で記載します)
終端で次のノード名がない場合には、そこに@のみを遷移するノード名 として記します。
上記では、@遷移するノード名
と典型的な場合をイメージした形式で記しま
したが、実際にはもう少し多くの情報を盛り込めます。具体的には
{遷移の属性}{接続の強さ}@ノードの名前
という形式です。
遷移の属性
は、depgraph/parse_transition()
にあるtokenでswitchするcase分岐
構造のコードで扱われ、DOC/SPLITTERに説明されたアルファベット2文字の
ニモニックです。ここにそれを内容をコードに揃えてアップデートし再録説明すると、
- 活用形
- 未然形 Cz (ct = CT_MIZEN)
- 連用形 Cy (ct = CT_RENYOU)
- 終止形 Cs (ct = CT_SYUSI)
- 連体形 Ct (ct = CT_RENTAI)
- 仮定形 Ck (ct = CT_KATEI)
- 命令形 Cm (ct = CT_MEIREI)
- 語幹形 Cg (ct = CT_HEAD)
- 自立語部の品詞
- 動詞 Hv (pos = POS_V)
- 名詞 Hn (pos = POS_NOUN)
- 形容詞 Hj (pos = POS_AJV)
- 文節の属性
- 名詞句? Sn (dc = DEP_NO) (コメントアウト)
- 付属語 Sf (dc = DEP_FUZOKUGO) (その他修飾語とも)
- 格助詞 Sk (dc = DEP_KAKUJOSHI)
- 連用修飾語 Sy (dc = DEP_RENYOU)
- 連体修飾語 St (dc = DEP_RENTAI)
- 終端 Se (dc = DEP_END)
- 付属語なし Sr (dc = DEP_RAW)
接続の強さ
は
なし
NORMAL_CONNECTION
.
WEAK_CONNECTION
:
WEAKER_CONNECTION
(コードを見る限り、現状ではWEAK_CONNECTION
とWEAKER_CONNECTION
は同じ値)
たとえば、all.depword
の内容は以下です。
@形容動詞語幹 "な" @連体形接続-接続助詞 St@
@形容動詞語幹 "なる" @連体形接続-接続助詞 St@
@形容詞語幹 "から" @形容詞未然形RA
@形容詞語幹 "かろ" @形容詞未然形
@形容詞語幹 "かっ" @形容詞連用形D
@形容詞語幹 "く" @形容詞連用形NA
@形容詞語幹 "い" @形容詞終止形
@形容詞語幹 "し" Se.@
@形容詞語幹 "ゅう" Sy@
@形容詞語幹 "いん" @形容詞終止形
@形容詞語幹 "い" @形容詞連体形
@形容詞語幹 "けれ" @形容詞仮定形
@形容詞語幹 "けりゃ" Sy@
@形容詞語幹 "きゃ" Sy@ @と
@形容詞語幹 "" @げ(形容詞-形容動詞化) @さ(名詞化) @め(形容詞接続) @すぎる
@形容詞語幹 "" @そう @そうだ
@形容詞語幹 "き" St@
@形容詞語幹 "くっては" "くっちゃ" Sy@
@形容詞語幹 "や" Se@
...
@あげる "あげ" @上下一段活用動詞語幹
@ある "あ" @ラ行5段活用動詞語幹
@いう "い" @ワ行5段活用動詞語幹
@いく "い" @カ行5段活用動詞語幹
@いけない "いけな" @形容詞語幹
@いたす "いたす" "いたします" @けれど
@いたす "いたす" "いたします" St@ St@間投助詞
@いただく "いただ" @カ行5段活用動詞語幹
@いる "" @たり @た(助動詞) @ます
@いる "い" @たり @た(助動詞) @ない @ぬ @ます @そう
@いる "い" @たい @がち @よう(手段) @さえ @がてら
@いる "い" @やすい @にくい @て @つづける
@いる "い" @たがる @ます @そうだ @なさる @つつ
@いる "い" @連用形接続-接続助詞 @た(助動詞) @たり @まくる
@いる "いらっしゃ" @ラ行5段活用動詞語幹
...
これらは、以下のような連接を規定します:
- 口語形容動詞の「静かな」なら、「静かなのに」とか「静かな音楽」
- 文語形容動詞の「静かなり」なら、「静かなるども」とか「静かなる音楽」
- 文語形容詞の「美し」なら、「美しからう」
- 口語形容詞の「美しい」なら、「美しかろう」
- 口語形容詞の「美しい」なら、「美しかった」
- 口語形容詞の「美しい」なら、「美しくない」
- …
自立語からの遷移表
indepword-wt.txt
は以下の内容です。
#kxi @カ変活用動詞連用形
#kxo @カ変活用動詞未然形
#kxoi @カ変活用動詞命令形
#kxure @カ変活用動詞仮定形
#kxuru @カ変活用動詞終止形
#kxuru2
#kxya
#sxi @する未然形「し」
#sxe @する未然形「せ」
#sxi2 @する連用形「し」
...
- 前のコラムは自立語で、
src-worddic/wtab.h
で定義されたソースの辞書内で用いられる品詞ニモニック文字列です。 - 後のコラムは付属語で、付属語グラフで用いられる日本語品詞名です。
Previous Post | Top | Next Post |