あなたが解決できる質問と回答システム。

29.06.2020 サウンドデバイス

質問応答システム

アナトリー・ニキチン、パベル・ライコフ

1. はじめに。 2

1.1 問題点..3

2.QA制度スタート4

2.1 三項式。 5

2.2 S ルール。 6

2.3 辞書。 6

2.6 自然言語による注釈。 8

2.7 結論。 9

3. 自然言語分析のための統計的手法。 10

3.1 はじめに。 10

3.2 文中の単語の品詞の決定。 十一

3.3 文から解析木を作成する。 14

3.4 PCFG に基づいた独自の解析ルールの作成。 ツリーバンクの文法。 「マルコフ文法」 16

3.5 字句パーサー..16

1. はじめに

情報技術の急速な発展と、グローバル インターネット上で利用できる情報量の継続的な増加により、データへの効果的な検索とアクセスの問題はますます重要になっています。 キーワードを使用した標準的な検索では、多くの場合、望ましい結果が得られません。これは、このアプローチではクエリ単語間の言語的および意味的関係が考慮されていないためです。 そのため、現在、自然言語処理 (NLP) 技術とそれに基づく質問応答システム (QAS) の開発が活発に行われています。

質問応答システムは、自然言語インターフェイスを使用する、検索システム、参照システム、およびインテリジェント システムのハイブリッドである情報システムです。 このようなシステムへの入力は自然言語で作成されたリクエストであり、その後、NLP メソッドを使用して処理され、自然言語応答が生成されます。 質問に対する答えを見つけるタスクの基本的なアプローチとして、通常、次のスキームが使用されます。まず、システムは何らかの方法で (たとえば、キーワードによる検索によって)、提示された質問に関連する情報を含むドキュメントを選択します。次に、それらをフィルタリングして、回答が含まれている可能性のある個々のテキスト断片を強調表示します。その後、生成モジュールが選択された断片から質問に対する回答を合成します。

QA システムは情報源として、ローカル ストレージ、グローバル ネットワーク、またはその両方を同時に使用します。 膨大で増え続ける情報リソースへのアクセスなど、インターネットを使用することの明白な利点にもかかわらず、このアプローチには重大な問題があります。インターネット上の情報は構造化されておらず、情報を正しく検索するには、いわゆる「ラッパー」、つまりさまざまな情報リソースへの統合アクセスを提供するサブルーチンです。

最新の QA システムは、一般 (オープン ドメイン) と特殊 (クローズド ドメイン) に分かれています。 一般的なシステム、つまり任意の質問の処理に重点を置いたシステムは、かなり複雑なアーキテクチャを持っていますが、それにもかかわらず、実際には、結果がかなり弱く、回答の精度も低くなります。 しかし、一般に、このようなシステムでは、回答の正確さよりも知識の網羅度の方が重要です。 逆に、特定の主題分野に関連する質問に回答する特殊なシステムでは、回答の正確さが重要な指標となることがよくあります (間違った回答をするよりも、質問にまったく回答しない方が良いです)。

1.1 問題点

2002 年、研究者グループは質問応答システムの分野で研究計画を作成しました。 次の質問を検討することが提案されました。

質問の種類。 質問が異なれば、答えを見つける方法も異なります。 したがって、考えられる質問の種類の方法論的リストを作成または改善する必要があります。 質問を処理しています。同じ情報をさまざまな方法でリクエストできます。 文のセマンティクス(意味)を理解して処理するための効果的な方法を作成することが必要です。 使用されているスタイル、単語、構文関係、慣用句に関係なく、プログラムが意味が同等の質問を認識することが重要です。 QA システムには、複雑な質問をいくつかの単純な質問に分割し、文脈に応じたフレーズを正しく解釈して、おそらく対話中にユーザーと明確にしてもらいたいと考えています。 文脈に応じた質問。質問は特定の文脈で行われます。 コンテキストは、クエリを明確にしたり、曖昧さを解決したり、一連の質問を通じてユーザーの思考を追跡したりすることができます。 QA システムの知識のソース。質問に答える前に、利用可能なテキスト データベースについて問い合わせることをお勧めします。 どのようなテキスト処理方法を使用しても、データベースにない場合、正しい答えは見つかりません。 応答を強調表示します。この手順が正しく実行されるかどうかは、質問の複雑さ、その種類、コンテキスト、利用可能なテキストの品質、検索方法など、膨大な数の要素に依存します。 したがって、テキスト処理方法の研究には細心の注意を払って取り組む必要があり、この問題には特別な注意が必要です。 答えの定式化。答えはできるだけ自然なものであるべきです。 場合によっては、単純な 放電それは本文から。 たとえば、名前 (人の名前、楽器の名前、病気)、数量 (為替レート、長さ、サイズ)、または日付 (「イワン雷帝はいつ生まれましたか?」) が必要な場合は、直接答えるだけで十分です。 ただし、複雑なクエリを処理する必要がある場合があり、ここでは特別なアルゴリズムが必要になります。 回答を結合するさまざまな文書から。 質問に対するリアルタイムの回答。私たちは、質問の複雑さや曖昧さ、ドキュメント ベースのサイズや膨大さに関係なく、リポジトリ内の回答を数秒で見つけられるシステムを作成する必要があります。 多言語クエリ。他言語での作業および検索のためのシステムの開発(自動翻訳を含む)。 インタラクティブ性。多くの場合、QA システムが回答として提供する情報は不完全です。 システムが質問の種類を誤って識別したか、誤って「理解」した可能性があります。 この場合、ユーザーは自分のリクエストを再定式化するだけでなく、対話を使用してプログラムに「説明」したい場合もあります。 推論(推論)の仕組み。ユーザーの中には、利用可能なテキストを超えた回答を受け取りたいと考えている人もいます。 そのためには、ほとんどの分野に共通する知識を QA システムに追加するとともに、新しい知識を自動的に出力する手段を追加する必要があります。 QA システムのユーザー プロファイル。ユーザーの関心分野、話し方や推論、デフォルトの事実などのユーザーに関する情報は、システムのパフォーマンスを大幅に向上させる可能性があります。

2.QA制度スタート

スタートQAシステムは、英語による任意の質問に応答する一般質問応答システムの一例である。 これは、ボリス・カッツの指導の下、MIT 人工知能研究所で開発されています。 このシステムは 1993 年に初めてインターネット上に登場し、現在は http://start から入手できます。 サイル。 ミット。 教育。 質問に対する答えを検索するとき、システムはローカルの知識ベースとインターネット上の多数の情報リソースの両方を使用します。

システムはさまざまな種類の質問に回答できます。質問は次のカテゴリに分類できます。

定義に関する質問 (フラクタルとは何ですか?)

事実に関する質問 (電信を発明したのは誰ですか?)

人間関係に関する質問 (ロシアとアメリカではどちらが大きい国ですか?)

クエリのリスト (アレクサンダー・プーシキンの詩をいくつか見せてください)

システムの中核はナレッジベースです。 パーサーとジェネレーターの 2 つのモジュールがあり、それぞれ英語のテキストを特別な形式 (T 式) に変換してナレッジ ベースに保存したり、逆に T のセットから英語のテキストを生成したりできます。 -表現。

2.1 三項式

三項式 (T 式) は、次の形式の式です。<объект отношение субъект>。 この場合、他の T 式は、一部の T 式のオブジェクト/サブジェクトとして機能できます。 形容詞、所有代名詞、前置詞、およびその他の文の部分は、追加の T 式を作成するために使用されます。 文の残りの属性 (冠詞、動詞時制、副詞、助動詞、句読点など) は、T 式に関連付けられた特別な履歴構造に保存されます。

たとえば、ある文 請求書驚いたヒラリー彼の答え"パーサーを通過すると、次の 2 つの三項式に変換されます。 << 請求書驚きヒラリー>答え>そして < 答え関連している-ビル>。サプライズ動詞の時制に関する情報は、History 構造に保存されます。

ナレッジ ベースに上記の 2 つの T 式があるシステムに次の質問をしてみましょう。 した請求書驚き彼の答え?"問題は次の順序で処理されます。

1. Question Analyzer は、英語で質問を作成するときに使用される反転を逆にして、質問をテンプレート タイプに変換します。 請求書驚いた 彼の答え?".

2. パーサーは文を 2 つの T 式に変換します。 <誰>答え付き>そして

3. 結果のテンプレートは、ナレッジ ベースにある T 式と照合されます。 一致が見つかった場合 = ヒラリー

4. ジェネレーターは T 式を変換します <> 答え付き>そして 文に変換して答えとして返します。

「ビルは彼の答えに驚きましたか?」などの質問に対する答えの検索も同様の方法で実行されます。 この場合のみ、テンプレートを使用した検索ではなく、データベース内の式との完全一致が検索されます。

したがって、T 式は単語間の意味関係に関する情報をある程度保持します。 2002 年に、T 式に基づいて検索を整理することの有効性をキーワード検索と比較して評価する一連の実験が実施されました。 パーサーがさまざまな動物種の説明を含む百科事典を処理した後、システムは「カエルは何を食べるのですか?」という質問をしました。 (「カエルは何を食べるの?」) 上記の検索方法では 6 つの回答が返され、そのうち 3 つが正解でした。 ソース文書のキーワードベースの検索では、同じ 3 つの正解を含む 33 件の結果が返されましたが、さらにランダムな単語の一致もありました。 カエルそして 食べる(たとえば、「カエルを食べるのは誰ですか?」という質問に対する答え)。 したがって、T 式に基づく検索では、不正解が 10 分の 1 に減少しました。

2.2 S ルール

T 式に加えて、ナレッジ ベースには S ルールのリストも保存されます。 これらは、T 式を同等の形式に変換するための規則です。 実際、自然言語では同じ考えをさまざまな方法で表現できます。 たとえば、文章 「ビルの答えはヒラリーを驚かせた」そして 「ビルはその答えでヒラリーを驚かせた」は同等です。 ただし、これらの文をパーサーに渡すときに得られる T 式は異なります。 , そして <答え付き>、 。 そこでSルールが導入される 驚き :

<<n1驚き n2> と n3>, <n3関連する n1> = <n3驚き n2>, <n3関連する n1>,

どこ名詞

このような規則を使用すると、いわゆる言語のバリエーション、つまり言語構造の等価な変換を記述することができます。

語彙(同義語)

形態的(同根語)

構文 (倒置法、能動態/受動態など)

さらに、S ルールは論理的な意味を記述することができます。 例えば:

<< 売る B >へ C > = <<C 買う B >から >

2.3 辞書

多くの S ルールは単語のグループに適用されます。 たとえば、前述の S ルール 驚き は、動詞驚きだけでなく、いわゆる感情反応動詞のグループのあらゆる動詞に対しても実行されます。 S ルールを生成しないようにするために、英語のすべての単語を保存する辞書が作成されました。 各単語は、それが属するグループのリストに関連付けられます。 今ならSルール 驚き さらに抽象化することもできます。

<<n1v n2> と n3>, <n3関連する n1> = <n3 vn2>, <n3関連する n1>,

どこ 名詞, v感情反応動詞

2.4 ワードネット

を除外する 辞書 、さまざまな構文的および意味論的な特性に従ってグループ化された単語が保存されます。Start システムは、単語の意味論を処理するための別の強力なツールである辞書を使用します。 ワードネット 。 この辞書の基本単位は概念です シンセット。 シンセットとは、ある意味、意味です。 異なる単語は同じ意味 (同義語) を持つことができるため、1 つの構文セットに属し、逆に、1 つの単語が複数の意味を持つ、つまり複数の構文セットに属することができます。 さらに、WordNet 辞書では、シンセット間の関係が紹介されています。 たとえば、名詞間には次のような関係が存在します。

- 上位語 : Y上位名称 バツ、 もし バツ- バラエティ Y(フルーツ– 上位名 )

- 仮名 : Y下名 バツ、 もし Y- バラエティ バツ(– 仮名 フルーツ)

- ランク的には同等 : バツそして Y ランク的には同等、共通の上位概念 ( そして りんご– 同等のランク)

- ゴロニム : Yホロニム バツ、 もし バツ- 一部 Y(– ホロニム 骨格)

- メロニム : Yメロニム バツ、 もし Y– パート X ( – メロニム )

したがって、WordNet 辞書は、一般 - 特定と部分の形式の意味間の関係を記述します。

WordNet は、ナレッジ ベース内で一致するものを検索するときに使用されます。 たとえば、T 式が Base に保存されている場合、 < できる飛ぶ> WordNet 辞書では次のように定義されています。 カナリア下名 。 質問してみましょう できるカナリア飛ぶ?。 パーサーはこの質問を式に変換します。 < カナリアできる飛ぶ>。 データベース内で一致するものが見つからない場合、Start は WordNet を使用して、より一般的な質問に対する答えを見つけようとします。 できる飛ぶ?この質問には答えられます はい、そこから、それを考慮すると カナリア- バラエティ スタートは次のように結論づけます カナリアできる飛ぶ".

2.5 オムニベース

「ベートーベンはいつ亡くなったのですか?」などの事実に関する質問への答えを見つけるため。 または「イギリスの首都はどこですか?」 開始はベースを使用します オムニベース。 このデータベースは、「オブジェクト-プロパティ-値」という異なる情報ストレージ モデルを使用します。 たとえば情報 「フェデリコ・フェリーニはラ・ストラーダの監督です」 データベースに保存されます オムニベースとして ラ・ストラーダ – 監督 – フェデリコ・フェリーニ 。 ここ ストラーダ- オブジェクト、 監督– 財産、および フェデリコフェリーニ– このプロパティの値。 このデータ モデルを使用すると、必要な情報の検索が非常に迅速かつ効率的に行われます。

情報を検索するには オムニベースインターネットからの多数の外部データ ソース (Wikipedia、Google、インターネット ムービー データベースなど) を使用します。この場合、データは、いわゆるラッパー (外部データベースへのアクセスを提供するモジュール) を通じて外部ソースから抽出されます。 「オブジェクト」タイプのクエリ -property」。 特定のオブジェクトに関する情報が保存されているソースを特定するには、 オムニベース用途 オブジェクトカタログ、各オブジェクトがデータ ソースに関連付けられています。 たとえば、オブジェクト ストラーダベースに相当する imdb-映画(インターネット ムービー データベース)。 探索する拠点を決めたら、 オムニベースこのデータベースのラッパーにリクエストを送信します: ( ストラーダ, 監督) 応答を受け取ります フレデリコフェリーニ.

2.6 自然言語の注釈

自然音声の機械分析の問題は非常に複雑です。 したがって、質問応答システムの開発者は、この問題を 2 つの側面から解決することを提案しています。1 つは、コンピュータに言語を「理解する」ように教えることで自然言語処理方法を改善することですが、もう 1 つは、テキストを作成しようとすることです。コンピュータにとってより理解しやすい。 つまり、情報リソースに対して自然言語でアノテーションをコンパイルすることが提案されています。

この場合、テキストだけでなく、画像、ビデオ、オーディオ記録などのさまざまなマルチメディア情報の検索を効果的に組織することができます。 Start システムでは、注釈は次のように使用されます。ナレッジ ベースに情報を追加するとき、パーサーはその注釈のみを処理し、生成された T 式にソース リソースへのリンクを添付します。

アノテーションの実装は、各リソースに添付される RDF (リソース記述フレームワーク) 記述を通じて行われます。 RDF 言語は XML 形式に基づいています。 この言語の説明は非常に広範囲にわたるため、地理情報が保存されている特定のデータベースの RDF 記述の例にのみ限定します。 パラメータ化されたアノテーションがこのベースにアタッチされます " 多くの人々ライブ? s " そして " 人口? s " 、および応答テンプレート: 「の人口は、 ?s?o" 、 どこ ? ああベースにアクセスしてプロパティを取得することを示します 人口オブジェクトのところで ? s。 このような注釈を処理するとき、パーサーは 2 つの質問テンプレートと回答テンプレートへのリンクを保存します。 ユーザー リクエストの実行時に、Start がナレッジ ベース内で質問テンプレートとの一致を見つけた場合、アノテーションの取得元である外部リソースに連絡し、適切な応答が生成されます。

さらに、パラメータ化された注釈を使用すると、質問のクラス全体に対する回答の検索パターンを記述することができます。 たとえば、「アフリカで最も面積が大きい国はどこですか?」などの質問です。 または「ヨーロッパで乳児死亡率が最も低い国はどこですか?」 1 つのテンプレートに該当します。「どの国にあるのか」 $地域 最大のものを持っています $属性 」 さらに、注釈は、そのような質問に対する答えを見つけるための一般的なアルゴリズムを説明します。

いくつかの質問は複数の質問から構成されています。 たとえば、「カナダの海岸線はロシアの海岸線より長いですか?」という質問に答えるには、 まず、カナダとロシアの海岸線の長さを計算し、次に得られた値を比較して答えを生成する必要があります。 したがって、この種の質問については、補助的な質問をするなど、答えを見つけるための計画を記述することができます。

2.7 結論

Start 質問回答システムは、質問の種類に応じて、差別化されたアプローチを使用して回答を見つけます。 これにより、多数の一般的な質問に対して比較的良い結果が得られます。

基礎として使用されるナレッジ ベースと 3 項表現は、情報を提示するための成功したモデルです。これは、一方では単語間の意味論的なつながりをある程度保持し、他方では検索を効果的に実装するには十分シンプルです。そしてデータベースを編集します。

注釈を使用すると、ユニバーサル自然言語インターフェイスを使用してインターネット情報リソースへのプログラムによるアクセスを整理できます。 また、オムニベースなどの追加の構造を使用すると、特定の種類の質問に対する答えを見つける効率を高めることができます。

最後に、さまざまな辞書と言語モジュールは、自然言語の意味論的特徴をある程度モデル化し、より複雑なクエリを処理できます。 このような辞書を編纂する作業や、質問応答システムの開発に関連する他の問題には、コンピュータ サイエンスの分野だけでなく、言語学者や文献学者の専門家の関与が必然的に必要になります。

3. 自然言語解析のための統計手法

3.1 はじめに

提案を分析するプロセスを考えてみましょう。 私たちのタスクは、各文の解析ツリーをコンパイルすることです。 ロシア語は比較的複雑であり、この主題に関する文献や科学的研究が不足しているため、以下では英語の例を検討します。 以下はそのような分析の例です。

図 1 「犬が食べた」というフレーズの解析木

図 1 では、頂点 (det、名詞、np など) は文の一部の論理的な組み合わせを表します。 たとえば、np – 名詞句は、このツリー ノードが名詞の意味を持つ文の部分を担当することを意味します。 どのようなフレーズでも、たとえそのような単純なフレーズであっても、同じフレーズに異なる意味を与えるという点で異なる複数の解析ツリーが存在する可能性があることに注意してください。 たとえば、「犬と一緒に肉を食べました」と言うことができます。 このような文から、まったく異なる 2 つの解析木が得られます。 あるケースでは、犬と一緒に肉を食べたことが判明し、もう一つのケースでは、犬の内臓で薄めたある種の肉を食べたことが判明した。 最も驚くべきことは、そのような「素晴らしい」例が英語文学のいたるところに見られるので、それらに満足する必要があるということです。 このような不条理を避けるには、パーサーを最大限に支援する別のパーサーを使用する必要があります。 この作業では、解析ツリーを構築するときにそれ自体が構文上の接続を考慮するパーサーを構築します。

3.2 文中の単語の品詞の決定

英語では、この部分のタスクは品詞タグ付けのように聞こえ、NLP (自然言語処理) などの現代科学の分野の多くのサブタスクの 1 つです。 一般に、NLP は、コンピューターが自然言語でテキストを理解できるようにすることを目的としています。 これらの問題は現在広く遭遇しており、効果的な解決策が強く求められています。 もちろん、プログラムが物理学の教科書を「読んだ」上で、「これこれの実験で半導体が加熱される理由は何ですか?」のような質問に独自に回答できれば素晴らしいでしょう。 ここで別の困難がすぐにわかります。教科書を読んだ後でも、プログラムはユーザーの質問を理解し、できれば独自の質問を生成できなければなりません(一部の怠惰な教師の夢)。

すでに提起された質問に戻りましょう。「文中の単語の品詞をどのように判断するか?」

対義語" href="/text/category/antonimi/" rel="bookmark">対義語など。統計的なアプローチを検討しているため、各単語について、それが名詞、形容詞などである確率を考慮します。 d. 図 2 では、すでに手動で分析されたテスト テキストに基づいて、このような確率テーブルを構築できます。このアプローチを使用して単語の品詞が決定されると、「できる」さえも表示されます。ほとんどの場合、これは法助動詞ですが、場合によっては名詞であることもあります。この方法は、その単純さと明白な欠点にもかかわらず、常に「can」を法助動詞として考慮することがわかります。平均すると、単語の 90% が正しいと認識されます。得られた結果を形式化して、このアルゴリズム中に最大化する必要がある積を記述します。

ここでは次の表記法が導入されています。

    t – タグ (det、名詞、…) w – テキスト内の単語 (can、will...) p(t | w) – タグ t が単語 w に対応する確率

以前のモデルの欠点を考慮して、たとえば統計によれば、形容詞の後に別の形容詞または名詞が存在するという事実を考慮した新しいモデルが作成されました。 他のすべての統計と同様に、これはいくつかの例から取得され、初期統​​計がない場合は考慮されないことに注意してください。 この提案に基づいて、次の式が導き出されます。

    p(w | t) – 単語 w がタグ t に対応する確率 p(t1 | t2) – t1 が t2 の後に来る確率

提案された式からわかるように、単語がタグに一致し、タグが前のタグに一致するようにタグを選択しようとしています。 この方法は前の方法よりも良い結果を示します。これはごく自然なことですが、たとえば、「can」を法助動詞としてではなく名詞として認識します。

タグのセットが文に対応する確率を計算するために構築されたモデルは、結局のところ、「隠れマルコフ モデル」として解釈できることがわかります。

有限状態マシンのようなものが得られます。 それでは入手方法を説明していきます。 頂点は品詞です。 頂点のペア (単語、確率) は、特定の品詞に割り当てられた単語がまさにこれである確率を示します。たとえば、頂点「det」と単語「a」の場合、これは、テストテキストからランダムに抽出された記事が「a」になります。 トランジションは、ある品詞の後に別の品詞が続く可能性を示します。 たとえば、記事が見つかった場合、2 つの記事が連続して表示される確率は 0.0016 に等しくなります。

私たちの仕事は、そのようなモデルでエッジと頂点の数値の積が最大になるパスを見つけることです。 このような問題に対する解決策は存在しますが、この問題はこの作業の範囲を超えているため、ここでは詳しく説明しません。 頂点の数が線形の時間内でこの問題を解決するアルゴリズムがあるとだけ言っておきましょう。 既存の分類に従って、「標準的な統計的タガー」を取得したことを付け加えましょう。

次に、タグを定義する別のアプローチを考えてみましょう。 それは変革スキームと呼ばれます。 それは、テスト文に取り組むときに、最初に簡単なアルゴリズムが適用され、次にシステムが次の形式のルールをすべて考慮するという事実にあります。「前の単語のタグが Z の場合、単語のタグ X をタグ Y に変更する」 」 このようなルールの総数はキューブ内のタグの数になりますが、これは比較的少数です。 したがって、各ステップでそのようなルールを適用しようとします。その後、正しく特定された品詞の数が増加すると、そのルールは最初のステップで最良のルールのタイトルの候補になります。 次に、最適なルールが選択され、「良い」ルールのリストに追加されます。 これを数回行います。 テストシステムから文に対するタグシステムの確率を「よく」改善するN個のルールを取得します。 次に、任意の文そのものを解析する際には、簡単なアルゴリズムを適用した上で、あらかじめ用意されたルールを利用します。 このアルゴリズムの主な利点の 1 つは速度です。 HMM を使用したアルゴリズムが 1,200 ワード/秒であるのに対し、これは 11,000 ワード/秒です。

結論として、これまでのところ、私たちは大規模な初期基地の存在を想定していることを付け加えておきたいと思います。 そのようなものが存在しない場合、HMM トレーニングは大幅な改善にはつながりません (効果は 90%)。 一方、TS (変換スキーム) を使用すると 97% に到達できます。 効率は、テスト テキスト上で正しく識別されたタグの数として測定されることを思い出してください。

3.3 文から解析木を作成する

図4 「見知らぬ人はフォークでドーナツを食べた」という文の分析。

このセクションのタスクは、図に示されているものと同様の解析ツリーを構築することです。 4. インターネット上には、初期データベースからの対応する提案に対してすでに作成されたツリーの豊富なコレクションがあることにすぐに注目してください。 このシステムの詳細については、Web サイトをご覧ください。 パーサーのチェックの問題についてすぐに説明しましょう。 単純に文を入力として与え、結果のツリーに一致があるかどうかをチェックします。 これはいくつかの方法で実行できますが、この作業では、すでに提案されている方法の 1 つを使用します。 ツリー空間では、精度とメモリという 2 つの指標を導入します。 精度は、正しく識別された非終端頂点の数をその総数で割ったものとして定義されます。 メモリは、正しく見つかった頂点の数をデータベース内の同じ文の非終端の数で割ったものと等しくなります。 ツリーの構築に最も単純なアプローチを適用すると、両方のメトリクスで 75% の効率がすぐに得られると言われています。 ただし、最新のパーサーは 87 ~ 88% の効率に達する可能性があります (以下、特に明記しない限り、効率は両方の指標で参照されます)。

タスクを 3 つの主な段階に分割しましょう。

    適用するルールを見つける ルールに確率を割り当てる 最も可能性の高いルールを見つける

この問題を解決する最も簡単なメカニズムの 1 つは、「確率的文脈自由文法」 (PCFG) です。 この概念を理解しやすくする文法の例を見てみましょう。

    sp → np vp (1.0) vp → 動詞 np (0.8) vp → 動詞 np np (0.2) np → det 名詞 (0.5) np → 名詞 (0.3) np → det 名詞 名詞 (0.15) np → np np (0.05)

ここには、対応する頂点を解析するためのルールが記述されており、各ルールにはその適用の確率があります。 したがって、木「π」がその文「s」と一致する確率を計算できます。

margin-top:0cm" type="disc"> s – 最初の文 π – 取得したツリー c – ツリーの内部頂点を通る r(c) – c に r を使用する確率

正確なアルゴリズムについては説明しません。PCFG を使用して長さ N のすべての解析ツリーを反復処理するには N の 3 乗時間がかかることだけを述べます。 残念ながら、PCFG 自体は「優れた」統計パーサーを生成しないため、PCFG は広く使用されていません。

3.4 PCFG に基づいた独自の解析ルールの作成。 ツリーバンクの文法。 「マルコフ文法」

提案を解析するために解決する必要がある主なタスクを考えてみましょう。

PCFG の形式で独自の文法を構築します (私たちの提案では、この文法に少なくとも 1 つの結論があることが望ましいです)。 与えられたルールを文に適用し、一部またはすべての可能な解析ツリーを取得するパーサー。 方程式 (1) に最適なツリーを見つける能力。

最後の 2 つの問題の概要は前のパートで説明したので、ここでやめましょう。

最初の点について。 まず、それに対する簡単な解決策を紹介します。 解析ツリーの既製のコレクションがすでにあるとします。 次に、これらの各ツリーを処理して、特定のツリー内での展開方法に基づいて、各非終端頂点から単純にルールを作成します。 この後、そのようなルールがすでに存在する場合は、その統計パラメータを 1 増やします。存在しない場合は、このパラメータが 1 に等しい新しいルールを文法に追加します。すべてのテスト ツリーを処理した後、次のようにします。各ルールが適用される確率が 1 以下になるように正規化を実行します。このようなモデルの効率は 75% です。 このようなモデルは「ツリーバンク文法」と呼ばれます。

ここで、新しいルールをその場で発明できるようにするアプローチについて少し説明しましょう。 これを行うには、テスト ツリーに基づいて、次の値 – p(t1 | f, t2) の統計を構築します。 フォーム「f」を展開したときにタグ「t2」の後にタグ「t1」が出現する確率を意味します。 たとえば、p(adj | np, det) は、「名詞句」(np の意訳)を展開して冠詞に遭遇した場合に、形容詞の後に冠詞が続く確率を意味します。 これに基づいて、ある頂点にルールが正しく適用される確率については、次の式を作成できます。

3.5 字句パーサー

この部分の主なアイデアは、モデルの効率を向上させるためにツリーの構造を変更することです。 ここで、上で示したように解析ツリーを構築するだけでなく、さらに、各頂点を語彙単位として最もよく特徴付ける単語を各頂点に割り当てます。 頂点「c」については、そのようなラインを head(c) と表します。 Head(c) は、「c」の子に特定の関数を適用することと、「c」が「開かれた」ルールとして定義されます。 一般に、このヘッドを構築するとき、いくつかの単語が互いに頻繁に出現することを考慮に入れるため、そのような統計があれば、一部の文の真実性を解析する確率を向上させることができることがわかります。 たとえば、「8 月の商品貿易赤字」という文には 4 つの名詞が連続しているため、以前のモデルを使用すると、この文を正しく解析できる可能性は非常に低くなります。 しかし、「赤字」がこの「np」の主要部分であり、テスト テキストで「赤字」と他の単語が同時に含まれる表現に遭遇したという事実は、解析ツリーを正しくコンパイルするのに役立ちます。 ここで、式を使用して上記を形式化してみましょう。

    p(r | h) は、ルール r が指定された h を持つノードに適用される確率です。 p(h | m, t) – そのような h が、ヘッド = m およびタグ t を持つ頂点の子である確率。

上記の式の形式がより明確になる表を提示しましょう。

h(c) = 「赤字」

ここでは条件付き確率の概念が積極的に使用されています。 head(c) = "赤字" と仮定すると、ツリー "c" の一番上の単語が "8 月" である確率が高くなるというだけです。 実際、ケースをより具体的にして、「rule = np → det 固有名詞 noun noun noun」のような非常にまれなルールがかなり高い確率で発生し、非常に複雑なテキストを処理できるようにしたいと考えています。 この場合、適用したいルールが最初のルールのコレクションに見つからなくても問題ありません。

3.6 結論

統計的アプローチにより、多くの NLP 問題を解決できるようになり、数学言語学の中で非常に新しく、急速に発展している分野の 1 つです。 この作業では、基本的な概念と用語のみが考慮されているため、このトピックに関する特定の研究を読む際には読者が自由に選択できます。 ロシア語を話す読者にとって残念なことに、ロシアではこのテーマに関する研究や研究の数が少なく、すべての資料が英語の情報源から取られなければならなかったということは注目に値します。 おそらくあなたは、状況を変え、ロシアの 2 つのプロジェクトの取り組みを取り上げることができるまさにその人です。 そのうちの 1 つは非営利であり、サンクトペテルブルク州立大学の PM-PU で開発されています。 もう 1 つは RCO の商用製品で、興味のある方は Web サイトでこの会社の科学的成果を読むことができます。 この記事で使用されているすべての例と写真は、から引用されました。

4. リンク

クレフ。 http://clef-qa. これは、C。 それ/WordNet。 http://ワードネット。 プリンストン。 edu/ペンツリーバンク。 http://www. シス。 うぺん。 edu/~treebank/スタート。 http://スタート。 サイル。 ミット。 教育/TREC。 http://trec. リスト。 gov/ Eugene Charniak、「自然言語解析のための統計的手法」 Gary C. Borchardt、「Causal Reconstruction」 Boris Katz、Beth Levin 「自然言語システムの設計における語彙規則性の活用」 SEMLP。 http:///RCO。 http://www. *****/

導入

問題点

ドメインの概要

1 問題を分析するタスク

質問分析手法

1 質問の文字パターン

2 構文上の質問パターン

3 質問内の単語の使用に関する統計

質問分析手法の評価

1 テスト問題集を作成する

2 指標

3 簡単な実験の結果

参考文献

導入

情報技術の急速な発展と、グローバル インターネット上で利用できる情報量の継続的な増加により、データへの効果的な検索とアクセスの問題はますます重要になっています。 キーワードを使用した標準的な検索では、多くの場合、望ましい結果が得られません。これは、このアプローチではクエリ単語間の言語的および意味的関係が考慮されていないためです。 そのため、現在、自然言語処理 (NLP) 技術とそれに基づく質問応答システム (QAS) の開発が活発に行われています。

質問応答システムは、自然言語インターフェイスを使用する、検索システム、参照システム、およびインテリジェント システムのハイブリッドである情報システムです。 このようなシステムへの入力は自然言語で作成されたリクエストであり、その後、NLP メソッドを使用して処理され、自然言語応答が生成されます。 質問に対する答えを見つけるタスクの基本的なアプローチとして、通常、次のスキームが使用されます。まず、システムは何らかの方法で (たとえば、キーワードによる検索によって)、提示された質問に関連する情報を含むドキュメントを選択します。次に、それらをフィルタリングして、回答が含まれている可能性のある個々のテキスト断片を強調表示します。その後、生成モジュールが選択された断片から質問に対する回答を合成します。

QA システムは情報源として、ローカル ストレージ、グローバル ネットワーク、またはその両方を同時に使用します。 膨大で増え続ける情報リソースへのアクセスなど、インターネットを使用することの明白な利点にもかかわらず、このアプローチには重大な問題があります。インターネット上の情報は構造化されておらず、情報を正しく検索するには、いわゆる「ラッパー」、つまりさまざまな情報リソースへの統合アクセスを提供するサブルーチンです。

最新の QA システムは、一般 (オープン ドメイン) と特殊 (クローズド ドメイン) に分かれています。 一般的なシステム、つまり任意の質問の処理に重点を置いたシステムは、かなり複雑なアーキテクチャを持っていますが、それにもかかわらず、実際には、結果がかなり弱く、回答の精度も低くなります。 しかし、一般に、このようなシステムでは、回答の正確さよりも知識の網羅度の方が重要です。 逆に、特定の主題分野に関連する質問に回答する特殊なシステムでは、回答の正確さが重要な指標となることがよくあります (間違った回答をするよりも、質問にまったく回答しない方が良いです)。

1. 問題点

しかし、今日の質問応答システムは、印象的な結果とは程遠いものになっています。 したがって、GikiCLEF 2009 トラックで最高のシステムは 47% の精度を示しました (これは多言語コレクションでシステムを実行した結果であることに注意してください)。 これとは別に、現在、公開された独立した品質評価に参加しているロシア語の質問応答システムはほとんどないという事実にも注目します。 出版物では、少なくとも 2 つのシステムを比較できるケースは 1 つだけあります。これは、ROMIP 2006 セミナーでの Stockon システム (今日の AskNet.ru) と Exacatus.ru の参加です (2.、23)。 どちらのシステムもセマンティック インデックスを使用していますが、これは現在世界中の研究者によって使用されている多くの方法の 1 つにすぎません (3、4)。 著者らによれば、ロシア語コーパスに関する他の一般的な方法について研究を行う必要があるという。

既存の研究の分析により、質問応答システムで使用されるあらゆる方法のロシア語コーパスについて独立した評価を行うためには、いわゆるものに従って研究ソフトウェアプラットフォームを作成する必要があることが示されました。 質問応答の共通アーキテクチャ (3) 基礎として、英語、ドイツ語、オランダ語を扱うために他の研究者によってすでに使用されているオープンソース システム OpenEphyra を使用することが提案されています (5)。 OpehEphyra システムのアーキテクチャは標準アーキテクチャに従っています。

この作業の主なタスクは、ロシア語用のシステム パイプラインのほぼすべてのモジュールの実装です。 著者らは、ロシア語を処理するために次の既存のソフトウェア ライブラリを使用することを提案しています: aot.ru の語彙、形態論、および構文解析のライブラリ (6)、文の形態素解析モジュール mystem (7)、AskNet の質問の分類。ロシア語の ru システム (8.、34)、ロシア語のシソーラス RussNet (9)。 不足している多数のモジュール (質問と回答の構文テンプレート、質問を分類するモジュール、名前付きエンティティを認識するモジュール) を個別に開発する必要があります。

図1。 OpenEphyra システム アーキテクチャ (10.、1)

この作業の目標は、ROMIP、CLEF、TREC セミナーで発表するための基礎研究システムを準備することです。 このようなシステムがなければ、ロシア語で質問に自動的に答える方法の実験研究を行うことは不可能だと著者らは考えている。 オランダでの同様のプロジェクトの結果 (作業 (5) では 3.5% の精度が達成された) を考慮すると、著者らは、システムの基本的な実装により、前年の ROMIP トラックで同程度の精度が実証されるだろうと予想しています。 別の問題は、ROMIP 質問応答トラックを自動モードで再利用できないことです (2)。 この問題を解決するために、著者らは、TREC が研究 (11) で提案しているように、正規表現を使用して応答を比較し、ROMIP タスクのサブセットに基づいて再利用可能なテスト コレクションを作成することを計画しています。

さらにこの記事では、質問応答システムの最初の段階である質問分析モジュールについてのみ説明します。 検討事項: 問題分析の問題点の記述、問題分析の方法、および問題集のテスト方法の実験研究に利用できる装置。

2. ドメインの概要

従来の検索エンジンと比較すると、質問回答検索システムは、一連のキーワードではなく自然言語 (英語、ロシア語など) で質問文を受け取り、ドキュメントやリンクのリストではなく短い回答を返します。 最新の情報検索システムを使用すると、関心のある情報を含む可能性のある文書全体のリストを取得できる一方で、クエリとの関連性のレベルによって順序付けされた文書から必要なデータを取得する作業はユーザーに任せることができます。 たとえば、ユーザーが「ロシアの大統領は誰ですか?」という質問を入力するとします。 そして、ドキュメントへの関連リンクのリストではなく、応答として個人の名前を受け取ります。 したがって、文書から短いテキストの一節 (答え自体が直接含まれている) を抽出して質問に対する答えを見つけることは、情報検索とはまったく異なるタスクです。

質問と回答の検索分野の既存プロジェクトのほとんどは英語向けに設計されています。 この研究分野のいくつかの研究を比較すると、質問応答システムの標準的な設計にたどり着くことができます。 一般に、典型的な質問応答システムの動作は、次のようないくつかの段階で構成されます。

ユーザーが入力した質問を分析する段階。

情報検索段階。

応答抽出段階。

最初の段階では、質問は自然言語で入力され、文はさまざまなアナライザー (構文解析、形態論解析、意味解析) によって最初に処理および形式化され、その後の使用に向けて対応する属性が決定されます。 次に、第 2 段階では、文書の検索と分析が行われます。元の質問に対する答えが含まれている可能性のある文書とその断片が選択されます。 第 3 段階では、回答が抽出されます。システムは、テキスト文書またはその断片を受け取り、そこから回答となり得る単語、文、またはテキストの一節を抽出します。

さまざまなシソーラス辞書の使用が結果と開発において重要な役割を果たすことに注意してください。 これらの辞書を使用すると、回答を特定するためのエンティティの種類を決定し、検索クエリで使用する単語の初期形式を見つけるという問題が解決されます。 これらの辞書は、単語の同義語を検索するためにも使用されます。

.1 問題分析のタスク

作業の最初の段階は、質問分析モジュール (図 1 の質問分析) の作成です。 このモジュールには次のタスクが設定されています。自然言語での質問の場合は、 集中質問、 サポート質問して決める セマンティックタグ答え (図2)。

米。 2. 問題分析プロセスの詳細ではない IDEF0 図。

質問の焦点(英語:質問中心) - これはそのような情報です に含まれた 質問には、回答 (4) の情報から得られるユーザーの期待に関する情報が含まれます。

質問サポート(英語:質問サポート) - それが残りの質問です (後 焦点の「引き算」)、特定の答えの選択をサポートする情報が含まれます。

セマンティック応答タグ(英語: 回答タグ、回答タイプ) - クラス 以前に定義された分類に従ってユーザーが要求した情報。

以下は、手動で実行された ROMIP 2009 タスクからの質問の分析の例です (表 2.1.、 実際のクエリのスペルは保持されます).

表2.1。

ROMIP 2009 の課題からの質問の分析の例 (3.、12)。

いいえ、質問です。セマンティック タグは太字で強調表示されています。 nqa2009_6368 キーボード インターセプトを無効にする方法は?国nqa2009_8557屋根裏は火災の危険がありますか?はい/非qa2009_7801富士フイルムカーディナルが提供するLTO 4標準カートリッジの読み取り/書き込みサイクル数は何ですか?nqa2009_8763メガセールはいつ始まりますか?日付qa2009_91502月27日の日没は何時ですか?時間qa2009_8754いつできますか?猫を連れて行きますか?Agenqa2009_6797何タンボフにレコーディングスタジオはありますか??組織

セマンティック タグの分類は通常、システムに関するほとんどの質問をカバーするためにシステム開発者によって選択されます。 次の分類法は (3) から借用したもので、ROMIP 2009 の質問のテスト コレクションをより適切にカバーするために、著者によっていくつかのタグが追加されました。 年齢、病気、順序、レシピ、 動物、期間、臓器、挨拶、地域、出来事、組織、物質、魅力、地質物、人、用語(逆定義)、枢機卿、法律、パーセント、時間、会社の役割、場所、人、作品名、国、マナー、フレーズ(NNP)、URL、日付、メジャー、工場、天気、日付参照、お金、製品、はい/いいえ、定義、職業、理由.

3. 質問分析方法

このセクションでは、問題分析のための既存の方法の概要を説明します。

.1 質問の文字パターン

質問内のタグまたは焦点を決定する最も簡単な方法は、一般的な疑問フレーズを認識するパターン (正規表現) を準備することです。 以下は、英語用の OpenEphyra システムで使用されるいくつかのルールです (表 3.1)。

表3.1。

OpenEphyra システムのキャラクター質問テンプレート (10)

意味規則的な質問表現タグNEaward(何を|どれ|名前|与える|伝える) (.*)?(栄誉|賞|認定|勲章|栄誉|栄誉|メダル|賞金|報酬)NEbird(何を|どれ|名前|与える|伝える) (.*)?birdNEbirthstone(何を|どれ|名前|与える|伝える) (.*)?birthstoneNEcolor(何を|どの|名前|与える|伝える) (.*)?(色|色)NEconflict(何を|どれ|名前|与える|伝える) (.*)?(戦い|紛争|征服|危機|十字軍|解放|大虐殺|反乱|反乱|革命|蜂起|戦争)NEdate(いつ|何を|どの|名前|与える|伝える) (.*)?(誕生日|日付|日)NEdate-century(いつ|何を|どれ|名前|贈る|伝える) (.*)?世紀

作業 (3) の焦点を強調するために、次のテンプレートが使用されました。 および形態学的情報 (表 3.2.、英語):

表3.2

英語で質問の焦点を強調するためのテンプレートの例 (3)

疑問語パターン What、どれ、名前、リスト、疑問語 + 最初の名詞の見出し語 クラスタ識別誰、なぜ、誰、いつ質問語どこ疑問語 + 主動詞どのように疑問語と次の単語 (カウント属性を求める場合) + 最初の名詞の見出し語クラスタ質問語と次の単語の場合質問が方法論を求める場合は属性を求め、その場合は疑問詞だけを求めます。

このアプローチの明らかな欠点は次のとおりです。

1.実際のユーザーの質問の重要な部分をカバーすることは事実上不可能です。 質問のセットは、特定のテスト タスクのセットを処理するために選択されます。 この「不都合な質問」のカバーを超えることは非常に簡単です。

2.一連の実験の結果、疑問詞と意味タグの関係はそれほど単純ではないことが明らかになりました。 したがって、「誰」という言葉は、人、組織、国、民族について示すことができます (たとえば、「戦争に勝ったのは誰ですか?」という質問)。

.パターンベースのフォーカス選択も、非常に限られた場合に機能します。

テンプレート手法は、主催者が QA トラック用の質問を手動で準備する TREC-8 (1999) に参加するシステムでうまく使用されました。 しかし、すでに TREC-9 (2000) では、実際のユーザーの要求に基づいてタスクが提案されており、問題を分析する他の方法を適用しなかったシステムは、適応されたリーダーに著しく遅れをとっていました。

3.2 構文上の質問パターン

質問の焦点を強調するため 文字テンプレートの次のステップは、構文テンプレートの方法です。 この方法は、質問の焦点が多くの場合、質問語と特定の構文関係にあるという前提に基づいています。 1 つではありませんが、これらの関係のオプションの範囲は限られています。 文を解析すると構文ツリーが得られます (図 3.)。 この例は、実際のユーザーの質問のコレクションに取り組むためには、システムを含むシステムが必要であることを明確に示しています。 タイプミスやスペルミスに対処する必要があります。

OpenEphyra システムで使用されるフォーカス認識の構文パターンの例を次に示します。

(ROOT (SBARQ (WHNP (WP とは)) (SQ (VP (VBZ は) (NP (NP (DT は) (NN 名)) (PP (IN は) (*NP xx))))))

ここで、括弧表記では、ノードにおける単語またはその構文/形態学的ラベルを使用して構文ツリーが指定されます。 このようなツリー テンプレートは実際の質問ツリーと比較され、一致する場合は、テンプレート内の位置 xx に対応する文のメンバーが焦点であると見なされます。

3.3 質問における単語の使用に関する統計

進行中 (3)提案手法 セマンティックタグを配置するための統計モデルの自動トレーニング。 トレーニング セットからの各質問について、3 つの「特徴ストリーム」が区別されます。

1.すべての単語はそのままで、一部の単語には追加のマークが表示されます (たとえば、マーク bqw は疑問詞が文の先頭にあることを意味します)。

2.文中の単語の品詞ラベルと単語の通し番号。

3.語彙シソーラスに従って、上位語を含む単語に焦点を当てます。

以下は英語の 1 つの質問に対する記号です (表 3.3.)。

表3.3.

「1992 年のオリンピックを開催したヨーロッパの都市はどこですか?」という質問に対する機能です。 (3)

単語そのままどの都市、どの_bqw、どの_JJ、1992 年オリンピック開催のヨーロッパの都市、品詞WDT_0、どの_WDT、JJ_0、ヨーロッパ_JJ、NN_1、都市_NN、VBD_2hosted_VBD、DT_3、CD_4、1992_CD、NNS_5、オリンピック_NNS、ハイパーニム、ヨーロッパの都市、大都市、都市中心部、市区町村、都市圏_regiongeographic_region 地域位置エンティティ metropolisurban_centercity_centercentral_cityfinancial_centerHubcivic_centermunicipal_center down_town inner_city

著者らは、4,000 を超える質問のコレクションに手動でタグを付け、各セマンティック タグがどのプロパティを最も頻繁に意味するかを計算しました (3)。 この目的のために、エントロピー最大化の数学的装置が使用されました。 合計 36,000 の特徴が 4,000 の質問のコレクションから生成されました。 以下は、識別された標識に基づいて特定のタグの配置を決定するための重みです (表 3.4.)。

統計的手法の欠点は、大規模なトレーニング用の質問コレクションを手動で作成する必要があることです。 したがって、研究 (3) の著者は、4,000 個の TREC-9 質問のコレクションのサイズに満足していません。

表3.4.

セマンティックタグを配置するための標識 (3)

標識セマンティックタグ体重多く | COUNT0CARDINAL6,87why_WRBREASON33,04地域LOCATION5,75who_VPERSON4,09when_V | DEFN0DATE17.31PeriodDURATION7.66GovernmentLOCATION9.56

4. 課題分析手法の評価

課題分析手法の実証研究の手順を考えてみましょう。

.1 テスト問題集の作成

他のタスクと同様に 情報検索では、質問のテキスト集を作成し、評価ツールを使用して手動で分析を実行することが提案されています。 著者は、テスト集として、ROMIP 2009 セミナーの質疑応答トラックのタスクを使用しています。これらは、インターネット上のユーザーによって作成された 9617 個のロシア語の質問です。

.2 指標

主要な指標として使用することが提案されています エラーセマンティックタグを配置する:E t = (M-N)/M、 どこ N- 評価者によって処理された質問の数、M - 質問分析モジュールによって評価者と同じ意味タグが割り当てられた質問の数 (3)。

2 番目の指標は、質問が正しい焦点を当てているかどうかを評価することです。 著者らは文献内に既存の指標を見つけられなかったため、独自の指標を提案しています。 正確さ P そして完全性 R フォーカス選択尋ねられた質問に対して:

どちらのセットでも、疑問詞、前置詞、接続詞などの重要でない単語は無視されます。 両方のセットの要素は、語彙単位としての単語ではなく、文内の単語の位置です。 質問文の中で 1 つの単語が繰り返される場合、セットにはその単語の複数のインスタンスが含まれる場合があります。 平均適合率と再現率は、質問コレクション全体の指標として考慮される必要があります。

.3 簡単な実験の結果

ロシア語問題集について セマンティックタグ挿入モジュールの簡単な実装を研究するために実験が行われました。 モジュールは、質問内の単語検索テーブルを使用して、1 つまたは別のセマンティック タグを選択しました。 以下にモジュールのすべての操作規則を示します (表 4.1)。

表4.1。

ロシア語の質問を分析するための簡単なモジュールの操作のルール。

ワードタグワードタグダウンロードURL寄付 | ギフト製品誰が誰かはい/いいえどのようにレシピ定義 | 定義どこ場所価格とは | コスト | Moneywhen はいくらですか | 何年ですか? 何歳ですか

実験では、質問分析モジュールのこの実装では 67% の誤差が生じることが示されました。 この記事の執筆時点では、著者らは焦点選択実験を行っていませんでした。

結論

自然言語で質問に自動的に答えるタスクでは、システム操作の最初の段階は質問の分析です。 問題分析モジュールの品質は、システム全体の品質に大きく影響します (3)。 外国の研究者が英語の質問を分析する実験を行い、さまざまな研究グループがこの最初の問題を解決するためにさまざまな方法を使用しました。

この研究では、英語の既存の方法のレビューが実行され、方法を評価するための手順が開発され、ロシア語の質問のテストコレクションが手動で処理され、いくつかの簡単な実装を研究するための実験が行われました。モジュール。 著者らは、簡単に実装されたモジュールから典型的な質問応答システムの完全なパイプラインを組み立てることを計画しています。これは、より効果的な方法を研究するための実験プラットフォームになります。

セマンティックタグの質問テンプレート

参考文献

1.キャロル・ピーターズ。 CLEF 2009 で何が起こったのか、ワーキング ノートの紹介。 // CLEFの議事録 2009. URL: #"justify">2. 情報検索手法の評価に関するロシアのセミナー。 第 4 回ロシアセミナー ROMIP の議事録、2006 年。サンクトペテルブルク: NU TsSI、2006 年、274 ページ。

3.アブラハム・イッティシェリア。 オープン ドメインの質問応答の統計的アプローチ // オープン ドメインの質問応答の進歩。 Springer オランダ、2006 年、パート 1、Vol.32。

4.Burger, J. et al. 質疑応答 (Q&A) における研究ロードマップの問題、タスク、プログラム構造。 NIST DUC ビジョンおよびロードマップ文書、2001 年。URL: #"justify">6. Segalovich I. Web 検索エンジンの辞書によって未知の単語を推測する高速形態学的アルゴリズム。 MLMTA、2003 年。

7.検索システム AskNet.ru [電子リソース]: セマンティック検索を実行するために AskNet システムでサポートされている質問のリスト。 URL: #"justify">。 Azarova I. V. et al. WordNet などのロシア語のコンピュータ シソーラスの開発 // 学術会議「コーパス言語学と言語データベース」の報告 / Ed. として。 ゲルダ。 サンクトペテルブルク、2002 年、6-18 ページ。

9.Semantic Analyzer グループのブログ [電子リソース]。 URL: http://semanticanalyzer.info/

質問応答システム

質疑応答システム(英語の質問応答システム) は、検索、参照、およびインテリジェント システムのハイブリッドである特殊なタイプの情報システムです (多くの場合、これらは次のようにみなされます) インテリジェントな検索エンジン)。 QA システムは、自然言語で質問を受け入れることができなければなりません。つまり、QA システムは自然言語インターフェイスを備えたシステムです。 情報は、インターネットまたはローカル ストレージの文書に基づいて提供されます。 QA システムの最新の開発により、事実、リスト、定義、「How」「Why」などの質問、仮説、複雑、言語間の質問など、さまざまな種類の要求を処理できるようになりました。

  • 高度な専門性 QA システムは特定の分野 (医療や自動車整備など) で機能します。 このようなシステムの構築は比較的簡単な作業です。
  • 共通しています QA システムはあらゆる知識分野の情報を扱うため、関連分野の検索が可能になります。

建築

最初の QA システムは 1960 年代に開発され、特定の領域に焦点を当てたエキスパート システム用の自然言語シェルでした。 最新のシステムは検索するように設計されています 質問への答え自然言語処理 (NLP) テクノロジーを使用して提供されるドキュメント。

最新の QA システムには通常、特別なモジュールが含まれています。 質問分類子、これによって質問の種類が決まり、それに応じて期待される回答も決まります。 この分析の後、システムは提供された文書にますます複雑で巧妙な NLP メソッドを徐々に適用し、不要な情報を破棄します。 最も大雑把な方法は、 ドキュメント内を検索する- 情報検索システムを使用して、回答が含まれる可能性のあるテキストの部分を選択します。 それから フィルター予想される回答に類似したフレーズを強調表示します (たとえば、「誰...」という質問の場合、フィルターは人の名前を含むテキストの一部を返します)。 そして最後にモジュール 回答を強調表示するこれらのフレーズの中から正しい答えを見つけます。

仕事のスキーム

質問応答システムのパフォーマンスは、テキスト ベースの品質に依存します。テキスト ベースに質問に対する回答がない場合、QA システムは何も見つけることができません。 ベースが大きいほど良いですが、それは 含まれています必要な情報。 大規模なリポジトリ (インターネットなど) には、多くの冗長な情報が含まれています。 これにより、次の 2 つの利点が得られます。

  1. 情報はさまざまな形式で提示されるため、QA システムは適切な回答をすぐに見つけます。 複雑なワードプロセッサ技術に頼る必要はありません。
  2. 正しい情報がより頻繁に繰り返されるため、文書内のエラーが排除されます。

表面探索

最も一般的な検索方法はキーワードによる検索です。 この方法で見つかったフレーズは、質問の種類に応じてフィルタリングされ、語順などの構文上の特徴に基づいてランク付けされます。

高度な検索

問題点

2002 年、研究者グループは質問応答システムの分野で研究計画を作成しました。 以下の質問を検討することが提案されました。

質問の種類 質問が異なれば、答えを見つける方法も異なります。 したがって、考えられる質問の種類の方法論的リストを作成または改善する必要があります。 質問の処理 同じ情報をさまざまな方法でリクエストできます。 文のセマンティクス(意味)を理解して処理するための効果的な方法を作成することが必要です。 使用されているスタイル、単語、構文関係、慣用句に関係なく、プログラムが意味が同等の質問を認識することが重要です。 QA システムには、複雑な質問をいくつかの単純な質問に分割し、文脈に応じたフレーズを正しく解釈して、おそらく対話中にユーザーと明確にしてもらいたいと考えています。 文脈に応じた質問 質問は特定の文脈で行われます。 コンテキストは、クエリを明確にしたり、曖昧さを解決したり、一連の質問を通じてユーザーの思考を追跡したりすることができます。 QA システムの知識源 質問に答える前に、利用可能なテキスト データベースについて問い合わせるとよいでしょう。 どのようなテキスト処理方法を使用しても、データベースにない場合、正しい答えは見つかりません。 回答の選択 この手順が正しく実行されるかどうかは、質問の複雑さ、そのタイプ、コンテキスト、利用可能なテキストの品質、検索方法など、膨大な数の要素に依存します。 したがって、テキスト処理方法の研究には細心の注意を払って取り組む必要があり、この問題には特別な注意が必要です。 答えの定式化 答えは、できるだけ自然なものである必要があります。 場合によっては、単純な 放電それは本文から。 たとえば、名前 (人の名前、楽器の名前、病気)、数量 (為替レート、長さ、サイズ)、または日付 (「イワン雷帝はいつ生まれましたか?」) が必要な場合は、直接答えるだけで十分です。 ただし、複雑なクエリを処理する必要がある場合があり、ここでは特別なアルゴリズムが必要になります。 回答を結合するさまざまな文書から。 リアルタイムで質問に回答する 質問の複雑さや曖昧さ、ドキュメント ベースのサイズや膨大さに関係なく、リポジトリ内の回答を数秒で見つけられるシステムを作成する必要があります。 多言語クエリ 他の言語で作業および検索するためのシステムの開発(自動翻訳を含む)。 対話性 QA システムによって回答として提供される情報は不完全であることがよくあります。 システムが質問の種類を誤って識別したか、誤って「理解」した可能性があります。 この場合、ユーザーは自分のリクエストを再定式化するだけでなく、対話を使用してプログラムに「説明」したい場合もあります。 推論(推論)の仕組み ユーザーの中には、利用可能なテキストを超えた回答を求める人もいます。 これを行うには、ほとんどの分野に共通する知識を QA システム (コンピューター サイエンスにおける一般的なオントロジーを参照) に追加するとともに、新しい知識を自動的に推論する手段を追加する必要があります。 QA システムのユーザー プロファイル ユーザーの関心分野、話し方や推論、デフォルトの事実などの情報は、システムのパフォーマンスを大幅に向上させる可能性があります。

リンク

  • Dialogus は、ユーザーの質問に対する回答を自動的に選択する検索エンジンです。
  • [email protected]: 人間はあらゆる質問に対する答えを探します。

ウィキメディア財団。 2010年。

他の辞書で「質問応答システム」が何であるかを確認してください。

    この項目では、自動情報システムについて説明します。 ソーシャル ネットワークの種類については、質疑応答システム (Web サービス) を参照してください。 質問応答システム (QA システム; 英語 QA English Question Answering より) ... ... Wikipedia

    インテリジェント情報システム (IIS) は、自動化された情報システムのタイプの 1 つであり、知識ベース システムと呼ばれることもあります。 IIS は、ソフトウェア、言語、論理数学の複合体です。 ... ... ウィキペディア

    この記事には情報源へのリンクがありません。 情報は検証可能である必要があり、そうでない場合は疑問視され、削除される可能性があります。 できることは... ウィキペディア

    URL...ウィキペディア

    - (英語の Virtual バーチャル、デジタル デジタル、アシスタント アシスタント、略称 VDA から) スマートフォンおよび PC 用の Web サービスおよび/またはアプリケーション。実際にユーザーの個人秘書の役割を果たします。 スケジュールの問題を解決します... ... ウィキペディア

    知識表現は、認知科学 (思考の科学)、コンピューター科学、人工知能の研究で生じる問題です。 認知科学では、人々が情報をどのように保存し、処理するかに関係します。 選択を伴うコンピューターサイエンスでは ... ウィキペディア

    知識表現は、認知科学 (思考の科学)、コンピューター科学、人工知能で生じる問題です。 認知科学では、人々が情報をどのように保存し、処理するかに関係します。 コンピューターサイエンスにおける主な目標は、表現を選択することです... ウィキペディア

    これは、ユーザーが興味のあるトピックに関する最も正確な (関連性のある) 情報を取得することを目的としています (記事のデータベースによって制限されています)。 通常、記事はヘルプ トピックの階層に従って選択されます。 ヘルプ システムは、多くの場合... ... ウィキペディアと組み合わされます。

    - (自然言語処理、NLP) 人工知能と数学言語学の一般的な方向性。 コンピューター分析と自然言語合成の問題を研究します。 人工知能に適用される場合、分析とは... ウィキペディア

    Wolfram|Alpha サイトのメインページ ... ウィキペディア

コンピュータ サイエンスにおけるリスト処理の出現直後に、BASEBALL プログラムが作成されました (新しい方法を質問応答システムにどのように適用できるかを説明するために) (Green、Wolfe、Chomsky、& Loughrey、1961 年; Greene、1963 年)。 このプログラムは、1959 年のアメリカン ベースボール リーグの試合に関する質問に答えるように設計されたため、その名前が付けられました。 このプログラムの応用の社会的価値には疑問がありますが、これは、その後広く使用されるようになったプログラミング原理をテストするための優れた装置を提供します。 プログラムへのメッセージは英語の単純なサブセットにコンパイルされていますが、実際にはこれについては詳しく説明しません。 さらに興味深いのは、ここで使用されているデータ構造です。

BASEBALL プログラム データは階層システムに編成されました。 このデータ構造はツリーとして等価に表すことができます。 最も高いレベルは YEAR (1959 年のデータのみが使用されましたが、プログラムでは数年間のオプションが提供されていました) で、次に MONTH と PLACE の順でした。 年、月、場所が決まると、試合番号、曜日、スコア(チームの勝ち点)が順に表示されます。

一般的に、データ構造の形式は次のとおりです。

明らかに、この形式のデータ構造は野球に固有のものではなく、BASEBALL プログラムのデータ処理ルーチンは、さまざまなレベルや分岐の解釈に関係なく、あらゆる階層データ構造を操作することを意図して書かれています。

BASEBALL プログラムの仕組みは、データ パスと仕様リストという 2 つの概念を考慮することで理解できます。

データ パスは、特定のゲームに関する情報を取得するためにたどる必要がある一連の分岐です。

たとえば、このゲームに関するいくつかの情報を定義し、その過程で確立します。 各ゲームには 1 つのデータ パスが関連付けられており、例に示すように、そのエントリによってゲームの特性が定義されます。 データ ツリーは明らかに有限であるため、考えられるすべてのデータ パスを生成するには、任意の単純なツリー検索アルゴリズムを使用できます。

仕様リストは、質問に対する有効な回答となるためにデータ パスに必要な属性のリストです。 たとえば、質問仕様のリスト

レッドソックスチームは7月にどこでプレーしましたか? (1) します

言語プロセッサが質問に対する仕様のリストを生成したとします。 階層型データ プロセッサは仕様のリストを取得し、それに一致するすべてのデータ パスを体系的に生成します。 次の場合、パスは仕様リストと一致します。

(a) 特徴と値のペア (たとえば、仕様のリストとパスの両方に含まれている、または

(b)仕様のリスト内の特徴量ペアが値を持っている(たとえば、この場合、データパス内の対応する値が可能な限り登録されます(例(1)の場合、値のリストは答え)。

仕様リスト内の特徴と値のペアに値がある場合、それはデータ パス上のすべての特徴の値と一致します。 承認タイプが登録されていません。

すでに述べたように、データ パスを生成し、それらを仕様のリストと照合するプロセスには、野球のテーマに固有の内容は含まれません。 派生属性と値のペアも一貫性を保つことができますが、この場合、それらはアプリケーション固有になります。 たとえば、次の質問について考えてみましょう。

7月にチームはホームフィールドで何試合勝ちましたか? (2)

これに答えるために、プログラムは、値が値と一致し、名前が値と一致し、最高のスコアを持つゲームを定義するすべてのデータ パスを検索する必要があります。 対応する仕様のリストを編集するサブルーチンが野球の試合の知識に依存していることは明らかです。

仕様リストを満たすデータ パスが見つかった場合、それらはマスター リストに結合されます。 彼は木としても表されます。 たとえば、質問 (1) に答えるパスは次のように要約できます。

質問に対する答えは、主要なリストを確認することによってまとめられます。 (1) の場合、メイン リストに PLACE 値を列挙するだけで答えが得られます。

米。 14.1. (スキャンを参照) BASEBALL プログラムの質問に答える段階。

もう少し複雑な質問に対する答え

レッドソックスは7月に何ヶ所でプレーしましたか? (3)

メインリストの値を再計算することで取得できます。

質問に答えるためのこの手順の図を図に示します。 14.1. 自然言語サブセットアナライザー

自然言語での質問を認識し、質問の種類を認識し、仕様のリストを作成します。 BASEBALL プログラムのこの部分は、必然的に 2 つの点で応用分野に関連します。 明らかに、彼女はこのゲームの用語集にアクセスできる必要があります。 あまり明らかではありませんが、「いくら」や「何を」などの自然言語表現を適切な仕様リストに変換するルーチンが含まれている必要があります。 したがって、Green et al.は、図書館で行われているように、ユーザーが「インデックス付き」の質問をすることを制限しませんでしたが、システムが受け取ることができる質問の種類を事前に決めました。

ステップ (B) では、プログラムは仕様リストからメインデータリストを生成します。 すでに述べたように、個々のルーチンには派生テスト機能が必要な場合がありますが、B の大部分はアプリケーションから独立しています。 最後のステップでは、答えはメイン リスト (ブロックとブロック) から導出されます。ここでも、プログラマは尋ねられる質問の種類を予測し、質問の種類ごとに適切なメイン リスト生成ルーチンをシステムに入力する必要があります。

図のブロックからわかるように、 14.1 では、BASEBALL プログラムは、データを 1 回調べるだけで回答できる質問に限定されません。 次の質問について考えてみましょう。

7月に8か所で何チームが試合をしましたか? (4)

仕様の初期リストは次のとおりです。

この仕様リストで定義されている質問には、すぐに答えることはできません。 代わりに、プロセッサは探索する必要があります

すぐに答えることができないため、補助的な質問が必要です。

それもすぐには答えられないから思い出されて質問が生まれる

マスターリストを提供する質問プロセッサを使用して回答できます

この仕様は、フォームのすべてのリストを表示することで、地名を数えることで、それをリストに変換し、その答えをすぐに得ることができます。

BASEBALL プログラムの開発は、人工知能システムの通常の運命である、初期プロジェクトの範囲を超えるものではありませんでした。 実際、階層データ構造の考え方は、機械可読プログラミングからは消えてしまったようです。 これはやや驚くべきことである。なぜなら、特に大量の情報の一部を一次メモリに、一部を比較的低速で安価なメモリデバイスに保持しなければならない場合、階層構造によって効率的なデータ管理が可能になるからである(詳細については、Sussenguth、1963 年を参照)。 さらに、階層構造は、より伝統的な情報処理システムと互換性のあるデータ管理技術によって実装できます (Hunt and Kildall、1971; Lefkowitz、1969)。 間違いなく、「理解できる」プログラムを使用しようとすると、コストとシステムの互換性という避けられない実際的な問題を、ある段階で提起する必要があります。 おそらく将来的には、このかなり古いプログラムで実装されている原則に戻る価値があるでしょう。