JP2021051567A - 情報処理方法および情報処理装置 - Google Patents

情報処理方法および情報処理装置 Download PDF

Info

Publication number
JP2021051567A
JP2021051567A JP2019174274A JP2019174274A JP2021051567A JP 2021051567 A JP2021051567 A JP 2021051567A JP 2019174274 A JP2019174274 A JP 2019174274A JP 2019174274 A JP2019174274 A JP 2019174274A JP 2021051567 A JP2021051567 A JP 2021051567A
Authority
JP
Japan
Prior art keywords
similarity
word
sentence
text data
synonym
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
JP2019174274A
Other languages
English (en)
Other versions
JP7481100B2 (ja
Inventor
真 岩山
Makoto Iwayama
真 岩山
優 浅野
Yu Asano
優 浅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2019174274A priority Critical patent/JP7481100B2/ja
Priority to US16/809,903 priority patent/US11507755B2/en
Publication of JP2021051567A publication Critical patent/JP2021051567A/ja
Application granted granted Critical
Publication of JP7481100B2 publication Critical patent/JP7481100B2/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/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

【課題】自動的に精度よく言い換えの適否を判定する。【解決手段】入力装置、出力装置、処理装置および記憶装置からなり、推論部を備える情報処理装置である。推論部は、第1の質問文と第1の回答文の組を含む第1のテキストデータと、第2の質問文と第2の回答文の組を含む第2のテキストデータを入力する、第1の機能、第1のテキストデータの中の語aを語bに置き換え可能とする第1の同義語関係が成立し、第2のテキストデータの中の語aを語cに置き換え可能とする第2の同義語関係が成立している場合、第1の回答文と第2の回答文の類似度である第1の類似度と、第1の質問文と第2の質問文の類似度である第2の類似度から、語bと語cの類似度を計算する、第2の機能、を備え、計算において第1の類似度の寄与率と第2の類似度の寄与率が異なる。【選択図】 図1

Description

本発明は、自然言語対話システム等に用いる知識データベース(DB)に関する。
近年、様々な言語での対応を求められる空港や駅での施設案内や、複雑なサービスを取り扱う銀行や自治体での窓口業務などの対人サービスにおいて、対話システムを用いて既存の職員の業務を支援することが試みられている。具体例としては、高度化するサービス業務を支援するため、ロボットや音声アシスタントなどの対話システムの実用化が進められている。
ユーザーからの多様な発話に回答できる対話システムを実現するためには、対話をするための知識DBをあらかじめ用意しておく必要がある。これまで、知識DBの生成は人手で行われていることが多く、そのコストが課題となっている。
例えば、ある店舗の営業時間を回答するために、「営業時間を教えて」という質問と「営業時間は午前10時から午後8時までです。」という回答の質問回答ペアが用意されているとする。しかし、対話システムのユーザーからは「販売時間を知りたい」、「開いている時間を聞きたい」というように様々な言い方で聞かれる可能性があり、これらに対応できる必要がある。
これまでの対話システムでは、既存の同義語や言い換えの辞書を使用したり、独自の辞書を作成したりすることで知識の整備を行っていた。案件毎にこのような辞書を整備していてはコストがかかるため、同義語や言い換えを効率的に増やす方法が求められている。
例えば、特許文献1では、大規模な言い換えのテキストデータを用意することなく対話することを可能とするために、ユーザーからの質問に対する回答を出力してユーザーと対話する情報処理装置であって、質問を受け付ける入力部と、対話において、入力部が受け付けた質問に対する回答の候補を候補データの中から選択して質問の言い換えの適否をユーザーに確認する確認処理を実行し、適否の結果に基づいて、候補を質問に対する言い換えとして登録する対話制御部と、を備えるものが開示されている。
特開2018−197924号公報
特許文献1では、質問の言い換えの適否をユーザーに確認する確認処理を実行し、適否の結果に基づいて、候補を質問に対する言い換えとして適切かどうかを判断する。しかし、ユーザーの負担はなるべく減らすことが望ましい。
そこで、自動的に精度よく言い換えの適否を判定する技術が求められる。
本発明の好ましい一側面は、入力装置、出力装置、処理装置および記憶装置からなり、推論部を備える情報処理装置で実行される情報処理方法である。推論部は、第1の質問文と第1の回答文の組を含む第1のテキストデータと、第2の質問文と第2の回答文の組を含む第2のテキストデータを入力する、第1のステップ、第1のテキストデータの中の語aを語bに置き換え可能とする第1の同義語関係が成立し、第2のテキストデータの中の語aを語cに置き換え可能とする第2の同義語関係が成立している場合、第1の回答文と第2の回答文の類似度である第1の類似度と、第1の質問文と第2の質問文の類似度である第2の類似度から、語bと語cの類似度を計算する、第2のステップ、を実行し、計算において第1の類似度の寄与率と第2の類似度の寄与率が異なる。
本発明の好ましい他の一側面は、入力装置、出力装置、処理装置および記憶装置からなり、推論部を備える情報処理装置である。推論部は、第1の質問文と第1の回答文の組を含む第1のテキストデータと、第2の質問文と第2の回答文の組を含む第2のテキストデータを入力する、第1の機能、第1のテキストデータの中の語aを語bに置き換え可能とする第1の同義語関係が成立し、第2のテキストデータの中の語aを語cに置き換え可能とする第2の同義語関係が成立している場合、第1の回答文と第2の回答文の類似度である第1の類似度と、第1の質問文と第2の質問文の類似度である第2の類似度から、語bと語cの類似度を計算する、第2の機能、を備え、計算において第1の類似度の寄与率と第2の類似度の寄与率が異なる。
自動的に精度よく言い換えの適否を判定することができる。
知識バンク1のハードウェア構成ブロック図。 知識バンク1に格納される知識の階層構造を示す概念図。 知識バンク1の利用例を示す概念図。 対話データ301の例を示す表図。 ドメイン辞書152の同義語リストの例を示す表図。 案件辞書153の同義語リストの例を示す表図。 評価のために入出力装置13の表示装置に表示される入力画面図。 ログデータ154に記録されるデータ形式の一例を示す表図。 ログデータ154に記録されるデータ形式の一例を示す表図。 ログデータ154に記録されるデータ形式の一例を示す表図。 ログデータ154に記録されるデータ形式の一例を示す表図。 共通部分の抽出による汎化処理の概念図。 同義語候補の抽出シーケンスを示すフロー図。 集計の概念を説明する表図。 評価のために入出力装置13の表示装置に表示される入力画面図。 知識の拡張処理S1300の全体フロー図。 公共知識のドメイン辞書152の一例を示す表図。 公共知識のドメイン辞書152の他の例を示す表図。 対話データ1、対話データ2、対話データ1の同義語データ、対話データ2の同義語データの例を示す表図。 質問文の類似度よりも回答文の類似度の方が同義語か否かの判断に相関があることを示す説明用の表図。 質問文の類似度、回答文の類似度、同義語判定の関係を示す表図。 適用処理の流れを示す流れ図。 スコアS1の計算(S1906)の詳細な流れ図。 適用処理S1900の結果を入出力装置13に表示して、ユーザーが評価をするための画面図。
以下実施の形態について、図面を用いて詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
同一あるいは同様な機能を有する要素が複数ある場合には、同一の符号に異なる添字を付して説明する場合がある。ただし、複数の要素を区別する必要がない場合には、添字を省略して説明する場合がある。
本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。
以下の実施例において説明されているシステムの一例は、階層化された同義語辞書を含む知識DBの機能を含む。任意の複数階層に階層化された同義語辞書は、例えば事業分野に依存しない汎用辞書、金融、交通、公共など特定の分野に適用される分野別辞書、特定の分野の内の個別のタスクに適用される案件辞書、などからなる。また、実施例において説明されているシステムの他の機能として、辞書を汎化あるいは拡張する機能があげられる。また、辞書の内容を適用する際に、文脈の分布や文章の内容を考慮して、辞書の内容を具体的な文章、例えば、質問と回答の組(「Q&A」という)に適用する機能があげられる。これらの1または複数の機能を含むシステムを、本実施例では知識バンクと称することにする。
本実施例で、「汎化」「汎用化」とは、階層化された下位の辞書から上位の辞書を生成することをいう。「知識」とは「同義語辞書(の内容)」を指す。「適用」とは、知識バンクで抽出された同義語をある文脈に「適用」することをいう。例えば辞書に登録された同義語を実際のQ&A等に「適用」するという意味である。「知識の拡張」あるいは「辞書の拡充」とは「同義語対を増やす」ことをいう。同義語対を増やすための処理を「推論」という。
<1.知識バンクの全体構成>
図1は、実施例の知識バンク1のハードウェア構成ブロック図である。実施例の知識バンク1は、例えばデータベースサーバのような情報処理装置で構成される。一般的な情報処理装置と同様、中央処理装置(CPU)11、データ通信部12、入出力装置13、制御部14、記憶装置15、入力処理部16、出力処理部17などを備える。
本実施例では計算や制御等の機能は、記憶装置15に格納されたプログラム(図示せず)がCPU11によって実行されることで、定められた処理を他のハードウェアと協働して実現される。CPU11が実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」、「ユニット」、「モジュール」等と呼ぶ場合がある。本実施例では、これらを制御部14として機能ブロックで示している。なお、本実施例中、ソフトウェアで構成した機能と同等の機能は、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)などのハードウェアでも実現できる。
データ通信部12は、ネットワーク20を介して、外部の端末やDBと通信が可能である。入出力装置13は、サーバのような情報処理装置が通常備える画像表示装置やキーボード、さらには、知識バンク1の外部とデータの送受信を可能とする入出力インターフェースを想定している。入出力される情報の処理は、入力処理部16、出力処理部17が行う。制御部14は、機能として汎化部141、生成部142、推論部143を備える。汎化部141は、汎用化を行う機能を有する。生成部142は、同義語の適用に関する機能を有する。推論部143は、辞書の拡張を行う機能を有する。また、記憶装置15は磁気ディスク装置のような不揮発性メモリや、半導体メモリのような揮発性メモリの、任意の組み合わせから構成されている。記憶装置15が記憶しているDBとして、汎用辞書151、ドメイン辞書152、案件辞書153、ログデータ154がある。詳細な説明は後述する。
図1の構成では、知識バンク1はDBを含むデータベースサーバとして説明しているが、DBの部分は外部に分離し、ネットワーク20を介してデータのみを呼び出して処理する端末として構成してもよい。また、逆に制御部14の任意の機能だけを独立させて情報処理装置として構成してもよい。図1に示した各要素は、有線または無線のネットワークを介してデータの送受信が可能であれば、全てを纏めて一体の装置にする必要はない。
<2.DBの全体構成>
図2は、知識バンク1に格納される知識の階層構造を示す概念図である。具体的には、記憶装置15に格納されている同義語辞書である。この例では3階層の階層であるが、階層はそれより多くても少なくてもよい。本実施例では汎用辞書151は事業分野に依存しない辞書、ドメイン辞書152は金融、公共などの同一分野に適用される分野別辞書、案件辞書153は同一分野の内の各タスク、例えば事業主体毎に適用される辞書としている。汎用辞書151は、分野に依存しないので、新しい分野の新規案件に適用するのに適している。また、ドメイン辞書152は、同一分野の新規案件に適用するのに適している。
案件辞書153には、同義語辞書の他、当該案件において使用される文章例、例えばQ&Aのテキストデータを格納しておくものとする。下位辞書(例えば案件辞書153)のテキストデータは、上位辞書(例えばドメイン辞書152)でも利用できるものとする。テキストデータの格納方式は、例えば後述の図4のようなものである。典型的な例では、下位辞書である案件辞書153の同義語辞書やテキストのデータは、ユーザーによって生成、入力される。上位辞書である汎用辞書151やドメイン辞書152は、後の実施例で説明するように、汎化の手法により生成することができる。
本実施例の知識バンク1が格納するログデータ154は、知識バンクが所定の文章に適用するべき同義語を提案した場合等に、その内容が妥当かどうかをユーザーが判断した結果を記憶したものである。ログデータ154については、後に詳しく述べる。
<3.知識バンクの利用例>
図3は、知識バンク1の利用例の一例を示す概念図である。いま、A庁、B銀行、C銀行の案件辞書153、公共と金融のドメイン辞書152、汎用辞書151から構成された知識バンクがあり、この知識バンクを用いてD銀行の対話データ301中の単語の同義語を抽出する例を考える。
D銀行の対話データ301は、例えばユーザーが準備したQ&Aのテキストであり、入出力装置13からテキストデータとして入力される。対話データ中の任意の単語は、生成部142によって知識バンクを検索することにより、同義語候補が生成される(S302)。
図4は対話データ301の例である。D銀行の対話IDごとに、質問文と回答文のテキストのペアが準備されている。対話データ301の中で、同義語で展開を行う単語は記号<>で囲って表している。どの単語を展開するかはユーザーが選択してもよいし、公知の構文解析で自動的に名詞や動詞を抽出するようにしてもよい。
図5は、ドメイン辞書152の例であり金融ドメインの同義語のリストを格納している。ここでは、新しい案件であるD銀行の対話データ301の同義語を検索するため、金融のドメイン辞書152を検索する例としているが、他の案件辞書153や汎用辞書151から任意の複数を選択して検索してもよい。生成部142は、例えば対話データ301中の「エレベータ」を対象として、案件辞書153から「昇降機」「リフト」等を抽出し、同義語候補として入出力装置13に表示する。
ここで、「見出し語」とは同義語の集合を表すIDのことをいう。例えば、{エレベータ, 昇降機, リフト}という同義語集合のIDを便宜上わかりやすく<エレベータ>としている。一つの見出し語に対して、同義語の集合が対応する。
図6は、案件辞書153の例であり、公共ドメインの下位辞書であるA庁の案件辞書153の内容を示す。本実施例では、案件辞書153は知識バンクの最下層の知識であり。案件辞書153の同義語関係等は、基本的にユーザーが作成して登録したり、入出力装置13から入力したりするものとする。
汎用辞書151やその他の階層の辞書も、基本的にドメイン辞書152や案件辞書153の構成と同様である。ただし、同義語としてまとめられている同義語集合はそれぞれ異なる場合がある。
ユーザーは、同義語辞書を検索した結果抽出された同義語候補を入出力装置13の表示装置で確認して、それが妥当かどうかを評価し、例えば正例(True)、負例(False)の分類で入力する(S303)。なお、先に述べたように、ユーザーが評価を行うための表示装置や入力装置は、ネットワーク20で接続された遠隔地にある別の装置でもよい。この場合には、知識バンク1は、表示するための情報を入出力装置13の入出力インターフェースから送出し、送信されてくるユーザーの入力を受信する。
図7は、評価のために入出力装置13の表示装置に表示される入力画面の例である。ある辞書で登録されている同義語集合に含まれる同義語が、適用しようとしている文章(ここではD銀行の対話データ301)に鑑みて、同義語集合に含めることが適切かを評価している。後述するように、本実施例では各同義語辞書において、同義語が適切に適用できるかどうかをユーザーが評価した結果がカウントされ、ログデータ154として記録される。
図7で、画面左側には、金融ドメインの辞書の見出し語「エレベータ」に関する同義語集合{エレベータ,昇降機,施設}が表示されている。どの辞書に関する表示かは、辞書種類表示701に表示される。複数の同義語辞書を検索した場合には、例えばプルダウンメニューで辞書を切り替える。見出し語702は、スイッチ703,304で切り替えることができる。見出し語702に対応する同義語は、同義語リスト705で表示される。左のウィンドウの評価706にユーザーの評価「True/False」を入力する。
図7で、画面右側には、D銀行の対話データ301の中から、見出し語を含むテキストが表示されている。ここでは、「エレベータ」を含む質問文707と回答文708のペアが表示される。これらが、D銀行の対話データであることをドメイン表示709で表示する。スコア710、評価711は、後述する方法で計算したスコアSSであるが省略してもよい。評価711はこの例では用いない。図7では、2つのQ&Aが示されているが1つあるいは3つ以上でもよい。
ここでユーザーは、D銀行の対話データを参照しつつ、同義語集合{エレベータ,昇降機,施設}の各要素を同義語集合に含めることが適切かどうかを判定する。図7の例では、「エレベータ」と「昇降機」は適切だが、「施設」を同義語集合に含めると、適切でない変換が行われるとユーザーが判定している。
評価結果は、同義語候補が抽出された辞書のID、および、適用した文章のテキストとともにログデータ154として知識バンクに記憶される。このようなユーザーによる評価は、知識バンクが新しい同義語集合を提案した際にも行うことができる。また、知識バンクが辞書に登録する同義語候補を提案した際にも同様に行うことができる。
なお、評価706は、ログデータのカウントに基づいてデフォルト値を表示してもよい。例えば、金融ドメインで所定以上「False」の評価のカウントが多い語は、評価706に「False」表示される。ユーザーは、デフォルト値を変更することができる。ユーザーが評価706のデフォルト値を変更した場合、あるいは変更しなかった場合も、ログデータのカウントに含めることができる。変更しなかった場合はデフォルトの評価を追認したものとしてデフォルトの評価を1インクリメントし、変更した場合はデフォルトの評価の逆を評価したものとしてデフォルトと逆の評価を1インクリメントすることができる。あるいはデフォルト値の変更については、カウントに含めなくてもよい。
以上のようにして、D銀行の対話データ301は、ユーザーによって「True」評価を受けた同義語を用いて、同義語展開をすることができる。また、その結果を用いて、D銀行用の新たな案件辞書153を生成し、知識バンク1に登録してもよい。
図8Aは、ログデータ154に記録されるデータ形式の一例を示す表図である。例えば、評価された同義語集合が格納される辞書を特定する情報801、タイムスタンプ802、評価したユーザーID803、見出し語804、同義語805、質問文806と回答文807および、正例(True)、負例(False)の評価808が記録される。また、分類809は、評価がどのフェーズで行われたかを示す。評価フェーズとしては、汎化、拡張、適用の区分がある。タイムスタンプ802、ユーザーID803、分類809等はオプションでもよい。また、質問文806と回答文807は、適用フェーズでのオプション項目としてもよい。また、逆に他の項目、例えば、質問文806と回答文807のドメイン名を追加してもよい。
図8Aの1番目〜6番目の行は、図7の入力例がログデータとされた例である。D銀行の対話データ301に適用される、見出し語「エレベータ」の同義語「エレベータ」と「昇降機」と「施設」について、評価が入力されている。ユーザーは、例えば表示される質問文と回答文を参照し、この文例において同義語を見出し語「エレベータ」の同義語集合に含めることが適切かどうかを判定する。よって、ログデータの構成としては、見出し語804と同義語805の組に対してTrueまたはFalseの評価808が与えられる。
このように本実施例では、ユーザーによる同義語の評価は、その同義語が、あるシチュエーションで、ある同義語集合に含まれるのが適切か否かを表している。また、ログデータは、見出し語と同義語のペアに対してTrue/Falseが記録される。
なお、図8Aの例では、同義語「エレベータ」と「昇降機」については、図7右側の2つのQ&Aに対して「True」、同義語「施設」については、図7右側の2つのQ&Aに対して「False」の評価となっている。入力方法については、同義語とそれが適用されるテキストの組み合わせに対する評価ができれば、図7の方式に限る必要はない。
<4.知識バンクの知識の汎化>
上述のように、階層化された知識バンクにおいて、複数辞書、特に上位階層の辞書を検索することで、特定の案件辞書に限定されずに検索が可能となり、文書に適切な同義語集合を検索することができる。次に、どのようにして知識バンクの知識の汎化すなわち、上位辞書への同義語の登録を行うかを説明する。
図9は、共通部分の抽出による汎化処理の概念図である。いま、ある上位辞書X(例えば金融系ドメイン辞書152−1)への同義語の登録を考える。上位辞書Xの下位辞書y(例えばB銀行案件辞書153−1、C銀行案件辞書153−2)の集合をYとする。集合Yは、下位辞書y1、y2・・を含む。汎化部141は、下位辞書y1、y2・・で共通に同義語として登録されている語を、上位辞書Xで同義語として登録する。
例えば、「住宅」「マンション」「マイホーム」はB銀行の案件辞書153−1とC銀行の案件辞書153−2で共に同義語として登録されている。そこで、上位の金融系ドメイン辞書152−1でも同義語として登録する。また、「住宅」「マンション」は金融系ドメイン辞書152−1と公共系の案件辞書152−2で共に同義語として登録されている。そこで、上位の汎用辞書151でも同義語として登録する。
上記手法は下位辞書の共通部分を上位辞書とするので、同一案件、同一分野内であれば、同義関係が成り立ちやすい。ただし、共通部分を抽出する手法では、絞り込みしかされないため、本来であれば同義語であったような語が除去されてしまう。そこで本実施例では、多少の例外は許容して広めに同義語集合を作り、適用するかどうかはユーザーに評価させる仕組みを提案する。このとき、逆に広げすぎると、ノイズが増えてしまいユーザーの評価の手間が増えてしまう。そこで、以下の実施例では、カバー率とエラー率という尺度を導入している。
図10は、汎化部141が実行する、カバー率とエラー率を考慮した同義語候補の抽出シーケンスを示すフロー図である。いま上位辞書X(例えばドメイン辞書152)に同義語を登録することを考える。このとき、上位辞書Xの下位辞書(例えば案件辞書153)の集合Yにおける、ユーザーによる同義語評価結果から、上位辞書Xに登録する同義語の集合を求める。この処理は、任意のタイミングで随時あるいは定期的に行うことができる。
入力データ1001としては、以下を用いる。
1)上位辞書Xの下位辞書yの同義語データ
2)上位辞書Xの各下位辞書yの同義語候補に対するユーザーによる評価データ
3)上位辞書Xの下位辞書yの数N
4)任意に設定されるカバー率の下限値BC
5)任意に設定されるエラー率の上限値BE
1)下位辞書yの同義語データは、各辞書(例えば図6に示した案件辞書153)から得ることができる。2)ユーザーによる評価データは、ログデータ154から得ることができる。図7および図8で説明したように、辞書に登録された同義語を基にして提案された同義語候補は、ユーザーによって、汎化、拡張、適用それぞれのフェーズで正例(True)と負例(False)に分類評価されている。上記の2)で用いられるユーザーによる評価は、同じ同義語集合内の各同義語について、それが同義語集合に入るか入らないかを判定している。すなわち、見出し語と同義語の組に対してTrueまたはFalseの評価が行われている。図8で説明したように、この評価結果はログデータ154に記録されている。
処理S1003では、正例とされた同義語対と負例とされた同義語対の数を辞書ごとに集計する。処理S1003の詳細を、図10右側の処理S1003−1〜S1003−4で説明する。
汎化部141は、下位辞書yの同義語データから単語ペア(w1,w2)を抽出する(S1003−1)。そして、各単語ペア(w1,w2)についての共通の見出し語をxとしたとき、xとw1、xとw2の評価結果についてログデータ154を参照して評価データを抽出し(S1003−2)、それが正例とされた数posと不例とされた数negを辞書ごとに集計する(S1003−3)。
具体例で説明すると、図9の汎用辞書151の同義語候補を抽出しようとする場合、汎化部141は下位辞書である金融系ドメイン辞書152−1の見出し語<エレベータ>の同義語集合から単語ペア「エレベータ」と「施設」を抽出する(S1003−1)。そして、見出し語<エレベータ>と「エレベータ」、見出し語<エレベータ>と「施設」の評価結果についてログデータ154を参照する(S1003−2)。図8Aの例では、<エレベータ>と「エレベータ」の評価結果はTrueが2カウントでありposがプラス2、<エレベータ>と「施設」の評価結果はFalseが2カウントでありnegがプラス2である。このような計数を辞書ごとに行う(S1003−3)。
汎化処理の際に同義語対の正否判定を行う場合、ある同義語対が正しい(正例)と判定されるのは、その同義語対が同じ見出し語を持っていて、かつ、双方Trueとなっている場合になる。実際には、ログデータには複数のタイミングにおける複数の評価者の評価が含まれているので、同一の見出し語と同義語のペアに対して、異なる評価が与えられていることが想定される。そこで、以下に説明するように集計結果から多数決により辞書ごとの評価結果を決定する(S1003−4)。
図11は、集計の概念を説明する表図である。見出し語1101と同義語1102からなるペアについて、ドメイン1107と案件1106で指定される辞書における評価結果が集計されている。この例では、金融ドメインのB銀行辞書とC銀行辞書が対象になっている。集計は、図8に示したようなログデータに基づいて行うことができる。なお、ログデータに図8のように適用、汎化、拡張のフェーズの別がある場合には、例えば適用フェーズのデータだけ用いてもよい。あるいは、すべてのデータを用い、フェーズごとに異なる重みづけをしてもよい。
処理S1003−1でシステムは見出し語に対応した単語ペア(同義語対)を自動で生成する。図11では、見出し語<住宅>に対応する同義語集合{住宅,工場,家}が抽出されており、これらの同義語から同義語対を生成する。図11に示すように、当該辞書において、処理S1003−2でログデータを参照し、処理S1003−3で各同義語について正例(True)回数1104と負例(False)の回数1105が集計される。正例(True)と負例(False)の多寡により、各辞書において当該同義語(候補)が同義語として適切と評価されやすかったか、不適切と評価されやすかったが、総合的な評価結果1103として判定される。総合的な評価結果は、単純に多寡で評価してもよいし、正例(True)と負例(False)に任意の重みづけをしてもよい。また他の方式を採用してもよい。
統計的に、正例のカウントが多い同義語は言い換えが適切である事例が多い同義語であり(すなわち汎用性大)、負例のカウントが多い同義語は言い換えが不適切である事例が多い同義語である(すなわち汎用性小)ということが言える。よって、負例のカウントと正例のカウントに基づいて、下位辞書に登録された同義語を上位辞書に登録する候補とするかどうかを決めることができる。
先に述べたように、ある同義語対が正しい(正例)と判定されるのは、その同義語対が同じ見出し語を持っていて、かつ、双方Trueとなっている場合に限る。したがって、図11の例では、B銀行の辞書においては、「住宅」と「家」の同義語対が正例であり、「住宅」と「工場」、「家」と「工場」は負例となる。C銀行の辞書においては、「住宅」と「家」、「住宅」と「工場」、「家」と「工場」の全ての同義語対が正例と判定される。
以上のようにして各辞書で同義語対の正例・負例を判定し、汎化部141はログデータ154から以下の情報を得る。y1、y2は下位辞書を示し、(p1,p2)は正例として記録された単語ペア、(n1,n2)は負例として記録された単語ペアである。
正例: {y1:{(p1,p2), …}, y2:{…}, …} p1, p2は単語
負例: {y1:{(n1,n2), …}, y2:{…}, …} n1, n2は単語
各単語ペア(x1,x2)に対し、(x1,x2)が正例として多く現れる辞書数をカウントしPOSとする。同様に、(x1,x2)が負例として多く現れる辞書数をNEGとする(S1003−4)。図11の例で、B銀行辞書とC銀行辞書の2つを対象としているとすると、「住宅」と「家」の同義語対に対するPOS=2,NEG=0、「住宅」と「工場」の同義語対に対するPOS=1,NEG=1、「家」と「工場」の同義語対に対するPOS=1,NEG=1となる。
次に、以下の条件を満たす場合、単語ペア(x1,x2)を上位辞書Xでの同義対候補とする(S1004)。
POS / N ≧ カバー率下限値
NEG / N ≦ エラー率上限値
(Nは集合Yに属する下位辞書yの数)
カバー率下限値とエラー率上限値は事前にユーザーが設定しておく。POS / NとNEG / Nが0〜1の値をとるとすれば、カバー率もエラー率も、0〜1の値をとる。カバー率1とは、すべての辞書で同義語が適切と評価された例が多かったことを意味する。エラー率1とは、すべての辞書で同義語が不適切と評価された例が多かったことを意味する。
同義語候補とされた単語ペア(x1,x2)は、例えば「番号」と「電話番号」が同義語で、「番号」と「電番」が同義語である場合に、「番号」と「電話番号」と「電番」を同義語集合にするマージ処理を行う(S1005)。
同義語集合を得たら、同義語集合の適否を人間が評価する(S303)。評価結果は、ログデータ154として登録する。
図12は、同義語集合の適否をユーザーが評価するために、入出力装置13の表示装置に表示される入力画面の例である。下位辞書集合Yで登録されている同義語が、上位辞書Xの同義語集合として登録されるのに適切かを評価している。基本的な構成は図7と同じである。処理S1005で抽出された、上位辞書Xでの同義語候補となる同義語集合に対して、同義語として成立するかを評価706に入力する。
図12の例では、画面左側に見出し語「申請」に属する同義語集合「申請」「届出」「提出」が示され、画面右側に関連するドメインから抽出したテキストが表示される。この例では、金融のドメイン辞書の同義語集合を生成しようとしているので、参考のために、銀行の案件知識から得たQ&Aのテキストを表示してもよい。
ユーザーは、これらのQ&Aに対して、同義語候補が適切かどうかを評価706に入力する。
図8Bの1番目〜3番目の行は、図12の入力例がログデータとされた例である。金融ドメインに属するA銀行とB銀行の対話データ301に適用される、見出し語「申請」の同義語候補「申請」と「届出」と「提出」について、評価が入力されている。なお、この例では、同義語「申請」と「届出」については、「True」、同義語「提出」については、「False」の評価となっている。入力方法については、同義語に対する評価ができれば、図12の方式に限る必要はない。ユーザーの評価の結果として「申請」と「届出」を含む同義語集合1006が得られ、これを上位辞書Xに登録する。
<5.知識バンクの知識の拡張>
知識バンクでの知識の拡張、すなわち同義語対を増やす処理について説明する。同義語関係を推定するにあたって、演繹推論を用いることができる。例えば、「番号」と「電話番号」が同義語で、「番号」と「電番」が同義語であると、「電話番号」と「電番」が同義語であるとする演繹推論が成り立つ。しかしながら、同義語として成立するかどうかは、使用される文脈とも関連する。例えば、「番号」と「個人番号」が同義語で、「番号」と「電話番号」が同義語であるからといって、すべての文脈で「電話番号」と「個人番号」が同義語として成立するとはいいがたい(上述の知識の汎化では、同義語の可能性が大きいもの同士でマージ処理を行っている)。
同義語が同一の意味で解釈できるかは、文脈に依存するため、特定の文脈における単語の同義語を増やす際には、その同義語が文脈に合致しているかどうかを考慮しなければならない。そこで、以下の実施例では、文脈の類似度を考慮した辞書の拡張について説明する。
この実施例では、(1)同義語が成立している文章の文脈、(2)同義語を適用しようとする文章の文脈、(3)同義語を適用しようとする文章の集合、の三つの要素を考慮する。(3)の例としては、例えば適用しようとしている同義語が、同義語を適用しようとするQ&Aリストのうち、異なる回答を持つQ&Aに用いられている場合には、異なる意味で用いられていると推測し、適用しないというものがある。
以下の実施例では、上記(1)について、適用の評価に文脈の「類似度」を用いる。文脈にQ&Aを用いた場合には、類似度はQとAの類似度の組合せを考慮して評価する。例えば、質問文Q1と回答文A1からなるQ&Aペアにおいて、aとbが同義語として定義されており、質問文Q2と回答文A2からなるQ&Aペアにおいて、bとcが同義語として定義されている場合、aとcが同義語として定義できるかどうかをQ1、Q2、A1、A2を用いた類似度に基づいて決定する。類似度の組合せ方と類似度の評価は、例えば以下のようなものである。
Q1とQ2が類似度高、かつ、A1とA2が類似度高:類似度高
Q1とQ2が類似度低、かつ、A1とA2が類似度高:類似度中(高)
Q1とQ2が類似度高、かつ、A1とA2が類似度低:類似度中(低)
Q1とQ2が類似度低、かつ、A1とA2が類似度低:類似度低
本実施例では、登録済みの知識を基に新たな知識を出力する情報処理方法であって、新たな知識の推論部143を用いる。推論部では、対話における質問と回答のような種類の異なる文に対し、異なる寄与率を用いる。この例によれば、異なる種類のデータに対し、異なる寄与率を用いることで、高精度に知識を拡張することができる。
図13は、知識バンク1の推論部143が行う、知識の拡張処理S1300の全体フロー図である。この処理は、任意のタイミングで行うことができる。あるいは、定期的に行ってもよい。
まず、同義語候補を抽出する(S1301)。同義語候補の抽出において、推論部143は、記憶装置15から、汎用辞書151、ドメイン辞書152および案件辞書153の少なくとも一部分を読み出す。データを用いる範囲は、例えば同じ事業のドメインなど任意に定めてよい。任意の知識において、aとbが同義語であり、aとcが同義語であると定義されている場合に、bとcを同義語候補の単語ペアとする。
図14は、公共知識のドメイン辞書152の一例である。公共ドメインにおいて、図14のような同義語が定義されている場合に、1行目で「家」と「住宅」が同義語と定義され、3行目で「家」と「住居」が同義語であると定義されている場合、「住宅」と「住居」を同義語候補の単語ペアとする。
図15は、公共知識のドメイン辞書152の他の例である。図14のように1行目の「家」の同義語が「住宅」と「住まい」のように複数ある場合は、「住宅」と「住居」、「住まい」と「住居」の2つが同義語候補の単語ペアとなる。
以上の例では、同じ辞書内で同義語候補を抽出している。ただし、複数の辞書をまたいで同義語候補を抽出してもよい。例えばB銀行案件辞書153−1で「口座」と「銀行口座」が同義語で、C銀行案件辞書153−2で「口座」と「預金口座」が同義語の場合、「銀行口座」と「預金口座」を同義語候補としてもよい。対象とする辞書の条件設定は、ユーザーが任意に行ってよい。
次に、ユーザーは同義語候補を同義語として登録するかどうかの閾値となる数値、あるいはその他のパラメータを設定する(S1302)。閾値の機能は後述する。次に、推論部143は同義語候補の単語ペアのスコアを算出する(S1303)。
ここでスコアは、同義語候補が同義語として適切かどうかを、適用が想定される文章の文脈を考慮して評価するものである。基本的な考えとしては、aとbの同義語関係が成立する文章と、aとcの同義語関係が成立する文章が類似していればbとcの同義語関係が成立するとする。文章の類似度を測定するために、文章をベクトル化して比較するする種々の手法が知られている。文章のベクトル化については、公知であるため詳細な説明は省略する。
文章の類似度を用いた評価方法では、あるQ&Aに同義語候補bとcを適用した場合、その同義語候補のスコアSは以下のように示される。ただし、q1,a1は見出し語aに対してbの同義語関係が成立する質問文と回答文。q2,a2は見出し語aに対してcの同義語関係が成立する質問文と回答文である。simは類似度を示す関数である。
S = 1/2*sim(q1, q2) + 1/2*sim(a1, a2)
上記のスコアSの計算では、質問文と回答文を同じ重みに取り扱っている。しかしながら、発明者らの検討によると、スコアについて以下の2つの要素を考慮することがより望ましい。
(1)特に対話データでは、質問文の類似度よりも回答文の類似度の方が同義語か否かの判断に相関がある。したがって、類似度の評価では、質問文の類似度よりも回答文の類似度に重みをつけて評価することが望ましい。
(2)対話データでは、同一の対話データ内の別の回答文をもつ質問文として、同義語候補を置き換えた文に似た表現が存在する場合は、ペナルティ項として考慮する。すなわち、回答文が異なるということは、質問文は異なる意味であるはずである。それにもかかわらず、同義語候補を置き換えた場合に質問文が類似するということは、その置き換えは不適切であるということになる。
いま、対話データ1の質問文q1iと回答文a1iからなる質問文と回答文ペアがあり、q1iが見出し語<e1>を含んでいて、<e1>の同義語としてsyn11とsyn12が定義されているとする。また、対話データ1に含まれる質問文の集合{q11, …, q1i, …, q1n}をQ1とする。一方、対話データ2の質問文q2jと回答文a2jからなる質問文と回答文ペアがあり、q2jが見出し語<e2>を含んでいて、<e2>の同義語としてsyn11とsyn22が定義されているとする。また、対話データ2に含まれる質問文の集合{q21, …, q2j, …, q2m}をQ2とする。i, j, n, mは正の整数であり、1≦i≦n、1≦j≦mの関係にあるとする。
図16は、対話データ1、対話データ2、対話データ1の同義語データ、対話データ2の同義語データの例を示す表図である。これらのデータは、同義語候補が抽出された辞書、例えば案件辞書153から得るが、対話データが含まれていることが必要である。例えば、対話データ1と対話データ1の同義語データは、B銀行の案件辞書153−1から取得する。対話データ2と対話データ2の同義語データは、C銀行の案件辞書153−2から取得する。
図16の例では、対話データ1でsyn11とsyn12が同義語、対話データ2でsyn11とsyn22が同義語であることから、syn12とsyn22が処理S1301で同義語候補として抽出された例を示している。ここで同義語候補syn12とsyn22が同義語として定義できるか否かを判断するスコアSの計算に下の式を用いる。
S=(1-K)*sim(q1, q2) + K*sim(a1, a2)
− L*max{sim(q1, f1(q, syn11, syn22)); q∈Q1−{f2(q1i)}}
− L*max{sim(q2, f1(q, syn11, syn12)); q∈Q2−{f2(q2j)}}
右辺第1項と第2項で、q1,a1は対話データ1の質問文と回答文であって、aとbの同義語関係が成立する。q2,a2は対話データ2の質問文と回答文であって、aとcの同義語関係が成立する。simは類似度を示す関数である。同義語が複数のQ&Aに出現する場合は、右辺第1項は平均をとる。例えば、対象データ1にq1iとq1kが含まれており、両方に見出し語<e1>が含まれている場合を考える。kは正の整数であり、1≦k<iまたはi<k≦nの関係にある。この時、右辺第1項は以下のようになる。第2項も同様である。
(1-K)*avg(sim(q1i, q2j) + sim(q1k, q2j))
第3項は下記のようになる。第4項も同様である。
L*max{sim(p, f1(q, syn11, syn22)); q∈Q1−{f2(q1i), f2(q1k)} ∧ p∈{q1i, q1k}}
Kは0≦K≦1を満たす正の数であり、ユーザーが処理S1302で設定する。Kは質問文と回答文の類似度をスコアSに反映させるに際して、重みづけを行うものである。これにより、文脈の部分毎に重みづけをすることが可能となる。上記(1)の知見を考慮すると、0.5<Kとして回答文の類似度に重みをつけることが望ましい。以上の説明から明らかなように、右辺第1項+第2項が大きいほど、syn12とsyn22が同義語として定義される可能性が大きい。
次に、右辺第3項および第4項は、上記(2)を考慮したものである。Lは0≦L≦1を満たす正の数でユーザーが処理S1302で設定する。f1(q, syn1, syn2)は質問文qのsyn1を同義語にもつ見出し語をsyn2に置換した文を出力する関数である。f2(q)はqの回答文を回答に持つ質問文の集合を出力する関数である。
上記定義によれば、右辺第3項のq∈Q1−{f2(q1)}は、Q1に含まれる質問文の内、q1の回答文を回答に持つ質問文以外の質問文(q1の回答文を回答に持たない質問文)である。そして、max{sim(q1, f1(q, syn11, syn12))は、q1の回答文を回答に持たない質問文を同義語で置換した文と、q1の類似度の最大値を判定する。回答が異なるので、これらの質問文は類似してはならない。よって、右辺第3項はペナルティ項として作用する。Lはペナルティ項の重みである。右辺第3項は、対話データ1について考慮したものであり、右辺第4項は、同様に対話データ2について考慮したものである。
最終的にスコアSをユーザーが処理S1302で設定した閾値と比較して、同義語候補syn12とsyn22を同義語として登録するかどうかを決定する。同義語と決定された場合には、対話データ1および対話データ2を取得した辞書、例えば案件辞書153において、これらを同義語集合に含め登録する。
図17は、対話データでは、質問文の類似度よりも回答文の類似度の方が同義語か否かの判断に相関があることを示す例である。ここでは4つのドメイン辞書152から同義語候補を抽出している。ここでは「ナンバー」を介して下記の同義語候補があるが、同義語になるのは(1)と(6)のみである。
(1)「自動車登録番号」、「ナンバープレート」
(2)「自動車登録番号」、「マイナンバー」
(3)「自動車登録番号」、「個人番号」
(4)「ナンバープレート」、「マイナンバー」
(5)「ナンバープレート」、「個人番号」
(6)「マイナンバー」、「個人番号」
図18は、図17の例で質問文の類似度、回答文の類似度、同義語判定の関係を示す表である。回答文の類似度の方が質問文の類似度よりも重みを大きくしている。そのため、質問文の類似度のみが高いQ2-Q3の(4)や、Q2-Q4の(5)は、同義語にならないという判定になっている一方、回答文の類似度のみが高いQ1-Q2の(1)は同義語判定がされている。
質問文や回答文の類似度が近い場合には、図18の表示とともに図17のように質問文と回答文を並べて表示すると、ユーザーの評価が容易になる。また、質問文が類似し、回答文が非類似の割合が多い場合には、適切な同義語候補が含まれない可能性があるので、警告を発するなどしてユーザーの注意を喚起することが望ましい。
<4.知識バンクの知識の汎化>で説明したのと同様に、ここでも同義語候補はユーザーに評価される。汎化部141は計算したスコアSを用いて、例えば処理S1302で設定した閾値以上のスコアを持つものを、入出力装置13でユーザーに表示する。その際にスコアを表示してソートしてもよい。
ユーザーが、(1)「自動車登録番号」、「ナンバープレート」、(6)「マイナンバー」、「個人番号」をTrueと評価した場合、図8Cの1行目〜8行目のように、当該語が用いられている辞書の種類とともに、True評価が記録される。
また、このとき、当該語が用いられている辞書には、新しい同義語対として見出し語<自動車登録番号>に「自動車登録番号」と「ナンバープレート」、見出し語<マイナンバー>に「マイナンバー」と「個人番号」を登録してもよい。このようにして同義語辞書の拡張が可能になる。
<6.知識バンクの知識の適用>
今までの説明では、知識バンクの知識を汎化、拡張して、同義語辞書を進化させる仕組みを解説した。次に、このように生成された知識バンクの知識を実際の文章に適用して、同義語の置き換えを行う処理を説明する。同義語が同一の意味を有するかは文脈に依存するため、ある同義語集合が特定の文脈における同義語として適切かどうかは、その同義語が文脈に合致しているかを確認しなければならず、大きなコストがかかっていた。知識バンクの特に上位の汎用的な辞書の同義語を適用する場合、人によるチェックを省いて常に適切な置き換えを可能とすることは難しい。
図19は、本実施例の適用処理の流れを示す流れ図である。適用処理S1900は、図3の生成処理S302の一部または全部に用いることができる。
生成部142への入力とするのは、同義語による置き換えをしようとする対話データ301例えば、Q&Aリストである(図3ではD銀行の対話データ301)。Q&Aリストの質問文の集合をQ、質問文をqとする。また、検索対象となるドメインdの辞書データ(図3では例えば金融のドメイン辞書152)すなわち同義語集合を入力する。生成部142の出力は、Q&Aリストの各質問文qに対して、同義語集合WとそのスコアSSの対の集合である。Q&Aリストの各質問文qに対してS1903〜S1908を実行する(S1902)。まず質問文qを固定長のベクトルVに変換する(S1903)。質問文qに含まれる各単語wに対してS1905〜S1908を実行する(S1904)。
wが含まれる同義語集合Wを検索により求める(S1905)。検索対象はdで定義されている辞書の同義語集合とする。複数の同義語集合Wがある場合は、各Wに対してS1906〜S1908を実行する。
生成部142はスコアS1を計算し(S1906)、スコアS2を計算し(S1907)、S1−KK*S2をスコアSSとする(S1908)。それぞれの詳細について、以下説明する。
スコアS1の計算(S1906)では、同義語集合Wの要素が出現する文の文脈分布WC=(AVE, VAR)上での質問文ベクトルVの生成確率を計算しS1(0≦S1≦1)とする。
図20は、スコアS1の計算(S1906)の詳細な流れ図である。入力は同義語集合2001W={w1, w2, …}であり、出力は同義語集合Wの要素w1, w2, …が出現する文の文脈分布WC上の質問文ベクトルの生成確率である。
まず、Wのいずれかの語w1, w2, …が出現する質問の集合をQ&Aリストから検索し、Q={q1, q2, …}とする(S2002)。
次に、Qの各要素を固定長のベクトルに変換しQV={qv1, qv2, …}とする(S2003)。ベクトル化の手法は、例えば、word2vecと呼ばれる単語埋め込み表現の学習手法を用いてqの各単語を固定長のベクトルに変換しそれらを平均する。または、doc2vecと呼ばれる文のベクトル化の手法を用いて直接qを固定長のベクトルに変換してもよい。
そして、QVの平均ベクトルAVEと共分散行列VARを計算し、文脈分布WC=(AVE, VAR)とする(S2004)。文脈分布WCにおける、質問文qの固定長のベクトルVの生成確率を求め、スコアS1とする(S2005)。
スコアS1は、質問文qと、質問文q中にある語の同義語が用いられている文の関係を示す。同義語集合内の単語が使われている文脈(つまり文)の分布(平均と分散)から確率を計算するのが特徴になる。例えば、同義語集合内の単語が使われている文がいずれもほぼ同じであれば、質問文qもそれらと近くなるはずである。この場合、分散が小さいので、対象のqが平均と少し違うだけで生成確率S1が小さくなる。逆に、同義語集合内の単語が使われている文がお互いに似ていない場合は、どのような文であっても同義語展開できる可能性があるということになる。この場合は分散が大きくなるため、平均から多少はずれていても生成確率S1が大きくなる。
したがってS1が大きい場合、同義語集合Wは質問文qに適用することが適切な可能性が大であり、S1が小さい場合、同義語集合Wは質問文qに適用することが適切でない可能性が大であるといえる。以上のスコアS1の計算については、Q&Aのうち質問文だけを処理してよい。
スコアS2の計算(S1907)では、質問文qを同義語集合W内の各同義語wで同義語展開(置換)した文をq’とする。そして、q’に最も類似する他の質問文(ただしqに対する回答文とは別の回答文を持つ)を検索し、その類似度をS2(0≦S2≦1)とする。ここで、
S2 = max{sim(q’, q’’)}
ただし、q’はqをw∈Wで置換した文,q’’∈Q−{a2q(q2a(q))}
である。また、
q2a(x): xを質問文とする回答文を出力する関数
a2q(x): xを回答文とする質問文を出力する関数
である。すなわちq’’はqに対する回答と異なる回答を持つ質問文である。同義語集合W内の同義語wが複数ある場合は、q’も複数あるので、S2は類似度の最大値maxをとる。
スコアS2の意図は、質問文を同義語展開後に別の回答を持つ質問と類似してしまう危険性をスコアに反映したいということである。別の回答を持つ質問は、当然別の意味を持つ質問であるから、これらが類似してしまう言い換えを可能とする同義語集合は候補から削除すべきである。よって、スコアS2はペナルティ項として作用する。
最終的にS1 − KK*S2をSSとする(S1908)。ただしKKは0≦KK≦1である。ここで、KKはペナルティ項の重みであり、ユーザーが任意に設定してよい。最終的に、質問文qと同義語集合WとスコアSSを出力する。
なお、図19の例では、スコアS1の計算とスコアS2の計算を順次行っているが、スコアS1が所定の閾値を超えない場合、スコアS2の計算以降を省略してその同義語集合Wを候補から削除してもよい。
図21は、適用処理S1900の結果を入出力装置13に表示して、ユーザーが評価をするための画面の例である。Q&Aリストの各質問文qに対して、同義語集合WとそのスコアSSを示している。
画面右側にD銀行のQ&Aの質問文707と回答文708が表示されている。D銀行のドメインであることがドメイン表示709で表示される。評価される同義語集合Wは、画面左側の表示されており、この同義語集合が右側のQ&Aに適切かどうかの参考のために、スコアSSがスコア710に提示されている。ユーザーはスコア710を参考に、最終的な評価を評価711に入力することができる。評価結果は、D銀行の知識の評価結果として、ログデータとして記録される。同義語集合がQ&Aに適切であれば、その同義語集合(辞書)を用いて、テキストを同義語展開することができる。あるいは、適切と評価された同義語集合を集めて、新たな辞書を作成することもできる。
この場合、「申請」「届出」「提出」からなる同義語集合Wについて、図21右側1行目の「<申請>に必要な書類は?」の質問文を含むQ&Aには適用可、2行目の「<申請>できる場所は?」Q&Aには適用不可の評価である。よって、それぞれのQ&Aに対して同義語集合Wの要素がTrue、Falseで評価される。
また、True評価のQ&Aに対して使用する、画面左側に提示された同義語集合を同時に修正することも可能である。図21の例では、「届出」と「提出」はFalseと評価されて同義語集合から除外された。また、ユーザーは新たな同義語をその場で追加することもできる。図21の例では、「申告」があらたに追加されている。
図8Dの1行目〜4行目は、適用におけるユーザーの評価結果をログデータに記録したものである。見出し語<申請>が適用可能なQ&Aに対して、さらに見出し語の同義語集合の適用可能性が判定されている。また、追加された「申告」にはTrue評価がされる。また、評価711はQ&Aと同義語集合Wの組に対して別途記録する。
なお、質問文の生成確率を示す上記のスコアS1に、<4.知識バンクの知識の汎化>で説明したカバー率とエラー率を反映させることもできる。例えば、カバー率とエラー率の2つを、何等かの方法で単一のスコアにする。例えば、単純に平均を計算して、
score = (カバー率 + ( 1 − エラー率))/2
をそれぞれの同義語集合に付与しておく。スコアS1と上記のscoreを乗算して、S1 * scoreを新たな指標として、S1に代えて用いることができる。
知識バンク1、CPU11、データ通信部12、入出力装置13、入力処理部16、出力処理部17、汎化部141、生成部142、推論部143、汎用辞書151、ドメイン辞書152、案件辞書153、ログデータ154

Claims (15)

  1. 入力装置、出力装置、処理装置および記憶装置からなり、推論部を備える情報処理装置で実行される情報処理方法であって、
    前記推論部は、
    第1の質問文と第1の回答文の組を含む第1のテキストデータと、第2の質問文と第2の回答文の組を含む第2のテキストデータを入力する、第1のステップ、
    前記第1のテキストデータの中の語aを語bに置き換え可能とする第1の同義語関係が成立し、前記第2のテキストデータの中の前記語aを語cに置き換え可能とする第2の同義語関係が成立している場合、前記第1の回答文と前記第2の回答文の類似度である第1の類似度と、前記第1の質問文と前記第2の質問文の類似度である第2の類似度から、前記語bと前記語cの類似度を計算する、第2のステップ、
    を実行し、
    前記計算において前記第1の類似度の寄与率と前記第2の類似度の寄与率が異なる、
    情報処理方法。
  2. 前記第1の類似度の寄与率を前記第2の類似度の寄与率より大きくする、
    請求項1記載の情報処理方法。
  3. 前記第2のステップでは、
    前記第1のテキストデータと前記第2のテキストデータをベクトル化して、前記第1の類似度と前記第2の類似度を計算する、
    請求項1記載の情報処理方法。
  4. 第1のデータベースから、前記第1のテキストデータと前記第1の同義語関係を取得し、
    第2のデータベースから、前記第2のテキストデータと前記第2の同義語関係を取得する、
    請求項1記載の情報処理方法。
  5. 前記第1のデータベースから、前記第1のテキストデータ以外の第1の参考テキストデータを得、前記第1の参考テキストデータの質問文の前記語aを、前記語cで置換した第1の置換質問文を生成する第3のステップ、
    前記第1の参考テキストデータから、前記第1の質問文に最も類似する質問文であって、前記第1の回答文とは異なる回答文を持つ第1の置換質問文を検索する第4のステップ、
    前記第1の質問文と前記第1の置換質問文の類似度を求め、第1のペナルティスコアとする第5のステップ、
    を実行する、請求項4記載の情報処理方法。
  6. 前記第2のデータベースから、前記第2のテキストデータ以外の第2の参考テキストデータを得、前記第2の参考テキストデータの質問文の前記語aを、前記語bで置換した第2の置換質問文を生成する第6のステップ、
    前記第2の参考テキストデータから、前記第2の質問文に最も類似する質問文であって、前記第2の回答文とは異なる回答文を持つ第2の置換質問文を検索する第7のステップ、
    前記第2の質問文と前記第2の置換質問文の類似度を求め、第2のペナルティスコアとする第8のステップ、
    を実行する、請求項5記載の情報処理方法。
  7. 前記第1の類似度と前記第2の類似度をポジティブなパラメータ、前記第1のペナルティスコアと前記第2のペナルティスコアをネガティブなパラメータとして、前記語bと前記語cの類似度を評価するためのスコアを生成する、
    請求項6記載の情報処理方法。
  8. 前記第1の類似度と前記第2の類似度を、ユーザーに対して表示する、
    請求項1記載の情報処理方法。
  9. 入力装置、出力装置、処理装置および記憶装置からなり、推論部を備える情報処理装置であって、
    前記推論部は、
    第1の質問文と第1の回答文の組を含む第1のテキストデータと、第2の質問文と第2の回答文の組を含む第2のテキストデータを入力する、第1の機能、
    前記第1のテキストデータの中の語aを語bに置き換え可能とする第1の同義語関係が成立し、前記第2のテキストデータの中の前記語aを語cに置き換え可能とする第2の同義語関係が成立している場合、前記第1の回答文と前記第2の回答文の類似度である第1の類似度と、前記第1の質問文と前記第2の質問文の類似度である第2の類似度から、前記語bと前記語cの類似度を計算する、第2の機能、
    を備え、
    前記計算において前記第1の類似度の寄与率と前記第2の類似度の寄与率が異なる、
    情報処理装置。
  10. 前記第1の類似度の寄与率を前記第2の類似度の寄与率より大きくする、
    請求項9記載の情報処理装置。
  11. 前記第2の機能では、
    前記第1のテキストデータと前記第2のテキストデータをベクトル化して、前記第1の類似度と前記第2の類似度を計算する、
    請求項9記載の情報処理装置。
  12. 第1のデータベースから、前記第1のテキストデータと前記第1の同義語関係を取得し、
    第2のデータベースから、前記第2のテキストデータと前記第2の同義語関係を取得する、
    請求項9記載の情報処理装置。
  13. 前記第1のデータベースから、前記第1のテキストデータ以外の第1の参考テキストデータを得、前記第1の参考テキストデータの質問文の前記語aを、前記語cで置換した第1の置換質問文を生成する第3の機能、
    前記第1の参考テキストデータから、前記第1の質問文に最も類似する質問文であって、前記第1の回答文とは異なる回答文を持つ第1の置換質問文を検索する第4の機能、
    前記第1の質問文と前記第1の置換質問文の類似度を求め、第1のペナルティスコアとする第5の機能、
    を備える、請求項12記載の情報処理装置。
  14. 前記第2のデータベースから、前記第2のテキストデータ以外の第2の参考テキストデータを得、前記第2の参考テキストデータの質問文の前記語aを、前記語bで置換した第2の置換質問文を生成する第6の機能、
    前記第2の参考テキストデータから、前記第2の質問文に最も類似する質問文であって、前記第2の回答文とは異なる回答文を持つ第2の置換質問文を検索する第7の機能、
    前記第2の質問文と前記第2の置換質問文の類似度を求め、第2のペナルティスコアとする第8の機能、
    を備える、請求項13記載の情報処理装置。
  15. 前記第1の類似度と前記第2の類似度をポジティブなパラメータ、前記第1のペナルティスコアと前記第2のペナルティスコアをネガティブなパラメータとして、前記語bと前記語cの類似度を評価するためのスコアを生成する、
    請求項14記載の情報処理装置。
JP2019174274A 2019-09-25 2019-09-25 情報処理方法および情報処理装置 Active JP7481100B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019174274A JP7481100B2 (ja) 2019-09-25 2019-09-25 情報処理方法および情報処理装置
US16/809,903 US11507755B2 (en) 2019-09-25 2020-03-05 Information processing method and information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019174274A JP7481100B2 (ja) 2019-09-25 2019-09-25 情報処理方法および情報処理装置

Publications (2)

Publication Number Publication Date
JP2021051567A true JP2021051567A (ja) 2021-04-01
JP7481100B2 JP7481100B2 (ja) 2024-05-10

Family

ID=74880973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019174274A Active JP7481100B2 (ja) 2019-09-25 2019-09-25 情報処理方法および情報処理装置

Country Status (2)

Country Link
US (1) US11507755B2 (ja)
JP (1) JP7481100B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7137028B1 (ja) 2022-02-25 2022-09-13 株式会社Jsol 質問文生成装置、質問文生成方法、質問文生成プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220382753A1 (en) * 2021-05-27 2022-12-01 International Business Machines Corporation Narrowing synonym dictionary results using document attributes
CN113673225A (zh) * 2021-08-20 2021-11-19 中国人民解放军国防科技大学 中文句子相似性判别方法、装置、计算机设备和存储介质
US11914630B2 (en) * 2021-09-30 2024-02-27 Paypal, Inc. Classifier determination through label function creation and unsupervised learning
CN114707489B (zh) * 2022-03-29 2023-08-18 马上消费金融股份有限公司 标注数据集获取方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9002869B2 (en) 2007-06-22 2015-04-07 Google Inc. Machine translation for query expansion
US7890539B2 (en) * 2007-10-10 2011-02-15 Raytheon Bbn Technologies Corp. Semantic matching using predicate-argument structure
JP5311002B2 (ja) 2008-06-30 2013-10-09 日本電気株式会社 質問回答検索システム及びその方法とプログラム
WO2013136532A1 (en) * 2012-03-14 2013-09-19 Nec Corporation Term synonym acquisition method and term synonym acquisition apparatus
WO2013142493A1 (en) * 2012-03-19 2013-09-26 Mayo Foundation For Medical Education And Research Analyzing and answering questions
US9535898B2 (en) * 2013-02-06 2017-01-03 International Business Machines Corporation Natural language question expansion and extraction
US9378204B2 (en) * 2014-05-22 2016-06-28 International Business Machines Corporation Context based synonym filtering for natural language processing systems
US10019513B1 (en) * 2014-08-12 2018-07-10 Google Llc Weighted answer terms for scoring answer passages
JP6980411B2 (ja) 2017-05-23 2021-12-15 株式会社日立製作所 情報処理装置、対話処理方法、及び対話処理プログラム
US11468050B2 (en) * 2017-11-30 2022-10-11 International Business Machines Corporation Learning user synonyms from sequenced query sessions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7137028B1 (ja) 2022-02-25 2022-09-13 株式会社Jsol 質問文生成装置、質問文生成方法、質問文生成プログラム
JP2023124315A (ja) * 2022-02-25 2023-09-06 株式会社Jsol 質問文生成装置、質問文生成方法、質問文生成プログラム

Also Published As

Publication number Publication date
US20210089722A1 (en) 2021-03-25
JP7481100B2 (ja) 2024-05-10
US11507755B2 (en) 2022-11-22

Similar Documents

Publication Publication Date Title
JP2021051567A (ja) 情報処理方法および情報処理装置
CN112184525B (zh) 通过自然语义分析实现智能匹配推荐的系统及方法
Kirui et al. Predicting customer churn in mobile telephony industry using probabilistic classifiers in data mining
CN107851097B (zh) 数据分析系统、数据分析方法、数据分析程序及存储介质
Khoshfetrat et al. Critical risk factors for implementing building information modelling (BIM): a Delphi-based survey
US9275042B2 (en) Semantic clustering and user interfaces
US20160239480A1 (en) Performing Linguistic Analysis by Scoring Syntactic Graphs
US20150142423A1 (en) Phrase-based data classification system
US10983786B2 (en) Automatically evaluating software project requirements
US11645686B2 (en) Graphical approach to multi-matching
US20130326470A1 (en) Domain-specific generation of programming interfaces for business objects
CN110727852A (zh) 一种推送招聘推荐服务的方法、装置及终端
US20230050197A1 (en) Systems and methods quantifying trust perceptions of entities within social media documents
Hemming et al. Improving expert forecasts in reliability: Application and evidence for structured elicitation protocols
Alhari et al. Enterprise Architecture: A Strategy to Achieve e-Government Dimension of Smart Village Using TOGAF ADM 9.2
JP7316165B2 (ja) 情報処理方法および情報処理装置
CN110992194A (zh) 一种基于含属性的多进程采样图表示学习模型的用户参考指数算法
Haag et al. Augmented cross-selling through explainable AI--a case from energy retailing
CN113821588A (zh) 文本处理方法、装置、电子设备及存储介质
Olsen Social Statistics Using Strategic Structuralism
CN112508690A (zh) 一种基于联合分布适配的风险评估方法、装置和电子设备
CN115936758A (zh) 基于大数据的智能拓客方法及相关装置
CN109919811B (zh) 基于大数据的保险代理人培养方案生成方法及相关设备
Hayek et al. Machine learning and external auditor perception: An analysis for UAE external auditors using technology acceptance model
Bohner Decision-support systems for sustainable urban planning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230404

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230810

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230828

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20230908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240425

R150 Certificate of patent or registration of utility model

Ref document number: 7481100

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150