(57)【要約】【課題】複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現し、ユーザによる情報探索作業を支援できる技術を提供する。【解決手段】情報処理装置は、データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、前記複数の抽出文書の各々について文書特徴スコアを算出する文書特徴算出部と、前記複数の抽出文字列の各々について、当該抽出文字列を含む１以上の抽出文書の文書特徴スコアから当該抽出文字列を含む１以上の抽出文書の文書特徴スコアから当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部と、前記複数の抽出文字列の各々がノードに対応付けられ、かつ、文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、を有する。【選択図】図２
2020060811.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（ＵＲＩ）をテキストデータベース３０２ａに格納してもよい。テキストデ
ータベース３０２ａは、「データベース」の一例である。
【００３９】
テキスト検索部３０２は、キーボード２２０等の入力手段を介して指定された検索条件に基づいて、検索条件にマッチする複数の文書をテキストデータベース３０２ａから抽出する。テキスト検索部３０２により抽出された文書を「抽出文書」と呼ぶ。検索条件は、少なくともキーワードを含み、さらに論理演算子を含んでもよい。テキスト検索部３０２は、指定された検索条件に含まれるキーワードの同義語を同義語展開部３０１から受け取り、キーワードと同義語とを指定したＯＲ検索を実行してもよい。キーワードとその同義語とを指定したＯＲ検索を実行することで、テキスト検索部３０２は、ユーザにより指定されたキーワードとその同義語の少なくともいずれか一方を含む文書をテキストデータベース３０２ａから抽出することができる。テキスト検索部３０２は、抽出文書の文書ＩＤを主記憶部１０２や補助記憶部１０３に記憶させる。テキスト検索部３０２は、「検索部」の一例である。
【００４０】
同義語展開部３０１は、指定されたキーワードの同義語を検索する。ここで、同義語は、キーワードと同じ意味である単語に限定されず、キーワードと類似する意味の単語であってもよい。同義語展開部３０１は、指定されたキーワードを基に同義語辞書３０１ａを検索する。図３は、同義語辞書３０１ａの構成の一例を示す図である。同義語辞書３０１ａの各行は、複数の同義語から構成される同義語群を示し、同義語群のうちから選択された１つの代表語と残りの同義語とが列挙されている。同義語展開部３０１は、指定されたキーワードを同義語辞書３０１ａから検索し、キーワードが属する同義語群に含まれる単語（キーワードと同じ単語は除く）を同義語として返す。例えばキーワードとして「林檎」が指定された場合、同義語展開部３０１は「林檎」を同義語辞書３０１ａから検索し、「林檎」が属する同義語群に含まれる「リンゴ」、「りんご」、「Apple」を「林檎」の
同義語として返す。
【００４１】
形態素解析部３０３は、入力された文書に含まれるテキストを単語に分割する形態素解析を行う。形態素解析部３０３は、例えば、単語と品詞とを対応づけた辞書を基にテキストを単語に分割し、当該単語に対応する品詞情報を導く。図４は、形態素解析部３０３による形態素解析結果の一例を示す図である。図４は、「リンゴは青森などで栽培されている果物です。」というテキストに対して形態素解析を実行した結果の一例である。図４において、各行の左端が、分割された単語を示す。分割された単語の右側には、当該単語の品詞情報として品詞、原形、活用の種類、発音表記等がカンマ区切りで示されている。
【００４２】
形態素解析部３０３は、テキスト検索部３０２から受け取った複数の抽出文書の各々に含まれるテキストを解析することにより、複数の抽出文書に少なくとも１回以上登場する単語を抽出する。形態素解析部３０３は、複数の抽出文書から抽出した複数の単語のそれぞれに単語ＩＤを付し、それらを解析結果として主記憶部１０２に格納する。単語ＩＤは、単語を一意に特定するための識別情報である。形態素解析部３０３は、「解析部」の一例である。なお本実施形態では、解析部の具体例として形態素解析を例示したが、文書の解析方法は形態素解析に限られず、他の方法を採用してもよい。例えば、日本語の文書の場合には形態素解析の他、チャンキング処理を含む構文解析などを利用してもよい。また、英語の文書の場合にはtokenizerやchunkerを利用することも好ましい。
【００４３】
形態素解析部３０３は、抽出文書に含まれるすべての単語を抽出してもよいが、抽出数を減らすために、所定の品詞（例えば名詞など）に限定して抽出したり、登場回数が所定の閾値より多い単語のみを抽出したり、登場回数が多いものから所定数の単語を抽出したりしてもよい。また形態素解析部３０３は、構文解析を併用して、抽出する単語や句を形
成する複合語や係り受け関係を持っている単語や句を形成する複合語の対を選定してもよい。例えばチャンキング処理を含む構文解析を利用することにより、意味的にまとまりのある複合語や語句を抽出することが可能となる。また、形態素解析部３０３は、形態素解析の結果から単語Ｎ−ｇｒａｍを生成してもよい。この場合、形態素解析部３０３によって最終的に出力される文字列は「単語」ではなく「複数の単語からなる複合語または語句」となるが、これ以降の処理において「単語」と「複合語」と「語句」を区別したり、「単語」か「複合語」か「語句」かで処理を変えたりする必要は特段ない。したがって、以下の説明では便宜的に「単語」という表現を用いるが、形態素解析部３０３から出力される文字列が「語句」または「複合語」の場合は以下の説明における「単語」を「語句」または「複合語」と読み替えればよい。上述した、登場回数の閾値、抽出する単語数、単語Ｎ−ｇｒａｍにおけるパラメータＮなどの設定をユーザに指定可能とするとよい。なお、単語Ｎ−ｇｒａｍを生成する場合には、Ｎ個の単語から構成される語句のみを抽出してもよいし、Ｎ個以下の単語から構成される語句を抽出してもよい。
【００４４】
文書ベクトル生成部３０４は、形態素解析部３０３によって抽出された複数の単語の各々について、文書ベクトルを生成する。文書ベクトルは、当該単語の抽出文書ごとの出現回数を要素としてもつベクトルである。文書ベクトル生成部３０４は、生成した文書ベクトルを単語ＩＤに対応付けて主記憶部１０２または補助記憶部１０３に記憶させる。図５は、文書ベクトル３０４１の一例を示す図である。図５の各列が文書ベクトル３０４１を示し、各行が抽出文書を示している。表中の数字は、対応列の単語が対応行の文書に出現する回数を示している。抽出文書の数がＭ個であれば、文書ベクトル３０４１はＭ次元のベクトルになる。例えば、図５において、単語ＩＤ「１０１」の単語「リンゴ」の文書ベクトル３０４１は｛…，１，２，３，０，０，…｝で示されている。この文書ベクトル３０４１により、単語「リンゴ」が、文書ＩＤ「１１」の文書に１回、文書ＩＤ「１２」の文書に２回、文書ＩＤ「１３」の文書に３回出現し、文書ＩＤ「１４」および「１５」の文書には出現しないことがわかる。
【００４５】
単語ベクトル生成部３０５は、テキスト検索部３０２によって抽出された複数の抽出文書の各々について、単語ベクトルを生成する。単語ベクトルは、当該文書における単語ごとの出現回数を要素としてもつベクトルである。単語ベクトル生成部３０５は、生成した単語ベクトルを文書ＩＤに対応付けて主記憶部１０２または補助記憶部１０３に記憶させる。図６は、単語ベクトル３０５１の一例を示す図である。図６の各行が単語ベクトル３０５１を示し、各列が単語を示している。表中の数字は、対応列の単語が対応行の文書に出現する回数を示している。単語の数がＬ個であれば、単語ベクトル３０５１はＬ次元のベクトルになる。例えば、図６において、文書ＩＤ「１２」の文書の単語ベクトル３０５１は｛…，２，１，０，０，０，０，０，…｝で示されている。この単語ベクトル３０５１により、文書ＩＤ「１２」の文書中に、単語「リンゴ」が２回と単語「ミカン」が１回出現し、単語「トマト」「スイカ」「メロン」「きゅうり」「イチゴ」は出現しないことがわかる。
【００４６】
ストップワード辞書３０４ａは、文書ベクトル３０４１や単語ベクトル３０５１に含めない単語を示す情報を格納する辞書である。図７は、ストップワード辞書の一例を示す図である。文書ベクトル生成部３０４および単語ベクトル生成部３０５は、例えば、ストップワード辞書３０４ａに格納されている単語を除外して文書ベクトル３０４１や単語ベクトル３０５１を生成してもよい。
【００４７】
分類器３０８は、入力される文書をｎ個のクラス（ｎは２以上の整数）に分類する分類器である。分類器３０８は、例えば、予め用意された特徴モデル３０８ａを用いて入力文書のスコアを計算し出力する。このスコアは、入力文書が或るクラスに属する確率又は尤度を表す値であって、連続値をとる（したがって、分類器３０８は回帰器と呼んでもよい
。）。例えば、入力文書を「果物に関する文書」か否かに分類する２クラス分類器の場合は、０〜１の変域のスコアを出力するように設計ないし学習するとよい。この場合、出力スコアが１に近いほど「入力文書は果物に関する文書である可能性が高い」と判断でき、出力スコアが０に近いほど「入力文書は果物に関する文章ではない可能性が高い」と判断できる。また、入力文書を「野菜に関する文書」か「果物に関する文書」か「それ以外の文書」かに分類する３クラス分類器の場合は、−１（野菜）〜０〜＋１（果物）の変域のスコアを出力するように設計ないし学習するとよい。この場合、出力スコアが−１に近いほど「入力文書は野菜に関する文書である可能性が高い」と判断でき、出力スコアが＋１に近いほど「入力文書は果物に関する文書である可能性が高い」と判断でき、出力スコアが０に近いと「入力文書は野菜に関する文書でも果物に関する文書でもない可能性が高い」と判断できる。このような分類器３０８は、多数の教師データ（トレーニング用の文書サンプル）を用いた機械学習によって作成してもよいし、人が設計したルールやモデルに基づいて作成してもよい。機械学習の方法は何でもよく、例えば、サーポートベクターマシン（ＳＶＭ）、ベイジアンネットワーク、ニューラルネットワーク（ＮＮ）、ディープニューラルネットワーク（ＤＮＮ）などを利用できる。本実施形態ではＳＶＭを用いる。分類器３０８の出力スコアは、入力文書が有する特徴を数値化したものといえるので、以下では「文書特徴スコア」と呼ぶ。分類器３０８は、抽出文書ごとの文書特徴スコアを算出する「文書特徴算出部」の一例である。
【００４８】
単語分類度計算部３０７と分類度ベクトル生成部３０９はともに、単語の文書ベクトル３０４１と各文書の文書特徴スコアに基づいて、当該単語の特徴を表す特徴量を算出する機能である。単語分類度計算部３０７と分類度ベクトル生成部３０９の違いは、前者で求められる特徴量（分類度）が一つの値からなる指標（スカラー）であるのに対し、後者で求められる特徴量（分類度ベクトル）は複数の値の組からなる指標（ベクトル）である点である。いずれの特徴量も単語（文字列）の特徴を表す指標であり、「文字列特徴量」の一例である。各々の特徴量の具体的な計算方法を以下に述べる。
【００４９】
単語分類度計算部３０７は、対象となる単語の文書ベクトル３０４１から、当該単語が１回以上出現する抽出文書（以下「出現文書」と呼ぶ）を特定し、特定された出現文書それぞれの文書特徴スコアに基づいて当該単語の特徴量を計算する。具体的には、単語分類度計算部３０７は、出現文書の文書特徴スコアとその出現文書における当該単語の出現回数との積を計算し、文書特徴スコアと出現回数の積をすべての出現文書について合計した値を、当該単語の特徴量とする。この特徴量は、後段の木構造生成処理において単語の分類に利用されるため、本明細書ではこの特徴量を「単語の分類度」と称する。例えば図８の「スイカ」の場合、出現文書は文書ＩＤ「１３」と「１５」の２つの文書であり、それぞれの文書特徴スコアは「０．８」と「−０．１」、出現回数は「６」と「３」である。したがって「スイカ」の分類度は、
「スイカ」の分類度＝６×０．８＋３×（−０．１）＝４．５
と求まる。なお本実施形態では、文書特徴スコアと出現回数の積の合計値を分類度と定義したが、合計値の代わりに別の統計量を用いてもよい。例えば、平均、標準偏差等によって分類度が求められてもよい。
【００５０】
分類度ベクトル生成部３０９は、対象となる単語の文書ベクトル３０４１から出現文書を特定し、特定された出現文書それぞれの文書特徴スコアに基づいて当該単語の特徴量を計算する。具体的には、分類度ベクトル生成部３０９は、文書特徴スコアと当該単語の出現回数との積を要素としてもつベクトルを、当該単語の特徴量とする。この特徴量も、後段の木構造生成処理において単語の分類に利用されるため、本明細書でこの特徴量を「分類度ベクトル」と称する。例えば図８の「スイカ」の場合、分類度ベクトル３０９１は｛…，０，０，６×０．８，０，３×（−０．１），…｝となる。なお、本実施形態の例では、単語の分類度は、当該単語の分類度ベクトルのすべての要素の和に等しくなる。
【００５１】
基点決定部３１０は、木構造の基点となる単語を決定する。基点となる単語は、例えば、ユーザが指定した単語であってもよいし、分類度が最も大きい単語又は最も小さい単語であってもよいし、分類度ベクトル３０９１の大きさが最も大きい単語又は最も小さい単語であってもよい。また、基点決定部３１０が、すべての単語の間の分類度の平均である平均分類度を算出し、すべての単語のうちで平均分類度に最も近い分類度をもつ単語を基点に選んでもよい。また、基点決定部３１０は、すべての単語の間の分類度ベクトルの平均である平均分類度ベクトルを算出し、すべての単語のうちで平均分類度ベクトルに最も近い分類度ベクトルをもつ単語を基点に選んでもよい。基点決定部３１０は、基点として決定した単語の情報を表示データ生成部３１１に渡す。なお、本実施形態では、分類度ベクトル３０９１の大きさを「分類度ベクトルのすべての要素の和」と定義する。したがって、本実施形態では「単語の分類度」と「単語の分類度ベクトルの大きさ」は同じ値となる。
【００５２】
なお、木構造の基点は空（から）のノードであってもよい。基点を空のノードにする場合、基点決定部３１０は、すべての単語の中から、分類度が最も大きい単語と最も小さい単語のペア、又は、分類度ベクトルの大きさが最も大きい単語と最も小さい単語のペアを選択し、表示データ生成部３１１に渡す。
【００５３】
表示データ生成部３１１は、複数の単語の関係を表す木構造を生成し、ディスプレイ２１０に出力する。本実施形態で生成される木構造は、各々のノードに単語が対応付けられており、かつ、単語間の特徴量（分類度又は分類度ベクトル）の差に基づいて各ノードの配置が決定される点に特徴がある。詳しくは後述する。
【００５４】
単語特徴量比較部３１２は、２つの単語の間の特徴量を比較することで、２つの単語の類似度を評価する機能である。具体的には、単語特徴量比較部３１２は、２つの単語の間の特徴量の差を計算し、その値を類似度として出力する（この場合、差が小さいほど類似度が高い、差が大きいほど類似度が低いこととなる）。特徴量の差は、例えば次のように求めることができる。特徴量が分類度（スカラー）の場合は、２つの単語の間で分類度の差（減算値）又はその絶対値を計算すればよい。また特徴量が分類度ベクトルの場合は、２つの単語の間の分類度ベクトルの差を、コサイン類似度やユークリッド距離等のベクトル比較関数により計算すればよい。
【００５５】
ノード文書検索部３１３は、キーボード２２０やマウス２３０等を用いて、木構造のいずれかのノードがユーザにより指定された場合に、ノードの単語に対応した文書ベクトルの要素になっている文書ＩＤの文書を検索する。また、エッジ文書検索部３１４は、キーボード２２０やマウス２３０等を用いて、木構造のいずれかのエッジがユーザにより指定された場合に、指定されたエッジによって接続される２つのノード間の文書ベクトルのＡＮＤを取ったベクトルの要素になっている文書ＩＤの文書を検索する。なお「エッジ」とは、ノードとノードの間をつなぐリンクのことである。ノード文書検索部３１３やエッジ文書検索部３１４によるテキスト検索結果は、テキスト表示部３１５に渡される。テキスト表示部３１５はテキスト検索結果をディスプレイ２１０に表示する機能である。
【００５６】
詳細データ検索部３１６は、キーボード２２０やマウス２３０等を用いて、木構造のいずれかのノードがユーザにより指定された場合に、指定されたノードに対応付けられた単語の詳細データを検索して表示する機能である。詳細データ検索部３１６は、例えば、指定されたノードに表示されている単語を検索キーとして情報処理装置１００がアクセス可能な環境に構築されたデータベースやウェブサイトを検索し、検索結果を表示する。情報処理装置１００がアクセス可能な環境に構築されたデータベースやウェブサイトは、インターネット上に構築されたデータベースやウェブサイトであってもよいし、情報処理装置
１００の補助記憶部１０３上に構築されたデータベースやＬＡＮ上に構築されたデータベースやウェブサイトであってもよい。
【００５７】
＜処理フロー＞
図１７から図２０を参照して、第１実施形態に係る情報処理装置１００が実行する処理フローについて説明する。図１７から図２０は、第１実施形態に係る処理フローの一例を示す図である。図１７の「Ａ」は図１８の「Ａ」に接続し、図１８の「Ｂ」は図１９の「Ｂ」に接続し、図１９の「Ｃ」は図２０の「Ｃ」に接続する。
【００５８】
ステップＳ１では、キーボード２２０等の入力手段によって検索条件が指定され、検索クエリが生成される。検索クエリは、テキスト検索部３０２に渡される。ステップＳ２では、テキスト検索部３０２は、検索クエリに含まれるキーワードを同義語展開部３０１に渡す。同義語展開部３０１は、受け取ったキーワードの同義語を同義語辞書３０１ａから取得し、テキスト検索部３０２に渡す。
【００５９】
ステップＳ３では、テキスト検索部３０２は、検索クエリに含まれるキーワード又はその同義語を含む文書をテキストデータベース３０２ａから抽出する。ステップＳ１からステップＳ３までの処理は、「検索ステップ」の一例である。
【００６０】
ステップＳ４では、形態素解析部３０３は、テキスト検索部３０２で得られた抽出文書の各々のテキストに対し形態素解析を行うことによって、複数の単語（文字列）を抽出する。ステップＳ４は、「解析ステップ」の一例である。
【００６１】
ステップＳ５では、文書ベクトル生成部３０４は、形態素解析部３０３で得られた各々の単語について文書ベクトル３０４１を生成する。ステップＳ６では、単語ベクトル生成部３０５が、テキスト検索部３０２で得られた各々の抽出文書について単語ベクトル３０５１を生成する。ステップＳ５とステップＳ６の順番は入れ替えてもよい。
【００６２】
ステップＳ７では、分類器３０８が、テキスト検索部３０２で得られた抽出文書の各々について、文書特徴スコアを算出する。ステップＳ８では、単語分類度計算部３０７が、各単語の分類度を計算する。ステップＳ９では、分類度ベクトル生成部３０９が、各単語の分類度ベクトルを計算する。ステップＳ７は、「文書特徴算出ステップ」の一例であり、ステップＳ８からステップＳ９は、「文字列特徴量算出ステップ」の一例である。
【００６３】
ステップＳ１０では、基点決定部３１０が、木構造の基点ノードとなる単語を決定する。基点決定部３１０は、基点ノードとして決定した単語を表示データ生成部３１１に渡す。なお、基点ノードを「空」とする場合には、基点決定部３１０は、分類度が最も大きい単語と最も小さい単語のペア、又は、分類度ベクトルの大きさが最も大きい単語と最も小さい単語のペア、を表示データ生成部３１１に渡す。ステップＳ１０は、「基点決定ステップ」の一例である。
【００６４】
ステップＳ１１では、表示データ生成部３１１が、基点決定部３１０から渡された単語を基点ノードとして設定する。基点ノードが「空」である場合には、表示データ生成部３１１は、基点決定部３１０から受け取った単語のペアを「空」である基点ノードの配下に配置する。図９は、「空」である基点ノードの配下に分類度が最も大きい単語「リンゴ」のノードと分類度が最も小さい単語「トマト」のノードとを配置した状態の一例を示す図である。ステップＳ１１により木構造の基点が生成される。
【００６５】
ステップＳ１２では、表示データ生成部３１１は、残りの単語（つまり、未だ木構造に配置されていない単語）の中から、次に木構造に追加する候補となる単語を選択する。基
点ノードが「空」の場合は、例えば、残りの単語の中から、単語の分類度が最も大きい単語と最も小さい単語のペア、又は、単語の分類度ベクトルの大きさが最も大きい単語と最も小さい単語のペアを選択するとよい。基点ノードが「空」でない場合は、例えば、残りの単語の中から、基点ノードの単語に最も類似する単語を選択するとよい（なお、単語間の類似度については単語特徴量比較部３１２と同じ方法で計算すればよい）。選択された追加候補の単語は、単語特徴量比較部３１２に渡される。
【００６６】
ステップＳ１３では、単語特徴量比較部３１２が、木構造に既に表示されているノードのうち、子ノードを追加可能なノードを特定する。本実施形態では二分木を対象としているため、子ノードを追加可能なノードとは、子ノードを有していないか、１つの子ノードのみを有するノードである。そして、単語特徴量比較部３１２は、ステップＳ１２で選択された追加候補の単語と子ノードを追加可能なノードに対応付けられた単語とのすべての組み合わせについて、単語間の特徴量を比較し、単語間の類似度が最も高い（特徴量の差が最も小さい）組み合わせを選定する。追加候補の単語と子ノードを追加可能なノードの情報は、表示データ生成部３１１に渡される。
【００６７】
ステップＳ１４では、表示データ生成部３１１が、子ノードを追加可能なノードに対し新たな子ノードを追加し、その子ノードに追加候補の単語を対応付ける。これにより特徴量が類似する単語が子ノードとして連結されていくことになる。図１０は、類似するノードを追加した状態の一例である。図１０では、ノード「リンゴ」の下に子ノード「みかん」が追加され、ノード「トマト」の下に子ノード「きゅうり」が追加されている。本実施形態では二分木で表示されるため、２つの子ノードを有するノードについては、子ノードの追加が行われない。
【００６８】
ステップＳ１５では、表示データ生成部３１１が、未処理の単語（つまり木構造に追加されていない単語）が残っているか調べる。未処理の単語が残っている場合は、ステップＳ１２〜Ｓ１４の処理を繰り返す。未処理の単語が無い場合は、ステップＳ１６に移る。ステップＳ１６では、表示データ生成部３１１が、決定した構造の二分木をディスプレイ２１０等の表示装置に出力する。
【００６９】
ステップＳ１７以降の処理は、表示された木構造に対する操作に応答する処理である。ステップＳ１７では、キーボード２２０やマウス２３０等の入力手段によりノードが指定されたか否かが判定される。ノードが指定された場合（ステップＳ１７でＹＥＳ）、処理はステップＳ１８へ進められる。ノードが指定されていない場合（ステップＳ１７でＮＯ）、処理はステップＳ１９へ進められる。
【００７０】
ステップＳ１８では、ノード文書検索部３１３が、指定されたノードに対応付けられた単語を検索キーとして文書のテキスト検索を行う。このとき、ノード文書検索部３１３は、指定されたノードに対応付けられた単語の文書ベクトル又は分類度ベクトルから、当該単語が出現する文書を特定し、それらの文書を検索範囲としてテキスト検索を行う。テキスト表示部３１５は、テキスト検索結果をディスプレイ２１０に表示する。テキスト検索結果の表示方法はどのようなものでもよい。例えば、検索キーとして用いた単語を含むテキスト部分を抽出し、指定されたノードの近くにそのテキストを表示してもよい（このとき、検索キーとして用いた単語をハイライト表示してもよい）。あるいは、検索キーとして用いた単語を含む文書の一覧（文書ＩＤの一覧、文書のタイトルやファイル名の一覧など）を表示してもよい。
【００７１】
ステップＳ１９では、キーボード２２０やマウス２３０等の入力手段によりエッジが指定されたか否かが判定される。エッジが指定された場合（ステップＳ１９でＹＥＳ）、処理はステップＳ２０へ進められる。エッジが指定されていない場合（ステップ１９でＮＯ
）、処理はステップＳ２１へ進められる。
【００７２】
ステップＳ２０では、エッジ文書検索部３１４が、指定されたエッジによって接続される２つのノードにそれぞれ対応付けられた２つの単語の文書ベクトル又は分類度ベクトルのＡＮＤを取ったベクトルから出現する文書を特定しそれらの文書を検索範囲としてテキスト検索を行う。テキスト表示部３１５は、テキスト検索結果をディスプレイ２１０に表示する。テキスト検索結果の表示方法はどのようなものでもよい。例えば、検索キーとして用いた単語を含むテキスト部分を抽出し、指定されたノードの近くにそのテキストを表示してもよい（このとき、検索キーとして用いた単語をハイライト表示してもよい）。あるいは、検索キーとして用いた単語を含む文書の一覧（文書ＩＤの一覧、文書のタイトルやファイル名の一覧など）を表示してもよい。
【００７３】
ステップＳ２１では、キーボード２２０やマウス２３０等の入力手段により詳細情報を表示するための操作が行われたか否かが判定される。詳細情報を表示するための操作は、例えば、キーボード２２０の所定のキーの押下や、マウス２３０の右クリック等である。詳細情報を表示するための操作が行われた場合（ステップＳ２１でＹＥＳ）、処理はステップＳ２２に進められる。詳細情報を表示するための操作が行われていない場合（ステップＳ２１でＮＯ）、処理はステップＳ１７に進められる。
【００７４】
ステップＳ２２では、詳細データ検索部３１６は、指定されたノードに対応付けられた単語の詳細情報を表示する。図１６は、詳細データ検索部３１６による検索結果の表示例である。図１６では、「リンゴ」のノードが指定され、詳細データ検索部３１６は指定された「リンゴ」を検索キーとしてインターネット上のウェブサイトを検索し、その検索結果を表示している状態が例示されている。
【００７５】
＜表示データ生成部の処理例＞
次に、表示データ生成部３１１による木構造の表示処理のバリエーションを説明する。以下の表示処理は必須の機能ではなく、必要に応じて表示データ生成部３１１に実装すればよい。
【００７６】
（属性データリスト）
表示データ生成部３１１は、属性データリスト３１１ｃに登録されている単語については、対応するノードを特定の色や効果を付して表示してもよい。図１１は、属性データリスト３１１ｃの一例を示す図である。属性データリスト３１１ｃでは、単語と当該単語が対応付けられたノードに付与する属性（アトリビュート）とが対応付けられる。図１１では、属性の一例として、ノードの背景色が指定される。例えば、単語「みかん」のノードでは、背景色は「橙」となる。
【００７７】
（特定特徴データリスト）
図１２は、特定特徴データリスト３１１ｂの一例を示す図である。特定特徴データリスト３１１ｂは、アトリビュート付与の対象となる単語のリストである。ここで、特定特徴データリスト３１１ｂに登録されている単語を「対象単語」と呼び、対象単語が対応付けられたノードを「対象ノード」と呼ぶ。また、対象ノードに隣接するノード（つまり、親ノード又は子ノード）を「隣接ノード」と呼び、隣接ノードに対応付けられた単語を「隣接単語」と呼ぶ。
【００７８】
表示データ生成部３１１は、対象単語と隣接単語が所定の条件を満たす場合に、対象ノード及び／又は隣接ノードを特定の色や効果を付して表示する。所定の条件は、例えば、対象単語と隣接単語の間の類似度が所定の閾値よりも高いという条件である。単語間の類似度は、上述したように、単語の分類度の差から求めてもよいし、分類度ベクトルのコサ
イン類似度やユークリッド距離などから求めてもよい。また、所定の閾値の設定は、ユーザが変更可能であるとよい。
【００７９】
（近接規則リスト）
表示データ生成部３１１は、近接規則リスト３１１ａに登録された規則に基づいてノードの表示態様を変更してもよい。図１３は、近接規則リスト３１１ａの一例を示す図である。近接規則リスト３１１ａは、ルールＩＤ、隣接色、個数、アトリビュート、の４つの項目を含む。ルールＩＤは、近接規則リスト３１１ａに登録された各規則を一意に識別するＩＤである。隣接色は、隣接するノードの背景色である。個数は、隣接するノードの個数である。アトリビュートは、隣接色および個数の条件を満たした場合に変更するノードの背景色である。例えば、ルールＩＤ：４の近接規則の場合、背景色が「赤」の隣接ノードが２つ存在するノードの背景色は「黄色」に変更される。図１４は、近接規則リスト３１１ａに登録された規則に基づいてノードの表示態様を変更した場合を例示する図である。図１４（Ａ）は変更前の状態を例示し、図１４（Ｂ）は変更後の状態を例示する。図１４では、ノード１００１に隣接する２つのノード（親ノードと子ノード）が赤色であるため、ルールＩＤ：４の近接規則にしたがい、ノード１００１の色が黄色に変更されている。
【００８０】
表示データ生成部３１１は、さらに、表示対象データリスト３１１ｄを参照して、表示対象データリスト３１１ｄに登録されていない単語については、ノードとして出力しなくともよい。図１５は、表示対象データリスト３１１ｄの一例を示す図である。表示対象データリスト３１１ｄは、ノードとして表示する対象となる単語が登録される。図１５では、「みかん」、「すいか」および「きゅうり」が表示対象データリスト３１１ｄに登録されており、これら３つの単語以外の単語はノードとして出力されない。ノードとしての表示を望まない単語を表示対象データリスト３１１ｄから除外しておくことで、表示データ生成部３１１がノイズの少ない木構造を表示することができる。
【００８１】
＜第１変形例＞
第１実施形態では、文書ベクトル生成部３０４は、単語毎に文書ベクトル３０４１を生成し、同義語は考慮しなかった。しかしながら、文書ベクトル生成部３０４は、同義語辞書３０１ａを参照して、同義語の中から選択された代表語に同義語を置き換えて文書ベクトル３０４１を生成してもよい。図２１は、同義語をまとめて生成した文書ベクトル３０４１ａの一例を示す図である。図２１の上段は同義語を代表語に置き換える前の文書ベクトル３０４１の一例であり、図２１の下段は同義語を代表語に置き換えた後の文書ベクトル３０４１ａの一例である。図２１の上段において、例えば、同じ「リンゴ」を示す単語「リンゴ」、「りんご」および「林檎」について、それぞれ異なる文書ベクトル３０４１が生成されている。また、同じ「スイカ」を示す単語「スイカ」および「西瓜」について、それぞれ異なる文書ベクトル３０４１が生成されている。図２１の下段では、同義語を代表語による表記に置き換えた結果、「リンゴ」、「りんご」および「林檎」が代表語「リンゴ」に置き換えられて文書ベクトル３０４１ａが生成され、「スイカ」および「西瓜」が代表語「スイカ」に置き換えられて文書ベクトル３０４１ａが生成されていることがわかる。同義語を代表語に置き換えた後における出現回数は、各同義語の出現回数の合計となる。同義語を代表語に置き換えて文書ベクトル３０４１ａが生成される場合、木構造で表示される各ノードも同義語を代表語に置き換えて表示されてもよい。同義語を代表語に置き換えることで、文書の各々における単語の表記の揺れを吸収することができる。
【００８２】
＜第２変形例＞
第１実施形態では、テキスト検索部３０２は、検索条件として与えられたキーワードを含むすべての文書をテキストデータベース３０２ａから抽出した。しかしながら、テキスト検索部３０２は、検索条件として日時が指定される場合、文書の作成日と指定された日
時とが一致する文書、指定された日時以降に作成された文書または指定された日時以前に作成された文書を抽出してもよい。この場合、文書の各々には、当該文書を作成した作成日を示す作成日付情報が付されており、テキスト検索部３０２が作成日付情報と指定された日時とを照合すればよい。検索条件として日時が指定される場合、表示データ生成部３１１は、例えば、指定された日時と文書に付された作成日付情報とに基づいて、ノードの表示態様を変更してもよい。例えば、表示データ生成部３１１は、指定された日時と作成日付情報とが一致する文書に出現する単語のノードを他のノードと異なる態様で表示することで、ユーザが他のノードと区別しやすいように表示してもよい。
【００８３】
＜第３変形例＞
第１実施形態では、文書ベクトル生成部３０４は、ストップワード辞書３０４ａに登録されている単語を除いて、文書に含まれるすべての単語を用いて文書ベクトル３０４１を生成した。しかしながら、文書ベクトル３０４１に用いる単語の単語数に関して閾値を設けて制限してもよい。例えば、文書中における単語の出現順に文書ベクトル３０４１の要素として採用し、採用した単語の数が閾値に達した時点で、残りの単語については文書ベクトル３０４１の要素として採用しない方法も可能である。また、文書ベクトル３０４１の要素として採用した単語の数が閾値に達すると、それ以降は最も古く要素として採用された単語を文書ベクトル３０４１から除外して、新しい単語を文書ベクトル３０４１の要素として採用する方法も可能である。また、単語に重みづけを行う所定のアルゴリズム（例えば、TF-IDF、Okapi BM25等）によって単語に重みづけを行い、重みの高い単語から順に文書ベクトル３０４１の要素として採用し、文書ベクトル３０４１の要素として採用した単語の数が閾値に達すると、それ以降の単語は文書ベクトル３０４１の要素として採用しない方法も可能である。
【００８４】
＜第４変形例＞
文書は、他の文書への参照情報を含んでもよい。例えば、文書が論文である場合、引用した論文を示す情報を他の文書への参照情報として含んでもよい。このような場合、テキスト検索部３０２は、文書の各々が他の文書から参照される被参照数を集計し、被参照数の多い文書を優先して抽出してもよい。優先して抽出とは、例えば、抽出する文書の数に閾値が設けられている場合、検索クエリに基づいて抽出した文書のうち被参照数の多い文書から順番に文書を抽出し、抽出した文書の数が閾値に達すると抽出を終了すればよい。被参照数が多い文書は、それだけ重要度の高い文書である可能性が高い。そのため、このような構成を採用することで、重要な情報を得られる可能性が高い文書が優先して抽出されるようになるという利点がある。
【００８５】
また、テキスト検索部３０２は、文書の各々が他の文書から参照される被参照数を集計し、被参照数の少ない文書を優先して抽出してもよい。この場合における優先して抽出とは、例えば、抽出する文書の数に閾値が設けられている場合、検索クエリに基づいて抽出した文書のうち被参照数の少ない文書から順番に文書を抽出し、抽出した文書の数が閾値に達すると抽出を終了すればよい。被参照数が少ない文書は、あまり知られていない情報が記載されている文書である可能性が高い。そのため、このような構成を採用することで、ユーザが新たな知見を得られる可能性が高い文書が優先して抽出されるようになるという利点がある。
【００８６】
＜第５変形例＞
第１実施形態では、木構造の初期の基点は基点決定部３１０が決定したが、木構造が表示された後はユーザにより基点を変更できるようにしてもよい。例えば、キーボード２２０またはマウス２３０等の入力手段によって、ユーザが基点としたいノードを指定すると、基点決定部３１０は、指定されたノードを基点として表示データ生成部３１１に渡し、表示データ生成部３１１は指定されたノードを基点として二分木を生成すればよい。この
ような処理を実行する基点決定部３１０および表示データ生成部３１１は、「基点変更部」の一例である。
【００８７】
＜第６変形例＞
第１実施形態では、二分木を例示したが、木構造としては、三分木またはそれ以上に分岐する木構造であってもよい。この場合、ユーザがキーボード２２０等の入力手段を介して、表示データ生成部３１１に対して分岐する分岐数を指定すればよい。例えば、木構造を三分木とする場合、分岐数として「３」が指定されればよい。
【００８８】
＜第７変形例＞
第１実施形態では、基点ノードが「空」の場合に、基点の下に接続するノードとして、分類度又は分類度ベクトルの大きさ（以下まとめて「分類度」と記す）が最大の単語と最小の単語のペアを選択し（ステップＳ１０参照）、それ以降追加するノードとして、残りの単語の中から、分類度が最大の単語と最小の単語のペアを選択することとした（ステップＳ１２参照）。このような選択手順は、木構造が二分木であり、かつ、分類度が「当該単語があるクラスに属するか否か」を表す指標である場合に好適な例である。もし、木構造が二分木であり、かつ、分類度が「当該単語が第１のクラスに属するか第２のクラスに属するか」を表す指標である場合は、ステップＳ１０やＳ１２において、第１のクラスへの分類度が最大の単語と第２のクラスへの分類度が最大の単語の２つを選択すればよい。また、木構造が三分木であり、かつ、分類度が「当該単語が第１のクラスに属するか第２のクラスに属するか第３のクラスに属するか」を表す指標である場合は、ステップＳ１０やＳ１２において、第１のクラスへの分類度が最大の単語と第２のクラスへの分類度が最大の単語と第３のクラスへの分類度が最大の単語の３つを選択すればよい。分岐数が３より多い場合も同様である。
【００８９】
＜第１実施形態の利点＞
以上述べた第１実施形態による利点をまとめると次のとおりである。上述した木構造では、単語の特徴を表す特徴量（分類度又は分類度ベクトル）の差に基づいて各ノードの配置が決定されているので、各ノード（単語）の配置や接続関係などから、検索結果である複数の抽出文書に出現する単語の傾向などを容易に把握できる。また、上記実施形態では、単語の特徴を、単語そのものではなく、当該単語を使用している文書（テキスト、文脈）の特徴である文書特徴スコアを使って表現している。それゆえ、木構造における各ノードの配置や接続関係は、文書同士の関連性・類似性を反映したものとなる。したがって、上述した木構造を用いることにより、複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現することができ、ユーザによる情報探索作業を支援することが可能となる。
【００９０】
＜第２実施形態＞
図２２を参照して、本発明の第２実施形態について説明する。第２実施形態では、単語分類器（文字列の分類器）を用いて単語から直接的に単語の特徴量である分類度を求める。
【００９１】
図２２に示すように、第２実施形態に係る情報処理装置１００は、単語分類器４０１及び単語特徴モデル４０１ａを備える。それ以外の構成は第１実施形態のものと同じである。
【００９２】
単語分類器４０１は、入力される単語をｎ個のクラス（ｎは２以上の整数）に分類する分類器である。単語分類器４０１は、例えば、予め用意された単語特徴モデル４０１ａを用いて入力単語のスコアを計算し出力する。このスコアは、入力単語が或るクラスに属する確率又は尤度を表す値であって、連続値をとる（したがって、単語分類器４０１は回帰
器と呼んでもよい。）。このような単語分類器４０１は、多数の教師データを用いた機械学習によって作成してもよいし、人が設計したルールやモデルに基づいて作成してもよい。機械学習の方法は何でもよく、例えば、サーポートベクターマシン（ＳＶＭ）、ベイジアンネットワーク、ニューラルネットワーク（ＮＮ）、ディープニューラルネットワーク（ＤＮＮ）などを利用できる。本実施形態ではＳＶＭを用いる。
【００９３】
機械学習の場合に、文字列が出現する複数の文書のデータを教師データとして用いてもよい。文字列と文字列特徴量との対応関係を学習するための教師データとして、当該文字列が出現する文書のデータを利用することにより、第１実施形態の方法で求められる特徴量（分類度）と同じような特性をもつ特徴量を得ることができる。例えば、文字列を「果物」か「野菜」かの２つのカテゴリに分類する単語分類器を学習する場合であれば、「果物」について記載されている多数の文書データ、及び、「野菜」について記載されている多数の文書データを、教師データとして用いる。そして、教師データ（つまり「果物」カテゴリの文書群と「野菜」カテゴリの文書群）から抽出した文字列（例えば「リンゴ」、「ミカン」など）が各カテゴリの文書群に出現する割合に応じて、当該文字列を各カテゴリに分類することの確からしさ（つまり、「果物らしさ」、「野菜らしさ」）を学習する。このような単語分類器を用いると、例えば、「リンゴ」という文字列を入力したときに、「果物：０．９８、野菜：０．３１」というような出力スコアが得られる。
【００９４】
また、上記以外の方法として、ＷｏｒｄＮｅｔなどのシソーラスを用いて単語同士の意味的距離（概念距離）を計算してもよい。
【００９５】
なお、単語分類器４０１の出力スコアは、単語が表す文字列の特徴を数値化したものであり、「文字列特徴量」の一例である。また単語分類器４０１は、「文字列特徴算出部」の一例である。
【００９６】
＜第２実施形態の利点＞
以上述べた第２実施形態の構成によっても、第１実施形態と同様の作用効果を得ることができる。
【００９７】
＜コンピュータが読み取り可能な記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させる情報処理プログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００９８】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、Compact Disc Read Only Memory（ＣＤ−ＲＯＭ）、Compact Disc - Recordable（ＣＤ−Ｒ）、Compact Disc - ReWriterable（ＣＤ−ＲＷ）、Digital Versatile Disc（ＤＶＤ）、ブ
ルーレイディスク（ＢＤ）、Digital Audio Tape（ＤＡＴ）、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ等がある。
【符号の説明】
【００９９】
１００・・・情報処理装置
２１０・・・ディスプレイ
２２０・・・キーボード
２３０・・・マウス
３０４１・・・文書ベクトル
３０５１・・・単語ベクトル
３０９１・・・分類度ベクトル
【図１】
2020060811.tif 000003
【図２】
2020060811.tif 000004
【図３】
2020060811.tif 000005
【図４】
2020060811.tif 000006
【図５】
2020060811.tif 000007
【図６】
2020060811.tif 000008
【図７】
2020060811.tif 000009
【図８】
2020060811.tif 000010
【図９】
2020060811.tif 000011
【図１０】
2020060811.tif 000012
【図１１】
2020060811.tif 000013
【図１２】
2020060811.tif 000014
【図１３】
2020060811.tif 000015
【図１４】
2020060811.tif 000016
【図１５】
2020060811.tif 000017
【図１６】
2020060811.tif 000018
【図１７】
2020060811.tif 000019
【図１８】
2020060811.tif 000020
【図１９】
2020060811.tif 000021
【図２０】
2020060811.tif 000022
【図２１】
2020060811.tif 000023
【図２２】
2020060811.tif 000024