IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 株式会社SCREENホールディングスの特許一覧

特許7661073ベクトル取得方法、ベクトル取得装置、および、ベクトル取得プログラム
<>
  • 特許-ベクトル取得方法、ベクトル取得装置、および、ベクトル取得プログラム 図1
  • 特許-ベクトル取得方法、ベクトル取得装置、および、ベクトル取得プログラム 図2
  • 特許-ベクトル取得方法、ベクトル取得装置、および、ベクトル取得プログラム 図3
  • 特許-ベクトル取得方法、ベクトル取得装置、および、ベクトル取得プログラム 図4
  • 特許-ベクトル取得方法、ベクトル取得装置、および、ベクトル取得プログラム 図5
  • 特許-ベクトル取得方法、ベクトル取得装置、および、ベクトル取得プログラム 図6
  • 特許-ベクトル取得方法、ベクトル取得装置、および、ベクトル取得プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-04
(45)【発行日】2025-04-14
(54)【発明の名称】ベクトル取得方法、ベクトル取得装置、および、ベクトル取得プログラム
(51)【国際特許分類】
   G06F 16/35 20250101AFI20250407BHJP
   G06F 40/30 20200101ALI20250407BHJP
【FI】
G06F16/35
G06F40/30
【請求項の数】 9
(21)【出願番号】P 2021041736
(22)【出願日】2021-03-15
(65)【公開番号】P2022141431
(43)【公開日】2022-09-29
【審査請求日】2023-12-18
(73)【特許権者】
【識別番号】000207551
【氏名又は名称】株式会社SCREENホールディングス
(74)【代理人】
【識別番号】100088672
【弁理士】
【氏名又は名称】吉竹 英俊
(74)【代理人】
【識別番号】100088845
【弁理士】
【氏名又は名称】有田 貴弘
(72)【発明者】
【氏名】梅原 光規
(72)【発明者】
【氏名】粕渕 清孝
(72)【発明者】
【氏名】吉田 明子
(72)【発明者】
【氏名】寺田 万理
(72)【発明者】
【氏名】角谷 祐輝
【審査官】齊藤 貴孝
(56)【参考文献】
【文献】特許第5250709(JP,B1)
【文献】中国特許出願公開第111858860(CN,A)
【文献】中国特許出願公開第108509422(CN,A)
【文献】特開2019-144708(JP,A)
【文献】特開2019-049873(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
複数の単語それぞれに対応してあらかじめ学習されたベクトルである初期ベクトルを保持し、かつ、複数の前記単語によって構成される文章の入力に対して前記初期ベクトルが調整された前記ベクトルである調整ベクトルを前記文章における前記単語それぞれに対応して出力可能な学習済みモデルを用いる、コンピュータにより実行されるベクトル取得方法であり、
複数の前記単語に分割可能な前記単語を複合語とし、
前記コンピュータの有する処理回路が記憶装置に記憶されたプログラムを実行することによって実行される工程として、
前記複合語から分割される前記単語のうちの少なくとも2つを含む少なくとも1つの前記文章を、前記学習済みモデルに入力する工程と、
入力された前記文章における、前記複合語から分割される前記単語のうちの少なくとも1つに対応する前記調整ベクトル、前記学習済みモデルから出力させる工程と、
前記学習済みモデルから出力された前記調整ベクトルを用いて、前記複合語に対応する前記ベクトルである複合ベクトルを取得する工程とを備える、
ベクトル取得方法。
【請求項2】
請求項1に記載のベクトル取得方法であり、
前記文章を前記学習済みモデルに入力する工程は、前記学習済みモデルにおいて対応する前記初期ベクトルが保持されていない前記複合語から分割される前記単語を含む前記文章を、前記学習済みモデルに入力する工程である、
ベクトル取得方法。
【請求項3】
請求項1または2に記載のベクトル取得方法であり、
前記調整ベクトルを用いて取得された前記複合ベクトルを含む複数の前記単語それぞれに対応する前記ベクトルを用いて、前記複合語を含む複数の前記単語間の類似度を算出する工程をさらに備える、
ベクトル取得方法。
【請求項4】
請求項1から3のうちのいずれか1つに記載のベクトル取得方法であり、
前記複合ベクトルを取得する工程は、複数の前記文章にそれぞれ含まれる、前記複合語から分割される同一の前記単語に対応する前記調整ベクトルの平均値を用いて、前記複合ベクトルを取得する工程である、
ベクトル取得方法。
【請求項5】
請求項1から4のうちのいずれか1つに記載のベクトル取得方法であり、
前記複合ベクトルを取得する工程は、前記複合語から分割される前記単語それぞれに対応する前記ベクトルを平均することによって、前記複合ベクトルを取得する工程である、
ベクトル取得方法。
【請求項6】
請求項1から5のうちのいずれか1つに記載のベクトル取得方法であり、
前記学習済みモデルは、トランスフォーマに基づく言語エンコーディングモデルである、
ベクトル取得方法。
【請求項7】
請求項1から6のうちのいずれか1つに記載のベクトル取得方法であり、
前記文章を前記学習済みモデルに入力する工程は、前記複合語を含む前記文章を、前記学習済みモデルに入力する工程である、
ベクトル取得方法。
【請求項8】
複数の単語それぞれに対応してあらかじめ学習されたベクトルである初期ベクトルを保持し、かつ、複数の前記単語によって構成される文章の入力に対して前記初期ベクトルが調整された前記ベクトルである調整ベクトルを前記文章における前記単語それぞれに対応して出力可能な学習済みモデルを用いるベクトル取得装置であり、
複数の前記単語に分割可能な前記単語を複合語とし、
前記複合語から分割される前記単語のうちの少なくとも2つを含む少なくとも1つの前記文章を、前記学習済みモデルに入力する入力部と、
前記学習済みモデルから出力される、入力された前記文章における、前記複合語から分割される前記単語のうちの少なくとも1つに対応する前記調整ベクトルを用いて、前記複合語に対応する前記ベクトルである複合ベクトルを取得する取得部とを備える、
ベクトル取得装置。
【請求項9】
複数の単語それぞれに対応してあらかじめ学習されたベクトルである初期ベクトルを保持し、かつ、複数の前記単語によって構成される文章の入力に対して前記初期ベクトルが調整された前記ベクトルである調整ベクトルを前記文章における前記単語それぞれに対応して出力可能な学習済みモデルを用いる、1または複数のプロセッサーによって実行されるためのコンピュータが実行可能な複数の命令を有するベクトル取得プログラムであり、
複数の前記単語に分割可能な前記単語を複合語とし、
前記プロセッサーによって実行される複数の前記命令によって、
前記コンピュータに、前記複合語から分割される前記単語のうちの少なくとも2つを含む少なくとも1つの前記文章を、前記学習済みモデルに入力させ、
前記コンピュータに、前記学習済みモデルから出力される、入力された前記文章における、前記複合語から分割される前記単語のうちの少なくとも1つに対応する前記調整ベクトルを用いて、前記複合語に対応する前記ベクトルである複合ベクトルを取得させる、
ベクトル取得プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願明細書に開示される技術は、単語に対応するベクトルの取得に関するものである。
【背景技術】
【0002】
従来から、単語に対応するベクトルを割り当て、さらに当該ベクトルを用いて単語間で類似度を算出する技術が知られている(たとえば、特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2020-74205号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のように単語間の類似度を算出する場合、学習済みモデルにあらかじめ保持されている、それぞれの単語に対応するベクトルを活用することができる。
【0005】
学習済みモデルは、大量の文章を用いて学習を行い上記のベクトルを生成しているため、あらかじめ保持されている上記のベクトルを用いれば、容易に単語間の類似度を算出することができる。
【0006】
一方で、学習済みモデルに対応するベクトルが保持されていない単語、または、学習済みモデルに保持されているベクトルの分類精度が十分でない単語については、単語間の類似度を高い精度で算出することができない場合がある。
【0007】
本願明細書に開示される技術は、以上に記載されたような問題を鑑みてなされたものであり、単語に対応するベクトルの分類精度を高めるための技術である。
【課題を解決するための手段】
【0008】
本願明細書に開示される技術の第1の態様であるベクトル取得方法は、複数の単語それぞれに対応してあらかじめ学習されたベクトルである初期ベクトルを保持し、かつ、複数の前記単語によって構成される文章の入力に対して前記初期ベクトルが調整された前記ベクトルである調整ベクトルを前記文章における前記単語それぞれに対応して出力可能な学習済みモデルを用いる、コンピュータにより実行されるベクトル取得方法であり、複数の前記単語に分割可能な前記単語を複合語とし、前記コンピュータの有する処理回路が記憶装置に記憶されたプログラムを実行することによって実行される工程として、前記複合語から分割される前記単語のうちの少なくとも2つを含む少なくとも1つの前記文章を、前記学習済みモデルに入力する工程と、入力された前記文章における、前記複合語から分割される前記単語のうちの少なくとも1つに対応する前記調整ベクトル、前記学習済みモデルから出力させる工程と、前記学習済みモデルから出力された前記調整ベクトルを用いて、前記複合語に対応する前記ベクトルである複合ベクトルを取得する工程とを備える。

【0009】
本願明細書に開示される技術の第2の態様であるベクトル取得方法は、第1の態様であるベクトル取得方法に関連し、前記文章を前記学習済みモデルに入力する工程は、前記学習済みモデルにおいて対応する前記初期ベクトルが保持されていない前記複合語から分割される前記単語を含む前記文章を、前記学習済みモデルに入力する工程である。
【0010】
本願明細書に開示される技術の第3の態様であるベクトル取得方法は、第1または2の態様であるベクトル取得方法に関連し、前記調整ベクトルを用いて取得された前記複合ベクトルを含む複数の前記単語それぞれに対応する前記ベクトルを用いて、前記複合語を含む複数の前記単語間の類似度を算出する工程をさらに備える。
【0011】
本願明細書に開示される技術の第4の態様であるベクトル取得方法は、第1から3のうちのいずれか1つの態様であるベクトル取得方法に関連し、前記複合ベクトルを取得する工程は、複数の前記文章にそれぞれ含まれる、前記複合語から分割される同一の前記単語に対応する前記調整ベクトルの平均値を用いて、前記複合ベクトルを取得する工程である。
【0012】
本願明細書に開示される技術の第5の態様であるベクトル取得方法は、第1から4のうちのいずれか1つの態様であるベクトル取得方法に関連し、前記複合ベクトルを取得する工程は、前記複合語から分割される前記単語それぞれに対応する前記ベクトルを平均することによって、前記複合ベクトルを取得する工程である。
【0013】
本願明細書に開示される技術の第6の態様であるベクトル取得方法は、第1から5のうちのいずれか1つの態様であるベクトル取得方法に関連し、前記学習済みモデルは、トランスフォーマに基づく言語エンコーディングモデルである。
【0014】
本願明細書に開示される技術の第7の態様であるベクトル取得方法は、第1から6のうちのいずれか1つの態様であるベクトル取得方法に関連し、前記文章を前記学習済みモデルに入力する工程は、前記複合語を含む前記文章を、前記学習済みモデルに入力する工程である。
【0015】
本願明細書に開示される技術の第8の態様であるベクトル取得装置は、複数の単語それぞれに対応してあらかじめ学習されたベクトルである初期ベクトルを保持し、かつ、複数の前記単語によって構成される文章の入力に対して前記初期ベクトルが調整された前記ベクトルである調整ベクトルを前記文章における前記単語それぞれに対応して出力可能な学習済みモデルを用いるベクトル取得装置であり、複数の前記単語に分割可能な前記単語を複合語とし、前記複合語から分割される前記単語のうちの少なくとも2つを含む少なくとも1つの前記文章を、前記学習済みモデルに入力する入力部と、前記学習済みモデルから出力される、入力された前記文章における、前記複合語から分割される前記単語のうちの少なくとも1つに対応する前記調整ベクトルを用いて、前記複合語に対応する前記ベクトルである複合ベクトルを取得する取得部とを備える。
【0016】
本願明細書に開示される技術の第9の態様であるベクトル取得プログラムは、複数の単語それぞれに対応してあらかじめ学習されたベクトルである初期ベクトルを保持し、かつ、複数の前記単語によって構成される文章の入力に対して前記初期ベクトルが調整された前記ベクトルである調整ベクトルを前記文章における前記単語それぞれに対応して出力可能な学習済みモデルを用いる、1または複数のプロセッサーによって実行されるためのコンピュータが実行可能な複数の命令を有するベクトル取得プログラムであり、複数の前記単語に分割可能な前記単語を複合語とし、前記プロセッサーによって実行される複数の前記命令によって、前記コンピュータに、前記複合語から分割される前記単語のうちの少なくとも2つを含む少なくとも1つの前記文章を、前記学習済みモデルに入力させ、前記コンピュータに、前記学習済みモデルから出力される、入力された前記文章における、前記複合語から分割される前記単語のうちの少なくとも1つに対応する前記調整ベクトルを用いて、前記複合語に対応する前記ベクトルである複合ベクトルを取得させる。
【発明の効果】
【0017】
本願明細書に開示される技術の少なくとも第1、8、9の態様によれば、複合語に対応する複合ベクトルを調整ベクトルを用いて取得することができるため、複合ベクトルの分類精度を向上させることができる。
【0018】
また、本願明細書に開示される技術に関連する目的と、特徴と、局面と、利点とは、以下に示される詳細な説明と添付図面とによって、さらに明白となる。
【図面の簡単な説明】
【0019】
図1】実施の形態に関する、ベクトル取得装置のハードウェア構成の例を示す図である。
図2】実施の形態に関する、ベクトル取得装置の機能的構成の例を示す図である。
図3】実施の形態で用いられる学習済みモデルの例を示す図である。
図4】ベクトル取得装置の動作の例を示すフローチャートである。
図5】複合ベクトルが取得され、さらに、複合語の類似度が算出される動作の具体例を示す図である。
図6】複合ベクトルが取得され、さらに、複合語の類似度が算出される動作の具体例を示す図である。
図7】複合ベクトルが取得され、さらに、複合語の類似度が算出される動作の具体例を示す図である。
【発明を実施するための形態】
【0020】
以下、添付される図面を参照しながら実施の形態について説明する。以下の実施の形態では、技術の説明のために詳細な特徴なども示されるが、それらは例示であり、実施の形態が実施可能となるためにそれらすべてが必ずしも必須の特徴ではない。
【0021】
なお、図面は概略的に示されるものであり、説明の便宜のため、適宜、構成の省略、または、構成の簡略化が図面においてなされるものである。また、異なる図面にそれぞれ示される構成などの大きさおよび位置の相互関係は、必ずしも正確に記載されるものではなく、適宜変更され得るものである。また、断面図ではない平面図などの図面においても、実施の形態の内容を理解することを容易にするために、ハッチングが付される場合がある。
【0022】
また、以下に示される説明では、同様の構成要素には同じ符号を付して図示し、それらの名称と機能とについても同様のものとする。したがって、それらについての詳細な説明を、重複を避けるために省略する場合がある。
【0023】
また、本願明細書に記載される説明において、ある構成要素を「備える」、「含む」または「有する」などと記載される場合、特に断らない限りは、他の構成要素の存在を除外する排他的な表現ではない。
【0024】
また、本願明細書に記載される説明において、「第1の」または「第2の」などの序数が用いられる場合があっても、これらの用語は、実施の形態の内容を理解することを容易にするために便宜上用いられるものであり、実施の形態の内容はこれらの序数によって生じ得る順序などに限定されるものではない。
【0025】
<実施の形態>
以下、本実施の形態に関するベクトル取得装置、ベクトル取得方法およびベクトル取得プログラムについて説明する。
【0026】
<ベクトル取得装置の構成について>
図1は、本実施の形態に関するベクトル取得装置100のハードウェア構成の例を示す図である。
【0027】
図1に例が示されるように、ベクトル取得装置100は、少なくとも、単語に対応するベクトルの取得動作に用いられるプログラム105がインストールされたコンピュータであり、中央演算処理装置(central processing unit、すなわち、CPU)102と、メモリ103と、ハードディスクドライブ(Hard disk drive、すなわち、HDD)104と、ディスプレイ101とを備える。
【0028】
ベクトル取得装置100においては、対応するプログラム105がHDD104にインストールされる。プログラム105のインストールは、コンパクトディスク(compact disc、すなわち、CD)、デジタル多目的ディスク(digital versatile disc、すなわち、DVD)、ユニバーサルシリアルバス(universal serial bus、すなわち、USB)メモリなどの外部記憶媒体106から読み出されたデータをHDD104に書き込むことによって行われてもよいし、ネットワーク107を経由して受信されたデータをHDD104に書き込むことによって行われてもよい。
【0029】
また、HDD104は、他の種類の補助記憶装置に置き換えられてもよい。たとえば、HDD104が、ソリッドステートドライブ(solid state drive、すなわち、SSD)、ランダムアクセスメモリー(random access memory、すなわち、RAM)ディスクなどに置き換えられてもよい。
【0030】
ベクトル取得装置100においては、HDD104にインストールされたプログラム105がメモリ103にロードされ、ロードされたプログラム105がCPU102によって実行される。そうすることによって、コンピュータがプログラム105を実行し、ベクトル取得装置100として機能する。
【0031】
なお、CPU102が行う処理の少なくとも一部がCPU102以外のプロセッサによって行われてもよい。たとえば、CPU102によって行われる処理の少なくとも一部が、グラフィックス処理装置(GPU)などによって行われてもよい。また、CPU102によって行われる処理の少なくとも一部が、プログラムを実行しないハードウェアによって行われてもよい。
【0032】
図2は、本実施の形態に関するベクトル取得装置100の機能的構成の例を示す図である。
【0033】
図2に例が示されるように、ベクトル取得装置100は、少なくとも、入力部18と、取得部12とを備える。また、ベクトル取得装置100は、学習済みモデル10と、類似度算出部14と、記録部22と、出力部20とを備えることができる。入力部18および出力部20は、図1のディスプレイ101などによって実現される。また、記録部22は、たとえば、図1のメモリ103およびHDD104の少なくとも一方によって実現される。また、学習済みモデル10、取得部12、類似度算出部14は、たとえば、図1のCPU102にプログラム105を実行させることによって実現される。
【0034】
入力部18は、複数の単語から構成される文章のデータを、学習済みモデル10に入力する。入力される文章には、複数の単語に分割可能な単語である複合語が含まれているものとする。
【0035】
学習済みモデル10は、ニューラルネットワークなどを用いて機械学習があらかじめ行われた学習モデルである。学習済みモデル10は、形態素解析などの前処理によって単語などに分割された文章のデータが入力される入力層と、入力層から出力されるデータにおける単語ごとに分散表現としての多次元のベクトルを割り当てる(埋め込む)埋め込み層と、埋め込み層から出力される単語ごとに割り当てられたベクトル(重み)を調整する隠れ層とを備える。
【0036】
埋め込み層には、大量の学習用データを用いる学習によって取得された単語ごとのベクトル(すなわち、初期ベクトル)が保持されている。
【0037】
隠れ層は、複数の階層に分かれて設けられており、それぞれの階層の隠れ層においてベクトル(重み)が調整される。ここで、複数の階層のうちの最終階層に相当する隠れ層を最終隠れ層とする。
【0038】
学習済みモデル10には、たとえば、トランスフォーマに基づく言語エンコーディングモデルであるBERTモデルを用いることができる。なお、学習済みモデル10は、BERTモデルに限られるものではなく、トランスフォーマに基づくOpenAI GPT、ALBERT、XLNetなどであってもよい。
【0039】
また、学習済みモデル10は、本実施の形態ではベクトル取得装置100に備えられる構成として記載されているが、ベクトル取得装置100の外部に設けられ、ベクトル取得装置100の動作に応じて参照されるものであってもよい。
【0040】
また、学習済みモデル10は、本実施の形態では隠れ層までを備えるものとされたが、後述の調整ベクトルを用いる任意のタスクに対する出力を行う出力層がさらに備えられるものであってもよい。
【0041】
取得部12は、学習済みモデル10からベクトル(初期ベクトルおよび調整ベクトルを含む)を取得する。取得部12は、初期ベクトルを学習済みモデル10における埋め込み層から取得することができる。また、取得部12は、調整ベクトルを学習済みモデル10における隠れ層(主に最終隠れ層)から取得することができる。なお、取得されたベクトルは、記録部22に記録することができる。
【0042】
さらに、取得部12は、学習済みモデル10から取得したベクトルに基づいて、複合語に対応するベクトルである複合ベクトルを生成し、かつ、取得することができる。なお、取得された複合ベクトルは、記録部22に記録することができる。
【0043】
類似度算出部14は、単語間の類似度を算出することができる。具体的には、類似度算出部14は、それぞれの単語に対応するベクトル間のcos類似度を算出することができる。また、類似度算出部14は、算出された値があらかじめ定められたしきい値よりも大きい場合に、当該単語同士が類似しているものと判定することができる。なお、算出された類似度および対応する判定結果は、記録部22に記録することができる。
【0044】
出力部20は、取得部12において取得されたベクトル(複合ベクトルを含む)、類似度算出部14において算出された類似度および対応する判定結果のうちの少なくとも1つを出力することができる。
【0045】
ここで、学習済みモデル10の例について説明する。図3は、本実施の形態で用いられる学習済みモデル10の例を示す図である。
【0046】
図3に示されるように、学習済みモデル10は、単語などに分割された文章のデータが入力される入力層30と、入力層30から出力されるデータにおける単語ごとに多次元のベクトルを割り当てる埋め込み層32と、埋め込み層32から出力される単語ごとに割り当てられたベクトル(重み)を調整する隠れ層34(最終隠れ層36を含む)とを備える。
【0047】
図3に示されるように、隠れ層34は複数の階層に分かれて設けられており、それぞれの階層の隠れ層34において段階的にベクトル(重み)が調整される。ここで、最終階層となる隠れ層を最終隠れ層36とする。
【0048】
<ベクトル取得装置の動作について>
次に、ベクトル取得装置100の動作(複合ベクトルを取得する動作、さらには、単語間の類似度を算出する動作)について、図4図5図6および図7を参照しつつ説明する。なお、図4は、ベクトル取得装置100の動作の例を示すフローチャートである。
【0049】
図4に例が示されるように、まず、入力部18が、学習済みモデル10の入力層30に複数の単語から構成される文章のデータを入力する(図4におけるステップST01)。なお、入力される文章のデータは、形態素解析などの前処理によってあらかじめ単語などに分割されたデータである。
【0050】
上記のように、入力される文章には、複数の単語に分割可能な単語である複合語が含まれているものとする。また、本実施の形態では、複合語には、学習済みモデル10において対応する初期ベクトルが保持されていない単語(以下、非保持単語とも称する)が含まれるものとする。なお、非保持単語が入力される文章のデータに含まれていなくてもよい。
【0051】
次に、埋め込み層32において、学習済みモデル10の入力層30から出力されるデータにおける単語ごとにベクトルが割り当てられる(図4におけるステップST02)。なお、本実施の形態では、大量の学習用データを用いる学習によって取得された単語ごとのベクトル(すなわち、初期ベクトル)が割り当てられるものとするが、初期ベクトルが調整ベクトルによって更新されてもよい。
【0052】
ここで、入力された文章には非保持単語である複合語が含まれているため、学習済みモデル10において、当該複合語に対応する初期ベクトルは保持されていない。そこで、複合語をさらに分割して単語を生成し、分割されたそれぞれの単語に初期ベクトルを割り当てる。
【0053】
なお、入力された文章における複合語が非保持単語でない場合(すなわち、学習済みモデル10において、対応する複合ベクトルが初期ベクトルとして保持されている場合)であっても、複合語を分割して得られたそれぞれの単語に対応する初期ベクトルを割り当ててもよい。たとえば、特定の分野に用いられる文章に特化した複合語の複合ベクトルが望まれる場合に、当該分野の文章を用いて分割された単語それぞれの初期ベクトルをさらに調整し、既に登録されている複合ベクトルを特定の分野に適合するベクトルに更新することができる。
【0054】
次に、複数の階層からなる隠れ層34において、単語ごとのベクトルが調整される(図4におけるステップST03)。当該調整によって、入力された文章中の前後関係(文脈)が反映され、初期ベクトルが調整された調整ベクトルが単語ごとに生成される。
【0055】
次に、取得部12が、学習済みモデル10からベクトルを取得する(図4におけるステップST04)。
【0056】
取得部12は、入力された文章におけるすべての単語に対応するベクトルを取得可能であるが、複合語から分割された単語に対応する調整ベクトルを少なくとも1つ取得する。なお、当該調整ベクトルは、主に最終隠れ層36から取得される。
【0057】
次に、取得部12が、複合語から分割された単語それぞれに対応するベクトル(少なくとも1つの調整ベクトルを含む)に基づいて、複合語に対応する複合ベクトルを生成し、かつ、取得する(図4におけるステップST05)。複合ベクトルの生成方法としては、たとえば、複合語から分割されたすべての単語に対応するベクトルを合成する方法(算術平均)を採用可能であるが、その他の方法(たとえば、相乗平均または調和平均など)が採用されてもよい。
【0058】
以上によって、ベクトル取得装置100は、複合語に対応する複合ベクトルを取得することができる。
【0059】
なお、上記の例では、入力される文章中に複合語そのものが含まれている場合が示されたが、入力される文章中で複合語を分割して得られた単語同士が分散して記載されていてもよいし、入力される文章中で複合語とは異なる順序で記載されていてもよい。
【0060】
また、入力される文章中には、複合語を分割して得られた単語のうちの少なくとも2つが含まれていればよい。そして、入力される文章は1つである必要はなく、当該文章中に含まれていない他の分割して得られた単語が、他の入力される文章中に含まれていてもよい。
【0061】
また、取得部12は、複合語を分割して得られた単語のすべてについて、調整ベクトルを取得しなくてもよい。すなわち、取得部12は、複合語を分割して得られた単語の一部について対応する初期ベクトルを取得し、当該初期ベクトルを用いて複合ベクトルを生成してもよい。
【0062】
また、取得部12は、複合語を分割して得られた同一の単語に対応する調整ベクトルを複数回生成してもよい。そして、取得部12は、同一の単語に対応する複数の調整ベクトルに基づいて、たとえば、それらのベクトルを合成して唯一の対応するベクトルとし、複合ベクトルを生成するために用いてもよい。
【0063】
さらに、類似度算出部14が、入力された上記の文章中の1つの単語について、入力された上記の文章中の他の単語との類似度を算出することができる(図4におけるステップST06)。特に、類似度算出部14は、入力された上記の文章中の複合語(非保持単語を含む)について、入力された上記の文章中の他の単語との類似度を算出することができる。また、類似度算出部14は、算出された値があらかじめ定められたしきい値よりも大きい場合に、当該単語同士が類似しているものと判定することができる。
【0064】
なお、上記では、類似度を算出する単語は同一の文章内のものに限られているが、類似度を算出する単語が複数の文章に跨っていてもよい。
【0065】
そして、出力部20が、ともに記録部22に記録可能である、取得部12において取得されたベクトル(複合ベクトルを含む)、類似度算出部14において算出された類似度および対応する判定結果のうちの少なくとも1つを出力することができる(図4におけるステップST07)。たとえば、類似度が高い単語順にディスプレイ101に表示させることができる。
【0066】
図5図6および図7は、上記のように複合ベクトルが取得され、さらに、複合語の類似度が算出される動作の具体例を示す図である。
【0067】
まず、学習済みモデル10の入力層30に入力された文章のデータにおける単語ごとに、ベクトルが割り当てられる。図5においては、形態素解析などによって分割されたそれぞれの単語のうち、「プリント」にベクトルT、「回路」にベクトルT、「基」にベクトルT、「板」にベクトルT、「の」にベクトルT、「トレース」にベクトルT、「を」にベクトルT、「形成」にベクトルT、「。」にベクトルTが割り当てられる。
【0068】
ここで、「回路」、「基」および「板」は、もともと「回路基板」という複合語であったものが、さらに分割されて単語が生成されたものである。
【0069】
次に、学習済みモデル10の隠れ層34の複数の階層において、これらのベクトルがそれぞれ調整される。
【0070】
次に、取得部12が、学習済みモデル10からベクトルを取得する。特に、取得部12は、図6に示されるように、複合語から分割された単語に対応する調整ベクトル(図5におけるベクトルT、ベクトルTおよびベクトルT)を取得する。
【0071】
次に、取得部12が、ベクトルT、ベクトルTおよびベクトルTに基づいて、複合語(すなわち、回路基板)に対応するベクトルを生成する。
【0072】
次に、類似度算出部14が、1つの単語について、他の単語との類似度を算出する。
【0073】
図7は、類似度算出部14によって算出された類似度の結果の例を示す図である。図7において、上段は、複合語から分割された単語のベクトルを学習済みモデル10に保持されている対応する初期ベクトルとした場合の、複合語に対する複数の同義語を示すものであり、下段は、複合語から分割された単語のベクトルを、上記の動作によって学習済みモデル10から出力された調整ベクトルとした場合の、複合語に対する複数の同義語を示すものである。ここで、同義語とは、単語間の類似度があらかじめ定められたしきい値以上である単語である。
【0074】
図7に例が示されるように、上段と下段とで比較すると、下段の方がより複合語の同義語として適切な単語(単に文字列が類似している単語ではなく、複合語の意味内容が類似する単語)を挙げており、図4に示された動作によって、複合語に対応する複合ベクトルが、文章中における前後関係を反映しており、その分類精度が高まっていることが分かる。
【0075】
<以上に記載された実施の形態によって生じる効果について>
次に、以上に記載された実施の形態によって生じる効果の例を示す。なお、以下の説明においては、以上に記載された実施の形態に例が示された具体的な構成に基づいて当該効果が記載されるが、同様の効果が生じる範囲で、本願明細書に例が示される他の具体的な構成と置き換えられてもよい。すなわち、以下では便宜上、対応づけられる具体的な構成のうちのいずれか1つのみが代表して記載される場合があるが、代表して記載された具体的な構成が対応づけられる他の具体的な構成に置き換えられてもよい。
【0076】
以上に記載された実施の形態によれば、ベクトル取得方法において、複数の単語に分割可能な単語を複合語とする。そして、複合語から分割される単語のうちの少なくとも2つを含む少なくとも1つの文章を、学習済みモデル10に入力する。そして、入力された文章における、複合語から分割される単語のうちの少なくとも1つに対応する調整ベクトルが、学習済みモデル10から出力される。そして、学習済みモデル10から出力された調整ベクトルを用いて、複合語に対応するベクトルである複合ベクトルを取得する。
【0077】
このような構成によれば、複合語に対応する複合ベクトルを調整ベクトルを用いて取得することができるため、複合語から分割される単語間の入力された文章中における関係を複合ベクトルに反映させることができる。そのため、複合ベクトルの分類精度(表現精度)を向上させることができる。
【0078】
なお、特段の制限がない場合には、それぞれの処理が行われる順序は変更することができる。
【0079】
また、上記の構成に本願明細書に例が示された他の構成を適宜追加した場合、すなわち、上記の構成としては言及されなかった本願明細書中の他の構成が適宜追加された場合であっても、同様の効果を生じさせることができる。
【0080】
また、以上に記載された実施の形態によれば、文章を学習済みモデル10に入力する工程は、学習済みモデル10において対応する初期ベクトルが保持されていない複合語から分割される単語を含む文章を、学習済みモデル10に入力する工程である。このような構成によれば、初期ベクトルが保持されていない複合ベクトルを、調整ベクトルを用いて取得することができる。そのため、対応する初期ベクトルを埋め込み層32から取得し当該初期ベクトルに基づいて複合ベクトルを生成する場合に比べて、複合語から分割される単語間の文章中における関係が複合ベクトルに反映される。そのため、複合ベクトルの分類精度(表現精度)を向上させることができる。
【0081】
また、以上に記載された実施の形態によれば、ベクトル取得方法において、調整ベクトルを用いて取得された複合ベクトルを含む複数の単語それぞれに対応するベクトルを用いて、複合語を含む複数の単語間の類似度を算出する工程を備える。このような構成によれば、分類精度(表現精度)が高められた複合ベクトルを用いて単語間の類似度を計算することができるため、類似度の算出精度を向上させることができる。
【0082】
また、以上に記載された実施の形態によれば、複合ベクトルを取得する工程は、複数の文章にそれぞれ含まれる、複合語から分割される同一の単語に対応する調整ベクトルの平均値を用いて、複合ベクトルを取得する工程である。このような構成によれば、複数の文章中における同一の単語同士の差異を考慮することとなり、得られる複合ベクトルの分類精度(表現精度)を高めることができる。
【0083】
また、以上に記載された実施の形態によれば、複合ベクトルを取得する工程は、複合語から分割される単語それぞれに対応するベクトルを平均することによって、複合ベクトルを取得する工程である。このような構成によれば、複数のベクトルを合成して複合ベクトルを取得することとなるため、得られる複合ベクトルの分類精度(表現精度)を高めることができる。
【0084】
また、以上に記載された実施の形態によれば、学習済みモデル10は、トランスフォーマに基づく言語エンコーディングモデルである。このような構成によれば、文章における文脈を考慮して、生成されるベクトルの分類精度を向上させることができる。
【0085】
また、以上に記載された実施の形態によれば、文章を学習済みモデル10に入力する工程は、複合語を含む文章を、学習済みモデル10に入力する工程である。このような構成によれば、1つの文章中に複合語から分割されるすべての単語が含まれるため、これらの単語に対応する調整ベクトルを効率的に出力させることができる。また、文章中において複合語がそのまま用いられているため、複合語から分割される単語間の当該文章中における関係も複合語の意味に沿うものとなり、出力させる調整ベクトルの分類精度(表現精度)を向上させることができる。
【0086】
以上に記載された実施の形態によれば、ベクトル取得装置は、複数の単語それぞれに対応してあらかじめ学習されたベクトルである初期ベクトルを保持し、かつ、複数の単語によって構成される文章の入力に対して初期ベクトルが調整されたベクトルである調整ベクトルを文章における単語それぞれに対応して出力可能な学習済みモデル10を用いるベクトル取得装置である。ベクトル取得装置は、入力部18と、取得部12とを備える。入力部18は、複合語から分割される単語のうちの少なくとも2つを含む少なくとも1つの文章を、学習済みモデル10に入力する。取得部12は、学習済みモデル10から出力される、入力された文章における、複合語から分割される単語のうちの少なくとも1つに対応する調整ベクトルを用いて、複合語に対応するベクトルである複合ベクトルを取得する。
【0087】
また、以上に記載された実施の形態によれば、ベクトル取得装置は、プログラムを実行する処理回路であるCPU102と、実行されるプログラム105を記憶する記憶装置であるHDD104とを備える。そして、CPU102がプログラム105を実行することによって、以下の動作が実現される。
【0088】
すなわち、複合語から分割される単語のうちの少なくとも2つを含む少なくとも1つの文章が、学習済みモデル10に入力される。そして、学習済みモデル10から出力される、入力された文章における、複合語から分割される単語のうちの少なくとも1つに対応する調整ベクトルを用いて、複合語に対応するベクトルである複合ベクトルが取得される。
【0089】
このような構成によれば、複合語に対応する複合ベクトルを調整ベクトルを用いて取得することができるため、複合ベクトルの分類精度(表現精度)を向上させることができる。
【0090】
なお、上記の構成に本願明細書に例が示された他の構成を適宜追加した場合、すなわち、上記の構成としては言及されなかった本願明細書中の他の構成が適宜追加された場合であっても、同様の効果を生じさせることができる。
【0091】
以上に記載された実施の形態によれば、ベクトル取得プログラムは、プロセッサー(CPU102)によって実行される複数の命令によって、コンピュータに、複合語から分割される単語のうちの少なくとも2つを含む少なくとも1つの文章を、学習済みモデル10に入力させる。そして、コンピュータに、学習済みモデル10から出力される、入力された文章における、複合語から分割される単語のうちの少なくとも1つに対応する調整ベクトルを用いて、複合語に対応するベクトルである複合ベクトルを取得させる。
【0092】
このような構成によれば、複合語に対応する複合ベクトルを調整ベクトルを用いて取得することができるため、複合ベクトルの分類精度(表現精度)を向上させることができる。
【0093】
なお、本願明細書に例が示される他の構成のうちの少なくとも1つを、上記の構成に適宜追加した場合、すなわち、上記の構成としては言及されなかった本願明細書に例が示される他の構成が適宜追加された場合であっても、同様の効果を生じさせることができる。
【0094】
また、上記のプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイディスク(登録商標)またはDVDなどの、コンピュータが読み取り可能な可搬記録媒体に記録されていてもよい。そして、上記の機能を実現するプログラムが記録された可搬記録媒体が商業的に流通されてもよい。
【0095】
<以上に記載された実施の形態の変形例について>
以上に記載された実施の形態では、それぞれの構成要素の寸法、形状、相対的配置関係または実施の条件などについても記載する場合があるが、これらはすべての局面においてひとつの例であって、限定的なものではないものとする。
【0096】
したがって、例が示されていない無数の変形例、および、均等物が、本願明細書に開示される技術の範囲内において想定される。たとえば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合が含まれるものとする。
【0097】
また、以上に記載された実施の形態において、特に指定されずに材料名などが記載された場合は、矛盾が生じない限り、当該材料に他の添加物が含まれた、たとえば、合金などが含まれるものとする。
【0098】
また、以上に記載された実施の形態で記載されたそれぞれの構成要素は、ソフトウェアまたはファームウェアとしても、それと対応するハードウェアとしても想定され、その双方の概念において、それぞれの構成要素は「部」または「処理回路」(circuitry)などと称される。
【符号の説明】
【0099】
10 学習済みモデル
12 取得部
14 類似度算出部
18 入力部
20 出力部
22 記録部
30 入力層
32 埋め込み層
34 隠れ層
36 最終隠れ層
100 ベクトル取得装置
101 ディスプレイ
102 CPU
103 メモリ
104 HDD
105 プログラム
106 外部記憶媒体
107 ネットワーク
図1
図2
図3
図4
図5
図6
図7