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

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

▶ ヤフー株式会社の特許一覧

<>
  • 特許6680656-判定装置および判定方法 図000004
  • 特許6680656-判定装置および判定方法 図000005
  • 特許6680656-判定装置および判定方法 図000006
  • 特許6680656-判定装置および判定方法 図000007
  • 特許6680656-判定装置および判定方法 図000008
  • 特許6680656-判定装置および判定方法 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6680656
(24)【登録日】2020年3月24日
(45)【発行日】2020年4月15日
(54)【発明の名称】判定装置および判定方法
(51)【国際特許分類】
   G06F 16/33 20190101AFI20200406BHJP
【FI】
   G06F16/33
【請求項の数】7
【全頁数】15
(21)【出願番号】特願2016-182363(P2016-182363)
(22)【出願日】2016年9月16日
(65)【公開番号】特開2018-45658(P2018-45658A)
(43)【公開日】2018年3月22日
【審査請求日】2019年3月25日
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】宮崎 祐
(72)【発明者】
【氏名】小林 隼人
(72)【発明者】
【氏名】谷尾 香里
(72)【発明者】
【氏名】菅原 晃平
(72)【発明者】
【氏名】野口 正樹
【審査官】 吉田 誠
(56)【参考文献】
【文献】 特開2004−240505(JP,A)
【文献】 特開2009−129323(JP,A)
【文献】 米国特許出願公開第2008/0104078(US,A1)
【文献】 特開2006−215884(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00−16/958
(57)【特許請求の範囲】
【請求項1】
所定の学習単位に属する単語の分散表現空間を示すランダム行列を、学習単位ごとに取得する取得部と、
前記取得部により取得されたランダム行列の固有値をそれぞれ算出する算出部と、
前記算出部により算出された固有値の比較結果に基づいて、前記学習単位の類似性を判定する判定部と
を有することを特徴とする判定装置。
【請求項2】
前記取得部は、前記所定の学習単位として、所定の分野に属する単語の分散表現空間を示すランダム行列を、分野ごとに取得し、
前記判定部は、前記固有値の比較結果に基づいて、前記分野の類似性を判定する
ことを特徴とする請求項1に記載の判定装置。
【請求項3】
前記算出部は、前記ランダム行列の固有ベクトルをさらに算出し、
前記判定部は、前記固有値の比較結果と、前記固有ベクトルの比較結果とに基づいて、前記学習単位の類似性を判定する
ことを特徴とする請求項1または2に記載の判定装置。
【請求項4】
前記判定部は、前記固有値の比較結果と、前記固有ベクトル同士のコサイン類似度の値とに基づいて、前記学習単位の類似性を判定する
ことを特徴とする請求項3に記載の判定装置。
【請求項5】
前記算出部により算出された固有値に基づいて、第1の学習単位に属する単語を第2の学習単位に属する単語に変換する変換関数を生成する生成部
をさらに有することを特徴とする請求項1〜4のうちいずれか1つに記載の判定装置。
【請求項6】
前記生成部は、前記変換関数を用いて、利用者によって入力された第1の学習単位に属する文章から、第2の学習単位に属する文章を、利用者によって入力された文章に対する応答として生成する
ことを特徴とする請求項5に記載の判定装置。
【請求項7】
判定装置が実行する判定方法であって、
所定の学習単位に属する単語の分散表現空間を示すランダム行列を、学習単位ごとに取得する取得工程と、
前記取得工程により取得されたランダム行列の固有値をそれぞれ算出する算出工程と、
前記算出工程により算出された固有値の比較結果に基づいて、前記学習単位の類似性を判定する判定工程と
を含むことを特徴とする判定方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、判定装置および判定方法に関する。
【背景技術】
【0002】
従来、入力された情報の解析結果に基づいて、入力された情報と関連する情報を検索もしくは生成し、検索もしくは生成した情報を応答として出力する技術が知られている。このような技術の一例として、入力されたテキストに含まれる単語、文章、文脈を多次元ベクトルに変換して解析し、解析結果に基づいて、入力されたテキストと類似するテキストや、入力されたテキストに続くテキストを類推し、類推結果を出力する自然言語処理の技術が知られている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−127077号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、利用者の創作を援助する情報を出力することができない場合がある。
【0005】
例えば、上記の従来技術では、入力されたテキストと類似するテキストや、入力されたテキストに続くテキスト等、利用者が予測しうる情報を出力しているに過ぎず、入力されたテキストと関連するが利用者が予測しえない情報を出力することが困難である。このため、上記の従来技術では、利用者にひらめきを与えるような情報を提供することができない。
【0006】
本願は、上記に鑑みてなされたものであって、利用者の創作を援助する情報を出力可能にすることを目的とする。
【課題を解決するための手段】
【0007】
本願に係る判定装置は、所定の学習単位に属する単語の分散表現空間を示すランダム行列を、学習単位ごとに取得する取得部と、前記取得部により取得されたランダム行列の固有値をそれぞれ算出する算出部と、前記算出部により算出された固有値の比較結果に基づいて、前記学習単位の類似性を判定する判定部とを有することを特徴とする。
【発明の効果】
【0008】
実施形態の一態様によれば、利用者の創作を援助する情報を出力可能にすることができる。
【図面の簡単な説明】
【0009】
図1図1は、実施形態に係る判定装置が実行する判定処理の一例を示す図である。
図2図2は、実施形態に係る判定装置の構成例を示す図である。
図3図3は、実施形態に係る分散表現空間データベースに登録される情報の一例を示す図である。
図4図4は、実施形態に係る判定結果データベースに登録された情報の一例を示す図である。
図5図5は、実施形態に係る判定処理の流れの一例を説明するフローチャートである。
図6図6は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る判定装置および判定方法を実施するための形態(以下、「実施形態」と記載する。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る判定装置および判定方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
[実施形態]
〔1−1.判定装置の一例〕
まず、図1を用いて、判定装置が実行する処理の一例について説明する。図1は、実施形態に係る判定装置が実行する判定処理の一例を示す図である。図1では、判定装置10は、以下に説明する判定処理を実行する情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。
【0012】
より具体的には、判定装置10は、インターネット等の所定のネットワークN(例えば、図2を参照)を介して、入力装置100や情報処理装置200(例えば、図2を参照)といった任意の装置と通信が可能である。
【0013】
ここで、入力装置100は、マイクなどの音声を取得する音声取得装置を用いて、利用者の発言を取得する。そして、入力装置100は、任意の音声認識技術を用いて、発言をテキストデータに変換し、変換後のテキストデータを判定装置10へと送信する。また、情報処理装置200は、スピーカ等の音声を出力する装置を用いて、判定装置10から受信したテキストデータの読み上げを行う。なお、情報処理装置200は、判定装置10から受信したテキストデータを所定の表示装置に表示してもよい。
【0014】
なお、入力装置100や情報処理装置200は、スマートフォンやタブレット等のスマートデバイス、デスクトップPC(Personal Computer)やノートPC、サーバ装置等の情報処理装置により実現される。なお、入力装置100および情報処理装置200は、例えば、同一の情報処理装置によって実現されてもよく、例えば、ロボット等の装置によって実現されてもよい。
【0015】
〔1−2.判定装置の処理について〕
ここで、従来技術では、入力されたテキストを構成する複数次元の単語ベクトルで示す分散表現を用いて、入力されたテキストと類似するテキストや、入力されたテキストに続くテキストを類推する。しかしながら、従来技術では、入力されたテキストと分散表現が類似するテキスト、すなわち、利用者が予測しうるテキストを出力するに過ぎない。このため、従来技術では、利用者が思いもしなかった情報や、利用者に新規なひらめきを与えるような情報、すなわち、利用者のセレンディピティ(ひらめき、気づき、驚き)を起こし得る情報を提供することができなかった。また、例えば、単純に入力されたテキストとは分散表現が類似しないテキストを出力した場合には、利用者の思考とは関係がないテキストを出力することとなり、利用者の思考を阻害する場合がある。
【0016】
一方で、利用者がある分野に属する分野の概念であって、所定の概念構造を有する発言を行った際、その分野とは異なる分野に属する事柄であって、利用者の発言が有する概念構造と類似する概念構造を有する文章を応答として出力した場合には、利用者に新たなひらめきを与えることができる可能性がある。例えば、利用者が物理学の分野に属する内容の発言を行った際に、数学の分野に属する内容であって、利用者の発言に含まれる単語群と同様のアナロジーを有する単語群を含む応答を行った場合には、利用者の発想を押し広げることができる可能性がある。
【0017】
また、利用者の発言が属する分野と非類似の分野に属する内容の応答を出力したとしても、利用者の理解が困難となり、利用者の思考を阻害する場合がある。しかしながら、利用者の発言が属する分野と同一または類似性が高い分野に属する内容の応答を出力した場合は、利用者が容易に想像することができる内容の文章しか出力することができないとも考えられる。
【0018】
そこで、判定装置10は、以下の判定処理を実行することで、任意の粒度で設定された分野同士の類似性を判定する。例えば、判定装置10は、所定の学習単位に属する単語の分散表現空間を示すランダム行列を、学習単位ごとに取得する。また、判定装置10は、取得されたランダム行列の固有値をそれぞれ算出する。そして、判定装置10は、算出された固有値の比較結果に基づいて、学習単位の類似性を判定する。
【0019】
例えば、判定装置10は、所定の学習単位として、所定の分野に属する単語の分散表現空間を示すランダム行列を、分野ごとに取得する。そして、判定装置10は、分野ごとに算出したランダム行列の固有値の比較結果に基づいて、各分野の類似性を判定する。
【0020】
ここで、ランダム行列とは、行列要素が所定の確率法則や確率分布に従って与えられると仮定された行列である。例えば、判定装置10は、分野に関係なく、様々な単語を分散表現に変換する。例えば、判定装置10は、w2v(word2vec)の技術等、任意の算出手法を用いて、単語を分散表現に変換する。なお、以下の説明では、単語の分散表現を単語のベクトルと記載する場合がある。
【0021】
続いて、判定装置10は、任意の粒度で、比較対象とする複数の分野を特定し、特定した分野ごとに、その分野に属する単語の分散表現を選択する。そして、判定装置10は、分野ごとに、各単語の分散表現から以下の式(1)で示されるランダム行列Aを生成する。この結果、判定装置10は、1つの分野に属する単語の分散表現空間を1つのランダム行列で表現することができる。なお、式(1)では、ある分野に属するn個の単語のベクトルをwb1〜wbnと記載し、m個の所定の確率分布をwa1〜wamと記載した。また、式(1)に示すPは、以下の式(2)にpとして示す値であり、2つの単語ベクトルの内積の期待値である。すなわち、判定装置10は、ある分野の全単語の組み合わせ行列を、期待値を要素として持つランダム行列とする。
【0022】
【数1】
【0023】
【数2】
【0024】
ここで、1つの分野に属する単語の分散表現空間をランダム行列で表現した場合、かかるランダム行列が有する特徴がその分野に属する単語の総体的な特徴に対応すると考えられる。また、このような分野ごとの総体的な特徴は、分野同士の類似性を判定するための指標になると考えられる。
【0025】
そこで、判定装置10は、同一の分野に属する単語の分散表現から生成したランダム行列を、その分野の特徴を示すランダム行列(以下、「その分野のランダム行列」と記載する。)と見做し、ランダム行列の特徴同士を比較することで、各分野の類似性を判定する。より具体的には、判定装置10は、公知の固有値計算ライブラリ等、任意の固有値計算技術を用いて、各分野のランダム行列の固有値(すなわち、ランダム行列の特徴)を算出する。そして、判定装置10は、算出した固有値同士を比較することで、各分野の特徴を比較し、比較結果に基づいて、分野同士の類似性を判定する。
【0026】
例えば、判定装置10は、固有値の差が所定の閾値よりも大きい場合には、分野同士の類似性が所定の閾値よりも低いと判定し、固有値の差が所定の閾値以下となる場合は、分野同士の類似性が所定の閾値以上であると判定する。
【0027】
このような処理の結果、判定装置10は、各分野に属する単語の総体的な特徴同士の比較結果に基づいて、分野同士の類似性を判定することができる。すなわち、判定装置10は、各分野の抽象化された特徴同士の比較結果に基づいて、分野同士の類似性を判定することができる。この結果、判定装置10は、例えば、利用者が入力した文章が属する分野と抽象的な概念が類似する他の分野を選択し、選択した分野に属する文章であって、利用者が入力した文章と構造が類似する文章を出力することができるので、利用者にセレンディピティを与える文章を応答として出力することができる。
【0028】
〔1−3.学習単位について〕
ここで、判定装置10は、比較対象とする分野を任意の粒度で設定してよい。例えば、判定装置10は、「医療分野」という分野に「内科」や「外科」といった分野が存在する場合、分野「内科」に属する単語の分散表現から生成したランダム行列の固有値と、分野「外科」に属する単語の分散表現から生成したランダム行列の固有値とを比較することで、分野「内科」と分野「外科」との比較を行ってもよい。また、判定装置10は、例えば、分野「内科」や分野「外科」等を含む「医療分野」と分野「民法」や分野「刑法」等を含む「法務分野」との比較を行ってもよい。
【0029】
ここで、w2v等、単語を分散表現へと変換する処理においては、任意の粒度で予め設定された所定の分野ごとに、その分野に属する文章等から各単語を分散表現へと変換する処理が行われている。そこで、判定装置10は、各単語を分散表現へと変換する際に設定された分野等、所定の学習単位に属する単語を所定の分野に属する単語と見做して、かかる単語の分散表現からランダム行列を生成し、ランダム行列の固有値同士を比較することで、学習単位同士の類似性を判定してもよい。
【0030】
〔1−4.固有ベクトルの利用について〕
ここで、ランダム行列の特徴は、固有値のみならず、固有ベクトルにも表れると予測される。例えば、ある分野のランダム行列の固有値は、その分野に属する単語の総体的な概念を示し、かかるランダム行列の固有ベクトルは、その分野に属する単語の総体的な概念の指向性を示し得ると予測される。
【0031】
そこで、判定装置10は、各分野のランダム行列の固有ベクトルをさらに算出し、算出した固有値の比較結果と、固有ベクトルの比較結果とに基づいて、分野同士の類似性を判定してもよい。例えば、判定装置10は、固有値の差が所定の閾値以下となり、かつ、固有ベクトルのコサイン類似度の値が所定の閾値以上となる場合(コサイン類似度が所定の閾値以上となる場合)には、各分野が類似していると判定してもよい。
【0032】
〔1−5.分野間の変換について〕
ここで、ランダム行列の固有値に基づいて、ある分野のランダム行列を他の分野のランダム行列へと変換する関数(例えば、変換関数)を求めることができる。このような関数は、変換前のランダム行列と対応する分野の単語の概念を、変換後のランダム行列と対応する分野の単語の概念へと変化させる関数であると見做すことができる。
【0033】
そこで、判定装置10は、算出した固有値に基づいて、第1の学習単位に属する単語を第2の学習単位に属する単語へと変換する変換関数を生成してもよい。そして、判定装置10は、生成した変換関数を用いて、利用者が入力した文章に対応する応答を生成してもよい。
【0034】
例えば、判定装置10は、利用者から第1分野に属する文章を取得する。このような場合、判定装置10は、第1分野のランダム行列の固有値や固有ベクトルに基づいて、第1分野との類似性が所定の範囲内に収まる第2分野を特定する。続いて、判定装置10は、第1分野のランダム行列を第2分野のランダム行列へと変換する変換関数を生成する。なお、判定装置10は、第1分野のランダム行列を、完全に第2分野のランダム行列へと変換する変換関数を生成する必要はなく、所定の精度で変換する変換関数を生成すればよい。例えば、判定装置10は、第1分野のランダム行列の行列要素のうち、所定の割合の行列要素を第2分野のランダム行列の行列要素と一致させる変換関数を生成すればよい。
【0035】
そして、判定装置10は、利用者から取得した文章から単語を抽出するとともに、抽出した単語を分散表現へと変換する。そして、判定装置10は、変換関数を用いて、抽出した単語の分散表現を、第2分野に属すると見做すことができる単語の分散表現へと変換する。また、判定装置10は、第2分野に属すると見做すことができる単語の分散表現から、第2分野に属する単語を生成する。例えば、判定装置10は、分散表現が、第2分野に属すると見做すことができる単語の分散表現と類似する単語を選択する。そして、判定装置10は、選択した単語を用いて、文章を生成し、生成した文章を応答として利用者に提供する。このような処理の結果、判定装置10は、利用者に対して、発想の範囲を広げ、セレンディピティを生じさせる文章を提供することができる。
【0036】
〔1−6.判定装置が実行する処理の一例〕
次に、図1を用いて、判定装置10が実行する判定処理の一例について説明する。まず、判定装置10は、それぞれ異なる分野に属する単語の分散表現をランダム行列に変換する(ステップS1)。例えば、判定装置10は、分野#1に属する各単語#1−1〜#1−4の分散表現をそれぞれ算出し、算出した分散表現から、式(1)を用いて、分野#1の総体的な特徴を示すランダム行列#1を生成する。また、例えば、判定装置10は、分野#2に属する各単語#2−1〜#2−4の分散表現をそれぞれ算出し、算出した分散表現から、式(1)を用いて、分野#2の総体的な特徴を示すランダム行列#2を生成する。
【0037】
続いて、判定装置10は、各ランダム行列の固有値と固有ベクトルとを算出する(ステップS2)。例えば、判定装置10は、ランダム行列#1から固有値#1および固有ベクトル#1を算出し、ランダム行列#2から固有値#2および固有ベクトル#2を算出する。
【0038】
そして、判定装置10は、固有値の比較結果と、固有ベクトルの比較結果とに基づいて、各分野の類似性を判定する(ステップS3)。例えば、判定装置10は、固有値#1と固有値#2との差が所定の閾値以下となり、かつ、固有ベクトル#1と固有ベクトル#2とのコサイン類似度の値が所定の閾値以上となる場合は、分野#1と分野#2とが類似する分野であると判定する。なお、判定装置10は、固有値#1と固有値#2との差が所定の閾値以下となる場合は、分野#1と分野#2とが類似すると判定してもよい。また、判定装置10は、固有値#1と固有値#2との差の値と、固有ベクトル#1と固有ベクトル#2とのコサイン類似度の値とを総合的に勘案して、分野#1と分野#2とが類似するか判定してもよい。例えば、判定装置10は、固有値#1と固有値#2との差の値や、固有ベクトル#1と固有ベクトル#2とのコサイン類似度の値等に応じて、動的に変動する閾値を採用してもよい。また、判定装置10は、利用者が所望する類似性の度合い等に応じて、任意の閾値を設定してもよい。
【0039】
ここで、判定装置10は、利用者の発言を取得したものとする(ステップS4)。このような場合、判定装置10は、入力された発言の文章に含まれる単語を類似する分野の単語に変換し、入力された文章と同様の構造を有する文章を生成する(ステップS5)。例えば、判定装置10は、入力された発言の文章から、形態素解析等の技術を用いて、単語を抽出する。そして、判定装置10は、抽出した単語から、利用者の発言が属する分野を特定する。
【0040】
続いて、判定装置10は、特定した分野と類似する分野を選択し、特定した分野のランダム行列を選択した分野のランダム行列へと変換する変換関数を用いて、入力された発言の文章に含まれる単語を、選択した分野の単語へと変換する。例えば、判定装置10は、入力された発言の文章が分野#1に属し、分野#1と類似する分野として分野#2が存在する場合は、分野#1のランダム行列を分野#2のランダム行列へと変換する変換関数を用いて、入力された発言の文章から抽出した単語を分野#2の単語へと変換する。
【0041】
より具体的には、判定装置10は、入力された発言の文章から抽出した単語の分散表現を、変換関数を用いて変換する。また、判定装置10は、分野#2に属する単語の分散表現のうち、変換関数を用いて変換した分散表現と類似する分散表現を選択し、選択した分散表現と対応する単語を特定する。そして、判定装置10は、選択した単語を用いて分野#2に属する文章であって、入力された文章と同様の構造を有する文章(すなわち、単語間の関係性が類似する文章)を生成し、生成した文章を出力する(ステップS6)。この結果、例えば、判定装置10は、情報処理装置200に、生成した文章を応答として発言させることができる。
【0042】
〔2.判定装置の構成〕
以下、上記した判定処理を実現する判定装置10が有する機能構成の一例について説明する。図2は、実施形態に係る判定装置の構成例を示す図である。図2に示すように、判定装置10は、通信部20、記憶部30、および制御部40を有する。
【0043】
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、入力装置100、および情報処理装置200との間で情報の送受信を行う。
【0044】
記憶部30は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、分散表現空間データベース31および判定結果データベース32を記憶する。
【0045】
分散表現空間データベース31には、分散表現に変換された単語が分野ごとに登録されている。例えば、図3は、実施形態に係る分散表現空間データベースに登録される情報の一例を示す図である。図3に示すように、分散表現空間データベース31には、「分野」、「単語」、および「分散表現」といった項目を有する情報が登録される。
【0046】
ここで、「分野」とは、対応付けられた「単語」が示す単語が属する分野を示す識別子である。また、「単語」とは、分散表現と対応する単語、すなわち、テキストである。また、「分散表現」とは、対応付けられた「単語」の分散表現である。なお、図3に示す例では「単語#1−1」や「分散表現#1−1」等といった概念的な値を記載したが、実際には、各種単語を示すテキストデータや、分散表現である多次元量等が登録される。
【0047】
例えば、図3に示す例では、分散表現空間データベース31には、分野「分野#1」、単語「単語#1−1」、および分散表現「分散表現#1−1」が対応付けて登録されている。このような情報は、「単語#1−1」が「分野#1」に属する単語であり、その分散表現が「分散表現#1−1」である旨を示す。
【0048】
図2に戻り、説明を続ける。判定結果データベース32には、上述した判定処理による判定結果として、各分野の類似関係が登録されている。例えば、図4は、実施形態に係る判定結果データベースに登録された情報の一例を示す図である。図4に示すように判定結果データベース32には、「第1分野」、「第2分野」および「変換関数」といった項目を有する情報が登録されている。ここで、「第1分野」および「第2分野」は、類似関係にある分野を示し、「変換関数」は、対応付けられた類似関係が有する分野でランダム行列を変換する変換関数を示す情報である。
【0049】
例えば、図4に示す例では、第1分野「分野#1」、第2分野「分野#2」および変換関数「変換関数#1」が対応付けて登録されている。このような情報は、「分野#1」および「分野#2」が類似すると判定されており、「分野#1」のランダム行列を「分野#2」のランダム行列へと変換する変換関数が「変換関数#1」である旨を示す。
【0050】
図2に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、判定装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
【0051】
図2に示すように、制御部40は、取得部41、算出部42、判定部43、生成部44、および出力部45を有する。
【0052】
取得部41は、所定の学習単位に属する単語の分散表現空間を示すランダム行列を、学習単位ごとに取得する。例えば、取得部41は、所定の学習単位として、所定の分野に属する単語の分散表現空間を示すランダム行列を、分野ごとに取得する。より具体的な例を挙げると、取得部41は、分散表現空間データベース31を参照し、所定の分野と対応付けられた単語の分散表現を選択する。そして、取得部41は、選択した分散表現を用いて、上述した式(1)により、所定の分野のランダム行列を生成する。また、取得部41は、このような処理を各分野ごとに繰り返すことで、全ての分野のランダム行列を生成する。
【0053】
算出部42は、ランダム行列の固有値をそれぞれ算出する。また、算出部42は、ランダム行列の固有ベクトルをさらに算出する。例えば、算出部42は、取得部41が分野ごとに生成したランダム行列から、固有値と固有ベクトルとをそれぞれ算出する。
【0054】
判定部43は、固有値の比較結果に基づいて、学習単位の類似性を判定する。例えば、判定部43は、固有値の比較結果に基づいて、各分野の類似性を判定する。なお、判定部43は、固有値の比較結果と、固有ベクトルの比較結果とに基づいて、学習単位の類似性を判定してもよい。例えば、判定部43は、固有値の比較結果と、固有ベクトル同士のコサイン類似度の値とに基づいて、学習単位の類似性を判定してもよい。
【0055】
より具体的な例を挙げると、判定部43は、算出部42が分野ごとに算出した固有値と固有ベクトルとを取得する。そして、判定部43は、全ての分野の組み合わせについて、固有値と固有ベクトルとを比較し、比較結果に基づいて、各分野が類似するか否かを判定する。例えば、判定部43は、分野#1の固有値と、分野#2の固有値との差が所定の閾値以下となり、かつ、分野#1の固有ベクトルと、分野#2の固有ベクトルとのコサイン類似度の値が所定の閾値以上となる場合は、分野#1と分野#2とが類似すると判定する。そして、判定部43は、分野#1と分野#2とを判定結果データベース32に対応付けて登録する。
【0056】
生成部44は、固有値に基づいて、第1の学習単位に属する単語を第2の学習単位に属する単語に変換する変換関数を生成する。例えば、生成部44は、判定結果データベース32を参照し、判定部43により類似すると判定された分野#1および分野#2を特定する。このような場合、生成部44は、分野#1の固有値と分野#2の固有値とから、分野#1のランダム行列を分野#2のランダム行列へと変換させる変換関数#1を算出する。そして、生成部44は、算出した変換関数#1を、分野#1および分野#2と対応付けて判定結果データベース32に登録する。なお、生成部44は、固有ベクトルを用いて、変換関数の算出を行ってもよい。
【0057】
また、生成部44は、変換関数を用いて、利用者によって入力された第1の学習単位に属する文章から、第2の学習単位に属する文章を、利用者によって入力された文章に対する応答として生成する。例えば、生成部44は、入力装置100から利用者の発言の文章を受付けた場合は、かかる文章から単語を抽出し、抽出した単語が属する分野を分散表現空間データベース31等を用いて特定する。続いて、生成部44は、判定結果データベース32を参照し、特定した分野のランダム行列を、その分野と類似する分野のランダム行列へと変換する変換関数を判定結果データベース32から選択する。
【0058】
そして、生成部44は、判定結果データベース32から選択した変換関数を用いて、利用者の発言の文章から抽出した単語を、類似する分野の単語へと変換する。その後、生成部44は、変換後の単語を用いて、利用者によって入力された文章と同様の構造を有する文章を生成する。
【0059】
出力部45は、生成部44が生成した文章を利用者によって入力された文章に対する応答として出力する。例えば、出力部45は、生成部44が生成した文章を情報処理装置200へと出力し、入力装置100から受付けた発言に対する応答として、出力した文章を出力するように指示する。この結果、情報処理装置200は、応答を出力することができる。
【0060】
〔3.判定装置が実行する処理の流れの一例〕
次に、図5を用いて、判定装置10が実行する判定処理の流れの一例について説明する。図5は、実施形態に係る判定処理の流れの一例を説明するフローチャートである。まず、判定装置10は、各分野に属する単語群を抽出し(ステップS101)、同じ分野に属する単語群の分散表現を含む分散表現空間を示すランダム行列を取得する(ステップS102)。すなわち、判定装置10は、各分野のランダム行列を取得する。そして、判定装置10は、取得したランダム行列の固有値と固有ベクトルとを算出し(ステップS103)、算出した固有値と固有ベクトルとの比較結果に基づいて、分野同士の類似性を判定し(ステップS104)、処理を終了する。
【0061】
〔4.変形例〕
上記では、判定装置10による判定処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、判定装置10が実行する判定処理のバリエーションについて説明する。
【0062】
〔4−1.判定結果の利用について〕
例えば、判定装置10は、上述した判定処理を用いて、モデルの類似性を判定する処理を実行してもよい。例えば、判定装置10は、ある単語群から第1のモデルを用いて生成された分散表現群から第1ランダム行列を生成し、同一の単語群から第2のモデルを用いて生成された分散表現群から第2ランダム行列を生成する。そして、判定装置10は、第1ランダム行列の固有値と、第2ランダム行列の固有値との比較結果に基づいて、第1のモデルと第2のモデルとの類似性を判定してもよい。このような処理を実行した場合、例えば、判定装置10は、第1のモデルに代えて、第2のモデルを使用することができるか否かといった判定を行うことができる。
【0063】
〔4−2.装置構成〕
上述した例では、判定装置10は、判定装置10内で判定処理を実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、判定装置10は、ランダム行列の固有値や固有ベクトルの比較結果に基づいて、分野同士の類似性を判定するバックエンドサーバと、類似性の判定結果や変換関数を用いて、利用者から受付けた文章を変換し、応答として出力するフロントエンドサーバとにより実現されてもよい。また、判定装置10は、分散表現空間データベース31や判定結果データベース32を外部のストレージサーバに記憶させてもよい。
【0064】
〔4−3.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0065】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0066】
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0067】
〔5.プログラム〕
また、上述してきた実施形態に係る判定装置10は、例えば図6に示すような構成のコンピュータ1000によって実現される。図6は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0068】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD、フラッシュメモリ等により実現される。
【0069】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0070】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0071】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0072】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0073】
例えば、コンピュータ1000が判定装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
【0074】
〔6.効果〕
上述したように、判定装置10は、所定の学習単位に属する単語の分散表現空間を示すランダム行列を、学習単位ごとに取得する。また、判定装置10は、取得されたランダム行列の固有値をそれぞれ算出する。そして、判定装置10は、算出された固有値の比較結果に基づいて、学習単位の類似性を判定する。この結果、判定装置10は、例えば、相対的な概念が類似する分野を特定することができるので、利用者が入力した文章と構造が類似する文章であって、利用者が入力した文章とは異なる分野の文章を出力することができる。この結果、判定装置10は、利用者の創作を援助する情報を出力することができる。
【0075】
また、判定装置10は、所定の学習単位として、所定の分野に属する単語の分散表現空間を示すランダム行列を、分野ごとに取得する。そして、判定装置10は、固有値の比較結果に基づいて、分野の類似性を判定する。この結果、判定装置10は、各分野の総体的な概念の比較結果に基づいて、分野の類似性を判定できる。
【0076】
また、判定装置10は、ランダム行列の固有ベクトルをさらに算出し、固有値の比較結果と、固有ベクトルの比較結果とに基づいて、学習単位の類似性を判定する。例えば、判定装置10は、固有値の比較結果と、固有ベクトル同士のコサイン類似度の値とに基づいて、学習単位の類似性を判定する。この結果、判定装置10は、分野の類似性の判定精度を向上させることができる。
【0077】
また、判定装置10は、算出された固有値に基づいて、第1の学習単位に属する単語を第2の学習単位に属する単語に変換する変換関数を生成する。また、判定装置10は、変換関数を用いて、利用者によって入力された第1の学習単位に属する文章から、第2の学習単位に属する文章を、利用者によって入力された文章に対する応答として生成する。このため、判定装置10は、利用者が入力した文章から、利用者が想像していなかった文章であって、利用者が入力した文章が属する分野とは異なる分野において利用者が入力した文章と同様のコンテキストを有する文章を出力することができる。この結果、判定装置10は、利用者の創作を援助する情報を出力することができる。
【0078】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0079】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、生成部は、生成手段や生成回路に読み替えることができる。
【符号の説明】
【0080】
10 判定装置
20 通信部
30 記憶部
31 分散表現空間データデータベース
32 判定結果データベース
40 制御部
41 取得部
42 算出部
43 判定部
44 生成部
45 出力部
100 入力装置
200 情報処理装置
図1
図2
図3
図4
図5
図6