JP2020060811A - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP2020060811A
JP2020060811A JP2018189515A JP2018189515A JP2020060811A JP 2020060811 A JP2020060811 A JP 2020060811A JP 2018189515 A JP2018189515 A JP 2018189515A JP 2018189515 A JP2018189515 A JP 2018189515A JP 2020060811 A JP2020060811 A JP 2020060811A
Authority
JP
Japan
Prior art keywords
extracted
document
character string
documents
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018189515A
Other languages
English (en)
Other versions
JP7203554B2 (ja
Inventor
賢一郎 小林
Kenichiro Kobayashi
賢一郎 小林
巧 清家
Takumi Seike
巧 清家
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TIS Inc
Original Assignee
TIS Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by TIS Inc filed Critical TIS Inc
Priority to JP2018189515A priority Critical patent/JP7203554B2/ja
Publication of JP2020060811A publication Critical patent/JP2020060811A/ja
Application granted granted Critical
Publication of JP7203554B2 publication Critical patent/JP7203554B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現し、ユーザによる情報探索作業を支援できる技術を提供する。【解決手段】情報処理装置は、データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、前記複数の抽出文書の各々について文書特徴スコアを算出する文書特徴算出部と、前記複数の抽出文字列の各々について、当該抽出文字列を含む1以上の抽出文書の文書特徴スコアから当該抽出文字列を含む1以上の抽出文書の文書特徴スコアから当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部と、前記複数の抽出文字列の各々がノードに対応付けられ、かつ、文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、を有する。【選択図】図2

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関する。
多数の文書(例えば論文、技術資料、特許文献など)の中から、求める情報が記載されている文書や参考になる文書を簡単に探し出したい、というニーズは古くからある。そのようなニーズに対するアプローチとして、従来は、検索クエリにマッチする文書を複数抽出し、マッチ度合の高いものから順に一覧表示する方法が主流であった。しかしながら、このような方法では、検索結果として出力される文書一覧を見ても、ユーザとしては、抽出された文書同士の関連性や類似性を掴むことができず、検索結果を十分に活用することが難しかった。これに対し、非特許文献1では、抽出された文書からピックアップした複数の単語を木構造で表示することにより、文書同士の関係を直観的に表現しようとする試みが提案されている。
しかしながら、本発明者らが検証したところ、木構造による表現は非常に有用であるものの、非特許文献1の方法では、単語同士の関係や文書同士の関連性・類似性を適切に表現できない場合も多く、実用化のためにはさらなる改良が必要であるとの課題を認識するに至った。
本発明は上記実情に鑑みなされたものであって、複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現し、ユーザによる情報探索作業を支援することのできる技術を提供することを目的とする。
本発明の1つの側面は、データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、前記複数の抽出文書の各々について、当該文書が有する特徴を数値化した文書特徴スコアを算出する文書特徴算出部と、前記複数の抽出文字列の各々について、当該抽出文字列を含む1以上の抽出文書の文書特徴スコアから当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部と、前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、を有する情報処理装置を提供する。
「文字列」は、「単語」であってもよいし、複数の単語から構成される「複合語」や「語句」であってもよい。「文字列特徴量」は単一の値からなる指標(スカラー)でもよいし複数の値の組からなる指標(ベクトル)であってもよい。スカラーの場合、「文字列特徴量の差」は、例えば、2つの文字列の文字列特徴量の差又はその絶対値である。ベクトルの場合、「文字列特徴量の差」は、例えば、2つのベクトルのコサイン類似度やユークリッド距離から計算できる。
上述した本発明の木構造では、文字列の特徴を表す文字列特徴量の差に基づいて各ノードの配置が決定されているので、各ノード(文字列)の配置や接続関係などから、検索結果(複数の抽出文書)に含まれる文字列群の傾向などを容易に把握できる。
また、抽出文字列の特徴を、抽出文字列そのものではなく、当該抽出文字列を使用している文書(テキスト)の特徴である文書特徴スコアを使って表現している。それゆえ、木構造における各ノードの配置や接続関係は、文書同士の関連性・類似性をよく反映したものとなる。したがって、本発明の木構造を用いることにより、複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現することができ、ユーザによる情報探索作業を支援することが可能となる。
スカラーの文字列特徴量は、以下のように算出されてもよい。例えば、前記文字列特徴算出部は、当該文字列を含む1以上の抽出文書の文書特徴スコアから計算される統計値を、当該文字列の文字列特徴量としてもよい。「統計値」は、例えば、当該文字列を含む1以上の抽出文書の文書特徴スコアの合計値、平均値、又は、標準偏差である。
ベクトルの文字列特徴量は、以下のように算出されてもよい。例えば、前記文字列特徴算出部は、当該文字列を含む1以上の抽出文書の文書特徴スコアに基づく値を要素としてもつベクトルを、当該文字列の文字列特徴量としてもよい。「文書特徴スコアに基づく値」は、例えば、抽出文書の文書特徴スコアに当該抽出文書における当該文字列の出現頻度を乗じた値である。
前記文書特徴算出部は、入力文書をn個のクラス(nは2以上の整数)に分類する分類器から構成され、前記抽出文書を前記分類器に入力したときの出力スコアを当該抽出文書の文書特徴スコアとしてもよい。「分類器」は、例えば、複数の文書を教師データとして用いた機械学習により生成された分類器でもよいし、ルールやモデルから理論的に作成した分類器であってもよい。
なお、文書特徴スコアから文字列特徴量を求める方法以外に、文字列から直接的に文字列特徴量を求める方法も採り得る。例えば、情報処理装置は、データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、前記複数の抽出文字列の各々について、当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部であって、入力文字列をn個のクラス(nは2以上の整数)に分類する文字列分類器から構成され、前記抽出文字列を前記文字列分類器に入力したときの出力スコアを当該抽出文字列の文字列特徴量とする文字列特徴算出部と、前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、を有してもよい。この「文字列分類器」は、例えば、複数の文字列を教師データとして用いた機械学習により生成された分類器でもよいし、ルールやモデルから理論的に作成した分類器であってもよい。
前記検索条件がキーワードを含む場合は、前記検索部は、同じ意味を有する同義語を記憶する同義語辞書から前記キーワードの同義語を取得し、前記キーワードおよび前記同義語の少なくともいずれか一方を含む文書を、前記抽出文書として抽出してもよい。このような技術によれば、キーワードの同義語も併せて検索することで、文書間で文字列の表記に揺らぎがある場合でも検索漏れを抑制でき、ユーザの検索意図を反映した良好な検索結果を得ることができる。
前記複数の文字列の間の文字列特徴量の平均を算出し、前記複数の文字列のうち前記平均に最も近い文字列特徴量をもつ文字列を前記木構造の基点に決定する基点決定部を有してもよい。このような技術によれば、複数の文字列のうち(文字列特徴量という尺度でみたときに)平均的な文字列が基点に選ばれるので、その基点から分岐する枝(エッジ)にバランスよくノードがつながっていき、結果として偏りの少ない木構造が得られると期待できる。
前記木構造の基点をユーザにより指定された文字列に変更する基点変更部をさらに備えてもよい。このような技術によれば、木構造の基点をユーザの意図したものに変更することができる。例えば、基点とする文字列をいろいろ変えながら、木構造がどのように変化するかを見たり、生成される木構造を比較したりすることで、自分の期待する分析結果を得やすい木構造を見出したり、あるいは文字列同士や文書同士の新たな関連性などの気付きを得られたりする可能性がある。
前記基点変更部は、出力された前記木構造のいずれかのノードをユーザにより指定させ、現在の木構造の基点をユーザにより指定されたノードに対応付けられた文字列に変更するものであってもよい。このようなユーザインターフェースを用いると、ユーザは基点の変更を簡単に行うことができ、利便性が高い。
前記出力部は、所定の文字列に対応するノード、及び/又は、前記所定の文字列に対応するノードであって且つ隣接するノードに対応付けられた文字列と前記所定の文字列とが所定の条件を満たすノード、及び/又は、隣接するノードと所定の条件を満たすノードを、他のノードとは異なる態様で出力してもよい。「異なる態様」は、例えば、色を変える、デザインや書体を変える、文字の大きさを変える、点滅やアニメーションなどの動きを付けるなど、どのような表示効果でもよい。このような技術によれば、例えばユーザが注目している文字列や、その文字列との類似性・関連性が高い文字列だけを、目立たせることができる。
前記データベースに蓄積された前記文書群の各々は、参照する他の文書を示す参照情報を含み、前記検索部は、前記参照情報に基づいて他の文書から参照される被参照数が少ない文書を優先して抽出してもよい。被参照数が少ない文書は、あまり知られていない情報が記載されている文書である可能性が高い。そのため、このような技術によれば、ユーザが新たな知見を得られる可能性が高い文書が優先して抽出されるようになるという利点がある。
前記データベースに蓄積された前記文書群の各々は、参照する他の文書を示す参照情報を含み、前記検索部は、前記参照情報に基づいて他の文書から参照される被参照数が多い文書を優先して抽出してもよい。被参照数が多い文書は、それだけ重要度の高い文書である可能性が高い。そのため、このような技術によれば、重要な情報を得られる可能性が高い文書が優先して抽出されるようになるという利点がある。
前記解析部は、所定の単語数以下の連続する単語を一つの文字列として抽出してもよい。また、「所定の単語数」の設定をユーザが変更できるようにしてもよい。
前記出力部は、前記木構造のいずれかのノードがユーザにより指定されると、指定されたノードに対応付けられた文字列を含む抽出文書の情報を出力してもよい。このとき、「抽出文書の情報」として、当該抽出文書中の「指定されたノードに対応付けられた文字列」を含むテキスト部分を出力してもよい。このようなユーザインターフェースによれば、木構造(に表示された文字列)から文書へのアクセスが容易になり、利便性が向上する。
前記出力部は、前記木構造のいずれかのエッジがユーザにより指定されると、指定されたエッジによって接続される2つのノードにそれぞれ対応付けられた2つの文字列を両方とも含む抽出文書の情報を出力してもよい。このとき、「抽出文書の情報」として、当該抽出文書中の「指定されたエッジによって接続される2つのノードにそれぞれ対応付けられた2つの文字列」の各々を含むテキスト部分を出力してもよい。このようなユーザインターフェースによれば、木構造において隣接する2つの文字列との関連性が高い文書へのアクセスが容易になり、利便性が向上する。
なお、本発明は、上述した機能ないし処理の少なくとも一部を含む情報処理方法、又は、当該情報処理方法の各ステップをコンピュータに実行させるプログラム、又は、当該プログラムを非一時的に記憶した記憶媒体などとして捉えることもできる。また、本発明は、上述した木構造を生成する木構造生成装置や木構造生成方法、上述した木構造を出力ないし表示する木構造出力装置や木構造出力方法、複数の文書を分析するための文書分析装置や文書分析方法、文書に含まれる複数の文字列を分析するための文字列分析装置や文字列分析方法、ユーザによる情報探索を支援する情報探索支援装置や情報探索支援方法などとして捉えることもできる。
複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現し、ユーザによる情報探索作業を支援することが可能となる。
図1は、情報処理装置の構成の一例を示す図である。 図2は、第1実施形態に係る情報処理装置の機能ブロックの一例を示す図である。 図3は、同義語辞書の構成の一例を示す図である。 図4は、形態素解析部による形態素解析結果の一例を示す図である。 図5は、文書ベクトルの一例を示す図である。 図6は、単語ベクトルの一例を示す図である。 図7は、ストップワード辞書の一例を示す図である。 図8は、分類度ベクトルの一例を示す図である。 図9は、「空」である基点ノードの配下に最も分類度が高い単語のノードと最も分類度が低い単語のノードとを配置した状態の一例を示す図である。 図10は、最も類似するノードを追加した状態の一例である。 図11は、属性データリストの一例を示す図である。 図12は、特定特徴データリストの一例を示す図である。 図13は、近接規則リストの一例を示す図である。 図14は、近接規則リストに登録された規則に基づいてノードの表示態様を変更した場合を例示する図である。 図15は、表示対象データリストの一例を示す図である。 図16は、詳細データ検索部による検索結果の表示例である。 図17は、実施形態に係る処理フローの一例を示す第1の図である。 図18は、実施形態に係る処理フローの一例を示す第2の図である。 図19は、実施形態に係る処理フローの一例を示す第3の図である。 図20は、実施形態に係る処理フローの一例を示す第4の図である。 図21は、同義語をまとめて生成された第1変形例に係る文書ベクトルの一例を示す図である。 図22は、第2実施形態に係る情報処理装置の機能ブロックの一例を示す図である。
以下、図面を参照して、本発明の実施形態に係る情報処理装置、情報処理方法およびプログラムについて説明する。本実施形態に係る情報処理装置は、データベースに蓄積された多数の文書の中から検索条件にマッチする複数の文書を抽出し、抽出された文書に出現する文字列同士の関係を木構造のグラフ形式で出力するものである。以下では、文字列の特徴を示す文字列特徴量の求め方が異なる2つの実施形態を例示する。第1実施形態は、文書の特徴量(文書特徴スコア)を用いて間接的に文字列特徴量を求める方法を開示するものであり、第2実施形態は、分類器を用いて文字列から直接的に文字列特徴量を求める方法を開示する。ただし、以下に示す実施形態の構成は本発明の構成の例示であり、本発明は以下の実施形態の構成に限定されない。
<第1実施形態>
図1は、第1実施形態に係る情報処理装置100の構成の一例を示す図である。図1には、情報処理装置100に接続されるディスプレイ210、キーボード220およびマウス230も例示されている。情報処理装置100は、Central Processing Unit(CPU
)101、主記憶部102、補助記憶部103、通信部104、入出力インターフェース(図中では、入出力IFと表記)105を備えるコンピュータである。CPU101、主記憶部102、補助記憶部103、通信部104および入出力インターフェース105は、接続バスB1によって相互に接続される。
CPU101は、マイクロプロセッサユニット(MPU)、プロセッサとも呼ばれる。CPU101は、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のCPU101がマルチコア構成を有していてもよい。CPU101が実行する処理のうち少なくとも一部は、CPU101以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit(GPU)、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われてもよい。また、CPU101が実行する処理のうち少なくとも一部は、集積回路(IC)、その他のディジタル回路によって実行されてもよい。また、CPU101の少なくとも一部にアナログ回路が含まれてもよい。集積回路は、Large Scale Integrated circuit(LSI)、Application Specific Integrated Circuit(AS
IC)、プログラマブルロジックデバイス(PLD)を含む。PLDは、例えば、Field-Programmable Gate Array(FPGA)を含む。CPU101は、プロセッサと集積回路
との組み合わせであってもよい。組み合わせは、例えば、マイクロコントローラユニット(MCU)、System-on-a-chip(SoC)、システムLSI、チップセットなどと呼ばれる。
情報処理装置100では、CPU101が補助記憶部103に記憶されたプログラムを主記憶部102の作業領域に展開し、プログラムの実行を通じて周辺装置の制御を行う。これにより、情報処理装置100は、所定の目的に合致した処理を実行することができる。主記憶部102および補助記憶部103は、情報処理装置100が読み取り可能な記録媒体である。主記憶部102は、CPU101から直接アクセスされる記憶部として例示される。主記憶部102は、Random Access Memory(RAM)およびRead Only Memory(ROM)を含む。
補助記憶部103は、各種のプログラムおよび各種のデータを読み書き自在に記録媒体に格納する。補助記憶部103は外部記憶装置とも呼ばれる。補助記憶部103には、オペレーティングシステム(Operating System、OS)、各種プログラム、各種テーブル等が格納される。OSは、通信部104を介して接続される外部装置等とのデータの受け渡しを行う通信インターフェースプログラムを含む。外部装置等には、例えば、コンピュータネットワーク等で接続された、他の情報処理装置および外部記憶装置が含まれる。なお
、補助記憶部103は、例えば、ネットワーク上のコンピュータ群であるクラウドシステムの一部であってもよい。
補助記憶部103は、例えば、Erasable Programmable ROM(EPROM)、ソリッド
ステートドライブ(Solid State Drive、SSD)、ハードディスクドライブ(Hard Disk
Drive、HDD)等である。また、補助記憶部103は、例えば、Compact Disc(CD)ドライブ装置、Digital Versatile Disc(DVD)ドライブ装置、Blu-ray(登録商標) Disc(BD)ドライブ装置等である。また、補助記憶部103は、Network Attached Storage(NAS)あるいはStorage Area Network(SAN)によって提供されてもよい。
通信部104は、例えば、インターネットやLocal Area Network(LAN)等のコンピュータネットワークとのインターフェースである。通信部104は、コンピュータネットワークを介して外部装置等と通信を行う。
入出力インターフェース105は、入出力装置とのインターフェースであり、例えば、PS/2コネクタ、Universal Serial Bus(USB)コネクタ、Video Graphics Array(VGA)コネクタ、Digital Visual Interface(DVI)コネクタ、High-Definition Multimedia Interface(HDMI(登録商標))等である。
ディスプレイ210は、CPU101で処理されるデータや主記憶部102に記憶されるデータを出力する出力部である。ディスプレイ210は、例えば、Cathode Ray Tube(CRT)ディスプレイ、Liquid Crystal Display(LCD)、Plasma Display Panel(PDP)、Electroluminescence(EL)パネル、有機ELパネル等である。ディスプレイ
210は、入出力インターフェース105を介して情報処理装置100に接続される。
キーボード220およびマウス230は、ユーザ等からの操作指示等を受け付ける入力手段である。キーボード220およびマウス230は、入出力インターフェース105を介して情報処理装置100に接続される。
<情報処理装置100の機能ブロック>
図2は、第1実施形態に係る情報処理装置100の機能ブロックの一例を示す図である。情報処理装置100は、同義語展開部301、同義語辞書301a、テキスト検索部302、テキストデータベース(図中では、テキストDBと表記)302a、形態素解析部303、文書ベクトル生成部304、ストップワード辞書304a、単語ベクトル生成部305、単語分類度計算部307、分類器308、特徴モデル308a、分類度ベクトル生成部309、基点決定部310,表示データ生成部311、近接規則リスト311a、特定特徴データリスト311b、属性データリスト311c、表示対象データリスト311d、単語特徴量比較部312、ノード文書検索部313、エッジ文書検索部314、テキスト表示部315、詳細データ検索部316を備える。情報処理装置100は、主記憶部102に実行可能に展開されたコンピュータプログラムをCPU101が実行することで、上記各部としての処理を実行する。
テキストデータベース302aには、多数の文書が格納されている。文書は、少なくともテキストを含むデータであり、例えば、論文、技術資料、仕様書、特許文献、書籍、法令、契約書、判例、HTMLやXMLで記述された文書などを例示できる。文書は、テキストの他に、画像や動画や音声を含んでもよい。なお、本明細書では、「文書」という語を文書データ又は文書ファイルの意味で用いるが、文脈によっては、文書データ又は文書ファイルに含まれるテキストの意味で「文書」の語を用いる場合もある。テキストデータベース302aは、文書を文書IDと対応付けて管理する。文書IDは、文書を一意に特定するための識別情報である。なお、文書がインターネットなどのネットワーク上に存在
するリソースである場合には、文書の実体の代わりに、文書の実体へのUniform Resource
Identifier(URI)をテキストデータベース302aに格納してもよい。テキストデ
ータベース302aは、「データベース」の一例である。
テキスト検索部302は、キーボード220等の入力手段を介して指定された検索条件に基づいて、検索条件にマッチする複数の文書をテキストデータベース302aから抽出する。テキスト検索部302により抽出された文書を「抽出文書」と呼ぶ。検索条件は、少なくともキーワードを含み、さらに論理演算子を含んでもよい。テキスト検索部302は、指定された検索条件に含まれるキーワードの同義語を同義語展開部301から受け取り、キーワードと同義語とを指定したOR検索を実行してもよい。キーワードとその同義語とを指定したOR検索を実行することで、テキスト検索部302は、ユーザにより指定されたキーワードとその同義語の少なくともいずれか一方を含む文書をテキストデータベース302aから抽出することができる。テキスト検索部302は、抽出文書の文書IDを主記憶部102や補助記憶部103に記憶させる。テキスト検索部302は、「検索部」の一例である。
同義語展開部301は、指定されたキーワードの同義語を検索する。ここで、同義語は、キーワードと同じ意味である単語に限定されず、キーワードと類似する意味の単語であってもよい。同義語展開部301は、指定されたキーワードを基に同義語辞書301aを検索する。図3は、同義語辞書301aの構成の一例を示す図である。同義語辞書301aの各行は、複数の同義語から構成される同義語群を示し、同義語群のうちから選択された1つの代表語と残りの同義語とが列挙されている。同義語展開部301は、指定されたキーワードを同義語辞書301aから検索し、キーワードが属する同義語群に含まれる単語(キーワードと同じ単語は除く)を同義語として返す。例えばキーワードとして「林檎」が指定された場合、同義語展開部301は「林檎」を同義語辞書301aから検索し、「林檎」が属する同義語群に含まれる「リンゴ」、「りんご」、「Apple」を「林檎」の
同義語として返す。
形態素解析部303は、入力された文書に含まれるテキストを単語に分割する形態素解析を行う。形態素解析部303は、例えば、単語と品詞とを対応づけた辞書を基にテキストを単語に分割し、当該単語に対応する品詞情報を導く。図4は、形態素解析部303による形態素解析結果の一例を示す図である。図4は、「リンゴは青森などで栽培されている果物です。」というテキストに対して形態素解析を実行した結果の一例である。図4において、各行の左端が、分割された単語を示す。分割された単語の右側には、当該単語の品詞情報として品詞、原形、活用の種類、発音表記等がカンマ区切りで示されている。
形態素解析部303は、テキスト検索部302から受け取った複数の抽出文書の各々に含まれるテキストを解析することにより、複数の抽出文書に少なくとも1回以上登場する単語を抽出する。形態素解析部303は、複数の抽出文書から抽出した複数の単語のそれぞれに単語IDを付し、それらを解析結果として主記憶部102に格納する。単語IDは、単語を一意に特定するための識別情報である。形態素解析部303は、「解析部」の一例である。なお本実施形態では、解析部の具体例として形態素解析を例示したが、文書の解析方法は形態素解析に限られず、他の方法を採用してもよい。例えば、日本語の文書の場合には形態素解析の他、チャンキング処理を含む構文解析などを利用してもよい。また、英語の文書の場合にはtokenizerやchunkerを利用することも好ましい。
形態素解析部303は、抽出文書に含まれるすべての単語を抽出してもよいが、抽出数を減らすために、所定の品詞(例えば名詞など)に限定して抽出したり、登場回数が所定の閾値より多い単語のみを抽出したり、登場回数が多いものから所定数の単語を抽出したりしてもよい。また形態素解析部303は、構文解析を併用して、抽出する単語や句を形
成する複合語や係り受け関係を持っている単語や句を形成する複合語の対を選定してもよい。例えばチャンキング処理を含む構文解析を利用することにより、意味的にまとまりのある複合語や語句を抽出することが可能となる。また、形態素解析部303は、形態素解析の結果から単語N−gramを生成してもよい。この場合、形態素解析部303によって最終的に出力される文字列は「単語」ではなく「複数の単語からなる複合語または語句」となるが、これ以降の処理において「単語」と「複合語」と「語句」を区別したり、「単語」か「複合語」か「語句」かで処理を変えたりする必要は特段ない。したがって、以下の説明では便宜的に「単語」という表現を用いるが、形態素解析部303から出力される文字列が「語句」または「複合語」の場合は以下の説明における「単語」を「語句」または「複合語」と読み替えればよい。上述した、登場回数の閾値、抽出する単語数、単語N−gramにおけるパラメータNなどの設定をユーザに指定可能とするとよい。なお、単語N−gramを生成する場合には、N個の単語から構成される語句のみを抽出してもよいし、N個以下の単語から構成される語句を抽出してもよい。
文書ベクトル生成部304は、形態素解析部303によって抽出された複数の単語の各々について、文書ベクトルを生成する。文書ベクトルは、当該単語の抽出文書ごとの出現回数を要素としてもつベクトルである。文書ベクトル生成部304は、生成した文書ベクトルを単語IDに対応付けて主記憶部102または補助記憶部103に記憶させる。図5は、文書ベクトル3041の一例を示す図である。図5の各列が文書ベクトル3041を示し、各行が抽出文書を示している。表中の数字は、対応列の単語が対応行の文書に出現する回数を示している。抽出文書の数がM個であれば、文書ベクトル3041はM次元のベクトルになる。例えば、図5において、単語ID「101」の単語「リンゴ」の文書ベクトル3041は{…,1,2,3,0,0,…}で示されている。この文書ベクトル3041により、単語「リンゴ」が、文書ID「11」の文書に1回、文書ID「12」の文書に2回、文書ID「13」の文書に3回出現し、文書ID「14」および「15」の文書には出現しないことがわかる。
単語ベクトル生成部305は、テキスト検索部302によって抽出された複数の抽出文書の各々について、単語ベクトルを生成する。単語ベクトルは、当該文書における単語ごとの出現回数を要素としてもつベクトルである。単語ベクトル生成部305は、生成した単語ベクトルを文書IDに対応付けて主記憶部102または補助記憶部103に記憶させる。図6は、単語ベクトル3051の一例を示す図である。図6の各行が単語ベクトル3051を示し、各列が単語を示している。表中の数字は、対応列の単語が対応行の文書に出現する回数を示している。単語の数がL個であれば、単語ベクトル3051はL次元のベクトルになる。例えば、図6において、文書ID「12」の文書の単語ベクトル3051は{…,2,1,0,0,0,0,0,…}で示されている。この単語ベクトル3051により、文書ID「12」の文書中に、単語「リンゴ」が2回と単語「ミカン」が1回出現し、単語「トマト」「スイカ」「メロン」「きゅうり」「イチゴ」は出現しないことがわかる。
ストップワード辞書304aは、文書ベクトル3041や単語ベクトル3051に含めない単語を示す情報を格納する辞書である。図7は、ストップワード辞書の一例を示す図である。文書ベクトル生成部304および単語ベクトル生成部305は、例えば、ストップワード辞書304aに格納されている単語を除外して文書ベクトル3041や単語ベクトル3051を生成してもよい。
分類器308は、入力される文書をn個のクラス(nは2以上の整数)に分類する分類器である。分類器308は、例えば、予め用意された特徴モデル308aを用いて入力文書のスコアを計算し出力する。このスコアは、入力文書が或るクラスに属する確率又は尤度を表す値であって、連続値をとる(したがって、分類器308は回帰器と呼んでもよい
。)。例えば、入力文書を「果物に関する文書」か否かに分類する2クラス分類器の場合は、0〜1の変域のスコアを出力するように設計ないし学習するとよい。この場合、出力スコアが1に近いほど「入力文書は果物に関する文書である可能性が高い」と判断でき、出力スコアが0に近いほど「入力文書は果物に関する文章ではない可能性が高い」と判断できる。また、入力文書を「野菜に関する文書」か「果物に関する文書」か「それ以外の文書」かに分類する3クラス分類器の場合は、−1(野菜)〜0〜+1(果物)の変域のスコアを出力するように設計ないし学習するとよい。この場合、出力スコアが−1に近いほど「入力文書は野菜に関する文書である可能性が高い」と判断でき、出力スコアが+1に近いほど「入力文書は果物に関する文書である可能性が高い」と判断でき、出力スコアが0に近いと「入力文書は野菜に関する文書でも果物に関する文書でもない可能性が高い」と判断できる。このような分類器308は、多数の教師データ(トレーニング用の文書サンプル)を用いた機械学習によって作成してもよいし、人が設計したルールやモデルに基づいて作成してもよい。機械学習の方法は何でもよく、例えば、サーポートベクターマシン(SVM)、ベイジアンネットワーク、ニューラルネットワーク(NN)、ディープニューラルネットワーク(DNN)などを利用できる。本実施形態ではSVMを用いる。分類器308の出力スコアは、入力文書が有する特徴を数値化したものといえるので、以下では「文書特徴スコア」と呼ぶ。分類器308は、抽出文書ごとの文書特徴スコアを算出する「文書特徴算出部」の一例である。
単語分類度計算部307と分類度ベクトル生成部309はともに、単語の文書ベクトル3041と各文書の文書特徴スコアに基づいて、当該単語の特徴を表す特徴量を算出する機能である。単語分類度計算部307と分類度ベクトル生成部309の違いは、前者で求められる特徴量(分類度)が一つの値からなる指標(スカラー)であるのに対し、後者で求められる特徴量(分類度ベクトル)は複数の値の組からなる指標(ベクトル)である点である。いずれの特徴量も単語(文字列)の特徴を表す指標であり、「文字列特徴量」の一例である。各々の特徴量の具体的な計算方法を以下に述べる。
単語分類度計算部307は、対象となる単語の文書ベクトル3041から、当該単語が1回以上出現する抽出文書(以下「出現文書」と呼ぶ)を特定し、特定された出現文書それぞれの文書特徴スコアに基づいて当該単語の特徴量を計算する。具体的には、単語分類度計算部307は、出現文書の文書特徴スコアとその出現文書における当該単語の出現回数との積を計算し、文書特徴スコアと出現回数の積をすべての出現文書について合計した値を、当該単語の特徴量とする。この特徴量は、後段の木構造生成処理において単語の分類に利用されるため、本明細書ではこの特徴量を「単語の分類度」と称する。例えば図8の「スイカ」の場合、出現文書は文書ID「13」と「15」の2つの文書であり、それぞれの文書特徴スコアは「0.8」と「−0.1」、出現回数は「6」と「3」である。したがって「スイカ」の分類度は、
「スイカ」の分類度=6×0.8+3×(−0.1)=4.5
と求まる。なお本実施形態では、文書特徴スコアと出現回数の積の合計値を分類度と定義したが、合計値の代わりに別の統計量を用いてもよい。例えば、平均、標準偏差等によって分類度が求められてもよい。
分類度ベクトル生成部309は、対象となる単語の文書ベクトル3041から出現文書を特定し、特定された出現文書それぞれの文書特徴スコアに基づいて当該単語の特徴量を計算する。具体的には、分類度ベクトル生成部309は、文書特徴スコアと当該単語の出現回数との積を要素としてもつベクトルを、当該単語の特徴量とする。この特徴量も、後段の木構造生成処理において単語の分類に利用されるため、本明細書でこの特徴量を「分類度ベクトル」と称する。例えば図8の「スイカ」の場合、分類度ベクトル3091は{…,0,0,6×0.8,0,3×(−0.1),…}となる。なお、本実施形態の例では、単語の分類度は、当該単語の分類度ベクトルのすべての要素の和に等しくなる。
基点決定部310は、木構造の基点となる単語を決定する。基点となる単語は、例えば、ユーザが指定した単語であってもよいし、分類度が最も大きい単語又は最も小さい単語であってもよいし、分類度ベクトル3091の大きさが最も大きい単語又は最も小さい単語であってもよい。また、基点決定部310が、すべての単語の間の分類度の平均である平均分類度を算出し、すべての単語のうちで平均分類度に最も近い分類度をもつ単語を基点に選んでもよい。また、基点決定部310は、すべての単語の間の分類度ベクトルの平均である平均分類度ベクトルを算出し、すべての単語のうちで平均分類度ベクトルに最も近い分類度ベクトルをもつ単語を基点に選んでもよい。基点決定部310は、基点として決定した単語の情報を表示データ生成部311に渡す。なお、本実施形態では、分類度ベクトル3091の大きさを「分類度ベクトルのすべての要素の和」と定義する。したがって、本実施形態では「単語の分類度」と「単語の分類度ベクトルの大きさ」は同じ値となる。
なお、木構造の基点は空(から)のノードであってもよい。基点を空のノードにする場合、基点決定部310は、すべての単語の中から、分類度が最も大きい単語と最も小さい単語のペア、又は、分類度ベクトルの大きさが最も大きい単語と最も小さい単語のペアを選択し、表示データ生成部311に渡す。
表示データ生成部311は、複数の単語の関係を表す木構造を生成し、ディスプレイ210に出力する。本実施形態で生成される木構造は、各々のノードに単語が対応付けられており、かつ、単語間の特徴量(分類度又は分類度ベクトル)の差に基づいて各ノードの配置が決定される点に特徴がある。詳しくは後述する。
単語特徴量比較部312は、2つの単語の間の特徴量を比較することで、2つの単語の類似度を評価する機能である。具体的には、単語特徴量比較部312は、2つの単語の間の特徴量の差を計算し、その値を類似度として出力する(この場合、差が小さいほど類似度が高い、差が大きいほど類似度が低いこととなる)。特徴量の差は、例えば次のように求めることができる。特徴量が分類度(スカラー)の場合は、2つの単語の間で分類度の差(減算値)又はその絶対値を計算すればよい。また特徴量が分類度ベクトルの場合は、2つの単語の間の分類度ベクトルの差を、コサイン類似度やユークリッド距離等のベクトル比較関数により計算すればよい。
ノード文書検索部313は、キーボード220やマウス230等を用いて、木構造のいずれかのノードがユーザにより指定された場合に、ノードの単語に対応した文書ベクトルの要素になっている文書IDの文書を検索する。また、エッジ文書検索部314は、キーボード220やマウス230等を用いて、木構造のいずれかのエッジがユーザにより指定された場合に、指定されたエッジによって接続される2つのノード間の文書ベクトルのANDを取ったベクトルの要素になっている文書IDの文書を検索する。なお「エッジ」とは、ノードとノードの間をつなぐリンクのことである。ノード文書検索部313やエッジ文書検索部314によるテキスト検索結果は、テキスト表示部315に渡される。テキスト表示部315はテキスト検索結果をディスプレイ210に表示する機能である。
詳細データ検索部316は、キーボード220やマウス230等を用いて、木構造のいずれかのノードがユーザにより指定された場合に、指定されたノードに対応付けられた単語の詳細データを検索して表示する機能である。詳細データ検索部316は、例えば、指定されたノードに表示されている単語を検索キーとして情報処理装置100がアクセス可能な環境に構築されたデータベースやウェブサイトを検索し、検索結果を表示する。情報処理装置100がアクセス可能な環境に構築されたデータベースやウェブサイトは、インターネット上に構築されたデータベースやウェブサイトであってもよいし、情報処理装置
100の補助記憶部103上に構築されたデータベースやLAN上に構築されたデータベースやウェブサイトであってもよい。
<処理フロー>
図17から図20を参照して、第1実施形態に係る情報処理装置100が実行する処理フローについて説明する。図17から図20は、第1実施形態に係る処理フローの一例を示す図である。図17の「A」は図18の「A」に接続し、図18の「B」は図19の「B」に接続し、図19の「C」は図20の「C」に接続する。
ステップS1では、キーボード220等の入力手段によって検索条件が指定され、検索クエリが生成される。検索クエリは、テキスト検索部302に渡される。ステップS2では、テキスト検索部302は、検索クエリに含まれるキーワードを同義語展開部301に渡す。同義語展開部301は、受け取ったキーワードの同義語を同義語辞書301aから取得し、テキスト検索部302に渡す。
ステップS3では、テキスト検索部302は、検索クエリに含まれるキーワード又はその同義語を含む文書をテキストデータベース302aから抽出する。ステップS1からステップS3までの処理は、「検索ステップ」の一例である。
ステップS4では、形態素解析部303は、テキスト検索部302で得られた抽出文書の各々のテキストに対し形態素解析を行うことによって、複数の単語(文字列)を抽出する。ステップS4は、「解析ステップ」の一例である。
ステップS5では、文書ベクトル生成部304は、形態素解析部303で得られた各々の単語について文書ベクトル3041を生成する。ステップS6では、単語ベクトル生成部305が、テキスト検索部302で得られた各々の抽出文書について単語ベクトル3051を生成する。ステップS5とステップS6の順番は入れ替えてもよい。
ステップS7では、分類器308が、テキスト検索部302で得られた抽出文書の各々について、文書特徴スコアを算出する。ステップS8では、単語分類度計算部307が、各単語の分類度を計算する。ステップS9では、分類度ベクトル生成部309が、各単語の分類度ベクトルを計算する。ステップS7は、「文書特徴算出ステップ」の一例であり、ステップS8からステップS9は、「文字列特徴量算出ステップ」の一例である。
ステップS10では、基点決定部310が、木構造の基点ノードとなる単語を決定する。基点決定部310は、基点ノードとして決定した単語を表示データ生成部311に渡す。なお、基点ノードを「空」とする場合には、基点決定部310は、分類度が最も大きい単語と最も小さい単語のペア、又は、分類度ベクトルの大きさが最も大きい単語と最も小さい単語のペア、を表示データ生成部311に渡す。ステップS10は、「基点決定ステップ」の一例である。
ステップS11では、表示データ生成部311が、基点決定部310から渡された単語を基点ノードとして設定する。基点ノードが「空」である場合には、表示データ生成部311は、基点決定部310から受け取った単語のペアを「空」である基点ノードの配下に配置する。図9は、「空」である基点ノードの配下に分類度が最も大きい単語「リンゴ」のノードと分類度が最も小さい単語「トマト」のノードとを配置した状態の一例を示す図である。ステップS11により木構造の基点が生成される。
ステップS12では、表示データ生成部311は、残りの単語(つまり、未だ木構造に配置されていない単語)の中から、次に木構造に追加する候補となる単語を選択する。基
点ノードが「空」の場合は、例えば、残りの単語の中から、単語の分類度が最も大きい単語と最も小さい単語のペア、又は、単語の分類度ベクトルの大きさが最も大きい単語と最も小さい単語のペアを選択するとよい。基点ノードが「空」でない場合は、例えば、残りの単語の中から、基点ノードの単語に最も類似する単語を選択するとよい(なお、単語間の類似度については単語特徴量比較部312と同じ方法で計算すればよい)。選択された追加候補の単語は、単語特徴量比較部312に渡される。
ステップS13では、単語特徴量比較部312が、木構造に既に表示されているノードのうち、子ノードを追加可能なノードを特定する。本実施形態では二分木を対象としているため、子ノードを追加可能なノードとは、子ノードを有していないか、1つの子ノードのみを有するノードである。そして、単語特徴量比較部312は、ステップS12で選択された追加候補の単語と子ノードを追加可能なノードに対応付けられた単語とのすべての組み合わせについて、単語間の特徴量を比較し、単語間の類似度が最も高い(特徴量の差が最も小さい)組み合わせを選定する。追加候補の単語と子ノードを追加可能なノードの情報は、表示データ生成部311に渡される。
ステップS14では、表示データ生成部311が、子ノードを追加可能なノードに対し新たな子ノードを追加し、その子ノードに追加候補の単語を対応付ける。これにより特徴量が類似する単語が子ノードとして連結されていくことになる。図10は、類似するノードを追加した状態の一例である。図10では、ノード「リンゴ」の下に子ノード「みかん」が追加され、ノード「トマト」の下に子ノード「きゅうり」が追加されている。本実施形態では二分木で表示されるため、2つの子ノードを有するノードについては、子ノードの追加が行われない。
ステップS15では、表示データ生成部311が、未処理の単語(つまり木構造に追加されていない単語)が残っているか調べる。未処理の単語が残っている場合は、ステップS12〜S14の処理を繰り返す。未処理の単語が無い場合は、ステップS16に移る。ステップS16では、表示データ生成部311が、決定した構造の二分木をディスプレイ210等の表示装置に出力する。
ステップS17以降の処理は、表示された木構造に対する操作に応答する処理である。ステップS17では、キーボード220やマウス230等の入力手段によりノードが指定されたか否かが判定される。ノードが指定された場合(ステップS17でYES)、処理はステップS18へ進められる。ノードが指定されていない場合(ステップS17でNO)、処理はステップS19へ進められる。
ステップS18では、ノード文書検索部313が、指定されたノードに対応付けられた単語を検索キーとして文書のテキスト検索を行う。このとき、ノード文書検索部313は、指定されたノードに対応付けられた単語の文書ベクトル又は分類度ベクトルから、当該単語が出現する文書を特定し、それらの文書を検索範囲としてテキスト検索を行う。テキスト表示部315は、テキスト検索結果をディスプレイ210に表示する。テキスト検索結果の表示方法はどのようなものでもよい。例えば、検索キーとして用いた単語を含むテキスト部分を抽出し、指定されたノードの近くにそのテキストを表示してもよい(このとき、検索キーとして用いた単語をハイライト表示してもよい)。あるいは、検索キーとして用いた単語を含む文書の一覧(文書IDの一覧、文書のタイトルやファイル名の一覧など)を表示してもよい。
ステップS19では、キーボード220やマウス230等の入力手段によりエッジが指定されたか否かが判定される。エッジが指定された場合(ステップS19でYES)、処理はステップS20へ進められる。エッジが指定されていない場合(ステップ19でNO
)、処理はステップS21へ進められる。
ステップS20では、エッジ文書検索部314が、指定されたエッジによって接続される2つのノードにそれぞれ対応付けられた2つの単語の文書ベクトル又は分類度ベクトルのANDを取ったベクトルから出現する文書を特定しそれらの文書を検索範囲としてテキスト検索を行う。テキスト表示部315は、テキスト検索結果をディスプレイ210に表示する。テキスト検索結果の表示方法はどのようなものでもよい。例えば、検索キーとして用いた単語を含むテキスト部分を抽出し、指定されたノードの近くにそのテキストを表示してもよい(このとき、検索キーとして用いた単語をハイライト表示してもよい)。あるいは、検索キーとして用いた単語を含む文書の一覧(文書IDの一覧、文書のタイトルやファイル名の一覧など)を表示してもよい。
ステップS21では、キーボード220やマウス230等の入力手段により詳細情報を表示するための操作が行われたか否かが判定される。詳細情報を表示するための操作は、例えば、キーボード220の所定のキーの押下や、マウス230の右クリック等である。詳細情報を表示するための操作が行われた場合(ステップS21でYES)、処理はステップS22に進められる。詳細情報を表示するための操作が行われていない場合(ステップS21でNO)、処理はステップS17に進められる。
ステップS22では、詳細データ検索部316は、指定されたノードに対応付けられた単語の詳細情報を表示する。図16は、詳細データ検索部316による検索結果の表示例である。図16では、「リンゴ」のノードが指定され、詳細データ検索部316は指定された「リンゴ」を検索キーとしてインターネット上のウェブサイトを検索し、その検索結果を表示している状態が例示されている。
<表示データ生成部の処理例>
次に、表示データ生成部311による木構造の表示処理のバリエーションを説明する。以下の表示処理は必須の機能ではなく、必要に応じて表示データ生成部311に実装すればよい。
(属性データリスト)
表示データ生成部311は、属性データリスト311cに登録されている単語については、対応するノードを特定の色や効果を付して表示してもよい。図11は、属性データリスト311cの一例を示す図である。属性データリスト311cでは、単語と当該単語が対応付けられたノードに付与する属性(アトリビュート)とが対応付けられる。図11では、属性の一例として、ノードの背景色が指定される。例えば、単語「みかん」のノードでは、背景色は「橙」となる。
(特定特徴データリスト)
図12は、特定特徴データリスト311bの一例を示す図である。特定特徴データリスト311bは、アトリビュート付与の対象となる単語のリストである。ここで、特定特徴データリスト311bに登録されている単語を「対象単語」と呼び、対象単語が対応付けられたノードを「対象ノード」と呼ぶ。また、対象ノードに隣接するノード(つまり、親ノード又は子ノード)を「隣接ノード」と呼び、隣接ノードに対応付けられた単語を「隣接単語」と呼ぶ。
表示データ生成部311は、対象単語と隣接単語が所定の条件を満たす場合に、対象ノード及び/又は隣接ノードを特定の色や効果を付して表示する。所定の条件は、例えば、対象単語と隣接単語の間の類似度が所定の閾値よりも高いという条件である。単語間の類似度は、上述したように、単語の分類度の差から求めてもよいし、分類度ベクトルのコサ
イン類似度やユークリッド距離などから求めてもよい。また、所定の閾値の設定は、ユーザが変更可能であるとよい。
(近接規則リスト)
表示データ生成部311は、近接規則リスト311aに登録された規則に基づいてノードの表示態様を変更してもよい。図13は、近接規則リスト311aの一例を示す図である。近接規則リスト311aは、ルールID、隣接色、個数、アトリビュート、の4つの項目を含む。ルールIDは、近接規則リスト311aに登録された各規則を一意に識別するIDである。隣接色は、隣接するノードの背景色である。個数は、隣接するノードの個数である。アトリビュートは、隣接色および個数の条件を満たした場合に変更するノードの背景色である。例えば、ルールID:4の近接規則の場合、背景色が「赤」の隣接ノードが2つ存在するノードの背景色は「黄色」に変更される。図14は、近接規則リスト311aに登録された規則に基づいてノードの表示態様を変更した場合を例示する図である。図14(A)は変更前の状態を例示し、図14(B)は変更後の状態を例示する。図14では、ノード1001に隣接する2つのノード(親ノードと子ノード)が赤色であるため、ルールID:4の近接規則にしたがい、ノード1001の色が黄色に変更されている。
表示データ生成部311は、さらに、表示対象データリスト311dを参照して、表示対象データリスト311dに登録されていない単語については、ノードとして出力しなくともよい。図15は、表示対象データリスト311dの一例を示す図である。表示対象データリスト311dは、ノードとして表示する対象となる単語が登録される。図15では、「みかん」、「すいか」および「きゅうり」が表示対象データリスト311dに登録されており、これら3つの単語以外の単語はノードとして出力されない。ノードとしての表示を望まない単語を表示対象データリスト311dから除外しておくことで、表示データ生成部311がノイズの少ない木構造を表示することができる。
<第1変形例>
第1実施形態では、文書ベクトル生成部304は、単語毎に文書ベクトル3041を生成し、同義語は考慮しなかった。しかしながら、文書ベクトル生成部304は、同義語辞書301aを参照して、同義語の中から選択された代表語に同義語を置き換えて文書ベクトル3041を生成してもよい。図21は、同義語をまとめて生成した文書ベクトル3041aの一例を示す図である。図21の上段は同義語を代表語に置き換える前の文書ベクトル3041の一例であり、図21の下段は同義語を代表語に置き換えた後の文書ベクトル3041aの一例である。図21の上段において、例えば、同じ「リンゴ」を示す単語「リンゴ」、「りんご」および「林檎」について、それぞれ異なる文書ベクトル3041が生成されている。また、同じ「スイカ」を示す単語「スイカ」および「西瓜」について、それぞれ異なる文書ベクトル3041が生成されている。図21の下段では、同義語を代表語による表記に置き換えた結果、「リンゴ」、「りんご」および「林檎」が代表語「リンゴ」に置き換えられて文書ベクトル3041aが生成され、「スイカ」および「西瓜」が代表語「スイカ」に置き換えられて文書ベクトル3041aが生成されていることがわかる。同義語を代表語に置き換えた後における出現回数は、各同義語の出現回数の合計となる。同義語を代表語に置き換えて文書ベクトル3041aが生成される場合、木構造で表示される各ノードも同義語を代表語に置き換えて表示されてもよい。同義語を代表語に置き換えることで、文書の各々における単語の表記の揺れを吸収することができる。
<第2変形例>
第1実施形態では、テキスト検索部302は、検索条件として与えられたキーワードを含むすべての文書をテキストデータベース302aから抽出した。しかしながら、テキスト検索部302は、検索条件として日時が指定される場合、文書の作成日と指定された日
時とが一致する文書、指定された日時以降に作成された文書または指定された日時以前に作成された文書を抽出してもよい。この場合、文書の各々には、当該文書を作成した作成日を示す作成日付情報が付されており、テキスト検索部302が作成日付情報と指定された日時とを照合すればよい。検索条件として日時が指定される場合、表示データ生成部311は、例えば、指定された日時と文書に付された作成日付情報とに基づいて、ノードの表示態様を変更してもよい。例えば、表示データ生成部311は、指定された日時と作成日付情報とが一致する文書に出現する単語のノードを他のノードと異なる態様で表示することで、ユーザが他のノードと区別しやすいように表示してもよい。
<第3変形例>
第1実施形態では、文書ベクトル生成部304は、ストップワード辞書304aに登録されている単語を除いて、文書に含まれるすべての単語を用いて文書ベクトル3041を生成した。しかしながら、文書ベクトル3041に用いる単語の単語数に関して閾値を設けて制限してもよい。例えば、文書中における単語の出現順に文書ベクトル3041の要素として採用し、採用した単語の数が閾値に達した時点で、残りの単語については文書ベクトル3041の要素として採用しない方法も可能である。また、文書ベクトル3041の要素として採用した単語の数が閾値に達すると、それ以降は最も古く要素として採用された単語を文書ベクトル3041から除外して、新しい単語を文書ベクトル3041の要素として採用する方法も可能である。また、単語に重みづけを行う所定のアルゴリズム(例えば、TF-IDF、Okapi BM25等)によって単語に重みづけを行い、重みの高い単語から順に文書ベクトル3041の要素として採用し、文書ベクトル3041の要素として採用した単語の数が閾値に達すると、それ以降の単語は文書ベクトル3041の要素として採用しない方法も可能である。
<第4変形例>
文書は、他の文書への参照情報を含んでもよい。例えば、文書が論文である場合、引用した論文を示す情報を他の文書への参照情報として含んでもよい。このような場合、テキスト検索部302は、文書の各々が他の文書から参照される被参照数を集計し、被参照数の多い文書を優先して抽出してもよい。優先して抽出とは、例えば、抽出する文書の数に閾値が設けられている場合、検索クエリに基づいて抽出した文書のうち被参照数の多い文書から順番に文書を抽出し、抽出した文書の数が閾値に達すると抽出を終了すればよい。被参照数が多い文書は、それだけ重要度の高い文書である可能性が高い。そのため、このような構成を採用することで、重要な情報を得られる可能性が高い文書が優先して抽出されるようになるという利点がある。
また、テキスト検索部302は、文書の各々が他の文書から参照される被参照数を集計し、被参照数の少ない文書を優先して抽出してもよい。この場合における優先して抽出とは、例えば、抽出する文書の数に閾値が設けられている場合、検索クエリに基づいて抽出した文書のうち被参照数の少ない文書から順番に文書を抽出し、抽出した文書の数が閾値に達すると抽出を終了すればよい。被参照数が少ない文書は、あまり知られていない情報が記載されている文書である可能性が高い。そのため、このような構成を採用することで、ユーザが新たな知見を得られる可能性が高い文書が優先して抽出されるようになるという利点がある。
<第5変形例>
第1実施形態では、木構造の初期の基点は基点決定部310が決定したが、木構造が表示された後はユーザにより基点を変更できるようにしてもよい。例えば、キーボード220またはマウス230等の入力手段によって、ユーザが基点としたいノードを指定すると、基点決定部310は、指定されたノードを基点として表示データ生成部311に渡し、表示データ生成部311は指定されたノードを基点として二分木を生成すればよい。この
ような処理を実行する基点決定部310および表示データ生成部311は、「基点変更部」の一例である。
<第6変形例>
第1実施形態では、二分木を例示したが、木構造としては、三分木またはそれ以上に分岐する木構造であってもよい。この場合、ユーザがキーボード220等の入力手段を介して、表示データ生成部311に対して分岐する分岐数を指定すればよい。例えば、木構造を三分木とする場合、分岐数として「3」が指定されればよい。
<第7変形例>
第1実施形態では、基点ノードが「空」の場合に、基点の下に接続するノードとして、分類度又は分類度ベクトルの大きさ(以下まとめて「分類度」と記す)が最大の単語と最小の単語のペアを選択し(ステップS10参照)、それ以降追加するノードとして、残りの単語の中から、分類度が最大の単語と最小の単語のペアを選択することとした(ステップS12参照)。このような選択手順は、木構造が二分木であり、かつ、分類度が「当該単語があるクラスに属するか否か」を表す指標である場合に好適な例である。もし、木構造が二分木であり、かつ、分類度が「当該単語が第1のクラスに属するか第2のクラスに属するか」を表す指標である場合は、ステップS10やS12において、第1のクラスへの分類度が最大の単語と第2のクラスへの分類度が最大の単語の2つを選択すればよい。また、木構造が三分木であり、かつ、分類度が「当該単語が第1のクラスに属するか第2のクラスに属するか第3のクラスに属するか」を表す指標である場合は、ステップS10やS12において、第1のクラスへの分類度が最大の単語と第2のクラスへの分類度が最大の単語と第3のクラスへの分類度が最大の単語の3つを選択すればよい。分岐数が3より多い場合も同様である。
<第1実施形態の利点>
以上述べた第1実施形態による利点をまとめると次のとおりである。上述した木構造では、単語の特徴を表す特徴量(分類度又は分類度ベクトル)の差に基づいて各ノードの配置が決定されているので、各ノード(単語)の配置や接続関係などから、検索結果である複数の抽出文書に出現する単語の傾向などを容易に把握できる。また、上記実施形態では、単語の特徴を、単語そのものではなく、当該単語を使用している文書(テキスト、文脈)の特徴である文書特徴スコアを使って表現している。それゆえ、木構造における各ノードの配置や接続関係は、文書同士の関連性・類似性を反映したものとなる。したがって、上述した木構造を用いることにより、複数の文書について、文書同士の関連性・類似性や文書に登場する単語同士の関係を適切かつ直感的に表現することができ、ユーザによる情報探索作業を支援することが可能となる。
<第2実施形態>
図22を参照して、本発明の第2実施形態について説明する。第2実施形態では、単語分類器(文字列の分類器)を用いて単語から直接的に単語の特徴量である分類度を求める。
図22に示すように、第2実施形態に係る情報処理装置100は、単語分類器401及び単語特徴モデル401aを備える。それ以外の構成は第1実施形態のものと同じである。
単語分類器401は、入力される単語をn個のクラス(nは2以上の整数)に分類する分類器である。単語分類器401は、例えば、予め用意された単語特徴モデル401aを用いて入力単語のスコアを計算し出力する。このスコアは、入力単語が或るクラスに属する確率又は尤度を表す値であって、連続値をとる(したがって、単語分類器401は回帰
器と呼んでもよい。)。このような単語分類器401は、多数の教師データを用いた機械学習によって作成してもよいし、人が設計したルールやモデルに基づいて作成してもよい。機械学習の方法は何でもよく、例えば、サーポートベクターマシン(SVM)、ベイジアンネットワーク、ニューラルネットワーク(NN)、ディープニューラルネットワーク(DNN)などを利用できる。本実施形態ではSVMを用いる。
機械学習の場合に、文字列が出現する複数の文書のデータを教師データとして用いてもよい。文字列と文字列特徴量との対応関係を学習するための教師データとして、当該文字列が出現する文書のデータを利用することにより、第1実施形態の方法で求められる特徴量(分類度)と同じような特性をもつ特徴量を得ることができる。例えば、文字列を「果物」か「野菜」かの2つのカテゴリに分類する単語分類器を学習する場合であれば、「果物」について記載されている多数の文書データ、及び、「野菜」について記載されている多数の文書データを、教師データとして用いる。そして、教師データ(つまり「果物」カテゴリの文書群と「野菜」カテゴリの文書群)から抽出した文字列(例えば「リンゴ」、「ミカン」など)が各カテゴリの文書群に出現する割合に応じて、当該文字列を各カテゴリに分類することの確からしさ(つまり、「果物らしさ」、「野菜らしさ」)を学習する。このような単語分類器を用いると、例えば、「リンゴ」という文字列を入力したときに、「果物:0.98、野菜:0.31」というような出力スコアが得られる。
また、上記以外の方法として、WordNetなどのシソーラスを用いて単語同士の意味的距離(概念距離)を計算してもよい。
なお、単語分類器401の出力スコアは、単語が表す文字列の特徴を数値化したものであり、「文字列特徴量」の一例である。また単語分類器401は、「文字列特徴算出部」の一例である。
<第2実施形態の利点>
以上述べた第2実施形態の構成によっても、第1実施形態と同様の作用効果を得ることができる。
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させる情報処理プログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、Compact Disc Read Only Memory(CD−ROM)、Compact Disc - Recordable(CD−R)、Compact Disc - ReWriterable(CD−RW)、Digital Versatile Disc(DVD)、ブ
ルーレイディスク(BD)、Digital Audio Tape(DAT)、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM等がある。
100・・・情報処理装置
210・・・ディスプレイ
220・・・キーボード
230・・・マウス
3041・・・文書ベクトル
3051・・・単語ベクトル
3091・・・分類度ベクトル

Claims (20)

  1. データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、
    前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、
    前記複数の抽出文書の各々について、当該文書が有する特徴を数値化した文書特徴スコアを算出する文書特徴算出部と、
    前記複数の抽出文字列の各々について、当該抽出文字列を含む1以上の抽出文書の文書特徴スコアから当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部と、
    前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、
    を有する情報処理装置。
  2. 前記文字列特徴算出部は、当該抽出文字列を含む1以上の抽出文書の文書特徴スコアから計算される統計値を、当該抽出文字列の文字列特徴量とする、
    請求項1に記載の情報処理装置。
  3. 前記統計値は、当該抽出文字列を含む1以上の抽出文書の文書特徴スコアの合計値、平均値、又は、標準偏差である、
    請求項2に記載の情報処理装置。
  4. 前記文字列特徴算出部は、当該抽出文字列を含む1以上の抽出文書の文書特徴スコアに基づく値を要素としてもつベクトルを、当該文字列の文字列特徴量とする、
    請求項1に記載の情報処理装置。
  5. 前記文書特徴スコアに基づく値は、抽出文書の文書特徴スコアに当該抽出文書における当該抽出文字列の出現頻度を乗じた値である、
    請求項4に記載の情報処理装置。
  6. 前記文書特徴算出部は、入力文書をn個のクラス(nは2以上の整数)に分類する分類器から構成され、前記抽出文書を前記分類器に入力したときの出力スコアを当該抽出文書の文書特徴スコアとする、
    請求項1から5のいずれか一項に記載の情報処理装置。
  7. データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出する検索部と、
    前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出する解析部と、
    前記複数の抽出文字列の各々について、当該抽出文字列の特徴を表す文字列特徴量を求める文字列特徴算出部であって、入力文字列をn個のクラス(nは2以上の整数)に分類する文字列分類器から構成され、前記抽出文字列を前記文字列分類器に入力したときの出力スコアを当該抽出文字列の文字列特徴量とする文字列特徴算出部と、
    前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力する出力部と、
    を有する情報処理装置。
  8. 前記検索条件は、キーワードを含み、
    前記検索部は、同じ意味を有する同義語を記憶する同義語辞書から前記キーワードの同義語を取得し、前記キーワードおよび前記同義語の少なくともいずれか一方を含む文書を
    、前記抽出文書として抽出する、
    請求項1から7のいずれか一項に記載の情報処理装置。
  9. 前記複数の抽出文字列の間の文字列特徴量の平均を算出し、前記複数の抽出文字列のうち前記平均に最も近い文字列特徴量をもつ抽出文字列を前記木構造の基点に決定する基点決定部を有する、
    請求項1から8のいずれか一項に記載の情報処理装置。
  10. 前記木構造の基点をユーザにより指定された抽出文字列に変更する基点変更部をさらに備える、
    請求項1から9のいずれか一項に記載の情報処理装置。
  11. 前記基点変更部は、出力された前記木構造のいずれかのノードをユーザにより指定させ、現在の木構造の基点をユーザにより指定されたノードに対応付けられた抽出文字列に変更するものである、
    請求項10に記載の情報処理装置。
  12. 前記出力部は、所定の抽出文字列に対応するノード、及び/又は、前記所定の抽出文字列に対応するノードであって且つ隣接するノードに対応付けられた抽出文字列と前記所定の抽出文字列とが所定の条件を満たすノード、及び/又は、隣接するノードと所定の条件を満たすノードを、他のノードとは異なる態様で出力する、
    請求項1から11のいずれか一項に記載の情報処理装置。
  13. 前記データベースに蓄積された前記文書群の各々は、参照する他の文書を示す参照情報を含み、
    前記検索部は、前記参照情報に基づいて他の文書から参照される被参照数が少ない文書を優先して抽出する、
    請求項1から12のいずれか一項に記載の情報処理装置。
  14. 前記データベースに蓄積された前記文書群の各々は、参照する他の文書を示す参照情報を含み、
    前記検索部は、前記参照情報に基づいて他の文書から参照される被参照数が多い文書を優先して抽出する、
    請求項1から12のいずれか一項に記載の情報処理装置。
  15. 前記解析部は、所定の単語数以下の連続する単語を一つの抽出文字列として抽出する、
    請求項1から14のいずれか一項に記載の情報処理装置。
  16. 前記出力部は、前記木構造のいずれかのノードがユーザにより指定されると、指定されたノードに対応付けられた抽出文字列を含む抽出文書の情報を出力する、
    請求項1から15のいずれか一項に記載の情報処理装置。
  17. 前記出力部は、前記木構造のいずれかのエッジがユーザにより指定されると、指定されたエッジによって接続される2つのノードにそれぞれ対応付けられた2つの抽出文字列を両方とも含む抽出文書の情報を出力する、
    請求項1から16のいずれか一項に記載の情報処理装置。
  18. データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出するステップと、
    前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を
    抽出文字列として抽出するステップと、
    前記複数の抽出文書の各々について、当該文書が有する特徴を数値化した文書特徴スコアを算出するステップと、
    前記複数の抽出文字列の各々について、当該抽出文字列を含む1以上の抽出文書の文書特徴スコアから当該抽出文字列の特徴を表す文字列特徴量を求めるステップと、
    前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力するステップと、
    を有する情報処理方法。
  19. データベースに蓄積された文書群から、検索条件にマッチする複数の文書を抽出文書として抽出するステップと、
    前記複数の抽出文書を解析することによって、前記複数の抽出文書から複数の文字列を抽出文字列として抽出するステップと、
    入力文字列をn個のクラス(nは2以上の整数)に分類する文字列分類器を用いて、前記複数の抽出文字列の各々を前記文字列分類器に入力したときの出力スコアを、各抽出文字列の特徴を表す文字列特徴量として求めるステップと、
    前記複数の抽出文字列の各々がノードに対応付けられ、かつ、抽出文字列間の文字列特徴量の差に基づいて各ノードが配置された、木構造を出力するステップと、
    を有する情報処理方法。
  20. 請求項18または19に記載の情報処理方法の各ステップをコンピュータに実行させるためのプログラム。
JP2018189515A 2018-10-04 2018-10-04 情報処理装置 Active JP7203554B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018189515A JP7203554B2 (ja) 2018-10-04 2018-10-04 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018189515A JP7203554B2 (ja) 2018-10-04 2018-10-04 情報処理装置

Publications (2)

Publication Number Publication Date
JP2020060811A true JP2020060811A (ja) 2020-04-16
JP7203554B2 JP7203554B2 (ja) 2023-01-13

Family

ID=70218979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018189515A Active JP7203554B2 (ja) 2018-10-04 2018-10-04 情報処理装置

Country Status (1)

Country Link
JP (1) JP7203554B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112883687A (zh) * 2021-02-05 2021-06-01 北京科技大学 一种基于合同文本标记语言的法律合同交互式标注方法
CN116611514A (zh) * 2023-07-19 2023-08-18 中国科学技术大学 一种基于数据驱动的价值取向评估体系构建方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1074210A (ja) * 1996-07-05 1998-03-17 Hitachi Ltd 文献検索支援方法及び装置およびこれを用いた文献検索サービス
JP2003223466A (ja) * 2002-01-31 2003-08-08 Seiko Epson Corp 特許検索装置、特許検索装置の制御方法、制御プログラムおよび記録媒体
JP2005025465A (ja) * 2003-07-01 2005-01-27 Toshiba Corp 文書検索方法及び文書検索装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1074210A (ja) * 1996-07-05 1998-03-17 Hitachi Ltd 文献検索支援方法及び装置およびこれを用いた文献検索サービス
JP2003223466A (ja) * 2002-01-31 2003-08-08 Seiko Epson Corp 特許検索装置、特許検索装置の制御方法、制御プログラムおよび記録媒体
JP2005025465A (ja) * 2003-07-01 2005-01-27 Toshiba Corp 文書検索方法及び文書検索装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112883687A (zh) * 2021-02-05 2021-06-01 北京科技大学 一种基于合同文本标记语言的法律合同交互式标注方法
CN116611514A (zh) * 2023-07-19 2023-08-18 中国科学技术大学 一种基于数据驱动的价值取向评估体系构建方法
CN116611514B (zh) * 2023-07-19 2023-10-10 中国科学技术大学 一种基于数据驱动的价值取向评估体系构建方法

Also Published As

Publication number Publication date
JP7203554B2 (ja) 2023-01-13

Similar Documents

Publication Publication Date Title
KR100756921B1 (ko) 문서 분류방법 및 그 문서 분류방법을 컴퓨터에서 실행시키기 위한 프로그램을 포함하는 컴퓨터로 읽을 수있는 기록매체.
US20180260860A1 (en) A computer-implemented method and system for analyzing and evaluating user reviews
TW201638803A (zh) 文本挖掘系統和工具
Smith et al. Evaluating visual representations for topic understanding and their effects on manually generated topic labels
JP2012027845A (ja) 情報処理装置、関連文提供方法、及びプログラム
US11625537B2 (en) Analysis of theme coverage of documents
US20150205860A1 (en) Information retrieval device, information retrieval method, and information retrieval program
Rogers et al. Real-time text classification of user-generated content on social media: Systematic review
US11893537B2 (en) Linguistic analysis of seed documents and peer groups
JP2012073804A (ja) キーワード提示装置、方法及びプログラム
JP7203554B2 (ja) 情報処理装置
JP5224532B2 (ja) 評判情報分類装置及びプログラム
Li et al. A hybrid model for role-related user classification on twitter
Bayomi et al. C-hts: A concept-based hierarchical text segmentation approach
JP5269399B2 (ja) 構造化文書検索装置、方法およびプログラム
Ullah et al. Pattern and semantic analysis to improve unsupervised techniques for opinion target identification
Saeed et al. An abstractive summarization technique with variable length keywords as per document diversity
US9886488B2 (en) Conceptual document analysis and characterization
JP7170487B2 (ja) 情報処理装置およびプログラム
CN111831884B (zh) 一种基于信息查找的匹配***与方法
JP2009217406A (ja) 文書検索装置及び方法、並びに、プログラム
Hajjem et al. Features extraction to improve comparable tweet corpora building
Wijewickrema et al. Automatic document classification using a domain ontology
Shen et al. A hybrid model combining formulae with keywords for mathematical information retrieval
Vasili et al. A study of summarization techniques in Albanian language

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210802

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220524

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221227

R150 Certificate of patent or registration of utility model

Ref document number: 7203554

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150