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

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

▶ 日本電信電話株式会社の特許一覧

特許7172872単語埋め込みベクトル統合装置、単語埋め込みベクトル統合方法、及び単語埋め込みベクトル統合プログラム
<>
  • 特許-単語埋め込みベクトル統合装置、単語埋め込みベクトル統合方法、及び単語埋め込みベクトル統合プログラム 図1
  • 特許-単語埋め込みベクトル統合装置、単語埋め込みベクトル統合方法、及び単語埋め込みベクトル統合プログラム 図2
  • 特許-単語埋め込みベクトル統合装置、単語埋め込みベクトル統合方法、及び単語埋め込みベクトル統合プログラム 図3
  • 特許-単語埋め込みベクトル統合装置、単語埋め込みベクトル統合方法、及び単語埋め込みベクトル統合プログラム 図4
  • 特許-単語埋め込みベクトル統合装置、単語埋め込みベクトル統合方法、及び単語埋め込みベクトル統合プログラム 図5
  • 特許-単語埋め込みベクトル統合装置、単語埋め込みベクトル統合方法、及び単語埋め込みベクトル統合プログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】単語埋め込みベクトル統合装置、単語埋め込みベクトル統合方法、及び単語埋め込みベクトル統合プログラム
(51)【国際特許分類】
   G06F 40/216 20200101AFI20221109BHJP
   G06F 40/242 20200101ALI20221109BHJP
   G06F 16/36 20190101ALI20221109BHJP
【FI】
G06F40/216
G06F40/242
G06F16/36
【請求項の数】 6
(21)【出願番号】P 2019113682
(22)【出願日】2019-06-19
(65)【公開番号】P2020205010
(43)【公開日】2020-12-24
【審査請求日】2021-10-01
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】平尾 努
(72)【発明者】
【氏名】永田 昌明
(72)【発明者】
【氏名】林 克彦
【審査官】成瀬 博之
(56)【参考文献】
【文献】石渡祥之佑 他4名,ウェブ上の言語資源を用いた単語のベクトル表現の翻訳,Webとデータベースに関するフォーラム(WebDB Forum 2014) 論文集[CD-ROM],日本,一般社団法人情報処理学会,2014年11月12日,ISSN 1882-0840
【文献】Wenpeng Yin 他1名,Learning Word Meta-Embeddings,Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics[online],Association for Computational Linguistics,2016年08月07日,[2022年09月29日検索],インターネット,URL:https://aclanthology.org/P16-1128.pdf
【文献】commonsense/conceptnet5 [online],2018年06月06日,[2022年09月29日検索],インターネット,URL:https://github.com/commonsense/conceptnet5/blob/cbe2758007e312c168aef30328693027b6a4b7e9/conceptnet5/vectors/merge.py
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
コーパスAから生成された、前記コーパスAに含まれる各単語についての単語埋め込みベクトルと、前記コーパスAとは異なるコーパスBから生成された、前記コーパスBに含まれる各単語についての単語埋め込みベクトルとに基づいて、前記コーパスAに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルと、前記コーパスBに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルとの対応関係を決定する基底ベクトル対応決定部と、
前記決定された前記対応関係に基づいて、前記コーパスBに含まれる各単語について単語埋め込みベクトルの要素を並べ替えるように、前記コーパスBに含まれる各単語について単語埋め込みベクトルを変更する単語埋め込みベクトル統合部と、
を含む単語埋め込みベクトル統合装置。
【請求項2】
前記コーパスAと、前記コーパスBとは、言語又はドメインが異なる請求項1記載の単語埋め込みベクトル統合装置。
【請求項3】
前記基底ベクトル対応決定部は、前記コーパスAに含まれる単語の単語埋め込みベクトルの基底ベクトルに関連する単語と、前記コーパスBに含まれる単語の単語埋め込みベクトルの基底ベクトルに関連する単語とを提示して、前記対応関係の入力を受け付ける請求項1又は請求項2記載の単語埋め込みベクトル統合装置。
【請求項4】
前記単語埋め込みベクトル統合部は、前記コーパスAと前記コーパスBとで共通する単語については、前記コーパスAでの前記単語の単語埋め込みベクトルと、前記変更した前記コーパスBでの前記単語の単語埋め込みベクトルとの平均ベクトルを、前記単語の単語埋め込みベクトルとする請求項1~請求項3の何れか1項記載の単語埋め込みベクトル統合装置。
【請求項5】
基底ベクトル対応決定部が、コーパスAから生成された、前記コーパスAに含まれる各単語についての単語埋め込みベクトルと、前記コーパスAとは異なるコーパスBから生成された、前記コーパスBに含まれる各単語についての単語埋め込みベクトルとに基づいて、前記コーパスAに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルと、前記コーパスBに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルとの対応関係を決定し、
単語埋め込みベクトル統合部が、前記決定された前記対応関係に基づいて、前記コーパスBに含まれる各単語について単語埋め込みベクトルの要素を並べ替えるように、前記コーパスBに含まれる各単語について単語埋め込みベクトルを変更する
単語埋め込みベクトル統合方法。
【請求項6】
コーパスAから生成された、前記コーパスAに含まれる各単語についての単語埋め込みベクトルと、前記コーパスAとは異なるコーパスBから生成された、前記コーパスBに含まれる各単語についての単語埋め込みベクトルとに基づいて、前記コーパスAに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルと、前記コーパスBに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルとの対応関係を決定し、
前記決定された前記対応関係に基づいて、前記コーパスBに含まれる各単語について単語埋め込みベクトルの要素を並べ替えるように、前記コーパスBに含まれる各単語について単語埋め込みベクトルを変更する
ことをコンピュータに実行させるための単語埋め込みベクトル統合プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、単語埋め込みベクトル統合装置、単語埋め込みベクトル統合方法、及び単語埋め込みベクトル統合プログラムに関する。
【背景技術】
【0002】
単語埋め込みベクトルとは単語をある固定次元のベクトルとして表現する手法であり、様々なベクトル化の手法が提案されている。具体的には、行列分解(例えば、Singular Value Decomposition(SVD)、Nonnegative Matrix Factorization (NMF))を用いる手法や、LDAなどトピックモデルを用いることで、単語埋め込みベクトルを得ることができる。ただし、こうした手法は計算時間を要するため、最近ではWord2Vec(非特許文献1)やGloVe(非特許文献2)がよく用いられる。
【先行技術文献】
【非特許文献】
【0003】
【文献】Tomas Mikolov, and Ilya Sutskever and Kai Chen and Greg Corrado S and Jeff Dean, Jeff. 2013. "Distributed Representations of Words and Phrases and their Compositionality" In Proceedings of the Advances in Neural Information Processing Systems 26, pp.3111‐3119
【文献】Jeffrey Pennington, Richard Socher, and Christopher-Manning. 2014. "Glove: Global vectors for wordrepresentation." In Proceedings of the 2014 Conference on Empirical Methods in Natural Language-Processing (EMNLP), pp. 1532-1543
【発明の概要】
【発明が解決しようとする課題】
【0004】
単語埋め込みベクトルを得るための学習は、一つの大規模なコーパスを対象として行われる。よって、一旦単語埋め込みベクトルを学習した後、新たな単語の単語埋め込みベクトルをそこに追加しようとすると、その単語を含む新たなコーパスを用意し、先に利用したコーパスと新たなコーパスをまとめた上で1つのコーパスとして、再度、単語埋め込みベクトルを学習し直す必要がある。また、先に学習した単語埋め込みベクトルと異なる言語の単語を追加しようと、2つの言語をまとめたコーパスを作成して単語ベクトルを学習したとしても、そもそもその学習自体がうまくいかない。
【0005】
開示の技術は、上記の点に鑑みてなされたものであり、2つのコーパスにおける各単語の単語埋め込みベクトルを効率的に学習することができる単語埋め込みベクトル統合装置、単語埋め込みベクトル統合方法、及び単語埋め込みベクトル統合プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の第1態様は、単語埋め込みベクトル統合装置であって、コーパスAから生成された、前記コーパスAに含まれる各単語についての単語埋め込みベクトルと、前記コーパスAとは異なるコーパスBから生成された、前記コーパスBに含まれる各単語についての単語埋め込みベクトルとに基づいて、前記コーパスAに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルと、前記コーパスBに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルとの対応関係を決定する基底ベクトル対応決定部と、前記決定された前記対応関係に基づいて、前記コーパスBに含まれる各単語について単語埋め込みベクトルの要素を並べ替えるように、前記コーパスBに含まれる各単語について単語埋め込みベクトルを変更する単語埋め込みベクトル統合部と、を含む。
【0007】
本開示の第2態様は、単語埋め込みベクトル統合方法であって、基底ベクトル対応決定部が、コーパスAから生成された、前記コーパスAに含まれる各単語についての単語埋め込みベクトルと、前記コーパスAとは異なるコーパスBから生成された、前記コーパスBに含まれる各単語についての単語埋め込みベクトルとに基づいて、前記コーパスAに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルと、前記コーパスBに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルとの対応関係を決定し、単語埋め込みベクトル統合部が、前記決定された前記対応関係に基づいて、前記コーパスBに含まれる各単語について単語埋め込みベクトルの要素を並べ替えるように、前記コーパスBに含まれる各単語について単語埋め込みベクトルを変更する。
【0008】
本開示の第3態様は、単語埋め込みベクトル統合プログラムであって、コーパスAから生成された、前記コーパスAに含まれる各単語についての単語埋め込みベクトルと、前記コーパスAとは異なるコーパスBから生成された、前記コーパスBに含まれる各単語についての単語埋め込みベクトルとに基づいて、前記コーパスAに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルと、前記コーパスBに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルとの対応関係を決定し、前記決定された前記対応関係に基づいて、前記コーパスBに含まれる各単語について単語埋め込みベクトルの要素を並べ替えるように、前記コーパスBに含まれる各単語について単語埋め込みベクトルを変更することをコンピュータに実行させるためのプログラムである。
【発明の効果】
【0009】
開示の技術によれば、2つのコーパスにおける各単語の単語埋め込みベクトルを効率的に学習することができる。
【図面の簡単な説明】
【0010】
図1】本実施形態の単語埋め込みベクトル統合装置として機能するコンピュータの一例の概略ブロック図である。
図2】本実施形態の単語埋め込みベクトル統合装置の構成を示すブロック図である。
図3】単語埋め込みベクトル生成部による処理を説明するための図である。
図4】基底ベクトル対応決定部による処理を説明するための図である。
図5】単語埋め込みベクトルの要素を並べ替える方法を説明するための図である。
図6】本実施形態の単語埋め込みベクトル統合装置の単語埋め込みベクトル統合処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0012】
<本実施形態の単語埋め込みベクトル統合装置の構成>
図1は、本実施形態の単語埋め込みベクトル統合装置10のハードウェア構成を示すブロック図である。
【0013】
図1に示すように、単語埋め込みベクトル統合装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、表示部16及び通信インタフェース(I/F)17を有する。各構成は、バス19を介して相互に通信可能に接続されている。
【0014】
CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各部を制御したりする。すなわち、CPU11は、ROM12又はストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ROM12又はストレージ14に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。本実施形態では、ROM12又はストレージ14には、2つのコーパスの単語埋め込みベクトルを統合するための単語埋め込みベクトル統合プログラムが格納されている。単語埋め込みベクトル統合プログラムは、1つのプログラムであっても良いし、複数のプログラム又はモジュールで構成されるプログラム群であっても良い。
【0015】
ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0016】
入力部15は、マウス等のポインティングデバイス、及びキーボードを含み、各種の入力を行うために使用される。
【0017】
表示部16は、例えば、液晶ディスプレイであり、各種の情報を表示する。表示部16は、タッチパネル方式を採用して、入力部15として機能しても良い。
【0018】
通信インタフェース17は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
【0019】
次に、単語埋め込みベクトル統合装置10の機能構成について説明する。
【0020】
図2は、単語埋め込みベクトル統合装置10の機能構成の例を示すブロック図である。
【0021】
図2に示すように、単語埋め込みベクトル統合装置10は、機能構成として、単語埋め込みベクトル生成部20、基底ベクトル対応決定部22、及び単語埋め込みベクトル統合部24を有する。各機能構成は、CPU11がROM12又はストレージ14に記憶された単語埋め込みベクトル統合プログラムを読み出し、RAM13に展開して実行することにより実現される。
【0022】
単語埋め込みベクトル生成部20は、入力部15により入力されたコーパスAを受け取り、コーパスAに含まれる各単語についての単語埋め込みベクトルからなる単語埋め込みベクトルの集合を生成し、基底ベクトル対応決定部22へと渡す。また、単語埋め込みベクトル生成部20は、入力部15により入力された、コーパスAとは異なるコーパスBを受け取り、コーパスBに含まれる各単語についての単語埋め込みベクトルからなる単語埋め込みベクトルの集合を生成し、基底ベクトル対応決定部22へと渡す。
【0023】
具体的には、単語埋め込みベクトル生成部20は、以下の手順で異なる2つの単語埋め込みベクトルの集合を生成する。
【0024】
まず、単語埋め込みベクトル生成部20は、コーパスAから単語埋め込みベクトルの集合を生成する。なお、単語埋め込みベクトルはd次元のベクトルとして表現されるものとし、コーパスA中の単語の異なり総数をnとする(図3参照)。コーパスA中の単語の異なり総数とは、コーパスA中に出現する単語の種類数である。コーパスAに含まれる各単語についての単語埋め込みベクトルからなる単語埋め込みベクトルの集合を、n×d行列とみなすことができるので、この行列をSと表す。次に、単語埋め込みベクトル生成部20は、別のコーパスBを用いて同じくd次元の単語埋め込みベクトルの集合を生成する。なお、コーパスB中の単語の異なり総数はmとする。コーパスBに含まれる各単語についての単語埋め込みベクトルからなる単語埋め込みベクトルの集合を、m×d行列とみなすことができるので、この行列をTと表す。このように単語埋め込みベクトル生成部20は行列S、Tを生成し、基底ベクトル対応決定部22へと渡す。単語埋め込みベクトルの生成には非特許文献1、2などの既存の技術を利用すれば良い。
【0025】
ここで、コーパスAと、コーパスBとは、言語又はドメインが異なるものとする。
【0026】
基底ベクトル対応決定部22は、コーパスAに含まれる各単語についての単語埋め込みベクトルを表す行列Sと、コーパスBに含まれる各単語についての単語埋め込みベクトルを表す行列Tとに基づいて、行列Sの縦ベクトルとして得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルと、行列Tの縦ベクトルとして得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルとの対応関係を決定する。
【0027】
具体的には、基底ベクトル対応決定部22は、以下に説明するように、基底ベクトルの対応関係を決定する。
【0028】
行列Sのi番目の横ベクトルSi,:はi番目の単語埋め込みベクトルを表し、行列Sのj番目の縦ベクトルS:,jはj番目の基底ベクトルとなる。行列Tについても横ベクトルが単語埋め込みベクトルであり、縦ベクトルが基底ベクトルである。行列Sも行列Tも基底ベクトルの数はdであることから、行列Sと行列Tの基底ベクトルとの間の1対1の対応関係を決定することができれば、異なる2つの行列の間で基底ベクトルが対応することになるので2つの単語埋め込みベクトルの集合を統合することができる。基底ベクトルの1対1対応関係は、既存技術、たとえば、Matching CCA (非特許文献3)、Kernelized Sotring(非特許文献4)などを利用すればよい。
【0029】
[非特許文献3]Aria Haghighiand Percy Liang and Taylor Berg-Kirkpatrick and Dan Klein, 2008, "Learning Bilingual Lexicons from Monolingual Cor-pora" In Proceedings of ACL-08:HLT,pp. 771-779
【0030】
[非特許文献4]Novi Quadrianto and Le Song and Alex J. Smola, 2009, "Kernelized Sorting" In Proceedings of the Advances in Neural Information Processing Systems 21
【0031】
なお、Matching CCA、又はKernelized Sortingを利用する場合には、確度の高い対応関係を得るために、シードとなる基底ベクトルの対応関係を人手で与える必要がある。
【0032】
この場合、基底ベクトル対応決定部22は、コーパスAに含まれる単語の単語埋め込みベクトルの基底ベクトルに関連する単語と、コーパスBに含まれる単語の単語埋め込みベクトルの基底ベクトルに関連する単語とを提示して、基底ベクトルの対応関係を受け付ける。例えば、基底ベクトル対応決定部22は、コーパスAに含まれる単語のうち、各基底ベクトルに対応する要素のスコアが高いk個の単語を、基底ベクトル毎にユーザに提示する。また、基底ベクトル対応決定部22は、コーパスBに含まれる単語のうち、各基底ベクトルに対応する要素のスコアが高いk個の単語を、基底ベクトル毎にユーザに提示する。そして、基底ベクトル対応決定部22は、ユーザから、関連する単語の意味が似ている基底ベクトルの対応関係を受け付けることにより、基底ベクトルの対応関係を決定する。このように決定した基底ベクトルの対応関係を単語埋め込みベクトル統合部24へと渡す。1対1の対応関係は図4下部の表のように表せる。ただし、あるセルが1をとる場合、その上下左右どのセルも1をとることができない。
【0033】
単語埋め込みベクトル統合部24は、基底ベクトルの対応関係を受け取り、コーパスA側の単語埋め込みベクトルの要素を固定し、対応関係に従って、コーパスB側の単語埋め込みベクトルの要素を並べ替えるように、コーパスBに含まれる各単語について単語埋め込みベクトルを変更する。これにより、コーパスA側の単語埋め込みベクトルの集合と、コーパスB側の単語埋め込みベクトルの集合とが統合される。
【0034】
例えば、基底ベクトルの対応関係として、(S:,1; T:,3)、(S:,2;T:,1)、(S:,3;T:,4)、(S:,4;T:,2)、という対応関係が得られた場合には、図5に示すように、行列Tの基底ベクトルを並べ替え、Tsort=[T:,3:,1:,4:,2]を得ることにより、コーパスB側の単語埋め込みベクトルの要素を並べ替える。このように、基底ベクトルの対応関係が定まると、コーパスA、Bに含まれるどの単語も同一のベクトル空間に存在することになる。つまり、異なるコーパスから独立に得た単語埋め込みベクトルの集合を同一の空間にマップすることができる。なお、コーパスAとコーパスBに同一の単語がある場合には、平均ベクトルをその単語の埋め込みベクトルとする。具体的には、単語埋め込みベクトル統合部24は、コーパスAとコーパスBとで共通する単語が存在する場合、当該単語については、コーパスAでの単語の単語埋め込みベクトルと、変更したコーパスBでの単語の単語埋め込みベクトルとの平均ベクトルを、当該単語の単語埋め込みベクトルとする。
【0035】
<本実施形態の単語埋め込みベクトル統合装置の作用>
次に、単語埋め込みベクトル統合装置10の作用について説明する。
【0036】
図6は、単語埋め込みベクトル統合装置10による単語埋め込みベクトル統合処理の流れを示すフローチャートである。CPU11がROM12又はストレージ14から単語埋め込みベクトル統合プログラムを読み出して、RAM13に展開して実行することにより、単語埋め込みベクトル統合処理が行なわれる。
【0037】
ステップS100において、CPU11は、単語埋め込みベクトル生成部20として、入力部15により入力されたコーパスAを受け取り、コーパスAに含まれる各単語についての単語埋め込みベクトルからなる単語埋め込みベクトルの集合を生成する。
【0038】
ステップS102において、CPU11は、単語埋め込みベクトル生成部20として、入力部15により入力されたコーパスBを受け取り、コーパスBに含まれる各単語についての単語埋め込みベクトルからなる単語埋め込みベクトルの集合を生成する。
【0039】
ステップS104において、CPU11は、基底ベクトル対応決定部22として、コーパスAに含まれる各単語についての単語埋め込みベクトルを表す行列Sと、前記コーパスBに含まれる各単語についての単語埋め込みベクトルを表す行列Tとに基づいて、行列Sの縦ベクトルとして得られる基底ベクトルと、行列Tの縦ベクトルとして得られる基底ベクトルとの対応関係を決定する。
【0040】
ステップS106において、CPU11は、単語埋め込みベクトル統合部24として、基底ベクトルの対応関係を受け取り、コーパスA側の単語埋め込みベクトルの要素を固定し、対応関係に従って、コーパスB側の単語埋め込みベクトルの要素を並べ替えるように、コーパスBに含まれる各単語について単語埋め込みベクトルを変更する。
【0041】
以上説明したように、本実施形態の単語埋め込みベクトル統合装置は、コーパスAに含まれる各単語の単語埋め込みベクトルから得られる基底ベクトルと、コーパスBに含まれる各単語の単語埋め込みベクトルから得られる基底ベクトルとの対応関係を決定する。また、単語埋め込みベクトル統合装置は、決定された対応関係に基づいて、コーパスBに含まれる各単語について単語埋め込みベクトルの要素を並べ替えるように、コーパスBに含まれる各単語について単語埋め込みベクトルを変更する。これにより、2つのコーパスにおける各単語の単語埋め込みベクトルを効率的に学習することができる。特に、一旦、あるコーパスについて単語埋め込みベクトルを学習した後、そこに言語を問わず新たな単語を追加するように、単語埋め込みベクトルを学習することができる。
【0042】
また、独立に作成した2つの単語埋め込みベクトルの集合を統合し、1つの単語埋め込みベクトルの集合として扱うことができる。単語埋め込みベクトルは独立に作成してよいので、計算効率が良い。また、2つの単語埋め込みベクトルを作成するためのコーパスは言語、ドメインを限らないため、異なる言語間で単語の類似性を計算する、同一言語で異なるドメインの単語の類似性を計算する、といったことが可能となる。
【0043】
また、独立に学習した2つの単語埋め込みベクトルの集合を再学習することなく1つの単語埋め込みベクトルの集合として扱うことができる。また、2つのコーパスから得られた単語埋め込みベクトルの基底ベクトルの1対1対応を決定することで、2つのコーパスから得られた単語埋め込みベクトルを統合することができる。
【0044】
なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した単語埋め込みベクトル統合処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、単語埋め込みベクトル統合処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0045】
また、上記各実施形態では、単語埋め込みベクトル統合プログラムがストレージ14に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の非一時的(non-transitory)記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【0046】
また、単語埋め込みベクトル統合装置において、コーパスから単語埋め込みベクトルの集合を生成する場合を例に説明したが、これに限定されるものではない。外部装置において生成された、あるコーパスの単語埋め込みベクトルの集合を入力として受け付けるようにしてもよい。
【0047】
以上の実施形態に関し、更に以下の付記を開示する。
【0048】
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
コーパスAから生成された、前記コーパスAに含まれる各単語についての単語埋め込みベクトルと、前記コーパスAとは異なるコーパスBから生成された、前記コーパスBに含まれる各単語についての単語埋め込みベクトルとに基づいて、前記コーパスAに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルと、前記コーパスBに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルとの対応関係を決定し、
前記決定された前記対応関係に基づいて、前記コーパスBに含まれる各単語について単語埋め込みベクトルの要素を並べ替えるように、前記コーパスBに含まれる各単語について単語埋め込みベクトルを変更する、
ように構成されている単語埋め込みベクトル統合装置。
【0049】
(付記項2)
単語埋め込みベクトル統合処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記単語埋め込みベクトル統合処理は、
コーパスAから生成された、前記コーパスAに含まれる各単語についての単語埋め込みベクトルと、前記コーパスAとは異なるコーパスBから生成された、前記コーパスBに含まれる各単語についての単語埋め込みベクトルとに基づいて、前記コーパスAに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルと、前記コーパスBに含まれる各単語の単語埋め込みベクトルから得られる、各単語の単語埋め込みベクトルにおける同一要素の値からなる基底ベクトルとの対応関係を決定し、
前記決定された前記対応関係に基づいて、前記コーパスBに含まれる各単語について単語埋め込みベクトルの要素を並べ替えるように、前記コーパスBに含まれる各単語について単語埋め込みベクトルを変更する、
非一時的記憶媒体。
【符号の説明】
【0050】
10 単語埋め込みベクトル統合装置
20 単語埋め込みベクトル生成部
22 基底ベクトル対応決定部
24 単語埋め込みベクトル統合部
図1
図2
図3
図4
図5
図6