JP6972711B2 - 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置 - Google Patents

語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置 Download PDF

Info

Publication number
JP6972711B2
JP6972711B2 JP2017129261A JP2017129261A JP6972711B2 JP 6972711 B2 JP6972711 B2 JP 6972711B2 JP 2017129261 A JP2017129261 A JP 2017129261A JP 2017129261 A JP2017129261 A JP 2017129261A JP 6972711 B2 JP6972711 B2 JP 6972711B2
Authority
JP
Japan
Prior art keywords
word
vector
meaning
words
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017129261A
Other languages
English (en)
Other versions
JP2019012455A (ja
Inventor
聡 尾上
正弘 片岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017129261A priority Critical patent/JP6972711B2/ja
Priority to PCT/JP2018/010878 priority patent/WO2019003517A1/ja
Publication of JP2019012455A publication Critical patent/JP2019012455A/ja
Priority to US16/724,303 priority patent/US11514248B2/en
Application granted granted Critical
Publication of JP6972711B2 publication Critical patent/JP6972711B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)

Description

本発明は、語義ベクトル生成プログラム等に関する。
近年、Word2Vec(Skip-gram)に基づいて、文章に含まれる単語のベクトルを演算する従来技術がある。たとえば、単語「mean」のベクトルを演算する場合について説明する。従来技術では、文章1、2、その他の図示しない複数の文章を基にして、単語「mean」とともに共起する共起単語の確率が最適になるような隠れ層の特徴量を演算し、演算した特徴量を、単語「mean」のベクトルとする。
「What dose this phrase mean?」・・・(文章1)
「I mean it as a joke.」・・・(文章2)
特開2013−20431号公報 特開2010−152561号公報
しかしながら、上述した従来技術では、複数の語義を持つ多義語について、各語義に対応した語義ベクトルの適合性が低いという問題がある。
たとえば、従来技術では、ベクトルを演算する場合に、テキスト中の対象となる多義語の語義を区別せず、単なる単語としての共起関係しか考慮されておらず、1つのベクトルしか割り当てさられていない。たとえば、文章1に含まれる単語「mean」は多議語であり、その語義を、文章1全体から判断すると、文章1に含まれる単語「mean」の語義は「sense」である。一方、文章2に含まれる単語「mean」の語義を、文章2全体から判断すると、文章2に含まれる単語「mean」の語義は「say」である。
従って、文章1に含まれる単語「mean」の語義と文章2に含まれる単語「mean」の語義は異なっているため、単純に、共起関係から単語「mean」のベクトルを割り当てると、単語の語義への適合性の低いベクトルしか演算することができないと言える。
1つの側面では、本発明は、複数の語義を持つ多義語について、各語義に対応した語義ベクトルの適合性を向上することができる語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置を提供することを目的とする。
第1の案では、コンピュータに下記の処理を実行させる。コンピュータは、テキストデータに含まれる複数の単語のベクトルを取得する。コンピュータは、語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出する。コンピュータは、取得した複数の単語のベクトルのうち、抽出した単語のベクトルに基づき、いずれかのグループに応じたベクトルを生成する。コンピュータは、複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した複数の単語のベクトルのうち、抽出した単語のいずれかの語義の説明に含まれる単語のベクトルを特定する。コンピュータは、特定したベクトルと、生成したベクトルとに基づき、いずれかの語義に応じたベクトルを生成する。
複数の語義を持つ多義語について、各語義に対応した語義ベクトルの適合性を向上することができる。
図1は、本実施例に係る語義ベクトル生成装置の処理の一例を説明するための図である。 図2は、本実施例に係る語義ベクトル生成装置の構成を示す機能ブロック図である。 図3は、類語辞書テーブルのデータ構造の一例を示す図である。 図4は、単語ベクトルテーブルのデータ構造の一例を示す図である。 図5は、英英/国語辞書テーブルのデータ構造の一例を示す図である。 図6は、類語テーブルのデータ構造の一例を示す図である。 図7は、多義語テーブルのデータ構造の一例を示す図である。 図8は、語義判定テーブルのデータ構造の一例を示す図である。 図9は、単語ベクトル演算部の処理の一例を説明するための図である。 図10は、グループベクトル演算部の処理を説明するための図である。 図11は、ベクトルと法線ベクトルとの関係を示す図である。 図12は、語義ベクトルを算出する処理を示すフローチャートである。 図13は、単語に対応する語義ベクトルを判定する処理を示すフローチャートである。 図14は、語義ベクトル生成装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
以下に、本願の開示する語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例に係る語義ベクトル生成装置の処理の一例を説明するための図である。たとえば、語義ベクトル生成装置は、テキストデータ10に含まれる単語「deep」のベクトルを算出する場合について説明する。単語「deep」は、複数の語義を有する多義語である。たとえば、単語「deep」には、「top to bottom、front to back、measurement、deep、breath、sounds、colours、sleep、serious、emotions、knowledge、difficult to understand、involved、person、in sport」の語義がある。図1では、単語「deep」の語義のうち、「knowledge」の語義ベクトルを算出する処理の一例について説明する。
図1のステップS10について説明する。語義ベクトル生成装置は、類語辞書テーブル150aと、単語「deep」とを比較して、単語「deep」の類語を特定する。類語辞書テーブル150aは、単語と、単語に対応する類語とを対応づけるテーブルである。ここでは一例として、単語「deep」の類語を「wise、knowing、heavy、learned、profound」とする。
語義ベクトル生成装置は、単語「deep」、各類語「wise、knowing、heavy、learned、profound」と、単語ベクトルテーブル150bとを比較して、単語、各類語のベクトルを特定する。単語ベクトルテーブル150bは、単語と、単語のベクトルとを対応づけるテーブルである。たとえば、単語「deep」のベクトルを「Vdeep」とする。類語「wise」のベクトルを「Vwise」とする。類語「knowing」のベクトルを「Vknowing」とする。類語「heavy」のベクトルを「Vheavy」とする。類語「learned」のベクトルを「Vlearned」とする。類語「profound」のベクトルを「Vprofound」とする。
図1のステップS11について説明する。語義ベクトル生成装置は、各ベクトル「Vdeep、Vwise、Vknowing、Vheavy、Vlearned、Vprofound」を複数のメッシュに区切り、各メッシュの法線ベクトルをそれぞれ算出する。語義ベクトル生成装置は、各メッシュの法線ベクトルを合算することで、各ベクトル「Vdeep、Vwise、Vknowing、Vheavy、Vlearned、Vprofound」のグループベクトルV920.17を算出する。
図1のステップS12について説明する。語義ベクトル生成装置は、英英/国語辞書テーブル150cを参照して、単語「deep」の語義「knowledge」の解説文に含まれる特徴単語を抽出する。英英/国語辞書テーブル150cは、単語の各語義をそれぞれ解説する解説文の情報を保持するテーブルである。たとえば、語義ベクトル生成装置は、この解説文から特徴単語「great、knowledge、understanding」を抽出する。同一の特徴単語は、一つの特徴単語とする。
語義ベクトル生成装置は、特徴単語と、単語ベクトルテーブル150bとを比較して、各特徴単語のベクトルを特定する。たとえば、特徴単語「great」のベクトルを「Vgreat」とする。特徴単語「knowledge」のベクトルを「Vknowledge」とする。特徴単語「understanding」のベクトルを「Vunderstanding」とする。
たとえば、語義ベクトル生成装置は、解説文に含まれる単語のうち、グループベクトルの生成もとの類語と同一の単語を、特徴単語から除外する。語義ベクトル生成装置は、解説文に含まれる単語のうち、冠詞、接続詞を除外する。語義ベクトル生成装置は、解説文に含まれる単語のうち、showing等の定型単語を除外する。
語義ベクトル生成装置は、各特徴単語のベクトル「Vgreat、Vknowledge、Vunderstanding」に基づいて、グループベクトルV920.17を補正することで、単語「deep」の語義のうち、「knowledge」の語義ベクトルVdeep_KNOWLEDGEを生成する。たとえば、語義ベクトル生成部は、ベクトル「Vgreat、Vknowledge、Vunderstanding」の法線ベクトルと、グループベクトルV929.17を合算することで、語義ベクトルVdeep_KNOWLEDGEを生成する。
上記のように語義ベクトル生成装置は、対象の単語のベクトルおよび単語の類語のベクトルを合算したグループベクトルを、対象の語義の解説文に含まれる特徴単語のベクトルによって補正することで、対象の単語の語義ベクトルを生成する。このため、同一の単語であっても、単語の語義に適合した語義ベクトルを語義毎に生成することができる。
次に、本実施例に係る語義ベクトル生成装置の構成について説明する。図2は、本実施例に係る語義ベクトル生成装置の構成を示す機能ブロック図である。図2に示すように、この語義ベクトル生成装置100は、通信部110と、入力部120と、表示部130と、記憶部150と、制御部160とを有する。
通信部110は、図示しない外部装置とネットワークを介してデータ通信を実行する処理部である。たとえば、通信部110は、通信装置に対応する。
入力部120は、各種の情報を語義ベクトル生成装置100に入力するための入力装置である。たとえば、入力部120は、キーボードやマウス、タッチパネルなどに対応する。
表示部130は、制御部160から出力される各種の情報を表示する表示装置である。たとえば、表示部130は、液晶ディスプレイやタッチパネルなどに対応する。
記憶部150は、テキストデータ10と、類語辞書テーブル150aと、単語ベクトルテーブル150bと、英英/国語辞書テーブル150cと、類語テーブル150dと、多義語テーブル150eと、語義判定テーブル150fとを有する。記憶部150は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子や、HDD(Hard Disk Drive)などの記憶装置に対応する。
テキストデータ10は、複数の単語を有する文字列のデータである。
類語辞書テーブル150aは、単語と、単語に対応する類語を対応づけるテーブルである。図3は、類語辞書テーブルのデータ構造の一例を示す図である。図3に示すように、この類語辞書テーブル150aは、類語識別番号と、単語(類語)を対応づける。
類語識別番号は、類語を識別する番号であり、類語識別番号が同一の各単語が、類語となる。たとえば、類語識別番号「1.1」となる各単語「birth、genesis、nativity、childbirth、birthing、nascency」は、類語である。
単語ベクトルテーブル150bは、単語と、単語のベクトルとを対応づけるテーブルである。図4は、単語ベクトルテーブルのデータ構造の一例を示す図である。図4に示すように、この単語ベクトルテーブル150bは、単語とベクトルとを対応づける。たとえば、単語「birth」のベクトルは、「Vbirth」となる。
英英/国語辞書テーブル150cは、英英/国語辞書テーブル150cは、単語の各語義をそれぞれ解説する解説文の情報を保持するテーブルである。図5は、英英/国語辞書テーブルのデータ構造の一例を示す図である。図5に示すように、この英英/国語辞書テーブル150cは、単語と、語義と、解説番号と、解説文と、文例とを対応づける。図5に示すように、同一の単語であっても、複数の語義が対応づけられる。解説番号は、解説文に割り振られる番号である。
解説文は、語義を解説する文章である。たとえば、単語「deep」の語義「KNOWLEDGE」に対応する解説文は「showing great knowledge or understanding」となる。文例は、該当する語義の単語を用いた文例を示すものである。
類語テーブル150dは、図1のステップS11で説明した各類語のグループベクトルの情報を保持するテーブルである。図6は、類語テーブルのデータ構造の一例を示す図である。図6に示すように、この類語テーブル150dは、類語識別番号と、単語(類語)と、ベクトルと、グループベクトルとを対応づける。
類語識別番号は、類語を識別する番号であり、類語識別番号が同一の各単語が、類語となる。ベクトルは、各単語(類語)に対応するベクトルである。各単語のベクトルは、図4で説明した単語ベクトルテーブル150bで定義されている。グループベクトルは、同一の類語識別番号の単語(類語)のベクトルをまとめたベクトルである。
多義語テーブル150eは、多義語の各語義の情報を保持するテーブルである。図7は、多義語テーブルのデータ構造の一例を示す図である。図7に示すように、この多義語テーブル150eは、多義語と、語義数と、語義と、語義識別番号と、グループベクトルと、解説番号と、語義コードと、語義ベクトルとを対応づける。
多義語は、複数の語義を有する単語を示す。語義数は、多義語が持つ語義の数を示す。語義は、多義語に含まれる各語義を示す。類語識別番号は、語義に対応する単語が属する類語を一意に識別する番号である。グループベクトルは、類語識別番号に対応する類語のベクトルをまとめたベクトルである。解説番号は、図5に示した解説番号に対応するものである。語義コードは、語義に割り当てられるコードである。語義ベクトルは、該当する単語の語義に割り当てられるベクトルである。
語義判定テーブル150fは、文章に含まれる単語の語義を判定する場合に用いられるテーブルである。図8は、語義判定テーブルのデータ構造の一例を示す図である。図8に示すように、この語義判定テーブル150fは、多義語と、語義IDと、語義と、各共起単語とを対応づける。
多義語は、複数の語義を有する単語を示す。語義IDは、多義語に含まれる語義を一意に識別する番号である。語義は、多義語に含まれる各語義を示す。共起単語は、ある語義の多義語と共起する単語を示す。共起単語は、共起率と対応づけられる。たとえば、多義語「deep」が語義「knowledge」の意味で文章に登場する場合には、係る「deep」の前後で、単語「understanding」が共起する可能性が「41%」である旨が示されている。
図2の説明に戻る。制御部160は、単語ベクトル演算部160aと、グループベクトル演算部160bと、語義ベクトル演算部160cと、ベクトル判定部160dとを有する。制御部160は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などによって実現できる。また、制御部160は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤードロジックによっても実現できる。
単語ベクトル演算部160aは、skip-gramに基づいて、テキストデータ10に含まれる単語のベクトルを演算する処理部である。単語ベクトル演算部160aは、単語と、単語のベクトルとを対応づけて、単語ベクトルテーブル150bに格納する。
図9は、単語ベクトル演算部の処理の一例を説明するための図である。ここでは、入力するテキストデータ10に含まれる文章を「I want to eat an apple everyday」とし、この文章に含まれる単語「eat」のベクトルを演算するものとする。
単語ベクトル演算部160aは、与えられた単語「eat」および共起単語の確率をネットワークで学習する。たとえば、ネットワークは、入力層5a、隠れ層5b、出力層5cを含む。入力層5aに単語を入力すると、隠れ層5bに設定された特徴量に応じて、入力された単語と共起する共起単語の共起確率が、出力層5cから出力される。
単語ベクトル演算部160aは、複数の文章について、単語「eat」と共起する共起単語との関係から、隠れ層5bの特徴量が最適な値となるように、繰り返し学習を行う。たとえば、単語「eat」を、入力層5aに入力し、文章「I want to eat an apple everyday」で、単語「eat」と共起する共起単語「apple」を出力層5cに入力して、隠れ層5bの特徴量を調整する。単語ベクトル演算部160aは、他の複数の文章についても、同様の処理を繰り返し実行する(ステップS20)。
単語ベクトル演算部160aは、ステップS20を繰り返し実行した結果、調整された、隠れ層5bの特徴量を、単語「eat」のベクトルとして特定する(ステップS21)。図9のステップS21では、隠れ層5bの特徴量が調整された結果、単語「eat」が入力層5aに入力されると、出力層5cから共起単語(共起確率)「apple(0.4)」、「orange((0.4)」、・・・、「network(0.01)」が出力される例を示している。
単語ベクトル演算部160aは、他の単語に関しても、上記処理を繰り返し実行することで、ベクトルを演算する。
グループベクトル演算部160bは、単語ベクトルテーブル150bから単語を選択し、選択した単語のベクトルと、選択した単語の類語のベクトルとを基にして、グループベクトルを演算する処理部である。以下において、グループベクトル演算部160bの処理の一例について説明する。
グループベクトル演算部160bは、選択した単語と、類語辞書テーブル150aとを比較して、選択した単語に対応する類語識別番号を判定する。グループベクトル演算部160bは、判定した類語識別番号に対応する類語を類語辞書テーブル150aから取得する。グループベクトル演算部160bは、取得した類語のベクトルを、単語ベクトルテーブル150bから取得する。以下の説明では、適宜、選択した単語とその類語をまとめて類語と表記する。グループベクトル演算部160bは、類義識別番号、類語、ベクトルを対応づけて、類語テーブル150dに登録する。
グループベクトル演算部160bは、同一の類語識別番号に対応する類語のベクトルを基にして、かかる類語識別番号のグループベクトルを演算する。図10は、グループベクトル演算部の処理を説明するための図である。図10では、類語を「birth、nativity、nascency、birthing、childbirth、genesis」とし、グループベクトル演算部160bは、この類語のグループベクトルを演算する場合について説明する。
図10のステップS30について説明する。グループベクトル演算部160bは、類語「birth、nativity、nascency、birthing、childbirth、genesis」のベクトル「Vbirth、V nativity、Vnascency、Vbirthing、Vchildbirth、Vgenesis」を、単語ベクトルテーブル150bから取得する。
図10のステップS31について説明する。グループベクトル演算部160bは、各ベクトル「Vbirth、Vnativity、Vnascency、Vbirthing、Vchildbirth、Vgenesis」を基に、メッシュ51〜54を生成する。メッシュ51は、ベクトル「Vbirth、Vnativity、Vgenesis」からなるメッシュである。メッシュ52は、ベクトル「Vnativity、Vchildbirth、Vgenesis」からなるメッシュである。メッシュ53は、ベクトル「Vnativity、Vnascency、Vchildbirth」からなるメッシュである。メッシュ54は、ベクトル「Vnascency、Vbirthing、Vchildbirth」からなるメッシュである。
グループベクトル演算部160bは、メッシュ51〜54の法線ベクトル51a〜54aをそれぞれ算出する。たとえば、グループベクトル演算部160bは、式(1)に基づいて、ベクトルν、ν、νからなるメッシュの法線ベクトルNを算出する。図11は、ベクトルと法線ベクトルとの関係を示す図である。
法線ベクトルN=(ν−ν)×(ν−ν)/|(ν−ν)×(ν−ν)|・・・(1)
図10のステップS32について説明する。グループベクトル演算部160bは、法線ベクトル51a〜54aを合算することで、グループベクトルV1.1を演算する。グループベクトル演算部160bは、法線ベクトル51a〜54aを合算したベクトルを、正規化して、グループベクトルV1.1を生成しても良い。グループベクトル演算部160bは、演算したグループベクトルを、該当する類語識別番号と対応づけて、類語テーブル150dに登録する。たとえば、グループベクトル演算部160bは、類語識別番号「1.1」と対応づけて、グループベクトルV1.1を、類語テーブル150dに登録する。
グループベクトル演算部160bは、他の単語についても、上記S30〜S32の処理を実行することで、単語に対応するグループベクトルを演算し、類語テーブル150dに登録する。グループベクトル演算部160bは、類語テーブル150dと、多義語テーブル150eとを比較して、類語識別番号に対応づけて、グループベクトルを、多義語テーブル150eに登録する。
なお、図7で説明した、多義語テーブル150eの多義語、語義数、語義、類語識別番号、解説番号、語義コードは、予め設定されているものとする。多義語テーブル150eのグループベクトルの情報は、上記のように、グループベクトル演算部160bに登録される。多義語テーブル150eの語義ベクトルの情報は、後述する語義ベクトル演算部160cに登録される。
語義ベクトル演算部160cは、単語の語義に対応する語義ベクトルを演算する処理部である。以下において、語義ベクトル演算部160cの処理の一例について説明する。語義ベクトル演算部160cは、多義語テーブル150eを参照し、語義ベクトルの演算対象となる、単語と語義との組を選択する。ここでは一例として、単語「deep」の語義「KNOWLEDGE」の語義ベクトルを演算する場合について説明する。
語義ベクトル演算部160cは、多義語テーブル150eを参照し、多義語(単語)「deep」と語義「KNOWLEDGE」に対応するグループベクトルVdeep_KNOWLEDGEを取得する。
語義ベクトル演算部160cは、英英/国語辞書テーブル150cを参照し、単語「deep」と語義「KNOWLEDGE」に対応する解説文から、特徴単語を抽出する。たとえば、語義ベクトル演算部160cは、語義「KNOWLEDGE」の解説文「showing great knowledge or understanding」から、特徴単語「great、knowledge、understanding」を抽出する。
語義ベクトル演算部160cは、解説文に含まれる単語のうち、グループベクトルの生成もとの類語と同一の単語を、特徴単語から除外する。語義ベクトル演算部160cは、解説文に含まれる単語のうち、冠詞、接続詞を除外する。語義ベクトル演算部160cは、解説文に含まれる単語のうち、showing等の予め定められた、定型単語を除外する。たとえば、語義ベクトル演算部160cは、解説文に含まれる単語のうち、除外対象とならない単語を、特徴単語として抽出する。
語義ベクトル演算部160cは、特徴単語「great、knowledge、understanding」と、単語ベクトルテーブル150bとを比較して、各特徴単語のベクトルを取得する。語義ベクトル演算部160cは、各特徴単語のベクトルを基にして、法線ベクトルを算出し、算出した法線ベクトルと、単語「deep」のグループベクトルV920.17とを合算することで、語義ベクトルVdeep_KNOWLEDGEを演算する。係る処理は、図1のステップS12に示した処理に対応する。
語義ベクトル演算部160cは、多義語「deep」の語義「KNOWLEDGE」に対応する語義ベクトル「Vdeep_KNOWLEDGE」を、多義語テーブル150eに登録する。語義ベクトル演算部160cは、多義語「deep」の他の語義、他の多義語の各語義についても、上記に対応する処理を繰り返し実行することで、語義ベクトルを演算し、多義語テーブル150eに登録する。
ベクトル判定部160dは、ベクトルの演算対象となる文字列を取得した場合に、取得した文字列に含まれる各単語のベクトルを判定する。たとえば、ベクトル判定部160dは、文字列「You should try to gain a deep understanding of the problem.」等を受け付け、かかる文字列に含まれる各単語のベクトルを判定する。ここでは一例として、単語「deep」の語義ベクトルを判定する場合について説明する。
ベクトル判定部160dは、単語「deep」と、語義判定テーブル150fとを比較して、文字列「You should try to gain a deep understanding of the problem.」における、単語「deep」の語義を判定する。たとえば、ベクトル判定部160dは、単語「deep」の後ろに、共起単語「understanding」が出現しているため、単語「deep」の語義を「KNOWLEDGE」と判定する。
ベクトル判定部160dは、単語「deep」の語義を「KNOWLEDGE」に対応する語義ベクトルを、多義語テーブル150eから取得し、単語「deep」に割り当てる。
次に、本実施例に係る語義ベクトル生成装置100の処理手順の一例について説明する。図12は、語義ベクトルを算出する処理を示すフローチャートである。図12に示すように、語義ベクトル生成装置100の単語ベクトル演算部160aは、テキストデータ10に含まれる各単語のベクトルを演算し、単語ベクトルテーブル150bに登録する(ステップS101)。
語義ベクトル生成装置100のグループベクトル演算部160bは、テキストデータ10に含まれる複数の単語からベクトル演算の対象となる単語を選択する(ステップS102)。グループベクトル演算部160bは、類語辞書テーブル150aを基にして、選択した単語の類語を判定する(ステップS103)。
グループベクトル演算部160bは、各類語のベクトルを、単語ベクトルテーブル150bから取得する(ステップS104)。グループベクトル演算部160bは、各類語のベクトルを基にして、グループベクトルを演算する(ステップS105)。
語義ベクトル生成装置100の語義ベクトル演算部160cは、語義ベクトルの演算対象となる単語および語義を選択する(ステップS106)。語義ベクトル演算部160cは、英英/国語辞書テーブル150cを参照し、語義に対応する解説文を基にして、特徴単語を抽出する(ステップS107)。
語義ベクトル演算部160cは、特徴単語のベクトルを基にして、単語のグループベクトルを補正することで、語義ベクトルを生成する(ステップS108)。語義ベクトル演算部160cは、語義ベクトルを、多義語テーブル150eに登録する(ステップS109)。
図13は、単語に対応する語義ベクトルを判定する処理を示すフローチャートである。図13に示すように、語義ベクトル生成装置100のベクトル判定部160dは、テキストデータ10に含まれる複数の単語から、単語を選択する(ステップS201)。
ベクトル判定部160dは、語義判定テーブル150fを基にして、単語の語義を判定する(ステップS202)。ベクトル判定部160dは、単語および語義と、多義語テーブル150eとを基にして、語義ベクトルを判定する(ステップS203)。
次に、本実施例に係る語義ベクトル生成装置100の効果について説明する。語義ベクトル生成装置100は、対象の単語のベクトルおよび単語の類語のベクトルを合算したグループベクトルを、対象の語義の解説文に含まれる特徴単語のベクトルによって補正することで、対象の単語の語義ベクトルを生成する。このため、同一の単語であっても、単語の語義に適合した語義ベクトルを語義毎に生成することができる。従って、語義ベクトルの語義への適合性を向上することができる。
語義ベクトル生成装置100は、対象の単語のベクトルおよび単語の類語のベクトルに基づく法線ベクトルを合算することで、グループベクトルを算出するため、対象の単語および類語を代表するベクトルを精度良く算出できる。
語義ベクトル生成装置100は、対象の単語の語義に対応する説明文に含まれる特徴単語のベクトルと、グループベクトルとを基にして、対象の単語の語義ベクトルを生成するため、語義ベクトルを精度良く算出することができる。
語義ベクトル生成装置100は、ベクトルの特定対象となる対象単語を受け付けた場合に、対象単語の語義を判定し、多義語テーブル150eを基にして、対象単語の語義ベクトルを特定する。このため、単語の語義に応じたベクトルを特定することができる。
ここで、本実施例で説明した語義ベクトル生成装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図14は、語義ベクトル生成装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図14に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204と、無線ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201〜207は、バス208に接続される。
ハードディスク装置207は、単語ベクトル演算プログラム207a、グループベクトル演算プログラム207b、語義ベクトル演算プログラム207c、ベクトル判定プログラム207dを有する。CPU201は、単語ベクトル演算プログラム207a、グループベクトル演算プログラム207b、語義ベクトル演算プログラム207c、ベクトル判定プログラム207dを読み出してRAM206に展開する。
単語ベクトル演算プログラム207aは、単語ベクトル演算プロセス206aとして機能する。グループベクトル演算プログラム207bは、グループベクトル演算プロセス206bとして機能する。語義ベクトル演算プログラム207cは、語義ベクトル演算プロセス206cとして機能する。ベクトル判定プログラム207dは、ベクトル判定プロセス206dとして機能する。
単語ベクトル演算プロセス206aの処理は、単語ベクトル演算部160aの処理に対応する。グループベクトル演算プロセス206bの処理は、グループベクトル演算部160bの処理に対応する。語義ベクトル演算プロセス206cの処理は、語義ベクトル演算部160cの処理に対応する。ベクトル判定プロセス206dの処理は、ベクトル判定部160dの処理に対応する。
なお、各プログラム207a〜207dについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a〜207dを読み出して実行するようにしても良い。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)テキストデータに含まれる複数の単語のベクトルを取得し、
語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出し、
取得した前記複数の単語のベクトルのうち、抽出した前記単語のベクトルに基づき、前記いずれかのグループに応じたベクトルを生成し、
複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した前記複数の単語のベクトルのうち、抽出した前記単語のいずれかの語義の説明に含まれる単語のベクトルを特定し、
特定した前記ベクトルと、生成した前記ベクトルとに基づき、前記いずれかの語義に応じたベクトルを生成する
処理をコンピュータに実行させることを特徴とする語義ベクトル生成プログラム。
(付記2)前記いずれかのグループに応じたベクトルを生成する処理は、第1の単語のベクトルと、前記第1の単語の類語となる複数の第2の単語のベクトルとに基づく法線ベクトルを算出することで、前記第1の単語と前記複数の第2の単語とのグループのベクトルを生成することを特徴とする付記1に記載の語義ベクトル生成プログラム。
(付記3)前記単語のベクトルを特定する処理は、前記第1の単語の第1の語義の説明に含まれる複数の第3の単語のベクトルを特定し、前記いずれかの語義に応じたベクトルを生成する処理は、前記第1の単語と前記複数の第2の単語とのグループのベクトルと、前記複数の第3の単語のベクトルとを基にして、前記第1の単語の前記第1の語義に応じたベクトルを生成することを特徴とする付記2に記載の語義ベクトル生成プログラム。
(付記4)単語と、前記単語の語義と、前記語義に応じたベクトルとを対応づけて記憶部に記憶し、ベクトルの特定対象となる対象単語を受け付けた場合に、前記対象単語の語義を判定し、判定結果および前記記憶部とを基にして、前記対象単語のベクトルを特定する処理を更に実行させることを特徴とする付記1に記載の語義ベクトル生成プログラム。
(付記5)コンピュータが実行する語義ベクトル生成方法であって、
テキストデータに含まれる複数の単語のベクトルを取得し、
語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出し、
取得した前記複数の単語のベクトルのうち、抽出した前記単語のベクトルに基づき、前記いずれかのグループに応じたベクトルを生成し、
複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した前記複数の単語のベクトルのうち、抽出した前記単語のいずれかの語義の説明に含まれる単語のベクトルを特定し、
特定した前記ベクトルと、生成した前記ベクトルとに基づき、前記いずれかの語義に応じたベクトルを生成する
処理を実行することを特徴とする語義ベクトル生成方法。
(付記6)前記いずれかのグループに応じたベクトルを生成する処理は、第1の単語のベクトルと、前記第1の単語の類語となる複数の第2の単語のベクトルとに基づく法線ベクトルを算出することで、前記第1の単語と前記複数の第2の単語とのグループのベクトルを生成することを特徴とする付記5に記載の語義ベクトル生成方法。
(付記7)前記単語のベクトルを特定する処理は、前記第1の単語の第1の語義の説明に含まれる複数の第3の単語のベクトルを特定し、前記いずれかの語義に応じたベクトルを生成する処理は、前記第1の単語と前記複数の第2の単語とのグループのベクトルと、前記複数の第3の単語のベクトルとを基にして、前記第1の単語の前記第1の語義に応じたベクトルを生成することを特徴とする付記6に記載の語義ベクトル生成方法。
(付記8)単語と、前記単語の語義と、前記語義に応じたベクトルとを対応づけて記憶部に記憶し、ベクトルの特定対象となる対象単語を受け付けた場合に、前記対象単語の語義を判定し、判定結果および前記記憶部とを基にして、前記対象単語のベクトルを特定する処理を更に実行させることを特徴とする付記5に記載の語義ベクトル生成方法。
(付記9)テキストデータに含まれる複数の単語のベクトルを取得する単位ベクトル演算部と、
語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出し、取得した前記複数の単語のベクトルのうち、抽出した前記単語のベクトルに基づき、前記いずれかのグループに応じたベクトルを生成するグループベクトル演算部と、
複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した前記複数の単語のベクトルのうち、抽出した前記単語のいずれかの語義の説明に含まれる単語のベクトルを特定し、特定した前記ベクトルと、生成した前記ベクトルとに基づき、前記いずれかの語義に応じたベクトルを生成する語彙ベクトル演算部と
を有することを特徴とする語義ベクトル生成装置。
(付記10)前記グループベクトル演算部は、第1の単語のベクトルと、前記第1の単語の類語となる複数の第2の単語のベクトルとに基づく法線ベクトルを算出することで、前記第1の単語と前記複数の第2の単語とのグループのベクトルを生成することを特徴とする付記9に記載の語義ベクトル生成装置。
(付記11)前記語彙ベクトル演算部は、前記第1の単語の第1の語義の説明に含まれる複数の第3の単語のベクトルを特定し、前記いずれかの語義に応じたベクトルを生成する処理は、前記第1の単語と前記複数の第2の単語とのグループのベクトルと、前記複数の第3の単語のベクトルとを基にして、前記第1の単語の前記第1の語義に応じたベクトルを生成することを特徴とする付記10に記載の語義ベクトル生成装置。
(付記12)前記語彙ベクトル演算部は、単語と、前記単語の語義と、前記語義に応じたベクトルとを対応づけて記憶部に記憶し、
ベクトルの特定対象となる対象単語を受け付けた場合に、前記対象単語の語義を判定し、判定結果および前記記憶部とを基にして、前記対象単語のベクトルを特定するベクトル判定部を更に有することを特徴とする付記9に記載の語義ベクトル生成装置。
100 語義ベクトル生成装置
160a 単語ベクトル演算部
160b グループベクトル演算部
160c 語義ベクトル演算部
160d ベクトル判定部

Claims (4)

  1. テキストデータに含まれる複数の単語のベクトルを取得し、
    語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、前記テキストデータに含まれる第1の単語であって、いずれかのグループに含まれる前記第1の単語を抽出し、
    取得した前記複数の単語のベクトルのうち、前記第1の単語のベクトルと、前記第1の単語と同一のグループに含まれる複数の第2の単語であって、前記第1の単語の類語となる前記複数の第2の単語のベクトルとに基づく法線ベクトルを算出し、
    複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、前記第1の単語の第1の語義の説明に含まれる複数の第3の単語のベクトルを特定し、
    前記法線ベクトルと、前記複数の第3の単語のベクトルとを基にして、前記第1の単語の前記第1の語義に応じたベクトルを生成する
    処理をコンピュータに実行させることを特徴とする語義ベクトル生成プログラム。
  2. 前記第1の単語と、前記第1の語義と、前記第1の語義に応じたベクトルとを対応づけて記憶部に記憶し、ベクトルの特定対象となる対象単語を受け付けた場合に、前記対象単語の語義を判定し、判定結果および前記記憶部とを基にして、前記対象単語のベクトルを特定する処理を更に実行させることを特徴とする請求項1に記載の語義ベクトル生成プログラム。
  3. コンピュータが実行する語義ベクトル生成方法であって、
    テキストデータに含まれる複数の単語のベクトルを取得し、
    語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、前記テキストデータに含まれる第1の単語であって、いずれかのグループに含まれる前記第1の単語を抽出し、
    取得した前記複数の単語のベクトルのうち、前記第1の単語のベクトルと、前記第1の単語と同一のグループに含まれる複数の第2の単語であって、前記第1の単語の類語となる前記複数の第2の単語のベクトルとに基づく法線ベクトルを算出し、
    複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、前記第1の単語の第1の語義の説明に含まれる複数の第3の単語のベクトルを特定し、
    前記法線ベクトルと、前記複数の第3の単語のベクトルとを基にして、前記第1の単語の前記第1の語義に応じたベクトルを生成する
    処理を実行することを特徴とする語義ベクトル生成方法。
  4. テキストデータに含まれる複数の単語のベクトルを取得する単位ベクトル演算部と、
    語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、前記テキストデータに含まれる第1の単語であって、いずれかのグループに含まれる第1の単語を抽出し、取得した前記複数の単語のベクトルのうち、前記第1の単語のベクトルと、前記第1の単語と同一のグループに含まれる複数の第2の単語であって、前記第1の単語の類語となる前記複数の第2の単語のベクトルとに基づく法線ベクトルを算出するグループベクトル演算部と、
    複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、前記第1の単語の第1の語義の説明に含まれる複数の第3の単語のベクトルを特定し、前記法線ベクトルと、前記複数の第3の単語のベクトルとを基にして、前記第1の単語の前記第1の語義に応じたベクトルを生成する語彙ベクトル演算部と
    を有することを特徴とする語義ベクトル生成装置。
JP2017129261A 2017-06-30 2017-06-30 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置 Active JP6972711B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017129261A JP6972711B2 (ja) 2017-06-30 2017-06-30 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置
PCT/JP2018/010878 WO2019003517A1 (ja) 2017-06-30 2018-03-19 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置
US16/724,303 US11514248B2 (en) 2017-06-30 2019-12-22 Non-transitory computer readable recording medium, semantic vector generation method, and semantic vector generation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017129261A JP6972711B2 (ja) 2017-06-30 2017-06-30 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置

Publications (2)

Publication Number Publication Date
JP2019012455A JP2019012455A (ja) 2019-01-24
JP6972711B2 true JP6972711B2 (ja) 2021-11-24

Family

ID=64741404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017129261A Active JP6972711B2 (ja) 2017-06-30 2017-06-30 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置

Country Status (3)

Country Link
US (1) US11514248B2 (ja)
JP (1) JP6972711B2 (ja)
WO (1) WO2019003517A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112183111A (zh) * 2020-09-28 2021-01-05 亚信科技(中国)有限公司 长文本语义相似度匹配方法、装置、电子设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031909B2 (en) * 2002-03-12 2006-04-18 Verity, Inc. Method and system for naming a cluster of words and phrases
US20070136067A1 (en) * 2003-11-10 2007-06-14 Scholl Holger R Audio dialogue system and voice browsing method
JP2006171912A (ja) * 2004-12-13 2006-06-29 Canon Inc 文書処理装置及びその制御方法
JP2010152561A (ja) 2008-12-24 2010-07-08 Toshiba Corp 類似表現抽出装置、サーバ装置及びプログラム
JP5462414B2 (ja) * 2011-06-30 2014-04-02 パナソニック株式会社 類似症例検索装置および関連度データベース作成装置並びに類似症例検索方法および関連度データベース作成方法
JP5754018B2 (ja) 2011-07-11 2015-07-22 日本電気株式会社 多義語抽出システム、多義語抽出方法、およびプログラム
WO2016085409A1 (en) * 2014-11-24 2016-06-02 Agency For Science, Technology And Research A method and system for sentiment classification and emotion classification
JP6583686B2 (ja) * 2015-06-17 2019-10-02 パナソニックIpマネジメント株式会社 意味情報生成方法、意味情報生成装置、およびプログラム
JP6828335B2 (ja) * 2016-09-15 2021-02-10 富士通株式会社 検索プログラム、検索装置および検索方法

Also Published As

Publication number Publication date
US20200125804A1 (en) 2020-04-23
JP2019012455A (ja) 2019-01-24
US11514248B2 (en) 2022-11-29
WO2019003517A1 (ja) 2019-01-03

Similar Documents

Publication Publication Date Title
US9824085B2 (en) Personal language model for input method editor
JP5377889B2 (ja) 言語処理装置およびプログラム
US8849665B2 (en) System and method of providing machine translation from a source language to a target language
CN110264991A (zh) 语音合成模型的训练方法、语音合成方法、装置、设备及存储介质
US10242670B2 (en) Syntactic re-ranking of potential transcriptions during automatic speech recognition
TW200900967A (en) Multi-mode input method editor
US20160188569A1 (en) Generating a Table of Contents for Unformatted Text
KR20070119076A (ko) 이름을 생성하고 선택하기 위한 시스템
JP2008225963A (ja) 機械翻訳装置、置換辞書生成装置、機械翻訳方法、置換辞書生成方法、及びプログラム
JP5766152B2 (ja) 言語モデル生成装置、その方法及びプログラム
JP7173149B2 (ja) 生成方法、生成プログラムおよび情報処理装置
US10699074B2 (en) Phrase-level abbreviated text entry and translation
JP6972711B2 (ja) 語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置
Wu et al. ScratchThat: supporting command-agnostic speech repair in voice-driven assistants
Kominek et al. Learning pronunciation dictionaries: language complexity and word selection strategies
JP7205542B2 (ja) 生成方法、生成プログラムおよび情報処理装置
JP7180132B2 (ja) 処理プログラム、処理方法および情報処理装置
JP5302784B2 (ja) 機械翻訳方法、及びシステム
JP7351372B2 (ja) 生成プログラム、生成方法および情報処理装置
AU2018432789B2 (en) Learning method, translation method, learning program, translation program, and information processing apparatus
CN113806479A (zh) 文本注音的方法、装置、电子设备及存储介质
JP2019159118A (ja) 出力プログラム、情報処理装置及び出力制御方法
JP2006031333A (ja) 言語解析装置、言語解析方法及び言語解析プログラム
JP2010061272A (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211005

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211018

R150 Certificate of patent or registration of utility model

Ref document number: 6972711

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150