(57)【要約】【課題】自然言語を対象とした学習モデルを決定する最適なハイパーパラメータを提供する。【解決手段】プロセッサとメモリを含んで自然言語処理により文書集合の学習を行う最適化装置であって、予め設定されたグループデータに基づいて所定の条件を満たすハイパーパラメータを決定し、当該決定したハイパーパラメータで学習モデルを生成し、当該学習モデルから高次元ベクトルを取得する最適化部と、解析対象の単語または文書の前記高次元ベクトルを前記グループデータに基づいて変換する高次元可視化部と、を有する。【選択図】図１４
2019128634.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリを含んで自然言語処理により文書集合の学習を行う最適化装置であって、
予め設定されたグループデータに基づいて所定の条件を満たすハイパーパラメータを決定し、当該決定したハイパーパラメータで学習モデルを生成し、当該学習モデルから高次元ベクトルを取得する最適化部と、
解析対象の単語または文書の前記高次元ベクトルを前記グループデータに基づいて変換する高次元可視化部と、を有することを特徴とする最適化装置。
【請求項２】
請求項１に記載の最適化装置であって、
前記最適化部は、
前記ハイパーパラメータを生成し、前記学習モデルの評価に用いる単語または文書を取得し、前記ハイパーパラメータを使用した学習により学習モデルを生成し、前記生成したモデルと前記モデルの評価に用いる単語または文書を用いて精度の評価を行うことを特徴とする最適化装置。
【請求項３】
請求項１に記載の最適化装置であって、
前記高次元可視化部は、
可視化ハイパーパラメータを生成し、前記生成した可視化ハイパーパラメータを使用して、高次元ベクトルを２次元または３次元の低次元ベクトルに変換し、前記低次元ベクトルに対して精度評価を行い、最も高い精度であった可視化結果を提示することを特徴とする最適化装置。
【請求項４】
請求項３に記載の最適化装置であって、
前記高次元可視化部は、
前記学習に用いた文書集合や辞書または高次元ベクトルや前記低次元ベクトルを考察要素に用いるデータとして用いて、前記可視化結果または高次元ベクトルの結果に対して考察を行うための考察要素を提示することを特徴とする最適化装置。
【請求項５】
請求項２に記載の最適化装置であって、
前記最適化部は、
前記精度の評価を、単語間の距離に基づいてスコアを算出し、当該スコアが最小となる学習モデルのハイパーパラメータを、前記所定の条件を満たすハイパーパラメータとして決定することを特徴とする最適化装置。
【請求項６】
請求項４に記載の最適化装置であって、
前記高次元可視化部は、
前記考察要素に用いるデータを読み込んで、前記データに含まれる単語についてクラスタリングを行った結果を前記考察要素として出力することを特徴とする最適化装置。
【請求項７】
プロセッサとメモリを含む計算機が、自然言語処理により文書集合の学習を行う際のハイパーパラメータの最適化方法であって、
前記計算機が、予め設定されたグループデータに基づいて所定の条件を満たすハイパーパラメータを決定し、当該決定したハイパーパラメータで学習モデルを生成し、当該学習モデルから高次元ベクトルを取得する第１のステップと、
前記計算機が、解析対象の単語または文書の前記高次元ベクトルを前記グループデータに基づいて変換する第２のステップと、
を含むことを特徴とするハイパーパラメータの最適化方法。
【請求項８】
請求項７に記載のハイパーパラメータの最適化方法であって、
前記第１のステップは、
前記ハイパーパラメータを生成し、前記学習モデルの評価に用いる単語または文書を取得し、前記ハイパーパラメータを使用した学習により学習モデルを生成し、前記生成したモデルと前記モデルの評価に用いる単語または文書を用いて精度の評価を行うことを特徴とするハイパーパラメータの最適化方法。
【請求項９】
請求項７に記載のハイパーパラメータの最適化方法であって、
前記第２のステップは、
可視化ハイパーパラメータを生成し、前記生成した可視化ハイパーパラメータを使用して、高次元ベクトルを２次元または３次元の低次元ベクトルに変換し、前記低次元ベクトルに対して精度評価を行い、最も高い精度であった可視化結果を提示することを特徴とするハイパーパラメータの最適化方法。
【請求項１０】
請求項９に記載のハイパーパラメータの最適化方法であって、
前記第２のステップは、
前記学習に用いた文書集合や辞書または高次元ベクトルや前記低次元ベクトルを考察要素に用いるデータとして用いて、前記可視化結果または高次元ベクトルの結果に対して考察を行うための考察要素を提示することを特徴とするハイパーパラメータの最適化方法。
【請求項１１】
請求項８に記載のハイパーパラメータの最適化方法であって、
前記第１のステップは、
前記精度の評価を、単語間の距離に基づいてスコアを算出し、当該スコアが最小となる学習モデルのハイパーパラメータを、前記所定の条件を満たすハイパーパラメータとして決定することを特徴とするハイパーパラメータの最適化方法。
【請求項１２】
請求項１０に記載のハイパーパラメータの最適化方法であって、
前記第２のステップは、
前記考察要素に用いるデータを読み込んで、前記データに含まれる単語についてクラスタリングを行った結果を前記考察要素として出力することを特徴とするハイパーパラメータの最適化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語を用いた学習結果を最適化する技術に関する。
【背景技術】
【０００２】
機械学習技術は、ヘルスケアや金融、産業などさまざまな分野で蓄積されたデータの解析に対して、新しい社会価値を創出する技術として注目されている。
【０００３】
自然言語処理における学習は、文書集合に含まれる単語や文章ごとに高次元のベクトルなどの数値に変換する。単語や文章間の関係性が数値に変換されることにより、コンピュータにおいても自然言語を処理可能となる。
【０００４】
自然言語処理における学習では、複数のハイパーパラメータが存在する。自然言語処理における学習のハイパーパラメータとは、Bag of WordsやWord to Vecといったアルゴリズムの種類、および各アルゴリズムにおいてモデルを決定するために必要なパラメータを指す。
【０００５】
ハイパーパラメータを変更すると、異なるモデルが生成される。学習対象である文書集合を変更することによっても、異なるモデルが生成される。どのハイパーパラメータの組み合わせが最適であるかの検証は、以下の様に行われる。
【０００６】
単語を学習した場合で説明を行う。まず、予め複数の単語対を用意しておく。例えば、greatとgreater、taughとtaugherなど比較級の単語対や、brotherとsister、JapanとTokyoなど反対の意味や国の名前と都市の名前など、関係性がある単語を対にする。生成したモデルに対して、greatの単語ベクトルとgreaterの単語ベクトルを引き算し、taugherの単語ベクトルを足し算した結果が、学習した全単語中でどの単語と最も近いかを探し、taughであれば正解、とする。
【０００７】
本計算を各単語対に対して繰り返し、モデルの精度を算出する。頻繁に使用される単語であれば、単語対を大量に用意し、最も精度のよいハイパーパラメータの組み合わせを探索することにより、単語の関係性を正しく学習したモデルを取得することが可能である（例えば、非特許文献１）。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean著、“Efficient Estimation of Word Representations in Vector Space”、２０１３年９月７日、ICLR 2013.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ヘルスケアや金融、産業などの業界で使われる専門性の高い単語については、単語対または文章対を作成することは容易ではない。つまり、専門性の高い文書集合を対象とした場合における、より高精度なモデルの精度検証方法が必要である可能性がある。
【００１０】
本発明は、自然言語を対象とした学習におけるモデル決定のためのハイパーパラメータ探索において、類似する意味や類似する表現を含む単語や文章をまとめた複数個のグループを生成し、グループ内における各高次元のベクトル同士の距離が最小となるようなモデルを生成可能にするハイパーパラメータを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、プロセッサとメモリを含んで自然言語処理により文書集合の学習を行う最適化装置であって、予め設定されたグループデータに基づいて所定の条件を満たすハイパーパラメータを決定し、当該決定したハイパーパラメータで学習モデルを生成し、当該学習モデルから高次元ベクトルを取得する最適化部と、解析対象の単語または文書の前記高次元ベクトルを前記グループデータに基づいて変換する高次元可視化部と、を有する。
【発明の効果】
【００１２】
本発明によれば、文書集合に対し、専門性の高い用語においても高精度な高次元ベクトルを生成可能となるハイパーパラメータを選択することが可能となる。これにより、学習する文書集合の専門性に適した基準で最適なモデルを得ることが可能となり、当該最適なモデルにより生成される各単語の高次元ベクトルを最適な低次元空間に変換し、各単語に対して解釈に役立つ情報を提示することが期待できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例を示し、最適化装置の構成の一例を示すブロック図である。
【図２】本発明の実施例を示し、最適化装置で稼働するソフトウェアの一例を示すブロック図である。
【図３】本発明の実施例を示し、文書解釈部の一例を示すブロック図である。
【図４】本発明の実施例を示し、最適化部の一例を示すブロック図である。
【図５】本発明の実施例を示し、高次元可視化部の一例を示すブロック図である。
【図６】本発明の実施例を示し、最適化装置で行われる処理の一例を示すフローチャートである。
【図７】本発明の実施例を示し、最適化部の処理の一例を示すフローチャートである。
【図８】本発明の実施例を示し、最適化の繰り返し回数の決定方法の一例を説明する図である。
【図９】本発明の実施例を示し、図７のステップＳ７０４で行われるスコアの算出処理の一例を説明する図である
【図１０】本発明の実施例を示し、単語選択部で行われる処理の一例を示すフローチャートである。
【図１１】本発明の実施例を示し、高次元可視化部で行われる処理の一例を示すフローチャートである。
【図１２Ａ】本発明の実施例を示し、高次元可視化部が提供する可視化ハイパーパラメータ探索の一例を示す図である。
【図１２Ｂ】本発明の実施例を示し、高次元可視化部が提供する可視化ハイパーパラメータ探索の一例を示す図である。
【図１２Ｃ】本発明の実施例を示し、高次元可視化部が提供する可視化ハイパーパラメータ探索の一例を示す図である。
【図１３】本発明の実施例を示し、考察要素提示部で行われる処理の一例を示すフローチャートである。
【図１４】本発明の実施例を示し、ハイパーパラメータの表示画面の一例を示す図である。
【発明を実施するための形態】
【００１４】
本発明の実施形態を、図面を用いて説明する。以下、本発明の実施例を説明するための全図において、基本的に同一機能を有するものは同一符号を付し、その繰り返しの説明は省略する。
【００１５】
まず、本実施例の最適化装置を説明する。本実施例の最適化装置は、最適なハイパーパラメータの選択により自然言語の学習モデルを生成し、最適な可視化パラメータによる可視化結果の表示を行う例を示す。以下、自然言語処理における学習の説明において、単語を学習対象とする場合で説明する。なお、最適なハイパーパラメータ（第１のハイパーパラメータ）は、後述するように、所定の条件を満たすパラメータである。
【００１６】
図１は、本実施例の最適化装置１００のハードウェア構成の一例を示すブロック図である。本実施例の最適化装置１００は、ＣＰＵ１０２と、メモリ１０３と、入出力インターフェイス１０４と、通信装置１０５と、ドライブ装置１０６と、を有する。これらはデータバス１０１によって相互に接続されている。
【００１７】
ＣＰＵ１０２は、制御装置と演算装置からなり、最適化装置１００の制御や、演算や情報転送をつかさどる中央処理装置である。メモリ１０３は、最適化装置１００が処理すべきデジタルデータを一定期間保持することが可能である記憶装置である。
【００１８】
入出力インターフェイス１０４は、装置の外部に接続する機器との情報の入出力に使用するインターフェイスである。入出力インターフェイス１０４に、キーボードやマウスなどの入力装置１０７と、ディスプレイなどの出力装置１０８を接続することが可能である。
【００１９】
通信装置１０５は、インターネットなどのネットワークに接続するケーブルを通信装置１０５に接続することで、インターネットなどのネットワークへの接続を可能にする装置である。ドライブ装置１０６は、情報が書き込まれているまたは書き込み可能である空のディスクメディアやＨＤＤなどの記憶媒体１０９を含み、書き込まれている情報の読み出し、および情報の書き込みを行う装置である。
【００２０】
メモリ１０３には、本実施例の最適化装置１００の機能を実現させるために必要なプログラム２００と各種データが格納されている。ＣＰＵ１０２が、メモリ１０３に格納されたプログラム２００を実行することによって、最適化装置１００の機能を実現する各種処理が行われる。なお、ＣＰＵ１０２が実行するプログラム２００はドライブ装置１０６に接続された前記記憶媒体１０９に格納しておき、そのプログラムを読み込んでメモリ１０３に格納するようにしてもよい。
【００２１】
図２はメモリ１０３、または前記記憶媒体１０９に格納されている演算処理用のプログラム２００の実行により実装される機能の一例を示すブロック図である。プログラム２００は、参照データ格納部２１０、文書解釈部２２０および結果表示部２３０からなる。なお、文書解釈部２２０は、文書解釈モジュールとしてもよい。
【００２２】
参照データ格納部２１０は、類似する意味や類似する表現（あるいは機能）などを含む単語や文章をまとめた複数個のグループ（グループデータ）を格納しておく機能を有する。なお、参照データ格納部２１０は、学習用の単語や文章のグループと、評価用の単語や文章のグループをそれぞれ用意しておいても良い。
【００２３】
文書解釈部２２０は、参照データ格納部２１０にて用意したグループの単語や文章を用いて最適なモデル（学習モデル）を生成し、可視化により人間が解釈しやすい形式に変換する機能を含む。なお、文書解釈部２２０は、参照データ格納部２１０に格納されたグループの単語や文章を用いて変換を実施する。また、文書解釈部２２０は、記憶媒体１０９から読み込んだデータから最適なモデルを生成しても良い。
【００２４】
結果表示部２３０は、ユーザインターフェイスによる操作や文書解釈部２２０の結果および途中結果を出力装置１０８に表示する機能を含む。
【００２５】
文書解釈部２２０と、結果表示部２３０の各機能部はプログラム２００としてメモリ１０３にロードされる。なお、本実施例では、自然言語学習部４３０（後述）をソフトウェアによって実現する例を示すが、ハードウェアによって実現してもよい。ＣＰＵ１０２は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、ＣＰＵ１０２は、文書解釈プログラムに従って処理することで文書解釈部２２０として機能する。他のプログラムについても同様である。さらに、ＣＰＵ１０２は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００２６】
最適化装置１００の各機能を実現するプログラム、テーブル等の情報は、ドライブ装置１０６や不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００２７】
図３は、文書解釈部２２０の実行により実装される機能の一例を示すブロック図である。文書解釈部２２０は、最適化部３１０および高次元可視化部３２０からなる。最適化部３１０は、参照データ格納部２１０にて用意されたグループの単語や文章を用いて最適なモデルを生成する機能を含む。
【００２８】
高次元可視化部３２０は、後述するように、モデルへ単語を適用して分散表現（または埋め込み表現）で得られる高次元ベクトルを低次元に変換することで、可視化により人間が解釈しやすい形式に変換する機能を含む。
【００２９】
図４は、最適化部３１０の実行により実装される機能の一例を示すブロック図である。最適化部３１０は、ハイパーパラメータ生成部４１０、単語選択部４２０、自然言語学習部４３０および結果評価部４４０からなる。
【００３０】
ハイパーパラメータ生成部４１０は、参照データ格納部２１０にて用意されたグループの単語や文章を用いて最適なモデルを生成するために、探索するハイパーパラメータを生成する機能を含む。単語選択部４２０は、モデルの評価に用いる単語や文章を参照データ格納部２１０より読み出してグループごとに管理する機能を含む。
【００３１】
自然言語学習部４３０は、ハイパーパラメータ生成部４１０にて生成したハイパーパラメータを使用した機械学習によりモデルを生成する機能を含む。結果評価部４４０は、自然言語学習部４３０にて生成されたモデルに、単語選択部４２０にて読みだした単語を適用して分散表現による高次元ベクトルを出力させて、当該高次元ベクトルを取得した後、参照データ格納部２１０で管理されたグループを用いてモデルの精度の評価を行う機能を含む。
【００３２】
図５は、高次元可視化部３２０の実行により実装される機能の一例を示すブロック図である。高次元可視化部３２０は、可視化ハイパーパラメータ生成部５１０、可視化調整部５２０、可視化評価部５３０および考察要素提示部５４０からなる。
【００３３】
可視化ハイパーパラメータ生成部５１０は、結果評価部４４０がモデルから取得した高次元ベクトル（例えば、２００次元）を２次元または３次元といった人間が目で見て解釈できる低次元に変換するために、可視化ハイパーパラメータを生成する機能を含む。
【００３４】
可視化調整部５２０は、可視化ハイパーパラメータ生成部５１０にて生成した可視化ハイパーパラメータ（第２のハイパーパラメータ）を使用し、モデルから取得した高次元ベクトルを２次元または３次元に変換する機能を含む。可視化評価部５３０は、可視化調整部５２０により２次元または３次元に変換された低次元ベクトルに対して、参照データ格納部２１０に格納されたグループの単語や文章を用いて精度評価を行う機能を含む。
【００３５】
考察要素提示部５４０は、可視化評価部５３０にて最も高い精度であった可視化結果や、学習に用いた文書集合や専門知識により構築された辞書、または結果評価部４４０において最も高い精度であった高次元ベクトルなどを用いて、可視化結果や高次元ベクトルについて考察を行うための要素を提示する機能を含む。
【００３６】
次に、本実施例のプログラム２００を実行した際の処理の流れを説明する。図６は、本実施例の最適化装置１００で行われる処理の一例を示すフローチャートである。最適化装置１００は、プログラム２００の実行により、自然言語処理の学習において、設定された条件を満たす最適なモデルと、前記最適なモデルを用いて表現される高次元ベクトルなどを可視化した結果および考察のための要素を提示する。ここで、高次元ベクトルの出力結果に対して考察を行うための要素とは、単語間の距離に基づいたリストや、単語が登場する文章や文書の一覧、単語の意味などである。
【００３７】
最適化装置１００は、文書解釈部２２０を機能させて、ドライブ装置１０６に接続された記憶媒体１０９から、メモリ１０３に参照データを読み込む（ステップＳ６０１）。なお、最適化装置１００は、入力装置１０７等から参照データの指定を受け付けて、記憶媒体１０９からメモリ１０３に読み込むようにしても良い。また、参照データには単語や文章あるいは文書が含まれる。また、文書解釈部２２０は、参照データ格納部２１０から参照データを読み出しても良い。
【００３８】
続いて、最適化装置１００の最適化部３１０は学習する文書集合や学習手法の選択を含むハイパーパラメータを複数種類試行し、最適なモデルを決定する（ステップＳ６０２）。なお、試行するハイパーパラメータのうち初期のハイパーパラメータは、予め与えられてもよい。
【００３９】
その後、最適化装置１００の高次元可視化部３２０は、ステップＳ６０２で決定した最適なモデルにより生成される高次元ベクトルを、低次元に変換するための最適な可視化ハイパーパラメータを決定し、高次元ベクトルの出力結果について考察を行うための要素（考察要素）を生成する（ステップＳ６０３）。
【００４０】
最後に、高次元可視化部３２０は、ステップＳ６０２の結果である最適なモデルとそのハイパーパラメータと、ステップＳ６０３の結果である最適な低次元空間への変換結果と、前記変換結果を生成したときの可視化ハイパーパラメータおよび高次元ベクトルの出力結果について考察を行うための要素を出力装置１０８に表示し、処理を終了する（ステップＳ６０４）。なお、最適化部３１０のみ機能させ、高次元可視化部３２０は機能させない、としても良い。
【００４１】
上記処理によって、最適化装置１００は、可視化ハイパーパラメータおよび高次元ベクトルの変換結果を出力装置１０８に出力し、最適化装置１００の利用者に対して、グループ内における高次元のベクトル同士の距離が最小となるようなモデルを生成可能にするハイパーパラメータを提示することができる。
【００４２】
図７は、最適化装置１００の最適化部３１０で行われる処理の一例を示すフローチャートである。この処理は、図６のステップＳ６０２で実行される。最適化装置１００の最適化部３１０は学習する文書空間や、学習手法の選択を含むハイパーパラメータを複数種類試行し、最適なモデルを決定する。
【００４３】
まず、最適化部３１０は、ハイパーパラメータの範囲および初期ハイパーパラメータを決定する（ステップＳ７０１）。自然言語処理における学習のハイパーパラメータとは、学習する文書集合や、Bag of WordsやWord to Vecといったアルゴリズムの種類、および各アルゴリズムにおいてモデルを決定するために必要な次元の長さや、対象とする単語の前後何単語を学習に利用するか、などの情報である。
【００４４】
次に、最適化部３１０は、参照データ格納部２１０に格納された参照データを用いて、評価対象とする単語や文章の選択を行う（ステップＳ７０２）。参照データには予め、類似する意味や類似する表現などを含む単語や文章をまとめた複数個のグループを格納してある。
【００４５】
たとえば、ヘルスケアの業界、特に糖尿病に関する自然言語を学習したい場合であれば、１型糖尿病とＨｂＡ１ｃ（ヘモグロビンエーワンシー）と膵ランゲルハンス島β細胞をグループ１とし、２型糖尿病とＨｂＡ１ｃと加齢とＫＣＮＪ１５、をグループ２とする。
【００４６】
これにより、グループ１には１型糖尿病の診断に関係の深い単語が、グループ２には２型糖尿病の診断に関係の深い単語が登録されていることになる。また、上記単語は単語選択部４２０にて選択した後、グループを形成し、参照データ格納部２１０に格納しておく等としても良い。
【００４７】
続いて、最適化部３１０は、ステップＳ７０１にて決定されたハイパーパラメータを用いて、自然言語処理における学習を行う（ステップＳ７０３）。また、最適化部３１０は、学習結果としてモデルを生成する。
【００４８】
その後、最適化部３１０は、ステップＳ７０３にて生成されたモデルと、ステップＳ７０２にて選択した単語や文章（参照データ）を用いてスコアの算出を行う（ステップＳ７０４）。スコアは、参照データの各グループに登録されている単語間のベクトル距離をコサイン距離にて算出し、全グループにおける総和とする。本スコア算出式は、次の式（１）として表せる。
【００４９】
【数１】
2019128634.tif 000003
【００５０】
ここで、Ｍはグループ番号の最大数、Ｎは各グループにおける単語対の番号の最大数であり、ｗｏｒｄＸｇ，ｉおよびｗｏｒｄＹｇ，ｉはグループ番号ｇのｉ番目の単語対の２つの単語を意味する。
【００５１】
本スコアの値が小さい場合、グループ１に登録された単語の意味が近く、かつグループ２に登録された単語の意味も近い状態となることから、グループ１に登録された単語は１型糖尿病、グループ２に登録された単語は２型糖尿病に関係が深い単語として学習されていると推定することができる。本実施例では、スコアを単語間のコサイン距離としたが、これに限定されるものではなく、単語間のベクトルの差のコサイン距離など異なる指標を用いても良い。
【００５２】
続いて、最適化部３１０は、繰り返し回数の判定を行う（ステップＳ７０５）。ここでは、予め定めた最適化を行う回数（所定値）に達したか否かの判定を行う。最適化の回数は予め定めておいても良いし、ステップＳ７０４にて算出したスコアが予め定めた閾値を下回ったか否かで判定するような動的な回数として与えても良い。
【００５３】
最適化を行う回数等の条件に満たない場合、最適化部３１０は、ステップＳ７０１にて設定したハイパーパラメータを変更し、再度ステップＳ７０３からステップＳ７０５までを繰り返す（ステップＳ７０６）。
【００５４】
ここで、ハイパーパラメータは、予め最適化の回数を定めてある場合、そのパターン数分（回数分）を予め用意しておいても良いし、スコアが最小となるように降下法等のように探索を行っても良い。
【００５５】
最適化部３１０は、最適化を行う回数等の条件を満たした場合、ステップＳ７０３からステップＳ７０６までの中で、スコアが最小であったハイパーパラメータを最適なハイパーパラメータとして選択し、上記ハイパーパラメータにより学習を行ってモデルを生成する（ステップＳ７０７）。
【００５６】
ここで、最適化部３１０が生成するモデルは、ハイパーパラメータを変更した最適化の試行ごとに生成したモデルを保持しておき、スコアが最小であるモデルをステップＳ７０７にて抽出しても良い。
【００５７】
上記処理によって、ハイパーパラメータの試行によって生成したモデルを評価して、スコアが最小となる最適なモデルが決定される。
【００５８】
図８は、ステップＳ７０５における最適化の繰り返し回数の決定方法の一例を説明する図である。最適化装置１００の利用者などが、予め、最適化を行う回数を決定し、前記回数分だけハイパーパラメータの組み合わせを用意しておく。
【００５９】
本実施例では、最適化を行う回数をＮとする。そして、最適化部３１０は、Ｎ通りのハイパーパラメータにより生成したＮ通りのモデル（８１−１〜８１−Ｎ）を用いて、ステップＳ７０４により各モデルのスコアを算出する。または、試行ごとにハイパーパラメータを降下法等による探索を実施したり、ランダムにハイパーパラメータを変更する処理をＮ回行っても良い。
【００６０】
最適化部３１０が算出したスコアは、図８中の表８２のようにモデル毎に表すことが可能となり、本図の例では最もスコアの低いハイパーパラメータパタン４によるモデルが選択される。
【００６１】
図９は、図７のステップＳ７０４におけるスコアの算出処理の一例を説明する図である。最適化部３１０は、ステップＳ７０３にて学習したモデルにより生成される各単語ベクトル同士を用いるのではなく、その単語ベクトルを特徴量として入力し、予め用意しておいたクラスとして識別した結果を用いてスコアの算出を行う。
【００６２】
予め用意しておいたクラスは、本実施例であれば、１型糖尿病か２型糖尿病かの２クラスや、糖尿病か健常者かの２クラス等が考えられる。最適化部３１０は、このような各ハイパーパラメータによるモデルにより生成された高次元ベクトルを用いた識別器を生成する。
【００６３】
そして、最適化部３１０は、Ｎ通りのハイパーパラメータにより生成したＮ通りのモデル９１−１〜９１−Ｎに単語を入力して高次元ベクトルを生成し、生成した高次元ベクトルを２クラスに識別させ、各識別器の識別精度をスコアとして扱う。識別の学習および識別精度の算出に用いるデータは予め識別器のハイパーパラメータ決定用、パラメータ決定用および評価用のように分けて用意しておき、１０フォールドクロスバリデーション等を用いて識別精度の算出を行っても良い。Ｎ通りのモデルにおける識別精度のうち、最も識別精度が高かったモデルを選択するようにしても良い。
【００６４】
図１０は、単語選択部４２０における参照データ格納部２１０に格納する単語の選択方法の一例を示すフローチャートである。この処理は、図７のステップＳ７０２で実行されてもよいし、あらかじめ本実施例のプログラム２００を実行する前に実行され参照データ格納部２１０に格納しておいてもよい。
【００６５】
最適化部３１０の単語選択部４２０は、まず、単語を抽出する対象文献を決定する（ステップＳ１００１）。単語選択部４２０は、例えば、自然言語学習部４３０にて学習する文書集合が金融に関する文書集合にも関わらず、結果評価部４４０にて評価に用いる単語がヘルスケアに関する単語であった場合、ヘルスケアに関する単語は学習していないため高次元ベクトルに変換することができない場合が発生する。
【００６６】
つまり、学習に用いる文書集合には、評価に用いる単語が含まれている必要がある。そのため、ハイパーパラメータ生成部４１０にて選択されうる学習用の文書集合ごとに、本処理を行っても良いし、学習していない単語には結果評価部４４０にて例外処理を行うこととして学習に用いる文書集合とは別に、所定の基準で選択した文書集合を用意し本処理を行っても良い。
【００６７】
次に、単語選択部４２０は、決定した文書から単語を抽出する（ステップＳ１００２）。続いて、単語選択部４２０は、抽出した単語に対してアノテーション処理を行い、解析に不要な単語である冠詞や動詞を除外し、解析に必要な単語のみとする（ステップＳ１００３）。
【００６８】
アノテーション処理では、ユーザが定義した辞書や、専門用語ごとに用意されている辞書等を単語選択部４２０が使用しても良い。最後に、単語選択部４２０は、シノニム統合処理を行い、異なる表記であるが同じ単語を統合し、解析に用いる単語群を決定する（ステップＳ１００４）。この後、単語選択部４２０が、参照データ格納部２１０のグループごとに格納する単語の仕分けを、予め設定された知識ベースに基づく辞書を用いて行っても良いし、ステップＳ１００１にて選択する対象文献の種類からグループを生成しても良い。
【００６９】
図１１は、最適化装置１００の高次元可視化部３２０で行われる処理の一例を示すフローチャートである。この処理は、図６のステップＳ６０３で実行される。
【００７０】
最適化装置１００の高次元可視化部３２０は、参照データ格納部２１０に格納されたグループを用いて、高次元ベクトルの可視化により人間が解釈しやすい形式に最適に変換する。
【００７１】
まず、高次元可視化部３２０は、可視化処理における可視化ハイパーパラメータの範囲および初期の可視化ハイパーパラメータを決定する（ステップＳ１１０１）。可視化処理における可視化ハイパーパラメータとは、ｔ−ＳＮＥ（t-distributed stochastic neighbor embedding）や主成分分析といった高次元を低次元に変換するアルゴリズムの種類、および各アルゴリズムにおける初期値や学習率、などである。
【００７２】
次に、高次元可視化部３２０は、ステップＳ１１０１にて決定した可視化ハイパーパラメータと、最適化部３１０にて生成した高次元ベクトルを入力として、２次元または３次元の低次元へ変換を行う（ステップＳ１１０２）。可視化ハイパーパラメータが変更されると、生成される低次元ベクトルも変化する。
【００７３】
図１２Ａ〜図１２Ｃは高次元可視化部３２０における可視化ハイパーパラメータの探索の説明をする図である。図１２Ａ〜図１２Ｃは、ｗｏｒｄＡ、ｗｏｒｄＢ，ｗｏｒｄＣ，ｗｏｒｄＤの低次元ベクトルが可視化ハイパーパラメータ（図中Ｐａｒａｍｅｔｅｒ  ｓｅｔ  Ａ〜Ｃ）によって変化する様子を示す。
【００７４】
図１２Ａ〜図１２Ｃのうち、どの可視化ハイパーパラメータによる結果が最良であるかは、例えば、ｗｏｒｄＡとｗｏｒｄＢは近く、ｗｏｒｄＡとｗｏｒｄＣは遠くにあることがよいなどの指標がなければ、決定することは難しいことがわかる。
【００７５】
その後、高次元可視化部３２０は、ステップＳ１１０２にて生成された低次元ベクトルと、単語選択部４２０にて選択された単語のうち、特定の単語または高次元ベクトルにおける距離が近い単語群または参照データ格納部２１０に格納されたグループを用いてスコアの算出を行う（ステップＳ１１０３）。
【００７６】
以下、高次元可視化部３２０が参照データ格納部２１０に格納されたグループの単語を用いる場合にて説明を行う。スコアは、各グループに登録されている単語間のベクトル距離をユークリッド距離にて算出し、全グループにおける総和とする。本スコアの算出式は、式（２）として表せる。
【００７７】
【数２】
2019128634.tif 000004
【００７８】
ここで、Ｍはグループ番号の最大数、Ｎは各グループにおける単語対の番号の最大数であり、ｍａｐ（ｗｏｒｄＸｇ，ｉ）およびｍａｐ（ｗｏｒｄＹｇ，ｉ）はグループ番号ｇのｉ番目の単語対の２つの単語における低次元ベクトルを意味する。
【００７９】
本スコアの値が小さい場合、参照データ格納部２１０のグループ１に登録された単語が近くに配置され、かつグループ２に登録された単語も近くに配置されていることとなる。つまり、意味が近く、高次元なベクトル表現としても類似している単語を、低次元に変換しても関係性が損なわれず、類似した単語が凝集するように変換されていると考えることができる。スコアは、本実施例では単語間のユークリッド距離としたが、単語間のベクトルの角度など異なる指標を用いても良い。
【００８０】
続いて、高次元可視化部３２０は、繰り返し回数の判定を行う（ステップＳ１１０４）。ここでは、予め定めた最適化を行う回数に達したか否かの判定を行う。最適化の回数は予め定めておいても良いし、ステップＳ１１０３にて算出したスコアが予め定めた閾値を下回ったか否かで判定するような動的な回数として与えても良い。
【００８１】
最適化を行う回数等の条件に満たない場合、ステップＳ１１０１にて設定した可視化ハイパーパラメータを変更し、再度ステップＳ１１０２からステップＳ１１０４までを行う（ステップＳ１１０５）。
【００８２】
ここで、可視化ハイパーパラメータは、予め最適化の回数を定めてある場合、そのパターン数分を予め用意しておいても良いし、スコアが最小となるように降下法等のようにパターンの探索を行っても良い。
【００８３】
最適化を行う回数等の条件を満たした場合、可視化評価部５３０において、ステップＳ１１０２からステップ１１０５までの中で、スコアが最小であった可視化ハイパーパラメータを決定し、上記可視化ハイパーパラメータにより生成された低次元ベクトルを生成する（ステップＳ１１０６）。
【００８４】
ここで、低次元ベクトルは、可視化ハイパーパラメータを変更した最適化の試行ごとに保持しておき、スコアが最小である低次元ベクトルをステップＳ１１０６にて抽出しても良い。最後に、考察要素提示部５４０において、最適な低次元ベクトル等を用いて考察要素の生成を行う（ステップＳ１１０７）。なお、考察要素とは、新たな知見を得る可能性を含む要素であり、例えば、処理対象の文書集合が学術論文であれば、数十年の間に行われた研究に関する単語を取得することができる。これにより、最適化装置１００の利用者は、学術論文の分野における研究のトレンドや、未研究の分野などを考察することができる。また、考察要素提示部５４０は、考察要素として、図１２Ａ〜図１２Ｃで示したように、単語のクラスタを考察要素として出力してもよい。
【００８５】
上記処理によって、図６のステップＳ６０２で決定されたモデル（学習モデル）によって生成される高次元ベクトルを、低次元ベクトルに変換することができ、可視化ハイパーパラメータが決定される。
【００８６】
図１３は、考察要素提示部５４０で行われる処理の一例を示すフローチャートである。この処理は、図１１のステップＳ１１０７で行われる。
【００８７】
まず、考察要素提示部５４０、考察要素に用いるデータを決定する（ステップＳ１３０１）。考察要素に用いるデータとは、可視化評価部５３０にて決定した低次元ベクトルまたは結果評価部４４０にて決定した高次元ベクトルを指す。但し、高次元ベクトルおよび低次元のベクトルとしても良い。
【００８８】
また、上記ベクトルのうち指定の単語のみとしても良いし、後述のクラスタリング用の単語と、解析対象とする単語とに分けて設定しても良い。次に、考察要素提示部５４０は、ステップＳ１３０１にて決定したデータを用いて、クラスタリング処理を行う（ステップＳ１３０２）。
【００８９】
クラスタリング手法は、Ｋ−ｍｅａｎｓ法やＴｏｐｏｌｏｇｉｃａｌ  Ｄａｔａ  Ａｎａｌｙｓｉｓの概念に基づいた手法など公知または周知の技術を適用すれば良い。また、クラスタリングにおける各クラスタは、最適化装置１００の利用者がデータを参照しながら恣意的に設定しても良い。
【００９０】
続いて、考察要素提示部５４０は、クラスタごとの重心の算出を行う（ステップＳ１３０３）。その後、考察要素提示部５４０は、ステップＳ１３０３にて決定したクラスタ重心からある一定の範囲を関心領域として決定する（ステップＳ１３０４）。重心からの距離は、設定したクラスタを包含する円または楕円の半径としても良いし、近傍１０単語を包含する円または楕円の半径などとしても良い。
【００９１】
最後に、考察要素提示部５４０は、関心領域内に含まれる単語の解析を行う（ステップＳ１３０５）。例えば、クラスタの重心を中心とした関心領域内に含まれる１０単語に対して、その各単語が最適化部３１０において使用した文書集合（参照データ）に含まれる文献の中に登場する文章や文献のタイトルの抽出や、文書集合中で各単語と共起している単語の抽出や、予め用意しておいた専門用語の意味などを記載してある辞書における各単語に関する記載の抽出などを行う。考察要素提示部５４０は、これらの抽出した情報を考察要素として出力することができる。
【００９２】
上記の処理により、考察要素提示部５４０は、取得した最適なモデルにより生成される各単語の高次元ベクトルを最適な低次元空間に変換し、各単語に対して解釈に役立つ情報（考察要素）を提示することができる。
【００９３】
図１４は、以上の処理において出力装置１０８であるディスプレイ等に表示される画面の１例である。本実施例におけるプログラム２００の実行により表示画面１４００が出力される。
【００９４】
表示画面１４００の図中上部に配置されたImport fileボタン１４０１を押下することで、ファイル選択画面（図示省略）から所望のファイル選択することにより最適化部３１０にて使用する予め設定しておいたハイパーパラメータや、決定された最適なモデルや、高次元可視化部３２０にて使用する予め設定しておいた可視化ハイパーパラメータや、決定された低次元ベクトル等を読み込むことができる。
【００９５】
選択したデータの名前は、Import file name欄１４０５に記載される。その後、optimizingボタン１４０２を押下することで、最適化部３１０による図７のフローチャートや高次元可視化部３２０による図８のフローチャートに代表されるような最適化処理が行われる。
【００９６】
結果表示領域１４０７に表示された結果は、最適化の際に算出されたスコアが低い順に、ランキングとスコアとハイパーパラメータを表として出力された例を示す。オペレータ（または最適化装置１００の利用者）は、前記表に付随して表示されているラジオボタン１４０８やチェックボックス等により、所望のハイパーパラメータセットを選択することが可能である。
【００９７】
ハイパーパラメータセットを選択した後、Saveボタン１４０４を押下すると、保存したいメモリ空間を指定可能な画面（図示省略）が表示される。メモリ空間（または記憶媒体１０９）を指定し、実行ボタンを押下すると、指定したメモリ空間に選択されたハイパーパラメータセットが保存される。保存先のメモリ空間（または記憶媒体１０９）は、Export file name欄１４０６などに表示される。
【００９８】
高次元可視化部３２０による最適化を行った後には、mapボタン１４０３を押下すると、生成した低次元ベクトルを２次元または３次元空間上に描画したグラフ（図１２Ａ〜図１２Ｃ等）が表示される。
【００９９】
グラフ中の単語（図示省略）をクリックすることで、考察要素提示部５４０の処理をオペレータが行っても良いし、既に解析済みの考察要素提示部５４０で抽出した各単語が最適化部３１０において使用した文書集合に含まれる文献の中に登場する文章や文献のタイトルの提示や、文書集合中で各単語と共起している単語の提示、予め用意しておいた専門用語の意味などを記載してある辞書における各単語に関する記載の提示、等が表などにより表示される。
【０１００】
解析結果を保存したい場合、Saveボタン１４０４を押下すると、保存したいメモリ空間を指定可能な画面が表示される。メモリ空間を指定し、実行ボタンを押下すると、指定したメモリ空間に解析結果が保存される。保存した先のメモリ空間は、Export file name欄１４０６などに記載される。
【０１０１】
以上のように、本実施例における最適化装置１００は、モデル決定のためのハイパーパラメータ探索において、類似する意味や類似する表現を含む単語や文章をまとめた複数個のグループを生成して参照データ格納部２１０に格納し、グループ内における各高次元のベクトル同士の距離が最小となるようなモデルを生成可能にするハイパーパラメータを提供することが可能となる。
【０１０２】
これにより、最適化装置１００は、解析対象の文書集合に対し、専門性の高い用語においても高精度な高次元ベクトルを生成可能となるハイパーパラメータを選択することで、学習する文書集合の専門性に適した基準で最適なモデルを得ることが可能となり、取得した最適なモデルにより生成される各単語の高次元ベクトルを最適な低次元空間に変換し、各単語に対して結果の解釈に役立つ情報を提示することが可能となる。
【０１０３】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
【０１０４】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１０５】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１０６】
１００  最適化装置
１０１  データバス
１０２  ＣＰＵ
１０３  メモリ
１０４  入出力インターフェイス
１０５  通信装置
１０６  ドライブ装置
１０７  入力装置
１０８  出力装置
１０９  記憶媒体
２００  プログラム
２１０  参照データ格納部
２２０  文書解釈部
２３０  結果表示部
３１０  最適化部
３２０  高次元可視化部
４１０  ハイパーパラメータ生成部
４２０  単語選択部
４３０  自然言語学習部
４４０  結果評価部
５１０  可視化ハイパーパラメータ生成部
５２０  可視化調整部
５３０  可視化評価部
５４０  考察要素提示部
１４００  表示画面
１４０１  Import fileボタン
１４０２  optimizingボタン
１４０３  mapボタン
１４０４  Saveボタン
１４０５  Import file name欄
１４０６  Export file name欄
１４０７  結果表示領域
１４０８  ラジオボタン
【図１】
2019128634.tif 000005
【図２】
2019128634.tif 000006
【図３】
2019128634.tif 000007
【図４】
2019128634.tif 000008
【図５】
2019128634.tif 000009
【図６】
2019128634.tif 000010
【図７】
2019128634.tif 000011
【図８】
2019128634.tif 000012
【図９】
2019128634.tif 000013
【図１０】
2019128634.tif 000014
【図１１】
2019128634.tif 000015
【図１２Ａ】
2019128634.tif 000016
【図１２Ｂ】
2019128634.tif 000017
【図１２Ｃ】
2019128634.tif 000018
【図１３】
2019128634.tif 000019
【図１４】
2019128634.tif 000020