JP2016526224A - 文法コンパイル方法、語義解析方法、及び装置 - Google Patents

文法コンパイル方法、語義解析方法、及び装置 Download PDF

Info

Publication number
JP2016526224A
JP2016526224A JP2016515634A JP2016515634A JP2016526224A JP 2016526224 A JP2016526224 A JP 2016526224A JP 2016515634 A JP2016515634 A JP 2016515634A JP 2016515634 A JP2016515634 A JP 2016515634A JP 2016526224 A JP2016526224 A JP 2016526224A
Authority
JP
Japan
Prior art keywords
grammar
function
exp
key
magic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016515634A
Other languages
English (en)
Other versions
JP6238494B2 (ja
Inventor
ワン、ユジュン
ジア、レイ
ワン、クワンルー
チアン、ツェンシャン
Original Assignee
バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド
バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド, バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド filed Critical バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド
Publication of JP2016526224A publication Critical patent/JP2016526224A/ja
Application granted granted Critical
Publication of JP6238494B2 publication Critical patent/JP6238494B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

本発明が提供する文法コンパイル方法、語義解析方法及び対応装置は、語義の常用の文句表現に従い、ロジック文法直観的言語LGMLに基づいて予め対応する文法記述ファイル及び品詞記述ファイルを定義し、前記文法記述ファイルで品詞、オペレータ及び関数によって常用の文句の記述を構成し、前記品詞記述ファイルは品詞の具体的な値を記述するに用い、前記文法記述ファイル及び品詞記述ファイルを、それぞれ予設順序の帰納方法によって文法記述ファイルの文法ツリー及び品詞記述ファイルの品詞ツリーを生成し、前記品詞ツリーを前記文法ツリーにおいて対応する品詞の位置に続いて引っ掛けて、前記語義の文法ツリーを形成して文法コンパイルを実現する。当該方式によって組み立てた語義の文法ツリーは、全文句マッチング、語義マッピングまたは全文句マッチング及び語義マッピングマッチングを組み合わせる方式に基づき語義分析を行う。

Description

本発明は、コンピューター応用技術分野に関し、特に、文法コンパイル方法、語義解析方法、及び装置に関する。
本願は、出願日が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に示すように形成する。
即ち、最後に形成した語義の文法ツリーにおいて、葉ノードは品詞記述ファイルにおける語彙項目又は引用した外部辞書であり、非葉ノードはオペレータ又は関数名称であり、非葉ノードのオペランドは当該非葉ノードの各サブツリーが示す内容である。
文法記述ファイルに2以上の&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関数の標記とそれに対応するマッピングテーブルの間には、一つの位置ポインティングが存在してもよい。
最後に生成した語義の文法ツリーにおいて、葉ノードは品詞記述ファイルにおける語彙項目又は引用した外部辞書であり、非葉ノードはオペレータ又は関数名称であり、非葉ノードのオペランドは当該非葉ノードの各サブツリーが示す内容である。
文法記述ファイルに2以上の&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)、ディスク又は光ディスク等のいろいろなプログラムコードを記憶できる媒体を含む。
以上に記載したのはただ本発明の好ましい実施例であり、これで本発明を制限するものではなく、本発明の主旨及び原則の範囲で行ったいずれの修正、等価置換、改良などは全部本発明の保護範囲に含むべきである。

Claims (28)

  1. 語義の常用の文句表現に従いロジック文法直観的言語LGMLに基づいて予め対応する文法記述ファイル及び品詞記述ファイルを定義し、前記文法記述ファイルで品詞、オペレータ及び関数によって常用の文句の記述を構成し、前記品詞記述ファイルは品詞の具体的な値を記述するに用い、
    前記文法記述ファイル及び品詞記述ファイルを、それぞれ予設順序の帰納方法によって文法記述ファイルの文法ツリー及び品詞記述ファイルの品詞ツリーを生成し、
    前記品詞ツリーを前記文法ツリーにおいて対応する品詞の位置に続いて引っ掛けて、前記語義の文法ツリーを形成する
    文法コンパイル方法。
  2. 前記品詞記述ファイルには語彙項目を含み、又は語彙項目を含む以外にさらにオペレータ及び関数における少なくとも一つを含んで各語彙項目の間の関係を記述する
    請求項1に記載の文法コンパイル方法。
  3. 前記オペレータは、
    二つ以上のオペランドの直列繋ぎを表すオペレータ+、
    二つ以上のオペランドの並列関係を表すオペレータ|、
    オペランドが無視できない組合せを形成したことを表すオペレータ()、
    オペランドが無視できる組合せを形成したことを表すオペレータ[]、
    文句の終了を表すオペレータ;、
    品詞記述ファイルにおける品詞の解釈関係を表すオペレータ:、
    外部辞書を引用したことを表わすオペレータ""における少なくとも一つを含む
    請求項1または2に記載の文法コンパイル方法。
  4. 前記文法記述ファイルにおける関数は、
    文法セグメント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である
    請求項1に記載の文法コンパイル方法。
  5. 前記品詞記述ファイルにおける関数は、
    文法セグメントEXPを最小にmin回、最大にmax回重複することを表す関数&repeat(EXP, min, max)、
    EXPをn回重複することを表す関数&repeat(EXP, n)、
    EXP1, EXP2,…を全部配列することを表す関数&perm(EXP1, EXP2, …)における少なくとも一つの関数を含む
    請求項2に記載の文法コンパイル方法。
  6. 前記語義の文法ツリーにおいて、葉ノードは品詞記述ファイルにおける語彙項目又は引用した外部辞書であり、非葉ノードはオペレータ又は関数名称であり、非葉ノードのオペランドは当該非葉ノードの各サブツリーが表す内容である
    請求項1に記載の文法コンパイル方法。
  7. 前記語義の文法ツリーにおいて前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)は非葉ノードとして標記し、前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルを記憶する
    請求項4に記載の文法コンパイル方法。
  8. 解析しようとするテキストを、請求項1、2、4、5、6、及び7のいずれかの一項に記載の文法コンパイル方法で得た文法ツリーで前記予設順序に従いマッチングを行い、前記解析しようとするテキストが前記文法ツリーと完全にマッチングすると、前記文法ツリーに対応する語義を解釈しようとするテキストの語義として確定する
    語義解析方法。
  9. 前記文法マッチング過程で、解析しようとするテキストにおけるあるテキストセグメントが前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーとマッチングすると、解析結果において前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である
    請求項7に記載の文法コンパイル方法。
  10. 解析しようとするテキストを請求項7に記載の文法コンパイル方法で得た文法ツリーで前記予設順序に従い前向き最大マッチングを行い、前記解析しようとするテキストに前記文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、前記文法ツリーに対応する語義を解釈しようとするテキストの語義として確定する
    語義解析方法。
  11. 解析結果でマッチングする関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である
    請求項10に記載の語義解析方法。
  12. 前記解析しようとするテキストに前記文法ツリーで予設したキー関数&magic(EXP, key, default, display)又はキー関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在する場合に、前記文法ツリーに対応する語義を前記解析しようとするテキストの語義として確定する
    請求項10に記載の語義解析方法。
  13. S1、解析しようとするテキストを、上記文法コンパイル方法で得た文法ツリーで予設順序に従いマッチングを行い、前記解析しようとするテキストが前記文法ツリーと完全にマッチングすると、前記文法ツリーに対応する語義を解釈しようとするテキストの語義として確定し、そうでないと、ステップS2を実行し、
    S2、前記解析しようとするテキストを、前記文法ツリーで前記予設順序に従い前向き最大マッチングを行い、前記解析しようとするテキストに前記文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、前記文法ツリーに対応する語義を前記解釈しようとするテキストの語義として確定する
    語義解析方法。
  14. 解析結果でマッチングする関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である
    請求項13に記載の語義解析方法。
  15. 語義に対応する文法記述ファイル及び品詞記述ファイルを記憶するファイル記憶手段と、前記文法記述ファイル及び品詞記述ファイルは語義の常用の文句表現に従いロジック文法直観的言語LGMLに基づいて予め定義したものであり、前記文法記述ファイルで品詞、オペレータ及び関数によって常用の文句の記述を構成し、前記品詞記述ファイルは品詞の具体的な値を記述するに用い、
    前記文法記述ファイル及び品詞記述ファイルをそれぞれ予設順序の帰納方法によって文法記述ファイルの文法ツリー及び品詞記述ファイルの品詞ツリーを生成し、前記品詞ツリーを前記文法ツリーにおいて対応する品詞の位置に続いて引っ掛けて、前記語義の文法ツリーを形成する文法ツリー生成手段とを含む
    文法コンパイル装置。
  16. 前記品詞記述ファイルには語彙項目を含み、又は語彙項目を含む以外にさらにオペレータ及び関数における少なくとも一つを含んで各語彙項目の間の関係を記述する
    請求項15に記載の文法コンパイル装置。
  17. 前記オペレータは、
    二つ以上のオペランドの直列繋ぎを表すオペレータ+、
    二つ以上のオペランドの並列関係を表すオペレータ|、
    オペランドが無視できない組合せを形成したことを表すオペレータ()、
    オペランドが無視できる組合せを形成したことを表すオペレータ[]、
    文句の終了を表すオペレータ;、
    品詞記述ファイルにおける品詞の解釈関係を表すオペレータ:、
    外部辞書を引用したことを表わすオペレータ""における少なくとも一つのオペレータを含む
    請求項15又は16に記載の文法コンパイル装置。
  18. 前記文法記述ファイルにおける関数は、
    文法セグメント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に記載の文法コンパイル装置。
  19. 前記品詞記述ファイルにおける関数は、
    文法セグメントEXPを最小にmin回、最大にmax回重複することを表す関数&repeat(EXP, min, max)、
    EXPをn回重複することを表す関数&repeat(EXP, n)、
    EXP1, EXP2,…を全部配列することを表す関数&perm(EXP1, EXP2, …)における少なくとも一つの関数を含む
    請求項16に記載の文法コンパイル装置。
  20. 前記語義の文法ツリーにおいて、葉ノードは品詞記述ファイルにおける語彙項目又は引用した外部辞書であり、非葉ノードはオペレータ又は関数名称であり、非葉ノードのオペランドは当該非葉ノードの各サブツリーが示す内容である
    請求項15に記載の文法コンパイル装置。
  21. 前記語義の文法ツリーにおいて前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)は非葉ノードとして標記し、前記ファイル記憶手段は、さらに前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルを記憶する
    請求項18に記載の文法コンパイル装置。
  22. 解析しようとするテキストを請求項15、16、18、19、20、及び21のいずれか一項に記載の文法コンパイル装置で得た文法ツリーで前記予設順序に従いマッチングを行い、全文句マッチング手段が前記解析しようとするテキストが前記文法ツリーに完全にマッチングすると確定すると、マッチング結果を結果確定手段に発送する前記全文句マッチング手段と、
    前記マッチング結果を受信した時、前記文法ツリーに対応する語義を前記解析しようとするテキストの語義として確定する結果確定手段とを含む
    語義解析装置。
  23. 前記文法マッチング過程で、解析しようとするテキストにおけるあるテキストセグメントが前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーとマッチングすると、結果確定手段で得た解析結果において前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である
    請求項21に記載の文法コンパイル装置。
  24. 解析しようとするテキストを請求項21に記載の文法コンパイル装置で得た文法ツリーで前記予設順序に従い前向きへ最大マッチングを行い、前記解析しようとするテキストに前記文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、マッチング結果を結果確定手段へ発送する語義マッピングマッチング手段と、
    前記マッチング結果を受信した時、前記文法ツリーに対応する語義を前記解析しようとするテキストの語義として確定する結果確定手段とを含む
    語義解析装置。
  25. 前記結果確定手段で得た解析結果において前記関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値が当該テキストセグメント又はマッピングテーブルでのdisplayの値である
    請求項24に記載の語義解析装置。
  26. 前記語義マッピングマッチング手段は、ただ前記解析しようとするテキストに前記文法ツリーで予設したキー関数&magic(EXP, key, default, display)又はキー関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在する時に、マッチング結果を前記結果確定手段へ発送する
    請求項24に記載の語義解析装置。
  27. 解析しようとするテキストを請求項21に記載の文法コンパイル装置で得た文法ツリーで前記予設順序に従いマッチングを行い、全文句マッチング手段が前記解析しようとするテキストが前記文法ツリーに完全にマッチングすると確定すると、マッチング結果を結果確定手段へ発送し、そうでないとき、語義マッピングマッチング手段をトリガーする前記全文句マッチング手段と、
    トリガーされると、前記解析しようとするテキストを前記文法ツリーで前記予設順序に従い前向き最大マッチングを行い、前記解析しようとするテキストに前記文法ツリーにおける関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)で標記したサブツリーにマッチングするテキストセグメントが存在すると、マッチング結果を結果確定手段へ発送する語義マッピングマッチング手段と、
    マッチング結果を受信した時、前記文法ツリーに対応する語義を前記解析しようとするテキストの語義として確定する結果確定手段とを含む
    語義解析装置。
  28. 前記結果確定手段が前記語義マッピングマッチング手段のマッチング結果を受信すると、解析結果でマッチングする関数&magic(EXP, key, default, display)又は関数&magic(EXP, key, default)に対応するマッピングテーブルでのkeyの値は、当該テキストセグメント又はマッピングテーブルでのdisplayの値である
    請求項27に記載の語義解析装置。
JP2016515634A 2013-05-28 2014-05-28 文法コンパイル方法、語義解析方法、及び装置 Active JP6238494B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310203987.2 2013-05-28
CN201310203987.2A CN103294666B (zh) 2013-05-28 2013-05-28 语法编译方法、语义解析方法以及对应装置
PCT/CN2014/078596 WO2014190901A1 (zh) 2013-05-28 2014-05-28 语法编译方法、语义解析方法、装置、计算机存储介质和设备

Publications (2)

Publication Number Publication Date
JP2016526224A true JP2016526224A (ja) 2016-09-01
JP6238494B2 JP6238494B2 (ja) 2017-11-29

Family

ID=49095560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016515634A Active JP6238494B2 (ja) 2013-05-28 2014-05-28 文法コンパイル方法、語義解析方法、及び装置

Country Status (5)

Country Link
US (1) US20160124936A1 (ja)
JP (1) JP6238494B2 (ja)
KR (1) KR101726667B1 (ja)
CN (1) CN103294666B (ja)
WO (1) WO2014190901A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294666B (zh) * 2013-05-28 2017-03-01 百度在线网络技术(北京)有限公司 语法编译方法、语义解析方法以及对应装置
US11100291B1 (en) 2015-03-13 2021-08-24 Soundhound, Inc. Semantic grammar extensibility within a software development framework
CN105912521A (zh) * 2015-12-25 2016-08-31 乐视致新电子科技(天津)有限公司 一种解析语音内容的方法及装置
CN106933832A (zh) * 2015-12-30 2017-07-07 中国科学院沈阳自动化研究所 一种油藏的数字字典的构建方法
CN106228983B (zh) * 2016-08-23 2018-08-24 北京谛听机器人科技有限公司 一种人机自然语言交互中的场景处理方法及系统
CN108399919A (zh) * 2017-02-06 2018-08-14 中兴通讯股份有限公司 一种语义识别方法和装置
US11106867B2 (en) * 2017-08-15 2021-08-31 Oracle International Corporation Techniques for document marker tracking
CN107704450B (zh) * 2017-10-13 2020-12-04 威盛电子股份有限公司 自然语言识别设备以及自然语言识别方法
CN109841210B (zh) * 2017-11-27 2024-02-20 西安中兴新软件有限责任公司 一种智能操控实现方法及装置、计算机可读存储介质
CN108021559B (zh) * 2018-02-05 2022-05-03 威盛电子股份有限公司 自然语言理解系统以及语意分析方法
CN108228191B (zh) * 2018-02-06 2022-01-25 威盛电子股份有限公司 语法编译系统以及语法编译方法
CN109254776B (zh) * 2018-09-29 2022-02-01 深圳市雷赛控制技术有限公司 多语言代码编译方法及编译器
CN109783806B (zh) * 2018-12-21 2023-05-02 众安信息技术服务有限公司 一种利用语义解析结构的文本匹配方法
CN110109676B (zh) * 2019-04-30 2023-10-17 努比亚技术有限公司 编译方法、终端及计算机可读存储介质
CN110109681B (zh) * 2019-05-08 2023-06-09 上海携程商务有限公司 不同平台间代码的转换方法及系统
CN110471666A (zh) * 2019-07-18 2019-11-19 五八有限公司 代码自动转换方法和装置、代码转换器及介质
CN110826314B (zh) * 2019-11-07 2023-08-22 中金智汇科技有限责任公司 一种规则解析方法、装置、电子设备及存储介质
KR20210061141A (ko) * 2019-11-19 2021-05-27 삼성전자주식회사 자연어 처리 방법 및 장치
CN110928550B (zh) * 2019-11-19 2023-11-24 上海工程技术大学 基于关键词Trie树消除GCC抽象语法树冗余的方法
CN110968634B (zh) * 2019-12-03 2024-02-02 普元信息技术股份有限公司 大数据场景下基于xml描述实现利用可编程函数式进行etl转换处理的方法
CN112114812B (zh) * 2020-08-26 2022-09-27 中国船舶重工集团公司第七一六研究所 一种应用于工业机器人编程语言的语法检查方法
CN112256837B (zh) * 2020-11-05 2022-07-12 思必驰科技股份有限公司 语义解析方法和装置
CN112287663B (zh) * 2020-11-25 2022-08-12 深圳平安智汇企业信息管理有限公司 一种文本解析方法、设备、终端及存储介质
CN112908488B (zh) * 2021-02-09 2022-03-11 北京药明津石医药科技有限公司 事件识别方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559693A (en) * 1991-06-28 1996-09-24 Digital Equipment Corporation Method and apparatus for efficient morphological text analysis using a high-level language for compact specification of inflectional paradigms
JP2001014311A (ja) * 1999-07-01 2001-01-19 Hitachi Ltd 地名表現方法、地名文字列認識方法及び装置
JP2008146150A (ja) * 2006-12-06 2008-06-26 Honda Motor Co Ltd 言語理解装置、言語理解方法、及び、コンピュータプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007102530A (ja) * 2005-10-05 2007-04-19 Advanced Telecommunication Research Institute International 特定言語の文法を生成する装置
KR101092363B1 (ko) * 2008-12-22 2011-12-09 한국전자통신연구원 중한자동번역을 위한 한국어 연결어미 생성 방법 및 그 장치
CN101814065B (zh) * 2009-02-23 2014-07-30 富士通株式会社 句法分析装置及句法分析方法
US8892419B2 (en) * 2012-04-10 2014-11-18 Artificial Solutions Iberia SL System and methods for semiautomatic generation and tuning of natural language interaction applications
CN103294666B (zh) * 2013-05-28 2017-03-01 百度在线网络技术(北京)有限公司 语法编译方法、语义解析方法以及对应装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5559693A (en) * 1991-06-28 1996-09-24 Digital Equipment Corporation Method and apparatus for efficient morphological text analysis using a high-level language for compact specification of inflectional paradigms
JP2001014311A (ja) * 1999-07-01 2001-01-19 Hitachi Ltd 地名表現方法、地名文字列認識方法及び装置
JP2008146150A (ja) * 2006-12-06 2008-06-26 Honda Motor Co Ltd 言語理解装置、言語理解方法、及び、コンピュータプログラム

Also Published As

Publication number Publication date
KR101726667B1 (ko) 2017-04-13
CN103294666A (zh) 2013-09-11
JP6238494B2 (ja) 2017-11-29
US20160124936A1 (en) 2016-05-05
CN103294666B (zh) 2017-03-01
KR20160004325A (ko) 2016-01-12
WO2014190901A1 (zh) 2014-12-04

Similar Documents

Publication Publication Date Title
JP2016526224A (ja) 文法コンパイル方法、語義解析方法、及び装置
CN108984529B (zh) 实时庭审语音识别自动纠错方法、存储介质及计算装置
US8117023B2 (en) Language understanding apparatus, language understanding method, and computer program
CN110121705B (zh) 将语用学原理应用于与可视分析交互的系统和方法
CN104252533B (zh) 搜索方法和搜索装置
US6782505B1 (en) Method and system for generating structured data from semi-structured data sources
CN105512105B (zh) 语义解析方法和装置
WO2017177901A1 (zh) 一种语义匹配方法及智能设备
US10460028B1 (en) Syntactic graph traversal for recognition of inferred clauses within natural language inputs
US10896222B1 (en) Subject-specific data set for named entity resolution
US10997223B1 (en) Subject-specific data set for named entity resolution
WO2015135455A1 (en) Natural language question answering method and apparatus
Marginean Question answering over biomedical linked data with grammatical framework
US20100057463A1 (en) System and Method for Generating Natural Language Phrases From User Utterances in Dialog Systems
US20060212859A1 (en) System and method for generating XML-based language parser and writer
US8812294B2 (en) Translating phrases from one language into another using an order-based set of declarative rules
Heck et al. Exploiting the semantic web for unsupervised spoken language understanding
US11301502B1 (en) Parsing natural language queries without retraining
JP2009545077A (ja) 利用可能なソースデータ及びローカライゼーションの再利用
Dinarelli et al. Discriminative reranking for spoken language understanding
CN104485106B (zh) 语音识别方法、语音识别系统和语音识别设备
GB2604317A (en) Dialogue management
Gao et al. A hybrid semantic parsing approach for tabular data analysis
US11900072B1 (en) Quick lookup for speech translation
KR100631086B1 (ko) Xml을 이용한 텍스트 정규화 방법 및 장치

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171030

R150 Certificate of patent or registration of utility model

Ref document number: 6238494

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250