特許第6976482号(P6976482)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三菱電機株式会社の特許一覧

特許6976482情報処理装置、生成方法、及び生成プログラム
<>
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000009
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000010
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000011
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000012
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000013
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000014
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000015
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000016
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000017
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000018
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000019
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000020
  • 特許6976482-情報処理装置、生成方法、及び生成プログラム 図000021
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6976482
(24)【登録日】2021年11月11日
(45)【発行日】2021年12月8日
(54)【発明の名称】情報処理装置、生成方法、及び生成プログラム
(51)【国際特許分類】
   G06F 40/30 20200101AFI20211125BHJP
   G06F 40/216 20200101ALI20211125BHJP
【FI】
   G06F40/30
   G06F40/216
【請求項の数】8
【全頁数】17
(21)【出願番号】特願2021-507870(P2021-507870)
(86)(22)【出願日】2020年9月2日
(86)【国際出願番号】JP2020033234
【審査請求日】2021年2月15日
【早期審査対象出願】
(73)【特許権者】
【識別番号】000006013
【氏名又は名称】三菱電機株式会社
(74)【代理人】
【識別番号】100116964
【弁理士】
【氏名又は名称】山形 洋一
(74)【代理人】
【識別番号】100120477
【弁理士】
【氏名又は名称】佐藤 賢改
(74)【代理人】
【識別番号】100135921
【弁理士】
【氏名又は名称】篠原 昌彦
(74)【代理人】
【識別番号】100083840
【弁理士】
【氏名又は名称】前田 実
(72)【発明者】
【氏名】伍井 啓恭
【審査官】 成瀬 博之
(56)【参考文献】
【文献】 特開2009−181408(JP,A)
【文献】 国際公開第2013/132614(WO,A1)
【文献】 特開2007−323475(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00−40/58
(57)【特許請求の範囲】
【請求項1】
複数の文字列を取得する取得部と、
前記複数の文字列に対して形態素解析を実行する形態素解析実行部と、
前記複数の文字列に対して形態素解析を実行することで得られた複数の品詞付単語の中の複数の述語である複数の単語と、前記複数の品詞付単語の中の複数の単語とに基づいて、前記複数の品詞付単語の中の複数の単語のうちの第1の単語の意味を推論するための推論情報を生成する生成部と、
を有し、
前記推論情報は、前記複数の述語である複数の単語のそれぞれと、複数の関係情報のそれぞれとの対応関係を示す情報であり、かつ3次元情報であり、
前記関係情報は、前記複数の品詞付単語の中の複数の単語のそれぞれの関係性を示す情報であり、かつ2次元情報である、
情報処理装置。
【請求項2】
前記生成部は、前記複数の品詞付単語の中の複数の動詞である複数の単語と、前記複数の品詞付単語の中の複数の単語とに基づいて、前記推論情報を生成する、
請求項1に記載の情報処理装置。
【請求項3】
前記複数の文字列は、質問文の文字列と、前記質問文に対する応答文の文字列とである、
請求項1又は2に記載の情報処理装置。
【請求項4】
指定受付部と、
推論部と、
をさらに有し、
前記取得部は、前記第1の単語を含む文字列である文字列データを取得し、
前記形態素解析実行部は、前記文字列データに対して形態素解析を実行し、
前記指定受付部は、前記文字列データに対して形態素解析を実行することで得らえた複数の単語の中の前記第1の単語の指定を受付け、
前記推論部は、前記文字列データに対して形態素解析を実行することで得らえた複数の単語と前記推論情報とに基づいて、前記第1の単語の意味を推論する、
請求項1から3のいずれか1項に記載の情報処理装置。
【請求項5】
前記第1の単語の意味の尤度を出力する出力部をさらに有する、
請求項4に記載の情報処理装置。
【請求項6】
特定部と、
出力部と、
をさらに有し、
前記取得部は、語義を示す複数の文字列である複数の語義文字列を取得し、
前記特定部は、前記複数の語義文字列の中から、推論された前記第1の単語の意味と同じ意味の語義文字列を特定し、
前記出力部は、特定された語義文字列を出力する、
請求項4に記載の情報処理装置。
【請求項7】
情報処理装置が、
複数の文字列を取得し、
前記複数の文字列に対して形態素解析を実行し、
前記複数の文字列に対して形態素解析を実行することで得られた複数の品詞付単語の中の複数の述語である複数の単語と、前記複数の品詞付単語の中の複数の単語とに基づいて、前記複数の品詞付単語の中の複数の単語のうちの第1の単語の意味を推論するための推論情報を生成
前記推論情報は、前記複数の述語である複数の単語のそれぞれと、複数の関係情報のそれぞれとの対応関係を示す情報であり、かつ3次元情報であり、
前記関係情報は、前記複数の品詞付単語の中の複数の単語のそれぞれの関係性を示す情報であり、かつ2次元情報である、
生成方法。
【請求項8】
情報処理装置に、
複数の文字列を取得し、
前記複数の文字列に対して形態素解析を実行し、
前記複数の文字列に対して形態素解析を実行することで得られた複数の品詞付単語の中の複数の述語である複数の単語と、前記複数の品詞付単語の中の複数の単語とに基づいて、前記複数の品詞付単語の中の複数の単語のうちの第1の単語の意味を推論するための推論情報を生成する、
処理を実行させる生成プログラムであり、
前記推論情報は、前記複数の述語である複数の単語のそれぞれと、複数の関係情報のそれぞれとの対応関係を示す情報であり、かつ3次元情報であり、
前記関係情報は、前記複数の品詞付単語の中の複数の単語のそれぞれの関係性を示す情報であり、かつ2次元情報である、
生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、生成方法、及び生成プログラムに関する。
【背景技術】
【0002】
膨大なテキストの中から所望のテキストを検索する全文検索技術、記述内容に即してテキストを分類する文書分類技術、及び人間の質問に計算機が回答する質問応答技術が、長年研究されている。これらの技術では、自然言語で記述されたテキストの内容の意味を解析する意味処理が重要である。ここで、意味処理に関する技術が提案されている(特許文献1を参照)。また、意味処理に関する技術が、非特許文献1に記載されている。例えば、非特許文献1には、分散表現に基づく学習が例示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開昭62−221776号公報
【非特許文献】
【0004】
【非特許文献1】岡崎直観「言語処理における分散表現学習のフロンティア」、人工知能、Vol.31、No2、p189−201、2016.3
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献1に記載の技術では、1つの単語に1つの単語ベクトルが割当てられている。そのため、単語ベクトルが割当てられた単語は、1つの意味しか推論されない。しかし、単語の意味は、文脈によって変わる。よって、非特許文献1に記載の技術は、単語の多義性に対応できていない。また、非特許文献1に記載の技術は、ベクトルが次元圧縮されるため、学習時に膨大な処理時間を必要とする。
【0006】
本開示の目的は、短い処理時間で多義性に対応する学習済モデルを生成することである。
【課題を解決するための手段】
【0007】
本開示の一態様に係る情報処理装置が提供される。情報処理装置は、複数の文字列を取得する取得部と、前記複数の文字列に対して形態素解析を実行する形態素解析実行部と、前記複数の文字列に対して形態素解析を実行することで得られた複数の品詞付単語の中の複数の述語である複数の単語と、前記複数の品詞付単語の中の複数の単語とに基づいて、前記複数の品詞付単語の中の複数の単語のうちの第1の単語の意味を推論するための推論情報を生成する生成部と、を有する。前記推論情報は、前記複数の述語である複数の単語のそれぞれと、複数の関係情報のそれぞれとの対応関係を示す情報であり、かつ3次元情報である。前記関係情報は、前記複数の品詞付単語の中の複数の単語のそれぞれの関係性を示す情報であり、かつ2次元情報である。
【発明の効果】
【0008】
本開示によれば、短い処理時間で多義性に対応する学習済モデルを生成できる。
【図面の簡単な説明】
【0009】
図1】実施の形態1の情報処理装置が有するハードウェアの構成を示す図である。
図2】実施の形態1の学習フェーズにおける情報処理装置が有する機能ブロックを示す図である。
図3】実施の形態1の学習フェーズにおける情報処理装置が実行する処理の例を示すフローチャート(その1)である。
図4】実施の形態1の学習処理の例を示すフローチャートである。
図5】実施の形態1のサブ単語文脈行列の例(その1)を示す図である。
図6】実施の形態1のサブ単語文脈行列の例(その2)を示す図である。
図7】実施の形態1の学習フェーズにおける情報処理装置が実行する処理の例を示すフローチャート(その2)である。
図8】実施の形態1の質問文と応答文とに基づいて学習済モデルが生成される場合の具体例を示す図である。
図9】実施の形態1の活用フェーズにおける情報処理装置が有する機能ブロックを示す図である。
図10】実施の形態1の活用フェーズにおける情報処理装置が実行する処理の例を示すフローチャートである。
図11】比較例を示す図である。
図12】実施の形態2の活用フェーズにおける情報処理装置が有する機能ブロックを示す図である。
図13】実施の形態2の活用フェーズにおける情報処理装置が実行する処理の例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照しながら実施の形態を説明する。以下の実施の形態は、例にすぎず、本開示の範囲内で種々の変更が可能である。
【0011】
実施の形態1.
<学習フェーズ>
図1は、実施の形態1の情報処理装置が有するハードウェアの構成を示す図である。情報処理装置100は、生成方法を実行する装置である。情報処理装置100は、学習装置と呼んでもよい。例えば、情報処理装置100は、クラウドサーバと考えてもよい。また、情報処理装置100は、システムの一部であってもよい。
情報処理装置100は、プロセッサ101、揮発性記憶装置102、及び不揮発性記憶装置103を有する。
【0012】
プロセッサ101は、情報処理装置100全体を制御する。例えば、プロセッサ101は、CPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)などである。プロセッサ101は、マルチプロセッサでもよい。情報処理装置100は、処理回路によって実現されてもよく、又は、ソフトウェア、ファームウェア若しくはそれらの組み合わせによって実現されてもよい。なお、処理回路は、単一回路又は複合回路でもよい。
【0013】
揮発性記憶装置102は、情報処理装置100の主記憶装置である。例えば、揮発性記憶装置102は、RAM(Random Access Memory)である。不揮発性記憶装置103は、情報処理装置100の補助記憶装置である。例えば、不揮発性記憶装置103は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)である。
【0014】
次に、情報処理装置100が有する機能を説明する。
図2は、実施の形態1の学習フェーズにおける情報処理装置が有する機能ブロックを示す図である。情報処理装置100は、記憶部110、取得部120、形態素解析実行部130、述語分割部140、及び生成部150を有する。
【0015】
記憶部110は、揮発性記憶装置102又は不揮発性記憶装置103に確保した記憶領域として実現してもよい。
取得部120、形態素解析実行部130、述語分割部140、及び生成部150の一部又は全部は、処理回路によって実現してもよい。取得部120、形態素解析実行部130、述語分割部140、及び生成部150の一部又は全部は、プロセッサ101が実行するプログラムのモジュールとして実現してもよい。例えば、プロセッサ101が実行するプログラムは、生成プログラムとも言う。例えば、生成プログラムは、記録媒体に記録されている。
【0016】
取得部120は、学習用データを取得する。詳細には、取得部120は、複数の文字列を取得する。例えば、取得部120は、複数の文字列を含む学習用データを取得する。学習用データは、テキストデータである。また、学習用データは、学習用例文と呼んでもよい。
【0017】
形態素解析実行部130は、複数の文字列に対して形態素解析を実行する。これにより、複数の品詞付単語が得られる。
ここで、取得部120は、学習用データである文字列を順次取得してもよい。これにより、複数の文字列が取得される。そして、形態素解析実行部130は、順次取得された複数の文字列に対して形態素解析を実行してもよい。これにより、複数の品詞付単語が得られる。
述語分割部140の機能については、後で説明する。なお、述語分割部140の機能は、生成部150に含まれてもよい。すなわち、情報処理装置100は、記憶部110、取得部120、形態素解析実行部130、及び述語分割部140の機能を含む生成部150を有してもよい。
【0018】
生成部150は、複数の文字列に対して形態素解析を実行することで得られた複数の品詞付単語の中の複数の述語である複数の単語と、当該複数の品詞付単語の中の複数の単語とに基づいて、学習済モデルを生成する。言い換えれば、生成部150は、当該複数の品詞付単語の中の複数の述語に対応する複数の単語と、当該複数の品詞付単語の中の複数の単語とに基づいて、学習済モデルを生成する。ここで、当該複数の品詞付単語の中の複数の単語は、品詞が動詞、名詞、形容詞などの単語である。すなわち、当該複数の品詞付単語の中の複数の単語は、どんな品詞の単語でもよい。また、述語である単語は、動詞、形容詞、形容動詞、又はサ変名詞の単語である。
【0019】
また、学習済モデルは、推論情報と呼んでもよい。推論情報は、複数の述語である複数の単語のそれぞれと、複数の関係情報のそれぞれとの対応関係を示す情報である。関係情報とは、複数の単語のそれぞれの関係性を示す。関係情報は、2次元のテーブルで表されると考えてもよい。すなわち、関係情報は、2次元情報と考えてもよい。推論情報では、述語である単語と関係情報とが対応付いている。そのため、推論情報は、3次元情報と考えてもよい。よって、学習済モデルは、3次元情報と考えてもよい。
なお、後で例示するように、生成部150は、複数の品詞付単語の中の「運転する」、「作業する」、「飛ばす」などと、当該複数の品詞付単語の中の「ドライバー」、「車」などとに基づいて、学習済モデルを生成する。
【0020】
また、生成部150は、当該複数の品詞付単語の中の複数の述語である複数の単語と、当該複数の品詞付単語の中の複数の単語とに基づいて、学習済モデルを生成してもよい。
以下の説明では、生成部150は、当該複数の品詞付単語の中の複数の述語である複数の単語と、当該複数の品詞付単語の中の複数の名詞である複数の単語とに基づいて、学習済モデルを生成するものとする。
【0021】
なお、後の活用フェーズで説明するが、情報処理装置は、学習済モデルを用いて、複数の品詞付単語の中の複数の単語のうちの第1の単語の意味を推論することができる。例えば、情報処理装置は、学習済モデルを用いて、「ドライバー」の意味を推論することができる。なお、例えば、「ドライバー」は、第1の単語である。
【0022】
次に、情報処理装置100が実行する処理を、フローチャートを用いて説明する。
図3は、実施の形態1の学習フェーズにおける情報処理装置が実行する処理の例を示すフローチャート(その1)である。
(ステップS11)取得部120は、複数の文字列を取得する。
(ステップS12)形態素解析実行部130、述語分割部140、及び生成部150は、学習処理を実行する。学習処理では、学習済モデルが生成される。
(ステップS13)生成部150は、学習済モデルを記憶部110に格納する。また、生成部150は、情報処理装置100に接続可能な外部装置に学習済モデルを格納してもよい。
【0023】
図4は、実施の形態1の学習処理の例を示すフローチャートである。図4の処理は、ステップS12に対応する。
(ステップS21)形態素解析実行部130は、複数の文字列に対して形態素解析を実行する。詳細には、形態素解析実行部130は、複数の文字列を、複数の品詞付単語に分割する。具体例を用いて、形態素解析を説明する。例えば、形態素解析実行部130は、複数の文字列のうちの文字列「車を運転するドライバー」を、「車(名詞)」、「を(助詞)」、「運転する(動詞)」、及び「ドライバー(名詞)」に分割する。
【0024】
(ステップS22)述語分割部140は、複数の品詞付単語に基づいて、述語ごとにファイルを生成する。述語分割部140は、述語ごとに、述語を含む文字列の中の複数の名詞をファイルに登録する。例えば、述語分割部140は、述語である「運転する(動詞)」を含む文字列「車を運転するドライバー」の中の「車(名詞)」と「ドライバー(名詞)」を、「運転する(動詞)」のファイルに登録する。上記の例では、述語として動詞が用いられているが、述語として他の用言が用いられてもよい。
なお、述語を含む文字列の中の複数の名詞は、サブ学習用例文と呼ぶ。例えば、サブ学習用例文は、「車(名詞)」と「ドライバー(名詞)」である。
【0025】
(ステップS23)生成部150は、学習済モデルを生成する。学習済モデルは、強化学習、教師あり学習、転移学習、又は半教師あり学習などに基づいて、生成される。一例として、述語について階数を増やしたサブ単語文脈行列を用いた教師なし学習を説明する。ここで、教師なし学習とは、結果(すなわち、ラベル)を含まない学習用データを学習装置に与えることで、学習用データの特徴を学習する手法である。
【0026】
学習データに出現する単語のM種類の集合をw,…,wとした場合、サブ学習例文から得られるサブ単語文脈行列は、学習データ内の単語wiと単語wjがサブ学習例文で共起して出現した回数の総和#(i,j)をmi,jの要素とする行列Mに、それぞれの述語ラベルが付与されたモデルで表される。mi,jは、次の式(1)で表される。
【0027】
【数1】
【0028】
最終的に生成されるモデルは、階数3のテンソルで表現される。具体的には、生成されるモデルは、それぞれの述語ラベルVが付与されたサブ単語文脈行列で表される。なお、学習データ内のK種類の述語は、V,…,Vとする。なお、活用フェーズでは、情報処理装置は、複数のサブ単語文脈行列を用いて、単語の共起に紐づく意味として、紐づく述語ラベルを出力する。
【0029】
生成部150は、自己相互情報量の尺度を用いて学習済モデルを生成してもよい。単語wの出現回数がmであり、単語wの出現回数がmであり、学習データ内の総単語数がNである場合、自己相互情報量PMIi,jは、次の式(2)で表される。
【0030】
【数2】
【0031】
次に、具体的に処理を説明する。生成部150は、述語ごとに生成されたファイルを用いる。生成部150は、同じ述語のサブ学習用例文をカウントすることで、述語ラベルが付されたサブ単語文脈行列を生成する。サブ単語文脈行列を具体的に示す。
【0032】
図5は、実施の形態1のサブ単語文脈行列の例(その1)を示す図である。例えば、生成部150は、述語である「運転する(動詞)」のファイルに登録されている「車(名詞)」と「ドライバー(名詞)」に基づいて、mi,i(「ドライバー(名詞)」、「ドライバー(名詞)」)、mj,j(「車(名詞)」、「車(名詞)」)、mi,j(「ドライバー(名詞)」、「車(名詞)」)、及びmj,i(「車(名詞)」、「ドライバー(名詞)」)に、1を加算する。なお、サブ単語文脈行列の初期状態は、0である。
【0033】
このように、生成部150は、述語ラベルが付されたサブ単語文脈行列を生成する。生成部150は、同じ述語のサブ学習用例文をカウントすることを繰り返すことで、複数の述語ラベルが付された複数のサブ単語文脈行列を生成できる。すなわち、生成部150は、複数のサブ学習用例文に基づく学習により、複数の述語ラベルが付された複数のサブ単語文脈行列を用いる学習済モデルを生成する。ここで、複数の述語ラベルが付された複数のサブ単語文脈行列の具体例を示す。
【0034】
図6は、実施の形態1のサブ単語文脈行列の例(その2)を示す図である。図6は、述語ラベル「運転する(動詞)」のサブ単語文脈行列を示している。図6は、述語ラベル「作業する(動詞)」のサブ単語文脈行列を示している。図6は、述語ラベル「飛ばす(動詞)」のサブ単語文脈行列を示している。
ステップS23が終了した後、処理は、ステップS13に進む。
【0035】
このように、情報処理装置100は、複数のサブ単語文脈行列を用いる学習済モデルを生成する。なお、情報処理装置100は、学習済モデルを再学習してもよい。
【0036】
上記では、取得部120が複数の文字列を取得する場合を説明した。当該複数の文字列は、質問文の文字列と、当該質問文に対する応答文の文字列とでもよい。そこで、取得部120が質問文の文字列と応答文の文字列とを取得する場合を説明する。
【0037】
図7は、実施の形態1の学習フェーズにおける情報処理装置が実行する処理の例を示すフローチャート(その2)である。
図7の処理では、ステップS11a,11b,11cが実行される点が、図3の処理と異なる。そのため、図7では、ステップS11a,11b,11cを説明する。図7における他のステップについては、図3のステップ番号と同じ番号を付することによって、処理の説明を省略する。
【0038】
(ステップS11a)取得部120は、質問文の文字列を取得する。また、取得部120は、複数の質問文を取得してもよい。
(ステップS11b)取得部120は、応答文の文字列を取得する。また、取得部120は、複数の応答文を取得してもよい。
(ステップS11c)形態素解析実行部130は、質問文の文字列と応答文の文字列とを結合する。
【0039】
なお、ステップS12では、形態素解析実行部130は、結合された文字列に対して形態素解析を実行する。
また、取得部120は、質問文の文字列を取得する前に、応答文の文字列を取得してもよい。さらに、形態素解析実行部130は、質問文の文字列と応答文の文字列とを結合しなくてもよい。結合が実行されない場合、ステップS21の形態素解析実行部130は、複数の文字列(すなわち、質問文の文字列と応答文の文字列)に対して形態素解析を実行する。
【0040】
図8は、実施の形態1の質問文と応答文とに基づいて学習済モデルが生成される場合の具体例を示す図である。
図8では、質問文の文字列と応答文の文字列との具体例が示されている。例えば、形態素解析によって、「飛ばす(動詞)」、「ドライバー(名詞)」、「飛距離(名詞)」、及び「ゴルフ(名詞)」が得られたとする。生成部150は、「飛ばす(動詞)」に対応するサブ単語文脈行列の「ドライバー(名詞)」と「飛距離(名詞)」との関係性を示す情報に1を加算する。生成部150は、「飛ばす(動詞)」に対応するサブ単語文脈行列の「ドライバー(名詞)」と「ゴルフ(名詞)」との関係性を示す情報に1を加算する。
【0041】
このように、情報処理装置100は、質問文と応答文とに基づいて学習済モデルを生成することができる。
【0042】
<活用フェーズ>
図9は、実施の形態1の活用フェーズにおける情報処理装置が有する機能ブロックを示す図である。図2に示される構成と同じ図9の構成は、図2に示される符号と同じ符号を付している。情報処理装置100aは、記憶部110、取得部120a、形態素解析実行部130a、指定受付部160、推論部170、及び出力部180を有する。
【0043】
ここで、情報処理装置100と情報処理装置100aは、同じ装置でもよいし、異なる装置でもよい。例えば、情報処理装置100と情報処理装置100aが同じ装置である場合、情報処理装置100aは、述語分割部140及び生成部150を有する。また、情報処理装置100と情報処理装置100aが同じ装置である場合、取得部120aは、取得部120の機能を有し、形態素解析実行部130aは、形態素解析実行部130の機能を有する。
【0044】
取得部120a、形態素解析実行部130a、指定受付部160、推論部170、及び出力部180の一部又は全部は、情報処理装置100aが有する処理回路によって実現してもよい。取得部120a、形態素解析実行部130a、指定受付部160、推論部170、及び出力部180の一部又は全部は、情報処理装置100aが有するプロセッサが実行するプログラムのモジュールとして実現してもよい。例えば、当該プログラムは、記録媒体に記録されている。
【0045】
取得部120aは、文字列データを取得する。また、取得部120aは、学習済モデルを取得する。例えば、取得部120aは、学習済モデルを記憶部110から取得する。ここで、学習済モデルが外部装置に格納されている場合、取得部120aは、学習済モデルを外部装置から取得する。
形態素解析実行部130aは、取得部120aが取得した文字列データに対して形態素解析を実行する。
【0046】
指定受付部160は、取得部120aが取得した文字列データに対して形態素解析を実行することで得らえた複数の単語を表示装置に表示させる。ここで、当該複数の単語は、品詞が動詞、名詞、形容詞などの単語である。すなわち、当該複数の単語は、どんな品詞の単語でもよい。また、述語である単語は、動詞、形容詞、形容動詞、又はサ変名詞の単語である。
また、例えば、当該表示装置は、情報処理装置100aに接続可能なディスプレイである。ユーザは、表示装置に表示された複数の単語の中から対象単語を指定する。指定受付部160は、対象単語の指定を受付ける。対象単語は、第1の単語とも言う。
【0047】
推論部170は、学習済モデルを用いて、対象単語の意味を推論する。
出力部180は、推論の結果を出力する。また、出力部180は、対象単語の意味の尤度を出力する。
【0048】
次に、情報処理装置100aが実行する処理を、フローチャートを用いて説明する。
図10は、実施の形態1の活用フェーズにおける情報処理装置が実行する処理の例を示すフローチャートである。
(ステップS31)取得部120aは、文字列データを取得する。例えば、文字列データは、「車のドライバー」を示す。
【0049】
(ステップS32)形態素解析実行部130aは、文字列データに対して形態素解析を実行する。例えば、形態素解析実行部130aは、文字列データ「車のドライバー」を、「車(名詞)」、「の(助詞)」、及び「ドライバー(名詞)」に分割する。
【0050】
(ステップS33)指定受付部160は、分割された単語の中から、助詞、助動詞、及び記号を除いた単語S(「車(名詞)」、「ドライバー(名詞)」)を表示装置に表示させる。
【0051】
ユーザは、表示装置に表示された単語の中から、対象単語を指定する。w「ドライバー(名詞)」が対象単語に指定されたものとする。
【0052】
(ステップS34)指定受付部160は、指定された対象単語を受付ける。
【0053】
(ステップS35)推論部170は、学習済モデルを用いて、対象単語の意味を推論する推論処理を実行する。詳細に処理を説明する。説明では、図6が用いられる。例えば、推論部170は、学習済モデルのw「ドライバー(名詞)」の行を参照する。推論部170は、単語S(「車(名詞)」、「ドライバー(名詞)」)が「ドライバー(名詞)」の行に存在するかを判定する。単語S(「車(名詞)」、「ドライバー(名詞)」)が「ドライバー(名詞)」の行に存在する場合、推論部170は、式(3)を用いて、カウント数Cwiを算出する。なお、カウント数Cwiは、wの総和である。
【0054】
【数3】
【0055】
例えば、述語ラベルが「運転する(動詞)」である場合、推論部170は、式(4)の結果を算出する。
【0056】
【数4】
【0057】
推論部170は、全ての述語ラベルに対しても、同様に、カウント数Cwiを算出する。推論部170は、述語ラベルのそれぞれのカウント数Cwiの中から最大値を算出する。最大値は、意味の尤度Scorewiとする。尤度Scorewiは、式(5)を用いて、算出される。
【0058】
【数5】
【0059】
これにより、推論部170は、式(6)の結果を算出する。
【0060】
【数6】
【0061】
最大値の述語ラベルは、意味Labelwiとする。意味Labelwiは、次の式(7)で表現される。なお、例えば、意味Labelwiは、「運転する(動詞)」である。
【0062】
【数7】
【0063】
このように、推論部170は、取得部120aが取得した文字列データに対して形態素解析を実行することで得らえた複数の単語と学習済モデルとに基づいて、対象単語の意味を推論する。例えば、推論部170は、「車のドライバー」に対して形態素解析を実行することで得らえた「車(名詞)」と「ドライバー(名詞)」、及び学習済モデルに基づいて、「ドライバー(名詞)」の意味を推論する。
【0064】
(ステップS36)出力部180は、推論の結果を出力する。例えば、出力部180は、意味Labelwiである「運転する(動詞)」を出力する。言い換えれば、出力部180は、意味ラベル「運転する(動詞)」を出力する。また、出力部180は、尤度Scorewiを出力する。
【0065】
このように、情報処理装置100aは、文字列データ「車のドライバー」の「ドライバー」の意味が「運転する ドライバー」であることを推論できる。また、文字列データに述語が含まれていない場合でも、情報処理装置100aは、意味を推論することができる。
【0066】
また、例えば、情報処理装置100aは、文字列データ「工具のドライバー」を取得する。文字列データ「工具のドライバー」の対象単語が「ドライバー」である場合、情報処理装置100aは、「ドライバー」の意味が「作業する ドライバー」であることを推論する。また、情報処理装置100aは、尤度Scorewiが9であることを示す情報を出力する。
【0067】
また、例えば、情報処理装置100aは、文字列データ「ゴルフのドライバー」を取得する。文字列データ「ゴルフのドライバー」の対象単語が「ドライバー」である場合、情報処理装置100aは、「ドライバー」の意味が「飛ばす ドライバー」であることを推論する。また、情報処理装置100aは、尤度Scorewiが6であることを示す情報を出力する。
【0068】
このように、情報処理装置100aは、学習済モデルを用いて、同一単語に対して文脈により異なる意味を推論できる。また、情報処理装置100aは、意味ラベルを出力する。これにより、ユーザは、直観的に意味ラベルを理解することができる。さらに、情報処理装置100aは、尤度を出力する。これにより、ユーザは、対象単語の意味の尤度を知ることができる。
【0069】
ここで、比較例を示す。
図11は、比較例を示す図である。図11は、1つのサブ単語文脈行列を示している。ある装置が、学習済モデルとして、図11のサブ単語文脈行列を用いて、意味を推論した場合、当該装置は、サブ単語文脈行列が1つであるため、1つの意味しか推論しない。
【0070】
一方、情報処理装置100が生成した学習済モデルには、複数のサブ単語文脈行列が含まれている。そのため、情報処理装置100が生成した学習済モデルは、多義性に対応できる。例えば、上記で示したように、情報処理装置100aは、学習済モデルを用いて、同一単語に対して文脈により異なる意味を推論できる。また、情報処理装置100は、学習済モデルを生成する場合、次元圧縮を行わない。さらに、情報処理装置100は、サブ学習用例文をカウントすることを繰り返すという低コストの計算を行う。そのため、情報処理装置100は、短い処理時間で学習済モデルを生成できる。よって、実施の形態1によれば、情報処理装置100は、短い処理時間で多義性に対応する学習済モデルを生成できる。
【0071】
実施の形態2.
<活用フェーズ>
次に、実施の形態2を説明する。実施の形態2では、実施の形態1と相違する事項を主に説明する。そして、実施の形態2では、実施の形態1と共通する事項の説明を省略する。実施の形態2の説明では、図1〜10を参照する。
【0072】
図12は、実施の形態2の活用フェーズにおける情報処理装置が有する機能ブロックを示す図である。図9に示される構成と同じ図12の構成は、図9に示される符号と同じ符号を付している。
【0073】
情報処理装置100aは、特定部190をさらに有する。取得部120aは、さらに語義文データを取得する。語義文データは、語義を示す複数の文字列である複数の語義文字列である。言い換えれば、語義文データは、対象単語に対応する語義を示す複数の文字列である複数の語義文字列である。例えば、語義文データは、「車のドライバー」、「工具のドライバー」、及び「ゴルフのドライバー」を含む。言い換えれば、語義文データは、「ドライバー」に対応する「車のドライバー」、「工具のドライバー」、及び「ゴルフのドライバー」を含む。
【0074】
特定部190は、複数の語義文字列の中から、対象単語の意味と同じ意味の語義文字列を特定する。特定された語義文字列は、正解語義文字列と呼ぶ。出力部180は、正解語義文字列を出力する。
【0075】
次に、情報処理装置100aが実行する処理を、フローチャートを用いて説明する。
図13は、実施の形態2の活用フェーズにおける情報処理装置が実行する処理の例を示すフローチャートである。
図13の処理では、ステップS31a,35aが実行され、ステップS36の代わりにステップS36aが実行される点が、図10の処理と異なる。そのため、図13では、ステップS31a,35a,36aを説明する。図13における他のステップについては、図10のステップ番号と同じ番号を付することによって、処理の説明を省略する。
【0076】
(ステップS31a)取得部120aは、語義文データを取得する。例えば、語義文データは、「車のドライバー」、「工具のドライバー」、及び「ゴルフのドライバー」を含む。取得部120aは、語義文データを記憶部110に格納する。
【0077】
ここで、ステップS31で、取得部120aは、文字列データ「タクシードライバー」を取得する。ステップS35で、推論部170は、「タクシードライバー」の意味が「運転する ドライバー」であることを推論する。尤度は、15である。
【0078】
(ステップS35a)特定部190は、取得部120aを介して、語義文データを取得する。ここで、推論部170は、「タクシードライバー」の意味が「運転する ドライバー」であることを推論した。特定部190は、「運転する ドライバー」と同じ意味の語義を、語義文データの中から特定する。例えば、「車」と「運転する」は、関係性がある。特定部190は、「車」と「運転する」との関係を示す情報に基づいて、「車のドライバー」が「運転する ドライバー」と同じ意味であることを特定する。そして、特定部190は、語義文データの中から「車のドライバー」を特定する。
【0079】
(ステップS36a)出力部180は、正解語義文字列を出力する。例えば、出力部180は、「タクシードライバー」の「ドライバー」の正解語義文字列が「車のドライバー」であることを出力する。
【0080】
また、例えば、取得部120aが文字列データ「精密ドライバー」を取得した場合、特定部190は、語義文データの中から「工具のドライバー」を特定する。そして、出力部180は、「精密ドライバー」の「ドライバー」の正解語義文字列が「工具のドライバー」であることを出力する。
【0081】
実施の形態2によれば、情報処理装置100aは、語義文データを用いることで、意味の尤度を向上できる。
【0082】
以上に説明した各実施の形態では、一例として、名詞の意味を推論する場合を説明したが、名詞以外の品詞も同様に推論することができる。また、各実施の形態における特徴は、互いに適宜組み合わせることができる。
【符号の説明】
【0083】
100,100a 情報処理装置、 101 プロセッサ、 102 揮発性記憶装置、 103 不揮発性記憶装置、 110 記憶部、 120,120a 取得部、 130,130a 形態素解析実行部、 140 述語分割部、 150 生成部、 160 指定受付部、 170 推論部、 180 出力部、 190 特定部。
【要約】
情報処理装置(100)は、複数の文字列を取得する取得部(120)と、複数の文字列に対して形態素解析を実行する形態素解析実行部(130)と、複数の文字列に対して形態素解析を実行することで得られた複数の品詞付単語の中の複数の述語である複数の単語と、複数の品詞付単語の中の複数の単語とに基づいて、複数の品詞付単語の中の複数の単語のうちの第1の単語の意味を推論する学習済モデルを生成する生成部(150)と、を有する。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13