以下、図面を参照しつつ本発明の実施形態を説明する。
<第1実施形態>
図1は、本発明の第1実施形態である検索ニーズ評価装置20を含む評価システム1の全体構成を示す図である。図1示すように、評価システム1は、利用者端末10、及び検索ニーズ評価装置20を有する。利用者端末10、及び検索ニーズ評価装置20は、インターネット90を介して接続されている。インターネット90には、検索エンジンサーバ装置50が接続されている。
検索エンジンサーバ装置50は、検索エンジンサービスを提供する役割を果たす装置である。検索エンジンサーバ装置50は、インターネット90を巡回し、インターネット90上に文書データ(HTML(Hyper Text Markup Language)などのマークアップ言語により記述されたデータ)として散在するwebページから得た情報をインデクシングする巡回処理と、検索者のコンピュータから検索語を含むHTTP(Hyper Text Transfer Protocol)リクエスト(検索クエリ)を受信し、検索クエリ内の検索語を用いて検索したwebページのタイトル、URL(Uniform Resource Locator)、スニペット(Snippet)のセットを上位(順位が高い)のものから順に配した検索結果を返信する検索処理とを行う。図1では、検索エンジンサーバ装置50が1つだけ図示されているが、検索エンジンサーバ装置50の数は複数であってもよい。
利用者端末10は、パーソナルコンピュータである。利用者端末10のユーザには、固有のIDとパスワードが付与されている。ユーザは、自らの利用者端末10から検索ニーズ評価装置20にアクセスして認証手続を行い、検索ニーズ評価装置20のサービスを利用する。図1では、利用者端末10が1つだけ図示されているが、評価システム1における利用者端末10の数は複数であってもよい。
検索ニーズ評価装置20は、検索ニーズ評価サービスを提供する役割を果たす装置である。検索ニーズ評価サービスは、ユーザから評価対象の検索語を受け取り、その検索語の検索結果内の上位d(dは2以上の自然数)個のwebページを、所定の統計的分類処理のアルゴリズムにより分類し、この分類により得られた複数のwebページの集合を解析結果として提示するサービスである。
図1に示すように、検索ニーズ評価装置20は、通信インターフェース21、CPU(Central Processing Unit)22、RAM(Random Access Memory)23、ROM(Read Only Memory)24、ハードディスク25を有する。通信インターフェース21は、インターネット90に接続された装置との間でデータを送受信する。CPU22は、RAM23をワークエリアとして利用しつつ、ROM24やハードディスク25に記憶された各種プログラムを実行する。ROM24には、IPL(Initial Program Loader)などが記憶されている。ハードディスク25には、本実施形態に特有の機能を有する評価プログラム26が記憶されている。
次に、本実施形態の動作について説明する。図2は、検索ニーズ評価装置20のCPU22が評価プログラム26に従って実行する評価方法の流れを示すフローチャートである。CPU22は、評価プログラム26を実行することで、取得処理(S100)を実行する取得手段、定量化処理(S200)を実行する定量化手段、加算処理を実行する加算手段(S210)、次元縮約処理(S300)を実行する次元縮約手段、クラスタリング処理(S310)を実行する分類手段、解析結果出力処理(S400)を実行する解析結果出力手段、及び評価軸設定処理(S450)を実行する評価軸設定手段として機能する。
ステップS100の取得処理では、CPU22は、利用者端末10から評価対象の検索語を受け取り、評価対象の検索語に基づく検索結果内の上位d個のwebページの文書データDk(k=1〜d、kは順位を示すインデックス)を取得する。文書データDk(k=1〜d)は、検索結果内の第k位のwebページの内容及び構造をHTMLにより記述したものである。以下では、書データDk(k=1〜d)を、適宜、文書データD1、D2・・・Ddと記す。
ステップS200の定量化処理は、文書内容定量化処理(S201)と文書構造定量化処理(S202)とを有する。文書内容定量化処理は、文書データD1、D2・・・Ddの内容をn(nは2以上の自然数)次元の特徴ベクトルデータに変換する処理である。文書構造定量化処理は、文書データD1、D2・・・Ddの構造をm(mは2以上の自然数)次元の特徴ベクトルデータに変換する処理である。以下では、文書データD1、D2・・・Ddの各々の内容のn次元の特徴ベクトルデータを、特徴ベクトルデータx1={x11、x12・・・x1n}、x2={x21、x22・・・x2n}・・・xd={xd1、xd2・・・xdn}と記す。また、文書データD1、D2・・・Ddの各々の構造のm次元の特徴ベクトルデータを、特徴ベクトルデータy1={y11、y12・・・y1m}、y2={y21、y22・・・y2m}・・・yd={yd1、yd2・・・ydm}と記す。
より詳細に説明すると、文書内容定量化処理では、CPU22は、文書データD1を、Bag of Words(BoW)、dmpv(Distributed Memory)、DBoW(Distributed BoW)などのアルゴリズムに従って多次元ベクトル化し、この処理結果を、特徴ベクトルデータx1={x11、x12・・・x1n}、x2={x21、x22・・・x2n}・・・xd={xd1、xd2・・・xdn}とする。CPU22は、文書データD2・・Ddについて、同様のアルゴリズムに従って多次元ベクトル化し、この処理結果を、文書データD2・・Ddの各々の特徴ベクトルデータx2={x21、x22・・・x2n}・・・xd={xd1、xd2・・・xdn}とする。ここで、dmpv、及びDBoWは、Doc2Vecの一種である。
文書構造定量化処理では、CPU22は、文書データD1を、隠れマルコフモデル(HMM)、確率的文脈自由文法(PCFGP)、Recurrent Neural Network、Recursive Neural Networkなどのアルゴリズムに従って多次元ベクトル化し、この処理結果を、文書データD1の特徴ベクトルデータy1={y11、y12・・・y1m}とする。CPU22は、文書データD2・・Ddについて、同様のアルゴリズムに従って多次元ベクトル化し、この処理結果を、文書データD2・・Ddの各々の特徴ベクトルデータy2={y21、y22・・・y2m}・・・yd={yd1、yd2・・・ydm}とする。
ステップS210の加算処理は、ステップS201の処理結果とステップS202の処理結果を加算し、l(l=n+m)次元の特徴ベクトルデータを出力する処理である。以下では、文書データD1、D2・・・Ddの各々についての加算処理により得られるl次元の特徴ベクトルデータを、特徴ベクトルデータz1={z11、z12・・・z1l}、z2={z21、z22・・・z2l}・・・zd={zd1、zd2・・・zdl}と記す。
ステップS300の次元縮約処理は、特徴ベクトルデータz1={z11、z12・・・z1l}、z2={z21、z22・・・z2l}・・・zd={zd1、zd2・・・zdl}を、オートエンコーダや主成分分析などのアルゴリズムに従って、より次元数の少ないl’次元の特徴ベクトルデータに次元縮約する処理である。以下では、文書データD1、D2・・・Ddの各々についての次元縮約により得られるl’次元の特徴ベクトルデータを、特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}と記す。
ステップS310のクラスタリング処理は、文書データD1、D2・・・Ddをクラスタと称する複数の部分集合(塊)に分類する統計的分類処理である。クラスタリング処理では、CPU22は、文書データD1、D2・・・Ddの特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}にクラスタリングの最短距離法のアルゴリズムに従った処理を施し、文書データD1、D2・・・Ddを複数のクラスタに分類する。
クラスタリングの最短距離法の詳細を説明する。図3(A)、図3(B)、図3(C)、及び図3(D)は、文書データDkの数dがd=9であり、次元数l’がl’=2の場合の分類例を示す図である。クラスタリングでは、文書データDk(k=1〜d)内における2つの文書データDkの全ての組み合わせについて、当該2つの文書データDk間の距離を求める。2つの文書データDk間の距離は、ユークリッド距離であってもよいし、ミンコフスキー距離であってもよいし、マハラノビス距離であってもよい。
図3(A)に示すように、互いの距離が最も近い2つの文書データDk(図3(A)の例ではD1とD2)を第1のクラスタとして括る。クラスタを括った後、そのクラスタの代表点R(重心)を求め、代表点Rとクラスタ外の文書データDk(図3(A)の例では、文書データD3、D4、D5、D6、D7、D8、D9)との距離を求める。
図3(B)に示すように、クラスタ外の2つの文書データDkであって互いの距離が代表点Rとの距離よりも短いもの(図3(B)の例では、文書データD3、D4)があれば、その2つの文書データDkを新たなクラスタとして括る。また、図3(C)に示すように、2つのクラスタであって互いの代表点Rの距離がクラスタ外の文書データDkとの距離よりも短いもの(図3(C)の例では、文書データD1及びD2のクラスタと文書データD3及びD4のクラスタ)があれば、その2つのクラスタを新たなクラスタとして括る。図3(D)に示すように、以上の処理を再帰的に繰り返し、階層構造をもった複数のクラスタを生成する。
図2において、ステップS400の解析結果出力処理は、クラスタ間の関係に基づいて、評価対象の検索語に関わる検索のニーズの性質の解析結果を出力する処理である。図2に示すように、解析結果出力処理では、CPU22は、利用者端末10に解析結果画面のHTMLデータを送信し、利用者端末10のディスプレイに解析結果画面を表示させる。解析結果画面は、上位ページ分類とデンドログラム8とを有する。上位ページ分類は、評価対象の検索語に基づく検索結果内の上位d個のwebページの要約(タイトル、スニペット)を内部に記した枠Fk(k=1〜d)を5つずつマトリクス状に並べたものである。図2では、第1位〜第10位のwebページの枠F1〜F10だけが表示されているが、スクロールバーの操作により、第11位以降のwebページの枠Fkを出現させることもできる。上位ページ分類におけるwebページの枠Fk(k=1〜d)は、クラスタリングにより同じクラスタに振り分けられたものが同じ色になるように、色分け表示されている。簡便のため、図2では、第1の色の枠Fk(図2の例では、1位の枠F1、3位の枠F3、4位の枠F4、5位の枠F5、7位の枠F7、10位の枠F10)を細線で、第2の色の枠Fk(図2の例では、2位の枠F2、8位の枠F8、9位の枠F9)を太線で、第3の色の枠Fk(図2の例では、6位の枠F6)を鎖線で示している。デンドログラム8は、クラスタリングの処理過程において得られたクラスタの階層構造を示すものである。
ステップS450の評価軸設定処理は、クラスタリング処理の評価軸を設定する処理である。図4(A)に示すように、解析結果画面のデンドログラム8上には、評価軸設定バー9がある。評価軸設定バー9は、クラスタリング処理におけるクラスタの数を指定する役割を果たすものである。評価軸設定バー9は、利用者端末10のポインティングデバイスの操作により、上下に移動できるようになっている。ユーザは、分類の粒度を粗くした解析結果を得たい場合は、評価軸設定バー9を上(上位階層)側に移動させる。また、ユーザは、分類の粒度を細かくした解析結果を得たい場合は、評価軸設定バー9を下(下位階層)側に移動させる。ユーザにより、評価軸設定バー9を移動させる操作が行われると、CPU22は、移動後の評価軸設定バー9とデンドログラム8の縦線との交差位置を新たな設定とし、この新たな設定に基づいてクラスタリング処理を実行し、クラスタリング処理の処理結果を含む解析結果を出力する。
以上が、本実施形態の詳細である。本実施形態によると、次の効果が得られる。
第1に、本実施形態では、図5に示すように、CPU22は、評価対象である1つの検索語の検索結果内の上位d個の文書データD1、D2・・・Ddの内容及び構造を特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}に変換し、特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}にクラスタリングの処理を施し、文書データD1、D2・・・Ddを複数の部分集合(クラスタ)に分類する。CPU22は、文書データD1、D2・・・Ddのクラスタリングの処理結果である複数の部分集合間の関係に基づいて、検索のニーズの性質の解析結果を出力する。よって、本実施形態によると、検索語の言葉に異なるニーズがどの程度混在していて、ニーズの性質がどのようなものであるか、ということの解析を効率よく行うことができる。
第2に、本実施形態では、上位ページ分類が解析結果として出力される。上位ページ分類におけるwebページの情報は、クラスタリングにより同じ部分集合(クラスタ)に振り分けられたものが同じ色になるように、色分け表示されている。本実施形態では、この上位ページ分類により、評価対象の検索語についてのニーズの性質のばらつき度合を可視化することができる。本実施形態によると、検索結果内の上位のwebページと下位のwebページとの相違点から上位のwebページがなぜ上位になっているのかを検証する場合において、検索のニーズの性質が同じwebページ同士を比較することができる。従って、本実施形態では、上位のwebページをより効率的に検証することができる。
第3に、本実施形態では、デンドログラム8が解析結果として出力される。このデンドログラム8における評価軸設定バー9を動かす操作がされると、評価軸設定バー9とデンドログラム8の縦線との交差位置を新たな設定とし、この新たな設定に基づいてクラスタリング処理を実行し、クラスタリング処理の処理結果を含む解析結果を出力する。従って、本実施形態によると、ユーザは、上位ページ分類における分類の粒度を自らの意向にマッチするように調整できる。
<第2実施形態>
本発明の第2実施形態を説明する。図6は、第2実施形態の検索ニーズ評価装置20のCPU22が評価プログラム26に従って実行する評価方法の流れを示すフローチャートである。CPU22は、評価プログラム26を実行することで、取得処理(S100)を実行する取得手段、定量化処理(S200)を実行する定量化手段、加算処理を実行する加算手段(S210)、次元縮約処理(S300)を実行する次元縮約手段、クラス分類処理(S311)を実行する分類手段、及び解析結果出力処理(S400)を実行する解析結果出力手段として機能する。取得処理、定量化処理、加算処理、及び次元縮約処理の内容は、第1実施形態と同様である。
図6と第1実施形態の図2とを比較すると、図6では、ステップS310のクラスタリング処理がステップS311のクラス分類処理に置き換わっている。
ステップS311のクラス分類処理は、文書データD1、D2・・・Ddをクラスと称する複数の部分集合(塊)に分類する統計的分類処理である。クラス分類処理では、CPU22は、文書データD1、D2・・・Ddの特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}にクラス分類のアルゴリズムに従った処理を施し、文書データD1、D2・・・Ddを複数のクラスに分類する。
クラス分類の詳細を説明する。クラス分類では、次式(1)に示す線形分類器f(z)の重み係数w0、w1、w2・・・wdを既知のクラスの特徴ベクトルデータ群を用いた機械学習により設定し、線形分類器f(z)に文書データD1、D2・・・Ddの特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}を代入し、この結果に基づいて、文書データD1、D2・・・Ddのクラスを決定する。
f(z)=w0+w1z1+w2z2+・・・+wdzd・・・(1)
図7(A)は、クラスの数がクラスAとクラスBの2つであり、次元数l’がl’=2の場合におけるクラス分類の例を示す図である。機械学習では、教師データとなる特徴ベクトルデータ群(図7(A)の例では、クラスAの教師データであることを示すラベル情報と対応付けられた特徴ベクトルデータ群、及びクラスBの教師データであることを示すラベル情報と対応付けられた特徴ベクトルデータ群)を準備する。
次に、線形分類器f(z)(図7(A)の例では、2次元の線形分類器f(z)=w0+w1z1+w2z2)の重み係数を初期化する。その後、教師データを線形分類器f(z)に代入し、代入結果がラベル情報の示すクラスと違っていれば、重み係数を更新し、代入結果がラベル情報の示すクラスと合っていれば、線形分類器f(z)への代入が済んでいない別の教師データを選択する、という処理を繰り返し、重み係数を最適化する。
機械学習による重み係数の最適化の後、CPU22は、文書データD1の特徴ベクトルデータz1={z11、z12}を線形分類器f(z)に代入して文書データD1が属するクラスを決定し、文書データD2の特徴ベクトルデータz2={z21、z22}を線形分類器f(z)に代入して文書データD2が属するクラスを決定し・・・文書データDdの特徴ベクトルデータzd={zd1、zd2}を線形分類器f(z)に代入して文書データDnが属するクラスを決定する、というようにして、文書データD1、D2・・・Ddを複数のクラスに分類する。
図6におけるステップS400の解析結果出力処理は、クラス間の関係に基づいて、評価対象の検索語に関わる検索のニーズの解析結果を出力する処理である。図6に示すように、解析結果出力処理では、CPU22は、利用者端末10に解析結果画面のHTMLデータを送信し、利用者端末10のディスプレイに解析結果画面を表示させる。解析結果画面は、上位ページ分類を有する。図6の上位ページ分類におけるwebページの枠Fk(k=1〜d)は、同じクラスに属するものの枠Fkが同じ色になるように、色分け表示されている。
ステップS450の評価軸設定処理は、クラス分類処理の評価軸を設定する処理である。図7(B)及び図7(C)に示すように、ユーザは、線形分類器f(z)の教師データを別のもの(図7(B)の例では、クラスA、クラスB1、及びクラスB2の教師データ、図7(C)の例では、クラスC及びクラスDの教師データ)に置き換える。ユーザにより、教師データを置き換える操作が行われると、CPU22は、置き換え後の教師データを用いた機械学習により線形分類器f(z)の重み係数を最適化し、線形分類器f(z)により、文書データD1、D2・・・Ddが属するクラスを決定する。
以上が、本実施形態の詳細である。本実施形態では、図8に示すように、CPU22は、評価対象である1つの検索語の検索結果内の上位d個の文書データD1、D2・・・Ddの内容及び構造を特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}に変換し、特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}にクラス分類の処理を施し、文書データD1、D2・・・Ddを複数の部分集合(クラス)に分類する。CPU22は、文書データD1、D2・・・Ddのクラス分類の処理結果である複数の部分集合間の関係に基づいて、検索のニーズの性質の解析結果を出力する。本実施形態によっても、第1実施形態と同様の効果が得られる。
<第3実施形態>
本発明の第3実施形態を説明する。図9は、第3実施形態の検索ニーズ評価装置20のCPU22が評価プログラム26に従って実行する評価方法の流れを示すフローチャートである。CPU22は、評価プログラム26を実行することで、取得処理(S100)を実行する取得手段、定量化処理(S200)を実行する定量化手段、加算処理を実行する加算手段(S210)、類似度特定処理(S320)を実行する類似度特定手段、コミュニティ検出処理(S330)を実行するコミュニティ検出手段、解析結果出力処理(S400)を実行する解析結果出力手段、及び評価軸設定処理(S450)を実行する評価軸設定手段として機能する。
図9と第1実施形態の図2とを比較すると、図9では、図2のステップS330の次元縮約処理が無い。本実施形態では、文書データD1、D2・・・Ddの特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}を処理対象として、ステップS320の類似度特定処理及びステップS330のコミュニティ検出処理を実行する。
ステップS320の類似度特定処理は、文書データDk間の類似度を求める処理である。類似度特定処理では、文書データDk(k=1〜d)内における2つの文書データDkの全ての組み合わせについて、文書データDk間の相関係数を求め、この相関係数を文書データDk間の類似度とする。相関係数は、ピアソンの相関係数であってもよいし、スパース性を考慮した相関係数であってもよい。また、文書データDk間の分散共分散行列、ユークリッド距離、ミンコフスキー距離、又は、COS類似度を、文書データDk間の類似度としてもよい。
ステップS330のコミュニティ検出処理は、文書データD1、D2・・・Ddをコミュニティと称する複数の部分集合に分類する統計的分類処理である。コミュニティ検出処理では、CPU22は、文書データD1、D2・・・Ddの特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}にコミュニティ検出のアルゴリズムに従った処理を施し、文書データD1、D2・・・Ddを複数のコミュニティに分類する。
コミュニティ検出の詳細を説明する。コミュニティ検出は、クラスタリングの一種である。コミュニティ検出では、文書データD1、D2・・・Ddの各々をノードとし、文書データDk間の類似度を重みとしたエッジを持つ重み付き無向グラフを生成する。その上で、重み付き無向グラフにおける各ノードの媒介中心性の算出と、媒介中心性が最大のエッジの除去とを繰り返すことにより、文書データD1、D2・・・Ddを階層構造をもった複数のコミュニティに分類する。
ステップS400の解析結果出力処理は、コミュニティ間の関係に基づいて、評価対象の検索語に関わる検索のニーズの解析結果を出力する処理である。図9に示すように、解析結果出力処理では、CPU22は、利用者端末10に解析結果画面のHTMLデータを送信し、利用者端末10のディスプレイに解析結果画面を表示させる。解析結果画面は、上位ページ分類とデンドログラム8とを有する。図9の上位ページ分類におけるwebページの枠Fk(k=1〜d)は、同じコミュニティに属するものの枠Fkが同じ色になるように、色分け表示されている。デンドログラム8は、コミュニティ検出処理の処理過程において得られたコミュニティの階層構造を示すものである。
ステップS450の評価軸設定処理の内容は、第1実施形態と同様である。
以上が、本実施形態の詳細である。本実施形態では、図10に示すように、CPU22は、評価対象である1つの検索語の検索結果内の上位d個の文書データD1、D2・・・Ddの内容及び構造を特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}に変換し、特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}に類似度特定とコミュニティ検出の処理を施し、文書データD1、D2・・・Ddを複数の部分集合(コミュニティ)に分類する。CPU22は、文書データD1、D2・・・Ddのコミュニティ検出の処理結果である複数の部分集合間の関係に基づいて、検索のニーズの性質の解析結果を出力する。本実施形態によっても、第1実施形態と同様の効果が得られる。
<第4実施形態>
本実施形態の第4実施形態を説明する。上記第1〜第3実施形態の検索ニーズ評価サービスは、ユーザから1つの検索語を受け取り、その検索語の検索結果内の上位d個のwebページを、所定の統計的分類処理のアルゴリズムにより分類し、この分類により得られた複数のwebページの集合を解析結果として提示するものであった。これに対し、本実施形態は、ユーザから、核ワードと様々なサブワードとを組み合わせた複数の検索語A、B、C・・・(例えば、「AI 知能」、「AI 人工」、「AI データ」・・・など)受け取り、受け取った複数の検索語A、B、C・・・の各々の上位d個の文書データ群を、所定の統計的分類処理のアルゴリズムにより分類し、この分類により得られた複数の文書データの集合を、核ワードである検索語自体の検索のニーズの性質の解析結果として提示するものである。
図11は、第4実施形態の検索ニーズ評価装置20のCPU22が評価プログラム26に従って実行する評価方法の流れを示すフローチャートである。CPU22は、評価プログラム26を実行することで、取得処理(S100)を実行する取得手段、定量化処理(S200)を実行する定量化手段、加算処理を実行する加算手段(S210)、合成処理(S250)を実行する合成手段、次元縮約処理(S300)を実行する次元縮約手段、クラスタリング処理(S310)を実行する分類手段、解析結果出力処理(S401)を実行する解析結果出力手段として機能する。
図11と第1実施形態の図2とを比較すると、図11では、ステップS100の取得処理において、CPU22は、利用者端末10から、複数の検索語A、B、C・・・を受け取り、複数の検索語A、B、C・・・の各々について、検索語毎の検索結果内の上位d個のwebページの文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・を取得する。この後、CPU22は、検索語毎の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・について、ステップS200の定量化処理、及びステップS210の加算処理を実行し、検索語Aの上位文書についての処理結果である特徴ベクトルデータzA1={zA11、zA12・・・zA1l}、zA2={zA21、zA22・・・zA2l}・・・zAd={zAd1、zAd2・・・zAdl}、検索語Bの上位文書についての処理結果である特徴ベクトルデータzB1={zB11、zB12・・・zB1l}、zB2={zB21、zB22・・・zB2l}・・・zBd={zBd1、zBd2・・・zBdl}、検索語Cの上位文書についての処理結果である特徴ベクトルデータzC1={zC11、zC12・・・zC1l}、zC2={zC21、zC22・・・zC2l}・・・zCd={zCd1、zCd2・・・zCdl}・・・を個別に生成する。
図11では、ステップS210の加算処理とステップS300の次元縮約処理の間にステップS250の合成処理がある。合成処理では、CPU22は、検索語Aの上位文書特徴ベクトルデータzA1={zA11、zA12・・・zA1l}、zA2={zA21、zA22・・・zA2l}・・・zAd={zAd1、zAd2・・・zAdl}、検索語Bの上位文書特徴ベクトルデータzB1={zB11、zB12・・・zB1l}、zB2={zB21、zB22・・・zB2l}・・・zBd={zBd1、zBd2・・・zBdl}、検索語Cの上位文書特徴ベクトルデータzC1={zC11、zC12・・・zC1l}、zC2={zC21、zC22・・・zC2l}・・・zCd={zCd1、zCd2・・・zCdl}・・・に所定の統計処理を施し、検索語Aの上位文書特徴ベクトルデータzA1={zA11、zA12・・・zA1l}、zA2={zA21、zA22・・・zA2l}・・・zAd={zAd1、zAd2・・・zAdl}を合成した特徴ベクトルデータzA={zA1、zA2・・・zAl}、検索語Bの上位文書特徴ベクトルデータzB1={zB11、zB12・・・zB1l}、zB2={zB21、zB22・・・zB2l}・・・zBd={zBd1、zBd2・・・zBdl}を合成した特徴ベクトルデータzB={zB1、zB2・・・zBl}、検索語Cの上位文書特徴ベクトルデータzC1={zC11、zC12・・・zC1l}、zC2={zC21、zC22・・・zC2l}・・・zCd={zCd1、zCd2・・・zCdl}を合成した特徴ベクトルデータzC={zC1、zC2・・・zCl}・・・を個別に生成する。
この後、CPU22は、検索語Aの特徴ベクトルデータzA={zA1、zA2・・・zAl’}、検索語Bの特徴ベクトルデータzB={zB1、zB2・・・zBl’}、検索語Cの特徴ベクトルデータzC={zC1、zC2・・・zCl’}・・・を処理対象として、ステップS310のクラスタリング処理、及びステップS401の解析結果出力処理を実行する。すなわち、本実施形態では、検索語毎にクラスタリングをするのではなく、全ての文書をまとめてクラスタリングを行う。
図11のステップS401の解析結果出力処理では、利用者端末10のディスプレイに解析結果画面を表示させる。解析結果画面は、マッピング画像7を有する。マッピング画像7は、2次元平面に、複数の検索語A、B、C・・・の各々の位置を示すマークMK1、MK2・・・MKLを配置したものである。マッピング画像7は、ステップS250、S300、及びS310の処理結果に基づいて生成される。
以上が、本実施形態の詳細である。本実施形態では、図12に示すように、CPU22は、評価対象である複数の検索語A、B、C・・・の各々について、検索語毎の検索結果内の上位d個の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・を取得し、検索語毎の検索結果内の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・の内容及び構造を多次元の特徴ベクトルデータzA1、zA2・・・zAd、zB1、zB2・・・zBd、zC1、zC2・・・zCd・・・に変換し、文書毎の特徴ベクトルデータに所定の統計処理を施し、検索語毎の特徴ベクトルデータを合成する。その上で、合成した特徴ベクトルデータzA、zB、zC・・・にクラスタリングの処理を施し、検索語A、検索語B、検索語C・・・を複数の部分集合(クラスタ)に分類し、クラスタリングの処理結果である複数の部分集合間の関係に基づいて、検索のニーズの性質の解析結果であるマッピング画像7を出力する。よって、本実施形態によると、マッピング画像7を参照することにより、共通の言葉を含む様々な検索語に関わる検索のニーズの性質がどの程度近いのかを直感的に把握することができる。よって、本実施形態によっても、検索語の言葉に異なるニーズがどの程度混在していて、ニーズの性質がどのようなものであるか、ということの解析を効率よく行うことができる。
<第5実施形態>
本発明の第5実施形態を説明する。図13は、第5実施形態の検索ニーズ評価装置20のCPU22が評価プログラム26に従って実行する評価方法の流れを示すフローチャートである。CPU22は、評価プログラム26を実行することで、取得処理(S100)を実行する取得手段、定量化処理(S200)を実行する定量化手段、加算処理を実行する加算手段(S210)、次元縮約処理(S300)を実行する次元縮約手段、クラスタリング処理(S310)を実行する分類手段、合成処理(S350)を実行する合成手段、解析結果出力処理(S401)を実行する解析結果出力手段として機能する。
図13と第4実施形態の図11とを比較すると、図13では、図11のステップS250の合成処理が無く、ステップS310とステップS401の間にステップS350の合成処理がある。本実施形態では、CPU22は、検索語Aの上位文書特徴ベクトルデータzA1={zA11、zA12・・・zA1l}、zA2={zA21、zA22・・・zA2l}・・・zAd={zAd1、zAd2・・・zAdl}、検索語Bの上位文書特徴ベクトルデータzB1={zB11、zB12・・・zB1l}、zB2={zB21、zB22・・・zB2l}・・・zBd={zBd1、zBd2・・・zBdl}、検索語Cの上位文書特徴ベクトルデータzC1={zC11、zC12・・・zC1l}、zC2={zC21、zC22・・・zC2l}・・・zCd={zCd1、zCd2・・・zCdl}・・・を処理対象として、ステップS300の次元縮約処理及びステップS310のクラスタリング処理を実行し、文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・のクラスタリング処理の処理結果を取得する。ステップS350の合成処理では、CPU22は、文書毎のクラスタリングの処理結果に所定の統計処理を施し、検索語毎のクラスタリングの処理結果を合成する。
図13のステップS401の解析結果出力処理では、利用者端末10のディスプレイに解析結果画面を表示させる。図19の解析結果画面のマッピング画像7は、ステップS300、S310、及びS350の処理結果に基づいて生成される。
以上が、本実施形態の構成の詳細である。本実施形態では、図14に示すように、CPU22は、評価対象である複数の検索語A、B、C・・・の各々について、検索語毎の検索結果内の上位d個の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・を取得し、検索語毎の検索結果内の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・の内容及び構造を多次元の特徴ベクトルデータzA1、zA2・・・zAd、zB1、zB2・・・zBd、zC1、zC2・・・zCd・・・に変換し、文書毎の特徴ベクトルデータにクラスタリングのアルゴリズムに従った処理を施し、複数の文書データを複数の部分集合に分類する。その上で、クラスタリングの処理結果に所定の統計処理を施し、検索語毎のクラスタリングの処理結果を合成し、合成した部分集合間の関係に基づいて、検索のニーズの性質の解析結果を出力する。本実施形態によっても、第4実施形態と同様の効果が得られる。
<第6実施形態>
本実施形態の第6実施形態を説明する。図15は、第6実施形態の検索ニーズ評価装置20のCPU22が評価プログラム26に従って実行する評価方法の流れを示すフローチャートである。CPU22は、評価プログラム26を実行することで、取得処理(S100)を実行する取得手段、定量化処理(S200)を実行する定量化手段、加算処理を実行する加算手段(S210)、合成処理(S250)を実行する合成手段、次元縮約処理(S300)を実行する次元縮約手段、クラス分類処理(S311)を実行する分類手段、解析結果出力処理(S401)を実行する解析結果出力手段として機能する。
図15と第2実施形態の図6とを比較すると、図15では、ステップS100の取得処理において、CPU22は、利用者端末10から、複数の検索語A、B、C・・・を受け取り、複数の検索語A、B、C・・・の各々について、検索語毎の検索結果内の上位d個のwebページの文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・を取得する。この後、CPU22は、検索語毎の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・について、ステップS200の定量化処理、及びステップS210の加算処理を実行し、検索語Aの上位文書についての処理結果である特徴ベクトルデータzA1={zA11、zA12・・・zA1l}、zA2={zA21、zA22・・・zA2l}・・・zAd={zAd1、zAd2・・・zAdl}、検索語Bの上位文書についての処理結果である特徴ベクトルデータzB1={zB11、zB12・・・zB1l}、zB2={zB21、zB22・・・zB2l}・・・zBd={zBd1、zBd2・・・zBdl}、検索語Cの上位文書についての処理結果である特徴ベクトルデータzC1={zC11、zC12・・・zC1l}、zC2={zC21、zC22・・・zC2l}・・・zCd={zCd1、zCd2・・・zCdl}・・・を個別に生成する。
図15では、ステップS210の加算処理とステップS300の次元縮約処理の間にステップS250の合成処理がある。合成処理では、CPU22は、検索語Aの上位文書特徴ベクトルデータzA1={zA11、zA12・・・zA1l}、zA2={zA21、zA22・・・zA2l}・・・zAd={zAd1、zAd2・・・zAdl}、検索語Bの上位文書特徴ベクトルデータzB1={zB11、zB12・・・zB1l}、zB2={zB21、zB22・・・zB2l}・・・zBd={zBd1、zBd2・・・zBdl}、検索語Cの上位文書特徴ベクトルデータzC1={zC11、zC12・・・zC1l}、zC2={zC21、zC22・・・zC2l}・・・zCd={zCd1、zCd2・・・zCdl}・・・に所定の統計処理を施し、検索語Aの上位文書特徴ベクトルデータzA1={zA11、zA12・・・zA1l}、zA2={zA21、zA22・・・zA2l}・・・zAd={zAd1、zAd2・・・zAdl}を合成した検索語Aの特徴ベクトルデータzA={zA1、zA2・・・zAl}、検索語Bの上位文書特徴ベクトルデータzB1={zB11、zB12・・・zB1l}、zB2={zB21、zB22・・・zB2l}・・・zBd={zBd1、zBd2・・・zBdl}を合成した検索語Bの特徴ベクトルデータzB={zB1、zB2・・・zBl}、検索語Cの上位文書特徴ベクトルデータzC1={zC11、zC12・・・zC1l}、zC2={zC21、zC22・・・zC2l}・・・zCd={zCd1、zCd2・・・zCdl}を合成した検索語Cの特徴ベクトルデータzC={zC1、zC2・・・zCl}・・・を個別に生成する。
この後、CPU22は、検索語Aの特徴ベクトルデータzA={zA1、zA2・・・zAl’}、検索語Bの特徴ベクトルデータzB={zB1、zB2・・・zBl’}、検索語Cの特徴ベクトルデータzC={zC1、zC2・・・zCl’}・・・を処理対象として、ステップS311のクラス分類処理、及びステップS401の解析結果出力処理を実行する。すなわち、本実施形態では、検索語毎にクラス分類をするのではなく、全ての文書をまとめてクラス分類を行う。
図15のステップS401の解析結果出力処理では、利用者端末10のディスプレイに解析結果画面を表示させる。図15の解析結果画面のマッピング画像7は、ステップS250、S300、及びS311の処理結果に基づいて生成される。
以上が、本実施形態の詳細である。本実施形態では、図16に示すように、CPU22は、評価対象である複数の検索語A、B、C・・・の各々について、検索語毎の検索結果内の上位d個の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・を取得し、検索語毎の検索結果内の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・の内容及び構造を多次元の特徴ベクトルデータzA1、zA2・・・zAd、zB1、zB2・・・zBd、zC1、zC2・・・zCd・・・に変換し、文書毎の特徴ベクトルデータに所定の統計処理を施し、検索語毎の特徴ベクトルデータを合成する。その上で、合成した特徴ベクトルデータzA、zB、zC・・・にクラス分類の処理を施し、検索語A、B、C・・・を複数の部分集合(クラス)に分類し、クラス分類の処理結果である複数の部分集合間の関係に基づいて、検索のニーズの性質の解析結果を出力する。本実施形態によっても、第4実施形態と同様の効果が得られる。
<第7実施形態>
本発明の第7実施形態を説明する。図17は、第7実施形態の検索ニーズ評価装置20のCPU22が評価プログラム26に従って実行する評価方法の流れを示すフローチャートである。CPU22は、評価プログラム26を実行することで、取得処理(S100)を実行する取得手段、定量化処理(S200)を実行する定量化手段、加算処理を実行する加算手段(S210)、次元縮約処理(S300)を実行する次元縮約手段、クラス分類処理(S311)を実行する分類手段、合成処理(S350)を実行する合成手段、解析結果出力処理(S401)を実行する解析結果出力手段として機能する。
図17と第6実施形態の図15とを比較すると、図17では、図15のステップS250の合成処理が無く、ステップS311とステップS401の間にステップS350の合成処理がある。本実施形態では、CPU22は、検索語Aの上位文書特徴ベクトルデータzA1={zA11、zA12・・・zA1l}、zA2={zA21、zA22・・・zA2l}・・・zAd={zAd1、zAd2・・・zAdl}、検索語Bの上位文書特徴ベクトルデータzB1={zB11、zB12・・・zB1l}、zB2={zB21、zB22・・・zB2l}・・・zBd={zBd1、zBd2・・・zBdl}、検索語Cの上位文書特徴ベクトルデータzC1={zC11、zC12・・・zC1l}、zC2={zC21、zC22・・・zC2l}・・・zCd={zCd1、zCd2・・・zCdl}・・・を処理対象として、ステップS300の次元縮約処理及びステップS311のクラス分類処理を実行し、文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・のクラス分類処理の処理結果を取得する。ステップS350の合成処理では、CPU22は、文書毎のクラス分類の処理結果に所定の統計処理を施し、検索語毎のクラス分類の処理結果を合成する。
図17のステップS401の解析結果出力処理では、利用者端末10のディスプレイに解析結果画面を表示させる。図17の解析結果画面のマッピング画像7は、ステップS300、S311、及びS350の処理結果に基づいて生成される。
以上が、本実施形態の構成の詳細である。本実施形態では、図18に示すように、CPU22は、評価対象である複数の検索語A、B、C・・・の各々について、検索語毎の検索結果内の上位d個の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・を取得し、検索語毎の検索結果内の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・の内容及び構造を多次元の特徴ベクトルデータzA1、zA2・・・zAd、zB1、zB2・・・zBd、zC1、zC2・・・zCd・・・に変換し、文書毎の特徴ベクトルデータにクラス分類のアルゴリズムに従った処理を施し、検索語毎の検索結果内の複数の文書データを複数の部分集合に分類する。その上で、クラス分類の処理結果に所定の統計処理を施し、検索語毎のクラス分類の処理結果を合成し、合成した部分集合間の関係に基づいて、検索のニーズの性質の解析結果を出力する。本実施形態によっても、第4実施形態と同様の効果が得られる。
<第8実施形態>
本実施形態の第8実施形態を説明する。図19は、第8実施形態の検索ニーズ評価装置20のCPU22が評価プログラム26に従って実行する評価方法の流れを示すフローチャートである。CPU22は、評価プログラム26を実行することで、取得処理(S100)を実行する取得手段、定量化処理(S200)を実行する定量化手段、加算処理を実行する加算手段(S210)、合成処理(S250)を実行する合成手段、類似度特定処理(S320)を実行する類似度特定手段、コミュニティ検出処理(S330)を実行するコミュニティ検出手段、解析結果出力処理(S401)を実行する解析結果出力手段として機能する。
図19と第3実施形態の図9とを比較すると、図19では、図19では、ステップS100の取得処理において、CPU22は、利用者端末10から、複数の検索語A、B、C・・・を受け取り、複数の検索語A、B、C・・・の各々について、検索語毎の検索結果内の上位d個のwebページの文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・を取得する。この後、CPU22は、検索語毎の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・について、ステップS200の定量化処理、及びステップS210の加算処理を実行し、検索語Aの上位文書についての処理結果である特徴ベクトルデータzA1={zA11、zA12・・・zA1l}、zA2={zA21、zA22・・・zA2l}・・・zAd={zAd1、zAd2・・・zAdl}、検索語Bの上位文書についての処理結果である特徴ベクトルデータzB1={zB11、zB12・・・zB1l}、zB2={zB21、zB22・・・zB2l}・・・zBd={zBd1、zBd2・・・zBdl}、検索語Cの上位文書についての処理結果である特徴ベクトルデータzC1={zC11、zC12・・・zC1l}、zC2={zC21、zC22・・・zC2l}・・・zCd={zCd1、zCd2・・・zCdl}・・・を個別に生成する。
図19では、ステップS210の加算処理とステップS300の次元縮約処理の間にステップS250の合成処理がある。合成処理では、CPU22は、検索語Aの上位文書特徴ベクトルデータzA1={zA11、zA12・・・zA1l}、zA2={zA21、zA22・・・zA2l}・・・zAd={zAd1、zAd2・・・zAdl}、検索語Bの上位文書特徴ベクトルデータzB1={zB11、zB12・・・zB1l}、zB2={zB21、zB22・・・zB2l}・・・zBd={zBd1、zBd2・・・zBdl}、検索語Cの上位文書特徴ベクトルデータzC1={zC11、zC12・・・zC1l}、zC2={zC21、zC22・・・zC2l}・・・zCd={zCd1、zCd2・・・zCdl}・・・に所定の統計処理を施し、検索語Aの上位文書特徴ベクトルデータzA1={zA11、zA12・・・zA1l}、zA2={zA21、zA22・・・zA2l}・・・zAd={zAd1、zAd2・・・zAdl}を合成した検索語Aの特徴ベクトルデータzA={zA1、zA2・・・zAl}、検索語Bの上位文書特徴ベクトルデータzB1={zB11、zB12・・・zB1l}、zB2={zB21、zB22・・・zB2l}・・・zBd={zBd1、zBd2・・・zBdl}を合成した検索語Bの特徴ベクトルデータzB={zB1、zB2・・・zBl}、検索語Cの上位文書特徴ベクトルデータzC1={zC11、zC12・・・zC1l}、zC2={zC21、zC22・・・zC2l}・・・zCd={zCd1、zCd2・・・zCdl}を合成した検索語Cの特徴ベクトルデータzC={zC1、zC2・・・zCl}・・・を個別に生成する。
この後、CPU22は、検索語Aの特徴ベクトルデータzA={zA1、zA2・・・zAl}、検索語Bの特徴ベクトルデータzB={zB1、zB2・・・zBl}、検索語Cの特徴ベクトルデータzC={zC1、zC2・・・zCl}・・・を処理対象として、ステップS320の類似度特定処理、ステップS330のコミュニティ検出処理、及びステップS401の解析結果出力処理を実行する。すなわち、本実施形態では、検索語毎に類似度特定及びコミュニティ検出をするのではなく、全ての文書をまとめて類似度特定及びコミュニティ検出を行う。
図19のステップS401の解析結果出力処理では、利用者端末10のディスプレイに解析結果画面を表示させる。図19の解析結果画面のマッピング画像7は、ステップS250、S320、及びS330の処理結果に基づいて生成される。
以上が、本実施形態の詳細である。本実施形態では、図20に示すように、CPU22は、評価対象である複数の検索語A、B、C・・・の各々について、検索語毎の検索結果内の上位d個の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・を取得し、検索語毎の検索結果内の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・の内容及び構造を多次元の特徴ベクトルデータzA1、zA2・・・zAd、zB1、zB2・・・zBd、zC1、zC2・・・zCd・・・に変換し、文書毎の特徴ベクトルデータに所定の統計処理を施し、検索語毎の特徴ベクトルデータを合成する。その上で、合成した特徴ベクトルデータzA、zB、zC・・・に類似度特定とコミュニティ検出の処理を施し、検索語A、B、C・・・を複数のコミュニティに分類し、コミュニティ検出の処理結果である複数のコミュニティ間の関係に基づいて、検索のニーズの性質の解析結果を出力する。本実施形態によっても、第4実施形態と同様の効果が得られる。
<第9実施形態>
本発明の第9実施形態を説明する。図21は、第9実施形態の検索ニーズ評価装置20のCPU22が評価プログラム26に従って実行する評価方法の流れを示すフローチャートである。CPU22は、評価プログラム26を実行することで、取得処理(S100)を実行する取得手段、定量化処理(S200)を実行する定量化手段、加算処理を実行する加算手段(S210)、類似度特定処理(S320)を実行する類似度特定手段、コミュニティ検出処理(S330)を実行するコミュニティ検出手段、合成処理(S350)を実行する合成手段、解析結果出力処理(S401)を実行する解析結果出力手段として機能する。
図21と第8実施形態の図19とを比較すると、図21では、図19のステップS250の合成処理が無く、ステップS330とステップS401の間にステップS350の合成処理がある。本実施形態では、CPU22は、検索語Aの上位文書の特徴ベクトルデータzA1={zA11、zA12・・・zA1l}、zA2={zA21、zA22・・・zA2l}・・・zAd={zAd1、zAd2・・・zAdl}、検索語Bの上位文書の特徴ベクトルデータzB1={zB11、zB12・・・zB1l}、zB2={zB21、zB22・・・zB2l}・・・zBd={zBd1、zBd2・・・zBdl}、検索語Cの上位文書の特徴ベクトルデータzC1={zC11、zC12・・・zC1l}、zC2={zC21、zC22・・・zC2l}・・・zCd={zCd1、zCd2・・・zCdl}・・・を処理対象として、ステップS320の類似度特定処理及びステップS330のコミュニティ検出処理を実行し、文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・のコミュニティ検出処理の処理結果を取得する。ステップS350の合成処理では、CPU22は、文書毎のコミュニティ検出の処理結果に所定の統計処理を施し、検索語毎のコミュニティ検出の処理結果を合成する。
図21のステップS401の解析結果出力処理では、利用者端末10のディスプレイに解析結果画面を表示させる。図21の解析結果画面のマッピング画像7は、ステップS320、S330、及びS350の処理結果に基づいて生成される。
以上が、本実施形態の構成の詳細である。本実施形態では、図14に示すように、CPU22は、評価対象である複数の検索語A、B、C・・・の各々について、検索語毎の検索結果内の上位d個の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・を取得し、検索語毎の検索結果内の文書データDAk(k=1〜d)、DBk(k=1〜d)、DCk(k=1〜d)・・・の内容及び構造を多次元の特徴ベクトルデータzA1、zA2・・・zAd、zB1、zB2・・・zBd、zC1、zC2・・・zCd・・・に変換し、文書毎の特徴ベクトルデータに類似度特定処理とコミュニティ検出の処理を施し、複数の文書データを複数のコミュニティに分類する。その上で、処理結果に所定の統計処理を施し、検索語毎の処理結果を合成し、合成したコミュニティ間の関係に基づいて、検索のニーズの性質の解析結果を出力する。本実施形態によっても、第4実施形態と同様の効果が得られる。
<第10実施形態>
第10実施形態では、重み付き無向グラフを用いた解析結果の表示例を具体的に説明する。
図25は、図11のマッピング画像7をより具体的に示す図である。このマッピング画像7は共通の語「ABC」を含む検索語に関する解析結果を例示している。なお、「ABC」なる技術用語があり、「ABC」なる電子ファイルの拡張子があり、「ABC」なる歌手がいるものと仮定している。
図25のマッピング画像7は、ノード(例えば、符号n1,n2)と、ノード間を結合するエッジ(例えば、符号e)とからなるグラフ(無向グラフ)で解析結果を示すものである。ノードには各検索語が関連づけられている。エッジの長さは、その一端のノードに関連付けられた検索語と、他端のノードに関連付けられた検索語との検索ニーズの類似度に対応する。具体的には、ある検索語と別の検索語との類似度が高いほどエッジは短い。そのため、検索ニーズの類似度が高い検索語に関連付けられたノードどうしが近くに配置される。なお、2つの検索語間の類似度が所定値より低い場合、両検索語に関連付けられたノード間のエッジを省略してもよい。
ここで、類似度は、例えば第8実施形態などで上述したものであってもよいし、検索語に対する検索結果に基づく他の手法で算出したものであってもよい。
このように表示することで、関連性が高い検索語が一目瞭然となる。図25によれば、「ABCセミナー」、「ABCビジネス」、「ABCベンチャー」の関連性が高いこと、「ABCライブ」、「ABCアルバム」、「ABCコンサート」の関連性が高いこと、「ABC拡張子」、「ABCデータ」、「ABCファイル」の関連性が高いことがわかる。これは、「ABCセミナー」なる検索語で訪問されるWebサイトは、「ABCビジネス」や「ABCベンチャー」なる検索語で訪問されることが多いが、その他の「ABCライブ」や「ABCデータ」なる検索語で訪問されることは少ないことを意味する。
例えば、「ABC」という技術に関するWebページを作成しようとする場合、「ABCセミナー」、「ABCビジネス」、「ABCベンチャー」といった検索語でユーザが訪問されることを念頭に置いてWebページを作成すればよいこととなる。
また、図25に示す無向グラフにおいて、ユーザがノードを移動させることができてもよい。ノードの移動は、例えばマウスで所望のノードをクリックしたり、タッチパネルで所望のノードをタップしたりしてノードを選択し、選択した状態で任意の別の場所にドラッグする方式が考えられる。
図26は、図25における「ABCビジネス」に関連付けられたノードn3を移動させた状態を示す図である。
ユーザ操作によるノードn3の移動に伴い、少なくともノードn3と近い(類似度が所定値以上)の他のノード(図26ではノードn4,n5)をノードn3に引き付けられるように自動的に移動させるのがよい。このとき、エッジの長さはバネやクーロン力などの力学モデルにより決定される。具体的には、ノードの移動によりエッジが引っ張られると、エッジが伸び、伸びた分だけ引き寄せる力が強くなり、時間の経過により力のバランスがとれる短さに収束する。
図25や図26には少数のノード(検索語)しか描いていないが、実際には多数のノード(検索語)が表示される。そのため、場合によっては1か所にノードが密集することもあり得る。この場合、着目する検索語が関連付けられたノードを任意の場所に移動させることで、類似度が高い検索語をより見やすく表示可能となる。
図27は、検索語がクラスタに分類され、分類されたクラスタに応じた表示態様でノードを表示したマッピング画像7を示す図である。なお、クラスタ分類は、例えば第4実施形態などで上述した手法を適用してもよいし、検索語に対する検索結果に基づく他の手法を適用してもよい。なお、図27などでは検索語そのものを省略している。
同図では、各検索語が2クラスタA,B,Cのいずれか1つに分類される例を示している。クラスタAに分類された検索語が関連付けられたノードは黒で表示され、クラスタBに分類された検索語が関連付けられたノードは白で、クラスタCに分類された検索語が関連付けられたノードは斜線で表示される。その他、クラスタに応じて色分けするなどでもよい。
図28は、検索語が1つのクラスタに分類に確定されるのではなく、複数のクラスタに分類され得る場合のマッピング画像7を示す図である。各検索語は、どのクラスタにどの程度近いか(どのクラスタの性質をどの程度有するか)が算出される。図28の例では、ある検索語はクラスタAが6割、クラスタBが3割、クラスタCが1割と判定されている。この場合、その検索語が関連付けられたノードn6は、円グラフ同様、6割が黒、3割が白、1割が斜線で表示される。
さらに、第1実施形態で説明したように、分類の粒度を細かくしたり粗くしたりすることができる。粒度が細かいほど、多くのクラスタに分類される。そして、この粒度をユーザが可変設定できてもよい。
図29は、ユーザが粒度を設定可能なマッピング画像7を示す図である。水平方向に延びるスライドバー30が表示されており、ユーザはバー31を左に移動させることにより粒度を粗く、右に移動させることにより粒度を細かく設定できる。なお、粒度は複数段階あればよく、特に段階数に制限はない。
図29は粒度が粗く設定された状態を示している。この例では、各検索語は2クラスタA,Bのいずれか1つに分類され、ノードの表示態様が2種類(A,Bの順に黒および斜線)ある。
図30は、図29より粒度が細かく設定された状態を示す図である。この例では、各検索語は4クラスタラスタA1,A2,B1,B2のいずれか1つに分類される。なお、クラスタAをさらに細かく分類したのがクラスタA1,A2であり、クラスタBをさらに細かく分類したのがクラスタB1,B2である。この場合、ノードの表示態様は4種類(A1,A2,B1,B2の順に黒、白、斜線および波線)となる。
このように、ユーザ操作に応じて粒度が設定(変更)される都度、設定された粒度に応じて各検索語がクラスタに分類される。そして、各検索語が分類されるクラスタが変わると、ノードの表示態様も自動的に更新される。
例えば、「ABC」という技術全般に関するWebページを作成しようとする場合、粒度を粗く設定することで関連性が比較的高い検索語を幅広く把握することができる。一方、「ABC」という技術のうちのさらに特定の技術に特化したWebページを作成しようとする場合、粒度を細かく設定することで関連性が特に高い少数の検索語を高精度に把握できる。
粒度調整のインターフェースは図29および図30に示すスライドバー30に限られない。図31に示すように、鉛直方向に延びるスライドバー30でもよい。図32に示すようにユーザが粒度を示す数値を入力する欄32を設けてもよい。図33に示すように、粒度が示されたボタン(アイコン)33をユーザが選択するようにしてもよい。図34に示すようなプルダウン34や、図35に示すようなラジオボタン35からユーザが選択するようにしてもよい。例示しない他のインターフェースであってもよいが、望ましくは複数段階のうちの1つをユーザが択一的に選択できるインターフェースがよい。
さらに、各検索語の検索数をマッピング画面7に示してもよい。
図36は、各検索語の検索数に応じた態様でノードが表示されたマッピング画像7を示す図である。ノードに関連付けられた検索語の検索数が多いほど、ノードが大きく表示される。大きく表示されるノードに関連付けられた検索語を重視すべきことが容易かつ直感的ににわかる。なお、検索数は任意のある期間(例えば、直近1か月)における検索数とすればよい。もちろん、ユーザが期間を可変設定できてもよく、例えば直近1か月と、2か月前とでどのような変化があったかを比較できてもよい。
上述した各例を組み合わせ、ある検索語に対応するノードを、当該検索語が分類されたクラスタに応じた態様で、かつ、当該検索語の検索数に応じた大きさで表示するなどしてもよい。また、無向グラフに別のさらなる情報を付与してもよい。
以上述べたように、本実施形態では、検索語についての解析結果を無向グラフで表示する。そのため、ユーザは、検索語間の類似度や、どのようにクラスタリングされるかといった解析結果を直感的に理解でき、ターゲットとすべき検索語の取捨選択が容易となる。
<第11実施形態>
以下は、解析結果の表示態様の変形例である。
図37は、表形式で解析結果を表示する場合の画面例を示す図である。各検索語が4つのクラスタA〜Dのいずれかに分類されており、各クラスタに分類される検索語をクラスタと対応付けた表形式で表示する。同図では、例えばクラスタAに検索語a〜cが分類されていることがわかる。
この場合も、粒度をユーザが調整できるのが望ましい。例えば、図37では4つのクラスタに分類されていたが、スライドバー30を用いてユーザが粒度を粗くすると、図38に示すように2つのクラスタE,Fに分類されて表示される。無向グラフの場合と同様であるが、ユーザ操作に応じて粒度が設定(変更)される都度、設定された粒度に応じて各検索語がクラスタに分類される。そして、各検索語が分類されるクラスタが変わると、表も自動的に更新される。
また、図37および図38に示すように、各検索語に検索数を対応付けて表示してもよい。この場合、検索数が多い検索語ほど上方に配置するのが望ましい。
図39は、相関行列形式で解析結果を表示する場合の画面例を示す図である。検索語a〜dが縦方向および横方向に並んで配置される。そして、縦方向と横方向の交点のセルに検索語間の類似度が示される。類似度として、セル内に数値を表示してもよいし、セルを類似度に応じた態様(類似度が高いほど濃くするなど。図39ではスポットの密度で疑似的に濃度を示している)で表示してもよい。また、各検索語に検索数を対応付けて表示してもよい。
さらに、ユーザが検索語の並び順を入れ替えられてもよい。一例として、ユーザが所望の検索語を選択すると、選択された検索語を最上位に配置し、当該検索語と類似度が高い順に他の検索語を上から配置してもよい。図39においてユーザが検索語cを選択したとする。その場合、図40に示すように、検索語cが最上位に配置され、その下方には検索語cと類似度が高い順に検索語b,d,aが配置される。
図41は、デンドログラム形式で解析結果を表示する場合の画面例を示す図である。検索語が縦方向に並んでおり、類似度が高い検索語どうしが近くに配置される。そして、右(検索語から離れる方向)に向かって段階的に検索語がクラスタに分類される様子が示される。
段階的なクラスタ分類をより見やすくすべく、図4と同様、デンドログラム上に、デンドログラムと直交する方向(縦方向、検索語が並ぶ方向)に延びる粒度設定バー(評価軸設定バー)36が表示されるのが望ましい。ユーザは粒度設定バー36を左右に移動させることができ、粒度設定バー36を右に移動するほど(検索語から離れるほど)粒度は粗くなる。
例えば、図41に示す位置に粒度設定バー36を移動されると検索語が3つのクラスタA,B,Cのいずれかに分類され、図42に示す位置に粒度設定バー36を移動されると検索語が2つのクラスタD,Eのいずれかに分類される。
なお、図41および図42に示すように、各検索語に検索数を対応付けて表示してもよい。また、デンドログラムは検索語が横方向に並ぶものであってもよい。さらに、粒度設定は粒度設定バー36が直感的ではあるが、第10実施形態で説明したような他のインターフェースで粒度を設定できてもよい。
図43は、ツリーマップ形式で解析結果を表示する場合の画面例を示す図である。各検索語a〜nが4つのクラスタA〜Dのいずれかに分類されている。1つの矩形のセルが1つの検索語に対応しており、セルの表示態様(例えば、セルの色。同図ではスポット、斜線、波線で疑似的に色を示している)が分類されたクラスタを示し、セルの面積が所定期間における検索数を示す。
図44は、サンバースト形式で解析結果を表示する場合の画面例を示す図である。最も外側における1つのバームクーヘン型のセルが検索語a〜hにそれぞれ対応している。そして、内側におけるセルは各検索語が分類されたクラスタを示しており、同層の内側が同じ粒度でのクラスタである。例えば、最も内側の層は粒度が粗い3つのクラスタA〜Cがあり、検索語a〜eがクラスタAに分類され、検索語f,gがクラスタBに分類され、検索語hがクラスタCに分類されている。内側から2番目の層にはクラスタA1,A2があり、クラスタAがより細かい2つのクラスタA1,A2に分かれ、合計で4つのクラスタA1,A2,B,Cに各検索語が分類される様子が示されている。セルの表示態様(例えば、セルの色。同図ではスポット、斜線、波線で疑似的に色を示している)が分類された(ある特定の粒度における)クラスタを示し、セルの大きさが所定期間における検索数を示すようにしてもよい。
ツリーマップ形式やサンバースト形式によれば、分類結果と検索数とを直感的に把握することができる。これらの形式においても、ユーザが粒度を可変設定できるのが望ましい。
<変形例>
以上本発明の第1〜第11実施形態について説明したが、この実施形態に以下の説明を加えてもよい。
(1)上記第1〜第3実施形態の解析結果出力処理では、上位ページ分類を解析結果として出力した。しかし、以下にあげる4種類の情報のうちの1つ又は複数の組み合わせを解析結果として出力してもよい。
第1に、クラスタリング、クラス分類、コミュニティ検出などの分類処理により文書データDk(k=1〜d)を複数の部分集合に分類した後、複数の部分集合に基づいて、評価対象の検索のニーズ純度を求め、ニーズ純度を解析結果として出力してもよい。ここで、ニーズ純度は、検索結果内におけるニーズ純度の性質のばらつきが小さいのかそれとも大きいのかを示す指標である。ある検索語の検索結果が同様の性質のwebページで占められていれば、その検索語のニーズ純度は高い値となる。ある検索語の検索語が異なる性質のwebページで占められていれば、その検索語のニーズ純度は低い値となる。分類処理がクラスタリング・クラス分類である場合、及び分類処理がコミュニティ検出である場合におけるニーズ純度の算出の手順は以下のとおりである。
a1.分類処理がクラスタリング・クラス分類である場合
この場合、文書データDk(k=1〜d)の分散を算出し、この分散に基づいてニーズ純度を算出する。より具体的には、文書データD1、D2・・・Ddの特徴ベクトルデータz1={z11、z12・・・z1l}、z2={z21、z22・・・z2l}・・・zd={zd1、zd2・・・zdl}の全座標平均を求める。次に、文書データD1の特徴ベクトルデータz1={z11、z12・・・z1l}の全座標平均からの距離、文書データD2の特徴ベクトルデータz2={z21、z22・・・z2l}の全座標平均からの距離・・・文書データDdの特徴ベクトルデータzd={zd1、zd2・・・zdl}の全座標平均からの距離を求める。次に、文書データD1、D2・・・Ddの全座標平均からの距離の分散を求め、この分散をニーズ純度とする。文書データD1、D2・・・Ddの全座標平均からの距離の分散ではなく、クラスタ内分散・クラス内分散に基づいてニーズ純度を算出してもよい。
b1.分類処理がコミュニティ検出である場合
この場合、無向グラフ内における文書データDkのノード間の平均経路長を算出し、この平均経路長に基づいてニーズ純度を算出する。より具体的には、文書データDk間の類似度の閾値を設定し、閾値以下のエッジを除去した重み無し無向グラフを生成する。次に、この重み無し無向グラフ内におけるノード間の平均経路長を算出し、平均経路長の逆数をニーズ純度とする。同様に、クラスタ係数、同類選択性、中心性の分布、エッジ強度の分布を求め、クラスタ係数、同類選択性、中心性の分布、エッジ強度の分布を所定の関数に作用させて得た値をニーズ純度としてもよい。
この変形例によると、例えば、図23に示すように、第1の検索語(図23の例では、storage)と、第1の検索語を含む第2の検索語(図23の例では、cube storage)がSEOの候補となっており、2つの検索語の1月あたりの検索数に開きがある、という場合に、第1の検索語の検索数及びニーズ純度と、第2の検索語の検索数及びニーズ純度とを比較することにより、いずれの検索語のSEOを優先するかの判断が容易になる。
第2に、図24に示すように、第1の検索語(図24の例では、storage)と、第1の検索語を含む複数個の第2の検索語(図24の例では、storage near me、storage sheds、cube storage、storage bins、storage boxes、mini storage、storage solutions、san storage、data storage)を評価対象とし、複数の検索語の各々における1か月あたりの検索数と文書データDk(k=1〜d)全体に占める各部分集合の割合との各積を纏めた一覧表を解析結果として出力してもよい。
この変形例によると、第1の検索語と、第1の検索語を含む複数の第2の検索語がSEOの候補となっており、複数の検索語の1月あたりの検索数に開きがある、という場合に、いずれの検索語のSEOを優先するかの判断が容易になる。この変形例は、ニーズ純度が低い検索語の評価に好適である。
また、この第2の変形例を、検索連動型広告に適用してもよい。第2の変形例を検索連動型広告に適用すると、1つの検索語に複数の検索ニーズが存在している場合における当該検索語に関わる広告の精度を良くすることができる。例えば、図24の例に示す「storage」に関わる検索連動型広告をする場合に、facility系の広告を何割表示すべきか、furniture系の広告を何割表示すべきか、computer系の広告を何割表示すべきか、といった判断ができるようになる。
第3に、評価対象の検索語の上位webページがどの程度ビジネスニーズを満たすかを示す指標であるB度、及び評価対象の検索語の上位webページがどの程度コンシューマニーズを満たすかを示す指標であるC度を求め、B度及びC度を解析結果として出力してもよい。分類処理がクラス分類である場合におけるB度及びC度の算出の手順は以下の通りである。
まず、BtoBの教師データであることを示すラベル情報と対応付けられた特徴ベクトルデータ群、BtoCの教師データであることを示すラベル情報と対応付けられた特徴ベクトルデータ群、及びCtoCの教師データであることを示すラベル情報と対応付けられた特徴ベクトルデータ群を準備し、これらを用いた機械学習により線形分類器f(z)の重み係数をBtoB、BtoC、及びCtoCの分類に好適なものに設定する。
機械学習による重み係数の最適化の後、文書データD1の特徴ベクトルデータz1={z11、z12・・・z1l’}を線形分類器f(z)に代入して文書データD1がいずれのクラスに属するかを決定し、文書データD2の特徴ベクトルデータz2={z21、z22・・・z2l’}を線形分類器f(z)に代入して文書データD2がいずれのクラスに属するかを決定し・・・文書データDnの特徴ベクトルデータzd={zd1、zd2・・・zdl’}を線形分類器f(z)に代入して文書データDnがいずれのクラスに属するかを決定する、というようにして、文書データD1、D2・・・Ddを、BtoBのクラス、BtoCのクラス、及びCtoCのクラスに分類する。その上で、文書データDk(k=1〜d)全体に占める、BtoB、BtoC、及びCtoCの各クラスの割合の関係に基づいて、B度及びC度を算出する。
同様の手順により、評価対象の検索語の上位webページがどの程度学術的ニーズを満たすかを示す指標である学術度や、評価対象の検索語の上位webページがどの程度会話的ニーズを満たすかを示す会話度を求め、これらの指標を解析結果として出力してもよい。
(2)上記第1〜第9実施形態では、検索結果内のwebページを解析対象とした。しかし、解析対象にwebサイトやwebコンテンツを解析対象に含めてもよい。
(3)上記第1〜第9実施形態の定量化処理において、文書データDk(k=1〜d)の内容だけを定量化し、この内容を定量化した特徴ベクトルデータに分類処理を施してもよい。また、定量化処理において、文書データDk(k=1〜d)の構造だけを定量化し、この内容を定量化した特徴ベクトルデータに分類処理を施してもよい。
(4)上記第1〜第9実施形態の文書内容定量化処理において、文書データDk(k=1〜d)を、自動文章要約のアルゴリズムにより要約し、この要約した文書データを多次元ベクトル化し、この多次元ベクトル化した特徴ベクトルデータに対してステップS210以降の全部または一部の処理を行ってもよい。
(5)上記第1〜第9実施形態の文書構造定量化処理において、文書データDk(k=1〜d)の構造を、品詞構成率、HTMLタグ構造、係り受け構造、及び構造複雑度(Structure Complexity)に基づいた定量化をしてもよい。
(6)上記第1及び第3実施形態の評価軸設定処理では、評価軸設定バー9を上位階層側又は下位階層側に移動させることにより、分類数(クラスタやコミュニティの数)を設定した。これに対し、図4(B)に示すように、同じ階層の複数の部分集合のうち一部(図4(B)の例では、鎖線が指し示す部分)を分類対象から除く、といった設定により、分類数を設定するようにしてもよい。
(7)上記第1、第4、及び第5実施形態のクラスタリング処理では、文書データD1、D2・・・Ddの特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}にクラスタリングの最短距離法の処理を施した。しかし、最短距離法でない処理を施してもよい。例えば、文書データD1、D2・・・Ddの特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}に、ウォード法(Ward法)、群平均法、最短距離法、最長距離法、又は、Fuzzy C-meaps法のアルゴリズムに従った処理を施してもよい。
また、文書データD1、D2・・・Ddの特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}に、ディープラーニングを用いたクラスタリング処理を施してもよい。
また、文書データD1、D2・・・Ddの特徴ベクトルデータz1={z11、z12・・・z1l’}、z2={z21、z22・・・z2l’}・・・zd={zd1、zd2・・・zdl’}に、k−meansなどの非階層のクラスタ分類のアルゴリズムに従った処理を施してもよい。ここで、k−meansは非階層のクラスタ分類であるから、解析結果としてデンドログラム8を提示することができない。k−meansのクラスタリングをする場合、評価軸設定処理では、ユーザから、クラスタ数の値kの入力を受け付け、指定されたクラスタ数を新たな設定としてクラスタリング処理を行うようにするとよい。
(8)上記第2、第6、及び第7実施形態のクラス分類処理では、CPU22は、いわゆるパーセプトロンの線形分類器f(z)により、文書データDk(k=1〜d)の各々をどのクラスに振り分けるかを決定した。しかし、別の手法によりによりクラスの振り分けをしてもよい。例えば、パーセプトロン、ナイーブベイズ法、テンプレートマッチング、k−最近傍識別法、決定木、ランダムフォレスト、AdaBoost、Support Vector Machine(SVM)、又は、ディープラーニングにより、文書データDk(k=1〜d)を複数のクラスに分類してもよい。また、線形分類器ではなく、非線形分類器により分類をしてもよい。
(9)上記第3、第8、及び第9実施形態のコミュニティ検出処理では、文書データDk(k=1〜d)を重み付き無向グラフ化し、重み付き無向グラフにおける各ノードの媒介中心性の算出と、媒介中心性が最大のエッジの除去とを繰り返すことにより、文書データDk(k=1〜d)を複数のコミュニティに分類した。しかし、媒介中心性に基づくもの以外の手法により、文書データDk(k=1〜d)を複数のコミュニティに分類してもよい。例えば、ランダムウォークに基づくコミュニティ検出、貪欲法、固有ベクトルに基づくコミュニティ検出、多段階最適化に基づくコミュニティ検出、スピングラス法に基づくコミュニティ検出、Infomap法、又は、Overlapping Community Detectionに基づくコミュニティ検出により、文書データDk(k=1〜d)を複数のコミュニティに分類してもよい。
(10)上記第5〜第6実施形態のコミュニティ検出処理において、文書データDk(k=1〜d)の各々をノードとする重み無し無向グラフを生成し、この重み無し無向グラフに基づいて、文書データDk(k=1〜d)を複数のコミュニティに分類してもよい。
(11)上記第4及び第5実施形態の解析結果出力処理において、クラスタリング処理の処理結果に基づく上位ページ分類とマッピング画像7とを解析結果画面として出力してもよい。また、上記第6及び第7実施形態の解析結果出力処理において、クラス分類処理の処理結果に基づく上位ページ分類とマッピング画像7とを解析結果画面として出力してもよい。また、上記第8及び第9実施形態の解析結果出力処理において、コミュニティ検出処理の処理結果に基づく上位ページ分類とマッピング画像7とを解析結果画面として出力してもよい。
(12)上記第1、第2、第4、第5、第6、及び第7実施形態において、次元縮約処理を実行せずに、加算処理の処理結果にクラスタリングやクラス分類などの分類処理を施してもよい。また、第3、第8、及び第9実施形態において、次元縮約処理を実行し、次元縮約処理による次元縮約を経た特徴ベクトルデータに類似度特定処理及びコミュニティ検出処理を施し、次元縮約処理を経た特徴ベクトルデータにより、複数の文書データを複数の部分集合に分類してもよい。