(57)【要約】【課題】適用変換規則の組合せに制限がある場合にも高速に最適な適用規則の組合せを求めることができる言語処理装置を提供する。【解決手段】  入力された構文解析結果に対し、あらかじめ与えられた構文情報に対する格構造への重みつき変換規則を適用し、最適な格解析結果を得る言語処理装置１０であって、前記構文情報に対する格構造への重みつき格変換規則を記憶した重みつき格変換規則テーブル２０と、入力された構文情報および前記重みつき格変換規則テーブル２０に記憶された格変換規則を用いて最適な格解析結果を得る格変換部３０とを備える。【選択図】図１
2010003049.tif 000002
【特許請求の範囲】
【請求項１】
入力された構文解析結果に対し、格解析結果を出力する言語処理装置であって、
複数の取りうる格関係について、述語または動作性名詞と、前記述語または動作性名詞以外の単語または単語属性間との係り受け状態を、前記述語または動作性名詞と前記述語または動作性名詞以外の単語との格関係へ変換する格変換規則と、前記格変換規則の適用優先度を表す尺度とを記憶した格変換規則記憶手段と、
入力された構文解析結果に含まれる述語に対して係り受け関係にある単語について、前記格変換規則記憶手段から当該単語に適用可能な格変換規則と前記格変換規則の適用優先度とを検索する検索処理と、前記検索された格変換規則の適用優先度を反映させて当該単語の適用優先度を計算する計算処理と、前記単語の適用優先度が最も高い格変換規則を選択する選択処理とを、前記格変換規則記憶手段に記憶された全ての格の種類について、格の種類ごとに順番に実行し、前記格の種類ごとに選択した格変換規則の組合せを格解析結果として出力する格変換手段とを備えることを特徴とする言語処理装置。
【請求項２】
前記格変換規則記憶手段に記憶された複数の格の種類をｎ（ｎは正の整数）とし、
前記格変換手段は、前記入力された構文解析結果に含まれる述語に対して係り受け関係にある単語について、当該各単語への１番目の格への変換に対応する格変換規則と前記格変換規則の適用優先度とを前記格変換規則記憶手段から検索し、
前記格変換規則の適用優先度を反映させて当該各単語の適用優先度を算出し、
前記単語の適用優先度が最も高い格変換規則を当該単語に接続する格変換規則として選択し、
ｉは正の整数であり、ｉが２からｎまで順番に、入力された構文解析結果に対して係り受け関係にある単語について、当該各単語へのｉ番目の格への変換に対応する格変換規則と前記格変換規則の適用優先度とを前記格変換規則記憶手段から検索し、
前記ｉ番目の格への変換に対応する格変換規則の重みと前記変換規則に接続するｉ−１番目の格に対応する単語の適用優先度とを反映させて当該各単語の適用優先度を算出し、
前記ｉ番目の格に対応する各単語の適用優先度が最も高くなる格変換規則を当該単語に接続する格変換規則として選択し、
前記ｎ番目の格に対応する単語から１番目の格に対応する単語まで順番に、当該単語に接続する格変換規則を求めることにより得られる格変換規則の組合せを格解析結果として出力することを特徴とする請求項１に記載の言語処理装置。
【請求項３】
前記格変換規則記憶手段に記憶された格の種類をｎ（ｎは正の整数）とし、
前記格変換手段は、
所定の重みを付して開始ノードを設定し、
前記入力された構文解析結果に対して係り受け関係にある単語を１番目の格に対応するノードとし、
前記格変換規則記憶手段に記憶された当該各単語への１番目の格への変換に対応する格変換規則ごとに、前記格変換規則の適用優先度を重みとして付したエッジを算出し、
前記１番目の格に対応する各ノードの重みを開始ノードの重みと前記ノードに接続するエッジの重みとから計算し、前記１番目の格に対応する各ノードの重みが最も高くなる格変換規則を当該ノードに接続するエッジとして残して残りのエッジを削除し、
ｉは正の整数であり、ｉが２からｎまで順番に、入力された構文解析結果に対して係り受け関係にある単語をｉ番目の格に対応するノードとし、
当該各単語へのｉ番目の格への変換に対応する格変換規則ごとに、前記格変換規則の重みを付してｉ−１番目の格について作成されたノードと当該単語とを接続するエッジとし、
前記ｉ番目の格に対応する各ノードの重みを、当該ノードに接続するエッジの重みと前記エッジに接続するｉ−１番目の格に対応するノードの重みとから計算し、当該ノードの重みが最大となるエッジを残して残りのエッジを削除し、
前記ｎ番目の格に対して展開されたノードから１番目の格に対して展開されたノードまで順番に、当該ノードに接続するエッジに対応する格変換規則を求めることで得られる格変換規則の組合せを格解析結果として出力することを特徴とする請求項１に記載の言語処理装置。
【請求項４】
前記格変換規則記憶手段に記憶されたｎ種類（ｎは正の整数）の格は、ガ格、ヲ格、ニ格、任意格であることを特徴とする請求項１ないし３のいずれか１項に記載の言語処理装置。
【請求項５】
入力された構文解析結果に対し、格解析結果を出力する言語処理方法であって、
複数の取りうる格関係について、述語または動作性名詞と、前記述語または動作性名詞以外の単語または単語属性間との係り受け状態を、前記述語または動作性名詞と前記述語または動作性名詞以外の単語との格関係へ変換する格変換規則と、前記格変換規則の適用優先度を表す尺度とを記憶した格変換規則記憶手段を備え、
格変換手段が、入力された構文解析結果に含まれる述語に対して係り受け関係にある単語について、前記格変換規則記憶手段から当該単語に適用可能な格変換規則と前記格変換規則の適用優先度とを検索する検索ステップと、前記検索ステップにより検索された格変換規則の適用優先度を反映させて当該単語の適用優先度を計算する計算ステップと、前記計算ステップにより計算された単語の適用優先度が最も高い格変換規則を選択する選択ステップとを、前記格変換規則記憶手段に記憶された全ての格の種類について、格の種類ごとに順番に実行し、前記格の種類ごとに前記選択ステップにより選択された格変換規則の組合せを格解析結果として出力する出力ステップを備えることを特徴とする言語処理方法。
【請求項６】
前記格変換規則記憶手段に記憶された複数の格の種類をｎ（ｎは正の整数）とし、
前記検索ステップにおいて、前記入力された構文解析結果に含まれる述語に対して係り受け関係にある単語について、当該各単語への１番目の格への変換に対応する格変換規則と前記格変換規則の適用優先度とを前記格変換規則記憶手段から検索する第１の検索ステップと、
前記計算ステップにおいて、前記格変換規則の適用優先度を反映させて当該各単語の適用優先度を算出する第１の算出ステップと、
前記選択ステップにおいて、前記単語の適用優先度が最も高い格変換規則を当該単語に接続する格変換規則として選択する第１の選択ステップと、
前記検索ステップにおいて、ｉは正の整数であり、ｉが２からｎまで順番に、入力された構文解析結果に対して係り受け関係にある単語について、当該各単語へのｉ番目の格への変換に対応する格変換規則と前記格変換規則の適用優先度とを前記格変換規則記憶手段から検索する第２の検索ステップと、
前記計算ステップにおいて、前記ｉ番目の格への変換に対応する格変換規則の重みと前記変換規則に接続するｉ−１番目の格に対応する単語の適用優先度とを反映させて当該各単語の適用優先度を算出する第２の算出ステップと、
前記選択ステップにおいて、前記ｉ番目の格に対応する各単語の適用優先度が最も高くなる格変換規則を当該単語に接続する格変換規則として選択する第２の選択ステップと、
前記出力ステップにおいて、前記ｎ番目の格に対応する単語から１番目の格に対応する単語まで順番に、当該単語に接続する格変換規則を求めることにより得られる格変換規則の組合せを格解析結果として出力する出力ステップとを備えたことを特徴とする請求項５に記載の言語処理方法。
【請求項７】
前記格変換規則記憶手段に記憶された格の種類をｎ（ｎは正の整数）とし、
前記格変換手段が、
所定の重みを付して開始ノードを設定するステップと、
前記入力された構文解析結果に対して係り受け関係にある単語を１番目の格に対応するノードとするステップと、
前記格変換規則記憶手段に記憶された当該各単語への１番目の格への変換に対応する格変換規則ごとに、前記格変換規則の適用優先度を重みとして付したエッジを算出するステップと、
前記１番目の格に対応する各ノードの重みを開始ノードの重みと前記ノードに接続するエッジの重みとから計算し、前記１番目の格に対応する各ノードの重みが最も高くなる格変換規則を当該ノードに接続するエッジとして残して残りのエッジを削除するステップと、
ｉは正の整数であり、ｉが２からｎまで順番に、入力された構文解析結果に対して係り受け関係にある単語をｉ番目の格に対応するノードとするステップと、
当該各単語へのｉ番目の格への変換に対応する格変換規則ごとに、前記格変換規則の重みを付してｉ−１番目の格について作成されたノードと当該単語とを接続するエッジとするステップと、
前記ｉ番目の格に対応する各ノードの重みを、当該ノードに接続するエッジの重みと前記エッジに接続するｉ−１番目の格に対応するノードの重みとから計算し、当該ノードの重みが最大となるエッジを残して残りのエッジを削除するステップと、
前記ｎ番目の格に対して展開されたノードから１番目の格に対して展開されたノードまで順番に、当該ノードに接続するエッジに対応する格変換規則を求めることで得られる格変換規則の組合せを格解析結果として出力するステップとを備えたことを特徴とする請求項５に記載の言語処理方法。
【請求項８】
前記格変換規則記憶手段に記憶されたｎ種類（ｎは正の整数）の格は、ガ格、ヲ格、ニ格、任意格であることを特徴とする請求項５ないし７のいずれか１項に記載の言語処理方法。
【請求項９】
コンピュータを請求項１ないし４のいずれか１項に記載の各手段として機能させるための言語処理プログラム。
【請求項１０】
コンピュータを請求項１ないし４のいずれか１項に記載の各手段として機能させるための言語処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語で表現された質問に対しコンピュータが回答する質問応答システム、情報検索システム、情報抽出システム、自動要約システム、自動翻訳システム、自動言い換えシステム、音声認識システムなどに用いられる言語処理装置に関する。
【背景技術】
【０００２】
従来の言語処理装置では、入力された構文解析結果に対し、最適な格解析結果を得るために、あらかじめ与えられた構文情報に対する格構造への重みつき変換規則について、適用可能な全ての変換規則の組合せをそれぞれ求め、その組合せに対する重みの合計値などの評価値を求め、最適な評価値を与える組合せを決めていた。しかしながらこの方法は、適用される変換規則の数が多くなるに従い、指数関数的に合計値を求める組合せの数が増大し、計算時間が増大するという短所があった。
【０００３】
そこで、変換規則の適用に制限がなく、同じ変換規則を繰り返し適用可能な場合は、入力された記号系列に対し、その記号系列を生成したモデルの最適な状態遷移系列を求めるアルゴリズムであるビタビアルゴリズム（Ｖｉｔｅｒｂｉ  ａｌｇｏｒｉｔｈｍ）と呼ばれる方法によって効率的に最適な適用規則の組合せが求められていた（非特許文献１のＰＰ．１１３−１１４を参照）。
【非特許文献１】北研二、“言語と計算４  確率的言語モデル”，東京大学出版会、１９９９年、ｐｐ．１１３−１１４。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
非特許文献１の方法は、時刻ｔで状態ｑ＿ｉに到達する状態遷移系列のうち最大のスコアを与えるものだけを記憶することで、記憶量と計算量ともに効率的に最適な状態遷移系列を求めるものである。
【０００５】
しかしながら、述語や動作性名詞の基本形に対する必須格（ガ格、ヲ格、ニ格）の格解析において、別々の単語が同時に１つの格を取ることができないといった、適用変換規則の組合せに制限がある場合には、上記ビタビアルゴリズムを適用することができず、効率的に組合せを求めることが困難であるという問題点があった。
【０００６】
本発明の目的は、上記の問題点を解決し、適用変換規則の組合せに制限がある場合にも高速に最適な適用規則の組合せを求めることができることを特徴とする言語処理装置、言語処理方法および言語処理プログラム並びに言語処理プログラムを記録した記録媒体を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の言語処理装置は、入力された構文解析結果に対し、格解析結果を出力する言語処理装置であって、複数の取りうる格関係について、述語または動作性名詞と、前記述語または動作性名詞以外の単語または単語属性間との係り受け状態を、前記述語または動作性名詞と前記述語または動作性名詞以外の単語との格関係へ変換する格変換規則と、前記格変換規則の適用優先度を表す尺度とを記憶した格変換規則記憶手段と、入力された構文解析結果に含まれる述語に対して係り受け関係にある単語について、前記格変換規則記憶手段から当該単語に適用可能な格変換規則と前記格変換規則の適用優先度とを検索する検索処理と、前記検索された格変換規則の適用優先度を反映させて当該単語の適用優先度を計算する計算処理と、前記単語の適用優先度が最も高い格変換規則を選択する選択処理とを、前記格変換規則記憶手段に記憶された全ての格の種類について、格の種類ごとに順番に実行し、前記格の種類ごとに選択した格変換規則の組合せを格解析結果として出力する格変換手段とを備えることを特徴としている。
【０００８】
また請求項２に記載の言語処理装置は、請求項１において、前記格変換規則記憶手段に記憶された複数の格の種類をｎ（ｎは正の整数）とし、前記格変換手段は、前記入力された構文解析結果に含まれる述語に対して係り受け関係にある単語について、当該各単語への１番目の格への変換に対応する格変換規則と前記格変換規則の適用優先度とを前記格変換規則記憶手段から検索し、前記格変換規則の適用優先度を反映させて当該各単語の適用優先度を算出し、前記単語の適用優先度が最も高い格変換規則を当該単語に接続する格変換規則として選択し、ｉは正の整数であり、ｉが２からｎまで順番に、入力された構文解析結果に対して係り受け関係にある単語について、当該各単語へのｉ番目の格への変換に対応する格変換規則と前記格変換規則の適用優先度とを前記格変換規則記憶手段から検索し、前記ｉ番目の格への変換に対応する格変換規則の重みと前記変換規則に接続するｉ−１番目の格に対応する単語の適用優先度とを反映させて当該各単語の適用優先度を算出し、前記ｉ番目の格に対応する各単語の適用優先度が最も高くなる格変換規則を当該単語に接続する格変換規則として選択し、前記ｎ番目の格に対応する単語から１番目の格に対応する単語まで順番に、当該単語に接続する格変換規則を求めることにより得られる格変換規則の組合せを格解析結果として出力することを特徴としている。
【０００９】
また請求項３に記載の言語処理装置は、請求項１において、前記格変換規則記憶手段に記憶された格の種類をｎ（ｎは正の整数）とし、前記格変換手段は、所定の重みを付して開始ノードを設定し、前記入力された構文解析結果に対して係り受け関係にある単語を１番目の格に対応するノードとし、前記格変換規則記憶手段に記憶された当該各単語への１番目の格への変換に対応する格変換規則ごとに、前記格変換規則の適用優先度を重みとして付したエッジを算出し、前記１番目の格に対応する各ノードの重みを開始ノードの重みと前記ノードに接続するエッジの重みとから計算し、前記１番目の格に対応する各ノードの重みが最も高くなる格変換規則を当該ノードに接続するエッジとして残して残りのエッジを削除し、ｉは正の整数であり、ｉが２からｎまで順番に、入力された構文解析結果に対して係り受け関係にある単語をｉ番目の格に対応するノードとし、当該各単語へのｉ番目の格への変換に対応する格変換規則ごとに、前記格変換規則の重みを付してｉ−１番目の格について作成されたノードと当該単語とを接続するエッジとし、前記ｉ番目の格に対応する各ノードの重みを、当該ノードに接続するエッジの重みと前記エッジに接続するｉ−１番目の格に対応するノードの重みとから計算し、当該ノードの重みが最大となるエッジを残して残りのエッジを削除し、前記ｎ番目の格に対して展開されたノードから１番目の格に対して展開されたノードまで順番に、当該ノードに接続するエッジに対応する格変換規則を求めることで得られる格変換規則の組合せを格解析結果として出力することを特徴としている。
【００１０】
また請求項４に記載の言語処理装置は、請求項１ないし３のいずれか１項において、前記格変換規則記憶手段に記憶されたｎ種類（ｎは正の整数）の格は、ガ格、ヲ格、ニ格、任意格であることを特徴としている。
【００１１】
また、請求項５に記載の言語処理方法は、入力された構文解析結果に対し、格解析結果を出力する言語処理方法であって、複数の取りうる格関係について、述語または動作性名詞と、前記述語または動作性名詞以外の単語または単語属性間との係り受け状態を、前記述語または動作性名詞と前記述語または動作性名詞以外の単語との格関係へ変換する格変換規則と、前記格変換規則の適用優先度を表す尺度とを記憶した格変換規則記憶手段を備え、格変換手段が、入力された構文解析結果に含まれる述語に対して係り受け関係にある単語について、前記格変換規則記憶手段から当該単語に適用可能な格変換規則と前記格変換規則の適用優先度とを検索する検索ステップと、前記検索ステップにより検索された格変換規則の適用優先度を反映させて当該単語の適用優先度を計算する計算ステップと、前記計算ステップにより計算された単語の適用優先度が最も高い格変換規則を選択する選択ステップとを、前記格変換規則記憶手段に記憶された全ての格の種類について、格の種類ごとに順番に実行し、前記格の種類ごとに前記選択ステップにより選択された格変換規則の組合せを格解析結果として出力する出力ステップを備えることを特徴としている。
【００１２】
また請求項６に記載の言語処理方法は、請求項５において、前記格変換規則記憶手段に記憶された複数の格の種類をｎ（ｎは正の整数）とし、前記検索ステップにおいて、前記入力された構文解析結果に含まれる述語に対して係り受け関係にある単語について、当該各単語への１番目の格への変換に対応する格変換規則と前記格変換規則の適用優先度とを前記格変換規則記憶手段から検索する第１の検索ステップと、前記計算ステップにおいて、前記格変換規則の適用優先度を反映させて当該各単語の適用優先度を算出する第１の算出ステップと、前記選択ステップにおいて、前記単語の適用優先度が最も高い格変換規則を当該単語に接続する格変換規則として選択する第１の選択ステップと、前記検索ステップにおいて、ｉは正の整数であり、ｉが２からｎまで順番に、入力された構文解析結果に対して係り受け関係にある単語について、当該各単語へのｉ番目の格への変換に対応する格変換規則と前記格変換規則の適用優先度とを前記格変換規則記憶手段から検索する第２の検索ステップと、前記計算ステップにおいて、前記ｉ番目の格への変換に対応する格変換規則の重みと前記変換規則に接続するｉ−１番目の格に対応する単語の適用優先度とを反映させて当該各単語の適用優先度を算出する第２の算出ステップと、前記選択ステップにおいて、前記ｉ番目の格に対応する各単語の適用優先度が最も高くなる格変換規則を当該単語に接続する格変換規則として選択する第２の選択ステップと、前記出力ステップにおいて、前記ｎ番目の格に対応する単語から１番目の格に対応する単語まで順番に、当該単語に接続する格変換規則を求めることにより得られる格変換規則の組合せを格解析結果として出力する出力ステップとを備えたことを特徴としている。
【００１３】
また請求項７に記載の言語処理方法は、請求項５において、前記格変換規則記憶手段に記憶された格の種類をｎ（ｎは正の整数）とし、前記格変換手段が、所定の重みを付して開始ノードを設定するステップと、前記入力された構文解析結果に対して係り受け関係にある単語を１番目の格に対応するノードとするステップと、前記格変換規則記憶手段に記憶された当該各単語への１番目の格への変換に対応する格変換規則ごとに、前記格変換規則の適用優先度を重みとして付したエッジを算出するステップと、前記１番目の格に対応する各ノードの重みを開始ノードの重みと前記ノードに接続するエッジの重みとから計算し、前記１番目の格に対応する各ノードの重みが最も高くなる格変換規則を当該ノードに接続するエッジとして残して残りのエッジを削除するステップと、ｉは正の整数であり、ｉが２からｎまで順番に、入力された構文解析結果に対して係り受け関係にある単語をｉ番目の格に対応するノードとするステップと、当該各単語へのｉ番目の格への変換に対応する格変換規則ごとに、前記格変換規則の重みを付してｉ−１番目の格について作成されたノードと当該単語とを接続するエッジとするステップと、前記ｉ番目の格に対応する各ノードの重みを、当該ノードに接続するエッジの重みと前記エッジに接続するｉ−１番目の格に対応するノードの重みとから計算し、当該ノードの重みが最大となるエッジを残して残りのエッジを削除するステップと、前記ｎ番目の格に対して展開されたノードから１番目の格に対して展開されたノードまで順番に、当該ノードに接続するエッジに対応する格変換規則を求めることで得られる格変換規則の組合せを格解析結果として出力するステップとを備えたことを特徴としている。
【００１４】
また請求項８に記載の言語処理方法は、請求項５ないし７のいずれか１項において、前記格変換規則記憶手段に記憶されたｎ種類（ｎは正の整数）の格は、ガ格、ヲ格、ニ格、任意格であることを特徴としている。
【００１５】
また請求項９に記載の言語処理プログラムは、コンピュータを請求項１ないし４のいずれか１項に記載の各手段として機能させるための言語処理プログラムである。
【００１６】
また請求項１０に記載の記録媒体は、コンピュータを請求項１ないし４のいずれか１項に記載の各手段として機能させるための言語処理プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１７】
本発明によれば、入力された構文解析結果に対し、最適な適用規則の組合せを高速に且つ少ない記憶領域で求め最適な格解析結果を出力することができる利点がある。
【００１８】
特に、必須格のように、適用できる変換規則の組み合わせに制限がある場合でも、高速に最適な適用規則の組み合わせを求めることができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。図１は、本実施例に関する言語処理装置の原理的システム構成を示すブロック図である。本実施例の言語処理装置１０は、格変換規則記憶手段としての重みつき格変換規則テーブル２０と、格変換手段としての格変換部３０とを有し、例えばコンピュータにより構成されている。
【００２０】
重みつき格変換規則テーブル２０は、述語または動作性名詞と、前記述語または動作性名詞以外の単語または単語属性間との係り受け状態を、前記述語または動作性名詞と前記述語または動作性名詞以外の単語との格関係へ変換する格変換規則と、前記格変換規則用の重みとを記憶する。ここで、格変換規則の重みとは、格変換規則の適用優先順位を表す尺度である。
【００２１】
また重みつき格変換規則テーブル２０に記憶された格の種類をｎ種類とし、１番目の格、２番目の格、…、ｎ番目の格と呼ぶこととすると、格変換部３０は、１番目の格からｎ番目の格について、それぞれ適用可能な格変換規則のうち優先順位（重み）が最も高い格変換規則を算出するためのｎ個の格処理部を有する。例えば、格変換規則テーブル２０に記憶された格が、ガ格、ヲ格、ニ格、任意格の４種類の場合は、格変換部３０は、後述するガ格についての処理を行うガ格処理部３１と、ヲ格についての処理を行うヲ格処理部３２と、ニ格についての処理を行うニ格処理部３３と、任意格についての処理を行う任意格処理部３４と、後述するエッジおよび重みの合計値のデータを記憶する記憶部３５とを有している。
【００２２】
尚、前記記憶部３５は必ずしも格変換部３０内に備える必要はなく、外部に設け、データの格納、更新および参照が可能なように構成してもよい。
【００２３】
次に図１に示すシステムの原理的動作を、図２に示すフローチャートを参照して説明する。
【００２４】
まず言語処理装置１０に対して、ユーザがテキストの構文解析結果を入力する（ステップ１）。ここでテキストの構文解析結果は、人手で与えることも、構文解析器のようなプログラムの出力を与えることも可能である。
【００２５】
次に格変換部３０が、構文解析結果に対して、重みつき格変換規則テーブル２０に格納されている格変換規則について、どの規則の組合せを適用した場合に全体として重み付けが最適になるかを算出する（ステップ２）。重みつき格変換規則テーブル２０は、あらかじめ人手で与えておくことも、機械学習等の技術を実現したプログラムによって自動的に作成し与えておくことも可能である。
【００２６】
最後に格変換部３０が、ステップ２で得られた格変換規則の組合せを出力して動作を終了する（ステップ３）。
【００２７】
以下、具体的な入力を例にして言語処理装置の動作を説明する。  
【００２８】
まずステップ１では、言語処理装置１０に対して、自然言語で書かれたテキストの構文解析結果を入力する。
【００２９】
例えば、「昨日、母が私のために作ってくれたカレーを残さず食べた。」というテキストの「カレー」までの部分に対する構文解析結果が、図３のようになっているとする。ここで、矢印は係り受けの方向を表している。例えば、「母」が「作る」に係るという構文解析結果が得られていれば、矢印は「母」を始点、「作る」を終点になるように記している。また、矢印の上に付与してある文字は、係り受け関係があるときの、係り元文節の機能語を表している。例えば、「母」が「作る」に係っているとき係り元文節の「母が」の機能語部分「が」を記載している。  
【００３０】
尚、本発明における機能語は、軽動詞や慣用的な表現も含めて扱うことにする。
【００３１】
次にステップ２では、格変換部３０が、重みつき格変換規則テーブル２０に記録されている重みつき格変換規則で最適な適用規則組合せを算出する。例えば、重みつき格変換規則テーブル２０に記録されている重みつき格変換規則が表１のようになっているとき、規則３、規則５、規則１０、規則１６の組合せを選んだ場合、表２に示すように重みの合計は２．４７となる。
【００３２】
【表１】
2010003049.tif 000003
【００３３】
【表２】
2010003049.tif 000004
【００３４】
また、規則１、規則６、規則１１、規則１６の組合せを選んだ場合、表３に示すように重みの合計は３．３６となる。
【００３５】
【表３】
2010003049.tif 000005
【００３６】
尚、表１において、「「母」が「が」で述語に係る」は、「「母」が機能語「が」を伴って述語に係る」を省略して表現したものであり、その他も同様に省略して表現している。
【００３７】
この例では評価値として重みの和が大きいほどより適した規則群としているので、表２と表３では重みの合計値を比較すると２．４７＜３．３６なので、（規則３、規則５、規則１０、規則１６）の組合せよりも（規則１、規則６、規則１１、規則１６）の組合せの方が最適に近い格変換規則の組合せといえる。
【００３８】
ここで、規則の組合せを決定するときに、変換結果の格について、ガ格、ヲ格、ニ格はそれぞれ１単語までしか取ることができないという制約がある。例えば、この例では、述語「作る」に対して、「母」と「私」が同時に「ガ格」になることはできない。そのため、最適な適用規則の組合せを求める際に、単純にある単語に対して最も高い重みが得られる格に変換するようなルールを選んだり、注目している格に対して、その格に変換される規則の中で最も高い重みを与えるような単語のルールを選択したりする方法を使用することはできない。
【００３９】
そこで、単純な方法としては、表２、表３で見たような適用規則の組合せすべてについて重みの合計を計算し、その合計値が最大になるような適用規則の組合せを選ぶことで最適な適用規則の組合せを得ることが可能であるが、この方法では、取りうる格の出現する単語数によるべき乗に比例した量の重みの合計値を算出する計算が必要になるため、最適な適用規則の組合せを得るまでに長い時間がかかる。
【００４０】
そのため、本発明では以下に述べる方法で、格変換部３０を構成し、最適な適用規則を得る。格変換部３０は、入力された構文解析結果に含まれる述語に対して係り受け関係にある各単語について、重みつき格変換規則記憶テーブル２０に記憶された１番目の格に対応する格変換規則のうち適用可能な格変換規則を検索する。ここで、格変換規則ごとの重み（適用優先度）を反映させて単語の重み（適用優先度）を算出し、単語ごとに、単語の適用優先度が最も高くなる格変換規則を選択する。同様に、ｉ番目の格（ｉ＝２、３、…、ｎ）についても、重みつき格変換規則記憶テーブル２０に記憶された格変換規則の重み（適用優先度）に基づいて単語の重み（適用優先度）を計算し、単語ごとに、単語の適用優先度が最も高くなる格変換規則を選択する。最後にｎ番目の格に対応する単語への格変換規則から１番目の格に対応する単語まで、選択された格変換規則を逆に辿ることで得られた格変換規則を、最適な格変換規則の組み合わせとして出力する。
【００４１】
重みつき格変換規則テーブル２０に記憶された格が、ガ格、ヲ格、ニ格、任意格の４種類の場合の実現方法を以下に述べる。以下の実施例では、格の種類ｎをｎ＝４とし、ガ格、ヲ格、ニ格、任意格の順に、１番目の格、２番目の格、３番目の格、４番目の格と呼ぶこととする。
【００４２】
まず、１番目の格（ガ格）について、図４のように開始ノードと図３で出現した述語に対して係り受け関係にある単語、すなわち「昨日」「母」「私」「カレー」のガ格に対応するノードをガ格処理部３１が作成し、開始ノードと線（以下エッジと呼ぶ）で結ぶ。
【００４３】
ノードは、適用する格変換規則に含まれる単語とノードの重みをラベルとして持ち、エッジは、適用する格変換規則とその重みをラベルとして持つものとし、一つのエッジは、一つの適用する格変換規則に対応する。ここで、格変換規則と対応する重みは、格変換規則テーブル２０に記憶されている。
【００４４】
一つのエッジは、一つの適用する格変換規則に対応する。ここで、格変換規則と対応する重みは、格変換規則テーブル２０に記憶されている。例えば、開始ノードから「昨日」ノードへのエッジは、「昨日」がガ格に変換される規則１３に対応する。このようにして４つのエッジはそれぞれ、規則１３、規則１、規則９、規則５に対応する。また、開始ノードの重みを０としておく。
【００４５】
次に、図５のように、「昨日」「母」「私」「カレー」の４つのノードそれぞれに対し、ノードの重みを計算する。ノードの重みは、そのノードに左から接続しているノードの重みとエッジの重みを合計し、その合計値が最大のものをノードの重みとすることで得る。
【００４６】
すなわち、ｉ番目の格に対して作成されたノードをＶi,j（ｊ＝１，２…）とし、ｉ＋１番目の格に対して作成されたノードをＶi+1,k（ｋ＝１，２…）とし、Ｗi,jをノードＶi,jの重みとし、ノードＶi,jからノードＶi+1,kへのｉ番目の格に対応する格変換規則の重みをＥi+1,j,kとすると、ノードＶi+1,kの重みＷi+1,kは、以下の式（１）で計算できる。
【００４７】
Ｗi+1,k＝Ｗi,j＋Ｅi+1,j,k…（１）
なお、開始ノードはＶ0,1とする。
【００４８】
例えば、「昨日」ノードには「開始ノード」が接続されており、「開始ノード」の重みは０、エッジの重みは０．０１なので、「昨日」ノードは０．０１となる。
【００４９】
次に、今できたノードに左から接続するエッジの中で、ノードの重みを得るのに使われたエッジを記憶部３５に記憶する。図６に記憶したエッジを太線で示した。図６の場合、４つのノードそれぞれは、一つのエッジでしかつながっていないため、全てのエッジが太線になっている。
【００５０】
次に、２番目の格（ヲ格）について、ヲ格処理部３２が、「ヲ格」への変換に相当するエッジとノードを作成する。このときに作成するノードは、「ガ格」のときに選択した単語と「ヲ格」のときに選択する単語の組合せをノードとする。同様にして、ノードの重みを計算する。ノードの重みは、そのノードに左から接続しているノードの重みとエッジの重みを合計し、その合計値が最大のものをノードの重みとすることで得る。例えば、「（昨日、母）」ノードは、「昨日」ノードと「母」ノードに接続されており、「昨日」ノードの重みは０．０１、「母」ノードの重みは０．９２となっている。「昨日」ノードと「（昨日、母）」ノードの間のエッジの重みは、適用規則２の重みなので０．０１で、「昨日」ノードの重み０．０１との和をとると、０．０２の値を得る。一方、「母」ノードと「（昨日、母）」ノードの間のエッジの重みは、適用規則１４の重みであり０．０１で、「母」ノードの重み０．９２との和をとると、０．９３の値を得る。０．０２と０．９３では０．９３の方が値が大きいので、「（昨日、母）」ノードの値は０．９３となり、ノードの重みを得るのに使われたエッジとして「母」ノードとの間のエッジを記憶する。このようにして図７を得る。
【００５１】
同様に、３番目の格（ニ格）、４番目の格（任意格）についてもニ格処理部３３および任意格処理部３４がノードの生成と、ノードの重みの計算を行い、記憶部３５が、ノードの重みを得るのに使われたエッジの記憶を行い、最終的に図８を得る。
【００５２】
次に、最後に生成した「（昨日、母、私、カレー）」から、ノードの重みを得るのに使われたエッジを逆に辿っていき（これをトラックバックと呼ぶ）、最適な適応ルールの組合せを表す経路を特定する。つまり、図８で太線で示したエッジを逆に開始ノードまで辿る経路を特定する。その結果、図９の太線で示したような経路が選択され、規則１、規則６、規則１１、規則１６の組合せが最適な適用規則の組合せであることが計算される。
【００５３】
また、「母は趣味でカレーを作った。」というテキストに対し、図１０のような構文解析結果が得られ、この構文解析結果を入力したとする。この場合、ニ格が不要であるが、このようなケースに対応するために、適応ルールとして「ニ格該当単語なし  重み０」のような重みつき規則を設定することで、最適な適用規則の組合せとして表４のようなものが得られ、このようなケースにも対応することが可能である。
【００５４】
【表４】
2010003049.tif 000006
【００５５】
尚、前記実施例では、ｉ＋１番目の格について作成されたノードの重みを計算するために、ｉ番目の格について作成されたノードの重みと、その間を接続するエッジの重みとの和に基づいて計算していたが、これに限らず、開始ノードの重みを最大の重み、例えば１０．００に設定しておき、この開始ノードの重みから、順次作成されたノードの重みを減算するように構成してもよい。
【００５６】
また、本実施形態の言語処理装置における各手段の一部もしくは全部の機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、本実施形態の言語処理方法における手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもなく、コンピュータでその機能を実現するためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えばＦＤ（Ｆｌｏｐｐｙ（登録商標）  Ｄｉｓｋ）や、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、メモリカード、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、Ｂｌｕ−ｒａｙ  Ｄｉｓｋ（登録商標）、ＨＤＤ、リムーバブルディスクなどに記録して、保存したり、配布したりすることが可能である。また、上記のプログラムをインターネットや電子メールなど、ネットワークを通して提供することも可能である。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施形態例における言語処理装置の原理的システム構成を示すブロック図。
【図２】本発明の実施形態例の原理的動作を説明するためのフローチャート。
【図３】本発明の実施形態例における、入力される構文解析結果の例を示す説明図。
【図４】本発明の実施形態例における、ガ格に対応するノードとエッジの作成例を示す説明図。
【図５】本発明の実施形態例における、ノードの重みの計算例を示す説明図。
【図６】本発明の実施形態例における、エッジの記憶の例を示す説明図。
【図７】本発明の実施形態例における、ノードの重みの例を示す説明図。
【図８】本発明の実施形態例における、最終的ノードとエッジ作成の例を示す説明図。
【図９】本発明の実施形態例における、トラックバックにより最終的に選ばれた経路の例を示す説明図。
【図１０】本発明の実施形態例における、ニ格が不要な構文解析結果の例を示す説明図。
【符号の説明】
【００５８】
１０…言語処理装置、２０…重みつき格変換規則テーブル、３０…格変換部、３１…ガ格処理部、３２…ヲ格処理部、３３…ニ格処理部、３４…任意格処理部、３５…記憶部。
【図１】
2010003049.tif 000007
【図２】
2010003049.tif 000008
【図３】
2010003049.tif 000009
【図４】
2010003049.tif 000010
【図５】
2010003049.tif 000011
【図６】
2010003049.tif 000012
【図７】
2010003049.tif 000013
【図８】
2010003049.tif 000014
【図９】
2010003049.tif 000015
【図１０】
2010003049.tif 000016