(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】
(43)【公開日】
(54)【発明の名称】推定装置、推定方法及びプログラム
(51)【国際特許分類】
【FI】
【審査請求】未請求
【請求項の数】6
【出願形態】
(21)【出願番号】
(22)【出願日】
(71)【出願人】
【識別番号】518135412
【氏名又は名称】株式会社リクルート
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【弁理士】
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】塩澤 繁
【テーマコード(参考)】
【Fターム(参考)】
5B091AB08
5B091AB11
5B091EA01
(57)【要約】 (修正有)
【課題】辞書を利用することなく特定の用語を抽出できる推定装置、方法及びブログラムを提供する。
【解決手段】分析装置と端末が、無線又は有線の通信ネットワークを介して接続され、相互に通信を行う文書分析システムにおいて、推定装置(分析装置)は、複数の文章の入力を受け付ける受付部と、複数の文章に含まれる、連続する複数の単語を含む単語群からNグラムを生成する生成部と、生成されたNグラムのうち隣接する2つのNグラム間の類似度を評価することで、複数の文章で用いられる特定の用語を推定する推定部と、を有する。
【選択図】
図3
【特許請求の範囲】
【請求項】
複数の文章の入力を受け付ける受付部と、
前記複数の文章に含まれる、連続する複数の単語を含む単語群からNグラムを生成する生成部と、
生成された前記Nグラムのうち隣接する2つのNグラム間の類似度を評価することで、前記複数の文章で用いられる特定の用語を推定する推定部と、を有する、
推定装置。
【請求項】
前記NグラムにおけるNの最大値は前記単語群に含まれる複数の単語の数であり、
前記推定部は、
Nの値をNの最大値から1つ減算したNグラムについて、隣接する2つのNグラム間の類似度が所定の閾値以上であるか否かを判定し、類似度が第1閾値以上である隣接する2つのNグラムが存在しない場合は、Nの値を更に1減算したNグラムについて、隣接する2つのNグラム間の類似度が所定の閾値以上であるか否かを判定する処理を、Nの値が1になるまで繰り返し行い、
隣接する2つのNグラム間の類似度が前記第1閾値以上であるNグラムが存在する場合、該隣接する2つのNグラムに対応する、Nの値が1つ大きいNグラムに含まれる単語を順に組み合わせた熟語を、前記特定の用語として推定する、
請求項1に記載の推定装置。
【請求項】
前記複数の文章の各々には、日付を示す情報が含まれており、
前記日付を示す情報に基づいて、前記複数の文章の中から、前記特定の用語を含む文章の数を、所定期間ごとに集計する集計部と、
前記集計部により集計された前記所定期間ごとの前記文章の数に基づいて、前記特定の用語を含む文章の数が増加する、時系列上の変化点を検出する検出部と、を含む、
請求項1又は2に記載の推定装置。
【請求項】
前記推定部は、推定した前記特定の用語が複数存在する場合、前記複数の特定の用語の各々の分散表現に基づいて類似度を評価することで、前記特定の用語のグループを推定し、
前記集計部は、前記日付を示す情報に基づいて、前記複数の文章の中から、前記特定の用語のグループのうち、少なくともいずれか1つの特定の用語を含む文章の数を、所定期間ごとに集計し、
前記検出部は、前記集計部により集計された前記所定期間ごとの前記文章の数に基づいて、前記特定の用語のグループのうち少なくともいずれか1つの特定の用語を含む文章の数が増加する、時系列上の変化点を検出する、
請求項3に記載の推定装置。
【請求項】
推定装置が行う推定方法であって、
複数の文章の入力を受け付けるステップと、
前記複数の文章に含まれる、連続する複数の単語を含む単語群からNグラムを生成するステップと、
生成された前記Nグラムのうち隣接する2つのNグラム間の類似度を評価することで、前記複数の文章で用いられる特定の用語を推定するステップと、を含む、
推定方法。
【請求項】
コンピュータに、
複数の文章の入力を受け付けるステップと、
前記複数の文章に含まれる、連続する複数の単語を含む単語群からNグラムを生成するステップと、
生成された前記Nグラムのうち隣接する2つのNグラム間の類似度を評価することで、前記複数の文章で用いられる特定の用語を推定するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【】
本発明は、推定装置、推定方法及びプログラムに関する。
【背景技術】
【】
現在、研究者が自由に論文を投稿することが可能なサービスが提供されている。研究者は、投稿された論文を自由に閲覧することができ、自身の研究に利用することができる。特許文献1には、ユーザが収集した論文に基づいて、研究に関するユーザの興味を特定することが可能な技術が開示されている。
【先行技術文献】
【特許文献】
【】
【発明の概要】
【発明が解決しようとする課題】
【】
投稿される論文の数は膨大であることから、注目されている最新技術をキャッチアップするために、ユーザが全ての論文を確認することは現実的ではない。そこで、最新技術に用いられる技術ワードを用いて論文を検索することで、確認する論文数を絞ることが考えられる。しかしながら、最新技術に用いられる技術ワードは辞書に掲載されておらず、かつユーザ自身も知らないことが多いため、技術ワードで論文を絞ること自体が困難である。なお、このような課題は、論文に限られず、書籍やオンライン文書等のあらゆる文章にも生じ得る。
【】
そこで、本発明は、複数の文章を分析することで、複数の文章で用いられる特定の用語を、辞書を利用することなく抽出することを可能とする技術を提供することを目的とする。
【課題を解決するための手段】
【】
本発明の一態様に係る推定装置は、複数の文章の入力を受け付ける受付部と、複数の文章に含まれる、連続する複数の単語を含む単語群からNグラムを生成する生成部と、生成されたNグラムのうち隣接する2つのNグラム間の類似度を評価することで、複数の文章で用いられる特定の用語を推定する推定部と、を有する。
【発明の効果】
【】
本発明によれば、複数の文章を分析することで、複数の文章で用いられる特定の用語を、辞書を利用することなく抽出することを可能とする技術を提供することができる。
【図面の簡単な説明】
【】
【図】文書分析システムの一例を示す図である。
【図】分析装置及び端末のハードウェア構成例を示す図である。
【図】分析装置の機能ブロック構成例を示す図である。
【図】分析装置が行う処理手順の一例を示すフローチャートである。
【図】技術ワードを推定する処理の一例を説明するための図である。
【図】端末に表示される、論文数及び変化点を示すグラフの一例を示す図である。
【発明を実施するための形態】
【】
添付図面を参照して、本発明の実施形態について説明する。なお、各図において、同一の符号を付したものは、同一又は同様の構成を有する。
【】
<システム構成>
図1は、文書分析システム1の一例を示す図である。文書分析システム1は、分析装置10と端末20とを含む。文書分析システム1に含まれる端末20の数には制限はない。分析装置10と端末20は、無線又は有線の通信ネットワークNを介して接続され、相互に通信を行うことができる。
【】
分析装置10は、インターネット等に公開されている多数の論文を分析することで、辞書を用いることなく、論文の中で用いられている技術ワード(特定の用語)を推定する。また、分析装置10は、推定した技術ワードが論文の中で使用される頻度の推移に基づいて、最新技術の流行の兆しを検出する。
【】
分析装置10は、1又は複数の物理的なサーバ等から構成されていてもよいし、ハイパーバイザー(hypervisor)上で動作する仮想的なサーバを用いて構成されていてもよいし、クラウドサーバを用いて構成されていてもよい。
【】
端末20は、分析装置10による推定結果を表示する装置である。端末20は、例えば、分析装置10により推定された最新の技術ワードが論文の中で使用されている頻度の推移を時系列で示したグラフ等を表示する。端末20は、パーソナルコンピュータ(PC)、ノートPC、スマートフォン、タブレット端末、携帯電話機、携帯情報端末(PDA)等である。
【】
<ハードウェア構成>
図2は、分析装置10及び端末20のハードウェア構成例を示す図である。分析装置10及び端末20は、CPU(Central Processing Unit)、GPU(Graphical processing unit)等のプロセッサ11、メモリ、HDD(Hard Disk Drive)及び/又はSSD(Solid State Drive)等の記憶装置12、有線又は無線通信を行う通信IF(Interface)13、入力操作を受け付ける入力デバイス14、及び情報の出力を行う出力デバイス15を有する。入力デバイス14は、例えば、キーボード、タッチパネル、マウス及び/又はマイク等である。出力デバイス15は、例えば、ディスプレイ、タッチパネル及び/又はスピーカ等である。
【】
<機能ブロック構成>
図3は、分析装置10の機能ブロック構成例を示す図である。分析装置10は、記憶部100と、受付部101と、生成部102と、推定部103と、集計部104と、検出部105と、学習部106とを含む。記憶部100は、分析装置10が備える記憶装置12を用いて実現することができる。また、受付部101と、生成部102と、推定部103と、集計部104と、検出部105と、学習部106とは、分析装置10のプロセッサ11が、記憶装置12に記憶されたプログラムを実行することにより実現することができる。また、当該プログラムは、記憶媒体に格納することができる。当該プログラムを格納した記憶媒体は、コンピュータ読み取り可能な非一時的な記憶媒体(Non-transitory computer readable medium)であってもよい。非一時的な記憶媒体は特に限定されないが、例えば、USBメモリ又はCD-ROM等の記憶媒体であってもよい。
【】
記憶部100は、論文DB110と、技術ワードの推定に用いられる技術ワード推定用モデルM110と、類似する技術ワードをグルーピングする際に用いられるグループ推定用モデルM120とを記憶する。論文DB110は、例えば、インターネット等から取得した論文データを格納するデータベースである。なお、論文DB110は、分析装置10が備える記憶装置12に格納されていてもよいし、分析装置10と通信可能な外部装置に格納されていてもよい。
【】
受付部101は、分析対象となる複数の論文(複数の文章)の入力を受け付ける。また、受付部101は、受け付けた複数の論文を、論文DB110に格納する。受付部101が受け付ける複数の論文の各々には、日付を示す情報が含まれている。当該日付を示す情報は、例えば、論文が投稿された年月日や、論文が作成された年月日であってもよい。
【】
生成部102は、分析対象となる複数の論文から得られる、連続する複数の単語を含む単語群からNグラム(N-gram)を生成する。
【】
本実施形態におけるNグラムとは、複数の単語を含む文章を、連続したN個の単語単位で分割することで生成される文字列である。また、Nが1の場合はユニグラム(Uni-gram)、Nが2の場合はバイグラム(Bi-gram)、Nが3の場合はトリグラム(Tri-gram)、Nが4の場合はフォーグラム(Four-gram)、Nが5の場合はファイブグラム(Five-gram)、Nが6の場合はシックスグラム(Six-gram)などと称する。生成部102は、単語群に含まれる単語数をnとした場合、1~nまでの複数のNグラムを生成する。
【】
推定部103は、生成されたNグラムのうち隣接する2つのNグラム間の類似度を評価することで、分析対象となる複数の論文で用いられる技術ワード(特定の用語)を推定する。また、推定部103は、推定した技術ワードが複数存在する場合、複数の技術ワードの各々の分散表現(ベクトル)に基づいて類似度を評価することで、類似する技術ワードをまとめたグループ(技術ワードのグループ)を推定する。
【】
集計部104は、分析対象となる複数の論文の中から、技術ワードを含む論文の数を所定期間ごとに集計する。また、集計部104は、分析対象となる複数の論文の中から、技術ワードのグループのうち、少なくともいずれか1つの技術ワードを含む論文の数を所定期間ごとに集計するようにしてもよい。
【】
検出部105は、集計部104により集計された所定期間ごとの論文の数に基づいて、技術ワードを含む論文の数が増加する、時系列上の変化点を検出する。また、検出部105は、集計部104により集計された所定期間ごとの論文の数に基づいて、技術ワードのグループのうち少なくともいずれか1つの技術ワードを含む論文の数が増加する、時系列上の変化点を検出するようにしてもよい。
【】
学習部106は、論文DB110に格納された論文データを用いて、技術ワード推定用モデルM110及びグループ推定用モデルM120を学習させる。
【】
<処理手順>
図4は、分析装置10が行う処理手順の一例を示すフローチャートである。以下、
図4を用いて、分析装置10が大量の論文データを読み込んで分析を行い、注目されている技術ワードを端末20の画面に表示するまでの一連の処理手順を説明する。
【】
ステップS10で、受付部101は、分析対象となる複数の論文の入力を受け付け、論文DB110に格納する。例えば、受付部101は、インターネット上で提供されている、研究者が論文を自由に投稿可能なサービスにアクセスし、過去(過去全てでもよいし、過去5年間など一部の期間であってもよい)に投稿された論文をダウンロードして論文DB110に格納するようにしてもよい。また、論文の全てをダウンロードして論文DB110に格納するのではなく、論文の要約(Abstract)部分のみ又は本文のみをダウンロードして論文DB110に格納するようにしてもよい。
【】
ステップS11で、生成部102は、論文DB110に格納されている論文データのうち、分析対象となる論文に含まれる各文章を、単語に分解する。例えば、生成部102は、日本語については形態素解析を行うことで単語に分解し、英語についてはスペースを単語の区切りとして認識する。
【】
ステップS12で、生成部102は、クレンジング処理を行うことで、不要な文字や単語(例えば冠詞、主語、接続詞、be動詞など)を削除し、技術ワードになり得る単語を残す。このとき、生成部102は、文章の中で、削除した文字や単語が存在していた部分で文章を区切り、区切られた部分に含まれる1又は複数の単語を含む単語群を認識できるようにしておく。また、各単語について語幹処理を行うことで、語尾が変化する動詞や形容詞等については語幹のみを残し、語幹以外の部分を消去する。
【】
ここで、「In this paper, we propose the simple Generative Adversarial Network model which allows long-range dependency modeling for image generation tasks.」という文章を例に、ステップS11及びステップS12の処理手順について具体例を説明する。
【】
まず、生成部102は、スペースと句読点(カンマ、ピリオド等)を単語の区切りとして認識することで、文章を単語に分解する。続いて、生成部102はクレンジング処理を行い、削除した文字や単語が存在していた部分を認識できるように区切り文字(説明の都合上「:」とする)を挿入する。これにより、生成部102は、文字列「paper : propose : simple Generative Adversarial Network model : allow long-range dependency modeling : image generation tasks」を出力する。
【】
続いて、生成部102は、語幹処理を行うことで語幹のみを残す。これにより、生成部102は、文字列「paper : propose : simple Gener Adversar Network model : allow long-range depend model : image gener task」を出力する。
【】
ステップS13で、推定部103は、技術ワードの推定を行う。ここで、推定部103は、ステップS12の処理手順で生成された文章のうち区切り文字で区切られた部分に1単語のみが含まれる部分については、当該1単語を技術ワードとして推定する。例えば、文字列「paper : propose : simple Generative Adversarial Network model : allow long-range dependency modeling : image generation tasks」について、推定部103は、「paper」及び「propose」は、技術ワードであると推定する。
【】
続いて、推定部103は、区切り文字で区切られた部分に複数の単語が含まれる単語群について、各単語が技術ワードなのか、若しくは複数の連続する単語からなる熟語が技術ワードなのかを推定する。まず、生成部102は単語群ごとにNグラムを生成する。
【】
以下、単語群「simple Generative Adversarial Network model」のNグラムを生成する例を説明する。当該単語群には5つの単語が含まれるため、生成部102は、1~5までの複数のNグラムを生成する。具体的には、ユニグラムについては、“simple”、“Generative”、“Adversarial”、“Network”、“model”という5つの文字列を生成する。バイグラムについては、“simple Generative”、“Generative Adversarial”、“Adversarial Network”、“Network model”という4つの文字列を生成する。トリグラムについては、“simple Generative Adversarial”、“Generative Adversarial Network”、“Adversarial Network model”という3つの文字列を生成する。フォーグラムについては、“simple Generative Adversarial Network”、“Generative Adversarial Network model”という2つの文字列を生成する。ファイブグラムについては、“simple Generative Adversarial Network model”という1つの文字列を生成する。
【】
続いて、推定部103は、生成されたNグラムを用いて技術ワードを推定する。推定部103は、Nの値をNの最大値から1つ減算したNグラムについて、隣接する2つのNグラム間(隣接するNグラムのペアと称してもよい)の類似度が所定閾値(第1閾値)以上であるか否かを判定する。類似度が所定閾値(第1閾値)以上である隣接する2つのNグラムが存在しない場合は、Nの値を更に1減算したNグラムについて、隣接する2つのNグラム間の類似度が所定閾値(第1閾値)以上であるか否かを判定する処理を、Nの値が1になるまで繰り返し行う。隣接する2つのNグラム間の類似度が所定閾値(第1閾値)以上であるNグラムが存在する場合、当該隣接する2つのNグラムに対応する、Nの値が1つ大きいNグラムに含まれる単語を順に組み合わせた熟語を、技術ワードとして推定する。
【】
なお、ユニグラムの場合、「隣接する2つのNグラム」とは、単語群の中で連続する2つの単語のペアであり、「隣接する2つのNグラムに対応する、Nの値が1つ大きいNグラムに含まれる単語を順に組み合わせた熟語」とは、当該連続する2つの単語からなる熟語である。バイグラム以上の場合、「隣接する2つのNグラム」とは、1≦p<n(pは、p+N≦nを満たす自然数、nは単語群に含まれる単語数)としたとき、単語群に含まれる単語のうちp番目から(p+N-1)番目までの連続する単語からなるNグラムと、(p+1)番目から(p+N)番目までの連続する単語からなるNグラムとのペアである。また、「隣接する2つのNグラムに対応する、Nの値が1つ大きいNグラムに含まれる単語を順に組み合わせた熟語」とは、p番目から(p+N)番目までの連続する単語からなるNグラムの熟語である。
【】
例えば、単語群“A B C D”(A~Dは単語を意味する)について、バイグラムの場合の「隣接する2つのNグラム」を求めるとする。この場合、n=4かつN=2であることから、p+2≦4を満たすpの値は1又は2である。なお、p+N≦nを満たすpの値が複数存在する場合、推定部103は、複数の値の各々について、隣接する2つのNグラム間の類似度が所定閾値(第1閾値)以上であるか否かを判定する。
【】
p=1とする場合、「隣接する2つのNグラム」は、1番目から(1+2-1)番目までの連続する単語と、(1+1)番目から(1+2)番目までの連続する単語、つまり、“A B”と“B C”になる。また、「隣接する2つのNグラムに対応する、Nの値が1つ大きいNグラムに含まれる単語を順に組み合わせた熟語」とは、1番目から(1+2)番目までの連続する単語、つまり、“A B C”になる。
【】
p=2とする場合、「隣接する2つのNグラム」は、2番目から(2+2-1)番目までの連続する単語と、(2+1)番目から(2+2)番目までの連続する単語、つまり、“B C”と“C D”になる。また、「隣接する2つのNグラムに対応する、Nの値が1つ大きいNグラムに含まれる単語を順に組み合わせた熟語」とは、2番目から(2+2)番目までの連続する単語、つまり、“B C D”になる。
【】
ここで、推定部103は、隣接する2つのNグラム間の類似度を、入力された2つの単語間の類似度を出力する技術ワード推定用モデルM110を用いて判定する。技術ワード推定用モデルM110は、論文DB110に格納されている論文データを用いて予め生成された、単語間の類似度を出力する学習済みモデルである。技術ワード推定用モデルM110は、例えば、word2vecと呼ばれる技術を用いて生成することが可能である。
【】
図3に示すように、本実施形態では、技術ワード推定用モデルM110には、ユニグラムの単語間の類似度を出力するユニグラムモデルM111、バイグラムの単語間の類似度を出力するバイグラムモデルM112、トリグラムの単語間の類似度を出力するトリグラムモデルM113、フォーグラムの単語間の類似度を出力するフォーグラムモデルM114が含まれる。なお、技術ワード推定用モデルM110に含まれる5つのモデルはあくまで一例であり、ファイブグラムモデルやシックスグラムモデルといったように、Nの値が更に大きいモデルも含まれていてもよい。
【】
ここで、バイグラムモデルM112の生成方法を説明する。当該モデルは、論文DB110に格納されている論文データの各文章について、ステップS11及びステップS12の処理手順で説明した処理を行い、各文章を2単語ごとに繋いだ文章を作成し、作成した文章をword2vecに学習させることで生成することができる。例えば、学習部106は、ステップS11及びステップS12の処理手順により出力された文章「paper propose simple Gener Adversar Network model allow long-range depend model image gener task」が存在する場合、文章「paper_propose propose_simple simple_Gener Gener_Adversari Adversari_Network Network_model model_allow allow_long-range long-range_dependency dependency_modeling modeling_image image_generation generation_task」を生成し、word2vecに学習させる。学習部106は、このような処理を、論文DB110に格納されている論文データに含まれる全文章について繰り返し行う。これにより、論文DB110に格納されている論文データに含まれる2単語を繋げたバイグラムについて分散表現(ベクトル)が定められることから、推定部103は、学習させたword2vecを用いることで、当該分散表現に基づいて2つのバイグラム間の類似度を評価することが可能になる。なお、word2vecは一例に過ぎず、分散表現に基づいて単語間の類似度を評価する技術であれば、どのような技術を利用することも可能である。
【】
図5は、技術ワードを推定する処理の一例を説明するための図である。
図5を用いて、推定部103が、単語群「simple gener adversarial network model」に存在する技術ワードを推定する場合の例を説明する。まず、推定部103は、単語群に含まれる単語数をnとした場合に、Nの値をnの最大値から1つ減算した値とするNグラムについて、隣接する2つのNグラム間の類似度が所定の閾値以上であるか否かを判定する。なお、
図5の例では、単語群に5つの単語が含まれるので、nの値は5である。
【】
まず、推定部103は、5から1を引いたフォーグラムについて、フォーグラムモデルM114を用いて、隣接するフォーグラムのペア、つまり“simple gener adversari network”及び“gener adversari network model”の間の類似度を推定する。類似度が所定閾値(第1閾値)以上である場合、推定部103は、これらのフォーグラムのペアの一つ上のファイブグラムの熟語(つまり、simple gener adversari network model)を、技術ワードとして推定する。
【】
一方、類似度が所定閾値(第1閾値)未満である場合、推定部103は、4から1を引いたトリグラムについて、トリグラムモデルM113を用いて、隣接するトリグラムのペア、つまり、“simple gener adversari”及び“gener adversari network”の間の類似度、並びに、“gener adversari network”及び“adversari network model”の間の類似度を推定する。
【】
もし、“simple gener adversari”及び“gener adversari network”の間の類似度が所定閾値(第1閾値)以上である場合、推定部103は、これらのトリグラムのペアの一つ上のフォーグラムの熟語(つまり、simple gener adversari network)を、技術ワードとして推定する。また、“gener adversari network”及び“adversari network model”の間の類似度が所定閾値(第1閾値)以上である場合、推定部103は、これらのトリグラムのペアの一つ上のフォーグラムの熟語(つまり、gener adversari network model)を、技術ワードとして推定する。なお、“simple gener adversari”及び“gener adversari network”の間の類似度、並びに、“gener adversari network”及び“adversari network model”の間の類似度の両方が所定閾値(第1閾値)以上である場合、推定部103は、類似度が高い方について、これらのトリグラムのペアの一つ上のフォーグラムの熟語を、技術ワードとして推定する。
【】
一方、いずれの類似度も所定閾値(第1閾値)未満である場合、推定部103は、3から1を引いたバイグラムについて、バイグラムモデルM112を用いて、隣接するバイグラムのペア、つまり、“simple gener”及び“gener adversari”の間の類似度、“gener adversari”及び“adversari network”の間の類似度、並びに、“adversari network”及び“network model”の間の類似度を推定する。これらの中に、類似度が所定閾値(第1閾値)以上である、隣接するバイグラムのペアが存在する場合、推定部103は、当該2つのバイグラムの一つ上のトリグラムの熟語を技術ワードとして推定する。もし、類似度が所定閾値(第1閾値)以上である、隣接するバイグラムのペアが複数存在する場合、推定部103は、最も類似度が大きいペアの一つ上のトリグラムの熟語を技術ワードとして推定する。
【】
一方、いずれの類似度も所定閾値(第1閾値)未満である場合、推定部103は、2から1を引いたユニグラムについて、ユニグラムモデルM111を用いて、隣接するユニグラムのペア、つまり、“simple”及び“gener”の間の類似度、“gener”及び“adversari”の間の類似度、“adversari”及び“network”の間の類似度、並びに、“network”及び“model”の間の類似度を推定する。これらの中に、類似度が所定閾値(第1閾値)以上である隣接するユニグラムのペアが存在する場合、推定部103は、当該ペアの一つ上のバイグラムの熟語を技術ワードとして推定する。もし、類似度が所定閾値(第1閾値)以上であるユニグラムのペアが複数存在する場合、推定部103は、最も類似度が大きいペアの一つ上のバイグラムの熟語を技術ワードとして推定する。
【】
一方、いずれの類似度も所定閾値(第1閾値)未満である場合、推定部103は、全てのユニグラム(つまり、simple, gener, adversari, network, model)を、技術ワードとして推定する。
【】
ステップS14で、推定部103は、ステップS13の処理手順で推定した技術ワードが複数存在する場合、複数の技術ワードの各々の分散表現(ベクトル)に基づいて類似度を評価することで、類似する技術ワードをまとめたグループ(技術ワードのグループ)を推定する。推定部103は、グループ推定用モデルM120を用いることで、グループの推定を行う。
【】
グループ推定用モデルM120は、例えば、論文DB110に格納されている論文データの各文章について、ステップS12及びステップS13の処理手順を行うとともに、ステップS14の処理手順で推定された熟語の技術ワードについてはアンダーバー等で結合することで一つの文字列になるように変換した文章を用意し、用意した文章をword2vecに学習させることで生成することができる。
【】
ここで、グループ推定用モデルM120の生成例を説明する。なお、ステップS14の処理手順で、“simple gener adversari”が熟語の技術ワードとして推定されたと仮定する。まず、生成部102は、ステップS11及びステップS12の処理手順を行うことで、文章「In this paper, we propose the simple Generative Adversarial Network model which allows long-range dependency modeling for image generation tasks.」を、文章「paper propose simple Gener Adversar Network model allow long-range depend model image gener task」に変換する。続いて、生成部102は、熟語の技術ワードに含まれる複数の単語をアンダーバーで結合することで、当該熟語が、word2vecにおいて一つの単語として認識されるようにする。具体的には、生成部102は、文章「paper propose simple_Gener_Adversari Network model allow long-range depend model image gener task」に変換する。続いて、学習部106は、変換された文章を、word2vecに学習させる。これにより、各技術ワードの分散表現(ベクトル)を求めることが可能となるため、2つの技術ワードを入力することで、2つの技術ワード間の類似度を出力することが可能な学習モデルを生成することができる。
【】
推定部103は、ステップS13の処理手順で推定された全ての技術ワードについて、2つの技術ワード間の類似度を総当たりで推定し、類似度が近い技術ワードの組み合わせを、技術ワードのグループとする。例えば、推定部103は、全ての組み合わせにおいて類似度が所定閾値(第2閾値)以上となる技術ワードの組み合わせを、技術ワードのグループとみなすようにしてもよい。例えば、“blockchain”、“smart contract”、“bitcoin”及び“ethereum”の4つの単語について、全ての組み合わせにおいて類似度が所定閾値(第2閾値)以上であった場合、推定部103は、“blockchain”、“smart contract”、“bitcoin”及び“ethereum”の4つの単語を、技術ワードのグループとみなすようにしてもよい。なお、技術ワードのグループを推定する方法はこれに限定されず、他のクラスタリング手法が用いられてもよい。
【】
ステップS15で、集計部104は、論文DB110に格納されている全論文について、技術ワードのグループのうち少なくともいずれか1つの技術ワードを含む論文の数を、各論文に含まれる日付を示す情報(ここでは投稿日とする)に基づいて、技術ワードのグループごとかつ所定期間ごとに集計する。例えば、“blockchain”、“smart contract”、“bitcoin”及び“ethereum”の4つの単語からなる技術ワードのグループが存在する場合、これらの単語の少なくともいずれか1つを含む論文を検索し、検索された論文に含まれる投稿日を用いて、所定期間(例えば1ヵ月間隔)に論文数を集計する。これにより、例えば、上記技術ワードのグループを含む論文の投稿数は、2015年1月は5件、2015年2月は7件、2015年3月は10件、2015年4月は20件といったデータを得ることができる。
【】
続いて、検出部105は、集計部104により集計された所定期間ごとの論文の数に基づいて、技術ワードのグループのうち少なくともいずれか1つの技術ワードを含む論文の数が増加する、時系列上の変化点を検出する。検出部105は、例えば、Change finder等の既知の変化点検出アルゴリズムを用いることで、時系列上の変化点を検出するようにしてもよいし、月別の論文数の比(例えば前月比20%上昇)に基づいて時系列上の変化点を検出するようにしてもよい。検出部105は、これらに限定されず、どのような方法で変化点を検出するようにしてもよい。
【】
図6は、端末20に表示される、論文数及び変化点を示すグラフの一例を示す図である。
図6(a)は、ある特定の技術ワードのグループのうち少なくともいずれか1つの技術ワードを含む論文の数の変化を示すグラフである。縦軸は論文投稿数であり、横軸は年月である。
図6(b)は、
図6(a)に示す論文投稿数に基づいて算出された変化点のスコアを示す。
図6(b)において、急激にスコアが大きくなる箇所が変化点である。
図6(b)によれば、2018年6月頃と、2018年9月頃に、論文投稿数が大きく変化していることが示されている。
【】
以上説明した処理手順において、ステップS14の処理手順は省略されてもよい。技術ワードによっては、必ずしもグループ化する必要が無い場合も想定されるためである。ステップS14の処理手順が省略される場合、ステップS15の処理手順で、集計部104は、論文DB110に格納されている全論文について、技術ワードを含む論文の数を、各論文に含まれる日付を示す情報に基づいて、技術ワードごとかつ所定期間ごとに集計するようにしてもよい。また、検出部105は、集計部104により集計された所定期間ごとの文章の数に基づいて、技術ワードを含む文章の数が増加する、時系列上の変化点を検出するようにしてもよい。
【】
<まとめ>
以上説明した実施形態によれば、分析装置10は、分析対象の論文からNグラムを生成し、隣接するNグラム間の類似度を評価するようにした。これにより、複数の論文で用いられる最新の技術ワードを、辞書を利用することなく抽出することが可能になる。また、分析装置10は、類似する技術ワードのグループを推定し、推定した技術ワードのグループのうち少なくともいずれか1つの技術ワードが論文の中で使用される頻度の推移に基づいて、最新技術の流行の兆しを検出するようにした。最新の技術ワードは、名前が一意に定まっていないケースが多々存在するが、類似する技術ワードを考慮して論文数をカウントすることで、最新技術の流行の兆しをより適切に検出することが可能になる。
【】
以上説明した実施形態では、分析装置10が投稿された論文を分析する前提で説明したが、本実施形態はこれに限定されない。本実施形態は、論文に限定されず、様々な文章の分析に適用することが可能である。
【】
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態で説明したフローチャート、シーケンス、実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【符号の説明】
【】
1…文書分析システム、10…分析装置、11…プロセッサ、12…記憶装置、13…通信IF、14…入力デバイス、15…出力デバイス、20…端末、100…記憶部、101…受付部、102…生成部、103…推定部、104…集計部、105…検出部、106…学習部
【図】
【図】
【図】
【図】
【図】
【図】