(57)【要約】【課題】木構造におけるノード間の関連性の強さの変更を容易にするための技術を提供する。【解決手段】情報処理装置は、データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、前記複数の抽出文字列の各々について、当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部と、前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、前記木構造において２以上のノードを指定して所定の操作が行われると、少なくとも指定された前記２以上のノードに対応付けられている文字列の文字列特徴量に影響を与える所定の処理を実行した後、前記木構造の再構築を行う処理部と、を有する。【選択図】図２
2020060816.tif 000002
【特許請求の範囲】
【請求項１】
データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、
前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、
前記複数の抽出文字列の各々について、当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部と、
前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、
前記木構造において２以上のノードを指定して所定の操作が行われると、少なくとも指定された前記２以上のノードに対応付けられている文字列の文字列特徴量に影響を与える所定の処理を実行した後、前記木構造の再構築を行う処理部と、
を有する情報処理装置。
【請求項２】
前記複数の抽出文書の各々について、当該文書が有する特徴を数値化した文書特徴スコアを算出する文書特徴算出部をさらに備え、
前記文字列特徴算出部は、前記複数の抽出文字列の各々について、当該抽出文字列を含む１以上の抽出文書の文書特徴スコアから当該抽出文字列の文字列特徴量を求める、
請求項１に記載の情報処理装置。
【請求項３】
前記所定の処理は、指定された前記２以上のノードに対応付けられている文字列の文字列特徴量に対して重みづけを行う処理である、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記文字列特徴算出部は、入力文字列をｎ個のクラス（ｎは２以上の整数）に分類する文字列分類器から構成され、前記抽出文字列を前記文字列分類器に入力したときの出力スコアを当該抽出文字列の文字列特徴量とする、
請求項１に記載の情報処理装置。
【請求項５】
前記所定の処理は、指定された前記２以上のノードのそれぞれに対応付けられている２以上の文字列に共通に関係する教師データを追加した上で、前記文字列分類器の再学習を行う処理である、
請求項４に記載の情報処理装置。
【請求項６】
データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出するステップと、
前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出するステップと、
前記複数の抽出文字列の各々について、当該抽出文字列の特徴を表す文字列特徴量を求めるステップと、
前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力するステップと、
前記木構造において２以上のノードを指定して所定の操作が行われると、少なくとも指定された前記２以上のノードに対応付けられている文字列の文字列特徴量に影響を与える所定の処理を実行した後、前記木構造の再構築を行うステップと、
を有する情報処理方法。
【請求項７】
請求項６に記載の情報処理方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
多数の文書（例えば論文、技術資料、特許文献など）の中から、求める情報が記載されている文書や参考になる文書を簡単に探し出したい、というニーズは古くからある。そのようなニーズに対するアプローチとして、従来は、検索クエリにマッチする文書を複数抽出し、マッチ度合の高いものから順に一覧表示する方法が主流であった。しかしながら、このような方法では、検索結果として出力される文書一覧を見ても、ユーザとしては、抽出された文書同士の関連性や類似性を掴むことができず、検索結果を十分に活用することが難しかった。これに対し、非特許文献１では、抽出された文書からピックアップした複数の単語を木構造で表示することにより、文書同士の関係を直観的に表現しようとする試みが提案されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Scott Spangler et.al., "Automated Hypothesis Generation Based on Mining Scientific Literature"
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、本発明者らが検証したところ、木構造による表現は非常に有用であるものの、非特許文献１の方法では、単語同士の関係や文書同士の関連性・類似性を適切に表現できない場合も多く、実用化のためにはさらなる改良が必要であるとの課題を認識するに至った。また、単語や文書の関係性を評価・分析するにあたり、ユーザとしては、ノード間の関連性の強弱に変更を加えたいと望む場合もあり得るが、従来の木構造ではそのような変更操作を行うことは困難であった。
【０００５】
本発明は上記実情に鑑みなされたものであって、複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現し、ユーザによる情報探索作業を支援することのできる技術を提供することを目的とする。また、本発明のさらなる目的は、木構造におけるノード間の関連性の強さの変更を容易にするための技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明の１つの側面は、データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、前記複数の抽出文字列の各々について、当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部と、前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、前記木構造において２以上のノードを指定して所定の操作が行われると、少なくとも指定された前記２以上のノードに対応付けられている文字列の文字列特徴量に影響を与える所定の処理を実行した後、前記木構造の再構築を行う処理部と、を有する情報処理装置を提供する。
【０００７】
「文字列」は、「単語」であってもよいし、複数の単語から構成される「複合語」や「
語句」であってもよい。「文字列特徴量」は単一の値からなる指標（スカラー）でもよいし複数の値の組からなる指標（ベクトル）であってもよい。スカラーの場合、「文字列特徴量の差」は、例えば、２つの文字列の文字列特徴量の差又はその絶対値である。ベクトルの場合、「文字列特徴量の差」は、例えば、２つのベクトルのコサイン類似度やユークリッド距離から計算できる。
【０００８】
上述した本発明の木構造では、文字列の特徴を表す文字列特徴量の差に基づいて各ノードの配置が決定されているので、各ノード（文字列）の配置や接続関係などから、検索結果（複数の抽出文書）に含まれる文字列群の傾向などを容易に把握できる。また、木構造において２以上のノードを指定して所定の操作を行うと、それらのノードの文字列特徴量が変化した上で木構造が再構築されるため、ユーザ自身が木構造におけるノード間の関連性の強さを容易に変更することができる。
【０００９】
情報処理装置が、前記複数の抽出文書の各々について、当該文書が有する特徴を数値化した文書特徴スコアを算出する文書特徴算出部をさらに備える場合には、前記文字列特徴算出部は、前記複数の抽出文字列の各々について、当該抽出文字列を含む１以上の抽出文書の文書特徴スコアから当該抽出文字列の文字列特徴量を求めるとよい。このような技術によれば、抽出文字列の特徴を、抽出文字列そのものではなく、当該抽出文字列を使用している文書（テキスト）の特徴である文書特徴スコアを使って表現している。それゆえ、木構造における各ノードの配置や接続関係は、文書同士の関連性・類似性をよく反映したものとなる。したがって、本発明の木構造を用いることにより、複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現することができ、ユーザによる情報探索作業を支援することが可能となる。
【００１０】
この場合、前記所定の処理は、指定された前記２以上のノードに対応付けられている文字列の文字列特徴量に対して重みづけを行う処理であるとよい。重みづけ処理の前に比べて、重みづけ処理後の方が、文字列同士の文字列特徴量が近づくため、再構築された木構造においてそれらの文字列が近くに配置されるようになる。
【００１１】
なお、文書特徴スコアから文字列特徴量を求める方法以外に、文字列から直接的に文字列特徴量を求める方法も採り得る。例えば、前記文字列特徴算出部は、入力文字列をｎ個のクラス（ｎは２以上の整数）に分類する文字列分類器から構成され、前記抽出文字列を前記文字列分類器に入力したときの出力スコアを当該抽出文字列の文字列特徴量としてもよい。この「文字列分類器」は、例えば、複数の文字列を教師データとして用いた機械学習により生成された分類器でもよいし、ルールやモデルから理論的に作成した分類器であってもよい。
【００１２】
この場合、前記所定の処理は、指定された前記２以上のノードのそれぞれに対応付けられている２以上の文字列に共通に関係する教師データを追加した上で、前記文字列分類器の再学習を行う処理であるとよい。このような教師データを追加して再学習を行うことにより、この２以上の文字列について、より近い値の文字列特徴量を出力するような文字列分類器を得ることができる。
【００１３】
なお、本発明は、上述した機能ないし処理の少なくとも一部を含む情報処理方法、又は、当該情報処理方法の各ステップをコンピュータに実行させるプログラム、又は、当該プログラムを非一時的に記憶した記憶媒体などとして捉えることもできる。また、本発明は、上述した木構造を生成する木構造生成装置や木構造生成方法、上述した木構造を出力ないし表示する木構造出力装置や木構造出力方法、複数の文書を分析するための文書分析装置や文書分析方法、文書に含まれる複数の文字列を分析するための文字列分析装置や文字列分析方法、ユーザによる情報探索を支援する情報探索支援装置や情報探索支援方法など
として捉えることもできる。
【発明の効果】
【００１４】
開示の技術は、語句がノードに対応付けられた木構造において、ノードの再配置を容易にすることができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施形態に係る情報処理装置の構成の一例を示す図である。
【図２】図２は、第１実施形態に係る情報処理装置の機能ブロックの一例を示す図である。
【図３】図３は、形態素解析部による形態素解析結果の一例を示す図である。
【図４】図４は、文書ベクトルの一例を示す図である。
【図５】図５は、単語ベクトルの一例を示す図である。
【図６】図６は、分類度ベクトルの一例を示す図である。
【図７】図７は、「空」である基点ノードの配下に最も分類度が高い単語のノードと最も分類度が低い単語のノードとを配置した状態の一例を示す図である。
【図８】図８は、最も類似するノードを追加した状態の一例である。
【図９】図９は、重みづけによって各単語の分類度が変更される様子の一例を示す図である。
【図１０】図１０は、重みづけによって各単語の分類度ベクトルが変更される様子の一例を示す図である。
【図１１】図１１は、実施形態に係る処理フローの一例を示す第１の図である。
【図１２】図１２は、実施形態に係る処理フローの一例を示す第２の図である。
【図１３】図１３は、実施形態に係る処理フローの一例を示す第３の図である。
【図１４】図１４は、実施形態に係る処理フローの一例を示す第４の図である。
【図１５】図１５は、重みづけ履歴の一例を示す図である。
【図１６】図１６は、重みづけによってノードの配置が変更される様子の一例を示す図である。
【図１７】図１７は、第２実施形態に係る情報処理装置の機能ブロックの一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の実施形態に係る情報処理装置、情報処理方法およびプログラムについて説明する。本実施形態に係る情報処理装置は、データベースに蓄積された多数の文書の中から検索条件にマッチする複数の文書を抽出し、抽出された文書に出現する文字列同士の関係を木構造のグラフ形式で出力するものである。以下では、文字列の特徴を示す文字列特徴量の求め方が異なる２つの実施形態を例示する。第１実施形態は、文書の特徴量（文書特徴スコア）を用いて間接的に文字列特徴量を求める方法を開示するものであり、第２実施形態は、分類器を用いて文字列から直接的に文字列特徴量を求める方法を開示する。ただし、以下に示す実施形態の構成は本発明の構成の例示であり、本発明は以下の実施形態の構成に限定されない。
【００１７】
＜第１実施形態＞
図１は、第１実施形態に係る情報処理装置１００の構成の一例を示す図である。図１には、情報処理装置１００に接続されるディスプレイ２１０、キーボード２２０およびマウス２３０も例示されている。情報処理装置１００は、Central Processing Unit（ＣＰＵ
）１０１、主記憶部１０２、補助記憶部１０３、通信部１０４、入出力インターフェース（図中では、入出力ＩＦと表記）１０５を備えるコンピュータである。ＣＰＵ１０１、主記憶部１０２、補助記憶部１０３、通信部１０４および入出力インターフェース１０５は、接続バスＢ１によって相互に接続される。
【００１８】
ＣＰＵ１０１は、マイクロプロセッサユニット（ＭＰＵ）、プロセッサとも呼ばれる。ＣＰＵ１０１は、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のＣＰＵ１０１がマルチコア構成を有していてもよい。ＣＰＵ１０１が実行する処理のうち少なくとも一部は、ＣＰＵ１０１以外のプロセッサ、例えば、Digital Signal Processor（ＤＳＰ）、Graphics Processing Unit（ＧＰＵ）、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われてもよい。また、ＣＰＵ１０１が実行する処理のうち少なくとも一部は、集積回路（ＩＣ）、その他のディジタル回路によって実行されてもよい。また、ＣＰＵ１０１の少なくとも一部にアナログ回路が含まれてもよい。集積回路は、Large Scale Integrated circuit（ＬＳＩ）、Application Specific Integrated Circuit（ＡＳ
ＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）を含む。ＰＬＤは、例えば、Field-Programmable Gate Array（ＦＰＧＡ）を含む。ＣＰＵ１０１は、プロセッサと集積回路
との組み合わせであってもよい。組み合わせは、例えば、マイクロコントローラユニット（ＭＣＵ）、System-on-a-chip（ＳｏＣ）、システムＬＳＩ、チップセットなどと呼ばれる。
【００１９】
情報処理装置１００では、ＣＰＵ１０１が補助記憶部１０３に記憶されたプログラムを主記憶部１０２の作業領域に展開し、プログラムの実行を通じて周辺装置の制御を行う。これにより、情報処理装置１００は、所定の目的に合致した処理を実行することができる。主記憶部１０２および補助記憶部１０３は、情報処理装置１００が読み取り可能な記録媒体である。主記憶部１０２は、ＣＰＵ１０１から直接アクセスされる記憶部として例示される。主記憶部１０２は、Random Access Memory（ＲＡＭ）およびRead Only Memory（ＲＯＭ）を含む。
【００２０】
補助記憶部１０３は、各種のプログラムおよび各種のデータを読み書き自在に記録媒体に格納する。補助記憶部１０３は外部記憶装置とも呼ばれる。補助記憶部１０３には、オペレーティングシステム（Operating System、ＯＳ）、各種プログラム、各種テーブル等が格納される。ＯＳは、通信部１０４を介して接続される外部装置等とのデータの受け渡しを行う通信インターフェースプログラムを含む。外部装置等には、例えば、コンピュータネットワーク等で接続された、他の情報処理装置および外部記憶装置が含まれる。なお、補助記憶部１０３は、例えば、ネットワーク上のコンピュータ群であるクラウドシステムの一部であってもよい。
【００２１】
補助記憶部１０３は、例えば、Erasable Programmable ROM（ＥＰＲＯＭ）、ソリッド
ステートドライブ（Solid State Drive、ＳＳＤ）、ハードディスクドライブ（Hard Disk
Drive、ＨＤＤ）等である。また、補助記憶部１０３は、例えば、Compact Disc（ＣＤ）ドライブ装置、Digital Versatile Disc（ＤＶＤ）ドライブ装置、Blu-ray（登録商標） Disc（ＢＤ）ドライブ装置等である。また、補助記憶部１０３は、Network Attached Storage（ＮＡＳ）あるいはStorage Area Network（ＳＡＮ）によって提供されてもよい。
【００２２】
通信部１０４は、例えば、インターネットやLocal Area Network（ＬＡＮ）等のコンピュータネットワークとのインターフェースである。通信部１０４は、コンピュータネットワークを介して外部装置等と通信を行う。
【００２３】
入出力インターフェース１０５は、入出力装置とのインターフェースであり、例えば、PS/2コネクタ、Universal Serial Bus（ＵＳＢ）コネクタ、Video Graphics Array（ＶＧＡ）コネクタ、Digital Visual Interface（ＤＶＩ）コネクタ、High-Definition Multimedia Interface（ＨＤＭＩ（登録商標））等である。
【００２４】
ディスプレイ２１０は、ＣＰＵ１０１で処理されるデータや主記憶部１０２に記憶されるデータを出力する出力部である。ディスプレイ２１０は、例えば、Cathode Ray Tube（ＣＲＴ）ディスプレイ、Liquid Crystal Display（ＬＣＤ）、Plasma Display Panel（ＰＤＰ）、Electroluminescence（ＥＬ）パネル、有機ＥＬパネル等である。ディスプレイ
２１０は、入出力インターフェース１０５を介して情報処理装置１００に接続される。
【００２５】
キーボード２２０およびマウス２３０は、ユーザ等からの操作指示等を受け付ける入力手段である。キーボード２２０およびマウス２３０は、入出力インターフェース１０５を介して情報処理装置１００に接続される。
【００２６】
＜情報処理装置１００の機能ブロック＞
図２は、第１実施形態に係る情報処理装置１００の機能ブロックの一例を示す図である。情報処理装置１００は、テキスト検索部３０１、テキストデータベース（図中では、テキストＤＢと表記）３０１ａ、形態素解析部３０２、文書ベクトル生成部３０３、単語ベクトル生成部３０４、単語分類度計算部３０６、分類器３０７、特徴モデル３０７ａ、分類度ベクトル生成部３０８、基点決定部３０９，表示データ生成部３１０、単語特徴量比較部３１１、ノード近接処理部３１２、重みづけ履歴３１２ａおよび係数表示部３１３を備える。情報処理装置１００は、主記憶部１０２に実行可能に展開されたコンピュータプログラムをＣＰＵ１０１が実行することで、上記各部としての処理を実行する。
【００２７】
テキストデータベース３０１ａには、多数の文書が格納されている。文書は、少なくともテキストを含むデータであり、例えば、論文、技術資料、仕様書、特許文献、書籍、法令、契約書、判例、ＨＴＭＬやＸＭＬで記述された文書などを例示できる。文書は、テキストの他に、画像や動画や音声を含んでもよい。なお、本明細書では、「文書」という語を文書データ又は文書ファイルの意味で用いるが、文脈によっては、文書データ又は文書ファイルに含まれるテキストの意味で「文書」の語を用いる場合もある。テキストデータベース３０１ａは、文書を文書ＩＤと対応付けて管理する。文書ＩＤは、文書を一意に特定するための識別情報である。なお、文書がインターネットなどのネットワーク上に存在するリソースである場合には、文書の実体の代わりに、文書の実体へのUniform Resource
Identifier（ＵＲＩ）をテキストデータベース３０１ａに格納してもよい。テキストデ
ータベース３０１ａは、「データベース」の一例である。
【００２８】
テキスト検索部３０１は、キーボード２２０等の入力手段を介して指定された検索条件に基づいて、検索条件にマッチする複数の文書をテキストデータベース３０１ａから抽出する。テキスト検索部３０１により抽出された文書を「抽出文書」と呼ぶ。検索条件は、少なくともキーワードを含み、さらに論理演算子を含んでもよい。テキスト検索部３０１は、抽出文書の文書ＩＤを主記憶部１０２や補助記憶部１０３に記憶させる。テキスト検索部３０１は、「検索部」の一例である。
【００２９】
形態素解析部３０２は、入力された文書に含まれるテキストを単語に分割する形態素解析を行う。形態素解析部３０２は、例えば、単語と品詞とを対応づけた辞書を基にテキストを単語に分割し、当該単語に対応する品詞情報を導く。図３は、形態素解析部３０２による形態素解析結果の一例を示す図である。図３は、「リンゴは青森などで栽培されている果物です。」というテキストに対して形態素解析を実行した結果の一例である。図３において、各行の左端が、分割された単語を示す。分割された単語の右側には、当該単語の品詞情報として品詞、原形、活用の種類、発音表記等がカンマ区切りで示されている。
【００３０】
形態素解析部３０２は、テキスト検索部３０１から受け取った複数の抽出文書の各々に含まれるテキストを解析することにより、複数の抽出文書に少なくとも１回以上登場する単語を抽出する。形態素解析部３０２は、複数の抽出文書から抽出した複数の単語のそれ
ぞれに単語ＩＤを付し、それらを解析結果として主記憶部１０２に格納する。単語ＩＤは、単語を一意に特定するための識別情報である。形態素解析部３０２は、「解析部」の一例である。なお本実施形態では、解析部の具体例として形態素解析を例示したが、文書の解析方法は形態素解析に限られず、他の方法を採用してもよい。例えば、日本語の文書の場合には形態素解析の他、チャンキング処理を含む構文解析などを利用してもよい。また、英語の文書の場合にはtokenizerやchunkerを利用することも好ましい。
【００３１】
形態素解析部３０２は、抽出文書に含まれるすべての単語を抽出してもよいが、抽出数を減らすために、所定の品詞（例えば名詞など）に限定して抽出したり、登場回数が所定の閾値より多い単語のみを抽出したり、登場回数が多いものから所定数の単語を抽出したりしてもよい。また形態素解析部３０２は、構文解析を併用して、抽出する単語や句を形成する複合語や係り受け関係を持っている単語や句を形成する複合語の対を選定してもよい。例えばチャンキング処理を含む構文解析を利用することにより、意味的にまとまりのある複合語や語句を抽出することが可能となる。また、形態素解析部３０２は、形態素解析の結果から単語Ｎ−ｇｒａｍを生成してもよい。この場合、形態素解析部３０２によって最終的に出力される文字列は「単語」ではなく「複数の単語からなる複合語または語句」となるが、これ以降の処理において「単語」と「複合語」と「語句」を区別したり、「単語」か「複合語」か「語句」かで処理を変えたりする必要は特段ない。したがって、以下の説明では便宜的に「単語」という表現を用いるが、形態素解析部３０２から出力される文字列が「語句」または「複合語」の場合は以下の説明における「単語」を「語句」または「複合語」と読み替えればよい。上述した、登場回数の閾値、抽出する単語数、単語Ｎ−ｇｒａｍにおけるパラメータＮなどの設定をユーザに指定可能とするとよい。なお、単語Ｎ−ｇｒａｍを生成する場合には、Ｎ個の単語から構成される語句のみを抽出してもよいし、Ｎ個以下の単語から構成される語句を抽出してもよい。
【００３２】
文書ベクトル生成部３０３は、形態素解析部３０２によって抽出された複数の単語の各々について、文書ベクトルを生成する。文書ベクトルは、当該単語の抽出文書ごとの出現回数を要素としてもつベクトルである。文書ベクトル生成部３０３は、生成した文書ベクトルを単語ＩＤに対応付けて主記憶部１０２または補助記憶部１０３に記憶させる。図４は、文書ベクトル３０３１の一例を示す図である。図４の各列が文書ベクトル３０３１を示し、各行が抽出文書を示している。表中の数字は、対応列の単語が対応行の文書に出現する回数を示している。抽出文書の数がＭ個であれば、文書ベクトル３０３１はＭ次元のベクトルになる。例えば、図４において、単語ＩＤ「１０１」の単語「リンゴ」の文書ベクトル３０３１は｛…，１，２，３，０，０，…｝で示されている。この文書ベクトル３０３１により、単語「リンゴ」が、文書ＩＤ「１１」の文書に１回、文書ＩＤ「１２」の文書に２回、文書ＩＤ「１３」の文書に３回出現し、文書ＩＤ「１４」および「１５」の文書には出現しないことがわかる。
【００３３】
単語ベクトル生成部３０４は、テキスト検索部３０１によって抽出された複数の抽出文書の各々について、単語ベクトルを生成する。単語ベクトルは、当該文書における単語ごとの出現回数を要素としてもつベクトルである。単語ベクトル生成部３０４は、生成した単語ベクトルを文書ＩＤに対応付けて主記憶部１０２または補助記憶部１０３に記憶させる。図５は、単語ベクトル３０４１の一例を示す図である。図５の各行が単語ベクトル３０４１を示し、各列が単語を示している。表中の数字は、対応列の単語が対応行の文書に出現する回数を示している。単語の数がＬ個であれば、単語ベクトル３０４１はＬ次元のベクトルになる。例えば、図５において、文書ＩＤ「１２」の文書の単語ベクトル３０４１は｛…，２，１，０，０，０，０，０，…｝で示されている。この単語ベクトル３０４１により、文書ＩＤ「１２」の文書中に、単語「リンゴ」が２回と単語「ミカン」が１回出現し、単語「トマト」「スイカ」「メロン」「きゅうり」「イチゴ」は出現しないことがわかる。
【００３４】
分類器３０７は、入力される文書をｎ個のクラス（ｎは２以上の整数）に分類する分類器である。分類器３０７は、例えば、予め用意された特徴モデル３０７ａを用いて入力文書のスコアを計算し出力する。このスコアは、入力文書が或るクラスに属する確率又は尤度を表す値であって、連続値をとる（したがって、分類器３０７は回帰器と呼んでもよい。）。例えば、入力文書を「果物に関する文書」か否かに分類する２クラス分類器の場合は、０〜１の変域のスコアを出力するように設計ないし学習するとよい。この場合、出力スコアが１に近いほど「入力文書は果物に関する文書である可能性が高い」と判断でき、出力スコアが０に近いほど「入力文書は果物に関する文章ではない可能性が高い」と判断できる。また、入力文書を「野菜に関する文書」か「果物に関する文書」か「それ以外の文書」かに分類する３クラス分類器の場合は、−１（野菜）〜０〜＋１（果物）の変域のスコアを出力するように設計ないし学習するとよい。この場合、出力スコアが−１に近いほど「入力文書は野菜に関する文書である可能性が高い」と判断でき、出力スコアが＋１に近いほど「入力文書は果物に関する文書である可能性が高い」と判断でき、出力スコアが０に近いと「入力文書は野菜に関する文書でも果物に関する文書でもない可能性が高い」と判断できる。このような分類器３０７は、多数の教師データ（トレーニング用の文書サンプル）を用いた機械学習によって作成してもよいし、人が設計したルールやモデルに基づいて作成してもよい。機械学習の方法は何でもよく、例えば、サーポートベクターマシン（ＳＶＭ）、ベイジアンネットワーク、ニューラルネットワーク（ＮＮ）、ディープニューラルネットワーク（ＤＮＮ）などを利用できる。本実施形態ではＳＶＭを用いる。分類器３０７の出力スコアは、入力文書が有する特徴を数値化したものといえるので、以下では「文書特徴スコア」と呼ぶ。分類器３０８は、抽出文書ごとの文書特徴スコアを算出する「文書特徴算出部」の一例である。
【００３５】
単語分類度計算部３０６と分類度ベクトル生成部３０８はともに、単語の文書ベクトル３０３１と各文書の文書特徴スコアに基づいて、当該単語の特徴を表す特徴量を算出する機能である。単語分類度計算部３０６と分類度ベクトル生成部３０８の違いは、前者で求められる特徴量（分類度）が一つの値からなる指標（スカラー）であるのに対し、後者で求められる特徴量（分類度ベクトル）は複数の値の組からなる指標（ベクトル）である点である。いずれの特徴量も単語（文字列）の特徴を表す指標であり、「文字列特徴量」の一例である。各々の特徴量の具体的な計算方法を以下に述べる。
【００３６】
単語分類度計算部３０６は、対象となる単語の文書ベクトル３０３１から、当該単語が１回以上出現する抽出文書（以下「出現文書」と呼ぶ）を特定し、特定された出現文書それぞれの文書特徴スコアに基づいて当該単語の特徴量を計算する。具体的には、単語分類度計算部３０６は、出現文書の文書特徴スコアとその出現文書における当該単語の出現回数との積を計算し、文書特徴スコアと出現回数の積をすべての出現文書について合計した値を、当該単語の特徴量とする。この特徴量は、後段の木構造生成処理において単語の分類に利用されるため、本明細書ではこの特徴量を「単語の分類度」と称する。例えば図６の「スイカ」の場合、出現文書は文書ＩＤ「１３」と「１５」の２つの文書であり、それぞれの文書特徴スコアは「０．８」と「−０．１」、出現回数は「６」と「３」である。したがって「スイカ」の分類度は、
「スイカ」の分類度＝６×０．８＋３×（−０．１）＝４．５
と求まる。なお本実施形態では、文書特徴スコアと出現回数の積の合計値を分類度と定義したが、合計値の代わりに別の統計量を用いてもよい。例えば、平均、標準偏差等によって分類度が求められてもよい。
【００３７】
分類度ベクトル生成部３０８は、対象となる単語の文書ベクトル３０３１から出現文書を特定し、特定された出現文書それぞれの文書特徴スコアに基づいて当該単語の特徴量を計算する。具体的には、分類度ベクトル生成部３０８は、文書特徴スコアと当該単語の出
現回数との積を要素としてもつベクトルを、当該単語の特徴量とする。この特徴量も、後段の木構造生成処理において単語の分類に利用されるため、本明細書でこの特徴量を「分類度ベクトル」と称する。例えば図６の「スイカ」の場合、分類度ベクトル３０８１は｛…，０，０，６×０．８，０，３×（−０．１），…｝となる。なお、本実施形態の例では、単語の分類度は、当該単語の分類度ベクトルのすべての要素の和に等しくなる。
【００３８】
基点決定部３０９は、木構造の基点となる単語を決定する。基点となる単語は、例えば、ユーザが指定した単語であってもよいし、分類度が最も大きい単語又は最も小さい単語であってもよいし、分類度ベクトル３０８１の大きさが最も大きい単語又は最も小さい単語であってもよい。また、基点決定部３０９が、すべての単語の間の分類度の平均である平均分類度を算出し、すべての単語のうちで平均分類度に最も近い分類度をもつ単語を基点に選んでもよい。また、基点決定部３０９は、すべての単語の間の分類度ベクトルの平均である平均分類度ベクトルを算出し、すべての単語のうちで平均分類度ベクトルに最も近い分類度ベクトルをもつ単語を基点に選んでもよい。基点決定部３０９は、基点として決定した単語の情報を表示データ生成部３１０に渡す。なお、本実施形態では、分類度ベクトル３０８１の大きさを「分類度ベクトルのすべての要素の和」と定義する。したがって、本実施形態では「単語の分類度」と「単語の分類度ベクトルの大きさ」は同じ値となる。
【００３９】
なお、木構造の基点は空（から）のノードであってもよい。基点を空のノードにする場合、基点決定部３０９は、すべての単語の中から、分類度が最も大きい単語と最も小さい単語のペア、又は、分類度ベクトルの大きさが最も大きい単語と最も小さい単語のペアを選択し、表示データ生成部３１０に渡す。
【００４０】
表示データ生成部３１０は、複数の単語の関係を表す木構造を生成し、ディスプレイ２１０に出力する。本実施形態で生成される木構造は、各々のノードに単語が対応付けられており、かつ、単語間の特徴量（分類度又は分類度ベクトル）の差に基づいて各ノードの配置が決定される点に特徴がある。詳しくは後述する。
【００４１】
単語特徴量比較部３１１は、２つの単語の間の特徴量を比較することで、２つの単語の類似度を評価する機能である。具体的には、単語特徴量比較部３１１は、２つの単語の間の特徴量の差を計算し、その値を類似度として出力する（この場合、差が小さいほど類似度が高い、差が大きいほど類似度が低いこととなる）。特徴量の差は、例えば次のように求めることができる。特徴量が分類度（スカラー）の場合は、２つの単語の間で分類度の差（減算値）又はその絶対値を計算すればよい。また特徴量が分類度ベクトルの場合は、２つの単語の間の分類度ベクトルの差を、コサイン類似度やユークリッド距離等のベクトル比較関数により計算すればよい。
【００４２】
ノード近接処理部３１２は、木構造におけるノード間の関連性の強さを変更するための操作環境をユーザに提供する機能である。具体的には、ユーザがキーボード２２０やマウス２３０等を用いて木構造における２以上のノードを指定し所定の操作（ボタンの押下やメニューの選択など）を行うと、ノード近接処理部３１２は、少なくとも指定された２以上のノードに対応付けられている単語の特徴量（分類度又は分類度ベクトル）に影響を与える所定の処理を実行する。ここで「所定の処理」は、例えば、指定された２以上のノードに対応付けられている単語の特徴量に対して重みづけを行う処理などが該当する。ノード近接処理部３１２は、「処理部」の一例である。
【００４３】
＜処理フロー＞
図１１から図１４を参照して、第１実施形態に係る情報処理装置１００が実行する処理フローについて説明する。図１１から図１４は、第１実施形態に係る処理フローの一例を
示す図である。図１１の「Ａ」は図１２の「Ａ」に接続し、図１２の「Ｂ」は図１３の「Ｂ」に接続し、図１３の「Ｃ」は図１４の「Ｃ」に接続し、図１４の「Ｄ」は図１２の「Ｄ」に接続する。
【００４４】
ステップＳ１では、キーボード２２０等の入力手段によって検索条件が指定され、検索クエリが生成される。検索クエリは、テキスト検索部３０１に渡される。ステップＳ２では、テキスト検索部３０１は、検索クエリに含まれるキーワードを含む文書をテキストデータベース３０１ａから抽出する。ステップＳ１からステップＳ２までの処理は、「検索ステップ」の一例である。
【００４５】
ステップＳ３では、形態素解析部３０２は、テキスト検索部３０１で得られた抽出文書の各々のテキストに対し形態素解析を行うことによって、複数の単語（文字列）を抽出する。ステップＳ３は、「解析ステップ」の一例である。
【００４６】
ステップＳ４では、文書ベクトル生成部３０３は、形態素解析部３０２で得られた各々の単語について文書ベクトル３０３１を生成する。ステップＳ５では、単語ベクトル生成部３０４が、テキスト検索部３０１で得られた各々の抽出文書について単語ベクトル３０４１を生成する。ステップＳ４とステップＳ５の順番は入れ替えてもよい。
【００４７】
ステップＳ６では、分類器３０７が、テキスト検索部３０１で得られた抽出文書の各々について、文書特徴スコアを算出する。ステップＳ７では、単語分類度計算部３０６が、各単語の分類度を計算する。ステップＳ８では、分類度ベクトル生成部３０８が、各単語の分類度ベクトルを計算する。ステップＳ６は、「文書特徴算出ステップ」の一例であり、ステップＳ７からステップＳ８は、「文字列特徴量算出ステップ」の一例である。
【００４８】
ステップＳ９では、基点決定部３０９が、木構造の基点ノードとなる単語を決定する。基点決定部３０９は、基点ノードとして決定した単語を表示データ生成部３１０に渡す。なお、基点ノードを「空」とする場合には、基点決定部３０９は、分類度が最も大きい単語と最も小さい単語のペア、又は、分類度ベクトルの大きさが最も大きい単語と最も小さい単語のペア、を表示データ生成部３１０に渡す。ステップＳ９は、「基点決定ステップ」の一例である。
【００４９】
ステップＳ１０では、表示データ生成部３１０が、基点決定部３０９から渡された単語を基点ノードとして設定する。基点ノードが「空」である場合には、表示データ生成部３１０は、基点決定部３０９から受け取った単語のペアを「空」である基点ノードの配下に配置する。図７は、「空」である基点ノードの配下に分類度が最も大きい単語「リンゴ」のノードと分類度が最も小さい単語「トマト」のノードとを配置した状態の一例を示す図である。ステップＳ１０により木構造の基点が生成される。
【００５０】
ステップＳ１１では、表示データ生成部３１０は、残りの単語（つまり、未だ木構造に配置されていない単語）の中から、次に木構造に追加する候補となる単語を選択する。基点ノードが「空」の場合は、例えば、残りの単語の中から、単語の分類度が最も大きい単語と最も小さい単語のペア、又は、単語の分類度ベクトルの大きさが最も大きい単語と最も小さい単語のペアを選択するとよい。基点ノードが「空」でない場合は、例えば、残りの単語の中から、基点ノードの単語に最も類似する単語を選択するとよい（なお、単語間の類似度については単語特徴量比較部３１１と同じ方法で計算すればよい）。選択された追加候補の単語は、単語特徴量比較部３１１に渡される。
【００５１】
ステップＳ１２では、単語特徴量比較部３１１が、木構造に既に表示されているノードのうち、子ノードを追加可能なノードを特定する。本実施形態では二分木を対象としてい
るため、子ノードを追加可能なノードとは、子ノードを有していないか、１つの子ノードのみを有するノードである。そして、単語特徴量比較部３１１は、ステップＳ１１で選択された追加候補の単語と子ノードを追加可能なノードに対応付けられた単語とのすべての組み合わせについて、単語間の特徴量を比較し、単語間の類似度が最も高い（特徴量の差が最も小さい）組み合わせを選定する。追加候補の単語と子ノードを追加可能なノードの情報は、表示データ生成部３１０に渡される。
【００５２】
ステップＳ１３では、表示データ生成部３１０が、子ノードを追加可能なノードに対し新たな子ノードを追加し、その子ノードに追加候補の単語を対応付ける。これにより特徴量が類似する単語が子ノードとして連結されていくことになる。図８は、類似するノードを追加した状態の一例である。図８では、ノード「リンゴ」の下に子ノード「みかん」が追加され、ノード「トマト」の下に子ノード「きゅうり」が追加されている。本実施形態では二分木で表示されるため、２つの子ノードを有するノードについては、子ノードの追加が行われない。
【００５３】
ステップＳ１４では、表示データ生成部３１０が、未処理の単語（つまり木構造に追加されていない単語）が残っているか調べる。未処理の単語が残っている場合は、ステップＳ１１〜Ｓ１３の処理を繰り返す。未処理の単語が無い場合は、ステップＳ１５に移る。ステップＳ１５では、表示データ生成部３１０が、決定した構造の二分木をディスプレイ２１０等の表示装置に出力する。
【００５４】
ステップＳ１６以降の処理は、表示された木構造に対する操作に応答する処理である。ステップＳ１６では、ユーザによりノード近接指示が行われた否かが判定される。例えば、ユーザがマウス２３０等を用いて２つ以上のノードを指定（以後「近接対象ノード」と呼ぶ）し、メニューから「近接処理」を選択する、というような所定の操作が行われた場合に、「近接対象ノードに対するノード近接指示が行われた」と判定される。ノード近接指示が行われた場合（ステップＳ１６でＹＥＳ）、処理はステップＳ１７へ進められる。ノード近接指示が行われていない場合（ステップＳ１６でＮＯ）、ステップＳ１６の処理が繰り返される。
【００５５】
ステップＳ１７において、ノード近接処理部３１２は重みＷを計算する。ステップＳ１８において、ノード近接処理部３１２は重みＷを用いて重みづけ処理を行う。なお、重みの計算式及び重みづけ処理の内容は、木構造を生成するときに用いる単語特徴量が「分類度（スカラー）」であるか「分類度ベクトル」であるかで相違する。そこで以下、それぞれの場合を分けて説明する。
【００５６】
（分類度の場合）
木構造を生成するときの単語特徴量として分類度を用いている場合には、ノード近接処理部３１２は、重みＷ１を以下の式（１）によって求める。
【数１】
2020060816.tif 000003
【００５７】
式（１）において、
Ｎは「すべてのノード（単語）の中での、出現文書の最大数」であり、
ＭＣは「近接対象ノード（単語）の間で共通する出現文書の数」であり、
ＮＣは「近接対象ノード（単語）の数」であり、
ＭＡは「すべての文書の文書特徴スコアの平均値」である。
【００５８】
例えば、図９の上段に示す７つの単語と５つの文書からなる木構造を仮定し、「ミカン」と「イチゴ」の２つのノードが指定された状態でノード近接指示が行われた場合を例にとり、重みづけ処理の具体例を説明する。各ノードの出現文書の数は、「リンゴ」が３、「ミカン」と「スイカ」と「メロン」と「きゅうり」と「イチゴ」が２、「トマト」が１であるから、Ｎ＝３となる。また近接対象ノードは「ミカン」と「イチゴ」の２つであるから、ＮＣ＝２となり、「ミカン」と「イチゴ」の間で共通する出現文書は１つ（文書ＩＤ：１３）であるから、ＭＣ＝１となる。また、ＭＡ＝（０．３＋０．５＋０．８−０．５−０．１）／５＝０．２となる。したがって、重みはＷ１＝０．３と求まる。
【００５９】
次に、ノード近接処理部３１２は、重みＷ１を用いた重みづけ処理を実行する。重みづけ処理は、近接対象ノードの間で共通する出現文書（以下「近接対象ノードの共通文書」と呼ぶ）の重みを他の文書に比べて大きくするための処理、言い換えると、近接対象ノードの共通文書が分類度の計算に与える影響度合いを他の文書に比べて相対的に強くするための処理である。本実施形態では、近接対象ノードの共通文書の文書特徴スコアに重みＷ１を加算する、という処理を行う。上記例のように、近接対象ノードとして「ミカン」と「イチゴ」が選ばれている場合、「ミカン」と「イチゴ」の共通文書は文書ＩＤ「１３」の文書１つであるから、重みづけ処理の結果、文書ＩＤ「１３」の文書特徴スコアのみが０．８→１．１（＝０．８＋０．３）のように調整される。そして、調整後の文書特徴スコアを用いて、すべての単語の分類度が再計算され、各単語の分類度が図９の下段のように変化する。
【００６０】
このような重みづけ処理によって、近接対象ノードとして選ばれた単語である「ミカン」と「イチゴ」の分類度だけでなく、近接対象ノードの共通文書に出現する他の単語「リンゴ」、「スイカ」、「メロン」の分類度も変化することがわかる。その結果、重みづけ処理の前と後で、単語同士の類似関係が変化する。
【００６１】
（分類度ベクトルの場合）
木構造を生成するときの単語特徴量として分類度ベクトルを用いている場合には、ノード近接処理部３１２は、重みＷ２を以下の式（２）によって求める。
【数２】
2020060816.tif 000004
【００６２】
式（２）において、
Ｎ２は「すべてのノード（単語）の中での、出現文書の最大数」であり、
ＭＣ２は「近接対象ノード（単語）の間で共通する出現文書数」であり、
ＮＣ２は「近接対象ノード（単語）の数」である。
【００６３】
つまり、式（２）は、式（１）のＭＡが無い式である。例えば、図１０の上段に示す７つの単語と５つの文書からなる木構造を仮定し、「ミカン」と「イチゴ」の２つのノードが指定された状態でノード近接指示が行われた場合を例にとり、重みづけ処理の具体例を説明する。各ノードの出現文書の数は、「リンゴ」が３、「ミカン」と「スイカ」と「メロン」と「きゅうり」と「イチゴ」が２、「トマト」が１であるから、Ｎ２＝３となる。また近接対象ノードは「ミカン」と「イチゴ」の２つであるから、ＮＣ２＝２となり、「ミカン」と「イチゴ」の間で共通する出現文書は１つ（文書ＩＤ：１３）であるから、ＭＣ２＝１となる。したがって、重みはＷ２＝１．５と求まる。
【００６４】
次に、ノード近接処理部３１２は、重みＷ２を用いた重みづけ処理を実行する。本実施
形態では、近接対象ノードの共通文書の文書特徴スコアに重みＷ２を乗じる、という処理を行う。上記例のように、近接対象ノードとして「ミカン」と「イチゴ」が選ばれている場合、「ミカン」と「イチゴ」の共通文書は文書ＩＤ「１３」の文書１つであるから、重みづけ処理の結果、文書ＩＤ「１３」の文書特徴スコアのみが０．８→１．２（＝０．８×１．５）のように調整される。そして、調整後の文書特徴スコアを用いて、すべての単語の分類度ベクトルが再計算され、各単語の分類度ベクトルが図１０の下段のように変化する。
このような重みづけ処理によって、近接対象ノードとして選ばれた単語である「ミカン」と「イチゴ」の分類度ベクトルだけでなく、近接対象ノードの共通文書に出現する他の単語「リンゴ」、「スイカ」、「メロン」の分類度ベクトルも変化することがわかる。その結果、重みづけ処理の前と後で、単語同士の類似関係が変化する。
【００６５】
図１４の説明に戻る。以上のように重みづけ処理を終えると、ステップＳ１９の処理に進む。ステップＳ１９では、ノード近接処理部３１２が、ステップＳ１７で計算した重みの値と、近接対象ノードの情報とを、重みづけ履歴３１２ａに記録する。
【００６６】
図１５は、重みづけ履歴３１２ａに格納される情報の一例を示す図である。重みづけ履歴３１２ａは、例えば、「項番」、「ノード」および「与えた重み」が対応付けて格納される。「項番」には、何回目の重みづけであるかを示す情報が格納される。「ノード」には、近接対象ノードを特定する情報（例えば単語ＩＤなど）が格納される。「与えた重み」には、重みの値が格納される。重みづけ履歴３１２ａを参照することで、各ノードの分類度又は分類度ベクトルを過去の状態（重みづけ処理前の状態）に戻すことも可能である。
【００６７】
その後、処理は図１２のステップＳ９に戻され、調整後の分類度又は分類度ベクトルを用いて木構造の再構築が行われる。その結果、近接対象ノードとして選ばれた単語同士の距離が近づくようにノードの配置が変化した木構造が得られる。また、前述のように、共通文書に出現する他の単語についても分類度又は分類度ベクトルが変化するため、木構造全体のバランスやノードの配置が大きく変わる可能性もある。そのような木構造を見ることにより、単語同士の関係や文書同士の関連性・類似性について新たな発見や気づきが得られることも期待できる。
【００６８】
図１６は、重みづけによってノードの配置が変更される様子の一例を示す図である。図１６（Ａ）は変更前の状態の一例であり、図１６（Ｂ）は、変更後の状態の一例である。図１６（Ａ）の木構造において、ユーザが「ミカン」と「イチゴ」を指定してノード近接指示を行った結果、「ミカン」と「イチゴ」の間の特徴量（分類度又は分類度ベクトル）の差が小さくなり、図１６（Ｂ）のように、「ミカン」の子ノードとして「イチゴ」が配置されている。このように、関係性が高い２つの単語（又は、関係性が高くあるべきとユーザが考える２つの単語）が木構造上で離れている場合などに、それらを指定しノード近接指示を行うだけで、ユーザの意図が反映された木構造を簡単に再構成することができる。また、前述のように、近接対象ノードとして指定された単語以外の単語（「リンゴ」、「メロン」、「スイカ」）の分類度や分類度ベクトルも変化した結果、図１６（Ｂ）の例では、「リンゴ」の子ノードに「メロン」が、さらにその子ノードに「スイカ」が配置されている。このような木構造を見ることで、ユーザは「リンゴ」と「メロン」と「スイカ」の間の関連性を見出すことができる。なお、重みづけが変更された場合に、係数表示部３１３が当該ノードに変更後の重みや分類度などを表示してもよい。
【００６９】
なお、上記実施形態では、二分木を例示したが、木構造としては、三分木またはそれ以上に分岐する木構造であってもよい。この場合、ユーザがキーボード２２０等の入力手段を介して、表示データ生成部３１０に対して分岐する分岐数を指定すればよい。例えば、
木構造を三分木とする場合、分岐数として「３」が指定されればよい。
【００７０】
上記実施形態では、基点ノードが「空」の場合に、基点の下に接続するノードとして、分類度又は分類度ベクトルの大きさ（以下まとめて「分類度」と記す）が最大の単語と最小の単語のペアを選択し（ステップＳ９参照）、それ以降追加するノードとして、残りの単語の中から、分類度が最大の単語と最小の単語のペアを選択することとした（ステップＳ１１参照）。このような選択手順は、木構造が二分木であり、かつ、分類度が「当該単語があるクラスに属するか否か」を表す指標である場合に好適な例である。もし、木構造が二分木であり、かつ、分類度が「当該単語が第１のクラスに属するか第２のクラスに属するか」を表す指標である場合は、ステップＳ９やＳ１１において、第１のクラスへの分類度が最大の単語と第２のクラスへの分類度が最大の単語の２つを選択すればよい。また、木構造が三分木であり、かつ、分類度が「当該単語が第１のクラスに属するか第２のクラスに属するか第３のクラスに属するか」を表す指標である場合は、ステップＳ９やＳ１１において、第１のクラスへの分類度が最大の単語と第２のクラスへの分類度が最大の単語と第３のクラスへの分類度が最大の単語の３つを選択すればよい。分岐数が３より多い場合も同様である。
【００７１】
＜第１実施形態の利点＞
以上述べた第１実施形態による利点をまとめると次のとおりである。上述した木構造では、単語の特徴を表す特徴量（分類度又は分類度ベクトル）の差に基づいて各ノードの配置が決定されているので、各ノード（単語）の配置や接続関係などから、検索結果である複数の抽出文書に出現する単語の傾向などを容易に把握できる。また、上記実施形態では、単語の特徴を、単語そのものではなく、当該単語を使用している文書（テキスト、文脈）の特徴である文書特徴スコアを使って表現している。それゆえ、木構造における各ノードの配置や接続関係は、文書同士の関連性・類似性を反映したものとなる。したがって、上述した木構造を用いることにより、複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現することができる。しかも、木構造におけるノード間の関連性の強さをユーザ自身が容易に変更することができる。よって、ユーザによる情報探索作業を支援することが可能となる。
【００７２】
＜第２実施形態＞
図１７を参照して、本発明の第２実施形態について説明する。第２実施形態では、単語分類器（文字列の分類器）を用いて単語から直接的に単語の特徴量である分類度を求める。
【００７３】
図１７に示すように、第２実施形態に係る情報処理装置１００は、単語分類器４０１、単語特徴モデル４０１ａ、及び、学習処理部４０２を備える。それ以外の構成は第１実施形態のものと同じである。
【００７４】
単語分類器４０１は、入力される単語をｎ個のクラス（ｎは２以上の整数）に分類する分類器である。単語分類器４０１は、例えば、予め用意された単語特徴モデル４０１ａを用いて入力単語のスコアを計算し出力する。このスコアは、入力単語が或るクラスに属する確率又は尤度を表す値であって、連続値をとる（したがって、単語分類器４０１は回帰器と呼んでもよい。）。このような単語分類器４０１は、多数の教師データを用いた機械学習によって作成してもよいし、人が設計したルールやモデルに基づいて作成してもよい。機械学習の方法は何でもよく、例えば、サーポートベクターマシン（ＳＶＭ）、ベイジアンネットワーク、ニューラルネットワーク（ＮＮ）、ディープニューラルネットワーク（ＤＮＮ）などを利用できる。本実施形態ではＳＶＭを用いる。
【００７５】
機械学習の場合に、文字列が出現する複数の文書のデータを教師データとして用いても
よい。文字列と文字列特徴量との対応関係を学習するための教師データとして、当該文字列が出現する文書のデータを利用することにより、第１実施形態の方法で求められる特徴量（分類度）と同じような特性をもつ特徴量を得ることができる。例えば、文字列を「果物」か「野菜」かの２つのカテゴリに分類する単語分類器を学習する場合であれば、「果物」について記載されている多数の文書データ、及び、「野菜」について記載されている多数の文書データを、教師データとして用いる。そして、教師データ（つまり「果物」カテゴリの文書群と「野菜」カテゴリの文書群）から抽出した文字列（例えば「リンゴ」、「ミカン」など）が各カテゴリの文書群に出現する割合に応じて、当該文字列を各カテゴリに分類することの確からしさ（つまり、「果物らしさ」、「野菜らしさ」）を学習する。このような単語分類器を用いると、例えば、「リンゴ」という文字列を入力したときに、「果物：０．９８、野菜：０．３１」というような出力スコアが得られる。
【００７６】
また、上記以外の方法として、ＷｏｒｄＮｅｔなどのシソーラスを用いて単語同士の意味的距離（概念距離）を計算してもよい。
【００７７】
なお、単語分類器４０１の出力スコアは、単語が表す文字列の特徴を数値化したものであり、「文字列特徴量」の一例である。また単語分類器４０１は、「文字列特徴算出部」の一例である。
【００７８】
第１実施形態では、ノード近接指示が行われると、近接対象ノードの共通文書に対する重みづけ処理が実行されたが、第２実施形態では、単語の特徴量（分類度）の求め方が第１実施形態とは異なるため、重みづけ処理の代わりに、単語分類器４０１の再学習を行う。すなわち、近接対象ノードとして指定された２つ以上の単語について、より近い値の分類度が出力されるように、単語分類器４０１のモデルを再学習するのである。
【００７９】
例えば、図４に示す７つの単語と５つの文書からなる木構造を仮定し、「ミカン」と「イチゴ」の２つのノードが指定された状態でノード近接指示が行われた場合を例にとり、再学習処理の具体例を説明する。「ミカン」と「イチゴ」の間の共通文書は文書ＩＤ「１３」の文書１つである。この共通文書の数を増やした教師データを与えて再学習を行えば、「ミカン」の果物らしさ及び「イチゴ」の果物らしさがともに高まるため、結果として、「ミカン」と「イチゴ」についてより近い値の分類度を出力するような分類器を得ることができる。
【００８０】
なお、共通する出現文書の数を増やす方法については特に限定されない。簡単な方法としては、文書ＩＤ「１３」の文書の複製を生成し、それに新たな文書ＩＤを付与し、教師データに追加すればよい。この方法では、複製する数を増やすだけで簡単に教師データの増加が可能である。この場合に、例えば、第１実施形態で用いた式（２）を使ってＷ２の値を計算し、Ｗ２の値を丸めて（切り上げ、切り捨て、又は四捨五入など）整数値Ｉを求め、その値Ｉを複製する数とするとよい。このようにＷ２に基づき複製数を決定することにより、教師データ全体のバランスを調整することができる。
【００８１】
＜第２実施形態の利点＞
以上述べた第２実施形態の構成によっても、第１実施形態と同様の作用効果を得ることができる。
【００８２】
＜コンピュータが読み取り可能な記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させる情報処理プログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００８３】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、Compact Disc Read Only Memory（ＣＤ−ＲＯＭ）、Compact Disc - Recordable（ＣＤ−Ｒ）、Compact Disc - ReWriterable（ＣＤ−ＲＷ）、Digital Versatile Disc（ＤＶＤ）、ブ
ルーレイディスク（ＢＤ）、Digital Audio Tape（ＤＡＴ）、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ等がある。
【符号の説明】
【００８４】
１００・・・情報処理装置
２１０・・・ディスプレイ
２２０・・・キーボード
２３０・・・マウス
３０３１・・・文書ベクトル
３０４１・・・単語ベクトル
３０８１・・・分類度ベクトル
【図１】
2020060816.tif 000005
【図２】
2020060816.tif 000006
【図３】
2020060816.tif 000007
【図４】
2020060816.tif 000008
【図５】
2020060816.tif 000009
【図６】
2020060816.tif 000010
【図７】
2020060816.tif 000011
【図８】
2020060816.tif 000012
【図９】
2020060816.tif 000013
【図１０】
2020060816.tif 000014
【図１１】
2020060816.tif 000015
【図１２】
2020060816.tif 000016
【図１３】
2020060816.tif 000017
【図１４】
2020060816.tif 000018
【図１５】
2020060816.tif 000019
【図１６】
2020060816.tif 000020
【図１７】
2020060816.tif 000021