(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023173772
(43)【公開日】2023-12-07
(54)【発明の名称】ベクトル表現加工装置、ベクトル表現加工方法及びプログラム
(51)【国際特許分類】
G06F 16/33 20190101AFI20231130BHJP
G06F 40/247 20200101ALI20231130BHJP
【FI】
G06F16/33
G06F40/247
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022086248
(22)【出願日】2022-05-26
(71)【出願人】
【識別番号】000002853
【氏名又は名称】ダイキン工業株式会社
(71)【出願人】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】石塚 翔也
(72)【発明者】
【氏名】清水 愛織
(72)【発明者】
【氏名】佐藤 尚弥
(72)【発明者】
【氏名】磯沼 大
(72)【発明者】
【氏名】浅谷 公威
(72)【発明者】
【氏名】坂田 一郎
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091AB17
5B091CA01
5B091CC04
5B175DA01
5B175HB03
5B175KA12
(57)【要約】
【課題】語句のベクトル表現を他の単語との上位下位関係を判定可能に加工する。
【解決手段】ベクトル表現加工装置が有する制御部が、語句の特徴を表すベクトル表現を入力として、上位語と下位語との組み合わせを含む辞書データに基づいた推論を行い、任意の語句を複数の単語のベクトル表現を示す分布空間に写像し、分布空間は、互いの関連性の高さに関わる成分と、互いの上位下位関係に関わる成分をもつように配置される。
【選択図】
図2
【特許請求の範囲】
【請求項1】
制御部を有するベクトル表現加工装置であって、
前記制御部は、
語句の特徴を表すベクトル表現を入力として、上位語と下位語との組み合わせを含む辞書データに基づいた推論を行い、
任意の語句を複数の単語のベクトル表現を示す分布空間に写像し、
前記分布空間は、互いの関連性の高さに関わる成分と、互いの上位下位関係に関わる成分をもつように配置される、
ベクトル表現加工装置。
【請求項2】
前記互いの関連性に関わる成分は単語がなす角度の小ささであり、前記上位下位関係に関わる成分はノルム長である、
請求項1に記載のベクトル表現加工装置。
【請求項3】
前記分布空間は、ユークリッド空間である、
請求項1に記載のベクトル表現加工装置。
【請求項4】
前記制御部は、
複数の前記上位語と下位語との組み合わせと、前記組み合わせが表す上位下位関係とを関連付けた教師データを用いて学習した機械学習モデルによって、語句を前記分布空間に写像する、
請求項1に記載のベクトル表現加工装置。
【請求項5】
前記制御部は、
前記分布空間に写像された前記語句の分布を構造的に可視化する、
請求項1に記載のベクトル表現加工装置。
【請求項6】
前記制御部は、
前記語句の分布をリスト形式で表現する、
請求項5に記載のベクトル表現加工装置。
【請求項7】
前記制御部は、
前記語句の分布をツリー構造で表現する、
請求項5に記載のベクトル表現加工装置。
【請求項8】
前記ツリー構造は、前記語句の上位下位関係に応じて階層化されている、
請求項7に記載のベクトル表現加工装置。
【請求項9】
前記制御部は、
前記語句の分布を所定の軸を上位度とする散布図で表現する、
請求項5に記載のベクトル表現加工装置。
【請求項10】
前記制御部は、
2つの語句の入力を受け付け、
前記分布空間に写像された前記2つの語句について、
前記2つの語句がなす角度及びノルムから算出される指標に基づいて、前記2つの語句の上位下位関係を判定する、
請求項1から9のいずれかに記載のベクトル表現加工装置。
【請求項11】
前記制御部は、
2つの語句の入力を受け付け、
前記分布空間に写像された前記2つの語句について、
前記2つの語句がなす角度及びノルムから算出される指標に基づいて、前記2つの語句の上位下位関係の有無を判定し、
前記上位下位関係が有り、かつ前記2つの語句のノルムの大小関係が所定の範囲内にある場合、前記2つの語句は類義語の関係にあるとして判定する、
請求項1から9のいずれかに記載のベクトル表現加工装置。
【請求項12】
前記制御部は、
2つの語句の入力を受け付け、
前記分布空間に写像された前記2つの語句について、
前記2つの語句がなす角度及びノルムから算出される指標に基づいて、前記2つの語句の上位下位関係の有無を判定し、
前記上位下位関係が有り、かつ前記2つの語句のノルムの大小関係が所定の範囲外にある場合、前記2つの語句は上位下位関係にあるとして判定する、
請求項1から9のいずれかに記載のベクトル表現加工装置。
【請求項13】
前記制御部は、
複数の語句の入力を受け付け、
前記複数の語句のうち互いに関連性の高い語句が近傍に配置される第二分布空間を生成し、
前記第二分布空間に含まれる前記複数の語句を前記分布空間に写像する、
請求項1から9のいずれかに記載のベクトル表現加工装置。
【請求項14】
ベクトル表現加工装置が有する制御部が、
語句の特徴を表すベクトル表現を入力として、上位語と下位語との組み合わせを含む辞書データに基づいた推論を行う手順と、
任意の語句を複数の単語のベクトル表現を示す分布空間に写像する手順と、
を実行し、
前記分布空間は、互いの関連性の高さに関わる成分と、互いの上位下位関係に関わる成分をもつように配置される、
ベクトル表現加工方法。
【請求項15】
ベクトル表現加工装置が有する制御部に、
語句の特徴を表すベクトル表現を入力として、上位語と下位語との組み合わせを含む辞書データに基づいた推論を行う手順と、
任意の語句を複数の単語のベクトル表現を示す分布空間に写像する手順と、
を実行させ、
前記分布空間は、互いの関連性の高さに関わる成分と、互いの上位下位関係に関わる成分をもつように配置される、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ベクトル表現加工装置、ベクトル表現加工方法及びプログラムに関する。
【背景技術】
【0002】
単語間の類義関係及び含意関係を階層構造で表現したシソーラスが利用されている。シソーラスの構築や更新を容易にするため、二単語間の類義関係又は含意関係を推定する技術が研究されている。例えば、非特許文献1には、シソーラスの階層構造に基づいて、単語のベクトル表現を上位下位関係が強調されたベクトル表現に加工する技術が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Ivan Vulic, Nikola Mrksic, "Specialising Word Vectors for Lexical Entailment," Proceedings of NAACL-HLT 2018, pages 1134-1145, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、シソーラスに収録されていない語句に対して上位下位関係を判定することができないという課題がある。
【0005】
本開示は、語句のベクトル表現を他の単語との上位下位関係を判定可能に加工する。
【課題を解決するための手段】
【0006】
本開示の第1の態様に係るベクトル表現加工装置は、制御部を有するベクトル表現加工装置であって、前記制御部は、語句の特徴を表すベクトル表現を入力として、上位語と下位語との組み合わせを含む辞書データに基づいた推論を行い、任意の語句を複数の単語のベクトル表現を示す分布空間に写像し、前記分布空間は、互いの関連性の高さに関わる成分と、互いの上位下位関係に関わる成分をもつように配置される。
【0007】
本開示の第1の態様によれば、語句のベクトル表現が他の単語との上位下位関係を判定可能に加工される。
【0008】
本開示の第2の態様は、第1の態様に係るベクトル表現加工装置であって、前記互いの関連性に関わる成分は単語がなす角度の小ささであり、前記上位下位関係に関わる成分はノルム長である。
【0009】
本開示の第3の態様は、第1の態様及び第2の態様に係るベクトル表現加工装置であって、前記分布空間は、ユークリッド空間である。
【0010】
本開示の第4の態様は、第1の態様から第3の態様に係るベクトル表現加工装置であって、前記制御部は、複数の前記上位語と下位語との組み合わせと、前記組み合わせが表す上位下位関係とを関連付けた教師データを用いて学習した機械学習モデルによって、語句を前記分布空間に写像する。
【0011】
本開示の第5の態様は、第1の態様から第4の態様に係るベクトル表現加工装置であって、前記制御部は、前記分布空間に写像された前記語句の分布を構造的に可視化する。
【0012】
本開示の第6の態様は、第5の態様に係るベクトル表現加工装置であって、前記制御部は、前記語句の分布をリスト形式で表現する。
【0013】
本開示の第7の態様は、第5の態様に係るベクトル表現加工装置であって、前記制御部は、前記語句の分布をツリー構造で表現する。
【0014】
本開示の第8の態様は、第7の態様に係るベクトル表現加工装置であって、前記ツリー構造は、前記語句の上位下位関係に応じて階層化されている。
【0015】
本開示の第9の態様は、第5の態様に係るベクトル表現加工装置であって、前記制御部は、前記語句の分布を所定の軸を上位度とする散布図で表現する。
【0016】
本開示の第10の態様は、第1の態様から第9の態様に係るベクトル表現加工装置であって、前記制御部は、2つの語句の入力を受け付け、前記分布空間に写像された前記2つの語句について、前記2つの語句がなす角度及びノルムから算出される指標に基づいて、前記2つの語句の上位下位関係を判定する。
【0017】
本開示の第11の態様は、第1の態様から第9の態様に係るベクトル表現加工装置であって、前記制御部は、2つの語句の入力を受け付け、前記分布空間に写像された前記2つの語句について、前記2つの語句がなす角度及びノルムから算出される指標に基づいて、前記2つの語句の上位下位関係の有無を判定し、前記上位下位関係が有り、かつ前記2つの語句のノルムの大小関係が所定の範囲内にある場合、前記2つの語句は類義語の関係にあるとして判定する。
【0018】
本開示の第12の態様は、第1の態様から第9の態様に係るベクトル表現加工装置であって、前記制御部は、2つの語句の入力を受け付け、前記分布空間に写像された前記2つの語句について、前記2つの語句がなす角度及びノルムから算出される指標に基づいて、前記2つの語句の上位下位関係の有無を判定し、前記上位下位関係が有り、かつ前記2つの語句のノルムの大小関係が所定の範囲外にある場合、前記2つの語句は上位下位関係にあるとして判定する。
【0019】
本開示の第13の態様は、第1の態様から第12の態様に係るベクトル表現加工装置であって、前記制御部は、複数の語句の入力を受け付け、前記複数の語句のうち互いに関連性の高い語句が近傍に配置される第二分布空間を生成し、前記第二分布空間に含まれる前記複数の語句を前記分布空間に写像する。
【0020】
本開示の第14の態様に係るベクトル表現加工方法は、ベクトル表現加工装置が有する制御部が、語句の特徴を表すベクトル表現を入力として、上位語と下位語との組み合わせを含む辞書データに基づいた推論を行う手順と、任意の語句を複数の単語のベクトル表現を示す分布空間に写像する手順と、を実行し、前記分布空間は、互いの関連性の高さに関わる成分と、互いの上位下位関係に関わる成分をもつように配置される。
【0021】
本開示の第15の態様に係るプログラムは、ベクトル表現加工装置が有する制御部に、語句の特徴を表すベクトル表現を入力として、上位語と下位語との組み合わせを含む辞書データに基づいた推論を行う手順と、任意の語句を複数の単語のベクトル表現を示す分布空間に写像する手順と、を実行させ、前記分布空間は、互いの関連性の高さに関わる成分と、互いの上位下位関係に関わる成分をもつように配置される。
【図面の簡単な説明】
【0022】
【
図1】ベクトル表現加工装置のハードウェア構成の一例を示すブロック図である。
【
図2】ベクトル表現加工装置の機能構成の一例を示すブロック図である。
【
図3】学習処理の手順を示すフローチャートである。
【
図5】単語分散表現の分布空間の一例を示す概念図である。
【
図6】ベクトル表現加工処理の一例を示す概念図である。
【
図7】階層構造埋め込み表現の分布空間の一例を示す概念図である。
【
図8】加工処理の手順を示すフローチャートである。
【
図9】階層構造埋め込み表現の分布空間の一例を示す概念図である。
【
図10】判定処理の手順を示すフローチャートである。
【
図11】抽出処理の手順を示すフローチャートである。
【
図12】可視化処理の手順を示すフローチャートである。
【
図16】階層構造埋め込み表現の分布空間の変形例を示す概念図である。
【発明を実施するための形態】
【0023】
以下、各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省略する。
【0024】
[実施形態]
<システム構成>
本実施形態におけるベクトル表現加工装置は、単語のベクトル表現を、単語間の上位下下位関係を判定可能なベクトル表現に加工する言語処理装置である。以下、加工前のベクトル表現を「単語分散表現」とも呼び、加工後のベクトル表現を「階層構造埋め込み表現」とも呼ぶ。
【0025】
ベクトル表現加工装置は、学習処理、加工処理、判定処理、抽出処理及び可視化処理を実行する。学習処理では、ベクトル表現加工装置が、辞書データを用いて、単語分散表現の分布空間を階層構造埋め込み表現の分布空間に写像する加工モデルを学習する。
【0026】
加工処理では、ベクトル表現加工装置が、学習処理で学習した加工モデルを用いて、入力された1個以上の語句が配置された単語分散表現の分布空間を階層構造埋め込み表現の分布空間に写像する。
【0027】
判定処理では、ベクトル表現加工装置が、入力された2個の語句が配置された階層構造埋め込み表現の分布空間に基づいて、それらの語句の類義関係又は上位下位関係を判定する。なお、判定処理では、入力された2個の語句が上位下位関係にあるか否かのみを判定してもよいし、入力された2個の語句が上位下位関係にあるか否かを判定し、上位下位関係にある場合に、それらの語句の上位下位関係を判定してもよい。
【0028】
抽出処理では、ベクトル表現加工装置が、入力された1個の語句が配置された階層構造埋め込み表現の分布空間から、その語句と上位下位関係にある単語又は関連性が高い単語を抽出する。
【0029】
可視化処理では、ベクトル表現加工装置が、階層構造埋め込み表現の分布空間を構造的に可視化して出力する。
【0030】
<ハードウェア構成>
図1は、本実施形態におけるベクトル表現加工装置10のハードウェア構成の一例を示すブロック図である。
図1に示されているように、ベクトル表現加工装置10は、プロセッサ101、メモリ102、補助記憶装置103、操作装置104、表示装置105、通信装置106、ドライブ装置107を有する。なお、ベクトル表現加工装置10の各ハードウェアは、バス108を介して相互に接続されている。
【0031】
プロセッサ101は、CPU(Central Processing Unit)等の各種演算デバイスを有する。プロセッサ101は、補助記憶装置103にインストールされている各種プログラムをメモリ102上に読み出して実行する。
【0032】
メモリ102は、ROM(Read Only Memory)、RAM(Random Access Memory)等の主記憶デバイスを有する。プロセッサ101とメモリ102とは、いわゆるコンピュータ(以下、「制御部」ともいう)を形成し、プロセッサ101が、メモリ102上に読み出した各種プログラムを実行することで、当該コンピュータは各種機能を実現する。
【0033】
補助記憶装置103は、各種プログラムや、各種プログラムがプロセッサ101によって実行される際に用いられる各種データを格納する。
【0034】
操作装置104は、ベクトル表現加工装置10のユーザが各種操作を行うための操作デバイスである。表示装置105は、ベクトル表現加工装置10により実行される各種処理の処理結果を表示する表示デバイスである。
【0035】
通信装置106は、不図示のネットワークを介して外部装置と通信を行うための通信デバイスである。
【0036】
ドライブ装置107は、記憶媒体109をセットするためのデバイスである。ここでいう記憶媒体109には、CD-ROM、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記憶する媒体が含まれる。また、記憶媒体109には、ROM、フラッシュメモリ等のように情報を電気的に記憶する半導体メモリ等が含まれていてもよい。
【0037】
なお、補助記憶装置103にインストールされる各種プログラムは、例えば、配布された記憶媒体109がドライブ装置107にセットされ、記憶媒体109に記憶された各種プログラムがドライブ装置107により読み出されることでインストールされる。あるいは、補助記憶装置103にインストールされる各種プログラムは、通信装置106を介してネットワークからダウンロードされることで、インストールされてもよい。
【0038】
<機能構成>
図2は、本実施形態におけるベクトル表現加工装置の機能構成の一例を示すブロック図である。
図2に示されているように、本実施形態におけるベクトル表現加工装置10は、入力部11、変換モデル記憶部12、変換部13、学習部14、加工モデル記憶部15、加工部16、分布空間記憶部17、判定部18及び出力部19を備える。
【0039】
変換モデル記憶部12、加工モデル記憶部15及び分布空間記憶部17は、
図1に示されているメモリ102又は補助記憶装置103によって実現される。入力部11、変換部13、学習部14、加工部16、判定部18及び出力部19は、
図1に示されているプロセッサ101がメモリ102上に読み出した各種のプログラムを実行することで実現される。
【0040】
入力部11は、学習処理において、辞書データの入力を受け付ける。入力部11は、加工処理において、1個以上の語句の入力を受け付ける。入力部11は、判定処理において、2個の語句の入力を受け付ける。入力部11は、抽出処理において、1個の語句の入力を受け付ける。
【0041】
変換モデル記憶部12には、学習済みの変換モデルが記憶される。変換モデルは、単語を多次元のベクトル空間に配置することでベクトル表現に変換する機械学習モデルである。変換モデルの一例は、Bag of Words、Word2Vec、fastText等である。
【0042】
本実施形態における変換モデルはFastTextとする。FastTextについての詳細は、下記参考文献1に開示されている。
【0043】
〔参考文献1〕Bojanowski, P., Grave, E., Joulin, A., and Mikolov, T, "Enriching Word Vectors with Subword Information," TACL, Vol. 5, pp. 135-146, 2017.
【0044】
変換部13は、変換モデル記憶部12に記憶されている変換モデルを用いて、入力部11が受け付けた辞書データに含まれる単語、又は入力部11が受け付けた語句を単語分散表現に変換する。
【0045】
学習部14は、入力部11が受け付けた辞書データに基づいて、加工モデルを学習する。加工モデルは、単語分散表現の分布空間を階層構造埋め込み表現の分布空間に写像する機械学習モデルである。分布空間の一例は、ユークリッド空間である。加工モデルの一例は、全結合型ニューラルネットワーク(FNN: fully-connected neural network)である。
【0046】
加工モデル記憶部15には、学習部14により学習された加工モデルが記憶される。
【0047】
加工部16は、加工モデル記憶部15に記憶された加工モデルを用いた推論により、変換部13により生成された単語分散表現を階層構造埋め込み表現に加工する。
【0048】
加工モデルを用いた推論とは、辞書データに含まれる単語間の関連性を表す情報、若しくは単語について記載される語句又は文章情報を用いて、定められたアルゴリズムに従って、分散表現を分布空間に配置あるいは再配置する方法である。推論に用いるアルゴリズムは、定められたルール、定式化された演算又は機械学習などの手法を含む。
【0049】
分布空間記憶部17には、加工部16により生成された階層構造埋め込み表現が配置された分布空間を表す情報が記憶される。
【0050】
判定部18は、判定処理において、入力部11が受け付けた2個の語句の類義関係又は上位下位関係を、分布空間記憶部17に記憶された階層構造埋め込み表現の分布空間に基づいて判定する。判定部18は、抽出処理において、入力部11が受け付けた1個の語句と上位下位関係にある単語又は関連性が高い単語を、分布空間記憶部17に記憶された階層構造埋め込み表現の分布空間から抽出する。
【0051】
出力部19は、判定処理において、判定部18による判定結果を出力する。出力部19は、抽出処理において、判定部18により抽出された単語を出力する。出力部19は、可視化処理において、階層構造埋め込み表現の分布空間を構造的に可視化して出力する。
【0052】
<学習処理の流れ>
図3は、本実施形態における学習処理の流れの一例を示すフローチャートである。
【0053】
ステップS1において、入力部11は、辞書データの入力を受け付ける。次に、入力部11は、受け付けた辞書データを変換部13に送る。
【0054】
辞書データは、複数の単語を含み、単語間の類義関係及び上位下位関係が表されたデータである。辞書データの一例は、シソーラスである。辞書データの他の例は、オントロジーである。辞書データは、これらに限定されず、単語間の類義関係及び上位下位関係が表されたデータであれば、どのようなものでもよい。
【0055】
図4は、シソーラスの一例を示す概念図である。
図4に示されているように、シソーラスは、単語間の類義関係及び上位下位関係が表現されたデータ構造である。シソーラスは、類義関係及び上位下位関係が階層構造で表現されたデータ構造であってもよいし、類義関係又は上位下位関係にある単語のペアが蓄積されたデータベースであってもよい。シソーラスに基づいて、類義語の関係にある単語の組み合わせ(類義関係ペア)及び上位下位関係にある単語の組み合わせ(上位下位関係ペア)を抽出することができる。なお、上位下位関係ペアのうち、シソーラスにおける階層が上にあるもの(
図4の例では、右側の単語)が上位語であり、下にあるもの(
図4の例では、左側の単語)が下位語である。
【0056】
図3に戻って説明する。ステップS2において、変換部13は、入力部11から辞書データを受け取る。次に、変換部13は、変換モデル記憶部12から変換モデルを読み出す。続いて、変換部13は、読み出した変換モデルを用いた推論により、辞書データに含まれる各単語を単語分散表現に変換する。そして、変換部13は、辞書データ及び各単語の単語分散表現を学習部14に送る。また、変換部13は、各単語の単語分散表現の分布空間を表す情報を分布空間記憶部17に記憶する。分布空間記憶部17に記憶される情報は、例えば、単語分散表現の分布空間の各軸を表す情報と、各単語の単語分散表現とを含む。
【0057】
図5は、単語分散表現の分布空間の一例を示す概念図である。
図5に示されているように、多次元の分布空間において、互いに関連性の高い単語の単語分散表現が近傍に配置される。
【0058】
図3に戻って説明する。ステップS3において、学習部14は、変換部13から辞書データ及び各単語の単語分散表現を受け取る。次に、学習部14は、辞書データから教師データを抽出する。教師データは、複数の上位語と下位語との組み合わせと、それらが表す上位下位関係とを関連付けたデータである。
【0059】
上位語と下位語との組み合わせは、
図4に示した上位下位関係ペアに相当する。上位下位関係は、上位下位関係ペアにおける各単語の位置関係(
図4の例では、右側が上位語であり、左側が下位語である)に相当する。
【0060】
続いて、学習部14は、抽出した教師データに基づいて、加工モデルを学習する。そして、学習部14は、学習した加工モデルを加工モデル記憶部15に記憶する。
【0061】
階層構造埋め込み表現の分布空間は、単語の関連性の高さに関わる成分及び単語の上位下位関係に関わる成分をもつ。単語の関連性の高さに関わる成分は、例えば、2個の単語がなす角度である。単語の上位下位関係に関わる成分は、例えば、単語のノルムの大きさ(分散表現のベクトル長)である。
【0062】
本実施形態における加工モデルは、全結合型ニューラルネットワークである。本実施形態における全結合型ニューラルネットワークの入力は、単語分散表現であり、出力は階層構造埋め込み表現である。活性化関数は、最終層では恒等関数を用い、その他の層ではReLU関数を用いる。
【0063】
損失関数は、角度とノルムそれぞれに関する2つの項Langle, Lnorm及び正規化項Lregの3項から構成される。具体的には、損失関数は、BAを類義関係ペアとし、BLを上位下位関係ペアとして、式(1)で表される。
【0064】
【0065】
角度に関する項Langleは、深層距離学習(RLL; Ranked List Loss)を利用する。深層距離学習に関する詳細は、下記参考文献2に開示されている。
【0066】
〔参考文献2〕Wang, X., Hua, Y., Kodirov, E., Hu, G., Garnier, R., and Robertson, N. M., "Ranked List Loss for Deep Metric Learning," in CVPR, 2019.
【0067】
角度に関する項Langleは、式(2)~(4)で表される。
【0068】
【0069】
ノルムに関する項Lnormは、すべての上位下位関係ペアBLについて意味的階層間の距離Dを最大化する。ノルムに関する項Lnormは、式(5)~(6)で表される。
【0070】
【0071】
正規化項Lregは、階層構造埋め込み表現のノルムの発散を防ぐことを目的とし、正規化係数λ(<<1)とともに用いる。正規化項Lregは、式(7)で表される。
【0072】
【0073】
学習部14は、損失関数の各項Langle, Lnorm, Lregに対して確率的勾配降下法を用いることで、全結合型ニューラルネットワークのパラメータを学習する。
【0074】
図6は、ベクトル表現加工処理の一例を示す概念図である。
図6に示されているように、学習部14は、角度の学習301、302と、ノルムの学習303、304とを行う。角度の学習では、類義関係又は上位下位関係にある単語のなす角度が小さくなり(301)、それらの関係にない単語のなす角度が大きくなる(302)ように、加工モデルを学習する。ノルムの学習では、上位語のノルムが小さくなり(303)、下位語のノルムが大きくなる(304)ように、加工モデルを学習する。ノルムの学習では、上位語のノルムが大きくなり、下位語のノルムが小さくなるように、加工モデルを学習してもよい。
【0075】
図7は、階層構造埋め込み表現の分布空間の一例を示す概念図である。
図7に示されているように、階層構造埋め込み表現は、多次元の分布空間において、互いに関連性の高い単語は角度が小さく(311)、かつ互いに上位下位関係にある単語は上位下位関係に対応するノルムをもつ(312、313)ように配置される。
図7の例では、関連性は類義関係(同義関係を含む)を有することとし、意味が近い単語のなす角度が小さくなるように配置される分布空間となっている。なお、関連性は類義関係等に限定されず、辞書データに表されている単語間の関係であればどのようなものでもよい。
【0076】
階層構造埋め込み表現の分布空間は、非特許文献1に開示されているLEAR(Lexical Entailment Attract-Repel)により生成される分布空間としてもよい。LEARでは、上位語と下位語とのコサイン類似度が大きくなり、かつ、上位語のノルムは大きく下位語のノルムは小さくなるように単語ベクトルを加工する。ただし、LEARでは、単語及びシソーラスを入力として、シソーラスに含まれる単語についてのみ上位下位関係を推定することが可能となっている。
【0077】
<加工処理の流れ>
図8は、本実施形態における加工処理の流れの一例を示すフローチャートである。
【0078】
ステップS11において、入力部11は、1個以上の語句の入力を受け付ける。なお、語句とは、単語又は熟語である。入力される語句は、例えば、辞書データに含まれない語句である。次に、入力部11は、受け付けた1個以上の入力語句を変換部13に送る。
【0079】
ステップS12において、変換部13は、入力部11から入力語句を受け取る。次に、変換部13は、変換モデル記憶部12から変換モデルを読み出す。続いて、変換部13は、読み出した変換モデルを用いた推論により、入力語句を単語分散表現に変換する。そして、変換部13は、入力語句の単語分散表現を加工部16に送る。
【0080】
ステップS13において、加工部16は、変換部13から入力語句の単語分散表現を受け取る。次に、加工部16は、分布空間記憶部17から各単語の単語分散表現を読み出す。続いて、加工部16は、入力語句及び各単語の単語分散表現を分布空間に配置する。
【0081】
次に、加工部16は、加工モデル記憶部15から加工モデルを読み出す。続いて、加工部16は、読み出した加工モデルを用いた推論により、単語分散表現の分布空間を階層構造埋め込み表現の分布空間に写像する。
【0082】
ステップS14において、加工部16は、入力語句及び各単語が配置された階層構造埋め込み表現の分布空間を表す情報を分布空間記憶部17に記憶する。分布空間記憶部17に記憶される情報は、例えば、階層構造埋め込み表現の分布空間の各軸を表す情報と、入力語句及び各単語の階層構造埋め込み表現とを含む。
【0083】
図9は、階層構造埋め込み表現の分布空間の一例を示す概念図である。
図9は、辞書データに含まれない語句が配置された分布空間の例である。
図9では、辞書データに含まれない語句を網掛けで示している。
図9に示されているように、本実施形態におけるベクトル表現加工装置によれば、辞書データに含まれない語句が、適切な位置に配置される。
【0084】
例えば、「鼠」という単語は、「哺乳類」との角度が小さく、かつ「哺乳類」よりもノルムが大きい位置に配置されている。また、例えば、「恒温動物」という単語は、「哺乳類」との角度が小さく、かつ「哺乳類」よりもノルムが小さい位置に配置されている。
【0085】
図9の例では、上位語はノルムが小さく、下位語はノルムが大きくなるように、語句を分布空間に配置しているが、上位語はノルムが大きく、下位語はノルムが小さくなるように、語句を分布空間に配置してもよい。この場合、例えば、「鼠」という単語は、「哺乳類」との角度が小さく、かつ「哺乳類」よりもノルムが小さい位置に配置される。
【0086】
<判定処理の流れ>
図10は、本実施形態における判定処理の流れの一例を示すフローチャートである。
【0087】
ステップS21において、入力部11は、2個の語句の入力を受け付ける。次に、入力部11は、受け付けた2個の入力語句を判定部18に送る。
【0088】
ステップS22において、判定部18は、入力部11から入力語句を受け取る。次に、判定部18は、分布空間記憶部17に記憶されている分布空間を表す情報を読み出す。続いて、判定部18は、入力語句の関係を判定する。
【0089】
判定部18は、まず、入力語句が類義関係又は上位下位関係にあるか否かを判定する。入力語句が上位下位関係にある場合、判定部18は、それぞれの語句について上位語であるか下位語であるかを判定する。したがって、判定部18による判定結果は、類義関係/上位語/下位語/関係なしのいずれかとなる。そして、判定部18は、判定結果を出力部19に送る。
【0090】
判定部18は、具体的には、以下のようにして入力語句の関係を判定する。まず、判定部18は、入力語句の階層構造埋め込み表現を用いて、所定の指標を算出する。所定の指標は、例えば、ハイパースコアを用いることができる。本実施形態におけるハイパースコアは、ul,urを入力語句の階層構造埋め込み表現として、式(8)で表される。
【0091】
【0092】
なお、本実施形態におけるハイパースコアは、下記参考文献3に開示されているハイパースコアを修正したものである。具体的には、従来のハイパースコアではノルムの比を乗じているところ、ノルムの比の対数を乗じるように修正している。この修正により、ノルムの比が発散することを防ぐことができ、また、閾値を細かく設定できるようになる。
【0093】
〔参考文献3〕Nguyen, K. A., Koper, M., Walde, im S. S., and Vu, N. T., "Hierarchical Embeddings for Hypernymy Detection and Directionality," EMNLP, pp. 233-243, 2017.
【0094】
次に、判定部18は、ハイパースコアを所定の閾値と比較し、ハイパースコアが閾値以上であれば上位下位関係にあると判定する。一方、ハイパースコアが閾値未満であれば上位下位関係にないと判定する。閾値は、辞書データに含まれる単語間のハイパースコア等に基づいて適宜設定すればよい。
【0095】
続いて、判定部18は、入力語句が上位下位関係にあると判定された場合、入力語句それぞれのノルムを計算する。次に、判定部18は、各語句のノルムの大小関係(例えば、ノルムの差の絶対値)が所定の範囲内にあるか否かを判定する。所定の範囲を表す閾値(例えば、ノルムの差の上限値と下限値)は、辞書データに含まれる単語間のノルムの大小関係に基づいて適宜設定すればよい。
【0096】
判定部18は、ノルムの大小関係が所定の範囲内にある場合、入力語句が類義関係にあると判定する。一方、判定部18は、ノルムの大小関係が所定の範囲外にある場合、入力語句が上位下位関係にあると判定する。
【0097】
判定部18は、入力語句が上位下位関係にあると判定した場合、入力語句のノルムの大きさを比較する。判定部18は、ノルムの小さい方の語句を上位語と判定し、ノルムの大きい方の語句を下位語と判定する。上位語はノルムが大きく、下位語はノルムが小さくなるように加工モデルを学習した場合、判定部18は、ノルムの大きい方の語句を上位語と判定し、ノルムの小さい方の語句を下位語と判定する。
【0098】
出力部19は、判定部18から判定結果を受け取る。次に、出力部19は、判定結果を表示装置105等に出力する。
【0099】
<抽出処理の流れ>
図11は、本実施形態における抽出処理の流れの一例を示すフローチャートである。
【0100】
ステップS31において、入力部11は、1個の語句の入力を受け付ける。次に、入力部11は、受け付けた1個の入力語句を判定部18に送る。
【0101】
ステップS32において、判定部18は、入力部11から入力語句を受け取る。次に、判定部18は、分布空間記憶部17に記憶されている分布空間を表す情報を読み出す。続いて、判定部18は、入力語句と上位下位関係にある単語を、階層構造埋め込み表現の分布空間から抽出する。具体的には、判定部18は、階層構造埋め込み表現の分布空間に含まれる単語のうち、入力語句とのハイパースコアが所定の閾値以上である単語を抽出する。そして、判定部18は、抽出された単語を出力部19に送る。
【0102】
判定部18は、入力語句との関連性が高い単語を、階層構造埋め込み表現の分布空間から抽出してもよい。具体的には、判定部18は、階層構造埋め込み表現の分布空間に含まれる単語のうち、入力語句となす角度及び入力語句とのノルムの大小関係が所定の範囲内にある単語を抽出する。
【0103】
判定部18は、まず、入力語句とのコサイン類似度が所定の閾値以下の単語を抽出する。次に、判定部18は、抽出された各単語と入力語句とのノルムの差が所定の閾値より大きい単語を抽出する。そして、判定部18は、抽出された単語を出力部19に送る。
【0104】
出力部19は、判定部18から抽出された単語を受け取る。次に、出力部19は、抽出された単語を表示装置105等に出力する。
【0105】
<可視化処理の流れ>
図12は、本実施形態における可視化処理の流れの一例を示すフローチャートである。
【0106】
ステップS41において、出力部19は、分布空間記憶部17に記憶されている分布空間を表す情報を読み出す。
【0107】
ステップS42において、出力部19は、階層構造埋め込み表現の分布空間を構造的に可視化する。出力部19は、例えば、上位下位関係にある単語を列挙したリスト形式で、階層構造埋め込み表現の分布空間を表現する。
【0108】
図13は、可視化処理の一例を示す概念図である。
図13の例は、上位下位関係にある単語を列挙したリスト形式で、階層構造埋め込み表現の分布空間を表現した例である。
図13に示されているように、リスト形式で分布空間を表現する場合、上位語と下位語との組み合わせからなる一覧表を構築する。このとき、上位度の降順で並べることで、一覧表から階層構造を容易に把握できるようになる。
【0109】
なお、上位度は、2つの単語がどれだけ上位にあるか又は下位にあるかの度合いを示す使用である。例えば、上位度は、階層構造埋め込み表現のノルムの差である。ノルムの差が小さいほど上位度が高く、大きいほど上位度が低い。
【0110】
出力部19は、例えば、単語間の上位下位関係を階層化したツリー構造(デンドログラム)で、階層構造埋め込み表現の分布空間を表現する。
【0111】
図14は、可視化処理の一例を示す概念図である。
図14の例は、上位下位関係を階層化したツリー構造で、階層構造埋め込み表現の分布空間を表現した例である。
図14に示されているように、ツリー構造で分布空間を表現する場合、上位下位関係にある単語間を線で接続し、上位度が高いほど上の階層に、低いほど下の階層に配置されるようにツリー構造を構築する。
【0112】
出力部19は、例えば、所定の一軸を上位度とした散布図で、階層構造埋め込み表現の分布空間を表現する。
【0113】
図15は、可視化処理の一例を示す概念図である。
図15の例は、所定の一軸を上位度とした散布図で、階層構造埋め込み表現の分布空間を表現した例である。階層構造埋め込み表現の分布空間は多次元空間であるため、2次元の散布図で表現するために、2つの尺度で次元削減を行う必要がある。このとき、一方の尺度を上位度として定める。もう一方の尺度は任意の尺度を用いることができる。
【0114】
可視化処理は、判定処理又は抽出処理と組み合わせることも可能である。例えば、判定処理における判定結果と共に、各語句と上位下位関係にある単語をツリー構造で表現した図を出力してもよい。また、例えば、抽出処理により抽出された単語をツリー構造又は散布図で出力してもよい。
【0115】
[変形例]
上記の実施形態では、階層構造埋め込み表現の分布空間が、互いの関連性の高さに関わる成分を単語がなす角度とし、互いの上位下位関係に関わる成分をノルムの大小関係としてもつ例を説明した。変形例では、階層構造埋め込み表現の分布空間が、互いの関連性の高さに関わる成分をx軸とし、互いの上位下位関係に関わる成分をy軸としてもつ例を説明する。
【0116】
図16は、階層構造埋め込み表現の分布空間の変形例を示す概念図である。
図16の例は、互いの関連性の高さに関わる成分(類義関係等)をx軸とし、互いの上位下位関係に関わる成分(上位度)をy軸とした散布図で、階層構造埋め込み表現の分布空間を表現している。
図16に示されているように、変形例における分布空間は、x軸方向に距離が近付くほど意味が近く、x軸方向に距離が離れるほど意味が遠いことを表している。また、変形例における分布空間は、y軸に対して上方向に位置するほど上位度が高く、y軸に対して下方向に位置するほど上位度が低いことを表している。
【0117】
なお、本変形例におけるx軸及びy軸は一例であって、階層構造埋め込み表現の分布空間が、互いの関連性の高さに関わる成分に対応する軸と、互いの上位下位関係に関わる成分に対応する軸とをもっていれば、分布空間におけるいずれの軸がそれぞれの成分に対応していてもよい。
【0118】
<まとめ>
以上、本開示の各実施形態によれば、語句のベクトル表現を他の単語との上位下位関係を判定可能に加工することができる。本実施形態におけるベクトル表現加工装置は、上位語と下位語との組み合わせを含む辞書データに基づいて、互いの関連性の高さに関わる成分及び互いの上位下位関係に関わる成分をもつように配置される分布空間を生成し、任意の語句を分布空間に写像する。したがって、本実施形態におけるベクトル表現加工装置によれば、語句のベクトル表現を他の単語との上位下位関係を判定可能に加工することができる。
【0119】
特に、本実施形態におけるベクトル表現加工装置は、分布空間に写像された語句の分布を構造的に可視化する。例えば、ベクトル表現加工装置は、上位下位関係にある単語を列挙したリスト形式で語句の分布を可視化する。また、例えば、ベクトル表現加工装置は、語句の上位下位関係に応じて階層化されたツリー構造で語句の分布を可視化する。また、例えば、ベクトル表現加工装置は、所定の軸を上位度とする散布図で語句の分布を可視化する。したがって、本実施形態におけるベクトル表現加工装置によれば、任意の語句と辞書データに含まれる単語との上位下位関係を俯瞰的かつ直感的に把握することができる。
【0120】
本実施形態におけるベクトル表現加工装置は、2個の語句を分布空間に写像することで、上位下位関係を判定する。また、本実施形態におけるベクトル表現加工装置は、1個の語句を分布空間に写像することで、上位下位関係又は関連性が高い単語を抽出する。したがって、本実施形態におけるベクトル表現加工装置によれば、任意の語句について上位下位関係にある単語又は関連性が高い単語を高精度に抽出することができる。
【0121】
以上、実施形態を説明したが、特許請求の範囲の趣旨及び範囲から逸脱することなく、形態や詳細の多様な変更が可能なことが理解されるであろう。
【符号の説明】
【0122】
10 ベクトル表現加工装置
11 入力部
12 変換モデル記憶部
13 変換部
14 学習部
15 加工モデル記憶部
16 加工部
17 分布空間記憶部
18 判定部
19 出力部