(57)【要約】【課題】語義ベクトルの語義への適合性を向上すること。【解決手段】語義ベクトル生成装置１００は、テキストデータに含まれる複数の単語のベクトルを取得する。語義ベクトル生成装置１００は、語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出する。語義ベクトル生成装置１００は、取得した複数の単語のベクトルのうち、抽出した単語のベクトルに基づき、いずれかのグループに応じたベクトルを生成する。語義ベクトル生成装置１００は、複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した複数の単語のベクトルのうち、抽出した単語のいずれかの語義の説明に含まれる単語のベクトルを特定する。語義ベクトル生成装置１００は、特定したベクトルと、生成したベクトルとに基づき、いずれかの語義に応じたベクトルを生成する。【選択図】図２
2019012455.tif 000002
【特許請求の範囲】
【請求項１】
テキストデータに含まれる複数の単語のベクトルを取得し、
語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出し、
取得した前記複数の単語のベクトルのうち、抽出した前記単語のベクトルに基づき、前記いずれかのグループに応じたベクトルを生成し、
複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した前記複数の単語のベクトルのうち、抽出した前記単語のいずれかの語義の説明に含まれる単語のベクトルを特定し、
特定した前記ベクトルと、生成した前記ベクトルとに基づき、前記いずれかの語義に応じたベクトルを生成する
処理をコンピュータに実行させることを特徴とする語義ベクトル生成プログラム。
【請求項２】
前記いずれかのグループに応じたベクトルを生成する処理は、第１の単語のベクトルと、前記第１の単語の類語となる複数の第２の単語のベクトルとに基づく法線ベクトルを算出することで、前記第１の単語と前記複数の第２の単語とのグループのベクトルを生成することを特徴とする請求項１に記載の語義ベクトル生成プログラム。
【請求項３】
前記単語のベクトルを特定する処理は、前記第１の単語の第１の語義の説明に含まれる複数の第３の単語のベクトルを特定し、前記いずれかの語義に応じたベクトルを生成する処理は、前記第１の単語と前記複数の第２の単語とのグループのベクトルと、前記複数の第３の単語のベクトルとを基にして、前記第１の単語の前記第１の語義に応じたベクトルを生成することを特徴とする請求項２に記載の語義ベクトル生成プログラム。
【請求項４】
単語と、前記単語の語義と、前記語義に応じたベクトルとを対応づけて記憶部に記憶し、ベクトルの特定対象となる対象単語を受け付けた場合に、前記対象単語の語義を判定し、判定結果および前記記憶部とを基にして、前記対象単語のベクトルを特定する処理を更に実行させることを特徴とする請求項１に記載の語義ベクトル生成プログラム。
【請求項５】
コンピュータが実行する語義ベクトル生成方法であって、
テキストデータに含まれる複数の単語のベクトルを取得し、
語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出し、
取得した前記複数の単語のベクトルのうち、抽出した前記単語のベクトルに基づき、前記いずれかのグループに応じたベクトルを生成し、
複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した前記複数の単語のベクトルのうち、抽出した前記単語のいずれかの語義の説明に含まれる単語のベクトルを特定し、
特定した前記ベクトルと、生成した前記ベクトルとに基づき、前記いずれかの語義に応じたベクトルを生成する
処理を実行することを特徴とする語義ベクトル生成方法。
【請求項６】
テキストデータに含まれる複数の単語のベクトルを取得する単位ベクトル演算部と、
語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出し、取得した前記複数の単語のベクトルのうち、抽出した前記単語のベクトルに基づき、前記いずれかのグループに応じたベクトルを生成するグループベクトル演算部と、
複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した前記複数の単語のベクトルのうち、抽出した前記単語のいずれかの語義の説明に含まれる単語のベクトルを特定し、特定した前記ベクトルと、生成した前記ベクトルとに基づき、前記いずれかの語義に応じたベクトルを生成する語彙ベクトル演算部と
を有することを特徴とする語義ベクトル生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、語義ベクトル生成プログラム等に関する。
【背景技術】
【０００２】
近年、Word2Vec（Skip-gram）に基づいて、文章に含まれる単語のベクトルを演算する従来技術がある。たとえば、単語「mean」のベクトルを演算する場合について説明する。従来技術では、文章１、２、その他の図示しない複数の文章を基にして、単語「mean」とともに共起する共起単語の確率が最適になるような隠れ層の特徴量を演算し、演算した特徴量を、単語「mean」のベクトルとする。
「What  dose  this  phrase  mean?」・・・（文章１）
「I  mean  it  as  a  joke.」・・・（文章２）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２０４３１号公報
【特許文献２】特開２０１０−１５２５６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術では、複数の語義を持つ多義語について、各語義に対応した語義ベクトルの適合性が低いという問題がある。
【０００５】
たとえば、従来技術では、ベクトルを演算する場合に、テキスト中の対象となる多義語の語義を区別せず、単なる単語としての共起関係しか考慮されておらず、１つのベクトルしか割り当てさられていない。たとえば、文章１に含まれる単語「mean」は多議語であり、その語義を、文章１全体から判断すると、文章１に含まれる単語「mean」の語義は「sense」である。一方、文章２に含まれる単語「mean」の語義を、文章２全体から判断すると、文章２に含まれる単語「mean」の語義は「say」である。
【０００６】
従って、文章１に含まれる単語「mean」の語義と文章２に含まれる単語「mean」の語義は異なっているため、単純に、共起関係から単語「mean」のベクトルを割り当てると、単語の語義への適合性の低いベクトルしか演算することができないと言える。
【０００７】
１つの側面では、本発明は、複数の語義を持つ多義語について、各語義に対応した語義ベクトルの適合性を向上することができる語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の案では、コンピュータに下記の処理を実行させる。コンピュータは、テキストデータに含まれる複数の単語のベクトルを取得する。コンピュータは、語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出する。コンピュータは、取得した複数の単語のベクトルのうち、抽出した単語のベクトルに基づき、いずれかのグループに応じたベクトルを生成する。コンピュータは、複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した複数の単語のベクトルのうち、抽出した単語のいずれかの語義の説明に含まれる単語のベクトルを特定する。コンピュータは、特定したベクトルと、生成したベクトルとに基づき、いずれかの語義に応じたベクトルを生成する。
【発明の効果】
【０００９】
複数の語義を持つ多義語について、各語義に対応した語義ベクトルの適合性を向上することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施例に係る語義ベクトル生成装置の処理の一例を説明するための図である。
【図２】図２は、本実施例に係る語義ベクトル生成装置の構成を示す機能ブロック図である。
【図３】図３は、類語辞書テーブルのデータ構造の一例を示す図である。
【図４】図４は、単語ベクトルテーブルのデータ構造の一例を示す図である。
【図５】図５は、英英／国語辞書テーブルのデータ構造の一例を示す図である。
【図６】図６は、類語テーブルのデータ構造の一例を示す図である。
【図７】図７は、多義語テーブルのデータ構造の一例を示す図である。
【図８】図８は、語義判定テーブルのデータ構造の一例を示す図である。
【図９】図９は、単語ベクトル演算部の処理の一例を説明するための図である。
【図１０】図１０は、グループベクトル演算部の処理を説明するための図である。
【図１１】図１１は、ベクトルと法線ベクトルとの関係を示す図である。
【図１２】図１２は、語義ベクトルを算出する処理を示すフローチャートである。
【図１３】図１３は、単語に対応する語義ベクトルを判定する処理を示すフローチャートである。
【図１４】図１４は、語義ベクトル生成装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する語義ベクトル生成プログラム、語義ベクトル生成方法および語義ベクトル生成装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１２】
図１は、本実施例に係る語義ベクトル生成装置の処理の一例を説明するための図である。たとえば、語義ベクトル生成装置は、テキストデータ１０に含まれる単語「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」の語義がある。図１では、単語「deep」の語義のうち、「knowledge」の語義ベクトルを算出する処理の一例について説明する。
【００１３】
図１のステップＳ１０について説明する。語義ベクトル生成装置は、類語辞書テーブル１５０ａと、単語「deep」とを比較して、単語「deep」の類語を特定する。類語辞書テーブル１５０ａは、単語と、単語に対応する類語とを対応づけるテーブルである。ここでは一例として、単語「deep」の類語を「wise、knowing、heavy、learned、profound」とする。
【００１４】
語義ベクトル生成装置は、単語「deep」、各類語「wise、knowing、heavy、learned、profound」と、単語ベクトルテーブル１５０ｂとを比較して、単語、各類語のベクトルを特定する。単語ベクトルテーブル１５０ｂは、単語と、単語のベクトルとを対応づけるテーブルである。たとえば、単語「deep」のベクトルを「Vdeep」とする。類語「wise」のベクトルを「Vwise」とする。類語「knowing」のベクトルを「Vknowing」とする。類語「heavy」のベクトルを「Vheavy」とする。類語「learned」のベクトルを「Vlearned」とする。類語「profound」のベクトルを「Vprofound」とする。
【００１５】
図１のステップＳ１１について説明する。語義ベクトル生成装置は、各ベクトル「Vdeep、Vwise、Vknowing、Vheavy、Vlearned、Vprofound」を複数のメッシュに区切り、各メッシュの法線ベクトルをそれぞれ算出する。語義ベクトル生成装置は、各メッシュの法線ベクトルを合算することで、各ベクトル「Vdeep、Vwise、Vknowing、Vheavy、Vlearned、Vprofound」のグループベクトルV920.17を算出する。
【００１６】
図１のステップＳ１２について説明する。語義ベクトル生成装置は、英英／国語辞書テーブル１５０ｃを参照して、単語「deep」の語義「knowledge」の解説文に含まれる特徴単語を抽出する。英英／国語辞書テーブル１５０ｃは、単語の各語義をそれぞれ解説する解説文の情報を保持するテーブルである。たとえば、語義ベクトル生成装置は、この解説文から特徴単語「great、knowledge、understanding」を抽出する。同一の特徴単語は、一つの特徴単語とする。
【００１７】
語義ベクトル生成装置は、特徴単語と、単語ベクトルテーブル１５０ｂとを比較して、各特徴単語のベクトルを特定する。たとえば、特徴単語「great」のベクトルを「Vgreat」とする。特徴単語「knowledge」のベクトルを「Vknowledge」とする。特徴単語「understanding」のベクトルを「Vunderstanding」とする。
【００１８】
たとえば、語義ベクトル生成装置は、解説文に含まれる単語のうち、グループベクトルの生成もとの類語と同一の単語を、特徴単語から除外する。語義ベクトル生成装置は、解説文に含まれる単語のうち、冠詞、接続詞を除外する。語義ベクトル生成装置は、解説文に含まれる単語のうち、showing等の定型単語を除外する。
【００１９】
語義ベクトル生成装置は、各特徴単語のベクトル「Vgreat、Vknowledge、Vunderstanding」に基づいて、グループベクトルV920.17を補正することで、単語「deep」の語義のうち、「knowledge」の語義ベクトルVdeep_KNOWLEDGEを生成する。たとえば、語義ベクトル生成部は、ベクトル「Vgreat、Vknowledge、Vunderstanding」の法線ベクトルと、グループベクトルV929.17を合算することで、語義ベクトルVdeep_KNOWLEDGEを生成する。
【００２０】
上記のように語義ベクトル生成装置は、対象の単語のベクトルおよび単語の類語のベクトルを合算したグループベクトルを、対象の語義の解説文に含まれる特徴単語のベクトルによって補正することで、対象の単語の語義ベクトルを生成する。このため、同一の単語であっても、単語の語義に適合した語義ベクトルを語義毎に生成することができる。
【００２１】
次に、本実施例に係る語義ベクトル生成装置の構成について説明する。図２は、本実施例に係る語義ベクトル生成装置の構成を示す機能ブロック図である。図２に示すように、この語義ベクトル生成装置１００は、通信部１１０と、入力部１２０と、表示部１３０と、記憶部１５０と、制御部１６０とを有する。
【００２２】
通信部１１０は、図示しない外部装置とネットワークを介してデータ通信を実行する処理部である。たとえば、通信部１１０は、通信装置に対応する。
【００２３】
入力部１２０は、各種の情報を語義ベクトル生成装置１００に入力するための入力装置である。たとえば、入力部１２０は、キーボードやマウス、タッチパネルなどに対応する。
【００２４】
表示部１３０は、制御部１６０から出力される各種の情報を表示する表示装置である。たとえば、表示部１３０は、液晶ディスプレイやタッチパネルなどに対応する。
【００２５】
記憶部１５０は、テキストデータ１０と、類語辞書テーブル１５０ａと、単語ベクトルテーブル１５０ｂと、英英／国語辞書テーブル１５０ｃと、類語テーブル１５０ｄと、多義語テーブル１５０ｅと、語義判定テーブル１５０ｆとを有する。記憶部１５０は、ＲＡＭ（Random  Access  Memory）、ＲＯＭ（Read  Only  Memory）、フラッシュメモリ（Flash  Memory）などの半導体メモリ素子や、ＨＤＤ（Hard  Disk  Drive）などの記憶装置に対応する。
【００２６】
テキストデータ１０は、複数の単語を有する文字列のデータである。
【００２７】
類語辞書テーブル１５０ａは、単語と、単語に対応する類語を対応づけるテーブルである。図３は、類語辞書テーブルのデータ構造の一例を示す図である。図３に示すように、この類語辞書テーブル１５０ａは、類語識別番号と、単語（類語）を対応づける。
【００２８】
類語識別番号は、類語を識別する番号であり、類語識別番号が同一の各単語が、類語となる。たとえば、類語識別番号「１．１」となる各単語「birth、genesis、nativity、childbirth、birthing、nascency」は、類語である。
【００２９】
単語ベクトルテーブル１５０ｂは、単語と、単語のベクトルとを対応づけるテーブルである。図４は、単語ベクトルテーブルのデータ構造の一例を示す図である。図４に示すように、この単語ベクトルテーブル１５０ｂは、単語とベクトルとを対応づける。たとえば、単語「birth」のベクトルは、「Vbirth」となる。
【００３０】
英英／国語辞書テーブル１５０ｃは、英英／国語辞書テーブル１５０ｃは、単語の各語義をそれぞれ解説する解説文の情報を保持するテーブルである。図５は、英英／国語辞書テーブルのデータ構造の一例を示す図である。図５に示すように、この英英／国語辞書テーブル１５０ｃは、単語と、語義と、解説番号と、解説文と、文例とを対応づける。図５に示すように、同一の単語であっても、複数の語義が対応づけられる。解説番号は、解説文に割り振られる番号である。
【００３１】
解説文は、語義を解説する文章である。たとえば、単語「deep」の語義「KNOWLEDGE」に対応する解説文は「showing  great  knowledge  or  understanding」となる。文例は、該当する語義の単語を用いた文例を示すものである。
【００３２】
類語テーブル１５０ｄは、図１のステップＳ１１で説明した各類語のグループベクトルの情報を保持するテーブルである。図６は、類語テーブルのデータ構造の一例を示す図である。図６に示すように、この類語テーブル１５０ｄは、類語識別番号と、単語（類語）と、ベクトルと、グループベクトルとを対応づける。
【００３３】
類語識別番号は、類語を識別する番号であり、類語識別番号が同一の各単語が、類語となる。ベクトルは、各単語（類語）に対応するベクトルである。各単語のベクトルは、図４で説明した単語ベクトルテーブル１５０ｂで定義されている。グループベクトルは、同一の類語識別番号の単語（類語）のベクトルをまとめたベクトルである。
【００３４】
多義語テーブル１５０ｅは、多義語の各語義の情報を保持するテーブルである。図７は、多義語テーブルのデータ構造の一例を示す図である。図７に示すように、この多義語テーブル１５０ｅは、多義語と、語義数と、語義と、語義識別番号と、グループベクトルと、解説番号と、語義コードと、語義ベクトルとを対応づける。
【００３５】
多義語は、複数の語義を有する単語を示す。語義数は、多義語が持つ語義の数を示す。語義は、多義語に含まれる各語義を示す。類語識別番号は、語義に対応する単語が属する類語を一意に識別する番号である。グループベクトルは、類語識別番号に対応する類語のベクトルをまとめたベクトルである。解説番号は、図５に示した解説番号に対応するものである。語義コードは、語義に割り当てられるコードである。語義ベクトルは、該当する単語の語義に割り当てられるベクトルである。
【００３６】
語義判定テーブル１５０ｆは、文章に含まれる単語の語義を判定する場合に用いられるテーブルである。図８は、語義判定テーブルのデータ構造の一例を示す図である。図８に示すように、この語義判定テーブル１５０ｆは、多義語と、語義ＩＤと、語義と、各共起単語とを対応づける。
【００３７】
多義語は、複数の語義を有する単語を示す。語義ＩＤは、多義語に含まれる語義を一意に識別する番号である。語義は、多義語に含まれる各語義を示す。共起単語は、ある語義の多義語と共起する単語を示す。共起単語は、共起率と対応づけられる。たとえば、多義語「deep」が語義「knowledge」の意味で文章に登場する場合には、係る「deep」の前後で、単語「understanding」が共起する可能性が「４１％」である旨が示されている。
【００３８】
図２の説明に戻る。制御部１６０は、単語ベクトル演算部１６０ａと、グループベクトル演算部１６０ｂと、語義ベクトル演算部１６０ｃと、ベクトル判定部１６０ｄとを有する。制御部１６０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などによって実現できる。また、制御部１６０は、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００３９】
単語ベクトル演算部１６０ａは、skip-gramに基づいて、テキストデータ１０に含まれる単語のベクトルを演算する処理部である。単語ベクトル演算部１６０ａは、単語と、単語のベクトルとを対応づけて、単語ベクトルテーブル１５０ｂに格納する。
【００４０】
図９は、単語ベクトル演算部の処理の一例を説明するための図である。ここでは、入力するテキストデータ１０に含まれる文章を「I  want  to  eat  an  apple  everyday」とし、この文章に含まれる単語「eat」のベクトルを演算するものとする。
【００４１】
単語ベクトル演算部１６０ａは、与えられた単語「eat」および共起単語の確率をネットワークで学習する。たとえば、ネットワークは、入力層５ａ、隠れ層５ｂ、出力層５ｃを含む。入力層５ａに単語を入力すると、隠れ層５ｂに設定された特徴量に応じて、入力された単語と共起する共起単語の共起確率が、出力層５ｃから出力される。
【００４２】
単語ベクトル演算部１６０ａは、複数の文章について、単語「eat」と共起する共起単語との関係から、隠れ層５ｂの特徴量が最適な値となるように、繰り返し学習を行う。たとえば、単語「eat」を、入力層５ａに入力し、文章「I  want  to  eat  an  apple  everyday」で、単語「eat」と共起する共起単語「apple」を出力層５ｃに入力して、隠れ層５ｂの特徴量を調整する。単語ベクトル演算部１６０ａは、他の複数の文章についても、同様の処理を繰り返し実行する（ステップＳ２０）。
【００４３】
単語ベクトル演算部１６０ａは、ステップＳ２０を繰り返し実行した結果、調整された、隠れ層５ｂの特徴量を、単語「eat」のベクトルとして特定する（ステップＳ２１）。図９のステップＳ２１では、隠れ層５ｂの特徴量が調整された結果、単語「eat」が入力層５ａに入力されると、出力層５ｃから共起単語（共起確率）「apple（0.4）」、「orange（（0.4）」、・・・、「network（0.01）」が出力される例を示している。
【００４４】
単語ベクトル演算部１６０ａは、他の単語に関しても、上記処理を繰り返し実行することで、ベクトルを演算する。
【００４５】
グループベクトル演算部１６０ｂは、単語ベクトルテーブル１５０ｂから単語を選択し、選択した単語のベクトルと、選択した単語の類語のベクトルとを基にして、グループベクトルを演算する処理部である。以下において、グループベクトル演算部１６０ｂの処理の一例について説明する。
【００４６】
グループベクトル演算部１６０ｂは、選択した単語と、類語辞書テーブル１５０ａとを比較して、選択した単語に対応する類語識別番号を判定する。グループベクトル演算部１６０ｂは、判定した類語識別番号に対応する類語を類語辞書テーブル１５０ａから取得する。グループベクトル演算部１６０ｂは、取得した類語のベクトルを、単語ベクトルテーブル１５０ｂから取得する。以下の説明では、適宜、選択した単語とその類語をまとめて類語と表記する。グループベクトル演算部１６０ｂは、類義識別番号、類語、ベクトルを対応づけて、類語テーブル１５０ｄに登録する。
【００４７】
グループベクトル演算部１６０ｂは、同一の類語識別番号に対応する類語のベクトルを基にして、かかる類語識別番号のグループベクトルを演算する。図１０は、グループベクトル演算部の処理を説明するための図である。図１０では、類語を「birth、nativity、nascency、birthing、childbirth、genesis」とし、グループベクトル演算部１６０ｂは、この類語のグループベクトルを演算する場合について説明する。
【００４８】
図１０のステップＳ３０について説明する。グループベクトル演算部１６０ｂは、類語「birth、nativity、nascency、birthing、childbirth、genesis」のベクトル「Vbirth、V  nativity、Vnascency、Vbirthing、Vchildbirth、Vgenesis」を、単語ベクトルテーブル１５０ｂから取得する。
【００４９】
図１０のステップＳ３１について説明する。グループベクトル演算部１６０ｂは、各ベクトル「Vbirth、Vnativity、Vnascency、Vbirthing、Vchildbirth、Vgenesis」を基に、メッシュ５１〜５４を生成する。メッシュ５１は、ベクトル「Vbirth、Vnativity、Vgenesis」からなるメッシュである。メッシュ５２は、ベクトル「Vnativity、Vchildbirth、Vgenesis」からなるメッシュである。メッシュ５３は、ベクトル「Vnativity、Vnascency、Vchildbirth」からなるメッシュである。メッシュ５４は、ベクトル「Vnascency、Vbirthing、Vchildbirth」からなるメッシュである。
【００５０】
グループベクトル演算部１６０ｂは、メッシュ５１〜５４の法線ベクトル５１ａ〜５４ａをそれぞれ算出する。たとえば、グループベクトル演算部１６０ｂは、式（１）に基づいて、ベクトルν０、ν１、ν２からなるメッシュの法線ベクトルＮを算出する。図１１は、ベクトルと法線ベクトルとの関係を示す図である。
【００５１】
法線ベクトルＮ＝（ν１−ν０）×（ν２−ν０）／｜（ν１−ν０）×（ν２−ν０）｜・・・（１）
【００５２】
図１０のステップＳ３２について説明する。グループベクトル演算部１６０ｂは、法線ベクトル５１ａ〜５４ａを合算することで、グループベクトルＶ１．１を演算する。グループベクトル演算部１６０ｂは、法線ベクトル５１ａ〜５４ａを合算したベクトルを、正規化して、グループベクトルＶ１．１を生成しても良い。グループベクトル演算部１６０ｂは、演算したグループベクトルを、該当する類語識別番号と対応づけて、類語テーブル１５０ｄに登録する。たとえば、グループベクトル演算部１６０ｂは、類語識別番号「１．１」と対応づけて、グループベクトルＶ１．１を、類語テーブル１５０ｄに登録する。
【００５３】
グループベクトル演算部１６０ｂは、他の単語についても、上記Ｓ３０〜Ｓ３２の処理を実行することで、単語に対応するグループベクトルを演算し、類語テーブル１５０ｄに登録する。グループベクトル演算部１６０ｂは、類語テーブル１５０ｄと、多義語テーブル１５０ｅとを比較して、類語識別番号に対応づけて、グループベクトルを、多義語テーブル１５０ｅに登録する。
【００５４】
なお、図７で説明した、多義語テーブル１５０ｅの多義語、語義数、語義、類語識別番号、解説番号、語義コードは、予め設定されているものとする。多義語テーブル１５０ｅのグループベクトルの情報は、上記のように、グループベクトル演算部１６０ｂに登録される。多義語テーブル１５０ｅの語義ベクトルの情報は、後述する語義ベクトル演算部１６０ｃに登録される。
【００５５】
語義ベクトル演算部１６０ｃは、単語の語義に対応する語義ベクトルを演算する処理部である。以下において、語義ベクトル演算部１６０ｃの処理の一例について説明する。語義ベクトル演算部１６０ｃは、多義語テーブル１５０ｅを参照し、語義ベクトルの演算対象となる、単語と語義との組を選択する。ここでは一例として、単語「deep」の語義「KNOWLEDGE」の語義ベクトルを演算する場合について説明する。
【００５６】
語義ベクトル演算部１６０ｃは、多義語テーブル１５０ｅを参照し、多義語（単語）「deep」と語義「KNOWLEDGE」に対応するグループベクトルVdeep_KNOWLEDGEを取得する。
【００５７】
語義ベクトル演算部１６０ｃは、英英／国語辞書テーブル１５０ｃを参照し、単語「deep」と語義「KNOWLEDGE」に対応する解説文から、特徴単語を抽出する。たとえば、語義ベクトル演算部１６０ｃは、語義「KNOWLEDGE」の解説文「showing  great  knowledge  or  understanding」から、特徴単語「great、knowledge、understanding」を抽出する。
【００５８】
語義ベクトル演算部１６０ｃは、解説文に含まれる単語のうち、グループベクトルの生成もとの類語と同一の単語を、特徴単語から除外する。語義ベクトル演算部１６０ｃは、解説文に含まれる単語のうち、冠詞、接続詞を除外する。語義ベクトル演算部１６０ｃは、解説文に含まれる単語のうち、showing等の予め定められた、定型単語を除外する。たとえば、語義ベクトル演算部１６０ｃは、解説文に含まれる単語のうち、除外対象とならない単語を、特徴単語として抽出する。
【００５９】
語義ベクトル演算部１６０ｃは、特徴単語「great、knowledge、understanding」と、単語ベクトルテーブル１５０ｂとを比較して、各特徴単語のベクトルを取得する。語義ベクトル演算部１６０ｃは、各特徴単語のベクトルを基にして、法線ベクトルを算出し、算出した法線ベクトルと、単語「deep」のグループベクトルV920.17とを合算することで、語義ベクトルVdeep_KNOWLEDGEを演算する。係る処理は、図１のステップＳ１２に示した処理に対応する。
【００６０】
語義ベクトル演算部１６０ｃは、多義語「deep」の語義「KNOWLEDGE」に対応する語義ベクトル「Vdeep_KNOWLEDGE」を、多義語テーブル１５０ｅに登録する。語義ベクトル演算部１６０ｃは、多義語「deep」の他の語義、他の多義語の各語義についても、上記に対応する処理を繰り返し実行することで、語義ベクトルを演算し、多義語テーブル１５０ｅに登録する。
【００６１】
ベクトル判定部１６０ｄは、ベクトルの演算対象となる文字列を取得した場合に、取得した文字列に含まれる各単語のベクトルを判定する。たとえば、ベクトル判定部１６０ｄは、文字列「You  should  try  to  gain  a  deep  understanding  of  the  problem.」等を受け付け、かかる文字列に含まれる各単語のベクトルを判定する。ここでは一例として、単語「deep」の語義ベクトルを判定する場合について説明する。
【００６２】
ベクトル判定部１６０ｄは、単語「deep」と、語義判定テーブル１５０ｆとを比較して、文字列「You  should  try  to  gain  a  deep  understanding  of  the  problem.」における、単語「deep」の語義を判定する。たとえば、ベクトル判定部１６０ｄは、単語「deep」の後ろに、共起単語「understanding」が出現しているため、単語「deep」の語義を「KNOWLEDGE」と判定する。
【００６３】
ベクトル判定部１６０ｄは、単語「deep」の語義を「KNOWLEDGE」に対応する語義ベクトルを、多義語テーブル１５０ｅから取得し、単語「deep」に割り当てる。
【００６４】
次に、本実施例に係る語義ベクトル生成装置１００の処理手順の一例について説明する。図１２は、語義ベクトルを算出する処理を示すフローチャートである。図１２に示すように、語義ベクトル生成装置１００の単語ベクトル演算部１６０ａは、テキストデータ１０に含まれる各単語のベクトルを演算し、単語ベクトルテーブル１５０ｂに登録する（ステップＳ１０１）。
【００６５】
語義ベクトル生成装置１００のグループベクトル演算部１６０ｂは、テキストデータ１０に含まれる複数の単語からベクトル演算の対象となる単語を選択する（ステップＳ１０２）。グループベクトル演算部１６０ｂは、類語辞書テーブル１５０ａを基にして、選択した単語の類語を判定する（ステップＳ１０３）。
【００６６】
グループベクトル演算部１６０ｂは、各類語のベクトルを、単語ベクトルテーブル１５０ｂから取得する（ステップＳ１０４）。グループベクトル演算部１６０ｂは、各類語のベクトルを基にして、グループベクトルを演算する（ステップＳ１０５）。
【００６７】
語義ベクトル生成装置１００の語義ベクトル演算部１６０ｃは、語義ベクトルの演算対象となる単語および語義を選択する（ステップＳ１０６）。語義ベクトル演算部１６０ｃは、英英／国語辞書テーブル１５０ｃを参照し、語義に対応する解説文を基にして、特徴単語を抽出する（ステップＳ１０７）。
【００６８】
語義ベクトル演算部１６０ｃは、特徴単語のベクトルを基にして、単語のグループベクトルを補正することで、語義ベクトルを生成する（ステップＳ１０８）。語義ベクトル演算部１６０ｃは、語義ベクトルを、多義語テーブル１５０ｅに登録する（ステップＳ１０９）。
【００６９】
図１３は、単語に対応する語義ベクトルを判定する処理を示すフローチャートである。図１３に示すように、語義ベクトル生成装置１００のベクトル判定部１６０ｄは、テキストデータ１０に含まれる複数の単語から、単語を選択する（ステップＳ２０１）。
【００７０】
ベクトル判定部１６０ｄは、語義判定テーブル１５０ｆを基にして、単語の語義を判定する（ステップＳ２０２）。ベクトル判定部１６０ｄは、単語および語義と、多義語テーブル１５０ｅとを基にして、語義ベクトルを判定する（ステップＳ２０３）。
【００７１】
次に、本実施例に係る語義ベクトル生成装置１００の効果について説明する。語義ベクトル生成装置１００は、対象の単語のベクトルおよび単語の類語のベクトルを合算したグループベクトルを、対象の語義の解説文に含まれる特徴単語のベクトルによって補正することで、対象の単語の語義ベクトルを生成する。このため、同一の単語であっても、単語の語義に適合した語義ベクトルを語義毎に生成することができる。従って、語義ベクトルの語義への適合性を向上することができる。
【００７２】
語義ベクトル生成装置１００は、対象の単語のベクトルおよび単語の類語のベクトルに基づく法線ベクトルを合算することで、グループベクトルを算出するため、対象の単語および類語を代表するベクトルを精度良く算出できる。
【００７３】
語義ベクトル生成装置１００は、対象の単語の語義に対応する説明文に含まれる特徴単語のベクトルと、グループベクトルとを基にして、対象の単語の語義ベクトルを生成するため、語義ベクトルを精度良く算出することができる。
【００７４】
語義ベクトル生成装置１００は、ベクトルの特定対象となる対象単語を受け付けた場合に、対象単語の語義を判定し、多義語テーブル１５０ｅを基にして、対象単語の語義ベクトルを特定する。このため、単語の語義に応じたベクトルを特定することができる。
【００７５】
ここで、本実施例で説明した語義ベクトル生成装置１００と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図１４は、語義ベクトル生成装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
【００７６】
図１４に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０１と、ユーザからのデータの入力を受け付ける入力装置２０２と、ディスプレイ２０３とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読み取る読み取り装置２０４と、無線ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置２０５とを有する。また、コンピュータ２００は、各種情報を一時記憶するＲＡＭ２０６と、ハードディスク装置２０７とを有する。そして、各装置２０１〜２０７は、バス２０８に接続される。
【００７７】
ハードディスク装置２０７は、単語ベクトル演算プログラム２０７ａ、グループベクトル演算プログラム２０７ｂ、語義ベクトル演算プログラム２０７ｃ、ベクトル判定プログラム２０７ｄを有する。ＣＰＵ２０１は、単語ベクトル演算プログラム２０７ａ、グループベクトル演算プログラム２０７ｂ、語義ベクトル演算プログラム２０７ｃ、ベクトル判定プログラム２０７ｄを読み出してＲＡＭ２０６に展開する。
【００７８】
単語ベクトル演算プログラム２０７ａは、単語ベクトル演算プロセス２０６ａとして機能する。グループベクトル演算プログラム２０７ｂは、グループベクトル演算プロセス２０６ｂとして機能する。語義ベクトル演算プログラム２０７ｃは、語義ベクトル演算プロセス２０６ｃとして機能する。ベクトル判定プログラム２０７ｄは、ベクトル判定プロセス２０６ｄとして機能する。
【００７９】
単語ベクトル演算プロセス２０６ａの処理は、単語ベクトル演算部１６０ａの処理に対応する。グループベクトル演算プロセス２０６ｂの処理は、グループベクトル演算部１６０ｂの処理に対応する。語義ベクトル演算プロセス２０６ｃの処理は、語義ベクトル演算部１６０ｃの処理に対応する。ベクトル判定プロセス２０６ｄの処理は、ベクトル判定部１６０ｄの処理に対応する。
【００８０】
なお、各プログラム２０７ａ〜２０７ｄについては、必ずしも最初からハードディスク装置２０７に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ２００が各プログラム２０７ａ〜２０７ｄを読み出して実行するようにしても良い。
【００８１】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８２】
（付記１）テキストデータに含まれる複数の単語のベクトルを取得し、
語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出し、
取得した前記複数の単語のベクトルのうち、抽出した前記単語のベクトルに基づき、前記いずれかのグループに応じたベクトルを生成し、
複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した前記複数の単語のベクトルのうち、抽出した前記単語のいずれかの語義の説明に含まれる単語のベクトルを特定し、
特定した前記ベクトルと、生成した前記ベクトルとに基づき、前記いずれかの語義に応じたベクトルを生成する
処理をコンピュータに実行させることを特徴とする語義ベクトル生成プログラム。
【００８３】
（付記２）前記いずれかのグループに応じたベクトルを生成する処理は、第１の単語のベクトルと、前記第１の単語の類語となる複数の第２の単語のベクトルとに基づく法線ベクトルを算出することで、前記第１の単語と前記複数の第２の単語とのグループのベクトルを生成することを特徴とする付記１に記載の語義ベクトル生成プログラム。
【００８４】
（付記３）前記単語のベクトルを特定する処理は、前記第１の単語の第１の語義の説明に含まれる複数の第３の単語のベクトルを特定し、前記いずれかの語義に応じたベクトルを生成する処理は、前記第１の単語と前記複数の第２の単語とのグループのベクトルと、前記複数の第３の単語のベクトルとを基にして、前記第１の単語の前記第１の語義に応じたベクトルを生成することを特徴とする付記２に記載の語義ベクトル生成プログラム。
【００８５】
（付記４）単語と、前記単語の語義と、前記語義に応じたベクトルとを対応づけて記憶部に記憶し、ベクトルの特定対象となる対象単語を受け付けた場合に、前記対象単語の語義を判定し、判定結果および前記記憶部とを基にして、前記対象単語のベクトルを特定する処理を更に実行させることを特徴とする付記１に記載の語義ベクトル生成プログラム。
【００８６】
（付記５）コンピュータが実行する語義ベクトル生成方法であって、
テキストデータに含まれる複数の単語のベクトルを取得し、
語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出し、
取得した前記複数の単語のベクトルのうち、抽出した前記単語のベクトルに基づき、前記いずれかのグループに応じたベクトルを生成し、
複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した前記複数の単語のベクトルのうち、抽出した前記単語のいずれかの語義の説明に含まれる単語のベクトルを特定し、
特定した前記ベクトルと、生成した前記ベクトルとに基づき、前記いずれかの語義に応じたベクトルを生成する
処理を実行することを特徴とする語義ベクトル生成方法。
【００８７】
（付記６）前記いずれかのグループに応じたベクトルを生成する処理は、第１の単語のベクトルと、前記第１の単語の類語となる複数の第２の単語のベクトルとに基づく法線ベクトルを算出することで、前記第１の単語と前記複数の第２の単語とのグループのベクトルを生成することを特徴とする付記５に記載の語義ベクトル生成方法。
【００８８】
（付記７）前記単語のベクトルを特定する処理は、前記第１の単語の第１の語義の説明に含まれる複数の第３の単語のベクトルを特定し、前記いずれかの語義に応じたベクトルを生成する処理は、前記第１の単語と前記複数の第２の単語とのグループのベクトルと、前記複数の第３の単語のベクトルとを基にして、前記第１の単語の前記第１の語義に応じたベクトルを生成することを特徴とする付記６に記載の語義ベクトル生成方法。
【００８９】
（付記８）単語と、前記単語の語義と、前記語義に応じたベクトルとを対応づけて記憶部に記憶し、ベクトルの特定対象となる対象単語を受け付けた場合に、前記対象単語の語義を判定し、判定結果および前記記憶部とを基にして、前記対象単語のベクトルを特定する処理を更に実行させることを特徴とする付記５に記載の語義ベクトル生成方法。
【００９０】
（付記９）テキストデータに含まれる複数の単語のベクトルを取得する単位ベクトル演算部と、
語義の類似性が基準を満たす複数の単語を該複数の単語のグループに対応づけて記憶する記憶部を参照して、いずれかのグループに含まれる単語を抽出し、取得した前記複数の単語のベクトルのうち、抽出した前記単語のベクトルに基づき、前記いずれかのグループに応じたベクトルを生成するグループベクトル演算部と、
複数の語義を含む単語の各語義の説明を該単語に対応づけて記憶する記憶部を参照して、取得した前記複数の単語のベクトルのうち、抽出した前記単語のいずれかの語義の説明に含まれる単語のベクトルを特定し、特定した前記ベクトルと、生成した前記ベクトルとに基づき、前記いずれかの語義に応じたベクトルを生成する語彙ベクトル演算部と
を有することを特徴とする語義ベクトル生成装置。
【００９１】
（付記１０）前記グループベクトル演算部は、第１の単語のベクトルと、前記第１の単語の類語となる複数の第２の単語のベクトルとに基づく法線ベクトルを算出することで、前記第１の単語と前記複数の第２の単語とのグループのベクトルを生成することを特徴とする付記９に記載の語義ベクトル生成装置。
【００９２】
（付記１１）前記語彙ベクトル演算部は、前記第１の単語の第１の語義の説明に含まれる複数の第３の単語のベクトルを特定し、前記いずれかの語義に応じたベクトルを生成する処理は、前記第１の単語と前記複数の第２の単語とのグループのベクトルと、前記複数の第３の単語のベクトルとを基にして、前記第１の単語の前記第１の語義に応じたベクトルを生成することを特徴とする付記１０に記載の語義ベクトル生成装置。
【００９３】
（付記１２）前記語彙ベクトル演算部は、単語と、前記単語の語義と、前記語義に応じたベクトルとを対応づけて記憶部に記憶し、
ベクトルの特定対象となる対象単語を受け付けた場合に、前記対象単語の語義を判定し、判定結果および前記記憶部とを基にして、前記対象単語のベクトルを特定するベクトル判定部を更に有することを特徴とする付記９に記載の語義ベクトル生成装置。
【符号の説明】
【００９４】
１００    語義ベクトル生成装置
１６０ａ  単語ベクトル演算部
１６０ｂ  グループベクトル演算部
１６０ｃ  語義ベクトル演算部
１６０ｄ  ベクトル判定部
【図１】
2019012455.tif 000003
【図２】
2019012455.tif 000004
【図３】
2019012455.tif 000005
【図４】
2019012455.tif 000006
【図５】
2019012455.tif 000007
【図６】
2019012455.tif 000008
【図７】
2019012455.tif 000009
【図８】
2019012455.tif 000010
【図９】
2019012455.tif 000011
【図１０】
2019012455.tif 000012
【図１１】
2019012455.tif 000013
【図１２】
2019012455.tif 000014
【図１３】
2019012455.tif 000015
【図１４】
2019012455.tif 000016