(57)【要約】  本発明が提供する文法コンパイル方法、語義解析方法及び対応装置は、語義の常用の文句表現に従い、ロジック文法直観的言語LGMLに基づいて予め対応する文法記述ファイル及び品詞記述ファイルを定義し、前記文法記述ファイルで品詞、オペレータ及び関数によって常用の文句の記述を構成し、前記品詞記述ファイルは品詞の具体的な値を記述するに用い、前記文法記述ファイル及び品詞記述ファイルを、それぞれ予設順序の帰納方法によって文法記述ファイルの文法ツリー及び品詞記述ファイルの品詞ツリーを生成し、前記品詞ツリーを前記文法ツリーにおいて対応する品詞の位置に続いて引っ掛けて、前記語義の文法ツリーを形成して文法コンパイルを実現する。当該方式によって組み立てた語義の文法ツリーは、全文句マッチング、語義マッピングまたは全文句マッチング及び語義マッピングマッチングを組み合わせる方式に基づき語義分析を行う。
2016526224.tif 000002
【特許請求の範囲】
【請求項１】
語義の常用の文句表現に従いロジック文法直観的言語LGMLに基づいて予め対応する文法記述ファイル及び品詞記述ファイルを定義し、前記文法記述ファイルで品詞、オペレータ及び関数によって常用の文句の記述を構成し、前記品詞記述ファイルは品詞の具体的な値を記述するに用い、
前記文法記述ファイル及び品詞記述ファイルを、それぞれ予設順序の帰納方法によって文法記述ファイルの文法ツリー及び品詞記述ファイルの品詞ツリーを生成し、
前記品詞ツリーを前記文法ツリーにおいて対応する品詞の位置に続いて引っ掛けて、前記語義の文法ツリーを形成する
文法コンパイル方法。
【請求項２】
前記品詞記述ファイルには語彙項目を含み、又は語彙項目を含む以外にさらにオペレータ及び関数における少なくとも一つを含んで各語彙項目の間の関係を記述する
請求項１に記載の文法コンパイル方法。
【請求項３】
前記オペレータは、
二つ以上のオペランドの直列繋ぎを表すオペレータ+、
二つ以上のオペランドの並列関係を表すオペレータ|、
オペランドが無視できない組合せを形成したことを表すオペレータ()、
オペランドが無視できる組合せを形成したことを表すオペレータ[]、
文句の終了を表すオペレータ；、
品詞記述ファイルにおける品詞の解釈関係を表すオペレータ：、
外部辞書を引用したことを表わすオペレータ""における少なくとも一つを含む
請求項１または２に記載の文法コンパイル方法。
【請求項４】
前記文法記述ファイルにおける関数は、
文法セグメントEXPを最小にmin回、最大にmax回重複することを表す関数&repeat(EXP, min, max)、
EXPをn回重複することを表す関数&repeat(EXP, n)、
EXP1, EXP2,…を全部配列することを表す関数&perm(EXP1, EXP2, …)、
文法名称がgrammar_nameである文法記述ファイルを表す関数&grammar(gammar_name)；
EXPから語義ラベルkeyへのマッピングを実現する関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)における少なくとも一つの関数を含み、
関数&magic(EXP, key, default)は、文法マッチング過程で、EXPが一つのテキストセグメントTとマッチングに成功したとき、keyの値はTで、そうでないときkeyの値はdefaultであり、関数&magic(EXP, key, default, display)は、文法マッチング過程で、EXPが一つのテキストセグメントTとマッチングに成功したとき、keyの値はdisplayで、そうでないときkeyの値はdefaultである
請求項１に記載の文法コンパイル方法。
【請求項５】
前記品詞記述ファイルにおける関数は、
文法セグメントEXPを最小にmin回、最大にmax回重複することを表す関数&repeat(EXP, min, max)、
EXPをn回重複することを表す関数&repeat(EXP, n)、
EXP1, EXP2,…を全部配列することを表す関数&perm(EXP1, EXP2, …)における少なくとも一つの関数を含む
請求項２に記載の文法コンパイル方法。
【請求項６】
前記語義の文法ツリーにおいて、葉ノードは品詞記述ファイルにおける語彙項目又は引用した外部辞書であり、非葉ノードはオペレータ又は関数名称であり、非葉ノードのオペランドは当該非葉ノードの各サブツリーが表す内容である
請求項1に記載の文法コンパイル方法。
【請求項７】
前記語義の文法ツリーにおいて前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)は非葉ノードとして標記し、前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルを記憶する
請求項４に記載の文法コンパイル方法。
【請求項８】
解析しようとするテキストを、請求項1、2、4、5、6、及び7のいずれかの一項に記載の文法コンパイル方法で得た文法ツリーで前記予設順序に従いマッチングを行い、前記解析しようとするテキストが前記文法ツリーと完全にマッチングすると、前記文法ツリーに対応する語義を解釈しようとするテキストの語義として確定する
語義解析方法。
【請求項９】
前記文法マッチング過程で、解析しようとするテキストにおけるあるテキストセグメントが前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーとマッチングすると、解析結果において前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である
請求項７に記載の文法コンパイル方法。
【請求項１０】
解析しようとするテキストを請求項7に記載の文法コンパイル方法で得た文法ツリーで前記予設順序に従い前向き最大マッチングを行い、前記解析しようとするテキストに前記文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、前記文法ツリーに対応する語義を解釈しようとするテキストの語義として確定する
語義解析方法。
【請求項１１】
解析結果でマッチングする関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である
請求項10に記載の語義解析方法。
【請求項１２】
前記解析しようとするテキストに前記文法ツリーで予設したキー関数&magic(EXP, key, default, display)又はキー関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在する場合に、前記文法ツリーに対応する語義を前記解析しようとするテキストの語義として確定する
請求項10に記載の語義解析方法。
【請求項１３】
S1、解析しようとするテキストを、上記文法コンパイル方法で得た文法ツリーで予設順序に従いマッチングを行い、前記解析しようとするテキストが前記文法ツリーと完全にマッチングすると、前記文法ツリーに対応する語義を解釈しようとするテキストの語義として確定し、そうでないと、ステップS2を実行し、
S2、前記解析しようとするテキストを、前記文法ツリーで前記予設順序に従い前向き最大マッチングを行い、前記解析しようとするテキストに前記文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、前記文法ツリーに対応する語義を前記解釈しようとするテキストの語義として確定する
語義解析方法。
【請求項１４】
解析結果でマッチングする関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である
請求項13に記載の語義解析方法。
【請求項１５】
語義に対応する文法記述ファイル及び品詞記述ファイルを記憶するファイル記憶手段と、前記文法記述ファイル及び品詞記述ファイルは語義の常用の文句表現に従いロジック文法直観的言語LGMLに基づいて予め定義したものであり、前記文法記述ファイルで品詞、オペレータ及び関数によって常用の文句の記述を構成し、前記品詞記述ファイルは品詞の具体的な値を記述するに用い、
前記文法記述ファイル及び品詞記述ファイルをそれぞれ予設順序の帰納方法によって文法記述ファイルの文法ツリー及び品詞記述ファイルの品詞ツリーを生成し、前記品詞ツリーを前記文法ツリーにおいて対応する品詞の位置に続いて引っ掛けて、前記語義の文法ツリーを形成する文法ツリー生成手段とを含む
文法コンパイル装置。
【請求項１６】
前記品詞記述ファイルには語彙項目を含み、又は語彙項目を含む以外にさらにオペレータ及び関数における少なくとも一つを含んで各語彙項目の間の関係を記述する
請求項15に記載の文法コンパイル装置。
【請求項１７】
前記オペレータは、
二つ以上のオペランドの直列繋ぎを表すオペレータ+、
二つ以上のオペランドの並列関係を表すオペレータ|、
オペランドが無視できない組合せを形成したことを表すオペレータ()、
オペランドが無視できる組合せを形成したことを表すオペレータ[]、
文句の終了を表すオペレータ；、
品詞記述ファイルにおける品詞の解釈関係を表すオペレータ：、
外部辞書を引用したことを表わすオペレータ""における少なくとも一つのオペレータを含む
請求項15又は16に記載の文法コンパイル装置。
【請求項１８】
前記文法記述ファイルにおける関数は、
文法セグメントEXPを最小にmin回、最大にmax回重複することを表す関数&repeat(EXP, min, max)、
EXPをn回重複することを表す関数&repeat(EXP, n)、
EXP1, EXP2,…を全部配列することを表す関数&perm(EXP1, EXP2, …)、
文法名称がgrammar_nameである文法記述ファイルを表す関数&grammar(gammar_name)、
EXPから語義ラベルkeyへのマッピングを実現する関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)における少なくとも一つの関数を含み、
その中で、関数&magic(EXP, key, default)は文法マッチング過程で、EXPと一つのテキストセグメントTがマッチングに成功したとき、keyの値がTで、そうでないときkeyの値がdefaultであり、関数&magic(EXP, key, default, display) は文法マッチング過程で、EXPと一つのテキストセグメントTがマッチングに成功したとき、keyの値がdisplayであり、そうでないときkeyの値がdefaultである
請求項15に記載の文法コンパイル装置。
【請求項１９】
前記品詞記述ファイルにおける関数は、
文法セグメントEXPを最小にmin回、最大にmax回重複することを表す関数&repeat(EXP, min, max)、
EXPをn回重複することを表す関数&repeat(EXP, n)、
EXP1, EXP2,…を全部配列することを表す関数&perm(EXP1, EXP2, …)における少なくとも一つの関数を含む
請求項16に記載の文法コンパイル装置。
【請求項２０】
前記語義の文法ツリーにおいて、葉ノードは品詞記述ファイルにおける語彙項目又は引用した外部辞書であり、非葉ノードはオペレータ又は関数名称であり、非葉ノードのオペランドは当該非葉ノードの各サブツリーが示す内容である
請求項15に記載の文法コンパイル装置。
【請求項２１】
前記語義の文法ツリーにおいて前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)は非葉ノードとして標記し、前記ファイル記憶手段は、さらに前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルを記憶する
請求項18に記載の文法コンパイル装置。
【請求項２２】
解析しようとするテキストを請求項15、16、18、19、20、及び21のいずれか一項に記載の文法コンパイル装置で得た文法ツリーで前記予設順序に従いマッチングを行い、全文句マッチング手段が前記解析しようとするテキストが前記文法ツリーに完全にマッチングすると確定すると、マッチング結果を結果確定手段に発送する前記全文句マッチング手段と、
前記マッチング結果を受信した時、前記文法ツリーに対応する語義を前記解析しようとするテキストの語義として確定する結果確定手段とを含む
語義解析装置。
【請求項２３】
前記文法マッチング過程で、解析しようとするテキストにおけるあるテキストセグメントが前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーとマッチングすると、結果確定手段で得た解析結果において前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である
請求項21に記載の文法コンパイル装置。
【請求項２４】
解析しようとするテキストを請求項21に記載の文法コンパイル装置で得た文法ツリーで前記予設順序に従い前向きへ最大マッチングを行い、前記解析しようとするテキストに前記文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、マッチング結果を結果確定手段へ発送する語義マッピングマッチング手段と、
前記マッチング結果を受信した時、前記文法ツリーに対応する語義を前記解析しようとするテキストの語義として確定する結果確定手段とを含む
語義解析装置。
【請求項２５】
前記結果確定手段で得た解析結果において前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値が当該テキストセグメント又はマッピングテーブルでのdisplayの値である
請求項24に記載の語義解析装置。
【請求項２６】
前記語義マッピングマッチング手段は、ただ前記解析しようとするテキストに前記文法ツリーで予設したキー関数&magic(EXP, key, default, display)又はキー関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在する時に、マッチング結果を前記結果確定手段へ発送する
請求項24に記載の語義解析装置。
【請求項２７】
解析しようとするテキストを請求項21に記載の文法コンパイル装置で得た文法ツリーで前記予設順序に従いマッチングを行い、全文句マッチング手段が前記解析しようとするテキストが前記文法ツリーに完全にマッチングすると確定すると、マッチング結果を結果確定手段へ発送し、そうでないとき、語義マッピングマッチング手段をトリガーする前記全文句マッチング手段と、
トリガーされると、前記解析しようとするテキストを前記文法ツリーで前記予設順序に従い前向き最大マッチングを行い、前記解析しようとするテキストに前記文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、マッチング結果を結果確定手段へ発送する語義マッピングマッチング手段と、
マッチング結果を受信した時、前記文法ツリーに対応する語義を前記解析しようとするテキストの語義として確定する結果確定手段とを含む
語義解析装置。
【請求項２８】
前記結果確定手段が前記語義マッピングマッチング手段のマッチング結果を受信すると、解析結果でマッチングする関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である
請求項27に記載の語義解析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューター応用技術分野に関し、特に、文法コンパイル方法、語義解析方法、及び装置に関する。
【０００２】
本願は、出願日が2013年05月28日で、出願番号が201310203987.2で、発明名称が「文法コンパイル方法、語義解析方法及びそれらに対応する装置」である中国特許出願の優先権を要求する。
【背景技術】
【０００３】
音声識別及び口語語義解析は、音声対話型製品において二つの重要な技術であり、音声識別は、音声の内容を文字に転換し、口語語義解析は口語音声信号に載っている情報を理解することである。音声識別率及び口語語義解析の正確度はユーザーの体験に直接に影響を与える。音声識別率及び口語語義解析の正確度を高めるために、現在主に採用するのはW3C（ワールド・ワイド・ウェブ・コンソーシアム）標準による二つの文脈関係無し文法によって識別空間を構築し、即ちBNF（Backus-Naur Form （バッカス・ナウア記法））形式の文法またはXML（Extensible Markup Language（エクステンシブル マークアップ ランゲージ））形式による文法を採用する。
【０００４】
人々の話し方式は自然口語であり、行為、言葉使い及びテキスト入力は全部大きい差異があり、例えば、口語には、文法が不厳密であり語順が倒置である現象がある。W3Cから推薦されたBNF文法及びXML格式の文法は主流の大量単語の連続音声識別器によって利用されるが、BNF及びXMLの解釈レベルが多いので、このような二つの文法で行った語義マッピング及び文法の理解の定義は非常に複雑で、読み可能性及びメンテナンス性能が悪い欠陥を有し、かかる文法コンパイル及び語義解析が難くなる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以上の問題に鑑みて、本発明は、読み可能性及びメンテナンス性を高めることができる文法コンパイル方法、語義解析方法及び対応する装置を提供する。
【課題を解決するための手段】
【０００６】
具体的な技術案は、以下のとおりである。
【０００７】
文法コンパイル方法であって、語義の常用の文句表現に従いロジック文法直観的言語LGMLに基づいて予め対応する文法記述ファイル及び品詞記述ファイルを定義し、前記文法記述ファイルで品詞、オペレータ及び関数によって常用の文句の記述を構成し、前記品詞記述ファイルは品詞の具体的な値を記述するに用い、前記文法記述ファイル及び品詞記述ファイルを、それぞれ予設順序の帰納方法によって文法記述ファイルの文法ツリー及び品詞記述ファイルの品詞ツリーを生成し、前記品詞ツリーを前記文法ツリーにおいて対応する品詞の位置に続いて引っ掛けて、前記語義の文法ツリーを形成する。
【０００８】
本発明の一つの好ましい実施形態によると、前記品詞記述ファイルには語彙項目を含み、又は語彙項目を含む以外にさらにオペレータ及び関数における少なくとも一つを含んで各語彙項目の間の関係を記述する。
【０００９】
本発明の一つの好ましい実施形態によると、前記オペレータは、二つ以上のオペランドの直列繋ぎを表すオペレータ+、二つ以上のオペランドの並列関係を表すオペレータ|、オペランドが無視できない組合せを形成したことを表すオペレータ()、オペランドが無視できる組合せを形成したことを表すオペレータ[]、文句の終了を表すオペレータ；、品詞記述ファイルにおける品詞の解釈関係を表すオペレータ：、外部辞書を引用したことを表すオペレータ""における少なくとも一つのオペレータを含む。
【００１０】
本発明の一つの好ましい実施形態によると、前記文法記述ファイルにおける関数は、文法セグメントEXPを最小にmin回、最大にmax回重複することを表す関数&repeat(EXP, min, max)、EXPをn回重複することを表す関数&repeat(EXP, n)、EXP1, EXP2,…を全部配列することを表す関数&perm(EXP1, EXP2, …)、文法名称がgrammar_nameである文法記述ファイルを表す関数&grammar(gammar_name)；EXPから語義ラベルkeyへのマッピングを実現する関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)における少なくとも一つの関数を含み、関数&magic(EXP, key, default)は、文法マッチング過程で、EXPが一つのテキストセグメントTとマッチングに成功したとき、keyの値はTで、そうでないときkeyの値はdefaultであり、関数&magic(EXP, key, default, display)は、文法マッチング過程で、EXPが一つのテキストセグメントTとマッチングに成功したとき、keyの値はdisplayで、そうでないときkeyの値はdefaultである。
【００１１】
本発明の一つの好ましい実施形態によると、前記品詞記述ファイルにおける関数は、文法セグメントEXPを最小にmin回、最大にmax回重複することを表す関数&repeat(EXP, min, max)、EXPをn回重複することを表す関数&repeat(EXP, n)、EXP1, EXP2,…を全部配列することを表す関数&perm(EXP1, EXP2, …)における少なくとも一つの関数を含む。
【００１２】
本発明の一つの好ましい実施形態によると、前記語義の文法ツリーにおいて、葉ノードは品詞記述ファイルにおける語彙項目又は引用した外部辞書であり、非葉ノードはオペレータ又は関数名称であり、非葉ノードのオペランドは当該非葉ノードの各サブツリーが表す内容である。
【００１３】
本発明の一つの好ましい実施形態によると、前記語義の文法ツリーにおいて前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)は非葉ノードとして標記し、前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルを記憶する。
【００１４】
語義解析方法であって、当該語義解析方法は、解析しようとするテキストを、上記文法コンパイル方法で得た文法ツリーで前記予設順序に従いマッチングを行い、前記解析しようとするテキストが前記文法ツリーと完全にマッチングすると、前記文法ツリーに対応する語義を前記解釈しようとするテキストの語義として確定する。
【００１５】
本発明の一つの好ましい実施形態によると、前記マッチング過程で、前記解析しようとするテキストにおけるあるテキストセグメントが前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーとマッチングすると、解析結果において前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である。
【００１６】
語義解析方法であって、当該語義解析方法は、解析しようとするテキストを、上記文法コンパイル方法で得た文法ツリーで前記予設順序に従い前向き最大マッチングを行い、前記解析しようとするテキストに前記文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、前記文法ツリーに対応する語義を前記解釈しようとするテキストの語義として確定する。
【００１７】
本発明の一つの好ましい実施形態によると、解析結果でマッチングする関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である。
【００１８】
本発明の一つの好ましい実施形態によると、前記解析しようとするテキストに前記文法ツリーで予設したキー関数&magic(EXP, key, default, display)又はキー関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在する場合に、前記文法ツリーに対応する語義を前記解析しようとするテキストの語義として確定する。
【００１９】
語義解析方法であって、当該語義解析方法は、S1、解析しようとするテキストを、上記文法コンパイル方法で得た文法ツリーで前記予設順序に従いマッチングを行い、前記解析しようとするテキストが前記文法ツリーと完全にマッチングすると、前記文法ツリーに対応する語義を前記解釈しようとするテキストの語義として確定し、そうでないと、ステップS2を実行し、S2、前記解析しようとするテキストを、前記文法ツリーで前記予設順序に従い前向き最大マッチングを行い、前記解析しようとするテキストに前記文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、前記文法ツリーに対応する語義を前記解釈しようとするテキストの語義として確定する。
【００２０】
本発明の一つの好ましい実施形態によると、解析結果でマッチングする関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である。
【００２１】
文法コンパイル装置であって、当該文法コンパイル装置は、語義に対応する文法記述ファイル及び品詞記述ファイルを記憶するファイル記憶手段と、前記文法記述ファイル及び品詞記述ファイルは語義の常用の文句表現に従いロジック文法直観的言語LGMLに基づいて予め定義したものであり、前記文法記述ファイルで品詞、オペレータ及び関数によって常用の文句の記述を構成し、前記品詞記述ファイルは品詞の具体的な値を記述するに用い、前記文法記述ファイル及び品詞記述ファイルをそれぞれ予設順序の帰納方法によって文法記述ファイルの文法ツリー及び品詞記述ファイルの品詞ツリーを生成し、前記品詞ツリーを前記文法ツリーにおいて対応する品詞の位置に続いて引っ掛けて、前記語義の文法ツリーを形成する文法ツリー生成手段とを含む。
【００２２】
本発明の一つの好ましい実施形態によると、前記品詞記述ファイルには語彙項目を含み、又は語彙項目を含む以外にさらにオペレータ及び関数における少なくとも一つを含んで各語彙項目の間の関係を記述する。
【００２３】
本発明の一つの好ましい実施形態によると、前記オペレータは、二つ以上のオペランドの直列繋ぎを表すオペレータ+、二つ以上のオペランドの並列関係を表すオペレータ|、オペランドが無視できない組合せを形成したことを表すオペレータ()、オペランドが無視できる組合せを形成したことを表すオペレータ[]、文句の終了を表すオペレータ；、品詞記述ファイルにおける品詞の解釈関係を表すオペレータ：、外部辞書を引用したことを表わすオペレータ""における少なくとも一つのオペレータを含む。
【００２４】
本発明の一つの好ましい実施形態によると、前記文法記述ファイルにおける関数は、文法セグメントEXPを最小にmin回、最大にmax回重複することを表す関数&repeat(EXP, min, max)、EXPをn回重複することを表す関数&repeat(EXP, n)、EXP1, EXP2,…を全部配列することを表す関数&perm(EXP1, EXP2, …)、文法名称がgrammar_nameである文法記述ファイルを表す関数&grammar(gammar_name)、EXPから語義ラベルkeyへのマッピングを実現する関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)における少なくとも一つの関数を含み、その中で、関数&magic(EXP, key, default)は文法マッチング過程で、EXPと一つのテキストセグメントTがマッチングに成功したとき、keyの値がTで、そうでないときkeyの値がdefaultであり、関数&magic(EXP, key, default, display) は文法マッチング過程で、EXPと一つのテキストセグメントTがマッチングに成功したとき、keyの値がdisplayであり、そうでないときkeyの値がdefaultである。
【００２５】
本発明の一つの好ましい実施形態によると、前記品詞記述ファイルにおける関数は、文法セグメントEXPを最小にmin回、最大にmax回重複することを表す関数&repeat(EXP, min, max)、EXPをn回重複することを表す関数&repeat(EXP, n)、EXP1, EXP2,…を全部配列することを表す関数&perm(EXP1, EXP2, …)における少なくとも一つの関数を含む。
【００２６】
本発明の一つの好ましい実施形態によると、前記語義の文法ツリーにおいて、葉ノードは品詞記述ファイルにおける語彙項目又は引用した外部辞書であり、非葉ノードはオペレータ又は関数名称であり、非葉ノードのオペランドは当該非葉ノードの各サブツリーが示す内容である。
【００２７】
本発明の一つの好ましい実施形態によると、前記語義の文法ツリーにおいて前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)は非葉ノードとして標記し、前記ファイル記憶手段は、さらに前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルを記憶する。
【００２８】
語義解析装置であって、解析しようとするテキストを上記文法コンパイル装置より得た文法ツリーで前記予設順序に従いマッチングを行い、前記全文句マッチング手段が前記解析しようとするテキストが前記文法ツリーに完全にマッチングすると確定すると、マッチング結果を結果確定手段に発送する全文句マッチング手段と、前記マッチング結果を受信した時、前記文法ツリーに対応する語義を前記解析しようとするテキストの語義として確定する結果確定手段とを含む。
【００２９】
本発明の一つの好ましい実施形態によると、前記マッチング過程で、前記解析しようとするテキストにおけるあるテキストセグメントが前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーとマッチングすると、前記結果確定手段で得た解析結果において前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である。
【００３０】
語義解析装置であって、解析しようとするテキストを上記文法コンパイル装置で得た文法ツリーで前記予設順序に従い前向きの最大マッチングを行い、前記解析しようとするテキストに前記文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、マッチング結果を結果確定手段へ発送する語義マッピングマッチング手段と、前記マッチング結果を受信した時、前記文法ツリーに対応する語義を前記解析しようとするテキストの語義として確定する結果確定手段とを含む。
【００３１】
本発明の一つの好ましい実施形態によると、前記結果確定手段で得た解析結果において前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値が当該テキストセグメント又はマッピングテーブルでのdisplayの値である。
【００３２】
本発明の一つの好ましい実施形態によると、前記語義マッピングマッチング手段は、ただ前記解析しようとするテキストに前記文法ツリーで予設したキー関数&magic(EXP, key, default, display)又はキー関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在する時に、マッチング結果を前記結果確定手段へ発送する。
【００３３】
語義解析装置であって、解析しようとするテキストを文法コンパイル装置で得た文法ツリーで前記予設順序に従いマッチングを行い、前記全文句マッチング手段が前記解析しようとするテキストが前記文法ツリーに完全にマッチングすると確定すると、マッチング結果を結果確定手段へ発送し、そうでないと、語義マッピングマッチング手段をトリガーする全文句マッチング手段と、トリガーされると、前記解析しようとするテキストを前記文法ツリーで前記予設順序に従い前向き最大マッチングを行い、前記解析しようとするテキストに前記文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、マッチング結果を結果確定手段へ発送する語義マッピングマッチング手段と、マッチング結果を受信した時、前記文法ツリーに対応する語義を前記解析しようとするテキストの語義として確定する結果確定手段とを含む。
【００３４】
本発明の一つの好ましい実施形態によると、前記結果確定手段が前記語義マッピングマッチング手段のマッチング結果を受信すると、解析結果でマッチングする関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である。
【００３５】
以上の技術案によると、本発明で提供する文法コンパイル方法及び語義解析方法がLGMLに基づいて予め定義した文法記述ファイル及び品詞記述ファイルは、人間の口語表現により接近し、BNF及びXMLに比べて解釈レベルが少なく、可読性がより強くメンテナンスがより容易である。
【図面の簡単な説明】
【００３６】
【図１ａ】図1aは、本発明の実施例で提供する文法記述ファイルの文法ツリーの模式図である。
【図１ｂ】図1bは、本発明の実施例で提供する品詞記述ファイルの品詞ツリーの模式図である。
【図１ｃ】図1cは、本発明の実施例で提供する品詞記述ファイルの品詞ツリーの模式図である。
【図１ｄ】図1dは、本発明の実施例で提供する品詞記述ファイルの品詞ツリーの模式図である。
【図１ｅ】図1eは、本発明の実施例で提供する語義の文法ツリーの模式図である。
【図２ａ】図2aは、本発明の実施例で提供する文法記述ファイルの文法ツリーの実例図である。
【図２ｂ】図2bは、本発明の実施例で提供する品詞記述ファイルの品詞ツリーの実施図である。
【図２ｃ】図2cは、本発明の実施例で提供する品詞記述ファイルの品詞ツリーの実施図である。
【図２ｄ】図2dは、本発明の実施例で提供する語義の文法ツリーの実施図である。
【図３】図3は、本発明の実施例で提供する天気照会に対応する文法ツリーである。
【図４】図4は、本発明の実施例で提供する文法コンパイル装置の構造図である。
【図５】図5は、本発明の実施例で提供する第一種類の語義解析装置の構造図である。
【図６】図6は、本発明の実施例で提供する第二種類の語義解析装置の構造図である。
【図７】図7は、本発明の実施例で提供する第三種類の語義解析装置の構造図である。
【発明を実施するための形態】
【００３７】
本発明の目的、技術案及び利点をより明瞭にするために、以下では、図面及び具体的な実施例を結合して、本発明を詳細に説明する。
【００３８】
本発明で提供する文法コンパイル方法は、新たな文法記述言語によるもので、即ちロジック文法直観的言語（LGML、Logical Grammar by Manifest Language）によるもので、当該LGMLは従来のBNF又はXMLの複雑な結構と異なり、自然的な語順及び記述方式により近づく。各語義の常用の文句表現に対して、LGMLを利用して予め対応する文法を定義し、LGMLで定義した文法は、文法記述ファイル及び品詞記述ファイルの二つの部分で構成する。
【００３９】
文法記述ファイルにおいてオペレータ、品詞及び関数で常用の文句記述を構成し、当該文法記述ファイルは通常に汲尽し法方式で予め色々な文句記述を定義する。品詞及び関数は、一般的に文法記述ファイルにおいてオペレータのオペランドとし、品詞は文法記述ファイルにおいて一つの独立した操作対象とする他に、関数におけるパラメーターとしてもよい。品詞は、若干の同じ意味の語彙項目（語彙又は連語）に付く統一の標記であり、一つの品詞に具体的に含んでいる語彙項目は当該品詞に対応する品詞記述ファイルで定義し、即ち、品詞記述ファイルは品詞の具体的な値を記述するためのもので、品詞記述ファイルにはオペレータ及び/又は関数を含んで各語彙項目の間の関係を記述する。品詞記述ファイルは、手動的に定義する方式を利用してもよく、デバイスが考案した結果を利用してもよい。
【００４０】
以下では、本発明の実施例で提供するLGMLの上記具体的な構成に対して詳細に記述する。まず、文法記述ファイル及び品詞記述ファイルにおけるオペレータは、以下を含むが、これらに限定されていない。
【００４１】
二つ以上のオペランドの直列繋ぎを表すオペレータ+、直列繋ぎとは順序に文句を記述することである。
【００４２】
二つ以上のオペランドの並列関係を表すオペレータ|、並列関係はオペランドの選一と表現と同じ意味である。
【００４３】
オペランドが無視できない組合せを形成したことを表すオペレータ()。
【００４４】
オペランドが無視できる組合せを形成したことを表すオペレータ[]。
【００４５】
文句の終了を表すオペレータ；。
【００４６】
品詞記述ファイルにおける品詞の解釈関係を表すオペレータ：。
【００４７】
外部辞書を引用したことを表すオペレータ""、辞書における語彙は並列関係である。
【００４８】
品詞記述ファイルにおける関数は以下を含むが、これらに限定されていない。
【００４９】
文法セグメントEXPを最小にmin回、最大にmax回重複することを表す関数&repeat(EXP, min, max)。
【００５０】
EXPをn回重複することを表す関数&repeat(EXP, n)。
【００５１】
EXP1, EXP2,…を全部配列することを表す関数&perm(EXP1, EXP2, …)。例えば、&perm(EXP1, EXP2, EXP3)は6の直列繋いた項目の並列(EXP1+EXP2+EXP3)|(EXP1+EXP3+EXP2)|(EXP2+EXP3+EXP1)|(EXP2+EXP1+EXP3)|(EXP3+EXP1+EXP2)|(EXP3+EXP2+EXP1)に等価する。
【００５２】
文法記述ファイルには、上記の関数&repeat(EXP, min, max)、関数&repeat(EXP, n)及び関数&perm(EXP1, EXP2, …)の他に、以下の関数を含んでいてもよいが、これらに限定されていない。
【００５３】
通常に文法ファイルヘッドに書き入れ、一つの文句が表現した文法名称はgrammar_nameで、当該grammar_nameで当該文句の表現する文法記述ファイルを標記する関数&grammar(gammar_name)。
【００５４】
EXPから語義ラベルkeyへのマッピングを実現する関数&magic(EXP, key, default, display)及び関数&magic(EXP, key, default)。
【００５５】
その中で、関数&magic(EXP, key, default)は文法マッチング過程で、EXPと一つのテキストセグメントTがマッチングに成功したとき、keyの値がTであり、そうでないときkeyの値がデフォルト値defaultである。
【００５６】
関数&magic(EXP, key, default, display) は文法マッチング過程で、EXPと一つのテキストセグメントTがマッチングに成功したとき、keyの値が表示値displayであり、そうでないときkeyの値がdefaultである。
【００５７】
以下では、一つの例を説明すると、天気照会に対する文句表現が予め文法記述ファイル及び品詞記述ファイルを定義すると、文法記述ファイルは以下のように定義してもよい。
&grammar(weather);
[｛願望｝+｛照会｝]+
&perm(
&magic([｛時間｝]、date、today)、&magic([｛場所｝]、place、LBS)
)+[の]+&magic(｛天気基準｝、weather、error、weather)；
……
【００５８】
品詞記述ファイルは以下のように定義してもよい。
｛願望｝：私は+(たい|ほしい)；
｛照会｝：知る|照会；
｛時間｝：今日|明日；
｛場所｝：&repeat("place.dic"+[省|市]、1,2)；
｛天気基準｝：気温|湿度；
……
【００５９】
本発明で提供する文法コンパイルは、LGMLに基づいて語義を一つの文法ツリーにコンパイルし、文法ツリーをコンパイルする過程で上記文法記述ファイル及び品詞記述ファイルを予設順序（本発明の実施例では左から右への順序を利用する）の帰納方法を利用し、関数及びオペレータで限定した関係に従って文法ツリーを生成する。具体的に、左から右への帰納方法は、文法記述ファイルを文法ツリーを生成し、左から右への帰納方法で品詞記述ファイルを品詞ツリーを生成し、品詞ツリーを文法ツリーにおける対応する品詞の位置に続いて引っ掛け、最後に各品詞ツリーを文法ツリーの葉ノードに続いて引っ掛ける。
【００６０】
文法記述ファイルを文法ツリーを生成する時、葉ノードは品詞であり、非葉ノードはオペレータであり、非葉ノードのオペレータとするオペランドは当該非葉ノードの各サブツリーが表す内容である。関数&repeat(EXP, min, max)、&repeat(EXP, n)、&perm(EXP1, EXP2, …)は全部文法セグメントEXPとオペレータの組合せの形式に表示することができ、関数&magic(EXP, key, default, display)及び&magic(EXP, key, default)は実現したのがマッピング関係であるので、文法ツリーで&magic関数を標記しなければいけなく、標記の方式は一つの非葉ノードとしてもよく、同時に当該&magic関数に対応するマッピングテーブルが存在し、例えば、当該&magic関数の標記とそれに対応するマッピングテーブルとの間には一つの位置配向が存在する。
【００６１】
以下では、ある簡単な例を説明する。ある語義の文法記述ファイルの内容が[｛A｝+｛B｝]|｛C｝であると、左から右へ帰納して生成した文法記述ファイルの文法ツリーは、図1aに示すように、図1aにおいて、葉ノードは品詞｛A｝、｛B｝及び｛C｝であり、非葉ノードはオペレータであり、その中で、非葉ノード「+,[」のオペランドは｛A｝及び｛B｝で、非葉ノード|は各サブツリーの内容で、左の分支のサブツリー内容は[｛A｝+｛B｝]、右の分支のサブツリー内容は｛C｝である。
【００６２】
当該語義の品詞記述ファイルがそれぞれ｛A｝：a+b、｛B｝：[c+d]+e、｛C｝：f|gであると、それぞれ各品詞に左から右への帰納を行い、品詞｛A｝、｛B｝及び｛C｝に対応する品詞ツリーはそれぞれ図1b、図1c及び図1dに示すとおりである。そして、各品詞ツリーを文法記述ファイルの文法ツリー上の対応する品詞の位置に続いて引っ掛け、最後に上記語義の文法ツリーを図1eに示すように形成する。
【００６３】
ある語義の文法記述ファイルの内容は、&magic((｛X｝|｛Y｝), key, default, display)であり、左から右へ帰納して生成した文法記述ファイルの文法ツリーは図2aに示すように、非葉ノード「magic、+」で&magic関数を標記し、そして一つのmagicマッピングテーブルが存在し、当該magic関数の文法ツリーのマッピングテーブルでの位置を示す。
【００６４】
当該語義の品詞記述ファイルが｛X｝：[a+b]+c、｛Y｝：[a+b]+dであると、それぞれ各品詞に左から右への帰納を行うと、品詞｛X｝及び｛Y｝に対応する品詞ツリーはそれぞれ図2b及び図2cに示すとおりである。そして、各品詞ツリーを文法記述ファイルの文法ツリー上の対応する品詞の位置に続いて引っ掛け、最後に当該語義の文法ツリーを図2dに示すように形成する。
【００６５】
即ち、最後に形成した語義の文法ツリーにおいて、葉ノードは品詞記述ファイルにおける語彙項目又は引用した外部辞書であり、非葉ノードはオペレータ又は関数名称であり、非葉ノードのオペランドは当該非葉ノードの各サブツリーが示す内容である。
【００６６】
文法記述ファイルに２以上の&magic関数が存在すると、文法記述ファイルにおける全部&magic関数のマッピングテーブルを合併して一つのマッピングテーブルを形成して、記憶及び照会を便利にする。
【００６７】
上記文法コンパイルを完了してから、文法コンパイルを行って形成した文法ツリーによって語義解析を行うことができる。解析しようとするテキストはユーザーの音声を識別したテキスト結果であってもよく、当該テキストの結果に対して語義解析を行ってそれが表現する語義を得てもよく、ユーザーが検索エンジンに入力したテキストであってもよく、ユーザーが入力した当該テキストに対して語義解析を行ってそれが表現する語義を得てもよいが、ここでさらに例を詳細に挙げて説明しない。
【００６８】
語義解析を行う時、解析しようとするテキストを各文法ツリーとマッチングを行い、マッチングする時に左から右へのマッチング方式を利用し、マッチングする文法ツリーに対応する語義を解析しようとするテキストの語義として確定する。マッチングする過程で、全文句マッチングの方式を利用してもよく、語義マッピングマッチングの方式を利用してもよく、又は全文句マッチングと語義マッピングマッチングを組み合わせる方式を利用してもよく、即ち、まず全文句マッチングを行い、マッチング結果がないとさらに語義マッピングマッチングの方式を行う。全文句マッチングとは解析しようとするテキストがある語義のLGMLの文法ツリーに完全にマッチングすることであり、このようなマッチング方式は通用の、正確度が高いマッチング方式であり、LGMLでどのような関数を利用しても適用できる。語義マッピングマッチングとは解析しようとするテキストにおけるテキストセグメントが&magic関数で定義した文法セグメントにマッチングすることを意味し、即ち解析しようとするテキストにおける全部又は一部のテキストが文法ツリーにおける&magic関数で標記するサブツリーにマッチングすると、当該解析テキストの語義が当該&magic関数がマッピングする語義を含んでいると確定する。
【００６９】
全文句マッチングを行う時、解析しようとするテキストと文法ツリーとのマッチング方式が従来文法ツリーのマッチング方式と基本的に同じであり、ただ順序が左から右への順序に行い実行し、解析しようとするテキストが文法ツリーで完全にマッチングする場合に、マッチングすると確定する。特別に、マッチング過程で、&magic関数で標記したサブツリーにマッチングすると、&magic関数で標記したサブツリーのマッチング結果に基づいて当該&magic関数が示すマッピングテーブルからマッピング結果を獲得して解析結果とする。即ち、解析しようとするテキストにおけるあるテキストセグメントが&magic関数で標記したサブツリーに完全にマッチングすると、解析結果における当該&magic関数が示すマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である。
【００７０】
図2bに示す文法ツリーを例とすると、解析しようとするテキストが「abd」であると、左から右への順序に文法ツリーでマッチングを行い、|の左のサブツリーにマッチングしないが、右のサブツリーに完全にマッチングするので、abdの語義解析結果は当該語義樹に対応する語義であることを確定でき、解析結果におけるkeyの値はdisplayの値である。解析しようとするテキストがeabdcであると、当該文法ツリーにマッチングしなく、当該文法ツリーに対応する語義は当該解析しようとするテキストの語義でない。
【００７１】
&magic関数のような特殊の関数について、それで標記したサブツリーに語義マッピングマッチングの方式を利用でき、即ち&magic関数で標記したサブツリーを解析しようとするテキストと前向き最大マッチングを行い、解析しようとするテキストに&magic関数で標記したサブツリーにマッチングするテキストセグメントが存在すると、当該解析しようとするテキストの語義が当該文法ツリーに対応する語義であると確定でき、解析結果における当該&magic関数が示すマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である。
【００７２】
同じように、図2bに示す文法ツリーを例とすると、解析しようとするテキストがeabdcであると、当該文法ツリーを解析しようとするテキストと前向き最大マッチングを行い（即ち、eを解析しようとするテキストの開始としてマッチングを行い、マッチングしないと、aから解析しようとするテキストとしてマッチングを行い、マッチングしないと、bから順序に類推する）、結果としてそれにおけるテキストセグメントabdが当該文法ツリーにマッチングすると、解析しようとするテキストの語義が当該文法ツリーに対応する語義であると確定し、解析結果におけるkeyの値はdisplayの値である。
【００７３】
全文句マッチングの正確性及び語義マッピングマッチングの高カバー率を鑑み、異なる二つのマッチング方式の利点を一体化するために、本発明の実施例では、前に全文句マッチングを行い、後に語義マッピングマッチングの方式を行うことができ、即ち、全文句マッチングが失敗すると、語義マッピングマッチングを行う。
【００７４】
以下では、一つの具体的な実施例を挙げる。天気照会の語義に対応する文法ツリーは図3に示すように、当該図では便宜に記述するために当該&magicの記号magicに番号を付いて、実際上、文法ツリーにおけるノードmagicの標記は同じであるが、それに対応するmagicマッピングテーブルの位置ポインティングが存在し、図3では明瞭にするために位置ポインティングの方式を利用しなく、magic標記を番号付きの方式でmagicマッピングテーブルとのポインティング関係を表す。また、実際上、各magicマッピングテーブルを一つのマッピングテーブルの形式に合併してもよい。
【００７５】
解析しようとするテキストは「私は北京の気温が知りたい」であると、全文句がマッチングでき、magic1は「today（今日）」にマッピングし、magic2は「北京」にマッピングし、magic3は「weather（天気照会）」にマッピングするので、当該解析しようとするテキストの語義は天気照会であり、解析結果において日時dateの値は「today」であり、場所placeの値は「北京」であり、天気weatherの値は「weather」であり、ユーザーは今日であると話さなかったが、文法でmagic1のオペレータ[]であるのは無視してもよいものであると規定したので、デフォルティングの値を「today」とする。
【００７６】
解析しようとするテキストが「気温をお願いします」である場合、文法に"お願いします"に関する文法セグメントを定義しなかったので、全文句マッチングは失敗し、その後に語義マッピングマッチングを行い、「温度」というテキストセグメントがmagic3のサブツリーにマッチングすると、語義マッピングマッチングに成功し、当該解析しようとするテキストの語義は天気照会であるとし、magic1を「today」にマッピングし、magic2を「LBS」にマッピングし、magic3を「weather」にマッピングするので、解析結果におけるdateの値は「today」であり、placeの値は「LBS」であり、weatherの値は「weather」である。
【００７７】
また、語義マッピングマッチング過程において、キーとなるmagic関数を設置することができ、キーとなるmagic関数に対応するサブツリーマッチングが成功したことにより、語義マッピングマッチングが成功したとする。例えば、図3に示す文法ツリーにおけるmagic3関数をキーとなるmagic関数とし、当該magic関数に対応するサブツリーマッチングが成功したことにより語義マッピングマッチングに成功したとする。例えば、解析しようとするテキストが「北京に対して知りたい」である場合、「北京に対して知りたい」との全文句のマッチングが失敗したけど、「北京」とのテキストセグメントとmagic2関数に対応するサブツリーマッチングが成功するが、キーとなるmagic3関数のマッチングが成功しなく、依然として語義マッピングマッチングが成功したとしなくerror、当該解析しようとするテキストが天気照会の語義であるとすることができない。
【００７８】
また、一つの語義の文法ツリーにおいて語義マッピングマッチングを行う時、複数の&magic関数のサブツリーが全部解析しようとするテキストにマッチングの場合も可能であるが、このような状況を解決するために、予め各サブツリーの優先順位を定義する方式によって解決し、又はマッチングの語彙項目数が最大等の制限条件で解決する。
【００７９】
以上は本発明で提供する方法についての記述であり、以下では、実施例を利用して本発明で提供する装置を詳細に記述する。
【００８０】
図4は、本発明の実施例で提供する文法コンパイル装置の構造図であり、図4に示すように、当該文法コンパイル装置は主にファイル記憶手段41及び文法ツリー生成手段42を含む。
【００８１】
ファイル記憶手段41には語義に対応する文法記述ファイル及び品詞記述ファイルを記憶し、文法記述ファイル及び品詞記述ファイルは語義の常用文句に従いLGMLに基づいて予め定義したもので、文法記述ファイルにおいて品詞、オペレータ及び関数によって常用の文句の記述を構成し、品詞記述ファイルは品詞の具体的な値を記述するに用いる。
【００８２】
品詞記述ファイルには語彙項目を含んでいてもよく、又は語彙項目の以外に更にオペレータ及び関数における少なくとも一つを含んで各語彙項目の間の関係を記述してもよい。
【００８３】
上記のオペレータは、二つ以上のオペランドの直列繋ぎを表すオペレータ+、二つ以上のオペランドの並列関係を表すオペレータ|、オペランドが無視できない組合せを形成したことを表すオペレータ()、オペランドが無視できる組合せを形成したことを表すオペレータ[]、文句の終了を表すオペレータ；、品詞記述ファイルにおける品詞の解釈関係を表すオペレータ：、外部辞書を引用したことを表わすオペレータ""における少なくとも一つを含んでいてもよいが、これらに限定されていない。
【００８４】
品詞記述ファイルにおける関数は、複数の種類を含んでいてもよいが、これらに限定しない。
【００８５】
文法セグメントEXPを最小にmin回、最大にmax回重複することを表す関数&repeat(EXP, min, max)。
【００８６】
EXPをn回重複することを表す関数&repeat(EXP, n)。
【００８７】
EXP1, EXP2,…を全部配列することを表す関数&perm(EXP1, EXP2, …)。例えば、&perm(EXP1, EXP2, EXP3)は6の直列に接続した項目の並列に等価する。
(EXP1+EXP2+EXP3) | (EXP1+EXP3+EXP2) | (EXP2+EXP3+EXP1) | (EXP2+EXP1+EXP3) | (EXP3+EXP1+EXP2) | (EXP3+EXP2+EXP1)
【００８８】
文法記述ファイルには、上記の関数&repeat(EXP, min, max)、関数&repeat(EXP, n)及び関数&perm(EXP1, EXP2, …)を含んでいる以外に、以下の複数の関数を含んでいてもよいが、これらに限定されていない。
【００８９】
関数&grammar(gammar_name) は、一番目に文法ファイルのヘッドに記載し、一つの文句表現の文法名称はgrammar_nameであり、当該grammar_nameは当該文句表現の文法記述ファイルを標記する。
【００９０】
関数&magic(EXP, key, default, display)と関数&magic(EXP, key, default)は、EXPから語義ラベルkeyへのマッピングを実現する。
【００９１】
その中で、関数&magic(EXP, key, default)は文法マッチング過程で、EXPと一つのテキストセグメントTがマッチングに成功したとき、keyの値がTである。そうでないとき、keyの値がdefaultである。
【００９２】
関数&magic(EXP, key, default, display) は文法マッチング過程で、EXPと一つのテキストセグメントTがマッチングに成功したとき、keyの値がdisplayであり、そうでないときkeyの値がdefaultである。
【００９３】
文法ツリー生成手段42は、文法記述ファイル及び品詞記述ファイルをそれぞれ予設順序（例えば、左から右への順序）の帰納方法によって文法記述ファイルの文法ツリー及び品詞記述ファイルの品詞ツリーを生成し、品詞ツリーを文法ツリーにおける対応する品詞の位置に記載し、語義の文法ツリーを形成する。
【００９４】
文法記述ファイルを文法ツリーを生成する時、葉ノードは品詞であり、非葉ノードはオペレータであり、非葉ノードとするオペレータのオペランドは当該非葉ノードの各サブツリーが示す内容である。関数&repeat(EXP, min, max)、&repeat(EXP, n)、&perm(EXP1, EXP2, …)は、全部文法セグメントEXPとオペレータの組合せ形式に表示することができ、関数&magic(EXP, key, default, display)及び&magic(EXP, key, default)が実現するのがマッピング関係であるので、文法ツリーにおいて&magic関数を標記する必要があり、標記の方式は一つの非葉ノードとしてもよく、さらに当該&magic関数に対応する語義マッピングを記憶してもよい。例えば、当該&magic関数の標記とそれに対応するマッピングテーブルの間には、一つの位置ポインティングが存在してもよい。
【００９５】
最後に生成した語義の文法ツリーにおいて、葉ノードは品詞記述ファイルにおける語彙項目又は引用した外部辞書であり、非葉ノードはオペレータ又は関数名称であり、非葉ノードのオペランドは当該非葉ノードの各サブツリーが示す内容である。
【００９６】
文法記述ファイルに２以上の&magic関数が存在すると、文法記述ファイルにおける全部の&magic関数のマッピングテーブルを一つのマッピングテーブルに合併して、記憶及び照会を便利にしてもよい。
【００９７】
本発明で提供する語義解析装置は、図4に示す文法コンパイル装置で得た語義の文法ツリーに基づいて、単純に全文句マッチングの方式、単純に語義マッピングマッチングを利用する方式、全文句マッチング及び語義マッピングマッチングを結合する方式の三つの構造によって実現できる。
【００９８】
図5は、本発明の実施例で提供する第一種類の語義解析装置の構造図であるが、当該語義解析装置は単純に全文句マッチングの方式を利用し、図5に示すように、当該語義解析装置は、全文句マッチング手段51と、結果確定手段52とを含む。
【００９９】
全文句マッチング手段51は、解析しようとするテキストを上記語義の文法ツリーで予設順序に従いマッチングを行い、解析しようとするテキストが文法ツリーに完全にマッチングすると確定すると、マッチング結果を結果確定手段52に発送する。
【０１００】
結果確定手段52はマッチング結果を受信すると、文法ツリーに対応する語義を解析しようとするテキストの語義として確定する。
【０１０１】
全文句マッチングは解析しようとするテキストがある語義のLGMLの文法ツリーにマッチングできることを意味し、このようなマッチング方式は通用の、正確度が高いマッチング方式であり、LGMLでどのような関数を利用しても全部適用できる。
【０１０２】
特別に、全文句マッチングの過程で&magic関数で標記したサブツリーにマッチングする可能性もあり、解析しようとするテキストにおいてあるテキストセグメントが関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングすると、結果確定手段52が得た解析結果において関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である。
【０１０３】
図6は本発明の実施例で提供する第二種類の語義解析装置の構造図であり、当該語義解析装置は単純に語義マッピングマッチングを利用し、このような方式は将&magic関数で標記したサブツリーの文法ツリーを含み、図6に示すように、当該語義解析装置は、語義マッピングマッチング手段61と、結果確定手段62とを含む。
【０１０４】
語義マッピングマッチング手段61は、解析しようとするテキストを語義の文法ツリーで予設順序に従い前向きの最大マッチングを行い、解析しようとするテキストに文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、マッチング結果を結果確定手段62へ発送する。
【０１０５】
結果確定手段62はマッチング結果を受信した時、文法ツリーに対応する語義を解析しようとするテキストの語義として確定する。さらに、結果確定手段62が得た解析結果に関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブル中displayの値である。
【０１０６】
また、語義マッピングマッチング過程においてキーとなるmagic関数を設置することができ、キーとなるmagic関数に対応するサブツリーのマッチングが成功することにより、語義マッピングマッチングが成功したとする。即ち、語義マッピングマッチング手段61は、解析しようとするテキストに文法ツリーで予設したキー関数&magic(EXP, key, default, display)又はキー関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在する場合に、マッチング結果を結果確定手段62へ発送する。
【０１０７】
図7は本発明の実施例で提供する第三種類の語義解析装置の構造図であり、当該語義解析装置は全文句マッチング及び語義マッピングマッチングを組み合わせる方式を利用し、語義マッピングマッチングは一般的に文法ツリーに&magic関数に対応するサブツリーを含む場合に適用する。図7に示すように、当該語義解析装置は、全文句マッチング手段71、語義マッピングマッチング手段72及び結果確定手段73を含む。
【０１０８】
全文句マッチング手段71は、解析しようとするテキストを語義の文法ツリーで予設順序に従いマッチングを行い、全文句マッチング手段71が解析しようとするテキストが文法ツリーに完全にマッチングすると確定すると、マッチング結果を結果確定手段73に発送し、そうでないと、語義マッピングマッチング手段72をトリガーする。
【０１０９】
語義マッピングマッチング手段72はトリガーされると、解析しようとするテキストを文法ツリーで予設順序に従い前向き最大マッチングを行い、解析しようとするテキストに文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、マッチング結果を結果確定手段73に発送する。
【０１１０】
結果確定手段73は全文句マッチング手段71のマッチング結果を受信した時でも、または語義マッピングマッチング手段72のマッチング結果を受信した時でも、文法ツリーに対応する語義を解析しようとするテキストの語義として確定する。
【０１１１】
さらに、結果確定手段73は語義マッピングマッチング手段72のマッチング結果を受信すると、解析結果でマッチングする関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である。
【０１１２】
同じように、語義マッピングマッチング過程においてキーとなるmagic関数を設置してもよく、キーとなるmagic関数に対応するサブツリーがマッチングに成功したことにより、語義マッピングマッチングが成功したとする。即ち、語義マッピングマッチング手段72は、解析しようとするテキストに文法ツリーで予設したキー関数&magic(EXP, key, default, display)又はキー関数&magic(EXP, key, default)で標記したサブツリーにマッチングする時に、マッチング結果を結果確定手段73へ発送する。
【０１１３】
ここで、語義解析の過程において、通常は、各語義の文法ツリーを一つ一つにマッチングして解析しようとするテキストに対応する語義を確定し、本発明の実施例において一つの文法ツリーでマッチングを行うことを例として記述を行い、各文法ツリーに対するマッチング過程は同じである。また、あるアプリケーションにおいて、複数レベルの語義分析を利用して、各レベルの語義分析で全部本発明の実施例で提供する語義解析方法及び語義解析装置を利用して実現する。
【０１１４】
本発明で提供する複数の実施例で開示した装置及び方法は、他の方式によって実現することは理解すべきである。例えば、以上に記載の装置の実施例はただ事例的なもので、例えば、前記手段の区分はただ一つのロジック機能区分であり、実際に実現する時は他の区分方式がある。
【０１１５】
前記の分離部材として説明する手段は、物理的に分離したものであってもよく、物理的に分離していないものであってもよく、手段として表示した部材は物理手段であってもよく、物理手段でないでもよく、即ち一つの位置に位置してもよく、又は複数のネット手段に分布してもよい。実際の要求に基づいてその一部又は全部手段を選択して、本実施例の手段の目的を実現できる。
【０１１６】
また、本発明の各実施例における各機能手段は一つの処理手段に集積してもよく、各手段がそれぞれ物理的に単独に存在してもよく、二つ以上の手段が一つの手段に集積してもよい。上記集積した手段はハードウェアの方式に実現してもよく、ハードウェアにソフトウェアの機能手段を加える形式で実現してもよい。
【０１１７】
上記のソフトウェア機能手段の形式で実現した集積した手段は、一つのコンピューターの可読記憶媒体に記憶してもよい。上記ソフトウェア機能手段は一つの記憶媒体に記憶し、複数の命令を含み、一つのコンピューターデバイス（パーソナルコンピューター、サーバー、又はネットワークデバイスなど）又はプロセッサ（processor）が本発明の各実施例に記載の方法の一部のステップを含む。前記の記憶媒体は、Uディスク、ポータブルハードディスク、読み取り専用メモリ（Read-Only Memory、ROM）、ランダムアクセスメモリ（Random Access Memory、RAM）、ディスク又は光ディスク等のいろいろなプログラムコードを記憶できる媒体を含む。
【０１１８】
以上に記載したのはただ本発明の好ましい実施例であり、これで本発明を制限するものではなく、本発明の主旨及び原則の範囲で行ったいずれの修正、等価置換、改良などは全部本発明の保護範囲に含むべきである。
【図１ａ】
2016526224.tif 000003
【図１ｂ】
2016526224.tif 000004
【図１ｃ】
2016526224.tif 000005
【図１ｄ】
2016526224.tif 000006
【図１ｅ】
2016526224.tif 000007
【図２ａ】
2016526224.tif 000008
【図２ｂ】
2016526224.tif 000009
【図２ｃ】
2016526224.tif 000010
【図２ｄ】
2016526224.tif 000011
【図３】
2016526224.tif 000012
【図４】
2016526224.tif 000013
【図５】
2016526224.tif 000014
【図６】
2016526224.tif 000015
【図７】
2016526224.tif 000016
【国際調査報告】
2016526224.tif 000017
2016526224.tif 000018
2016526224.tif 000019
2016526224.tif 000020