JP7006402B2 - クラスタリングプログラム、クラスタリング方法およびクラスタリング装置 - Google Patents

クラスタリングプログラム、クラスタリング方法およびクラスタリング装置 Download PDF

Info

Publication number
JP7006402B2
JP7006402B2 JP2018046864A JP2018046864A JP7006402B2 JP 7006402 B2 JP7006402 B2 JP 7006402B2 JP 2018046864 A JP2018046864 A JP 2018046864A JP 2018046864 A JP2018046864 A JP 2018046864A JP 7006402 B2 JP7006402 B2 JP 7006402B2
Authority
JP
Japan
Prior art keywords
vector
words
clustering
learning
word
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
JP2018046864A
Other languages
English (en)
Other versions
JP2019159918A (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 JP2018046864A priority Critical patent/JP7006402B2/ja
Priority to US16/290,659 priority patent/US11144724B2/en
Publication of JP2019159918A publication Critical patent/JP2019159918A/ja
Application granted granted Critical
Publication of JP7006402B2 publication Critical patent/JP7006402B2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、クラスタリングプログラム、クラスタリング方法およびクラスタリング装置に関する。
従来から、文書処理を実現する上で単語の意味を如何に表現するかが重要であることから、one-hot表現を実現するBag of Wordsや単語の意味的な距離を考慮した表現であるDistributed Representationなどが利用されている。近年では、単語間の意味的な関係をベクトルで表現する分散表現が利用されており、単語を分散表現する技術としては、単語の共起関係と次元圧縮を同時に実現した仕組みであるWord2Vecや文中に現れる単語を入力して周囲の単語を予測するSkip-gramモデルなどが知られている。
特開2001-331515号公報 国際公開第2011/118723号 特開2013-020431号公報
しかしながら、上記技術では、多義語の分散表現の精度がよくない。例えば、Word2Vecなどの技術は、単語の意味を考慮しない単語の表記である表層に関する分散表現であるため、多義語については、単語の多義性を考慮しない分散表現が得られる。一方、単語の多義性を考慮し、多義語の表記を書き換えて区別して学習させることにより分散表現を得ることができるが、多義語の分離をどのように進めるかを判断することは難しい。
一つの側面では、多義語の分散表現の精度を向上させることができるクラスタリングプログラム、クラスタリング方法およびクラスタリング装置を提供することを目的とする。
第1の案では、クラスタリングプログラムは、ベクトル空間における単語の分散表現を生成するクラスタリングプログラムであって、学習開始段階において、複数の単語それぞれの前記ベクトル空間におけるベクトル値を記録する処理をコンピュータに実行させる。クラスタリングプログラムは、学習後の段階において、前記複数の単語それぞれの前記ベクトル空間でのベクトル値を記録する処理をコンピュータに実行させる。クラスタリングプログラムは、前記複数の単語の、学習前後のベクトル値の変化状況に基づき、前記複数の単語をクラスタリングする処理をコンピュータに実行させる。クラスタリングプログラムは、クラスタリング結果に基づき、前記複数の単語に含まれる多義語に対し、語義ごとに分離したベクトルを生成する処理をコンピュータに実行させる。
一つの側面では、多義語の分散表現の精度を向上させることができるクラスタリングプログラム、クラスタリング方法およびクラスタリング装置を提供することを目的とする。
図1は、実施例1にかかるクラスタリング装置を説明する図である。 図2は、実施例1にかかる学習手法を説明する図である。 図3は、実施例1にかかるクラスタリング装置の機能構成を示す機能ブロック図である。 図4は、文書DBに記憶される情報の例を示す図である。 図5は、生成される辞書と対応表の例を示す図である。 図6は、w1のs1による移動ベクトルの算出例を説明する図である。 図7は、各文書から算出したw1の移動ベクトルを説明する図である。 図8は、クラスタリング結果を説明する図である。 図9は、クラスタリング処理の流れを示すフローチャートである。 図10は、起点が1つの場合の精度劣化を説明する図である。 図11は、ハードウェア構成例を示す図である。
以下に、本願の開示するクラスタリングプログラム、クラスタリング方法およびクラスタリング装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせることもできる。
[クラスタリング装置の説明]
図1は、実施例1にかかるクラスタリング装置を説明する図である。図1に示すように、クラスタリング装置は、多義性がある単語(多義語)を含む文書から単語を抽出し、各文書を使った単語の分散表現の学習過程で、分散表現の移動ベクトルをクラスタリングするコンピュータ装置の一例である。
一般的に、単語の多義性を考慮したコンテキスト(共起する単語のBag of words)のクラスタリングでは、単語の類似性を考慮せずクラスタリングするため、多義性の判別精度が高くない。例えば、単語の多義性や同一性を考慮して、単語の表層自体を書き換え、クラスタリングを行う方法も考えられるが、異なる単語の距離(差異)は類似性を考慮されないので、暖かいと温かい、温かいと寒いなどの距離は一律となる。一方、単語の類似性を考慮するために、一旦Word2Vecや特異値分解を使って分散表現を獲得したのちに、コンテキストのクラスタリングを実行することも考えられるが、この方法で獲得した分散表現は同一単語の多義性を考慮したものとはならない。
このように、多義性と類似性を同時に考慮しつつコンテキストをクラスタリングすることが望まれている。そこで、実施例1にかかるクラスタリング装置は、単語ごとに以下の処理を実行する。クラスタリング装置は、分散表現の空間で起点を決定し、初期状態を使って、学習器のパラメータを設定する。その後、クラスタリング装置は、各単語を入力文書毎に学習を行い、学習前後の分散表現の差異から移動ベクトルを求め、移動ベクトルをクラスタリングする。
例えば、クラスタリング装置は、必要に応じてイテレーションを回し、起点から分散表現を動かす。ここで、クラスタリング装置は、単語Aが果物と会社の2つの意味を有する場合、学習の過程で果物と会社の2つの方向に移動しながら学習する。すなわち、クラスタリング装置は、分散表現の学習過程における次元圧縮したベクトル空間を使うことで類似性を考慮し、その学習過程で移動する方向に注目することで多義性を考慮する。この結果、クラスタリング装置は、多義語の分散表現の精度を向上させることができる。
次に、クラスタリング装置が実行する学習手法の一例を説明する。クラスタリング装置は、Word2Vecなどの様々な公知の学習手法を採用することができるが、実施例1では、文中に現れる単語を入力して周囲の単語を予測する学習モデルであるSkip-gramモデルを用いる例で説明する。図2は、実施例1にかかる学習手法を説明する図である。図2に示すように、クラスタリング装置の学習器は、V次元one-hotベクトルをInput Layerに入力し、それを一旦N次元(N<V)のHidden layerに写像したのち、C個のword(それぞれV次元)の単語ベクトルをOutput Layerから出力する。
ここで、学習器は、想定した出力ベクトルと違っていれば、その差分を学習するように、バックプロパゲーションなどの手法を用いてパラメタフィッティングを行う。そして、各単語の出力されるV次元ベクトルのうち最も大きい要素を予測した単語とし、実際に予測したい単語との差異を埋めるように重み(W)の学習が進み、学習過程を通じて得られた隠れ層のベクトルが入力ベクトルに対応する分散表現となる。なお、図2に示すxは入力ベクトルであり、y1jなどは出力ベクトルであり、WV×Nは入力層(Input Layer)から隠れ層(Hidden layer)への重みであり、W´N×Vは隠れ層(Hidden layer)から出力層(Output Layer)への重みである。
[機能構成]
図3は、実施例1にかかるクラスタリング装置10の機能構成を示す機能ブロック図である。図3に示すように、クラスタリング装置10は、通信部11、記憶部12、制御部20を有する。
通信部11は、他の装置の間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、管理者端末から処理の開始指示や文書データなどを受信し、クラスタリング結果などを指定端末に送信する。
記憶部12は、プログラムやデータを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部12は、文書DB13とクラスタリング結果DB14を記憶する。
文書DB13は、学習用の文書を記憶するデータベースである。具体的には、文書DB13は、多義語を含む複数の単語を有する複数の文書を記憶する。図4は、文書DB13に記憶される情報の例を示す図である。図4に示すように、文書DB13は、文書IDが割当てられた複数の文書を記憶する。図4の例では、文書IDが「s1」の文書は「I cut an apple in the table.」であることを示す。
クラスタリング結果DB14は、クラスタリング結果を記憶するデータベースである。具体的には、クラスタリング結果DB14は、後述する制御部20によって生成された、文書のクラスタリングを記憶する。なお、詳細は後述するので、ここでは省略する。
制御部20は、クラスタリング装置10全体を司る処理部であり、例えばプロセッサなどである。この制御部20は、抽出部21、起点決定部22、学習部23、移動ベクトル算出部24、分類部25、ベクトル生成部26を有する。なお、抽出部21、起点決定部22、学習部23、移動ベクトル算出部24、分類部25、ベクトル生成部26は、プロセッサが有する電子回路の一例やプロセッサが実行するプロセスの一例である。なお、起点決定部22は、第1記録部の一例であり、学習部23は、第2記録部の一例であり、移動ベクトル算出部24および分類部25は、分類部の一例であり、ベクトル生成部26は、生成部の一例である。
抽出部21は、文書DB13に記憶される各文書から単語を抽出し、単語の辞書と各単語を含む文書の一覧を生成する処理部である。図4に示した例で説明すると、抽出部21は、各文書を読み出して形態素解析を実行して単語を抽出する。このとき、抽出部21は、英語文書などの場合、過去形などの変化形を正規形にして抽出する。続いて、抽出部21は、s1の文書の先頭から参照していき、単語を抽出して、登場する順で単語に識別子(単語ID)を付与する。
図4の例では、まず、抽出部21は、s1の「I」を抽出して単語ID「w1」を付与し、次にs1の「cut」を抽出して単語ID「w2」を付与し、s1の「an」を抽出して単語ID「w3」を付与し、s1の「apple」を抽出して単語ID「w4」を付与し、s1の「on」を抽出して単語ID「w5」を付与し、s1の「the」を抽出して単語ID「w6」を付与し、s1の「table」を抽出して単語ID「w7」を付与する。続いて、抽出部21は、s2の先頭の「I」を読み出すが既に抽出済みであることから対象外とし、次にs2の「use」を抽出して単語ID「w8」を付与する。
このようにして、抽出部21は、各文書で重複する単語は抽出の対象外としつつ、各文書から単語を抽出して辞書を生成する。その後、抽出部21は、各単語を含む文書の一覧を生成する。例えば、抽出部21は、単語ID「w1」の単語「I」がs1、s2、s3の各文書に含まれることから、「w1」と「s1、s2、s3」とを対応付け、単語ID「w2」の単語「cut」がs1の文書のみに含まれることから、「w2」と「s1」とを対応付ける。
上述した手法で生成された辞書と対応付けを図5に示す。図5は、生成される辞書と対応表の例を示す図である。図5に示すように、抽出部21は、各文書から抽出した単語の辞書dicとして、「dic={w1:I,w2:cut,w3:an,・・・}」などを生成する。また、抽出部21は、各単語と文書との対応表であるword_sentenceとして{w1:[s1,s2,s3,s4]、w2:[s2]、・・・}を生成する。そして、抽出部21は、辞書dicと対応表word_sentenceとを、起点決定部22等の他の処理部へ出力する。
起点決定部22は、学習前後のベクトル値の変化状況を示す移動ベクトルを作成する際のベクトル空間の起点を単語ごとに決定する処理部である。具体的には、起点決定部22は、抽出部21によって生成された辞書dic内の各単語w1、w2、w3などのそれぞれに対して、学習初期値となる起点を決定する。
例えば、起点決定部22は、次元数を3とした場合に、すべての要素が0のベクトルであるゼロベクトルを起点とし、それに準ずるWV×NとW´N×Vを設定する。具体的には、起点決定部22は、initial_h_w1=(0.0,0.0,0.0)を起点とし、WV×Nはw1の入力ベクトルxとの掛け算の結果initial_h_w1になるようにパラメータを設定し、W´N×Vは隠れ層からの入力ベクトルとの掛け算の結果initial_h_w1になるようにパラメータを設定する。
別の手法としては、起点決定部22は、ランダムに生成したベクトルを起点とし、それに準ずるWV×NとW´N×Vを設定することもできる。例えば、起点決定部22は、ランダムに選択したinitial_h_w1=(0.13,-0.64,1.55)を起点とし、WV×Nはw1の入力ベクトルxとの掛け算の結果initial_h_w1になるようにパラメータを設定し、W´N×Vは隠れ層からの入力ベクトルとの掛け算の結果initial_h_w1になるようにパラメータを設定する。また、別の手法としては、起点決定部22は、word2vecで学習したベクトルを起点とし、それに準ずるWV×NとW´N×Vを設定することもできる。
このようにして、起点決定部22は、各単語について、起点および重みを決定して学習部23に出力する。なお、実施例1では、単語w1について、ランダムに生成したinitial_h_w1=(0.13,-0.64,1.55)を起点に設定した例で説明する。
学習部23は、各単語においてその単語を含む文章を使って起点からその単語の分散表現を移動させる処理部である。すなわち、学習部23は、起点決定部22によって決定された起点、文書から生成されるskip-gramのyベクトル、文書から生成されるskip-gramのxベクトルを入力として、skip-gramを用いて予め定めた所定回数だけ学習させる。上記例では、学習部23は、単語w1の分散表現を、文書s1を入力としてskip-gramを使って移動させる。
例えば、学習部23は、文書s1を用いて単語w1を学習させる場合、起点「initial_h_w1=(0.13,-0.64,1.55)」、skip-gramのyベクトル「y_w1=(0,1,1,1,1,1,1,0,・・・)」、skip-gramのxベクトル「x_w1=(1,0,0,0,・・・)」を入力として、skip-gramを用いた学習を3回実行し、単語w1の学習後のベクトル「learned_h_w1_s1:(0.24,-1.56,3.77)」を取得する。そして、学習部23は、単語w1を文書s1で学習した結果として、起点「initial_h_w1=(0.13,-0.64,1.55)」と学習結果「learned_h_w1_s1:(0.24,-1.56,3.77)」とを移動ベクトル算出部24に出力する。
このようにして、学習部23は、各単語を、当該単語を含む各文書で学習し、その学習前後のベクトルを取得して、移動ベクトル算出部24に出力する。例えば、図5の対応表を例にして説明すると、学習部23は、単語w1については、文書s1、s2、s3などのそれぞれで学習して分散表現hを取得し、単語w2については、文書s1のみで学習して分散表現hを取得する。
移動ベクトル算出部24は、各単語について、起点のベクトルと学習後のベクトルから、学習前後の分散表現の差異である移動ベクトルを算出する処理部である。図6は、w1のs1による移動ベクトルの算出例を説明する図である。移動ベクトル算出部24は、単語w1の起点となるベクトル「initial_h_w1=(0.13,-0.64,1.55)」と、単語w1の学習後のベクトル「learned_h_w1_s1:(0.24,-1.56,3.77)」との差分「0.11,-0.92,2.22」を、単語w1の文書s1による移動ベクトル「diff_h_w1_s1」として算出して、分類部25に出力する。
このようにして、移動ベクトル算出部24は、各単語について、当該単語を含む各文書を用いた学習を実行した後に、各文書による各移動ベクトルを算出する。上記単語w1を一例にして説明する。図7は、各文書から算出したw1の移動ベクトルを説明する図である。単語w1は、文書s1、s2、s3、s4それぞれに含まれることから、文書s1、s2、s3、s4それぞれを入力とする学習が行われて、文書s1、s2、s3、s4それぞれに対する移動ベクトルが算出される。このため、図7に示すように、単語w1の移動ベクトルの集合「diff_h_w1」は、文書s1を用いた移動ベクトル[s1:(0.11,-0.92,2.22)]、文書s2を用いた移動ベクトル[s2:(0.21,-1.32,3.22)]、文書s3を用いた移動ベクトル[s3:(0.19,-3.92,1.22)]、文書s4を用いた移動ベクトル[s4:(0.12,-0.93,2.23)]を含むこととなる。
分類部25は、複数の単語の学習前後のベクトル値の変化状況に基づき、複数の単語をクラスタリングする処理部である。具体的には、分類部25は、移動ベクトル算出部24によって算出された各単語の移動ベクトル間の距離を、公知のクラスタリング技術を用いて算出し、距離が閾値以下となる、距離が近い移動ベクトルを同じクラスタに分類する。
図8は、クラスタリング結果を説明する図である。図8の(a)は、単語w1の移動ベクトルの集合「diff_h_w1={s1:(0.11,-0.92,2.22)}、{s2:(0.21,-1.32,3.22)}、{s3:(0.19,-3.92,1.22)}、{s4:(0.12,-0.93,2.23)}」が入力されて、各移動ベクトル間の距離それぞれ距離が閾値以下となった例を示している。この場合、分類部25は、各移動ベクトルを同じクラスタに分類し、「cluster_h_w1={cluster1:(s1,s2,s3,s4)}」を生成する。
この例では、分類部25は、単語w1が1つのクラスタに分類されたので、意味が1つであると推定する。そして、分類部25は、s1,s2,s3,s4の各文書に登場する単語w1には同じ単語ラベルを付与する。例えば、単語w1が「I」である場合、分類部25は、s1,s2,s3,s4の各文書に登場する「I」に単語ラベル「w1_1」などを付与する。例を挙げると、「s1:I cut an apple in the table」に対して、「s1:I_1 cut an apple in the table」などと単語ラベルが付与される。
また、図8の(b)は、単語w4のクラスタリング結果「cluster_h_w4={cluster1:(s1,s10,s103)}、{cluster2:(s2,s3,s36,s58)}」を示している。この例では、分類部25は、単語w4が2つのクラスタに分類されたので、意味が2つであると推定する。そして、分類部25は、クラスタ1のs1,s10,s103の各文書に登場する単語w4には同じ単語ラベルを付与し、クラスタ2のs2,s3,s36,s58の各文書に登場する単語w4にはクラスタ1とは異なる単語ラベルを付与する。例えば、単語w4が「cut」である場合、分類部25は、s1,s10,s103の各文書に登場する「cut」に単語ラベル「w4_1」などを付与し、s2,s3,s36,s58の各文書に登場する「cut」に単語ラベル「w4_2」などを付与する。
例を挙げると、上記クラスタ1のs1については「s1:I_1 cut an apple in the table」に対しては、「s1:I_1 cut_1 an apple in the table」などと単語ラベルが付与され、クラスタ2の「s3:AAAcompany cut 3000 employees.」に対しては、「s3:AAAcompany cut_2 3000 employees.」などと単語ラベルが付与される。
ベクトル生成部26は、クラスタリング結果に基づき、複数の単語に含まれる多義語に対し、語義ごとに分離したベクトルを生成する処理部である。例えば、ベクトル生成部26は、クラスタに含まれる複数の移動ベクトルによってクラスタの範囲を決定することもできる。上記例で説明すると、ベクトル生成部26は、「cluster_h_w1={cluster1:(s1,s2,s3,s4)}」と決定された場合、このクラスタの要素の集合「diff_h_w1={s1:(0.11,-0.92,2.22)}、{s2:(0.21,-1.32,3.22)}、{s3:(0.19,-3.92,1.22)}、{s4:(0.12,-0.93,2.23)}」の各移動ベクトルで囲まれる範囲を、単語w1の意味の範囲と決定することができる。
また、ベクトル生成部26は、クラスタに含まれる複数の移動ベクトルから重心を算出して、当該重心に該当するベクトルを単語の意味の平均ベクトルと決定することもできる。上記例で説明すると、ベクトル生成部26は、「cluster_h_w4={cluster1:(s1,s10,s103)}、{cluster2:(s2,s3,s36,s58)}」と決定された場合、このクラスタ1の要素の集合の各移動ベクトルの重心を算出し、単語w4の第1の意味の基準値と決定するとともに、このクラスタ2の要素の集合の各移動ベクトルの重心を算出し、単語w4の第2の意味の基準値と決定することもできる。
なお、ラベルが付与された文書を用いて、単語の類似性および多義性を考慮した、分散表現の学習を実行することもできる。また、ベクトル生成部26が生成した各ベクトルを用いて、多義語の分散表現の学習などを実行することもできる。
[処理の流れ]
図9は、クラスタリング処理の流れを示すフローチャートである。図9に示すように、クラスタリング装置10の抽出部21は、文書DB13に記憶される各文書から単語を抽出し、単語の辞書を生成するとともに(S101)、と各単語を含む文書の一覧である対応表を生成する(S102)。
続いて、起点決定部22は、単語を1つ選択し(S103)、予め定めた手法を用いて起点を決定する(S104)。その後、学習部23は、S103で選択された単語を含む文書を1つ選択し(S105)、起点決定部22は、起点に設定されたベクトルと、それに準ずる重みを生成して、初期分散表現を生成する(S106)。
そして、学習部23は、起点、文書から生成されるskip-gramのyベクトル、文書から生成されるskip-gramのxベクトルを入力として、skip-gramを用いて予め定めた所定回数だけ学習を実行し(S107)、学習後の分散表現を取得する(S108)。
その後、移動ベクトル算出部24は、学習前後の分散表現を用いて、単語の移動ベクトルを算出する(S109)。そして、S103で選択された単語を含む文書が他にも存在する場合(S110:Yes)、S105以降を繰り返す。
一方、S103で選択された単語を含む文書が他に存在しない場合(S110:No)、分類部25は、S103で選択された単語を含む全文書分の移動ベクトル、すなわち、各文書を用いて算出された各移動ベクトルを抽出し(S111)、各移動ベクトル間の距離などを用いてクラスタリングを実行する(S112)。
そして、分類部25は、クラスタリング結果にしたがって、同一クラスタリングでは同じラベルであって、異なるクラスタリングでは異なるラベルである、単語ラベルを生成して各文書に付与する(S113)。
その後、未処理の単語がある場合は(S114:Yes)、S103以降が繰り返され、未処理の単語がない場合は(S114:No)、クラスタリング処理が終了する。
[効果]
上述したように、クラスタリング装置10は、各文章を使った単語の分散表現の学習過程で、分散表現の移動ベクトルをクラスタリングすることができる。そして、クラスタリング装置10は、各単語における移動ベクトルをクラスタリングし、意味の数を推定することで、多義語の異なる意味ごとに異なるラベルを付与することができる。したがって、クラスタリング装置10は、全ての単語において分散表現の学習過程の移動ベクトルをクラスタリングすることで、精度の高い意味表現学習を実行することができ、多義語の分散表現の精度を向上させることができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[起点の設定]
上記実施例では、ランダムに設定した一つの起点を用いた例を説明したが、ランダムに起点を決める場合、学習過程の移動方向がはっきりせず、クラスタリングの精度が低下することも考えられる。図10は、起点が1つの場合の精度劣化を説明する図である。学習の過程で図10の(a)に示すように本来のベクトルを跨ぐように移動すると、意味Bを含む文章の移動がはっきりしなくなり、クラスタリングの精度が劣化する。また、図10の(b)に示すように、学習している単語の意味(意味A、意味B)が複数あって、それぞれのベクトルの直線上の同じ側に起点が設定されてしまうと、学習による移動方向が同一になるので、各単語が区別できなくなる。
そこで、クラスタリング装置10は、複数の起点を用意して各起点を用いた学習を実行し、クラスタリングが正常に実行できた結果を使うことで、精度向上を図ることができる。例えば、クラスタリング装置10は、1つの単語に対してランダムに設定した複数の起点を用意する。そして、クラスタリング装置10は、起点ごとに実施例1で説明した学習を実行して、起点ごとに移動ベクトルを算出する。
その後、クラスタリング装置10は、クラスタリングが成功した1つを採用することができる。また、クラスタリング装置10は、起点ごとの移動ベクトルの平均値を用いてクラスタリングを実行することもでき、クラスタリングが失敗した起点以外の移動ベクトルを用いて平均値を算出することもできる。
また、クラスタリング結果を用いてさらに学習することもできる。例えば、図8の(b)の場合、単語w4について、文書s1、s10、s103に含まれるとして再度学習し、さらに、単語w4について、文書s2、s3、s36、s58に含まれるとして再度学習する。このようにすることで、単語w4の意味を細分化することができる。また、単語w4の意味を細分化できるので、単語w4を含む文書を用いた他の単語についても新たなクラスタリングが期待でき、全体的なクラスタリングの精度の向上が期待できる。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、アイテムを表示する処理部と、選好を推定する処理部とを別々の筐体で実現することもできる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
図11は、ハードウェア構成例を示す図である。図11に示すように、クラスタリング装置10は、ネットワーク接続装置10a、入力装置10b、HDD(Hard Disk Drive)10c、メモリ10d、プロセッサ10eを有する。また、図11に示した各部は、バス等で相互に接続される。
ネットワーク接続装置10aは、ネットワークインタフェースカードなどであり、他のサーバとの通信を行う。入力装置10bは、マウスやキーボードなどであり、ユーザから各種指示などを受け付ける。HDD10cは、図3に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ10eは、図3に示した各処理部と同様の処理を実行するプログラムをHDD10c等から読み出してメモリ10dに展開することで、図3等で説明した各機能を実行するプロセスを動作させる。すなわち、このプロセスは、クラスタリング装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10eは、抽出部21、起点決定部22、学習部23、移動ベクトル算出部24、分類部25、ベクトル生成部26等と同様の機能を有するプログラムをHDD10c等から読み出す。そして、プロセッサ10eは、抽出部21、起点決定部22、学習部23、移動ベクトル算出部24、分類部25、ベクトル生成部26等と同様の処理を実行するプロセスを実行する。
10 クラスタリング装置
11 通信部
12 記憶部
13 文書DB
14 クラスタリング結果DB
20 制御部
21 抽出部
22 起点決定部
23 学習部
24 移動ベクトル算出部
25 分類部
26 ベクトル生成部

Claims (6)

  1. ベクトル空間における単語の分散表現を生成するクラスタリングプログラムであって、
    学習開始段階において、複数の単語それぞれの前記ベクトル空間におけるベクトル値を記録し、
    学習後の段階において、前記複数の単語それぞれの前記ベクトル空間でのベクトル値を記録し、
    前記複数の単語の、学習前後のベクトル値の変化状況に基づき、前記複数の単語をクラスタリングし、
    クラスタリング結果に基づき、前記複数の単語に含まれる多義語に対し、語義ごとに分離したベクトルを生成する、
    処理をコンピュータに実行させるクラスタリングプログラム。
  2. 複数の文書に含まれる単語について、前記ベクトル空間における起点を設定し、
    前記単語を含む前記複数の文書それぞれを入力として、学習によって前記起点から移動した移動後のベクトルを取得し、
    前記複数の文書それぞれを入力したときの前記起点と前記移動後のベクトルとの差分を移動ベクトルとして算出し、
    前記複数の文書それぞれの移動ベクトル間の距離に基づいて、前記複数の文書をクラスタリングする処理を前記コンピュータに実行させる請求項1に記載のクラスタリングプログラム。
  3. クラスタリングされた文書に含まれる前記単語について、同一のクラスタリングには同一のラベルであって、異なるクラスタリング間では異なるラベルである、単語ラベルを付与する処理を前記コンピュータに実行させる請求項2に記載のクラスタリングプログラム。
  4. 前記ベクトル空間でランダムに選択したベクトル、すべての要素がゼロであるゼロベクトル、または、予め定めた学習手法で学習して得られたベクトルを前記起点に設定する処理を前記コンピュータに実行させる請求項2に記載のクラスタリングプログラム。
  5. ベクトル空間における単語の分散表現を生成するクラスタリング方法であって、
    学習開始段階において、複数の単語それぞれの前記ベクトル空間におけるベクトル値を記録し、
    学習後の段階において、前記複数の単語それぞれの前記ベクトル空間でのベクトル値を記録し、
    前記複数の単語の、学習前後のベクトル値の変化状況に基づき、前記複数の単語をクラスタリングし、
    クラスタリング結果に基づき、前記複数の単語に含まれる多義語に対し、語義ごとに分離したベクトルを生成する、
    処理をコンピュータが実行するクラスタリング方法。
  6. ベクトル空間における単語の分散表現を生成するクラスタリング装置であって、
    学習開始段階において、複数の単語それぞれの前記ベクトル空間におけるベクトル値を記録する第1記録部と、
    学習後の段階において、前記複数の単語それぞれの前記ベクトル空間でのベクトル値を記録する第2記録部と、
    前記複数の単語の、学習前後のベクトル値の変化状況に基づき、前記複数の単語をクラスタリングする分類部と、
    クラスタリング結果に基づき、前記複数の単語に含まれる多義語に対し、語義ごとに分離したベクトルを生成する生成部と、
    を有するクラスタリング装置。
JP2018046864A 2018-03-14 2018-03-14 クラスタリングプログラム、クラスタリング方法およびクラスタリング装置 Active JP7006402B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018046864A JP7006402B2 (ja) 2018-03-14 2018-03-14 クラスタリングプログラム、クラスタリング方法およびクラスタリング装置
US16/290,659 US11144724B2 (en) 2018-03-14 2019-03-01 Clustering of words with multiple meanings based on generating vectors for each meaning

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018046864A JP7006402B2 (ja) 2018-03-14 2018-03-14 クラスタリングプログラム、クラスタリング方法およびクラスタリング装置

Publications (2)

Publication Number Publication Date
JP2019159918A JP2019159918A (ja) 2019-09-19
JP7006402B2 true JP7006402B2 (ja) 2022-01-24

Family

ID=67904044

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018046864A Active JP7006402B2 (ja) 2018-03-14 2018-03-14 クラスタリングプログラム、クラスタリング方法およびクラスタリング装置

Country Status (2)

Country Link
US (1) US11144724B2 (ja)
JP (1) JP7006402B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7519793B2 (ja) * 2020-03-19 2024-07-22 株式会社野村総合研究所 自然言語処理装置およびプログラム
US20220189333A1 (en) * 2020-12-11 2022-06-16 Iportfolio Inc. Method of generating book database for reading evaluation

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139708A (ja) 2004-11-15 2006-06-01 Ricoh Co Ltd テキストデータ類似度算出方法、テキストデータ類似度算出装置及びテキストデータ類似度算出プログラム
JP2009043197A (ja) 2007-08-10 2009-02-26 Olympus Corp 判別装置
JP2010182267A (ja) 2009-02-09 2010-08-19 Toshiba Corp コンテンツ分類装置、方法及びプログラム
JP2010198269A (ja) 2009-02-25 2010-09-09 Yahoo Japan Corp 意味ドリフトの発生評価方法及び装置
JP2011186735A (ja) 2010-03-08 2011-09-22 Mitsubishi Electric Corp 文書検索装置及び文書検索プログラム
CN103970729A (zh) 2014-04-29 2014-08-06 河海大学 一种基于语义类的多主题提取方法
US20160196258A1 (en) 2015-01-04 2016-07-07 Huawei Technologies Co., Ltd. Semantic Similarity Evaluation Method, Apparatus, and System
JP2017040522A (ja) 2015-08-19 2017-02-23 株式会社Screenホールディングス 教示支援方法および画像分類方法
JP6232607B1 (ja) 2017-05-29 2017-11-22 和之 白井 特許要件適否予測装置および特許要件適否予測プログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134532A (en) * 1997-11-14 2000-10-17 Aptex Software, Inc. System and method for optimal adaptive matching of users to most relevant entity and information in real-time
US6256629B1 (en) * 1998-11-25 2001-07-03 Lucent Technologies Inc. Method and apparatus for measuring the degree of polysemy in polysemous words
JP2001331515A (ja) 2000-05-23 2001-11-30 Sigmatics Inc 単語シソーラス構築方法及びコンピュータシステムに単語シソーラスの構築を行わせるためのコンピュータソフトウエアプログラム製品
JP2006048286A (ja) * 2004-08-03 2006-02-16 Sony Corp 情報処理装置および方法、並びにプログラム
US7917496B2 (en) * 2007-12-14 2011-03-29 Yahoo! Inc. Method and apparatus for discovering and classifying polysemous word instances in web documents
US9092422B2 (en) * 2009-12-30 2015-07-28 Google Inc. Category-sensitive ranking for text
JP5751251B2 (ja) 2010-03-26 2015-07-22 日本電気株式会社 意味抽出装置、意味抽出方法、および、プログラム
US8694565B2 (en) * 2011-06-16 2014-04-08 Microsoft Corporation Language integrated query over vector spaces
JP5754018B2 (ja) 2011-07-11 2015-07-22 日本電気株式会社 多義語抽出システム、多義語抽出方法、およびプログラム
US20130085745A1 (en) * 2011-10-04 2013-04-04 Salesforce.Com, Inc. Semantic-based approach for identifying topics in a corpus of text-based items
JP2013105309A (ja) * 2011-11-14 2013-05-30 Sony Corp 情報処理装置、情報処理方法、及びプログラム
JP5530020B1 (ja) * 2013-11-01 2014-06-25 株式会社日立パワーソリューションズ 異常診断システム及び異常診断方法
US9632999B2 (en) * 2015-04-03 2017-04-25 Klangoo, Sal. Techniques for understanding the aboutness of text based on semantic analysis
US10423891B2 (en) * 2015-10-19 2019-09-24 International Business Machines Corporation System, method, and recording medium for vector representation of words in a language
US9672207B2 (en) * 2015-10-19 2017-06-06 International Business Machines Corporation System, method, and recording medium for determining and discerning items with multiple meanings
US10599731B2 (en) * 2016-04-26 2020-03-24 Baidu Usa Llc Method and system of determining categories associated with keywords using a trained model
US10558747B2 (en) * 2016-11-03 2020-02-11 International Business Machines Corporation Unsupervised information extraction dictionary creation
JP6930180B2 (ja) * 2017-03-30 2021-09-01 富士通株式会社 学習装置、学習方法及び学習プログラム
US10223354B2 (en) * 2017-04-04 2019-03-05 Sap Se Unsupervised aspect extraction from raw data using word embeddings
US11048870B2 (en) * 2017-06-07 2021-06-29 International Business Machines Corporation Domain concept discovery and clustering using word embedding in dialogue design
US10593422B2 (en) * 2017-12-01 2020-03-17 International Business Machines Corporation Interaction network inference from vector representation of words

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006139708A (ja) 2004-11-15 2006-06-01 Ricoh Co Ltd テキストデータ類似度算出方法、テキストデータ類似度算出装置及びテキストデータ類似度算出プログラム
JP2009043197A (ja) 2007-08-10 2009-02-26 Olympus Corp 判別装置
JP2010182267A (ja) 2009-02-09 2010-08-19 Toshiba Corp コンテンツ分類装置、方法及びプログラム
JP2010198269A (ja) 2009-02-25 2010-09-09 Yahoo Japan Corp 意味ドリフトの発生評価方法及び装置
JP2011186735A (ja) 2010-03-08 2011-09-22 Mitsubishi Electric Corp 文書検索装置及び文書検索プログラム
CN103970729A (zh) 2014-04-29 2014-08-06 河海大学 一种基于语义类的多主题提取方法
US20160196258A1 (en) 2015-01-04 2016-07-07 Huawei Technologies Co., Ltd. Semantic Similarity Evaluation Method, Apparatus, and System
JP2017040522A (ja) 2015-08-19 2017-02-23 株式会社Screenホールディングス 教示支援方法および画像分類方法
JP6232607B1 (ja) 2017-05-29 2017-11-22 和之 白井 特許要件適否予測装置および特許要件適否予測プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
富田 準二、外2名,多義性を考慮した拡張固有表現のクラス判定手法,情報処理学会論文誌 論文誌トランザクション 2011(平成23)年度(2),日本,一般社団法人情報処理学会,2012年04月15日,第4巻,第4号,p.34-47
村田真樹 他4名,SENSEVAL2J辞書タスクでのCRLの取り組み,自然言語処理,日本,言語処理学会,2003年04月10日,第10巻第3号,115-133頁
菅原 拓夢、外3名,単語の分散表現を用いた語義曖昧性解消,言語処理学会第21回年次大会 発表論文集,日本,言語処理学会,2015年03月09日,p.648-651

Also Published As

Publication number Publication date
US20190286703A1 (en) 2019-09-19
US11144724B2 (en) 2021-10-12
JP2019159918A (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
EP3467723B1 (en) Machine learning based network model construction method and apparatus
US10891322B2 (en) Automatic conversation creator for news
CN109710744B (zh) 一种数据匹配方法、装置、设备及存储介质
US11954881B2 (en) Semi-supervised learning using clustering as an additional constraint
JP7529797B2 (ja) オンラインゲームのためのユーザ入力テキストの言語検出
Shams et al. A non-parametric LDA-based induction method for sentiment analysis
JP2012079286A (ja) 構造予測モデル学習装置、方法、プログラム、及び記録媒体
US11669740B2 (en) Graph-based labeling rule augmentation for weakly supervised training of machine-learning-based named entity recognition
US10198497B2 (en) Search term clustering
JP2019185551A (ja) アノテーション付テキストデータの拡張方法、アノテーション付テキストデータの拡張プログラム、アノテーション付テキストデータの拡張装置、及び、テキスト分類モデルの訓練方法
JP2006252333A (ja) データ処理方法、データ処理装置およびそのプログラム
JP2019159576A (ja) 学習プログラム、学習方法および学習装置
JP6633476B2 (ja) 属性推定装置、属性推定方法および属性推定プログラム
JP2022500808A (ja) 文生成方法と装置、電子機器及びプログラム
JP7006402B2 (ja) クラスタリングプログラム、クラスタリング方法およびクラスタリング装置
CN107765883A (zh) 输入法的候选词语的排序方法和排序设备
CN117252665B (zh) 业务推荐方法、装置、电子设备及存储介质
JP2018041300A (ja) 機械学習用モデル生成装置及びプログラム。
CN104376120B (zh) 一种信息检索方法及系统
CN113821687A (zh) 一种内容检索方法、装置和计算机可读存储介质
Wu et al. Multimodal affect models: An investigation of relative salience of audio and visual cues for emotion prediction
JP2012194691A (ja) 識別器の再学習方法、再学習のためのプログラム、及び画像認識装置
JP7099254B2 (ja) 学習方法、学習プログラム及び学習装置
CN114529007A (zh) 资源操作数据预测方法、预测模型训练方法及装置
JP5255484B2 (ja) クラスタリング距離学習装置およびそのプログラム、ならびに、クラスタリング装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211029

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: 20211207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211220

R150 Certificate of patent or registration of utility model

Ref document number: 7006402

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150