<<<本発明の文解析装置における技術的思想の概要>>>
本発明の文解析装置は、テキストデータから同じ文字列を検索し、当該検索された同じ文字列についてそれぞれ、前の隣接文字の異なり度合いと後の隣接文字の異なり度合いを判定し、その判定された異なり度合いに基づいて、その検索された「同じ文字列」が、話題に関して重要性が高く、テキストデータを意味識別可能な特定文字列であるか否かを決定する。前の隣接文字の異なり度合いとは、検索された「同じ文字列」の直前に出現する文字が、どの程度異なっているかを示す指標である。同様に、後の隣接文字の異なり度合いとは、検索された「同じ文字列」の直後に出現する文字が、どの程度異なっているかを示す指標である。
ここで、例えば、検索された「同じ文字列」のうち、前の隣接文字の異なり度合いと後の隣接文字の異なり度合いが大きい文字列が、特定文字列として決定される。このようにして決定された1つまたは複数の文字列は、必要に応じて、所定の記憶手段に記憶される。
このような文字列の抽出は、テキストデータに含まれる複数の同じ文字列に注目したときに、それぞれの文字列の直前に位置する文字として多くのバリエーションの文字が出現するとともに、それぞれの文字列の直後に位置する文字として多くのバリエーションの文字が出現するという出現特性が認められる場合、その文字列が、独立した、よく用いられる用語である、との考えに基づくものである。このように、本発明の文解析装置では、文字列の運動学(kinematics)を基礎におく考えに基づいて文字列が抽出される。
ここで、「いろは」という文字列が100回出現する日本語テキストデータを仮定すると、この文字列「いろは」を100個検索し、それぞれの文字列「いろは」について、直前の文字が何かを調べる。その結果、「あ」や「い」を含む30通りの文字が出現するという事実が得られるものとする。このことは、例えば、「・・・あいろは・・・」や「・・・いいろは・・・」といった表現が、上記の日本語テキストデータに存在するということを示している。一方、それぞれの文字列「いろは」について、直後の文字が何かを調べる。その結果、「わ」や「ん」を含む20通りの文字が出現するという事実が得られるものとする。このことは、例えば、「・・・いろはわ・・・」や「・・・いろはん・・・」といった表現が、上記の日本語テキストデータに存在するということを示している。
この場合、前の隣接文字の異なり度合いは、例えば、「あ」や「い」を含む30通りというバリエーションの数に基づいて判定され、後の隣接文字の異なり度合いは、例えば、「わ」や「ん」を含む20通りというバリエーションの数に基づいて判定される。ここで、前の隣接文字の異なり度合いと後の隣接文字の異なり度合いが大きいと判定された場合は、「いろは」という文字列の前後の文字が大きな多様性をもって変化しており、これによって文字列「いろは」が、独立した用語であって重要性の高い語である可能性が高いと判断され、特定文字列として決定され、必要に応じて記憶手段に記憶される。前の隣接文字の異なり度合いと後の隣接文字の異なり度合いが大きいか否かは、共通の、または個別の判断基準により判断される。
入力データであるテキストデータは、どのような内容のデータであってもよい。代表的な例としては、個人によって生成された、インターネット上に公開されているWEBページ(ホームページ)やブログのテキストデータ、及びTWITTER(登録商標)のツイート情報がある。また、個人のほか、任意の機関によって事前に生成・編集されたデータやデータベース内のテキスト情報であってもよい。さらに、音声ファイル・動画ファイルから音声認識処理を経て取得されるテキストデータ等、様々なデータを用いることができる。
また、テキストデータは、収集条件によって収集されたデータである。例えば、キーワード検索の検索結果として示されたWEBページ(ホームページ)に記載されているテキストデータや、ある属性を有するユーザのブログに記載された文や、TWITTERにおけるツイート情報などであってもよい。なお、1つのテキストデータは、複数のテキストファイルを含むもの(例えば、1つのWEBサイトに含まれる複数のWEBページ(HTMLファイル)を含むもの)であってもよいし、1つのテキストファイルを分割した一部(例えば、1ファイルに含まれるテキストを1万ラインごとに分割したうちの1つ)であってもよい。
<<<本発明の一実施形態に係る文解析装置の処理概要の説明>>>
図1を参照して、本発明の一実施形態に係る文解析装置の処理概要について説明する。最初に、文解析装置は、テキストデータ200を取得する(テキストデータ取得処理100)。テキストデータ200は、前述のように、様々なデータソースから受信することができる。また、受信したネットワークアドレスにアクセスすることによりテキストデータ200を取得するようにもできる。またさらに、取得したテキストデータ200、またはテキストデータ200を取得する際に、特定のテキストデータだけを取得するようフィルタ処理を行ったり、特定の分類によりグルーピングをしたりすることもできる。
次に、文解析装置は、テキストデータ取得処理100により取得されたテキストデータ200から、同じ(共通の)文字列を検索する(文字列検索処理110)。この処理は、例えば、上述したように、取得したテキストデータ200の中の「いろは」という同じ文字列を検索し、取り出す処理である。上記の例では、1つのテキストデータに100個の文字列「いろは」が存在するが、そのすべてが取り出される。また、テキストデータの中には、「いろは」以外にも同じ文字列が複数存在する可能性があるが、その場合は、それらの文字列も同様に検索して取り出す。例えば、文字列「いろは」の他に、文字列「にほへと」が複数含まれていれば、その文字列も同様に取り出される。なお、文字列「いろはに」などのように、同じ文字列としてすでに取り出されている「いろは」をそのまま含む文字列が複数ある場合も、文字列「いろは」とは別に、同じ文字列として検索される。
文字列検索処理110はさらに、同じ文字列として検索された文字列を、それぞれ、その文字列の前の隣接文字と後の隣接文字とともに、検索結果データ115に記憶する。検索結果データ115は、例えば、RAM等の主記憶装置に記憶される。記憶されるデータは、例えば、上記の例の文字列「いろは」については、100個のそれぞれの「いろは」について、文字列「いろは」、「いろは」の前の隣接文字、及び「いろは」の後の隣接文字を含むデータである。上述した例の場合、文字列「にほへと」や文字列「いろはに」についても同様に、それらの文字列と、前の隣接文字、及び後の隣接文字が検索結果データ115に記憶される。
このように、文字列検索処理110において、同じ文字列が検索された場合に、その文字列と、前後の隣接文字を記憶するのは、最終的に、重要な意味を持つ特定文字列を決定するためであるが、テキストデータ200のなかに同じ文字列が複数存在する場合であっても、その出現頻度が所定の頻度に達しない場合は、この時点で、特定文字列として決定される可能性がないとの判断を行い、その文字列に関するデータを検索結果データ115に記憶しないようにすることができる。多くの文字からなるテキストデータ200において、わずかな回数しか出現しない語(文字列)は、そもそも重要性が高くないと判断できるからである。
また、文字列検索処理110において、テキストデータ200から同じ文字列を検索し記憶するために、本実施形態では、サフィックスアレイ(Suffix Array:接尾辞配列)という検索用データ構造を用い、これを二分探索(Binary Search)により検索することで、同じ文字列を高速に検索している。なお、本実施形態では、上記のような方法により、文字列検索処理110を行っているが、他の様々な方法を採用して、同様の検索処理を行うことができる。サフィックスアレイと二分探索を用いた文字列検索処理110の処理については、後で詳細に説明する。
次に、文解析装置は、文字列検索処理110によって検索結果データ115に記憶された文字列とその前後の隣接文字の内容から、前の隣接文字の異なり度合いと後の隣接文字の異なり度合いを判定する(異なり度合い判定処理120)。
ここで、1つの文字をs(i)と表し、
s(i)〜s(j)より構成される文字列m(i,j)を、
m(i,j)=(s(i),s(i+1),s(i+2),・・・s(j−2),s(j−1),s(j))と表し、
s(i)〜s(j−1)より構成される文字列m(i,j−1)を、
m(i,j−1)=(s(i),s(i+1),s(i+2),・・・s(j−2),s(j−1))と表し、
s(i+1)〜s(j)より構成される文字列m(i+1,j)を、
m(i+1,j)=(s(i+1),s(i+2),・・・s(j−2),s(j−1),s(j))と表す。
この場合、前の隣接文字に関する境界条件は、
T(i−1)={S(i−1)|m(i,j)}
T(i)={S(i)|m(i+1,j)}
で定義され、
後の隣接文字に関する境界条件は、
B(j)={S(j)|m(i,j−1)}
B(j+1)={S(j+1)|m(i,j)}
で定義される。
ここで、例えば、{S(i−1)|m(i,j)}は、文字列m(i,j)を共通とし、その直前に出現する文字の集合を意味する。なお、ここで、s(i)∈T(i)、及びs(j)∈B(j)が成立する。
例えば、T(i−1)の要素数が多く、T(i)の要素数が1の場合、s(i)が特定文字列の先頭になる可能性が高く、一方、B(j)の要素数が1で、B(j+1)の要素数が多い場合、s(j)が特定文字列の末尾になる可能性が高く、結果的に、文字列m(i,j)は、特定文字列の候補として判断される。
このように、同じ文字列について、それらの前(または後)の隣接文字の出現態様、すなわち、隣接文字がどれくらいのバリエーションで出現するかに基づいて、同じ文字列についての隣接文字に関する異なり度合いを判定する。前後の隣接文字に関する異なり度合いが判定されると、判定された異なり度合いは、対応する文字列とともに、特定文字列候補データ125として、例えば、RAM等の主記憶装置に記憶される。なお、異なり度合い判定処理120の処理は、後で詳細に説明する。
次に、文解析装置は、異なり度合い判定処理120により判定された、同じ文字列の前後の隣接文字に関する異なり度合いに基づいて、その同じ文字列が特定文字列であるか否かを決定し、特定文字列であると決定された場合、その文字列を特定文字列データ135に記憶する(特定文字列決定処理130)。特定文字列データ135は、例えば、RAM等の主記憶装置や、ハードディスクや半導体メモリのような外部記憶装置に記憶される。また、特定文字列データ135は、様々なデータフォーマット、データ記憶形式をとることができ、例えば、データベースとして構成することもできる。
上述のように、同じ文字列について、それらの前後の隣接文字にどのようなバリエーションがあるかを見ると、隣接文字の出現要素数が小さい場合、その隣接文字と「同じ文字列」は一体となって、よく使われる別の文字列を形成していると考えることができ、他方、隣接文字の出現要素数が大きい場合は、隣接文字と「同じ文字列」が区切られ、その「同じ文字列」が独立した用語であって重要性の高い語である可能性が高いと考えられる。また、その「同じ文字列」が特定文字列であるか否かは、前の隣接文字の異なり度合いと後の隣接文字の異なり度合いのほかに、さらなる要素を考慮して決定することができる。こうした、特定文字列決定処理130については、後で詳細に説明する。
さらに、特定文字列決定処理130では、特定文字列が複数決定された場合に、特定文字列として決定された文字列の間でランク付けを行うようにすることができる。こうしたランク付けは、例えば、文字列の重要度に関するランク付けであり、その文字列に関する、前後の隣接文字の異なり度合いのほかに、さらなる要素を考慮して決定することができる。例えば、文字列の文字長、出現頻度等に基づいてランク付けがされうる。また、順位を示すだけでなく、相対的な程度の差を表すことができるように、数値によってランク付けを行うこともできる。
<<本発明の一実施形態に係る文解析装置の文字列検索処理の説明>>
最初に、上述のテキストデータ取得処理100により、どのようなテキストデータ200が文字列検索処理110の入力として提供されるかを、図2を参照して説明する。図2には、WEBブラウザのウインドウ150に表示されたWEBページが示されている。WEBページには、イメージ表示部160、テキスト表示部170、及びイメージ表示部180が示されている。WEBブラウザは、取得したHTMLデータを解釈して、上述した各表示部に、それぞれイメージ及びテキストを表示させる。テキストデータ取得処理100では、このようなHTMLデータから、タグを参照して、テキスト表示部170に示されているようなテキスト部分だけをテキストデータ200として取り出し、文字列検索処理110に提供する。
なお、ここでは、テキストデータ200を、1つのWEBページ(HTMLデータ)に含まれるデータから取得するようにしたが、上述のように、様々な方法でテキストデータ200を収集し、取得することができる。また、図2には、説明の便宜上WEBページを表示したが、テキストデータ200は、タグを参照してHTMLデータから直接取得することができるため、文解析装置やその他の装置のディスプレイに図2のようなウインドウ150を表示させる必要はない。
次に、図3ないし図5を参照して、文字列検索処理110を説明する。図3は、文字列検索処理110の処理手順を表すフローチャートである。図4、図5は、サフィックスアレイと二分探索を用いた文字列検索の仕組みを示す図であり、検索対象の文字列として、図2のテキスト表示部170に表示されたテキストの一部である「このコードがコードリストにある」との文字列171が設定される。WEBページからテキストデータを取得する場合、通常は、1つまたは複数のWEBページのテキスト部分すべてが検索対象となるが、ここでは、例示のため、テキスト部分の一部としている。
最初に、文字列「このコードがコードリストにある」のなかから同じ文字列を検索するために、サフィックスアレイを作成する。図3のステップS10において、テキストデータの最初の文字から最終の文字まで、サフィックスを展開する。ここで、図4を参照すると、図4(A)に示された、検索対象のテキストデータ200−1(「このコードがコードリストにある」)から、図4(B)に示すように、1〜15までのインデックスが付されたサフィックスが展開されている。それぞれのサフィックスは、検索対象のテキストデータ200−1において、インデックスの位置(開始文字位置)から末尾までの文字列であり、例えば、インデックス「1」については、検索対象のテキストデータ200−1の1文字目から末尾(15文字目)までの文字列「このコードがコードリストにある」が示されている。また、インデックス「10」については、検索対象のテキストデータ200−1の10文字目から末尾(15文字目)までの文字列「リストにある」が示されている。最後のインデックス「15」については、末尾である15文字目の文字「る」が示されている。
次に、図3のステップS11において、展開されたサフィックスを所定順序でソートし、サフィックスアレイを作成する。ここで、図4を参照すると、図4(B)に示されたサフィックスがソートされ、ソート後のサフィックスアレイが図4(C)に示されている。ソートは、例えば、各文字に対応する文字コード(この例ではJISコード)によって行われ、1レコード目から4レコード目にかけて、1文字目が、「ー」(JISコード=213C)、「あ」(JISコード=2422)、「が」(JISコード=242C)のように、当該文字コード順にソートされていることが分かる。1レコード目と2レコード目は、1文字目と2文字目が同じであるが、3文字目が「が」と「リ」で異なり(「が」(JISコード=242C)、「リ」(JISコード=256A))、それによって、1レコード目が最初に配置されている。なお、インデックスは、図4(B)のインデックスが、対応するレコードに付随してそのまま付与されている。
次に、図3のステップS12において、順次、テキストデータ内から検索文字列を1つずつ決定する。これは、テキストデータ内に同じ文字列があるかどうかを検索するのであるから、テキストデータ内のすべての部分文字列を検索文字列として、テキストデータと照合する。例えば、図4の検索対象のテキストデータ200−1に関しては、1文字の検索文字列「こ」〜「る」、2文字の検索文字列「この」、「のコ」、・・・、「にあ」、「ある」、3文字の検索文字列「このコ」、「のコー」、・・・、「トにあ」、「にある」等が順に決定され、以下同様に、15文字の「このコードがコードリストにある」までが検索文字列となる。ただしこの場合、1文字や15文字の検索文字列については、検索対象のテキストデータ200−1と照合する意味がないので、省略することができる。また、それ以外にも、検索文字列の文字長を所定の範囲に限定することができる。
次に、図3のステップS13において、検索を行う検索文字列がすべて終了したか否かが判定される。ここで、すべて終了した場合は、文字列検索処理が終了する。まだすべてが終了していない場合は、ステップS14において、検索文字列を検索キーとして、サフィックスアレイを検索する。ここで、図5を参照すると、図5(A)及び図5(B)に示すように、検索文字列として、検索対象のテキストデータ200−1内から3文字の文字列「コード」が決定された場合の検索処理が示されている。このとき、図5(C)のサフィックスアレイに対して二分探索が行われる。図5(C)のサフィックスアレイは、図4(C)に示すサフィックスアレイと同じものであり、図5(C)では、二分探索による検索の過程が示されている。
図5(C)を参照すると、まず、サフィックスアレイの中央のレコード(1)(インデックス=15、文字列「る」)と検索文字列「コード」を比較する。このとき、「る」のJISコードは246B、「コ」のJISコードは2533で、「コ」の方が大きいので、レコード(1)より下でサフィックスアレイの下半分の中心に位置するレコード(2)(インデックス=12、文字列「トにある」)と検索文字列「コード」を比較する。このとき、「ト」のJISコードは2548、「コ」のJISコードは2533で、「コ」の方が小さいので、レコード(1)とレコード(2)の中心に位置するレコード(3)(インデックス=7、文字列「コードリストにある」)と検索文字列「コード」を比較する。
そうすると、レコード(3)の最初の3文字と検索文字列「コード」が一致するため、検索文字列と同じ文字列が検索対象のテキストデータ200−1に見つかったことになる。さらにその後、レコード(3)の上下のレコードと比較すると、レコード(4)の最初の3文字と検索文字列「コード」が一致するため、検索文字列と同じ文字列が検索対象のテキストデータ200−1が見つかったことになる。このような二分探索により、検索対象のテキストデータ200−1のなかに、「コード」という文字列が2つあることがわかる(そのうちの1つは、検索対象のテキストデータ200−1から抽出された検索文字列「コード」それ自体である)。
次に、図3のステップS15において、検索文字列が所定数ヒットしたか否かが判定される。検索文字列が所定数ヒットしないと判定された場合、その文字列を特定文字列の候補とすることなく、次の検索文字列による検索を行うため、ステップS12に進む。ここで、所定数は、検索対象のテキストデータ200−1の文字数や、検索文字列の文字数など、様々な要素に基づいて決定されうる。所定数ヒットしないということは、検索対象のテキストデータ200−1において、その検索文字列の出現頻度が小さく、重要な語ではないということを表している。なお、この段階では、出現頻度を評価することなく、特定文字列の候補として記憶しておき、後続の特定文字列決定処理等において最終的に判断するように構成することもできる。
ステップS15において、検索文字列が所定数ヒットしたと判定された場合、ステップS16に進み、そこで、検索キー(検索文字列)に一致した文字列を特定文字列の候補とし、それぞれ、前後の隣接文字とともに、1レコードとして主記憶装置等に記憶する。ここで、図5(C)を参照すると、検索結果として、検索文字列「コード」と一致する文字列が先頭に見つかったレコード(3)とレコード(4)について、それぞれ、検索文字列と同じ文字列「コード」と、前後の隣接文字が、1レコードとして記憶される。例えば、レコード(3)については、「が」、「コード」、「リ」が1レコードとして記憶される。前の隣接文字が「が」であり、後の隣接文字が「リ」である。また、レコード(4)については、「の」、「コード」、「が」が1レコードとして記憶される。前の隣接文字が「の」であり、後の隣接文字が「が」である。
このように、本実施形態の文解析装置では、上述のように、サフィックスアレイと二分探索を用いて、高速にテキストデータ内で同じ文字列を見つけ出すように構成されているが、本発明は当該処理方法に限定されるものではない。上述した以外の方法で、テキストデータ内の同じ文字列を見つけ出すようにすることができる。
<<本発明の一実施形態に係る文解析装置の異なり度合い判定処理の説明>>
次に、図6及び図7を参照して、本発明の実施形態に係る文解析装置の異なり度合い判定処理について、より詳細に説明する。
図6は、異なり度合い判定処理120の処理手順を表すフローチャートである。図7は、前後の隣接文字の異なり度合いを判定するための仕組みを示す図であり、図5に示すような、検索文字列「コード」での文字列検索処理を、多くの文字を含む検索対象文字列に対して行った結果、検索結果として検索文字列「コード」が26個得られ、それに対応する26件のレコードを処理する状況を示している。
最初に、図6のステップS20において、文字列検索処理110で、検索結果データ115に記憶された文字列のレコード(前後の隣接文字を含む)から、1つの文字列に関するレコードを取り出す。ここで、図7(A)を参照すると、検索結果データ115に記憶された文字列「コード」についてのレコード(全26レコード)が取り出され、メモリに展開された様子が示されている。
次に、図6のステップS21において、検索結果データ115に記憶された文字列のレコードをすべて取得し、異なり度合い判定処理を行うべきデータがなくなったと判定された場合、図6の異なり度合い判定処理は終了する。ステップS21において、すべての処理が終了しておらず、検索結果データ115に記憶された文字列の1つについてすべてのレコードが取得できている場合は、ステップS22に進む。
次に、図6のステップS22において、検索結果データ115に記憶された文字列の1つについて取得したすべてのレコードについて、前の隣接文字でソートし、前の隣接文字に関する出現文字のパターン数を求める。ここで、図7(A)を参照すると、検索結果データ115に記憶された文字列「コード」について取得したレコード(全26件)について、前の隣接文字211でソートした結果が示されている。このソートは、上述した文字列検索処理におけるサフィックスアレイの作成のときと同様、文字コード(例えば、JISコード)を用いて行うことができる。このようなソートを行った後、レコード間で前の隣接文字211の値が変化した(ブレークした)回数をカウントすることによって、前の隣接文字211の出現文字のパターン数が分かる。図7(A)の場合、前の隣接文字211は、「 」、「(」、「、」、「「」、「が」、「た」、「で」、「ど」、「の」、「は」、「べ」、「も」、「り」の13パターンである。
このように、本実施形態の文解析装置では、前の隣接文字211をソートし、その値が各レコード間で変化したかどうかで、前の隣接文字に関する出現文字のパターン数を求めているが、本発明は当該処理方法に限定されるものではない。出現文字のパターン数は、他の様々な方法で求めることができる。また、所定の文字や文字パターンに関する扱いを、仕様に応じて柔軟に設定することができる。例えば、改行・改ページなどの制御文字等を考慮しないようにすることができる。また、句点や読点などを考慮することもできるし、無視することもできる。さらに、英字の大文字と小文字を同じ文字として扱うこともできるし、別の文字として扱うこともできる。また、ソートについては、半角英数などの1バイトコード文字については、対応する1バイトをソートし、漢字などの2バイトコード文字については、対応する2バイトをソートする。また、前の隣接文字211をソートする場合、本実施形態では、1文字の隣接文字をソートすることとしているが、2文字以上の文字をソートして、その異なり度合いを判定するようにもできる。
次に、図6のステップS23において、前の隣接文字211に関する異なり度合いを判定する。この場合、異なり度合いは、隣接文字211が(図7(A)の26件のレコードの間で)、どの程度異なっているかを示す指標であり、従って、上述した前の隣接文字に関する出現文字のパターン数に基づいて判定される。異なり度合いは、パターン数そのものであってもよいが、例えば、文字列の出現頻度(図7(A)の場合は、「コード」の出現頻度が26)等を考慮して判定することもできる。また、異なり度合いを所定の閾値により複数の段階(例えば、3段階)で評価することもできる。またさらに、隣接文字211が特定の文字である場合に、その文字のカウントや異なり度合いの判定に関し、任意の重み付けを行うようにすることもできる。
次に、図6のステップS24において、検索結果データ115に記憶された文字列の1つについて取得したすべてのレコードについて、後の隣接文字でソートし、後の隣接文字に関する出現文字のパターン数を求める。ここで、図7(B)を参照すると、検索結果データ115に記憶された文字列「コード」について取得したレコード(全26件)について、後の隣接文字213でソートした結果が示されている。このようなソートにより、図7(A)に示したレコード215、レコード216は、それぞれ点線矢印に示す位置に配置される。
このソートは、上述した文字列検索処理におけるサフィックスアレイの作成のときと同様、文字コード(例えば、JISコード)を用いて行うことができる。このようなソートを行った後、レコード間で後の隣接文字213の値が変化した(ブレークした)回数をカウントすることによって、後の隣接文字213の出現文字のパターン数が分かる。図7(B)の場合、後の隣接文字213は、「、」、「「」、「」」、「が」、「で」、「と」、「に」、「の」、「は」、「を」、「リ」、「支」の12パターンである。
このように、本実施形態の文解析装置では、後の隣接文字213をソートし、その値が各レコード間で変化したかどうかで、後の隣接文字に関する出現文字のパターン数を求めているが、本発明は当該処理方法に限定されるものではない。出現文字のパターン数は、他の様々な方法で求めることができる。また、所定の文字については、当該パターン数のカウントに含めないようにすることができる。また、ソートについては、半角英数などの1バイトコード文字については、対応する1バイトをソートし、漢字などの2バイトコード文字については、対応する2バイトをソートする。また、後の隣接文字213をソートする場合、本実施形態では、1文字の隣接文字をソートすることとしているが、2文字以上の文字をソートして、その異なり度合いを判定するようにもできる。
次に、図5のステップS25において、後の隣接文字213に関する異なり度合いを判定する。この場合、異なり度合いは、隣接文字213が(図7(B)の26件のレコードの間で)、どの程度異なっているかを示す指標であり、従って、上述した後の隣接文字に関する出現文字のパターン数に基づいて判定される。異なり度合いは、パターン数そのものであってもよいが、例えば、文字列の出現頻度(図7(B)の場合は、「コード」の出現頻度が26)等を考慮して判定することもできる。また、異なり度合いを所定の閾値により複数の段階(例えば、3段階)で評価することもできる。またさらに、隣接文字213が特定の文字である場合に、その文字のカウントや異なり度合いの判定に関し、任意の重み付けを行うようにすることもできる。
次に、図6のステップS26において、判定対象の文字列、及び、その文字列に関して判定された、前の隣接文字に関する異なり度合いと後の隣接文字に関する異なり度合いが、特定文字列候補データ125に記憶される。
図6のステップS26の処理が終了すると、ステップS20に進み、次の「同じ文字列」に関する処理が行われる。
<<本発明の一実施形態に係る文解析装置の特定文字列決定処理の説明>>
特定文字列決定処理においては、異なり度合い判定処理により特定文字列候補データ125に記憶されたデータを順次読み出し、判定された前後の隣接文字の異なり度合いに基づいて、対応する文字列が特定文字列か否かを決定し、決定された特定文字列を特定文字列データ135に記憶する。より具体的には、前後の隣接文字の異なり度合いの大小に応じて、対応する文字列が特定文字列であるか否かを決定する。
前後の隣接文字の異なり度合いの大小については、共通の、または前後で異なる判断基準により判断されうる。前後の隣接文字の異なり度合いが、所定の大きさであると判断された場合に、対応する文字列は、独立した用語であって、話題を識別する重要な語である特定文字列として決定される。すなわち、前後の隣接文字の異なり度合いによりスコアが計算され、そのスコアに基づいて、その対応する文字列が特定文字列であるか否かを決定するようにしてもよい。
また、特定文字列決定処理では、前後の隣接文字の異なり度合いに加えて、対応する文字列の文字長、対応する文字列の出現頻度、特定の文字が前の隣接文字として出現する確率・頻度、特定の文字が後の隣接文字として出現する確率・頻度、特定の文字の組合せが前後の隣接文字として出現する確率・頻度等を考慮してスコアを計算し、計算されたスコアに基づいて、その対応する文字列が特定文字列であるか否かを決定するようにしてもよい。
さらに、1つのテキストデータ(検索対象の文字列)において、複数の特定文字列の候補がある場合に、その候補の数や、それぞれについて計算されたスコアの分布に応じて、特定文字列として決定するための決定条件を変化させることもできる。
またさらに、特定文字列決定処理では、1つのテキストデータ(検索対象の文字列)について決定された特定文字列が複数ある場合に、特定文字列として決定された文字列の間でランク付けを行うようにすることができる。こうしたランク付けは、例えば、話題に関する文字列の重要度に関するランク付けであり、上述した、前後の隣接文字の異なり度合いにより計算されたスコアや、前後の隣接文字の異なり度合いに加え、他の様々な要素を加味して計算されたスコア等に基づいて決定される。また、このようなランク付けは、特定文字列として決定された文字列の重要度を順序付けるだけでなく、特定文字列間の相対的な重要度を示すことができるように、例えば、上述のスコアの値を用いる等して、具体的な数値によりランク付けを行うことができる。
また、このようなランク付けは、特定文字列が複数決定された場合に行われるが、1つのテキストデータに関して決定された複数の特定文字列について行うこともできるし、所定の条件によりグルーピングされた複数のテキストデータに関して決定された複数の特定文字列について行うこともできる。
例えば、所定の条件によりグルーピングされた複数のテキストデータとして、入力された検索キーワードにヒットしたWEBページ群のテキストデータや、所定の属性に該当するユーザのTWITTERの内容などが考えられる。
<<<テキストデータの把握単位と特定文字列データ>>>
ここで、図8を参照して、文解析の対象となるテキストデータが、どのような単位で把握され、それに応じて、話題を識別するための特定文字列がどのように決定され、ランク付けられるかについて、実施例を説明する。
図8の例では、テキストデータ200には、テキストデータ200a、テキストデータ200b−1、テキストデータ200b−2、テキストデータ200b−3、テキストデータ200cが含まれるものとし、これらは、キーワード「ネットワークの設定」を用いたWEBページの検索でヒットした5つのWEBページからそれぞれ得られたテキストデータであるとする。また、テキストデータ200aはサイトAのWEBページから得られたテキストデータであり、テキストデータ200b−1、テキストデータ200b−2、及びテキストデータ200b−3はサイトBのWEBページから得られたテキストデータであり、テキストデータ200cはサイトCのWEBページから得られたテキストデータであるとする。
文解析装置400は、これらのテキストデータ200を取得して、このなかから特定文字列を決定する。第1の実施例では、文解析装置400が、特定文字列データ135−1に示すように、特定文字列を記憶する。この例で、文解析装置400は、テキストデータ200a、テキストデータ200b−1、テキストデータ200b−2、テキストデータ200b−3、及びテキストデータ200cをひとまとまりのテキストデータとして把握し、そこで、4つの特定文字列(ネットワーク、トラブル、設定、MAC)を決定し、この順にランク付けした。これは、「ネットワークの設定」というキーワードにより、1つの文解析の対象となるテキストデータが引き出されたものである。
第2の実施例では、文解析装置400が、特定文字列データ135−2に示すように、特定文字列を記憶する。この例で、文解析装置400は、テキストデータ200a、テキストデータ200b−1、テキストデータ200b−2、テキストデータ200b−3、及びテキストデータ200cをそれぞれ別個のテキストデータとして把握し、これらのテキストデータごと(テキストデータの原データであるWEBページのアドレスごと)に、特定文字列(例えば、テキストデータ200aに関しては、ネットワーク、設定、トラブル、アドレス)を決定し、それぞれランク付けした。これは、「ネットワークの設定」というキーワードにより得られたテキストデータを、原データのWEBページごとに文解析の対象としたものである。
第3の実施例では、文解析装置400が、特定文字列データ135−3に示すように、特定文字列を記憶する。この例で、文解析装置400は、WEBページのサイトごとにテキストデータを把握し、テキストデータ200aをグループA、テキストデータ200b−1、テキストデータ200b−2、及びテキストデータ200b−3をグループB、テキストデータ200cをグループCとし、このような3つのグループに分類してそれぞれのグループごとに、特定文字列(例えば、グループAに関しては、ネットワーク、設定、トラブル、説明書)を決定し、それぞれランク付けした。これは、「ネットワークの設定」というキーワードにより得られたテキストデータを、原データのWEBページのサイトごとに文解析の対象としたものである。
<<<本発明の一実施形態に係る文解析装置における適用例の説明>>>
次に、図9を参照して、本発明の一実施形態に係る文解析装置400において、WEBページの検索結果からテキストデータ200を取得し、そのテキストデータ200の文解析によって決定した特定文字列を表示する適用例について説明する。
最初に、ユーザが検索端末600で動作する一般的なWEBブラウザを操作して、WEBページの検索を行う。この検索は、例えば、一般的に利用可能なインターネット検索である。ユーザがWEBブラウザにより、検索キーワードを入力し、検索ボタンを押すと、検索リクエストが検索サーバ610に送信され、そこで検索サーバ610は受信した検索キーワードに基づいて、その検索キーワードに関連するWEBページを検索し、得られた検索結果620を検索端末600に返信する。検索結果には、検索キーワードに関連するWEBページのアドレス(例えば、URL等のインターネットアドレス識別情報)が含まれている。
検索端末600に検索結果620が送信されると、検索端末600で動作するアプリケーション(アプリケーションプログラム)601が、検索結果620を、(例えば、API送信により)文解析装置400に送信する。文解析装置400は、検索結果620を受信すると、検索結果620に含まれるWEBページのアドレスにアクセスして、それぞれのWEBページからテキストデータ200を取得する。
その後、文解析装置400は、取得したテキストデータ200に対して、上述した文字列検索処理110、異なり度合い判定処理120、特定文字列決定処理130を行い、話題を識別する重要な特定文字列を決定し、特定文字列データ135に記憶する。また、複数の特定文字列が決定された場合はランク付けを行う。
文解析装置400は、特定文字列を決定した後、特定文字列の表示を行うために編集・生成された特定文字列表示データ300を検索端末600に送信し、検索端末600のWEBブラウザは、受信した特定文字列表示データ300に基づいて、特定文字列を検索端末600のディスプレイ602に表示する。テキストデータ200が所定の条件によりグルーピングされている場合は、そのグループごとに、ランク付けされた特定文字列が表示される。
このような文解析装置400等の処理により、ユーザが検索端末600で検索キーワードを入力しWEBページの検索を指示してからディスプレイ602に特定文字列が表示されるまでが瞬時に行われる。なお、この例では、決定された特定文字列は特定文字列データ135に記憶され、特定文字列データ135は、その後の利用を考慮してハードディスクや半導体メモリのような外部記憶装置に記憶されるが、決定された特定文字列を瞬時に検索端末600のディスプレイ602に表示するだけであれば、特定文字列データ135をRAMやVRAM等に一時的に記憶するだけでよい。
なお、この例では、検索端末600において、WEBブラウザが、WEBページの検索や特定文字列表示データ300の表示を行うように構成しているが、アプリケーション601がこれらの機能を備えるように構成することもできる。また、アプリケーション601または文解析装置400は、必要に応じて、検索結果620に含まれるWEBページの一部(例えば、検索キーワードとの関連が低い(ランクの低い)WEBページ)のアドレスを削除するようにできる。これは、関連の低い特定文字列が抽出されることを防止するためである。
また、この例では、検索端末600が、検索結果620として検索キーワードに関連するWEBページのアドレスを文解析装置400に送信するが、検索端末600において、これらのWEBページにアクセスし、その結果得られたテキストデータを検索結果620として文解析装置400に送信するようにもできる。
また、上述のように、テキストデータ200が所定の条件によりグルーピングされている場合は、そのグループごとに特定文字列が表示されるが、このことは、特定文字列の集合(1つのグループに複数の特定文字列が存在する)の集合(グループごとに特定文字列の集合が存在する)が管理されていることを示している。このような、特定文字列の集合をさらに集合として管理することにより(例えば、異なる特定文字列の集合において、共通の特定文字列が発見されることにより)、複数の特定文字列の集合のなかでの特定文字列の繋がりを見い出すことができる。
<<<本発明の一実施形態に係る文解析装置の構成の説明>>>
次に、図10を参照して、本発明の一実施形態に係る文解析装置400の構成を説明する。文解析装置400は、テキストデータ取得処理部421、文字列検索処理部422、異なり度合い判定処理部423、特定文字列決定処理部424、及びネットワークインタフェース(I/F)部425を備える。さらに、特定文字列決定処理部424には、特定文字列決定部424a、及びランク付け管理部424bが含まれる。また、文解析装置400は、RAM等の主記憶装置またはハードディスクや半導体メモリのような外部記憶装置に、特定文字列データ135を記憶する。
テキストデータ取得処理部421は、テキストデータ200を取得し、これを文字列検索処理部422に提供する(図1に示すテキストデータ取得処理100)。文字列検索処理部422は、図1に示す文字列検索処理110を行う。異なり度合い判定処理部423は、図1に示す異なり度合い判定処理120を行う。また、特定文字列決定処理部424は、特定文字列を決定し、必要に応じて、決定された特定文字列を特定文字列データ135に記憶する(図1に示す特定文字列決定処理130)。ネットワークインタフェース(I/F)部425は、インターネット等のネットワークを介した、図9に示す検索端末600を含む他のコンピュータとのアクセスと、これらのコンピュータとのデータ送受信を制御する。
また、特定文字列決定部424aは、テキストデータ200に含まれる同じ文字列に関する前後の隣接文字の異なり度合い等から、当該同じ文字が特定文字列であるか否かを決定する。ランク付け管理部424bは、1つのテキストデータ200において、複数の特定文字列が決定される場合に、その特定文字列についてランク付けを行う。
<<<本発明の一実施形態に係る文解析装置のハードウェア構成の説明>>>
次に、図11を参照して、本発明の一実施形態に係る文解析装置400として用いられるコンピュータのハードウェア構成の例について説明する。ただし、図10に示す文解析装置400は、その代表的な構成を例示したにすぎない。
文解析装置400は、CPU(Central Processing Unit)401、RAM(Random Access Memory)402、ROM(Read Only Memory)403、ネットワークインタフェース404、オーディオ制御部405、マイクロフォン406、スピーカ407、ディスプレイコントローラ408、ディスプレイ409、入力機器インタフェース410、キーボード411、マウス412、外部記憶装置413、外部記録媒体インタフェース414、及びこれらの構成要素を互いに接続するバス415を含んでいる。
CPU401は、文解析装置400の各構成要素の動作を制御し、OSの制御下で、本発明に係るテキストデータ取得処理100、文字列検索処理110、異なり度合い判定処理120、及び特定文字列決定処理130の実行を制御する。
RAM402には、CPU401で実行される特定文字列決定処理130等を実行するためのプログラムや、それらのプログラムが実行中に使用するデータが一時的に格納される。図1に示す検索結果データ115、特定文字列候補データ125、特定文字列データ135も、このようなRAM402に一時的に記憶されうる。ROM403には、文解析装置400の起動時に実行されるプログラム等が格納される。
ネットワークインタフェース404は、ネットワーク500に接続するためのインタフェースである。ネットワーク500は、例えば、図9に示す検索端末600と文解析装置400との間のネットワークや、インターネットのようなネットワークである。
オーディオ制御部405は、マイクロフォン406とスピーカ407を制御して音声の入出力を制御する。ディスプレイコントローラ408は、CPU401が発行する描画命令を実際に処理するための専用コントローラである。ディスプレイ409は、例えば、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)で構成される表示装置である。
入力機器インタフェース410は、キーボード411やマウス412から入力された信号を受信して、その信号パターンに応じて所定の指令をCPU401に送信する。
外部記憶装置413は、例えば、ハードディスクや半導体メモリのような記憶装置であり、この装置内には上述したプログラムやデータが記録され、実行時に、必要に応じてそこからRAM402にロードされる。例えば、図1に示す特定文字列データ135も、このような記憶装置に記憶されうる。
外部記録媒体インタフェース414は、外部記録媒体510にアクセスして、そこに記録されているデータを読み取る。外部記録媒体510は、例えば、可搬型のフラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)などである。CPU401で実行され、本発明の各機能を実現するためのプログラムは、この外部記録媒体インタフェース414を介して外部記録媒体510から提供されうる。また、本発明の各機能を実現するためのプログラムの他の流通形態としては、ネットワーク上の所定のサーバから、ネットワーク500及びネットワークインタフェース404を介して外部記憶装置413やRAM402に格納されるというルート等も考えられる。
ここまで、本発明の一実施形態に係る文解析装置のハードウェア構成について、一例を説明してきたが、図9に示す検索端末600のハードウェア構成も基本的に、図11に示す構成と同様である。ただし、ここで、文解析装置400に関しては、オーディオ制御部405、マイクロフォン406、スピーカ407、ディスプレイコントローラ408、ディスプレイ409、入力機器インタフェース410、キーボード411、及びマウス412は必須の構成要素ではない。また、検索端末600に関しては、ディスプレイ602はディスプレイ409に相当するものであり、オーディオ制御部405、マイクロフォン406、及びスピーカ407は必須の構成要素ではない。
これまで、本発明の一実施形態に係る文解析装置について、本発明を実施することができるいくつかの実施例を示しながら説明してきたが、これらの実施例は本発明を説明するための一例に過ぎず、本発明の権利範囲はこれらの実施例に限定されることはない。これらの実施例以外の様々な方法や構成によって、本発明の技術的思想を実現することができる。
<<<本発明の情報更新装置における技術的思想の概要>>>
本発明の情報更新装置は、異なる収集条件によって収集されたテキストデータから、意味識別可能な文字列を抽出し、抽出された文字列を、テキストデータに対応する辞書に記憶し、これらの辞書について比較処理を行うことによって得られた比較結果を更新する。比較処理は、辞書の更新がされた場合に自動的に行われる。
本明細書では、テキストデータから抽出される、意味識別可能な文字列を「関連詞」と称する。関連詞は、検索に用いるキーワードとは異なる概念の文字列である。また、関連詞を用いて、話題の近さや繋がり方を判定することができる。このような構成によって、本発明の情報更新装置について、より多様な応答システム等への適用が可能となる。
異なる辞書に対応付けられたテキストデータは、異なる収集条件によって収集されたテキストデータであり、これらのテキストデータは、例えば、同様の対象やデータソースについて異なるタイミングで収集される複数のテキストデータであったり、同様のタイミングにおいて、異なる主題や検索条件によって収集される複数のテキストデータであったりする。
上記の比較処理は、複数の辞書を比較して、新たに出現した関連詞のほか、消滅した関連詞、共通して出現する関連詞、(3つ以上の時系列テキストデータに対応する辞書において)再度出現した関連詞など、関連詞の出現状況を判定し、関連詞がこのような出現状況のうちいずれかである場合に、その関連詞を比較結果として記憶する。
また、1つのテキストデータから複数の関連詞が抽出された場合に、それらの関連詞を1つの集合として(共起関連詞として)関連付け、対応する辞書に記憶することができる。このように構成することにより、比較処理において、複数の辞書で共通する関連詞があると判定された場合に、その関連詞の共起関連詞を比較し、さらなる判定を行うことができる。
このように、関連詞の出現に関する履歴等をとらえることにより、関連詞の意味を炙りだせるようになる。すなわち、このような処理を繰り返すことにより、関連詞が所属する話題名が明確となるほか、いつもの関連詞と(新たに出現した)新着関連詞とを区別して扱うことができたり、辞書の比較処理によって、話題の類似性や相違性についての判断をしたりすることができる。こうした機能を、関連詞学習機能と称することとする。関連詞学習機能により、エンドユーザの入力識別手段が多様化することが期待できる。
また、収集され、関連詞が抽出されるテキストデータは、どのような内容のデータであってもよい。代表的な例としては、個人によって生成された、インターネット上に公開されているホームページやブログのテキストデータ、及びTWITTER(登録商標)のツイート情報がある。また、個人のほか、任意の機関によって事前に生成・編集されたデータやデータベース内のテキスト情報であってもよい。さらに、音声ファイル・動画ファイルから音声認識処理を経て取得されるテキストデータ等、様々なデータを用いることができる。
また、テキストデータは、所定条件によって、原データから選択されたデータであってもよい。例えば、キーワード検索の検索結果として示されたWEBページ(ホームページ)に記載されているテキストデータや、ある属性を有するユーザのブログに記載された文や、TWITTERにおけるツイート情報などであってもよい。なお、1つのテキストデータは、複数のテキストファイルを含むもの(例えば、1つのWEBサイトに含まれる複数のWEBページ(HTMLファイル)を含むもの)であってもよいし、1つのテキストファイルを分割した一部(例えば、1ファイルに含まれるテキストを1万ラインごとに分割したうちの1つ)であってもよい。
<<<本発明の一実施形態に係る情報更新装置の処理概要の説明>>>
図12を参照して、本発明の一実施形態に係る情報更新装置の処理概要について説明する。最初に、情報更新装置は、テキストデータ1200を取得する(テキストデータ取得処理1100)。テキストデータ1200は、前述のように、様々なデータソースから受信することができる。また、受信したネットワークアドレスにアクセスすることによりテキストデータ1200を取得するようにもできる。またさらに、取得したテキストデータ1200、またはテキストデータ1200を取得する際に、特定のテキストデータだけを取得するようフィルタ処理を行ったり、特定の分類によりグルーピングをしたりすることもできる。
次に、情報更新装置は、テキストデータ取得処理1100により取得されたテキストデータ1200から、意味識別可能な文字列を抽出し、抽出された文字列を関連詞辞書1115に記憶する(文字列抽出処理1110)。このように抽出された文字列は、上述の関連詞に相当するものであり、これらの関連詞は、その関連詞が抽出されたテキストデータ1200に対応する関連詞辞書1〜3等に、それぞれ記憶される。
テキストデータ1200から関連詞を抽出する方法として様々な方法が考えられる。例えば、テキストデータ1200から同じ文字列を検索し、その文字列の前後の隣接文字の異なり度合い(同じ文字列に関するそれぞれの前の隣接文字、後の隣接文字のパターン数)に応じて、その文字列が関連詞か否かを決定する方法がある。また、従来から多く利用されている、形態素データを用いた形態素解析等を用いることもできる。
文字列抽出処理1110では、複数のテキストデータ1200から関連詞が抽出され、それぞれ対応する関連詞辞書1115に記憶される。例えば、複数のテキストデータ1200は、同様の対象やデータソースについて異なるタイミングで収集されたテキストデータであったり、同様のタイミングにおいて、異なる主題や検索条件によって収集される複数のテキストデータであったりする。文字列抽出処理1110の詳細な処理については、後で説明する。
次に、情報更新装置は、文字列抽出処理1110により、それぞれ関連詞が記憶された複数の関連詞辞書1115を比較し、関連詞の出現状況に応じて、比較結果を比較結果データ1125に記憶する(辞書比較処理1120)。
例えば、異なるタイミングで収集された2つの関連詞辞書(関連詞辞書1、関連詞辞書2)を比較する場合、関連詞辞書1に存在せず、関連詞辞書2に存在する関連詞があれば、これを、新たに出現した新着の関連詞として、比較結果データ1125に記憶し、逆に、関連詞辞書1に存在し、関連詞辞書2に存在しない関連詞があれば、これを、消滅した関連詞として、比較結果データ1125に記憶する。
また、例えば、異なる主題について同様のタイミングで収集された3つの関連詞辞書(関連詞1〜3)を比較する場合、すべての関連詞辞書1〜3に存在する関連詞があれば、これを、共通した関連詞として比較結果データ1125に記憶する。
なお、複数の関連詞辞書において、関連詞がどのような出現状況のときに比較結果データ1125に記憶するかは、本発明の情報更新装置が適用される応答システム等に応じて、柔軟に規定することができる。辞書比較処理1120の詳細な処理については、後で詳細に説明する。
<<本発明の一実施形態に係る情報更新装置の文字列抽出処理の説明>>
図13を参照して、文字列抽出処理1110について説明する。図13は、文字列抽出処理1110の処理手順を表すフローチャートである。最初に、ステップS110において、関連詞を抽出する対象となるテキストデータを読み込む。テキストデータは、上述のように、テキストデータが取得できる限り、どのようなデータであってもよい。
次に、ステップS111において、ステップS110で読み込んだテキストデータから、意味識別可能な文字列である関連詞を抽出する。テキストデータから関連詞を抽出する方法は、上述のように、前後の隣接文字の異なり度合いに基づく方法や、形態素解析を用いた方法などを含む様々な方法がある。
次に、ステップS112において、ステップS111で1つのテキストデータ1200に対して複数の関連詞が抽出された場合に、所定の判断基準により、その複数の関連詞にランク付けを行う。例えば、テキストデータ1200における関連詞の重要度に応じてランク付けを行うことができ、関連詞の文字長や出現頻度に応じてランク付けが行われうる。また、関連詞を、前後の隣接文字の異なり度合いに基づく方法により抽出する場合は、前後の隣接文字の異なり度合いに応じてランク付けが行われる。なお、ランク付けは、このような基準のほか様々な要素、及びこれらの組合せによって行うことができる。このような「ランク」は、話題との関連性を示すものである。また、関連詞が複数抽出された場合であっても、このようなランク付けを行わないようにすることもできる。
次に、ステップS113において、ステップS112でランク付けされた関連詞を、テキストデータ1200に対応する関連詞辞書に記憶する。例えば、1つのテキストデータ1200から抽出された関連詞は、1つのレコードにまとめて記憶され、各関連詞は、ランク付けに応じた記憶位置(配列エントリー)に記憶される。関連詞は、このように記憶されることにより、複数の関連詞が、1つのテキストデータ1200(それらの関連詞が抽出されたテキストデータ)に関連付けられた集合として定義される。ランク付けは、その集合のなかで関連詞を順位付けるものである。
文字列抽出処理は、処理対象のテキストデータ1200が複数ある場合は、上述したステップS110からステップS113までの処理を、テキストデータ1200ごとに繰り返す。
<<本発明の一実施形態に係る情報更新装置の辞書比較処理の説明>>
図14を参照して、辞書比較処理1120について説明する。図14は、辞書比較処理1120の処理手順を表すフローチャートである。この実施例では、時系列データとして収集された2つのテキストデータ(テキストデータ1、テキストデータ2)から関連詞が抽出され、それぞれ対応する関連詞辞書(i−1)、関連詞辞書(i)、に記憶されている状況で比較処理が行われるものとする。
最初に、ステップS120において、関連詞辞書(i−1)、関連詞辞書(i)に記憶されている関連詞を読み出す。次に、ステップS121において、関連詞辞書(i−1)と関連詞辞書(i)の関連詞を比較し、そのなかから関連詞辞書(i−1)に存在せず、関連詞辞書(i)に存在する関連詞を、新たに出現した関連詞(新着関連詞)として比較結果データ1125に記憶する。それぞれの関連詞辞書は、例えば、話題名に対応付けられており、辞書比較処理1120は、この話題名を用いて比較を行うことができる。新着関連詞は、対応する関連詞辞書を表すことができる話題名、出現状況(この場合は、新たに出現したことを表す「新着」の文字やこれに対応するコード等)とともに比較結果データ1125に記憶される。
次に、ステップS122において、関連詞辞書(i−1)と関連詞辞書(i)の関連詞を比較し、そのなかから関連詞辞書(i−1)に存在し、関連詞辞書(i)に存在しない関連詞を、消滅した関連詞(消滅関連詞)として比較結果データ1125に記憶する。それぞれの関連詞辞書は、例えば、話題名に対応付けられており、消滅関連詞は、この話題名、出現状況(この場合は、新たに出現したことを表す「消滅」の文字やこれに対応するコード等)とともに比較結果データ1125に記憶される。
その後、ステップS123において、関連詞辞書(i−1)の内容を関連詞辞書(i)にコピーする。これは、次のタイミングにおいて、文字列抽出処理1110が関連詞を記憶するための関連詞辞書(i−1)を用意するためであり、その後、この新たな関連詞辞書(i−1)と、関連詞辞書(i−1)の内容がコピーされた関連詞辞書(i)が、辞書比較処理1120によって比較される。
このように、文字列抽出処理1110と辞書比較処理1120は、所定のタイミングで繰り返し実行されるが、詳細な説明については後述する。また、辞書比較処理1120が繰り返し処理されることによって、比較結果データ1125に、その処理タイミングにおいてそれぞれ比較結果が記憶されることになるが、比較結果を記憶する際に、それ以前に記憶されていた比較結果を消去するか、累積的に記憶するかは、適用される応答システム等の仕様に応じて決定される。また、比較結果データ1125を、辞書比較処理1120ごとに別個に用意するようにしてもよい。
また、この例では省略したが、関連詞辞書(i−1)と関連詞辞書(i)を比較して、共通する関連詞(共通関連詞)を比較結果データ1125に記憶することもできる。この場合、例えば、関連詞辞書(i−1)において共通関連詞とともに記憶されている他の関連詞(共起関連詞)と、関連詞辞書(i)において共通関連詞とともに記憶されている他の関連詞(共起関連詞)との間に共通性があるか否かをさらに比較して、当該共通性に関する情報を比較結果データ1125に記憶することができる。
さらに、上記のような共起関連詞を比較する場合に、それらの共起関連詞に関連付けられたランクを考慮して共通性に関する情報を判定してもよい。例えば、ランクの高い(それらの関連詞で示される話題にとって重要性が高い)共起関連詞が、関連詞辞書(i−1)と関連詞辞書(i)において共通する場合、共通関連詞の共通性はより高く評価されうる。
<<<本発明の一実施形態に係る情報更新装置の文字列抽出処理と辞書比較処理の説明>>>
図15は、同じWEBページから時系列に収集された5つのテキストデータ(テキストデータ1〜5)から、文字列抽出処理1110によって、それぞれ異なるタイミングで関連詞が抽出され、抽出された関連詞が、それぞれ対応する関連詞辞書(i−1)または関連詞辞書(i)に記憶され、その後、関連詞辞書(i)が更新された場合に、関連詞辞書(i−1)と関連詞辞書(i)とを対象として辞書比較処理1120が行われ、これらの処理が、時間(T=t1)から(T=t5)まで周期的に行われている例を示している(時間(T=t6以降は省略した)。
最初に、時間(T=t1)において、この時点で所定のWEBページから収集されたテキストデータ1から、文字列抽出処理1110aによって関連詞が抽出され、抽出された関連詞が関連詞辞書(i−1)に記憶される。この文字列抽出処理1110aは、図13を参照して説明した文字列抽出処理1110に対応する。
次の、時間(T=t2)において、T=t1の場合と同様に、同じWEBページから収集されたテキストデータ2から、文字列抽出処理1110bによって関連詞が抽出され、抽出された関連詞が関連詞辞書(i)に記憶される。ここで、対象のWEBページにおいて話題や記載内容の変化があれば、抽出される関連詞もそれに応じて変化することになる。関連詞辞書(i)に関連詞が記憶されると(更新されると)、辞書比較処理1120aによって関連詞辞書(i−1)と関連詞辞書(i)の比較が行われ、関連詞の出現状況に応じて、例えば、新たに出現した新着関連詞等が比較結果データ1125に記憶される。また、比較処理が終わると、関連詞辞書(i)の内容が、関連詞辞書(i−1)にコピーされる。
この辞書比較処理1120aは、図14を参照して説明した辞書比較処理1120に対応する。なお、この図では、辞書比較処理1120aが、T=t2のタイミングで行われているように記載されているが、関連詞辞書(i)が更新された後に行われるものである。
次の、時間(T=t3)において、T=t1、t2の場合と同様に、同じWEBページから収集されたテキストデータ3から、文字列抽出処理1110cによって関連詞が抽出され、抽出された関連詞が関連詞辞書(i)に記憶される。ここで、対象のWEBページにおいて話題や記載内容の変化があれば、抽出される関連詞もそれに応じて変化することになる。関連詞辞書(i)に関連詞が記憶されると(更新されると)、辞書比較処理1120bによって関連詞辞書(i−1)と関連詞辞書(i)の比較が行われ、関連詞の出現状況に応じて、例えば、新たに出現した新着関連詞等が比較結果データ1125に記憶される。また、比較処理が終わると、関連詞辞書(i)の内容が、関連詞辞書(i−1)にコピー(待避)される。
以降、同様にこれらの文字列抽出処理(1110d、1110e)及び辞書比較処理(1120c、1120d)を繰り返して、比較結果データ1125が、関連詞辞書(i−1)と関連詞辞書(i)を比較した結果得られた関連詞により、各タイミング(T=t2〜t5)ごとに更新される。比較結果としての関連詞を最新のものだけ記憶するか累積的に記憶するかは、上述したように、適用する応用システム等の仕様による。
図16は、同じWEBページから時系列に収集された5つのテキストデータ(テキストデータ1〜5)から、文字列抽出処理1110によって、それぞれ異なるタイミングで関連詞が抽出され、抽出された関連詞が、それぞれ対応する関連詞辞書(i−1)、関連詞辞書(i)、または関連詞辞書(i+1)に記憶され、その後、関連詞辞書(i+1)が更新された場合に、関連詞辞書(i−1)、関連詞辞書(i)、関連詞辞書(i+1)とを対象として辞書比較処理1120が行われ、これらの処理が、時間(T=t1)から(T=t5)まで周期的に行われている例を示している(時間(T=t6)以降は省略した)。図15との相違は、関連詞辞書がサイクリックに3つ用いられている点である。
最初に、時間(T=t1)において、この時点で所定のWEBページから収集されたテキストデータ1から、文字列抽出処理1110fによって関連詞が抽出され、抽出された関連詞が関連詞辞書(i−1)に記憶される。
次の、時間(T=t2)において、T=t1の場合と同様に、同じWEBページから収集されたテキストデータ2から、文字列抽出処理1110gによって関連詞が抽出され、抽出された関連詞が関連詞辞書(i)に記憶される。ここで、対象のWEBページにおいて話題や記載内容の変化があれば、抽出される関連詞もそれに応じて変化することになる。その後、時間(T=t3)において、T=t1、t2の場合と同様に、同じWEBページから収集されたテキストデータ3から、文字列抽出処理1110hによって関連詞が抽出され、抽出された関連詞が関連詞辞書(i+1)に記憶される。ここで、対象のWEBページにおいて話題や記載内容の変化があれば、抽出される関連詞もそれに応じて変化することになる。
時間(T=t3)において、関連詞辞書(i+1)に関連詞が記憶されると(更新されると)、辞書比較処理1120fによって3つの関連詞辞書(関連詞辞書(i−1)、関連詞辞書(i)、関連詞辞書(i+1))の比較が行われ、関連詞の出現状況に応じて、関連詞等が比較結果データ1125に記憶される。この実施例では、3つの関連辞書に関する比較が行われるため、2つの関連詞辞書に関する変化に基づいて記憶する関連詞として、例えば、新たに出現した新着関連詞や消滅した消滅関連詞のほか、3つの関連詞辞書に亘る変化に基づいて記憶すべきと判定される関連詞もある。例えば、関連詞辞書(i)において一旦消滅して、関連詞辞書(i+1)において再度出現した復活関連詞などである。その他、関連詞辞書において関連詞の出現頻度を記憶していることが条件となるが、短期間のうちに(3つの関連詞辞書において)急激に出現頻度が高まった関連詞、(3つの関連詞辞書において)出現頻度が激減した関連詞、(3つの関連詞辞書において)出現頻度が再び高くなった関連詞、他の関連詞の出現頻度が変化するなかで一定範囲の出現頻度を維持する関連詞などを把握することも可能である。
辞書比較処理1120fにおいて、比較処理が終わると、関連詞辞書(i)の内容が、関連詞辞書(i−1)にコピーされるとともに、関連詞辞書(i+1)の内容が、関連詞辞書(i)にコピーされる。なお、この図では、辞書比較処理1120fが、T=t3のタイミングで行われているように記載されているが、関連詞辞書(i−1)、及び関連詞辞書(i)が更新された後に行われるものである。
次の、時間(T=t4)において、T=t1〜t3の場合と同様に、同じWEBページから収集されたテキストデータ4から、文字列抽出処理1110iによって関連詞が抽出され、抽出された関連詞が関連詞辞書(i+1)に記憶される。ここで、対象のWEBページにおいて話題や記載内容の変化があれば、抽出される関連詞もそれに応じて変化することになる。関連詞辞書(i+1)に関連詞が記憶されると(更新されると)、辞書比較処理1120gによって3つの関連詞辞書(関連詞辞書(i−1)、関連詞辞書(i)、関連詞辞書(i+1))の比較が行われ、関連詞の出現状況に応じて、関連詞等が比較結果データ1125に記憶される。また、比較処理が終わると、関連詞辞書(i)の内容が、関連詞辞書(i−1)にコピーされるとともに、関連詞辞書(i+1)の内容が、関連詞辞書(i)にコピーされる。
以降、同様にこれらの文字列抽出処理1110j及び辞書比較処理1120hを繰り返して、比較結果データ1125が、関連詞辞書(i−1)、関連詞辞書(i)、関連詞辞書(i+1)を比較した結果得られた関連詞により、各タイミング(T=t3〜t5)ごとに更新される。比較結果としての関連詞を最新のものだけ記憶するか累積的に記憶するかは、上述したように、適用する応用システム等の仕様による。
なお、図15の実施例では2つの関連詞辞書を、図16の実施例では3つの関連詞辞書を(サイクリックに)用いて比較結果データ1125を記憶・更新しているが、これ以上の関連詞辞書を用いて辞書比較処理を行ってもよい。これによって、より多くのタイミングにおける関連詞の出現状況を把握することができ、この出現状況が所定条件を満たす場合に、当該関連詞を比較結果データ1125に記憶することができる。
図17は、異なるWEBページ(異なる主題に関するWEBページ)から同タイミングで収集された3つのテキストデータ(テキストデータA〜C)から、文字列抽出処理1110によって関連詞が抽出され、抽出された関連詞が、それぞれ対応する関連詞辞書A、関連詞辞書B、または関連詞辞書Cに記憶され、その後、これらの3つの関連詞辞書を対象として辞書比較処理1120が行われ、これらの処理が、時間(T=t1)から(T=t3)まで周期的に行われている例を示している(時間(T=t4)以降は省略した)。
最初に、時間(T=t1)において、この時点で所定の異なるWEBページからそれぞれ収集された3つのテキストデータ(テキストデータA〜C)から、文字列抽出処理1110k、文字列抽出処理1110m、文字列抽出処理1110nによって関連詞が抽出され、抽出された関連詞がそれぞれ、関連詞辞書A、関連詞辞書B、関連詞辞書Cに記憶される。
その後、辞書比較処理1120kによって3つの関連詞辞書(関連詞辞書A、関連詞辞書B、関連詞辞書C)の比較が行われ、関連詞の出現状況に応じて、関連詞等が比較結果データ1125に記憶される。この実施例では、例えば、3つの関連詞辞書に共通して存在する関連詞が比較結果データ1125に記憶される。この場合、テキストデータA〜Cは、それぞれ異なる主題に関するWEBページから収集されたテキストデータであり、異なる関連詞よりも、3つの関連詞辞書に共通する関連詞(共通関連詞)に着目したほうが、共通の話題を発見することが可能となり、その点で意味のある場合が多い。
また、関連詞辞書Aにおいて共通関連詞とともに記憶されている他の関連詞(共起関連詞)、関連詞辞書Bにおいて共通関連詞とともに記憶されている他の関連詞(共起関連詞)、及び関連詞辞書Cにおいて共通関連詞とともに記憶されている他の関連詞(共起関連詞)との間に共通性があるか否かをさらに比較して、当該共通性に関する情報を比較結果データ1125に記憶することができる。
さらに、上記のような共起関連詞を比較する場合に、それらの共起関連詞に関連付けられたランクを考慮して共通性に関する情報を判定してもよい。例えば、ランクの高い(それらの関連詞で示される話題にとって重要性が高い)共起関連詞が、3つの関連詞辞書において共通する場合、共通関連詞の共通性はより高く評価されうる。
このような、時間(T=t1)における3つの関連詞辞書の比較を、時間(T=t2)において繰り返し行うことができる。このような処理を行うことにより、比較結果データ1125を時系列に更新することができる。
時間(T=t2)において、時間(T=t1)と同様に、この時点で所定の異なるWEBページからそれぞれ収集された3つのテキストデータ(テキストデータA’〜C’)から、文字列抽出処理1110k’、文字列抽出処理1110m’、文字列抽出処理1110n’によって関連詞が抽出され、抽出された関連詞がそれぞれ、関連詞辞書A’、関連詞辞書B’、関連詞辞書C’に記憶される。この実施例では、テキストデータA’は、テキストデータAと同じWEBページ、または同じ主題のWEBページを想定している。同様に、テキストデータB’は、テキストデータBと同じWEBページ、または同じ主題のWEBページであり、テキストデータC’は、テキストデータCと同じWEBページ、または同じ主題のWEBページである。
その後、辞書比較処理1120k’によって3つの関連詞辞書(関連詞辞書A’、関連詞辞書B’、関連詞辞書C’)の比較が行われ、関連詞の出現状況に応じて、関連詞等が比較結果データ1125に記憶される。この実施例では、例えば、3つの関連詞辞書に共通して存在する関連詞が比較結果データ1125に記憶される。
さらに、時間(T=t3)において、時間(T=t1、t2)と同様に、この時点で所定の異なるWEBページからそれぞれ収集された3つのテキストデータ(テキストデータA’’〜C’’)から、文字列抽出処理1110k’’、文字列抽出処理1110m’’、文字列抽出処理1110n’’によって関連詞が抽出され、抽出された関連詞がそれぞれ、関連詞辞書A’’、関連詞辞書B’’、関連詞辞書C’’に記憶される。この実施例では、テキストデータA’’は、テキストデータA、テキストデータA’と同じWEBページ、または同じ主題のWEBページを想定している。同様に、テキストデータB’’は、テキストデータB、テキストデータB’と同じWEBページ、または同じ主題のWEBページであり、テキストデータC’’は、テキストデータC、テキストデータC’と同じWEBページ、または同じ主題のWEBページである。
その後、辞書比較処理1120k’’によって3つの関連詞辞書(関連詞辞書A’’、関連詞辞書B’’、関連詞辞書C’’)の比較が行われ、関連詞の出現状況に応じて、関連詞等が比較結果データ1125に記憶される。この実施例では、例えば、3つの関連詞辞書に共通して存在する関連詞が比較結果データ1125に記憶される。
なお、図17の実施例では、同じタイミングで、異なるWEBページ(異なる主題に関するWEBページ)から収集された3つのテキストデータに基づいて関連詞の抽出を行ったが、2つのテキストデータからそれぞれ関連詞の抽出を行ってもよいし、4つ以上のテキストデータからそれぞれ関連詞の抽出を行ってもよい。
<<本発明の一実施形態に係る情報更新装置の文字列抽出処理と辞書比較処理の詳細な説明>>
次に、図18を参照して、図16に示した文字列抽出処理1110と辞書比較処理1120の例をより詳細に説明する。図18は、3つのテキストデータ(テキストデータ1〜3)に対してそれぞれ文字列抽出処理(1110f、1110g、1110h)が行われ、対応する関連詞辞書(i−1)、関連詞辞書(i)、関連詞辞書(i+1)に対して、辞書比較処理1120fが行われるところを示している。
この実施例では、3つのテキストデータは、共通の主題「株の取引」に関連する同じWEBページから収集されたものである。例えば、WEB検索により、検索キーワード「株の取引」を入力し、その結果得られた3つのWEBページを1つのテキストデータとして扱う。図18では、テキストデータ1は、時間(T=t1)における、第1のWEBページから得られたテキストデータ1−1、第2のWEBページから得られたテキストデータ1−2、第3のWEBページから得られたテキストデータ1−3を含む。同様に、テキストデータ2は、時間(T=t2)における、第1のWEBページから得られたテキストデータ2−1、第2のWEBページから得られたテキストデータ2−2、第3のWEBページから得られたテキストデータ2−3を含み、テキストデータ3は、時間(T=t3)における、第1のWEBページから得られたテキストデータ3−1、第2のWEBページから得られたテキストデータ3−2、第3のWEBページから得られたテキストデータ3−3を含む。ここで、第1のWEBページのURLはすべて同じであり、第2のWEBページのURLはすべて同じであり、第3のWEBページのURLはすべて同じである。
文字列抽出処理1110fは、時間(T=t1)において、テキストデータ1から所定の方法により関連詞を抽出し、関連詞辞書(i−1)に記憶する。この実施例では、関連詞が4つ抽出され、それぞれをランクの順に配列して、1レコードとし関連詞辞書(i−1)に格納する。関連詞のランク付けは、例えば、出現頻度等に基づいて決定することができる。抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「○社」、「△銀行」、「申込みは」、「口座」である。形態素解析等では、意味を持つ最小の単位(形態素)に分解して文字列を把握するが、他の方法では、形態素より大きな単位(例えば、文や文の一部)が関連詞として抽出されうる。上述の「申込みは」といった、名詞と助詞からなる文字列も関連詞として抽出されている。
また、この実施例では、それぞれのテキストデータに関して4つの関連詞が抽出されるようになっているが、これは説明の便宜のためのものである(以降の実施例も同様である)。実際には、関連詞がいくつ抽出されてもよく、テキストデータによってその数が異なる。文字列抽出処理において、一定の判定基準において閾値を超えた場合に文字列が関連詞として決定される場合は、その判定に応じて抽出される関連詞の数が変わってくる。また、抽出する関連詞の数を固定数とすることもできるし、テキストデータの文字数等に応じて設定するようにもできる。
文字列抽出処理1110gは、時間(T=t2)において、テキストデータ2から所定の方法により関連詞を抽出し、関連詞辞書(i)に記憶する。この実施例では、関連詞が4つ抽出され、それぞれをランクの順に配列して、1レコードとし関連詞辞書(i)に格納する。関連詞のランク付けは、例えば、出現頻度等に基づいて決定することができる。抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「税率」、「○社」、「△銀行」、「申込みは」である。
同様に、文字列抽出処理1110hは、時間(T=t3)において、テキストデータ3から所定の方法により関連詞を抽出し、関連詞辞書(i+1)に記憶する。この実施例では、関連詞が4つ抽出され、それぞれをランクの順に配列して、1レコードとし関連詞辞書(i+1)に格納する。関連詞のランク付けは、例えば、出現頻度等に基づいて決定することができる。抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「○社」、「口座」、「△銀行」、「申込みは」である。
次に、関連詞辞書(i−1)、関連詞辞書(i)、関連詞辞書(i+1)に対して、辞書比較処理1120fが行われる。この実施例では、辞書比較処理1120fは、新たに出現した関連詞(新着関連詞)、消滅した関連詞(消滅関連詞)、及び再度出現した関連詞(復活関連詞)を検出し、これらを比較結果データ1125に記憶するものとする。
例えば、関連詞辞書(i−1)と関連詞辞書(i)を比較すると、関連詞辞書(i)で、関連詞「税率」が新たに出現しており、さらに、関連詞「口座」が消滅している。そこで、比較結果データ1125には、図19のレコード1125aに示すように、関連詞「税率」「口座」が記憶される。また、比較結果データ1125には、これらの関連詞とともに、出現状況を表すデータ(この実施例では、新たに出現した関連詞の場合「新着」、消滅した関連詞の場合「消滅」)が同じレコードに記憶される。さらに、この実施例では、当該出現状況となったタイミングを示すために、関連詞辞書を識別する「話題名」のデータが記憶される。各関連詞辞書は、話題名や日付けと対応付けられ、関連詞辞書(i)は、ここでは「2013年10月10日、t2における「株の取引」の話題」といった話題名に対応付けられている。
次に、関連詞辞書(i)と関連詞辞書(i+1)を比較すると、関連詞辞書(i+1)で、関連詞「税率」が消滅しており、さらに、関連詞「口座」が復活している(関連詞辞書(i−1)に存在し、関連詞辞書(i)で消滅していた)。そこで、比較結果データ1125には、図19のレコード1125bに示すように、関連詞「口座」「税率」が記憶される。また、比較結果データ1125には、これらの関連詞とともに、出現状況を表すデータ(この実施例では、再度出現した(復活した)関連詞の場合「復活」、消滅した関連詞の場合「消滅」)が同じレコードに記憶される。さらに、この実施例では、当該出現状況となったタイミングを示すために、関連詞辞書を識別する「話題名」のデータが記憶される。各関連詞辞書は、話題名や日付けと対応付けられ、関連詞辞書(i+1)は、ここでは「2013年10月10日、t3における「株の取引」の話題」といった話題名に対応付けられている。
次に、図20を参照して、図17に示した文字列抽出処理1110と辞書比較処理1120の例をより詳細に説明する。図20は、時間(T=t1)において、3つのテキストデータ(テキストデータA〜C)に対してそれぞれ文字列抽出処理(1110k、1110m、1110n)が行われ、対応する関連詞辞書A、関連詞辞書B、関連詞辞書Cに対して、辞書比較処理1120kが行われるところを示している。
この実施例では、3つのテキストデータは、同じ時間(T=t1)において、異なる主題に関連するWEBページから収集されたものである。すなわち、テキストデータAは、「A社の技術」を主題としたWEBページに基づくものであり、テキストデータBは、「B社の技術」を主題としたWEBページに基づくものであり、テキストデータCは、「AI(人工知能)関連技術」を主題としたWEBページに基づくものである。
例えば、テキストデータAに関しては、WEB検索により、検索キーワード「A社の技術」を入力し、その結果得られた3つのWEBページを1つのテキストデータとして扱う。同様に、テキストデータBに関しては、WEB検索により、検索キーワード「B社の技術」を入力し、その結果得られた3つのWEBページを1つのテキストデータとして扱い、テキストデータCに関しては、WEB検索により、検索キーワード「AI(人工知能)関連技術」を入力し、その結果得られた3つのWEBページを1つのテキストデータとして扱う。
図20では、テキストデータ1は、主題「A社の技術」に関連した、第1のWEBページから得られたテキストデータA−1、第2のWEBページから得られたテキストデータA−2、第3のWEBページから得られたテキストデータA−3を含む。同様に、テキストデータ2は、主題「B社の技術」に関連した、第1のWEBページから得られたテキストデータB−1、第2のWEBページから得られたテキストデータB−2、第3のWEBページから得られたテキストデータB−3を含み、テキストデータ3は、主題「AI(人工知能)関連技術」に関連した、第1のWEBページから得られたテキストデータC−1、第2のWEBページから得られたテキストデータC−2、第3のWEBページから得られたテキストデータC−3を含む。
文字列抽出処理1110kは、テキストデータAから所定の方法により関連詞を抽出し、関連詞辞書Aに記憶する。この実施例では、関連詞が4つ抽出され、それぞれをランクの順に配列して、1レコードとし関連詞辞書Aに格納する。関連詞のランク付けは、例えば、出現頻度等に基づいて決定することができる。抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「A社」、「音声」、「音声認識」、「営業」となっている。
文字列抽出処理1110mは、テキストデータBから所定の方法により関連詞を抽出し、関連詞辞書Bに記憶する。この実施例では、関連詞が4つ抽出され、それぞれをランクの順に配列して、1レコードとし関連詞辞書Bに格納する。関連詞のランク付けは、例えば、出現頻度等に基づいて決定することができる。抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「音声」、「研究開発」、「B社の業績」、「音声認識」となっている。
同様に、文字列抽出処理1110nは、テキストデータCから所定の方法により関連詞を抽出し、関連詞辞書Cに記憶する。この実施例では、関連詞が4つ抽出され、それぞれをランクの順に配列して、1レコードとし関連詞辞書Cに格納する。関連詞のランク付けは、例えば、出現頻度等に基づいて決定することができる。抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「AI」、「ロボット」、「音声認識」、「エージェント」となっている。
次に、関連詞辞書A、関連詞辞書B、関連詞辞書Cに対して、辞書比較処理1120kが行われる。この実施例では、辞書比較処理1120kは、3つの辞書に共通する関連詞(共通関連詞)を検出し、これらを比較結果データ1125に記憶するものとする。
関連詞辞書A、関連詞辞書B、関連詞辞書Cを比較すると、それぞれ上述した関連詞を記憶しており、共通関連詞として「音声認識」が存在することが認められる。そこで、この「音声認識」を比較結果データ1125に記憶する。
このような共通関連詞を把握することにより、企業間関連情報の分析を効果的に実現することができる。例えば、A社の技術に関する記述で多く用いられている関連詞をテキストデータAに基づく文字列抽出処理1110kにより抽出し、B社の技術に関する記述で多く用いられている関連詞をテキストデータBに基づく文字列抽出処理1110mにより抽出し、AI(人工知能)関連技術に関する記述で多く用いられている関連詞をテキストデータCに基づく文字列抽出処理1110nにより抽出することによって、A社とB社とが、どのようなAI関連技術で共通性を有している可能性があるかを、客観的に把握することができる。
なお、図20に示す実施例では、同じ時間(T=t1)において、異なる主題に関連するWEBページから収集されたテキストデータに基づく関連詞辞書を比較するものであり、WEBページは、それぞれは意図的なWEB検索により収集されたものであるが、まったく偶然に集められたWEBページからそれぞれ得られた関連詞辞書を比較した結果、偶然にも共通の関連詞が見いだされるといったケースも考えられる。
次に、図21を参照して、本発明の一実施形態に係る情報更新装置における文字列抽出処理1110と辞書比較処理1120の他の実施例を説明する。図21は、図18に示した文字列抽出処理1110と辞書比較処理1120の変形例を示すものである。図21には、2つのテキストデータ(テキストデータ1、テキストデータ2)に対してそれぞれ文字列抽出処理1110が行われ、対応する関連詞辞書(i−1)、関連詞辞書(i)に対して、辞書比較処理1120が行われるところを示している。図18に示す、テキストデータ3に関する処理については表示を省略した。
この実施例では、2つのテキストデータは、共通の主題「株の取引」に関連する同じWEBページから収集されたものである。例えば、WEB検索により、検索キーワード「株の取引」を入力し、その結果得られた3つのWEBページを1つのテキストデータとするが、関連詞は、WEBページの単位ごとに抽出する。これによって、関連詞が、WEBページごとに管理されるが、3つのWEBページに基づくテキストデータを3つ用意し、そのテキストデータごとに関連詞が抽出されるようにしてもよい。ここでは、関連詞が、複数のテキストデータから抽出されていることが重要である。
図21では、テキストデータ1は、時間(T=t1)における、第1のWEBページから得られたテキストデータ1−1、第2のWEBページから得られたテキストデータ1−2、第3のWEBページから得られたテキストデータ1−3を含む。同様に、テキストデータ2は、時間(T=t2)における、第1のWEBページから得られたテキストデータ2−1、第2のWEBページから得られたテキストデータ2−2、第3のWEBページから得られたテキストデータ2−3を含む。ここで、第1のWEBページのURLはすべて同じであり、第2のWEBページのURLはすべて同じであり、第3のWEBページのURLはすべて同じである。
文字列抽出処理1110は、時間(T=t1)において、テキストデータ1から所定の方法により関連詞を抽出する。これは、上述のように、テキストデータ1に含まれるテキストデータごとに行われ、例えば、テキストデータ1−1から所定の方法により関連詞が抽出され、テキストデータ1−2から所定の方法により関連詞が抽出され、テキストデータ1−3から所定の方法により関連詞が抽出される。この実施例では、それぞれについて関連詞が4つ抽出され、各関連詞をランクの順に配列する。関連詞のランク付けは、例えば、出現頻度等に基づいて決定することができる。テキストデータ1−1に関し、抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「○社」、「口座」、「申込手続」、「△銀行」である。テキストデータ1−2に関し、抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「口座」、「△銀行」、「申込みは」、「◇社」である。テキストデータ1−3に関し、抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「株の購入」、「△銀行」、「指し値」、「○社」である。
次に、文字列抽出処理1110は、このように抽出された関連詞のそれぞれについて、近傍関連詞を求め、それらを関連詞辞書(i−1)に記憶する。近傍関連詞は、ある関連詞に着目した場合に、その関連詞とともに出現する(共起する)関連詞である。各テキストデータ(1−1、1−2、1−3)において、そのテキストデータに対応する話題に含まれている関連詞の集合は関連詞集合であり、ある関連詞に着目した場合、その関連詞を含む関連詞集合を、関連詞の近傍と称し、関連詞の近傍の集合を、関連詞の近傍系と称する。関連詞辞書(i−1)には、関連詞ごとに、関連詞の近傍系が記憶される。
例えば、関連詞「○社」に着目すると、この関連詞は、テキストデータ1−1について抽出されており、関連詞の近傍は{○社、口座、申請手続、△銀行}である。同様に、この関連詞は、テキストデータ1−3について抽出されており、関連詞の近傍は{株の購入、△銀行、指し値、○社}である。これらから、関連詞「○社」について、関連詞の近傍系は、{○社、口座、株の購入、△銀行、申請手続、指し値}となる(テキストデータ1−1についての関連詞の近傍と、テキストデータ1−3についての関連詞の近傍とで重複する関連詞「△銀行」は1つだけ含められる)。
こうして求められた関連詞の近傍系が、それぞれの関連詞「○社」、「口座」、「△銀行」、「申請手続」、「株の購入」、「申込みは」、「指し値」、「◇社」について、関連詞辞書(i−1)に記憶される。各関連詞については、関連詞の近傍系(近傍関連詞1〜7)が記憶されるが、これらの順序は、文字列抽出処理1110により行われたランク付けや、共起性の高さ等を考慮して定められる。
さらに、文字列抽出処理1110は同様に、時間(T=t2)において、テキストデータ2から所定の方法により関連詞を抽出する。これは、上述のように、テキストデータ2に含まれるテキストデータごとに行われ、例えば、テキストデータ2−1から所定の方法により関連詞が抽出され、テキストデータ2−2から所定の方法により関連詞が抽出され、テキストデータ2−3から所定の方法により関連詞が抽出される。この実施例では、それぞれについて関連詞が4つ抽出され、各関連詞をランクの順に配列する。関連詞のランク付けは、例えば、出現頻度等に基づいて決定することができる。テキストデータ2−1に関し、抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「○社」、「口座」、「新しい制度」、「申請手続」である。テキストデータ2−2に関し、抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「口座」、「△銀行」、「◇社」、「株の購入」である。テキストデータ2−3に関し、抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「株の購入」、「△銀行」、「○社」、「新しい制度」である。
次に、文字列抽出処理1110は、このように抽出された関連詞のそれぞれについて、近傍関連詞を求め、それらを関連詞辞書(i)に記憶する。例えば、関連詞「○社」に着目すると、この関連詞は、テキストデータ2−1について抽出されており、関連詞の近傍は{○社、口座、新しい制度、申請手続}である。同様に、この関連詞は、テキストデータ2−3について抽出されており、関連詞の近傍は{株の購入、△銀行、○社、新しい制度}である。これらから、関連詞「○社」について、関連詞の近傍系は、{○社、口座、株の購入、新しい制度、申請手続、△銀行}となる(テキストデータ2−1についての関連詞の近傍と、テキストデータ2−3についての関連詞の近傍とで重複する関連詞「新しい制度」は1つだけ含められる)。
こうして求められた関連詞の近傍系が、それぞれの関連詞「○社」、「口座」、「△銀行」、「申請手続」、「株の購入」、「新しい制度」、「◇社」について、関連詞辞書(i)に記憶される。各関連詞については、関連詞の近傍系(近傍関連詞1〜6)が記憶されるが、これらの順序は、文字列抽出処理1110により行われたランク付けや、共起性の高さ等を考慮して定められる。
次に、辞書比較処理1120により、関連詞辞書(i−1)と関連詞辞書(i)が比較される。その結果、関連詞「指し値」、「申込みは」は、時間(T=t2)で消滅した消滅関連詞であり(図21の符号1133参照)、関連詞「新しい制度」は、時間(T=t2)で新たに出現する新着関連詞であり(図21の符号1132参照)、これらの関連詞は、関連詞辞書(i−1)と関連詞辞書(i)の変化分として比較結果データ1125に記憶される。
さらに、辞書比較処理1120は、関連詞「○社」、「口座」、「△銀行」、「申請手続」、「株の購入」、「◇社」については、時間(T=t1)及び時間(T=t2)の両方で存在する関連詞であるが、各関連詞の近傍関連詞についても比較を行う。そうすると、近傍関連詞(または近傍関連詞の順序)が変化していることが分かる(図21の符号1131参照)。このことは、話題における当該関連詞の関係性や位置づけが変化していることを示している。情報更新装置が適用される応答システム等が、こうした近傍関連詞の変化についても可視化しようとする場合は、これらの情報についても比較結果データ1125に記憶する。
次に、図22を参照して、本発明の一実施形態に係る情報更新装置における文字列抽出処理1110と辞書比較処理1120の他の実施例を説明する。図22は、図20に示した文字列抽出処理1110と辞書比較処理1120の変形例を示すものである。図22には、3つのテキストデータ(テキストデータA〜C)に対してそれぞれ文字列抽出処理1110が行われ、対応する関連詞辞書A、関連詞辞書B、関連詞辞書Cに対して、辞書比較処理1120が行われるところを示している。
この実施例では、3つのテキストデータは、同じ時間(T=t1)において、異なる主題に関連する同じWEBページから収集されたものである。すなわち、テキストデータAは、「A社の技術」を主題としたWEBページに基づくものであり、テキストデータBは、「B社の技術」を主題としたWEBページに基づくものであり、テキストデータCは、「AI(人工知能)関連技術」を主題としたWEBページに基づくものである。
例えば、テキストデータAに関しては、WEB検索により、検索キーワード「A社の技術」を入力し、その結果得られた2つのWEBページから2つのテキストデータ(テキストデータA−1、テキストデータA−2)を取得し、これらを文字列抽出処理1110においては個別に扱う。同様に、テキストデータBに関しては、WEB検索により、検索キーワード「B社の技術」を入力し、その結果得られた2つのWEBページから2つのテキストデータ(テキストデータB−1、テキストデータB−2)を取得し、これらを文字列抽出処理1110においては個別に扱う。同様に、テキストデータCに関しては、WEB検索により、検索キーワード「AI(人工知能)関連技術」を入力し、その結果得られた2つのWEBページから2つのテキストデータ(テキストデータC−1、テキストデータC−2)を取得し、これらを文字列抽出処理1110においては個別に扱う。図20では、テキストデータA、テキストデータB、テキストデータCにそれぞれ3つのテキストデータが含まれていたが、この実施例では、それぞれ2つのテキストデータを含むものとする。
文字列抽出処理1110は、時間(T=t1)において、テキストデータAから所定の方法により関連詞を抽出する。これは、上述のように、テキストデータAに含まれるテキストデータごとに行われ、例えば、テキストデータA−1から所定の方法により関連詞が抽出され、テキストデータA−2から所定の方法により関連詞が抽出される。この実施例では、それぞれについて関連詞が4つ抽出され、各関連詞をランクの順に配列する。関連詞のランク付けは、例えば、出現頻度等に基づいて決定することができる。テキストデータA−1に関し、抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「A社」、「音声」、「音声認識」、「ロボット」である。テキストデータA−2に関し、抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「圧縮技術」、「音声認識」、「営業」、「音声」である。
次に、文字列抽出処理1110は、このように抽出された関連詞のそれぞれについて、近傍関連詞を求め、それらを関連詞辞書Aに記憶する。近傍関連詞は、ある関連詞に着目した場合に、その関連詞とともに出現する(共起する)関連詞である。各テキストデータ(A−1、A−2)において、そのテキストデータに対応する話題に含まれている関連詞の集合は関連詞集合であり、ある関連詞に着目した場合、その関連詞を含む関連詞集合を、関連詞の近傍と称し、関連詞の近傍の集合を、関連詞の近傍系と称する。関連詞辞書Aには、関連詞ごとに、関連詞の近傍系が記憶される。
例えば、関連詞「音声認識」に着目すると、この関連詞は、テキストデータA−1について抽出されており、関連詞の近傍は{A社、音声、音声認識、ロボット}である。同様に、この関連詞は、テキストデータA−2について抽出されており、関連詞の近傍は{圧縮技術、音声認識、営業、音声}である。これらから、関連詞「音声認識」について、関連詞の近傍系は、{音声認識、A社、圧縮技術、音声、ロボット、営業}となる(テキストデータA−1についての関連詞の近傍と、テキストデータA−2についての関連詞の近傍とで重複する関連詞「音声」は1つだけ含められる)。
こうして求められた関連詞の近傍系が、それぞれの関連詞「A社」、「音声認識」、「音声」、「圧縮技術」、「営業」、「ロボット」について、関連詞辞書Aに記憶される。各関連詞については、関連詞の近傍系(近傍関連詞1〜5)が記憶されるが、これらの順序は、文字列抽出処理1110により行われたランク付けや、共起性の高さ等を考慮して定められる。
さらに、文字列抽出処理1110は、時間(T=t1)において、テキストデータBから所定の方法により関連詞を抽出する。これは、上述のように、テキストデータBに含まれるテキストデータごとに行われ、例えば、テキストデータB−1から所定の方法により関連詞が抽出され、テキストデータB−2から所定の方法により関連詞が抽出される。この実施例では、それぞれについて関連詞が4つ抽出され、各関連詞をランクの順に配列する。関連詞のランク付けは、例えば、出現頻度等に基づいて決定することができる。テキストデータB−1に関し、抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「音声」、「B社の業績」、「音声認識」、「研究開発」である。テキストデータB−2に関し、抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「研究開発」、「音声」、「音声認識」、「認証技術」である。
次に、文字列抽出処理1110は、このように抽出された関連詞のそれぞれについて、近傍関連詞を求め、それらを関連詞辞書Bに記憶する。例えば、関連詞「音声」に着目すると、この関連詞は、テキストデータB−1について抽出されており、関連詞の近傍は{音声、B社の業績、音声認識、研究開発}である。同様に、この関連詞は、テキストデータB−2について抽出されており、関連詞の近傍は{研究開発、音声、音声認識、認証技術}である。これらから、関連詞「音声」について、関連詞の近傍系は、{音声、研究開発、B社の業績、音声認識、認証技術}となる(テキストデータB−1についての関連詞の近傍と、テキストデータB−2についての関連詞の近傍とで重複する関連詞「音声認識」、「研究開発」はそれぞれ1つだけ含められる)。
こうして求められた関連詞の近傍系が、それぞれの関連詞「音声」、「研究開発」、「B社の業績」、「音声認識」、「認証技術」について、関連詞辞書Bに記憶される。各関連詞については、関連詞の近傍系(近傍関連詞1〜4)が記憶されるが、これらの順序は、文字列抽出処理1110により行われたランク付けや、共起性の高さ等を考慮して定められる。
さらに、文字列抽出処理1110は、時間(T=t1)において、テキストデータCから所定の方法により関連詞を抽出する。これは、上述のように、テキストデータCに含まれるテキストデータごとに行われ、例えば、テキストデータC−1から所定の方法により関連詞が抽出され、テキストデータC−2から所定の方法により関連詞が抽出される。この実施例では、それぞれについて関連詞が4つ抽出され、各関連詞をランクの順に配列する。関連詞のランク付けは、例えば、出現頻度等に基づいて決定することができる。テキストデータC−1に関し、抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「AI」、「エージェント」、「ロボット」、「音声認識」である。テキストデータC−2に関し、抽出された4つの関連詞(関連詞1〜関連詞4)は、ランク順に「ロボット」、「音声認識」、「AI」、「学習機能」である。
次に、文字列抽出処理1110は、このように抽出された関連詞のそれぞれについて、近傍関連詞を求め、それらを関連詞辞書Cに記憶する。例えば、関連詞「AI」に着目すると、この関連詞は、テキストデータC−1について抽出されており、関連詞の近傍は{AI、エージェント、ロボット、音声認識}である。同様に、この関連詞は、テキストデータC−2について抽出されており、関連詞の近傍は{ロボット、音声認識、AI、学習機能}である。これらから、関連詞「AI」について、関連詞の近傍系は、{AI、ロボット、エージェント、音声認識、学習機能}となる(テキストデータC−1についての関連詞の近傍と、テキストデータC−2についての関連詞の近傍とで重複する関連詞「ロボット」、「音声認識」はそれぞれ1つだけ含められる)。
こうして求められた関連詞の近傍系が、それぞれの関連詞「AI」、「ロボット」、「音声認識」、「エージェント」、「学習機能」について、関連詞辞書Cに記憶される。各関連詞については、関連詞の近傍系(近傍関連詞1〜4)が記憶されるが、これらの順序は、文字列抽出処理1110により行われたランク付けや、共起性の高さ等を考慮して定められる。
次に、辞書比較処理1120により、関連詞辞書A〜Cが比較される。その結果、関連詞「音声認識」は、時間(T=t1)において、3つの関連詞辞書に共通する関連詞(共通関連詞)であり(図22の符号1135、1135’、1135’’参照)、これが比較結果データ1125に記憶される。このような共通関連詞を把握することにより、異なる主題のなかから共通する話題を発見することができ、この実施例のような主題の設定を行えば、企業間関連情報の分析にもつながる。
また、辞書比較処理1120は、この共通関連詞について、各関連詞の近傍関連詞についても比較を行う。そうすると、近傍関連詞の共通性や近傍関連詞の順序の共通性等を把握することができ、これによって、共通関連詞の間の共通性のレベルを判定することができる。
なお、関連詞辞書Aと関連詞辞書Bにおける共通関連詞として「音声」が把握されうるが(図22の符号1136、1136’参照)、このような一部の関連詞辞書における共通関連詞も重要な情報となる場合があるため、比較結果データ1125に記憶することができる。
<<<本発明の一実施形態に係る情報更新装置を含む情報更新システムの概要>>>
次に、図23を参照して、本発明の一実施形態に係る情報更新装置を含む情報更新システムによる一連の処理の例を説明する。
図23に示す情報更新システム1300は、情報更新装置1400、検索処理装置1600、ユーザ端末1700を含む。情報更新装置1400は、記憶手段に、関連詞辞書1115と比較結果データ1125を格納する。検索処理装置1600で動作するクローラー1601は、例えば、自動起動され、決められた時間に決められた話題名に対して話題解析を行う(検索を行って、定期的に話題を収集する)。話題名は、例えば、関連詞辞書1115を保持しているサービス(利用者が扱う話題にそれぞれ対応したサービスIDに割り当てられた領域)に記憶され、利用者が10個の話題を扱いたい場合は、10個のサービスを利用してそれらの話題を扱うことになる。また、上述した1つ1つのサービスについて、対応する話題チップを設定し、各話題チップが常時、対応する話題に関する情報を収集し、利用者の入力に応じて、関連する話題チップを連携・統合させ、より多様な話題提供サービスを実現することもできる。
クローラー1601による検索は、例えば、インターネット上の既存のインターネット検索サイトにアクセスし、そこで検索キーワードを指定することにより、当該インターネット検索サイトの検索サーバ1610から検索結果1620を受信する。検索結果1620には、例えば、検索キーワードに合致または類似するコンテンツを含んだWEBページのアドレス(WEBページ1のアドレス、WEBページ2のアドレス、WEBページ3のアドレス、・・・、WEBページXのアドレス)が含まれる。
クローラー1601は、この実施例では、既存のインターネット検索サイトにおける検索を実行することで検索結果1620を取得するようにしているが、他の様々な方法により、所定の条件を満たすWEBページのアドレスを取得することができる。また、検索対象はインターネット上のWEBページに限定されるものではなく、TWITTERのツイート情報や、任意の機関によって事前に生成・編集された(ネットワーク上またはローカルの)データやデータベース内のテキスト情報であってもよい。
既存のインターネット検索サイトは、検索サーバ1610に備えられた検索エンジンにより、インターネット上のデータソースから検索キーワードに合致、または類似するWEBページのアドレスを、検索のリクエストに応じて(あるいは事前の定期的収集活動により)収集する。
クローラー1601は、検索サーバ1610から検索結果1620が送信されると、クローラー1601、または検索処理装置1600で動作するアプリケーション等が、検索結果1620を、(例えば、API送信により)情報更新装置1400に送信する。また、クローラー1601は、フィルタを用いて、検索結果1620のうち、所定の条件を満たすものを除外するよう構成することができる。
この実施例では、クローラー1601が、決められた時間に自動的に起動されるが、情報更新装置1400の動作制御に応じて検索結果1620を取得するようにしてもよい。また、クローラー1601が所定のインターバルで検索結果1620を取得し、その検索結果1620を検索処理装置1600の記憶手段に保持し、情報更新装置1400が、必要なタイミングで、検索処理装置1600の記憶手段にアクセスして検索結果1620を取得するようにもできる。また、情報更新装置1400と検索処理装置1600を1つのサーバにより構成することもできる。
また、この実施例では、検索処理装置1600が、検索結果1620として検索キーワードに関連するWEBページのアドレスを情報更新装置1400に送信するが、検索処理装置1600において、これらのWEBページにアクセスし、その結果得られたテキストデータを検索結果1620として情報更新装置1400に送信するようにもできる。
情報更新装置1400は、検索結果1620を受信すると、検索結果1620に含まれるWEBページのアドレスにアクセスして、それぞれのWEBページ(WEBページ1、WEBページ2、WEBページ3、・・・、WEBページX)からテキストデータ1200を取得する。検索結果1620は、検索条件を満たすWEBページのアドレスが複数含まれうるが、これらが検索条件の満足度に応じてランク付けされているような場合は、所定ランク以上のWEBページについてテキストデータ1200を取得するようにもできる。
情報更新装置1400は、テキストデータ1200を取得すると、テキストデータ1200から文字列抽出処理1110により、関連詞を抽出し、これらを、対応する関連詞辞書1115に記憶する。その後、情報更新装置1400は、2つ以上の関連詞辞書1115に対して、辞書比較処理1120を行い、比較結果を比較結果データ1125に記憶する。辞書比較処理1120は、例えば、比較対象の関連詞辞書1115に関連詞の記憶がすべて終了した時点で自動的に開始される。
ユーザ端末1700は、情報更新システム1300のユーザが使用するコンピュータであり、ここで、ユーザの入力に対して自動的に応答を行う応答システムが、ユーザ端末1700で動作するアプリケーション1701と情報更新装置1400との間で構築される。
このようなユーザ端末1700から、ユーザが直接、あるいは、アプリケーション1701によって選択された応答シナリオに応じて、所定の関連詞辞書を比較した比較結果の表示が要求されると、ユーザ端末1700から情報更新装置1400に対して比較結果表示リクエストが送信される。情報更新装置1400が、この比較結果表示リクエストを受信すると、これに応じて、対応する比較結果データを比較結果データ1125から取得し、ユーザ端末1700に送信する。
ユーザ端末1700は、情報更新装置1400から送信された比較結果データ1125を受信し、ユーザ端末1700のディスプレイ1702に表示させるように編集し(例えば、表示結果を表示するように構成されたHTMLファイルを編集し)、比較結果表示データ1150を生成する。なお、比較結果表示データ1150を情報更新装置1400で生成し、これをユーザ端末1700で受信し表示させるように構成することもできる。
その後、ユーザ端末1700では、比較結果表示データ1150を受信したアプリケーション1701またはWEBブラウザ等が、比較結果表示データ1150を解釈し、ディスプレイ1702に、比較結果表示リクエストにより要求された比較結果を表示する。この表示は、例えば、話題名と、この話題における関連詞の変化を示す。関連詞の変化の表示として、関連詞の出現状況とこれに対応する関連詞が表示される。
図23の実施例においては、話題名「2013年10月10日、t2における「株の取引」の話題」について、出現状況が「新着関連詞」である関連詞「税率」と、出現状況が「消滅関連詞」である関連詞「口座」が表示される。この表示は、図19に示す比較結果データ1125の、レコード1125aに対応するものである。ユーザは、ディスプレイ1702に表示された内容を見て、話題名に関する話題において、t2というタイミングで、新たに「税率」という関連詞が出現し、これと同時に、「口座」という関連詞が消滅したという気づきを得ることができる。
<<<本発明の一実施形態に係る情報更新装置の構成の説明>>>
次に、図24を参照して、本発明の一実施形態に係る情報更新装置1400の構成を説明する。情報更新装置1400は、テキストデータ取得処理部1421、文字列抽出処理部1422、辞書比較処理部1423、比較結果表示制御部1424、及びネットワークインタフェース(I/F)部1425を備える。
また、情報更新装置1400は、RAMのような主記憶装置またはハードディスクや半導体メモリのような外部記憶装置に、関連詞辞書1115と比較結果データ1125を記憶する。関連詞辞書1115と比較結果データ1125は、様々なデータフォーマット、データ記憶形式をとることができる。
テキストデータ取得処理部1421は、図23に示したクローラー1601によって取得されたインターネット検索サイトにおける検索結果1620を受信する。検索結果1620に含まれるWEBページのアドレスからテキストデータ1200を取得し、これを文字列抽出処理部1422に提供する(図12に示すテキストデータ取得処理1100)。文字列抽出処理部1422は、テキストデータ1200から関連詞を抽出し、これを、対応する関連詞辞書1115に記憶する(図12に示す文字列抽出処理1110)。辞書比較処理部1423は、複数の関連詞辞書1115を比較し、比較結果を比較結果データ1125に記憶する(図12に示す辞書比較処理1120)。
比較結果表示制御部1424は、ユーザ端末1700からの比較結果表示リクエストに応じて、比較結果データ1125から対応する比較結果を取得し、比較結果表示データ1150を生成してユーザ端末1700に送信する。ネットワークインタフェース(I/F)部1425は、インターネット等のネットワークを介した、図23に示す検索処理装置1600やユーザ端末1700を含む他のコンピュータとのアクセスと、これらのコンピュータとのデータ送受信を制御する。
<<<本発明の一実施形態に係る情報更新装置のハードウェア構成の説明>>>
次に、図25を参照して、本発明の一実施形態に係る情報更新装置1400として用いられるコンピュータのハードウェア構成の例について説明する。ただし、図25に示す情報更新装置1400は、その代表的な構成を例示したにすぎない。
情報更新装置1400は、CPU(Central Processing Unit)1401、RAM(Random Access Memory)1402、ROM(Read Only Memory)1403、ネットワークインタフェース1404、オーディオ制御部1405、マイクロフォン1406、スピーカ1407、ディスプレイコントローラ1408、ディスプレイ1409、入力機器インタフェース1410、キーボード1411、マウス1412、外部記憶装置1413、外部記録媒体インタフェース1414、及びこれらの構成要素を互いに接続するバス1415を含んでいる。
CPU1401は、情報更新装置1400の各構成要素の動作を制御し、OSの制御下で、本発明に係るテキストデータ取得処理1100、文字列抽出処理1110、辞書比較処理1120、比較結果表示制御等の実行を制御する。
RAM1402には、CPU1401で実行される辞書比較処理1120等を実行するためのプログラムや、それらのプログラムが実行中に使用するデータが一時的に格納される。また、上述のように、関連詞辞書1115や比較結果データ1125等も記憶されうる。ROM1403には、情報更新装置1400の起動時に実行されるプログラム等が格納される。
ネットワークインタフェース1404は、ネットワーク1500に接続するためのインタフェースである。ネットワーク1500は、例えば、図23に示す検索処理装置1600やユーザ端末1700と情報更新装置1400との間のネットワークや、インターネットのようなネットワークである。
オーディオ制御部1405は、マイクロフォン1406とスピーカ1407を制御して音声の入出力を制御する。ディスプレイコントローラ1408は、CPU1401が発行する描画命令を実際に処理するための専用コントローラである。ディスプレイ1409は、例えば、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)で構成される表示装置である。
入力機器インタフェース1410は、キーボード1411やマウス1412から入力された信号を受信して、その信号パターンに応じて所定の指令をCPU1401に送信する。
外部記憶装置1413は、例えば、ハードディスクや半導体メモリのような記憶装置であり、この装置内には上述したプログラムやデータが記録され、実行時に、必要に応じてそこからRAM1402にロードされる。例えば、また、上述のように、関連詞辞書1115や比較結果データ1125等も記憶されうる。
外部記録媒体インタフェース1414は、外部記録媒体1510にアクセスして、そこに記録されているデータを読み取る。外部記録媒体1510は、例えば、可搬型のフラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)などである。CPU1401で実行され、本発明の各機能を実現するためのプログラムは、この外部記録媒体インタフェース1414を介して外部記録媒体1510から提供されうる。また、本発明の各機能を実現するためのプログラムの他の流通形態としては、ネットワーク上の所定のサーバから、ネットワーク1500及びネットワークインタフェース1404を介して外部記憶装置1413やRAM1402に格納されるというルート等も考えられる。
本発明の一実施形態に係る情報更新装置のハードウェア構成について、一例を説明したが、図23に示す検索処理装置1600やユーザ端末1700のハードウェア構成も基本的に、図25に示す構成と同様である。ただし、ここで、情報更新装置1400及び検索処理装置1600に関しては、オーディオ制御部1405、マイクロフォン1406、スピーカ1407、ディスプレイコントローラ1408、ディスプレイ1409、入力機器インタフェース1410、キーボード1411、及びマウス1412は必須の構成要素ではない。また、ユーザ端末1700に関しては、ディスプレイ1702はディスプレイ1409に相当するものであり、オーディオ制御部1405、マイクロフォン1406、及びスピーカ1407は必須の構成要素ではない。
ここまで、本発明の一実施形態に係る情報更新装置について、本発明を実施することができるいくつかの実施例を示しながら説明してきたが、これらの実施例は本発明を説明するための一例に過ぎず、本発明の権利範囲はこれらの実施例に限定されることはない。これらの実施例以外の様々な方法や構成によって、本発明の技術的思想を実現することができる。