(57)【要約】【課題】類似のウェブページを適切に抽出する。【解決手段】本願に係る抽出装置は、取得部と、抽出部とを有する。取得部は、複数のウェブページの各々に対応する複数のノードが複数のウェブページのリンクに対応するエッジで連結されたグラフ情報と、検索に関するクエリ情報とを取得する。抽出部は、取得部により取得されたクエリ情報と、複数のウェブページとに基づいて、複数のウェブページのうち、クエリ情報に類似するウェブページである類似ウェブページを抽出する。【選択図】図４
2019133262.tif 000002
【特許請求の範囲】
【請求項１】
複数のウェブページの各々に対応する複数のノードが前記複数のウェブページのリンクに対応するエッジで連結されたグラフ情報と、検索に関するクエリ情報とを取得する取得部と、
前記取得部により取得された前記クエリ情報と、前記複数のウェブページとに基づいて、前記複数のウェブページのうち、前記クエリ情報に類似するウェブページである類似ウェブページを抽出する抽出部と、
を備えたことを特徴とする抽出装置。
【請求項２】
前記取得部により取得された前記グラフ情報の前記複数のノードのうち、所定の基準に基づいて、前記グラフ情報の検索の起点となる起点ノードを決定する決定部、
をさらに備え、
前記抽出部は、
前記決定部により取得された前記起点ノードを起点として前記グラフ情報を検索することにより、前記複数のウェブページのうち、前記類似ウェブページを抽出する
ことを特徴とする請求項１に記載の抽出装置。
【請求項３】
前記決定部は、
所定のウェブページに対応するノードを前記起点ノードとして決定する
ことを特徴とする請求項２に記載の抽出装置。
【請求項４】
前記決定部は、
前記検索を行うユーザが閲覧中のウェブページに対応するノードを前記起点ノードとして決定する
ことを特徴とする請求項２または請求項３に記載の抽出装置。
【請求項５】
前記抽出部は、
前記取得部により取得された前記クエリ情報に対応するベクトルであるクエリベクトルと、前記複数のウェブページに対応する複数のページベクトルとに基づいて、前記複数のウェブページのうち、前記クエリベクトルにページベクトルが類似する前記類似ウェブページを抽出する
ことを特徴とする請求項１〜４のいずれか１項に記載の抽出装置。
【請求項６】
前記抽出部は、
前記クエリベクトルとページベクトルとの比較に基づいて、前記類似ウェブページを抽出する
ことを特徴とする請求項５に記載の抽出装置。
【請求項７】
前記抽出部は、
前記複数のウェブページの各々の特徴を示す前記複数のページベクトルに基づいて、前記類似ウェブページを抽出する
ことを特徴とする請求項５または請求項６に記載の抽出装置。
【請求項８】
前記抽出部は、
所定のモデルを用いて前記複数のウェブページの各々から抽出された特徴量を要素とする前記複数のページベクトルに基づいて、前記類似ウェブページを抽出する
ことを特徴とする請求項５〜７のいずれか１項に記載の抽出装置。
【請求項９】
前記抽出部は、
前記複数のウェブページに関する情報を所定のモデルに入力することにより、抽出される前記複数のウェブページの各々の特徴量を要素とする前記複数のページベクトルに基づいて、前記類似ウェブページを抽出する
ことを特徴とする請求項５〜８のいずれか１項に記載の抽出装置。
【請求項１０】
前記取得部は、
一のウェブページの情報を前記クエリ情報として取得する
ことを特徴とする請求項１〜９のいずれか１項に記載の抽出装置。
【請求項１１】
前記取得部は、
文字列情報を前記クエリ情報として取得する
ことを特徴とする請求項１〜９のいずれか１項に記載の抽出装置。
【請求項１２】
前記抽出部により抽出された前記類似ウェブページに基づいて、所定のサービスを提供する提供部、
をさらに備えたことを特徴とする請求項１〜１１のいずれか１項に記載の抽出装置。
【請求項１３】
前記提供部は、
前記類似ウェブページに関する情報提供サービスを提供する
ことを特徴とする請求項１２に記載の抽出装置。
【請求項１４】
前記取得部は、
ユーザが利用する端末装置から前記クエリ情報に関する情報を取得し、
前記提供部は、
前記端末装置に前記類似ウェブページに関する情報を提供する
ことを特徴とする請求項１２または請求項１３に記載の抽出装置。
【請求項１５】
コンピュータが実行する抽出方法であって、
複数のウェブページの各々に対応する複数のノードが前記複数のウェブページのリンクに対応するエッジで連結されたグラフ情報と、検索に関するクエリ情報とを取得する取得工程と、
前記取得工程により取得された前記クエリ情報と、前記複数のウェブページとに基づいて、前記複数のウェブページのうち、前記クエリ情報に類似するウェブページである類似ウェブページを抽出する抽出工程と、
を含んだことを特徴とする抽出方法。
【請求項１６】
複数のウェブページの各々に対応する複数のノードが前記複数のウェブページのリンクに対応するエッジで連結されたグラフ情報と、検索に関するクエリ情報とを取得する取得手順と、
前記取得手順により取得された前記クエリ情報と、前記複数のウェブページとに基づいて、前記複数のウェブページのうち、前記クエリ情報に類似するウェブページである類似ウェブページを抽出する抽出手順と、
をコンピュータに実行させることを特徴とする抽出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、抽出装置、抽出方法、及び抽出プログラムに関する。
【背景技術】
【０００２】
従来、ウェブページに関する種々の技術が提供されている。例えば、評価対象ウェブページを参照している参照元ウェブページのテキストに基づいて、評価対象ウェブページを評価する技術が提供されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３３９４１９号公報
【非特許文献】
【０００４】
【非特許文献１】岩崎雅二郎  "木構造型インデックスを利用した近似k最近傍グラフによる近傍検索",  情報処理学会論文誌,  2011/2,  Vol.  52,  No.  2.  pp.817-828.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、類似のウェブページを適切に抽出することが難しい場合がある。例えば、参照元ウェブページのテキストに基づいて、評価対象ウェブページを評価するだけでは、ウェブページ間の類似性が考慮されていない場合等、所望の情報を抽出することが難しい。このような場合、所望の情報を抽出することが難しい。
【０００６】
本願は、上記に鑑みてなされたものであって、類似のウェブページを適切に抽出する抽出装置、抽出方法、及び抽出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る抽出装置は、複数のウェブページの各々に対応する複数のノードが前記複数のウェブページのリンクに対応するエッジで連結されたグラフ情報と、検索に関するクエリ情報とを取得する取得部と、前記取得部により取得された前記クエリ情報と、前記複数のウェブページとに基づいて、前記複数のウェブページのうち、前記クエリ情報に類似するウェブページである類似ウェブページを抽出する抽出部と、を備えたことを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、類似のウェブページを適切に抽出することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る抽出処理の一例を示す図である。
【図２】図２は、ウェブページのリンクとグラフ情報との関係を示す図である。
【図３】図３は、実施形態に係る抽出システムの構成例を示す図である。
【図４】図４は、実施形態に係る抽出装置の構成例を示す図である。
【図５】図５は、実施形態に係るウェブページ情報記憶部の一例を示す図である。
【図６】図６は、実施形態に係る起点基準情報記憶部の一例を示す図である。
【図７】図７は、実施形態に係るグラフ情報記憶部の一例を示す図である。
【図８】図８は、実施形態に係るモデル情報記憶部の一例を示す図である。
【図９】図９は、実施形態に係る抽出処理の一例を示すフローチャートである。
【図１０】図１０は、実施形態に係る生成処理の一例を示すフローチャートである。
【図１１】図１１は、実施形態に係る特徴量の抽出の一例を示す図である。
【図１２】図１２は、グラフ情報を用いた検索処理の一例を示すフローチャートである。
【図１３】図１３は、抽出装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る抽出装置、抽出方法、及び抽出プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る抽出装置、抽出方法、及び抽出プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１１】
（実施形態）
〔１．抽出処理〕
図１を用いて、実施形態に係る抽出処理の一例について説明する。図１は、実施形態に係る抽出処理の一例を示す図である。図１では、抽出装置１００がウェブページ（単に「ページ」とする場合がある）をそのリンク関係に基づいてグラフ構造化したグラフデータ（グラフ情報）を検索することにより、類似するウェブページ（類似ウェブページ）を抽出する場合を示す。また、図１では、抽出装置１００は、各ウェブページをベクトル化したベクトルデータ（単に「ベクトル」とする場合がある）を用いて、各ウェブページ間の類似度を比較する。なお、抽出装置１００が用いる情報は、ベクトルに限らず、各ウェブページの類似性を表現可能な情報であれば、どのような形式の情報であってもよい。例えば、抽出装置１００は、各ウェブページに対応する所定のデータや値を用いてウェブページをグラフ構造化したグラフ情報を用いてもよい。例えば、抽出装置１００は、各ウェブページから生成された所定の数値（例えば２進数の値や１６進数の値）を用いてウェブページをグラフ構造化したグラフ情報を用いてもよい。例えば、ベクトルに代えて、データ間の距離（類似度）が定義されていれば任意の形態のデータであっても良い。
【００１２】
〔１−１．グラフ情報について〕
また、抽出装置１００は、図１中のグラフ情報ＧＲ１１に示すように、各ベクトル（ノード）が有向エッジにより連結されたグラフデータを対象に抽出処理を行う。なお、図１中のグラフ情報ＧＲ１１に示すようなグラフ情報は、抽出装置１００が生成してもよいし、抽出装置１００は、図１中のグラフ情報ＧＲ１１に示すようなグラフ情報を情報提供装置５０（図３参照）等の他の外部装置から取得してもよい。
【００１３】
また、ここでいう、有向エッジとは、一方向にしかデータを辿れないエッジを意味する。以下では、エッジにより辿る元、すなわち始点となるノードを参照元とし、エッジにより辿る先、すなわち終点となるノードを参照先とする。例えば、所定のノード「Ａ」から所定のノード「Ｂ」に連結される有向エッジとは、参照元をノード「Ａ」とし、参照先をノード「Ｂ」とするエッジであることを示す。
【００１４】
例えば、このようにノード「Ａ」を参照元とするエッジをノード「Ａ」の出力エッジという。また、例えば、このようにノード「Ｂ」を参照先とするエッジをノード「Ｂ」の入力エッジという。すなわち、ここでいう出力エッジ及び入力エッジとは、一の有向エッジをその有向エッジが連結する２つのノードのうち、いずれのノードを中心として捉えるかの相違であり、一の有向エッジが出力エッジ及び入力エッジになる。すなわち、出力エッジ及び入力エッジは、相対的な概念であって、一の有向エッジについて、参照元となるノードを中心として捉えた場合に出力エッジとなり、参照先となるノードを中心として捉えた場合に入力エッジとなる。
【００１５】
ここで、上記のノード「Ａ」からの有向エッジがノード「Ｂ」に連結される関係は、グラフ情報のノードをウェブページとみなした場合における、ノード「Ａ」に対応するウェブページからノード「Ｂ」に対応するウェブページへのリンクが貼られている関係に対応する。言い換えると、参照元をノード「Ａ」とし、参照先をノード「Ｂ」とするエッジは、ノード「Ａ」に対応するウェブページからノード「Ｂ」に対応するウェブページへのリンクに対応する。つまり、参照元をノード「Ａ」とし、参照先をノード「Ｂ」とする関係は、ノード「Ａ」に対応するウェブページがノード「Ｂ」に対応するウェブページをリンク先に含むことに対応する。抽出装置１００は、上記のようなウェブページのリンク関係と類似の構造を有するグラフ情報ＧＲ１１を用いて類似ウェブページ（以下、「類似ページ」ともいう）を抽出する。なお、ウェブページのリンク関係とグラフ情報のエッジの連結関係の対応の詳細は、図２を用いて後述する。
【００１６】
なお、本実施形態においては、エッジについては、出力エッジや入力エッジ等の有向エッジを対象とするため、以下では、有向エッジを単に「エッジ」と記載する場合がある。また、各ノードを連結するエッジは、ウェブページのリンク関係を表現可能であれば、有向エッジに限らず、種々のエッジであってもよい。例えば、各ノードを連結するエッジは、ノードを連結する方向のないエッジであってもよい。例えば、各ノードを連結するエッジは、相互に参照可能なエッジであってもよい。例えば、各ノードを連結するエッジは、全て双方向エッジであってもよい。例えば、相互にリンクが貼られている２つのノード間は、方向のないエッジや双方向エッジで連結されてもよい。すなわち、互いに相手をリンク先とする２つのノード間は、方向のないエッジや双方向エッジで連結されてもよい。
【００１７】
例えば、抽出装置１００は、数百万〜数億単位のウェブページに対応するノードを対象に処理を行うが、図面においてはその一部のみを図示する。図１の例では、説明を簡単にするために、９個のノードを図示して処理の概要を説明する。例えば、抽出装置１００は、図１中のグラフ情報ＧＲ１１に示すように、ノードＮ１、Ｎ２、Ｎ３等に示すような複数のノード（ベクトル）を含むグラフ情報を取得する。また、図１の例では、グラフ情報ＧＲ１１における各ノードは、そのノードに対応するウェブページのリンク先に対応するノードへのエッジ（出力エッジ）が連結される。まず、この点について図２を用いて説明する。図２は、ウェブページのリンクとグラフ情報との関係を示す図である。
【００１８】
〔１−１−１．ウェブページのリンクのグラフ構造化〕
図１の例において用いるグラフ情報ＧＲ１１は、ウェブページをノードとし、ウェブページのリンクをエッジとみなして生成される。ここでは、抽出装置１００がグラフ情報ＧＲ１１を生成する場合を一例として説明するが、グラフ情報ＧＲ１１は情報提供装置５０等の他の情報処理装置が生成してもよい。
【００１９】
図２の例では、グラフ情報ＧＲ１１は、ウェブ空間情報ＷＳ１１から生成される。なお、ウェブ空間情報ＷＳ１１は、図５中のウェブページ情報記憶部１２１に示すような各ウェブページのリンク先を示す情報を基に各ウェブページのリンク関係を概念的に示す図である。図２では、各ウェブページ間を接続するリンクＬＫにより各ページ間のリンク関係を示す。
【００２０】
図２では、ページＰＧ１〜ＰＧ３、ＰＧ１１、ＰＧ５０、ＰＧ９０、ＰＧ２１１、ＰＧ２４６、ＰＧ６１８の９個のウェブページのみを図示し、そのリンク関係を基に説明するが、ウェブ空間情報ＷＳ１１には数百万〜数億単位のウェブページが含まれる。また、このように「ページＰＧ＊（＊は任意の数値）」と記載した場合、そのページ（ウェブページ）はページＩＤ「ＰＧ＊」により識別されるページであることを示す。例えば、「ページＰＧ１」と記載した場合、そのページはページＩＤ「ＰＧ１」により識別されるページである。
【００２１】
図２の例では、ページＰＧ１は、ページＰＧ２やページＰＧ５０等をリンク先に含むページであることを示す。例えば、図２中のページＰＧ１を矢元とし、ページＰＧ２を矢先とするリンクＬＫが、ページＰＧ１がページＰＧ２をリンク先とすることを示す。
【００２２】
また、図２の例では、ページＰＧ３は、ページＰＧ１やページＰＧ１１やページＰＧ６１８等をリンク先に含むページであることを示す。例えば、図２中のページＰＧ３を矢元とし、ページＰＧ１１を矢先とするリンクＬＫが、ページＰＧ３がページＰＧ１１をリンク先とすることを示す。また、図２の例では、図２中のページＰＧ１１を矢元とし、ページＰＧ３を矢先とするリンクＬＫが、ページＰＧ１１がページＰＧ３をリンク先としていることを示す。すなわち、図２の例では、ページＰＧ３とページＰＧ１１とは互いに他をリンク先としているページであることを示す。
【００２３】
上記のような各ウェブページのリンクに基づく接続関係（参照関係）は、グラフ構造における有向エッジの連結関係に対応する。そこで、抽出装置１００は、各ウェブページのリンク関係を反映（写像）したグラフ情報を生成する（ステップＳ５１）。例えば、抽出装置１００は、ウェブページをノードとし、リンクをエッジとして、ウェブ空間情報をマッピングしたグラフ情報を生成する。
【００２４】
図２の例では、抽出装置１００は、ウェブ空間情報ＷＳ１１からグラフ情報ＧＲ１１を生成する。例えば、抽出装置１００は、ウェブページ情報記憶部１２１（図５参照）中のウェブページやウェブページのリンク先を示す情報から、グラフ情報記憶部１２３（図７参照）中のグラフ情報を生成する。例えば、抽出装置１００は、ページＰＧ１のノードＮ１とし、ページＰＧ２をＮ２とするようなグラフ情報ＧＲ１１を生成する。なお、このように「ノードＮ＊（＊は任意の数値）」と記載した場合、そのノードはノードＩＤ「Ｎ＊」により識別されるノードであることを示す。例えば、「ノードＮ１」と記載した場合、そのノードはノードＩＤ「Ｎ１」により識別されるノードである。
【００２５】
また、例えば、抽出装置１００は、ページＰＧ１のページＰＧ２をリンク先とする情報を基に、ノードＮ１の参照先にノードＮ２が含まれることを示すエッジ情報を生成する。具体的には、抽出装置１００は、ノードＮ１を参照元とし、ノードＮ２を参照先とするエッジＥ１１を示す情報を生成する。なお、このように「エッジＥ＊（＊は任意の数値）」と記載した場合、そのエッジはエッジＩＤ「Ｅ＊」により識別されるエッジであることを示す。例えば、「エッジＥ１１」と記載した場合、そのエッジはエッジＩＤ「Ｅ１１」により識別されるエッジである。例えば、ノードＮ１を参照元とし、ノードＮ２を参照先として連結されるエッジＥ１１により、ノードＮ１からノードＮ２に辿ることが可能となる。この場合、有向エッジであるエッジＥ１１は、ノードＮ１を中心として識別される場合、出力エッジとなり、ノードＮ２を中心として識別される場合、入力エッジとなる。
【００２６】
また、例えば、抽出装置１００は、ページＰＧ３のページＰＧ１をリンク先とする情報を基に、ノードＮ３の参照先にノードＮ１が含まれることを示すエッジ情報を生成する。具体的には、抽出装置１００は、ノードＮ３を参照元とし、ノードＮ１を参照先とするエッジＥ３１を示す情報を生成する。上記のような処理により、抽出装置１００は、ウェブ空間情報ＷＳ１１からグラフ情報ＧＲ１１を生成し、グラフ情報記憶部１２３（図７参照）に格納する。
【００２７】
また、図２中のグラフ情報ＧＲ１１は、ユークリッド空間であってもよい。また、図２に示すグラフ情報ＧＲ１１は、各ベクトル間の距離等の説明のための概念的な図であり、グラフ情報ＧＲ１１は、多次元空間である。例えば、図２に示すグラフ情報ＧＲ１１は、平面上に図示するため２次元の態様にて図示されるが、例えば１００次元や１０００次元等の多次元空間であるものとする。
【００２８】
本実施形態においては、グラフ情報ＧＲ１１における各ノードの距離を対応する各オブジェクト間の類似度とする。例えば、各ノードに対応する対象（ウェブページ）の類似性が、グラフ情報ＧＲ１１内におけるノード間の距離として写像されているものとする。例えば、各ノードに対応する概念間の類似度が各ノード間の距離に写像されているものとする。ここで、図１に示す例においては、グラフ情報ＧＲ１１における各ノード間の距離が短いオブジェクト同士の類似度が高く、グラフ情報ＧＲ１１における各ノード間の距離が長いオブジェクト同士の類似度が低い。例えば、図２中のグラフ情報ＧＲ１１において、ノードＮ１１と、ノードＮ２１１とは近接している、すなわち距離が短い。そのため、ノードＮ１１に対応するオブジェクト（ウェブページ）と、ノードＮ２１１に対応するオブジェクト（ウェブページ）とは類似度が高いことを示す。
【００２９】
また、例えば、図２中のグラフ情報ＧＲ１１において、ノードＮ１と、ノードＮ２とは遠隔にある、すなわち距離が長い。そのため、ノードＮ１に対応するオブジェクト（ウェブページ）と、ノードＮ２に対応するオブジェクト（ウェブページ）とは類似度が低いことを示す。このように、グラフ情報ＧＲ１１は、ベクトルの類似度ではなく、ウェブページとしてのリンク関係を基にエッジが連結されているため、ベクトルの類似度に関わらずエッジが連結されたグラフ構造となる。
【００３０】
なお、図２の例では、説明のために、各ウェブページや各ノードの配置は、ベクトル化した際の類似度が高い程近くに位置するように図示するが、抽出装置１００は、ページ情報をベクトル化する前においては各ノード間の距離（類似度）は不明であるものとする。
【００３１】
このように、抽出装置１００は、ウェブ空間情報ＷＳ１１からグラフ情報ＧＲ１１を生成し、そのグラフ情報ＧＲ１１を基に類似ページを検索する。
【００３２】
〔１−２．処理例〕
ここから、抽出装置１００は、ユーザからクエリ情報として、一のウェブページのページ情報を取得し、一のウェブページに類似するウェブページに関する情報提供を行う場合を一例として説明する。なお、クエリ情報は、ページ情報に限らず、キーワード（文字列）等の種々の情報であってもよい。図１の例では、端末装置１０は、ユーザＵ１により利用される。例えば、ユーザＵ１は、端末装置１０においてウェブブラウザであるブラウザＢＷを用いてウェブページ（コンテンツ）を閲覧しているユーザであるものとする。図１の例では、ユーザＵ１が閲覧中のページＰＧ１１がページＰＧ１１に類似するウェブページの情報を所望する場合を示す。
【００３３】
まず、ユーザＵ１がブラウザＢＷを用いてページＰＧ１１を閲覧中の端末装置１０は、ページＰＧ１１のページ情報ＰＤ１１をクエリ情報として抽出装置１００へ送信する。例えば、ユーザＵ１は、閲覧中のページＰＧ１１に類似するウェブページの閲覧を所望し、ページＰＧ１１のページ情報ＰＤ１１を抽出装置１００へ送信するように端末装置１０を操作する。例えば、ユーザＵ１は、ブラウザＢＷの類似ページの検索機能や他のアプリケーションにより、閲覧中のページＰＧ１１の類似ページの情報を抽出装置１００へ要求してもよい。なお、上記は一例であり、抽出装置１００は、どのような処理により、検索対象となるページを特定する情報を取得してもよい。
【００３４】
例えば、端末装置１０は、ブラウザＢＷに表示されたページＰＧ１１のページ情報ＰＤ１１を抽出装置１００へ送信する。図１の例では、ページ情報ＰＤ１１等は、文字情報、画像情報、動画情報、及び音声情報等に関する情報を含む。なお、抽出装置１００がページ情報ＰＤ１１を取得済みである場合、端末装置１０は、ページＰＧ１１を特定する情報を抽出装置１００へ送信してもよい。そして、ページＰＧ１１を特定する情報（例えばページＩＤ等）を取得した抽出装置１００は、記憶部１２０からページ情報ＰＤ１１を取得してもよい。
【００３５】
また、図１の例では、端末装置１０は、閲覧中のページ（以下、「閲覧ページ」ともいう）を特定する情報を抽出装置１００へ送信する。例えば、端末装置１０は、ユーザＵ１がページＰＧ１１を閲覧中であることを示す情報を抽出装置１００へ送信する。例えば、端末装置１０は、ステップＳ１１において、ブラウザＢＷにページＰＧ１１が表示中であることを示す情報を抽出装置１００へ送信する。例えば、端末装置１０は、ページＰＧ１１を識別するページＩＤ「ＰＧ１１」を抽出装置１００へ送信する。なお、抽出装置１００がユーザＵ１の閲覧ページがページＰＧ１１であることを特定可能であれば、端末装置１０は、抽出装置１００にどのような情報を送信してもよい。
【００３６】
そして、抽出装置１００は、クエリ情報と閲覧ページを特定する情報を取得する（ステップＳ１１）。図１の例では、抽出装置１００は、端末装置１０からページＰＧ１１に関するページ情報ＰＤ１１とページＰＧ１１を特定する情報（ページＩＤ）を取得する。
【００３７】
そして、抽出装置１００は、検索開始の起点となる起点ノードを決定する（ステップＳ１２）。図１の例では、抽出装置１００は、起点基準情報記憶部１２２に記憶された起点決定の基準となる情報に基づいて、起点ノードを決定する。図１の例では、抽出装置１００は、基準ＩＤ「ＣＲ１」により識別される起点基準（起点基準ＣＲ１）を用いて、起点ノードを決定する。なお、図１の例では、起点基準ＣＲ１を用いると設定されている場合を示すが、抽出装置１００は、他の基準（起点基準ＣＲ２）を用いて起点ノードを決定してもよい。例えば、抽出装置１００は、ランダムに起点基準を選択して、その選択した起点基準を用いてもよい。
【００３８】
図１の例では、起点基準ＣＲ１は、「閲覧中」すなわち、ユーザが閲覧中のウェブページを検索開始の起点とすることを示す。そのため、抽出装置１００は、起点基準ＣＲ１に基づいて、ユーザＵ１が閲覧中であるページＰＧ１１に対応するノードＮ１１を起点ノードに決定する。なお、起点基準情報記憶部１２２に記憶された起点決定の基準となる情報を用いずに、検索開始時にグラフ情報ＧＲ１１からランダムに１つ以上のノードを選択し、それを起点ベクトルとしてもよいし、または、予め指定された１つ以上のノードを起点ベクトルとしても良い。
【００３９】
そして、抽出装置１００は、ページＰＧ１１に類似するウェブページ（類似ページ）を検索する（ステップＳ１３）。例えば、抽出装置１００は、グラフ情報記憶部１２３（図７参照）からウェブページに関するグラフ情報ＧＲ１１を取得する。ここで、図１の例では、グラフ情報ＧＲ１１では、ノードに対応するウェブページのページ情報がベクトル化された情報が含まれていない。そこで、抽出装置１００は、各ノードに対応するウェブページのページ情報をリアルタイムに順次ベクトル化して、ベクトルを比較し、比較に基づくベクトル間の類似関係を基にページＰＧ１１の類似ページを検索する。これにより、抽出装置１００は、ベクトルデータを記憶することにより、記憶するデータ量の増大を抑制することができる。
【００４０】
まず、抽出装置１００は、クエリ情報としてのページ情報からグラフ情報の探索に用いるベクトルを生成する。図１の例では、抽出装置１００は、処理群ＰＳ１１に示すような処理により、ページＰＧ１１に対応するベクトルを生成する。抽出装置１００は、ページＰＧ１１に関するページ情報ＰＤ１１をモデルＭ１に入力する（ステップＳ１４−１）。具体的には、抽出装置１００は、ページＰＧ１１のページ情報ＰＤ１１をモデルＭ１に入力する。そして、抽出装置１００は、ページ情報ＰＤ１１の入力後のモデルＭ１中の情報を用いて、ベクトルを生成する（ステップＳ１４−２）。例えば、抽出装置１００は、ページ情報ＰＤ１１が入力されたモデルＭ１中の各要素を用いて、ベクトルデータＶＤ１１を生成する。
【００４１】
〔１−２−１．ベクトルの生成例〕
ここで、各ノード（ウェブページ）に対応するベクトルの生成の一例について説明する。例えば、ウェブページ情報（ページ情報）が数値データであれば、それをベクトルデータとして、そのまま扱うことも可能である。しかし、ウェブページが、テキスト、画像、または、音声であるため、ベクトルデータへの変換が必要となる。そこで、図１の例では、抽出装置１００は、各ウェブページのウェブページ情報（ページ情報）から抽出された特徴量により多次元（Ｎ次元）のベクトルを生成する。
【００４２】
例えば、抽出装置１００は、ページ情報の特徴を抽出するモデルを用いて各ウェブページのページ情報からＮ次元ベクトルを生成してもよい。図１の例では、抽出装置１００は、モデル情報記憶部１２４（図８参照）に示すように、モデルＩＤ「Ｍ１」により識別されるモデル（モデルＭ１）を用いて、各ウェブページのページ情報からベクトルを生成する。上記のように、「モデルＭ＊（＊は任意の数値）」と記載した場合、そのモデルはモデルＩＤ「Ｍ＊」により識別されるモデルであることを示す。例えば、「モデルＭ１」と記載した場合、そのモデルはモデルＩＤ「Ｍ１」により識別されるモデルである。また、モデル情報記憶部１２４に示すように、モデルＭ１は用途「特徴抽出（ウェブページ）」、すなわちウェブページのデータからの特徴抽出のために用いられるモデルであり、その具体的なモデルデータが「モデルデータＭＤＴ１」であることを示す。
【００４３】
例えば、抽出装置１００は、モデルＭ１に任意のウェブページのページ情報を入力することにより、モデルＭ１中の各要素（ニューロン）の値を演算し、入力したページ情報と同様の情報を出力する。例えば、抽出装置１００は、中間層の各要素（ニューロン）の値を特徴量として抽出し、各ウェブページに対応するＮ次元のベクトルデータを生成してもよい。
【００４４】
ここで、図１１を用いて、各ウェブページに対応するベクトルデータの生成の一例を示す。図１１は、実施形態に係る特徴量の抽出の一例を示す図である。図１１は、モデルＭ１の概念図である。なお、図１１では、各要素（ニューロン）の各接続関係を示す線の図示を省略する。図１１に示すように、モデルＭ１は、入力層ＩＬと、中間層ＣＬと、出力層ＯＬとを含む。例えば、モデルＭ１の入力層ＩＬは、ページ情報が入力される層である。また、出力層ＯＬは、入力層ＩＬへの入力に応じて、入力されたページ情報と同様の情報を出力される層である。
【００４５】
また、例えば、中間層ＣＬの中央部の最も圧縮された圧縮層ＲＰは、入力されたページ情報の特徴を表現する層である。例えば、モデルＭ１の中間層ＣＬにおいて、入力層ＩＬから圧縮層ＲＰまでの間は、エンコードの処理を行う部分に対応する。モデルＭ１の中間層ＣＬにおいて、入力層ＩＬから圧縮層ＲＰまでの間は、入力されたページ情報の特徴を圧縮する処理を行う部分に対応する。例えば、モデルＭ１の中間層ＣＬにおいて、圧縮層ＲＰから出力層ＯＬまでの間は、デコードの処理を行う部分に対応する。モデルＭ１の中間層ＣＬにおいて、圧縮層ＲＰから出力層ＯＬまでの間は、圧縮されたページ情報を復元する処理を行う部分に対応する。
【００４６】
例えば、抽出装置１００は、圧縮層ＲＰに含まれるニューロンＮＬ１やニューロンＮＬ２等の情報をベクトルに用いてもよい。例えば、抽出装置１００は、あるウェブページのページ情報が入力された場合に、算出されるニューロンＮＬ１に対応する値ＶＥ１やニューロンＮＬ２に対応する値ＶＥ２をベクトルの要素（一の次元の値）として抽出してもよい。例えば、抽出装置１００は、あるウェブページのページ情報が入力された場合に、算出されるニューロンＮＬ１に対応する値ＶＥ１をそのウェブページのベクトルの１次元目の要素として抽出してもよい。また、例えば、抽出装置１００は、あるウェブページのページ情報が入力された場合に、算出されるニューロンＮＬ２に対応する値ＶＥ２をそのウェブページのベクトルの２次元目の要素として抽出してもよい。このように、抽出装置１００は、各ウェブページのページ情報をモデルＭ１に入力することにより、各ウェブページに対応するベクトルを生成してもよい。なお、抽出装置１００は、各ウェブページに対応するベクトルを情報提供装置５０等の他の外部装置から取得してもよい。なお、抽出装置１００は、ベクトルの各要素として、各ニューロンに対応する値自体を用いてもよいし、各ニューロンに対応する値に所定の係数を乗算した値を用いてもよい。また、図１の例では説明を簡単にするために、ベクトルの各要素（値）が整数である場合を示すが、ベクトルの各要素（値）は、小数点以下の数値を含む実数であってもよい。
【００４７】
なお、抽出装置１００は、圧縮層ＲＰの要素（ニューロン）に限らず、中間層ＣＬ中の他の要素（ニューロン）の情報をベクトルに用いてもよい。例えば、抽出装置１００は、エンコード部分のニューロンＮＬ３やデコード部分のニューロンＮＬ４等の情報をベクトルに用いてもよい。例えば、抽出装置１００は、あるウェブページのページ情報が入力された場合に、算出されるニューロンＮＬ３に対応する値ＶＥ３やニューロンＮＬ４に対応する値ＶＥ４をベクトルの要素（一の次元の値）として抽出してもよい。なお、上記は、一例であり、抽出装置１００は、オートエンコーダに限らず、種々のモデルを用いて、ページ情報からの特徴抽出を行ってもよい。例えば、抽出装置１００は、所定のカテゴリに属するウェブページと所定のカテゴリに属さないウェブページを識別するように学習させたモデルを生成して、その中間層をベクトルデータとして抽出しても良い。また、例えば、トリプレットロス（triplet  loss）といった類似性を学習する方法によりモデルを生成しても良い。また、抽出装置１００は、モデルを用いずに、特徴抽出を行ってもよい。例えば、抽出装置１００は、抽出装置１００の管理者等が設定して特徴（素性）に対応する情報をページ情報から抽出し、ベクトルを生成してもよい。例えば、抽出装置１００は、文字情報、画像情報、動画情報、及び音声情報等の特徴（素性）に対応する情報をページ情報から抽出し、ベクトルを生成してもよい。
【００４８】
また、例えば、抽出装置１００は、情報提供装置５０等の他の外部装置からモデルＭ１を取得してもよい。なお、抽出装置１００は、ウェブページ情報記憶部１２１（図５参照）に記憶された各ウェブページのページ情報ＰＤ１、ＰＤ２、ＰＤ３等を入力として、モデルＭ１を生成してもよい。例えば、端末装置１０は、各ウェブページのページ情報ＰＤ１、ＰＤ２、ＰＤ３等を入力として、モデルＭ１を生成してもよい。例えば、ページ情報ＰＤ１、ＰＤ２、ＰＤ３等は、文字情報、画像情報、動画情報、及び音声情報等を含んでもよい。例えば、ページ情報ＰＤ１、ＰＤ２、ＰＤ３等のページ情報は、対応するウェブページの記事の文字情報や、その記事に対応する画像や動画や音声に関する情報を含んでもよい。また、例えば、ページ情報ＰＤ１、ＰＤ２、ＰＤ３等が、文章や単語群である場合、抽出装置１００は、Ｗｏｒｄ２ＶｅｃやＤｏｃ２Ｖｅｃのようなアルゴリズム等を用いて、ベクトルを生成してもよい。例えば、抽出装置１００は、ページ情報ＰＤ１、ＰＤ２、ＰＤ３等から、Ｄｏｃ２Ｖｅｃを用いてベクトルを生成してもよい。なお、抽出装置１００は、Ｄｏｃ２Ｖｅｃを用いる場合、ページ情報中の文字情報のみを用いてもよい。また、抽出装置１００は、クエリ情報がキーワードの場合、Ｗｏｒｄ２Ｖｅｃでベクトル化したベクトルデータを用いて、検索を行ってもよい。この場合、抽出装置１００は、例えば、各ウェブページの文字情報をＤｏｃ２Ｖｅｃでベクトル化したベクトルデータを生成し、検索を行ってもよい。例えば、抽出装置１００は、キーワードであるクエリ情報からＷｏｒｄ２ＶｅｃによりＮ次元のクエリベクトルを生成し、各ウェブページの文字情報からＤｏｃ２ＶｅｃによりＮ次元のページベクトルを生成し、クエリベクトルとページベクトルとの比較に基づいて、類似ページの検索を行ってもよい。なお、上記は一例であり、抽出装置１００は、従来技術や種々の情報を適宜用いて、キーワードのクエリ情報に基づいて類似ウェブページを抽出してもよい。
【００４９】
抽出装置１００は、ウェブページのページ情報（ウェブページデータ）が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力されたページ情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、入力層に入力される情報と同様の情報を出力層から出力するモデルＭ１を生成してもよい。なお、抽出装置１００は、ベクトル生成に用いるモデルを情報提供装置５０等の他の外部装置から取得してもよい。
【００５０】
図１の例では、抽出装置１００は、ページ情報ＰＤ１１が入力されたモデルＭ１中の各要素の値を用いて、ベクトルデータＶＤ１１（単に「ベクトルＶＤ１１」ともいう）を生成する。例えば、抽出装置１００は、ページＰＧ１１のページ情報ＰＤ１１が入力された場合における、モデルＭ１のニューロンＮＬ１に対応する値ＶＥ１（図１１参照）やニューロンＮＬ２に対応する値ＶＥ２（図１１参照）を用いて、ベクトルを生成する。例えば、抽出装置１００は、ページＰＧ１１のページ情報ＰＤ１１が入力された場合に、算出されるニューロンＮＬ１に対応する値ＶＥ１をベクトルＶＤ１１の１次元目の要素として抽出してもよい。また、例えば、抽出装置１００は、あるウェブページのページ情報が入力された場合に、算出されるニューロンＮＬ２に対応する値ＶＥ２をベクトルＶＤ１１の２次元目の要素として、ベクトルＶＤ１１を生成する。図１の例では、抽出装置１００は、１次元目の要素が「３」であり、２次元目の要素が「１」であるようなベクトルＶＤ１１を生成する。
【００５１】
また、図１の例では、抽出装置１００は、クエリ情報が起点ノードとなるノードＮ１１に対応するページＰＧ１１と同一であるため、起点ノードについては、ベクトルデータの生成や類似度算出等の処理は行わない。例えば、抽出装置１００は、起点ノードが起点基準ＣＲ２に基づくページＰＧ９９に対応するノードＮ９９である場合、クエリ情報に対応するページＰＧ１１と異なるため、起点ノードに対応するベクトルデータの生成や類似度算出等の処理も行う。
【００５２】
次に、抽出装置１００は、起点ノードとなるノードＮ１１から出力エッジが連結されたノードに対応するベクトルを生成する。図１の例では、抽出装置１００は、処理群ＰＳ１２に示すような処理により、ノードＮ１１からエッジＥ１１１が連結されたノードＮ３（ページＰＧ３）に対応するベクトルを生成する。抽出装置１００は、ページＰＧ３に関するページ情報ＰＤ３をモデルＭ１に入力する（ステップＳ１４−３）。具体的には、抽出装置１００は、ページＰＧ３のページ情報ＰＤ３をモデルＭ１に入力する。そして、抽出装置１００は、ページ情報ＰＤ３の入力後のモデルＭ１中の情報を用いて、ベクトルを生成する（ステップＳ１４−４）。例えば、抽出装置１００は、ステップＳ１４−２と同様に、ページ情報ＰＤ３が入力されたモデルＭ１中の各要素を用いて、ベクトルデータＶＤ３を生成する。図１の例では、抽出装置１００は、１次元目の要素が「２」であり、２次元目の要素が「０」であるようなベクトルＶＤ３を生成する。
【００５３】
そして、抽出装置１００は、クエリ情報に対応するベクトルデータＶＤ１１とノードＮ３のベクトルデータＶＤ３とに基づいて、ページＰＧ１１とページＰＧ３との類似度を算出する。ここで、ベクトルデータ間の距離は、ウェブページの類似性を示し、距離が近いほど類似している。そのため、例えば、抽出装置１００は、クエリ情報に対応するベクトルデータＶＤ１１とノードＮ３のベクトルデータＶＤ３との間の距離を算出し、算出した距離をページＰＧ１１とページＰＧ３との類似度（「類似度ＳＭ３」とする）と決定する。なお、類似度を示す指標としての距離は、ベクトル（Ｎ次元ベクトル）間の距離として適用可能であれば、どのような距離であってもよく、例えば、ユークリッド距離やマハラノビス距離やコサイン距離等の種々の距離が用いられてもよい。
【００５４】
そして、抽出装置１００は、ノードＮ３から出力エッジが連結されたノードに対応するベクトルを生成する。図１の例では、抽出装置１００は、処理群ＰＳ１３に示すような処理により、ノードＮ３からエッジＥ３１が連結されたノードＮ１（ページＰＧ１）に対応するベクトルを生成する。抽出装置１００は、ページＰＧ１に関するページ情報ＰＤ１をモデルＭ１に入力する（ステップＳ１４−５）。具体的には、抽出装置１００は、ページＰＧ１のページ情報ＰＤ１をモデルＭ１に入力する。そして、抽出装置１００は、ページ情報ＰＤ１の入力後のモデルＭ１中の情報を用いて、ベクトルを生成する（ステップＳ１４−６）。例えば、抽出装置１００は、ステップＳ１４−２と同様に、ページ情報ＰＤ１が入力されたモデルＭ１中の各要素を用いて、ベクトルデータＶＤ１を生成する。図１の例では、抽出装置１００は、１次元目の要素が「１」であり、２次元目の要素が「１」であるようなベクトルＶＤ１を生成する。
【００５５】
そして、抽出装置１００は、クエリ情報に対応するベクトルデータＶＤ１１とノードＮ１のベクトルデータＶＤ１とに基づいて、ページＰＧ１１とページＰＧ１との類似度を算出する。例えば、抽出装置１００は、クエリ情報に対応するベクトルデータＶＤ１１とノードＮ１のベクトルデータＶＤ１との間の距離を算出し、算出した距離をページＰＧ１１とページＰＧ１との類似度（「類似度ＳＭ１」とする）と決定する。例えば、抽出装置１００は、類似度ＳＭ３と類似度ＳＭ１との比較に基づいて、ページＰＧ３とページＰＧ１とがクエリ情報としてのページＰＧ１１との類似度に応じて順位付けされたリストを生成してもよい。図１の例では、抽出装置１００は、ページＰＧ３の方がページＰＧ１よりもページＰＧ１１に類似しているため、ページＰＧ３の順位をページＰＧ１の順位よりも高くしたリスト（「リストＬＴ」とする）を生成してもよい。
【００５６】
また、図１の例では、ノードＮ３からエッジＥ３２が連結されたノードＮ１１は起点ノードであり、既に処理済みのノードであるためベクトルの生成や類似度算出の処理を行わない。そして、図１の例では、抽出装置１００は、処理群ＰＳ１４に示すような処理により、ノードＮ３からエッジＥ３３が連結されたノードＮ６１８（ページＰＧ６１８）に対応するベクトルを生成する。抽出装置１００は、ページＰＧ６１８に関するページ情報ＰＤ６１８をモデルＭ１に入力する（ステップＳ１４−７）。具体的には、抽出装置１００は、ページＰＧ６１８のページ情報ＰＤ６１８をモデルＭ１に入力する。そして、抽出装置１００は、ページ情報ＰＤ６１８の入力後のモデルＭ１中の情報を用いて、ベクトルを生成する（ステップＳ１４−８）。例えば、抽出装置１００は、ステップＳ１４−２と同様に、ページ情報ＰＤ６１８が入力されたモデルＭ１中の各要素を用いて、ベクトルデータＶＤ６１８を生成する。図１の例では、抽出装置１００は、１次元目の要素が「０」であり、２次元目の要素が「０」であるようなベクトルＶＤ６１８を生成する。
【００５７】
そして、抽出装置１００は、クエリ情報に対応するベクトルデータＶＤ１１とノードＮ６１８のベクトルデータＶＤ６１８とに基づいて、ページＰＧ１１とページＰＧ６１８との類似度を算出する。例えば、抽出装置１００は、クエリ情報に対応するベクトルデータＶＤ１１とノードＮ６１８のベクトルデータＶＤ６１８との間の距離を算出し、算出した距離をページＰＧ１１とページＰＧ６１８との類似度（「類似度ＳＭ６１８」とする）と決定する。例えば、抽出装置１００は、類似度ＳＭ６１８に基づいて、リストＬＴを更新してもよい。図１の例では、抽出装置１００は、ページＰＧ６１８がページＰＧ１よりもページＰＧ１１に類似しているため、ページＰＧ６１８の順位をページＰＧ１の順位よりも高くしたリストＬＴを生成してもよい。また、抽出装置１００は、ページＰＧ３がページＰＧ６１８よりもページＰＧ１１に類似しているため、ページＰＧ３、ページＰＧ６１８、ページＰＧ１の順で並んだリストＬＴを生成してもよい。
【００５８】
そして、上記のような処理を繰り返すことにより、抽出装置１００は、ページＰＧ１１に類似するウェブページを抽出する。例えば、抽出装置１００は、ノードＮ１１（ページＰＧ１１）の出力エッジが連結されるノードと、ノードＮ６１８（ページＰＧ６１８）の出力エッジが連結されるノードとのいずれを先に処理するかを、クエリ情報との類似度に基づいて決定してもよい。例えば、抽出装置１００は、クエリ情報との類似度が高い、すなわちクエリ情報と類似しているノードの連結先を先に処理すると決定してもよい。例えば、抽出装置１００は、ページＰＧ６１８の方がページＰＧ１１よりもページＰＧ１１に類似しているため、ノードＮ６１８（ページＰＧ６１８）の出力エッジが連結されるノードを先に処理すると決定する。そして、抽出装置１００は、処理対象となったノードに対応するページ情報を、モデルＭ１を用いてリアルタイムに順次ベクトル化し、クエリ情報との類似度を算出する。そして、抽出装置１００は、クエリ情報との類似度に基づいて、各ページを順位付けしたリストＬＴを生成する。
【００５９】
なお、検索処理を終了するかを適宜の条件により決定してもよい。例えば、抽出装置１００は、検索の起点ノードから所定数のエッジまでの範囲を検索範囲としてもよい。例えば、抽出装置１００は、検索の起点ノードからエッジを４本まで辿って到達可能な範囲を検索範囲としてもよい。例えば、抽出装置１００は、検索対象として処理したノード数が所定の閾値（例えば１００や１０００等）を超えるまで処理を繰り返してもよい。
【００６０】
図１の例では、説明を簡単にするために、抽出装置１００は、検索の起点となるノードＮ１１からエッジを４本まで辿って到達可能な範囲を検索範囲とする場合を示す。この場合、抽出装置１００は、エッジＥ１１１、エッジＥ３１、エッジＥ１１と３本のエッジを辿って到達可能なノードＮ２の参照先となるノードＮ９０、Ｎ２４６、Ｎ２１１等までを検索範囲とする。すなわち、抽出装置１００は、ノードＮ１１から４本のエッジを辿って到達可能なノードＮ９０、Ｎ２４６、Ｎ２１１等までを検索範囲とする。
【００６１】
抽出装置１００は、所定のフラグ等を用いて、処理対象となるノードが起点ノードからエッジを何本辿って到達したかを特定可能にしてもよい。例えば、抽出装置１００は、ノード毎に対応付けたフラグを用いて、そのノードに到達するまでに辿ったエッジの本数を特定可能にしてもよい。例えば、抽出装置１００は、参照元のノードのフラグをインクリメント（１加算した）した値を参照先のノードのフラグとすることにより、そのノードに到達するまでに辿ったエッジの本数を特定可能にしてもよい。例えば、抽出装置１００は、処理対象としたノードのフラグが４より大きい場合、そのエッジの処理を行わず次のノードの処理対象としてもよい。図１の例では、上述のような処理を繰り返すことにより、抽出装置１００は、クエリ情報であるページＰＧ１１に類似する方からページＰＧ２１１、ページＰＧ３、ページＰＧ６１８、ページＰＧ２の順で並んだリストＬＴを生成してもよい。
【００６２】
このように、抽出装置１００は、グラフ情報ＧＲ１１を検索することにより、ページＰＧ１１の類似ページを抽出する（ステップＳ１５）。図１の例では、上記のように、抽出装置１００は、ノードＮ１１を起点として、グラフ情報ＧＲ１１を探索することにより、ノードＮ２１１やノードＮ３を類似ページとして抽出する。図１の例では、抽出装置１００は、リストＬＴから類似度が高い方から順に類似ページを抽出する。例えば、抽出装置１００は、所定数（例えば、２個や１０個等）のノードを類似ページとして抽出する。例えば、抽出装置１００は、所定数が２個である場合、ページＰＧ１１に最も類似するページＰＧ２１１と２番目に類似するページＰＧ３を類似ページとして抽出する。
【００６３】
なお、上記は一例であり、抽出装置１００は、種々の情報や基準を用いて類似ページを抽出してもよい。例えば、抽出装置１００は、非特許文献１に開示されるような近傍検索の技術等の種々の従来技術を適宜用いて、ページＰＧ１１の類似ページを検索してもよい。例えば、抽出装置１００は、図１２に示すような検索処理により、ページＰＧ１１の類似ページを抽出してもよいが、詳細は後述する。
【００６４】
そして、抽出装置１００は、抽出した類似ページに関する情報を提供する（ステップＳ１６）。図１の例では、抽出装置１００は、ノードＮ２１１に対応するページＰＧ２１１を示す情報や、ノードＮ３に対応するページＰＧ３を示す情報をユーザＵ１が利用する端末装置１０に提供する。抽出装置１００は、ノードＮ２１１に対応するページＰＧ２１１を示す情報や、ノードＮ３に対応するページＰＧ３を示す情報をユーザＵ１が利用する端末装置１０に送信（配信）する。例えば、抽出装置１００は、ウェブページ＃２１１や、ウェブページ＃３をページＰＧ１１に類似するウェブページとしてユーザＵ１が利用する端末装置１０に提供する。例えば、抽出装置１００は、ウェブページ＃２１１や、ウェブページ＃３をページＰＧ１１に類似するウェブページとしてユーザＵ１が利用する端末装置１０に送信（配信）する。
【００６５】
上述したように、抽出装置１００は、ウェブページのリンク関係に基づくグラフ情報ＧＲ１１を用いて、ユーザＵ１から取得したページＰＧ１１の類似ページを抽出する。例えば、抽出装置１００は、起点基準ＣＲ１を用いて、ページＰＧ１１の類似ページを抽出する際のグラフ情報ＧＲ１１における起点ベクトルを決定する。そして、抽出装置１００は、決定した起点ベクトルを起点としてグラフ情報ＧＲ１１を探索することにより、ページＰＧ１１の類似ページを抽出する。これにより、抽出装置１００は、類似のウェブページを適切に抽出することができる。例えば、ディープラーニングといった手法で、ウェブページを識別するという方法もあるが、ウェブページを構成する多種多様な要素が存在する場合においては、各要素の事例が少ないので、学習ができずに識別精度を向上させることが難しいという問題がある。例えば、ディープラーニングといった学習手法で生成したモデルを用いて、そのモデルにウェブページの情報を入力し、出力されたスコアからそのウェブページがどのカテゴリ等に属するかを識別するという方法もあるが、多種多様な要素が存在する場合においては、各要素の事例が少ないため、モデルの精度を向上させることが難しく、識別精度を向上させることが難しい。一方で、抽出装置１００は、ウェブページのリンク関係に基づいてグラフ構造を形成する。そして、抽出装置１００は、検索の際には、各ノードに対応するページ情報をリアルタイムにベクトル化し、クエリ情報と各ノードとの類似度を用いて検索を行うことにより、あるウェブページに類似する類似ページを適切に抽出することができる。そのため、抽出装置１００は、あるウェブページがどのようなウェブページに類似するかを精度よく識別することができる。なお、抽出装置１００は、リアルタイムにベクトル化する場合に限らず、例えば予め各ウェブページをベクトル化したデータを用いてもよい。
【００６６】
〔１−３．インデックス情報〕
なお、抽出装置１００は、種々のインデックス情報を用いて、グラフ情報を検索してもよい。また、例えば、抽出装置１００は、検索時に用いるインデックスデータを生成してもよい。例えば、抽出装置１００は、高次元ベクトルを検索する検索インデックスをインデックスデータとして生成する。ここでいう高次元ベクトルとは、例えば、数百次元から数千次元のベクトルであってもよいし、それ以上の次元のベクトルであってもよい。
【００６７】
例えば、抽出装置１００は、ツリー構造（木構造）に関する検索インデックスをインデックスデータとして生成してもよい。例えば、抽出装置１００は、ｋｄ木（k-dimensional  tree）に関する検索インデックスをインデックスデータとして生成してもよい。例えば、抽出装置１００は、ＶＰ木（Vantage-Point  tree）に関する検索インデックスをインデックスデータとして生成してもよい。
【００６８】
また、例えば、抽出装置１００は、その他の木構造を有するインデックスデータとして生成してもよい。例えば、抽出装置１００は、木構造のインデックスデータのリーフがグラフデータに接続する種々のインデックスデータを生成してもよい。例えば、抽出装置１００は、木構造のインデックスデータのリーフがグラフデータ中のノードに対応する種々のインデックスデータを生成してもよい。また、抽出装置１００は、このようなインデックスデータを用いて検索を行う場合、インデックスデータを辿って到達したリーフ（ノード）からグラフデータを探索してもよい。
【００６９】
なお、上述したようなインデックスデータは一例であり、抽出装置１００は、グラフデータ中のクエリを高速に特定することが可能であれば、どのようなデータ構造のインデックスデータを生成してもよい。例えば、抽出装置１００は、クエリに対応するグラフ情報中のノードを高速に特定することが可能であれば、バイナリ空間分割に関する技術等の種々の従来技術を適宜用いて、インデックスデータを生成してもよい。例えば、抽出装置１００は、高次元ベクトルの検索に対応可能なインデックスであれば、どのようなデータ構造のインデックスデータを生成してもよい。例えば、抽出装置１００は、非特許文献１に記載されるようなグラフ型の検索インデックスに関する情報をインデックス情報として用いてもよい。抽出装置１００は、上述のようなインデックスデータとグラフデータとを用いることにより、所定の対象に関するより効率的な検索を可能にすることができる。
【００７０】
〔２．抽出システムの構成〕
図３に示すように、抽出システム１は、端末装置１０と、情報提供装置５０と、抽出装置１００とが含まれる。端末装置１０と、情報提供装置５０と、抽出装置１００とは所定のネットワークＮを介して、有線または無線により通信可能に接続される。図３は、実施形態に係る抽出システムの構成例を示す図である。なお、図３に示した抽出システム１には、複数台の端末装置１０や、複数台の情報提供装置５０や、複数台の抽出装置１００が含まれてもよい。
【００７１】
端末装置１０は、ユーザによって利用される情報処理装置である。端末装置１０は、ユーザによる種々の操作を受け付ける。なお、以下では、端末装置１０をユーザと表記する場合がある。すなわち、以下では、ユーザを端末装置１０と読み替えることもできる。なお、上述した端末装置１０は、例えば、スマートフォンや、タブレット型端末や、ノート型ＰＣ（Personal  Computer）や、デスクトップＰＣや、携帯電話機や、ＰＤＡ（Personal  Digital  Assistant）等により実現される。図１の例では、端末装置１０は、ユーザＵ１が利用するノートパソコンである場合を示す。例えば、端末装置１０は、ブラウザＢＷに表示されたウェブページ（コンテンツ）のページ情報を収集し、ページ情報を抽出装置１００へ送信する。
【００７２】
抽出装置１００は、起点ベクトルを起点としてグラフ情報を検索することにより、複数のウェブページのうち、一のウェブページに類似するウェブページである類似ページを抽出する情報処理装置である。例えば、抽出装置１００は、一のウェブページに関するページ情報を取得し、ページ情報と、グラフ情報の検索の起点となる起点ベクトルに関する情報とに基づいて、起点ベクトルを決定する。
【００７３】
抽出装置１００は、ユーザ等に種々の情報提供を行うための情報が格納された情報処理装置である。例えば、抽出装置１００は、端末装置１０から一のウェブページのページ情報（以下、「クエリ情報」や「クエリ」ともいう）を取得すると、クエリに類似するウェブページ（ベクトル情報等）を検索し、検索結果を端末装置１０に提供する。図１の例では、抽出装置１００は、端末装置１０から一のウェブページのページ情報を取得すると、一のウェブページに類似するウェブページを検索し、検索結果を類似のウェブページとして端末装置１０に提供する。また、例えば、抽出装置１００が端末装置１０に提供するデータは、ウェブページの名称やウェブページのページ情報自体であってもよいし、ＵＲＬ（Uniform  Resource  Locator）等の対応するデータを参照するための情報であってもよい。
【００７４】
情報提供装置５０は、抽出装置１００に種々の情報提供を行うための情報が格納された情報処理装置である。例えば、情報提供装置５０は、ウェブサーバ等の種々の外部装置から収集したページ情報等が格納されてもよい。例えば、情報提供装置５０は、グラフ情報やインデックス情報やモデル等の種々の情報を抽出装置１００に提供する情報処理装置である。
【００７５】
〔３．抽出装置の構成〕
次に、図４を用いて、実施形態に係る抽出装置１００の構成について説明する。図４は、実施形態に係る抽出装置の構成例を示す図である。図４に示すように、抽出装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、抽出装置１００は、抽出装置１００の管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【００７６】
（通信部１１０）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部１１０は、ネットワーク（例えば図３中のネットワークＮ）と有線または無線で接続され、端末装置１０や情報提供装置５０との間で情報の送受信を行う。
【００７７】
（記憶部１２０）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部１２０は、図４に示すように、ウェブページ情報記憶部１２１と、起点基準情報記憶部１２２と、グラフ情報記憶部１２３と、モデル情報記憶部１２４とを有する。
【００７８】
（ウェブページ情報記憶部１２１）
実施形態に係るウェブページ情報記憶部１２１は、ウェブページ（オブジェクト）に関する各種情報を記憶する。例えば、ウェブページ情報記憶部１２１は、ページＩＤやベクトルデータを記憶する。図５は、実施形態に係るウェブページ情報記憶部の一例を示す図である。図５に示すウェブページ情報記憶部１２１は、「ページＩＤ」、「ウェブページ」、「ページ情報」、「ＵＲＬ」、「リンク先」といった項目が含まれる。
【００７９】
「ページＩＤ」は、ウェブページ（オブジェクト）を識別するための識別情報を示す。また、「ウェブページ」は、ページＩＤにより識別されるウェブページの具体的な名称や内容等を示す。なお、図５の例では、ウェブページを「ウェブページ＃１」といった抽象的な符号で示すが、各ウェブページは、どのようなウェブページであるかを示す情報やウェブページの提供元を示す情報やそのウェブページが含まれるウェブサイトを示す情報等が含まれてもよい。
【００８０】
「ページ情報」は、ページＩＤにより識別されるウェブページに関する情報（ページ情報）を示す。なお、図５の例では、ページ情報を「ＰＤ１」といった抽象的な符号で示すが、各ページ情報は、ページＩＤにより識別されるウェブページの文字情報、画像情報、動画情報、及び音声情報等の種々のウェブページに関する情報を含む。「ＵＲＬ」は、ページＩＤにより識別されるウェブページのＵＲＬを示す。なお、図５の例では、「ＵＲＬ」を「ＵＲＬ１」といった抽象的な符号で示すが、各ページ情報は、ページＩＤにより識別されるウェブページの具体的にＵＲＬ、例えば、「www.ＸＸＸ．ｃｏ.…」といった具体的なＵＲＬを示す情報が記憶される。「リンク先」は、ページＩＤにより識別されるウェブページのリンク先を示す。例えば、「リンク先」は、ページＩＤにより識別されるウェブページに含まれるリンク（ハイパーリンク）が参照するウェブページを示す。なお、図５の例では、「リンク先」に、「ＰＧ２」等のウェブページのページＩＤを図示するが、「リンク先」には、リンク先のウェブページが特定可能であればどのような情報が記憶されてもよい。
【００８１】
例えば、図５の例では、ページＩＤ「ＰＧ１」により識別されるウェブページ（オブジェクト）は、ウェブページ＃１であり、ページ情報ＰＤ１が含まれることを示す。また、ページＩＤ「ＰＧ１」により識別されるウェブページ（ページＰＧ１）は、ＵＲＬが「ＵＲＬ１」であり、リンク先にページＰＧ２やページＰＧ５０が含まれることを示す。
【００８２】
なお、ウェブページ情報記憶部１２１は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【００８３】
（起点基準情報記憶部１２２）
実施形態に係る起点基準情報記憶部１２２は、検索の開始の起点を決定する基準に関する各種情報を記憶する。図６は、実施形態に係る起点基準情報記憶部の一例を示す図である。図６の例では、起点基準情報記憶部１２２は、「基準ＩＤ」、「起点基準」等といった項目が含まれる。
【００８４】
「基準ＩＤ」は、ウェブページ（オブジェクト）を探索する際の起点を決定する基準を識別するための識別情報を示す。また、「起点基準」は、基準ＩＤにより識別される起点基準の具体的な内容等を示す。
【００８５】
例えば、図６の例では、基準ＩＤ「ＣＲ１」により識別される起点基準（起点基準ＣＲ１）は、「閲覧中」であることを示す。すなわち、起点基準ＣＲ１は、ユーザが閲覧中のウェブページを検索開始の起点とすることを示す。また、例えば、図６の例では、基準ＩＤ「ＣＲ２」により識別される起点基準（起点基準ＣＲ２）は、「ページＰＧ９９（ＵＲＬ９９）」であることを示す。すなわち、起点基準ＣＲ２は、ページＰＧ９９を検索開始の起点とすることを示す。例えば、ページＰＧ９９は、有名なサイトのトップページであってもよい。
【００８６】
なお、起点基準情報記憶部１２２は、上記に限らず、目的に応じて種々の情報を記憶してもよい。
【００８７】
（グラフ情報記憶部１２３）
実施形態に係るグラフ情報記憶部１２３は、グラフ情報に関する各種情報を記憶する。図７は、実施形態に係るグラフ情報記憶部の一例を示す図である。図７の例では、グラフ情報記憶部１２３は、「ノードＩＤ」、「ページＩＤ」、および「エッジ情報」といった項目を有する。また、「エッジ情報」には、「エッジＩＤ」や「参照先」といった情報が含まれる。
【００８８】
「ノードＩＤ」は、グラフデータにおける各ノード（対象）を識別するための識別情報を示す。また、「ページＩＤ」は、ウェブページ（オブジェクト）を識別するための識別情報を示す。
【００８９】
また、「エッジ情報」は、対応するノードに接続されるエッジに関する情報を示す。図７の例では、「エッジ情報」は、エッジが有向エッジである場合を示し、対応するノードから出力される出力エッジに関する情報を示す。また、「エッジＩＤ」は、ノード間を連結するエッジを識別するための識別情報を示す。また、「参照先」は、エッジにより連結された参照先（ノード）を示す情報を示す。すなわち、図７の例では、ノードを識別するノードＩＤに対して、そのノードに対応するオブジェクト（対象）を識別する情報やそのノードからの有向エッジ（出力エッジ）が連結される参照先（ノード）が対応付けられて登録されている。
【００９０】
例えば、図７の例では、ノードＩＤ「Ｎ１」により識別されるノード（ベクトル）は、ページＩＤ「ＰＧ１」により識別されるウェブページ（オブジェクト）に対応することを示す。また、ノードＩＤ「Ｎ１」により識別されるノードからは、エッジＩＤ「Ｅ１１」により識別されるエッジが、ノードＩＤ「Ｎ２」により識別されるノード（ベクトル）に連結されることを示す。すなわち、図７の例では、ノードＩＤ「Ｎ１」により識別されるノード（ベクトル）からはノードＩＤ「Ｎ２」により識別されるノード（ベクトル）に辿ることができることを示す。
【００９１】
なお、グラフ情報記憶部１２３は、上記に限らず、目的に応じて種々の情報を記憶してもよい。例えば、グラフ情報記憶部１２３は、各ノード（ベクトル）間を連結するエッジの長さが記憶されてもよい。すなわち、グラフ情報記憶部１２３は、各ノード（ベクトル）間の距離を示す情報が記憶されてもよい。
【００９２】
（モデル情報記憶部１２４）
実施形態に係るモデル情報記憶部１２４は、モデルに関する情報を記憶する。例えば、モデル情報記憶部１２４は、生成処理により生成されたモデル情報（モデルデータ）を記憶する。図８は、実施形態に係るモデル情報記憶部の一例を示す図である。図８に示すモデル情報記憶部１２４は、「モデルＩＤ」、「用途」、「モデルデータ」といった項目が含まれる。なお、図８では、モデルＭ１のみを図示するが、Ｍ２、Ｍ２１、Ｍ２２等、各用途に応じて多数のモデル情報が記憶されてもよい。
【００９３】
「モデルＩＤ」は、モデルを識別するための識別情報を示す。例えば、モデルＩＤ「Ｍ１」により識別されるモデルは、図１の例に示したモデルＭ１に対応する。「用途」は、対応するモデルの用途を示す。また、「モデルデータ」は、対応付けられた対応するモデルのデータを示す。例えば、「モデルデータ」には、各層におけるノードと、各ノードが採用する関数と、ノードの接続関係と、ノード間の接続に対して設定される接続係数とを含む情報が含まれる。
【００９４】
例えば、図８に示す例において、モデルＩＤ「Ｍ１」により識別されるモデル（モデルＭ１）は、用途が「特徴抽出（ウェブページ）」であり、入力されたページ情報からの特徴の抽出に用いられることを示す。また、モデルＭ１のモデルデータは、モデルデータＭＤＴ１であることを示す。
【００９５】
モデルＭ１（モデルデータＭＤＴ１）は、所定のウェブページのページ情報（ページ情報）が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力されたページ情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、入力層に入力される情報と同様の情報を出力層から出力するよう、コンピュータを機能させるためのモデルである。
【００９６】
また、モデルＭ１、Ｍ２等がＤＮＮ（Deep  Neural  Network）等、１つまたは複数の中間層を有するニューラルネットワークで実現されるとする。この場合、例えば、モデルＭ１、Ｍ２が含む第１要素は、入力層または中間層が有するいずれかのノードに対応する。また、第２要素は、第１要素と対応するノードから値が伝達されるノードである次段のノードに対応する。また、第１要素の重みは、第１要素と対応するノードから第２要素と対応するノードに伝達される値に対して考慮される重みである接続係数に対応する。
【００９７】
ここで、モデルＭ２１、Ｍ２２等が「ｙ＝ａ１＊ｘ１＋ａ２＊ｘ２＋・・・＋ａｉ＊ｘｉ」で示す回帰モデルで実現されるとする。この場合、例えば、モデルＭ２１、Ｍ２２が含む第１要素は、ｘ１やｘ２等といった入力データ（ｘｉ）に対応する。また、第１要素の重みは、ｘｉに対応する係数ａｉに対応する。ここで、回帰モデルは、入力層と出力層とを有する単純パーセプトロンと見做すことができる。各モデルを単純パーセプトロンと見做した場合、第１要素は、入力層が有するいずれかのノードに対応し、第２要素は、出力層が有するノードと見做すことができる。
【００９８】
なお、モデル情報記憶部１２４は、上記に限らず、目的に応じて種々のモデル情報を記憶してもよい。
【００９９】
（制御部１３０）
図４の説明に戻って、制御部１３０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、抽出装置１００内部の記憶装置に記憶されている各種プログラム（抽出プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、コントローラであり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。制御部１３０は、モデル情報記憶部１２４に記憶されているモデルＭ１等に従った情報処理により、ウェブページのページ情報（ウェブページデータ）が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力されたページ情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、入力層に入力される情報と同様の情報を出力層から出力する。
【０１００】
図４に示すように、制御部１３０は、取得部１３１と、生成部１３２と、決定部１３３と、抽出部１３４と、提供部１３５とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図４に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【０１０１】
（取得部１３１）
取得部１３１は、各種情報を取得する。例えば、取得部１３１は、記憶部１２０から各種情報を取得する。例えば、取得部１３１は、ウェブページ情報記憶部１２１や、起点基準情報記憶部１２２や、グラフ情報記憶部１２３や、モデル情報記憶部１２４等から各種情報を取得する。また、取得部１３１は、各種情報を外部の情報処理装置から取得する。取得部１３１は、端末装置１０や情報提供装置５０から各種情報を取得する。
【０１０２】
取得部１３１は、複数のウェブページの各々に対応する複数のノードが複数のウェブページのリンクに対応するエッジで連結されたグラフ情報と、検索に関するクエリ情報とを取得する。また、取得部１３１は、一のウェブページの情報をクエリ情報として取得する。また、取得部１３１は、文字列情報をクエリ情報として取得する。また、取得部１３１は、ユーザが利用する端末装置１０からクエリ情報に関するページ情報を取得する。
【０１０３】
また、取得部１３１は、複数のウェブページに関する情報を所定のモデルに入力することにより、抽出される複数のウェブページの各々の特徴量を要素とする複数のベクトルが、複数のウェブページのリンクに対応するエッジで連結されたグラフ情報を取得してもよい。
【０１０４】
例えば、取得部１３１は、データ検索の対象となる複数のノード（ベクトル）を取得する。例えば、取得部１３１は、複数のノードと、複数のノードの各々を連結する複数の有向エッジを含む有向エッジ群を取得する。
【０１０５】
例えば、取得部１３１は、外部の情報処理装置からグラフ情報（グラフデータ）を取得する。例えば、取得部１３１は、グラフ情報記憶部１２３からグラフ情報を取得する。例えば、取得部１３１は、グラフ情報を取得する。図１の例では、取得部１３１は、グラフ情報ＧＲ１１を取得する。
【０１０６】
また、取得部１３１は、ユーザが利用する端末装置１０から一のウェブページに関するページ情報を取得する。例えば、取得部１３１は、検索クエリとして、一のウェブページのページ情報を取得する。例えば、取得部１３１は、ウェブページに関する検索クエリを取得する。取得部１３１は、ユーザＵ１が端末装置１０で閲覧中のウェブページであるページＰＧ１１のページ情報ＰＤ１１をクエリ情報として取得する。
【０１０７】
例えば、取得部１３１は、一のウェブページに関するページ情報（ウェブページデータ）を取得する。例えば、取得部１３１は、端末装置１０からページＰＧ１１のページ情報ＰＤ１１を取得する。例えば、取得部１３１は、グラフ情報記憶部１２３からウェブページに関するグラフ情報ＧＲ１１を取得する。また、例えば、取得部１３１は、起点基準情報記憶部１２２（図６参照）から、グラフ情報ＧＲ１１における検索の起点となるノード（起点ベクトル）の決定に用いる起点基準情報を取得する。
【０１０８】
図１の例では、取得部１３１は、クエリ情報と閲覧ページを特定する情報を取得する。例えば、取得部１３１は、端末装置１０からページＰＧ１１に関するページ情報ＰＤ１１とページＰＧ１１を特定する情報（ページＩＤ）を取得する。
【０１０９】
（生成部１３２）
生成部１３２は、各種情報を生成する。例えば、生成部１３２は、ウェブページ情報記憶部１２１に記憶された学習データ（ページ情報）を用いて、モデル情報記憶部１２４に示すようなモデルを生成する。例えば、生成部１３２は、取得部１３１により取得された学習データに基づいて、入力したページ情報と同様の情報を出力するモデル（オートエンコーダ）を生成する。例えば、生成部１３２は、入力するページ情報自体を正解情報として、入力したページ情報と同様の情報を出力するモデル（オートエンコーダ）を生成する。
【０１１０】
例えば、生成部１３２は、モデルＭ１等を生成し、生成したモデルＭ１等をモデル情報記憶部１２４に格納する。なお、生成部１３２は、いかなる学習アルゴリズムを用いてモデルＭ１を生成してもよい。例えば、生成部１３２は、ニューラルネットワーク（neural  network）等の学習アルゴリズムを用いてモデルＭ１を生成する。一例として、生成部１３２がニューラルネットワークを用いてモデルＭ１等を生成する場合、モデルＭ１等は、一以上のニューロンを含む入力層と、一以上のニューロンを含む中間層と、一以上のニューロンを含む出力層とを有する。
【０１１１】
生成部１３２は、ウェブページのページ情報（ウェブページデータ）が入力される入力層と、出力層と、入力層から出力層までのいずれかの層であって出力層以外の層に属する第１要素と、第１要素と第１要素の重みとに基づいて値が算出される第２要素と、を含み、入力層に入力されたページ情報に対し、出力層以外の各層に属する各要素を第１要素として、第１要素と第１要素の重みとに基づく演算を行うことにより、入力層に入力される情報と同様の情報を出力層から出力するモデルを生成する。
【０１１２】
例えば、生成部１３２は、学習データに基づいてモデルを生成する。例えば、生成部１３２は、学習データに基づいてモデルを生成する。例えば、生成部１３２は、ウェブページ情報記憶部１２１中のページ情報ＰＤ１、ＰＤ２等を学習データ（教師データ）として、学習を行うことにより、モデルを生成する。
【０１１３】
例えば、生成部１３２は、ページ情報ＰＤ１が入力された場合に、モデルＭ１がページ情報ＰＤ１と同様の情報を出力するように、学習処理を行う。例えば、生成部１３２は、ページ情報ＰＤ２が入力された場合に、モデルＭ１がページ情報ＰＤ２と同様の情報を出力するように、学習処理を行う。
【０１１４】
なお、生成部１３２は、オートエンコーダとしてのＭ１に限らず、種々の学習アルゴリズムを用いて種々のモデルを生成してもよい。例えば、生成部１３２は、Ｗｏｒｄ２Ｖｅｃのような単語からベクトルを生成するモデルＭ２１やＤｏｃ２Ｖｅｃのような文章からベクトルを生成するＭ２２等を生成してもよい。例えば、生成部１３２は、クエリ情報がキーワード等の文字列である場合、Ｗｏｒｄ２Ｖｅｃのような単語からベクトルを生成するモデルＭ２１を用いて、クエリ情報からベクトルを生成してもよい。また、例えば、生成部１３２は、クエリ情報がウェブページ等の文章である場合、Ｄｏｃ２Ｖｅｃのような文章からベクトルを生成するＭ２２を用いて、クエリ情報からベクトルを生成してもよい。例えば、生成部１３２は、クエリ情報がウェブページに含まれる文章である場合、Ｄｏｃ２Ｖｅｃのような文章からベクトルを生成するＭ２２を用いて、クエリ情報からベクトルを生成してもよい。例えば、生成部１３２は、ニューラルネットワーク（neural  network）、サポートベクターマシン（ＳＶＭ）、クラスタリング、強化学習等の学習アルゴリズムを用いてモデルＭ２１、Ｍ２２等を生成する。一例として、生成部１３２がニューラルネットワークを用いてモデルＭ２１、Ｍ２２等を生成する場合、モデルＭ２１、Ｍ２２等は、一以上のニューロンを含む入力層と、一以上のニューロンを含む中間層と、一以上のニューロンを含む出力層とを有する。
【０１１５】
生成部１３２は、モデルを生成し、生成したモデルをモデル情報記憶部１２４に格納する。なお、抽出装置１００は、情報提供装置５０等の他の外部装置からモデルを取得する場合、生成部１３２を有しなくてもよい。
【０１１６】
図１の例では、生成部１３２は、ページ情報の特徴を抽出するモデルを用いて各ウェブページのページ情報からＮ次元ベクトルを生成する。生成部１３２は、モデル情報記憶部１２４（図８参照）に示すモデルＭ１を用いて、各ウェブページのページ情報からベクトルを生成する。
【０１１７】
また、生成部１３２はクエリ情報としてのページ情報からグラフ情報の探索に用いるベクトルを生成する。図１の例では、生成部１３２は、処理群ＰＳ１１に示すような処理により、ページＰＧ１１に対応するベクトルを生成する。生成部１３２は、ページＰＧ１１に関するページ情報ＰＤ１１をモデルＭ１に入力する。具体的には、生成部１３２は、ページＰＧ１１のページ情報ＰＤ１１をモデルＭ１に入力する。そして、生成部１３２は、ページ情報ＰＤ１１の入力後のモデルＭ１中の情報を用いて、ベクトルを生成する。例えば、生成部１３２は、ページ情報ＰＤ１１が入力されたモデルＭ１中の各要素を用いて、ベクトルデータＶＤ１１を生成する。
【０１１８】
図１の例では、生成部１３２は、ページ情報ＰＤ１１が入力されたモデルＭ１中の各要素の値を用いて、ベクトルＶＤ１１を生成する。例えば、生成部１３２は、ページＰＧ１１のページ情報ＰＤ１１が入力された場合における、モデルＭ１のニューロンＮＬ１に対応する値ＶＥ１（図１１参照）やニューロンＮＬ２に対応する値ＶＥ２（図１１参照）を用いて、ベクトルを生成する。例えば、生成部１３２は、ページＰＧ１１のページ情報ＰＤ１１が入力された場合に、算出されるニューロンＮＬ１に対応する値ＶＥ１をベクトルＶＤ１１の１次元目の要素として抽出してもよい。また、例えば、生成部１３２は、あるウェブページのページ情報が入力された場合に、算出されるニューロンＮＬ２に対応する値ＶＥ２をベクトルＶＤ１１の２次元目の要素として、ベクトルＶＤ１１を生成する。図１の例では、生成部１３２は、１次元目の要素が「３」であり、２次元目の要素が「１」であるようなベクトルＶＤ１１を生成する。
【０１１９】
図１の例では、生成部１３２は、起点ノードとなるノードＮ１１から出力エッジが連結されたノードに対応するベクトルを生成する。図１の例では、生成部１３２は、処理群ＰＳ１２に示すような処理により、ノードＮ１１からエッジＥ１１１が連結されたノードＮ３（ページＰＧ３）に対応するベクトルを生成する。抽出装置１００は、ページＰＧ３に関するページ情報ＰＤ３をモデルＭ１に入力する。具体的には、生成部１３２は、ページＰＧ３のページ情報ＰＤ３をモデルＭ１に入力する。そして、生成部１３２は、ページ情報ＰＤ３の入力後のモデルＭ１中の情報を用いて、ベクトルを生成する。例えば、生成部１３２は、ページ情報ＰＤ３が入力されたモデルＭ１中の各要素を用いて、ベクトルデータＶＤ３を生成する。生成部１３２は、１次元目の要素が「２」であり、２次元目の要素が「０」であるようなベクトルＶＤ３を生成する。
【０１２０】
例えば、生成部１３２は、モデルＭ２１を用いて各ウェブページのページ情報からＮ次元ベクトルを生成してもよい。例えば、生成部１３２は、ウェブページに対応するページ情報をモデルＭ２１に入力し、各ウェブページのページ情報からベクトルを生成する。例えば、生成部１３２は、モデルＭ２１にウェブページのページ情報を入力することにより、モデルＭ２１中の各要素（ニューロン）の値を演算し、入力したページ情報に対応するスコアを出力する。例えば、生成部１３２は、モデルＭ２１の中間層の各要素（ニューロン）の値を特徴量として抽出し、各ウェブページに対応するＮ次元のベクトルデータを生成してもよい。
【０１２１】
（決定部１３３）
決定部１３３は、各種情報を決定する。決定部１３３は、取得部１３１により取得されたグラフ情報の複数のノードのうち、所定の基準に基づいて、グラフ情報の検索の起点となる起点ノードを決定する。また、決定部１３３は、所定のウェブページに対応するノードを起点ノードとして決定する。また、決定部１３３は、検索を行うユーザが閲覧中のウェブページに対応するノードを起点ノードとして決定する。
【０１２２】
図１の例では、決定部１３３は、一のウェブページ（クエリ）に対応する起点ベクトルを決定（特定）するために、起点基準情報記憶部１２２に記憶された起点基準情報を用いる。図１の例では、決定部１３３は、起点基準情報記憶部１２２に記憶された起点決定の基準となる情報に基づいて、起点ノードを決定する。図１の例では、決定部１３３は、基準ＩＤ「ＣＲ１」により識別される起点基準（起点基準ＣＲ１）を用いて、起点ノードを決定する。決定部１３３は、起点基準ＣＲ１に基づいて、ユーザＵ１が閲覧中であるページＰＧ１１に対応するノードＮ１１を起点ノードに決定する。
【０１２３】
例えば、決定部１３３は、ページＰＧ１１のベクトルＶＤ１１に対応する起点ベクトルを決定（特定）するために、インデックス情報を用いてもよい。決定部１３３は、木構造型のインデックス情報を用いて、グラフ情報ＧＲ１１における起点ベクトルを決定してもよい。
【０１２４】
（抽出部１３４）
抽出部１３４は、各種情報を抽出する。例えば、抽出部１３４は、ウェブページ情報記憶部１２１や、起点基準情報記憶部１２２や、グラフ情報記憶部１２３や、モデル情報記憶部１２４等から、各種情報を抽出する。例えば、抽出部１３４は、取得部１３１により取得された情報に基づいて、各種情報を抽出する。抽出部１３４は、取得部１３１により取得されたクエリ情報と、複数のウェブページとに基づいて、複数のウェブページのうち、クエリ情報に類似するウェブページである類似ウェブページを抽出する。抽出部１３４は、取得部１３１により取得されたクエリ情報に対応するベクトルであるクエリベクトルと、複数のウェブページに対応する複数のページベクトルとに基づいて、複数のウェブページのうち、クエリ情報に類似するウェブページである類似ページを抽出する。抽出部１３４は、クエリベクトルと、複数のウェブページに対応する複数のページベクトルとに基づいて、複数のウェブページのうち、クエリベクトルにページベクトルが類似するウェブページである類似ウェブページを抽出する。
【０１２５】
また、抽出部１３４は、クエリベクトルとページベクトルとの比較に基づいて、類似ページを抽出する。抽出部１３４は、決定部１３３により取得された起点ノードを起点としてグラフ情報を検索することにより、複数のウェブページのうち、クエリ情報に類似するウェブページである類似ページを抽出する。また、抽出部１３４は、複数のウェブページの各々の特徴を示す複数のページベクトルに基づいて、類似ページを抽出する。
【０１２６】
また、抽出部１３４は、所定のモデルを用いて複数のウェブページの各々から抽出された特徴量を要素とする複数のページベクトルに基づいて、類似ページを抽出する。また、抽出部１３４は、複数のウェブページに関する情報を所定のモデルに入力することにより、抽出される複数のウェブページの各々の特徴量を要素とする複数のページベクトルに基づいて、類似ページを抽出する。例えば、抽出部１３４は、各ノードのベクトル情報から各ノード（ベクトル）間を連結するエッジの長さ（距離）の情報を算出し、算出した長さ（距離）の情報を用いてもよい。
【０１２７】
図１の例では、抽出部１３４は、グラフ情報ＧＲ１１を検索することにより、ページＰＧ１１の類似ページを抽出する。抽出部１３４は、ノードＮ１１を起点として、グラフ情報ＧＲ１１を探索することにより、ノードＮ２１１やノードＮ３を類似ページとして抽出する。抽出部１３４は、リストＬＴから類似度が高い方から順に類似ページを抽出する。抽出部１３４は、所定数（例えば、２個や１０個等）のノードを類似ページとして抽出する。抽出部１３４は、所定数が２個である場合、ページＰＧ１１に最も類似するページＰＧ２１１と２番目に類似するページＰＧ３を類似ページとして抽出する。
【０１２８】
（提供部１３５）
提供部１３５は、各種情報を提供する。例えば、提供部１３５は、端末装置１０や情報提供装置５０に各種情報を送信する。例えば、提供部１３５は、端末装置１０や情報提供装置５０に各種情報を配信する。例えば、提供部１３５は、端末装置１０や情報提供装置５０に各種情報を提供する。提供部１３５は、抽出部１３４により抽出された類似ページに基づいて、所定のサービスを提供する。また、提供部１３５は、類似ページに関する情報提供サービスを提供する。提供部１３５は、端末装置１０に類似ページに関する情報を提供する。
【０１２９】
例えば、提供部１３５は、クエリに対応するオブジェクトＩＤを検索結果として提供する。例えば、提供部１３５は、抽出部１３４により選択されたオブジェクトＩＤを情報提供装置５０へ提供する。提供部１３５は、抽出部１３４により選択されたオブジェクトＩＤをクエリに対応するベクトルを示す情報として情報提供装置５０に提供する。また、提供部１３５は、生成部１３２により生成されたモデルを外部の情報処理装置へ提供してもよい。
【０１３０】
図１の例では、提供部１３５は、抽出した類似ページに関する情報を提供する。例えば、提供部１３５は、ノードＮ２１１に対応するページＰＧ２１１を示す情報や、ノードＮ３に対応するページＰＧ３を示す情報をユーザＵ１が利用する端末装置１０に提供する。例えば、提供部１３５は、ウェブページ＃２１１や、ウェブページ＃３をページＰＧ１１に類似するウェブページとしてユーザＵ１が利用する端末装置１０に提供する。
【０１３１】
〔４．抽出処理のフロー〕
次に、図９を用いて、実施形態に係る抽出システム１による抽出処理の手順について説明する。図９は、実施形態に係る抽出処理の一例を示すフローチャートである。
【０１３２】
図９に示すように、抽出装置１００は、検索に関するクエリ情報を取得する（ステップＳ１０１）。図１の例では、抽出装置１００は、端末装置１０からユーザＵ１が閲覧中のページＰＧ１１に関するページ情報ＰＤ１１を取得する。
【０１３３】
抽出装置１００は、ウェブページに関するグラフ情報を取得する（ステップＳ１０２）。例えば、抽出装置１００は、グラフ情報記憶部１２３からウェブページに関するグラフ情報ＧＲ１１を取得する。
【０１３４】
そして、抽出装置１００は、モデルを用いてクエリ情報からベクトルを生成する（ステップＳ１０３）。図１の例では、抽出装置１００は、モデル情報記憶部１２４に記憶されたモデルＭ１を用いて、ページ情報ＰＤ１１からベクトルＶＤ１１を生成する。
【０１３５】
そして、抽出装置１００は、所定の基準に基づいて起点ベクトルを決定する（ステップＳ１０４）。図１の例では、抽出装置１００は、起点基準情報記憶部１２２に記憶された起点基準ＣＲ１を用いて、起点ベクトルをユーザＵ１が閲覧中のページＰＧ１１に対応するノードＮ１１に決定する。
【０１３６】
そして、抽出装置１００は、グラフ情報を検索することにより、一のウェブページの類似ウェブページを抽出する（ステップＳ１０５）。図１の例では、抽出装置１００は、ノードＮ１１を起点として、グラフ情報ＧＲ１１を探索することにより、ノードＮ２１１やノードＮ３を類似ページとして抽出する。
【０１３７】
そして、抽出装置１００は、抽出した類似ウェブページに関する情報を提供する（ステップＳ１０６）。図１の例では、抽出装置１００は、ノードＮ２１１に対応するウェブページ＃２１１や、ノードＮ３に対応するウェブページ＃３をページＰＧ１１に類似するウェブページとしてユーザＵ１が利用する端末装置１０に提供する。
【０１３８】
〔５．生成処理のフロー〕
次に、図１０を用いて、実施形態に係る抽出システム１による生成処理の手順について説明する。図１０は、実施形態に係る生成処理の一例を示すフローチャートである。
【０１３９】
図１０に示すように、抽出装置１００は、学習データを取得する（ステップＳ２０１）。例えば、抽出装置１００は、ウェブページ情報記憶部１２１から学習データを取得する。例えば、抽出装置１００は、ウェブページ情報記憶部１２１からページ情報ＰＤ１、ＰＤ２等を学習データとして取得する。
【０１４０】
その後、抽出装置１００は、学習データに基づきモデルを生成する（ステップＳ２０２）。例えば、抽出装置１００は、ウェブページ情報記憶部１２１から学習データを用いてモデルＭ１を生成する。例えば、抽出装置１００は、入力層に入力される情報（ページ情報）と同様の情報（ページ情報）を出力層から出力するようにモデルＭ１を生成する。例えば、抽出装置１００は、ウェブページのページ情報を入力とするオートエンコーダとしてのモデルＭ１を生成する。
【０１４１】
〔６．検索例〕
ここで、上述したグラフ情報を用いた検索の一例を示す。なお、グラフ情報（グラフデータ）を用いた検索は下記に限らず、種々の手順により行われてもよい。この点について、図１２を一例として説明する。図１２は、グラフデータ（グラフ情報）を用いた検索処理の一例を示すフローチャートである。また、以下でいうオブジェクトは、ベクトルやノードと読み替えてもよい。なお、以下では、抽出装置１００が検索処理を行うものとして説明するが、検索処理は他の装置により行われてもよい。例えば、抽出装置１００は、検索クエリとして、一のウェブページのページ情報から生成されたベクトルデータを用いる。例えば、抽出装置１００は、一のウェブページのページ情報から生成されたベクトルデータとインデックス情報とに基づいて決定された起点ベクトルを起点としてグラフデータを検索する。図１の例では、抽出装置１００は、ユーザが閲覧中のページＰＧ１１に基づいて決定された起点ベクトルであるノードＮ１１（すなわちページＰＧ１１）を起点としてグラフ情報ＧＲ１１を検索する。
【０１４２】
ここでは、近傍オブジェクト集合Ｎ（Ｇ，ｙ）は、ノードｙに付与されているエッジにより関連付けられている近傍のオブジェクトの集合である。「Ｇ」は、所定のグラフデータ（例えば、グラフ情報ＧＲ１１等）であってもよい。例えば、抽出装置１００は、ｋ近傍検索処理を実行する。
【０１４３】
例えば、抽出装置１００は、超球の半径ｒを∞（無限大）に設定し（ステップＳ３００）、既存のオブジェクト集合から部分集合Ｓを抽出する（ステップＳ３０１）。例えば、抽出装置１００は、ルートノード（起点ベクトル）として選択されたオブジェクト（ノード）を部分集合Ｓとして抽出してもよい。図１の例では、抽出装置１００は、起点ベクトルであるノードＮ１１等を部分集合Ｓとして抽出してもよい。また、例えば、超球とは、検索範囲を示す仮想的な球である。なお、ステップＳ３０１において抽出されたオブジェクト集合Ｓに含まれるオブジェクトは、同時に検索結果のオブジェクト集合Ｒの初期集合にも含められる。
【０１４４】
次に、抽出装置１００は、オブジェクト集合Ｓに含まれるオブジェクトの中で、検索クエリオブジェクトをｙとするとオブジェクトｙとの距離が最も短いオブジェクトを抽出し、オブジェクトｓとする（ステップＳ３０２）。図１の例では、抽出装置１００は、オブジェクト集合Ｓに含まれるオブジェクトの中で、検索クエリオブジェクトであるベクトルＶＤ１１との距離が最も短いオブジェクトを抽出し、オブジェクトｓとする。例えば、抽出装置１００は、オブジェクト集合Ｓに含まれるオブジェクトの中で、ベクトルＶＤ１１との距離が最も短いノードＮ３を抽出し、オブジェクトｓとする。例えば、抽出装置１００は、ルートノード（起点ベクトル）として選択されたオブジェクト（ノード）のみがオブジェクト集合Ｓの要素の場合には、結果的にルートノード（起点ベクトル）がオブジェクトｓとして抽出される。次に、抽出装置１００は、オブジェクトｓをオブジェクト集合Ｓから除外する（ステップＳ３０３）。
【０１４５】
次に、抽出装置１００は、オブジェクトｓとオブジェクトｙとの距離ｄ（ｓ，ｙ）がｒ（１＋ε）を超えるか否かを判定する（ステップＳ３０４）。ここで、εは拡張要素であり、ｒ（１＋ε）は、探索範囲（この範囲内のノードのみを探索する。検索範囲よりも大きくすることで精度を高めることができる）の半径を示す値である。オブジェクトｓとオブジェクトｙとの距離ｄ（ｓ，ｙ）がｒ（１＋ε）を超える場合（ステップＳ３０４：Ｙｅｓ）、抽出装置１００は、オブジェクト集合Ｒをオブジェクトｙの近傍オブジェクト集合として出力し（ステップＳ３０５）、処理を終了する。例えば、抽出装置１００は、オブジェクト集合Ｒに含まれるノードに対応するウェブページと、検索クエリとの距離（類似度）が、所定の条件を満たさない場合、εの値を大きくすることにより、検索範囲を大きくしてもよい。例えば、抽出装置１００は、オブジェクト集合Ｒに含まれるノードのうち、最も検索クエリとの距離が長いノードと、検索クエリとの距離が所定の閾値未満である場合、εの値を大きくすることにより、検索範囲を大きくして、再度処理を繰り返してもよい。例えば、抽出装置１００は、オブジェクト集合Ｒに含まれるノードの数が所定数ｋｓに満たない場合、εの値を大きくすることにより、検索範囲を大きくして、再度処理を繰り返してもよい。
【０１４６】
オブジェクトｓと検索クエリオブジェクトｙとの距離ｄ（ｓ，ｙ）がｒ（１＋ε）を超えない場合（ステップＳ３０４：Ｎｏ）、抽出装置１００は、オブジェクトｓの近傍オブジェクト集合Ｎ（Ｇ，ｓ）の要素であるオブジェクトの中からオブジェクト集合Ｃに含まれないオブジェクトを一つ選択し、選択したオブジェクトｕを、オブジェクト集合Ｃに格納する（ステップＳ３０６）。オブジェクト集合Ｃは、重複検索を回避するために便宜上設けられるものであり、処理開始時には空集合に設定される。
【０１４７】
次に、抽出装置１００は、オブジェクトｕとオブジェクトｙとの距離ｄ（ｕ，ｙ）がｒ（１＋ε）以下であるか否かを判定する（ステップＳ３０７）。オブジェクトｕとオブジェクトｙとの距離ｄ（ｕ，ｙ）がｒ（１＋ε）以下である場合（ステップＳ３０７：Ｙｅｓ）、抽出装置１００は、オブジェクトｕをオブジェクト集合Ｓに追加する（ステップＳ３０８）。
【０１４８】
次に、抽出装置１００は、オブジェクトｕとオブジェクトｙとの距離ｄ（ｕ，ｙ）がｒ以下であるか否かを判定する（ステップＳ３０９）。オブジェクトｕとオブジェクトｙとの距離ｄ（ｕ，ｙ）がｒを超える場合（ステップＳ３０９：Ｎｏ）、抽出装置１００は、ステップＳ３１５の判定（処理）を行う。
【０１４９】
オブジェクトｕとオブジェクトｙとの距離ｄ（ｕ，ｙ）がｒ以下である場合（ステップＳ３０９：Ｙｅｓ）、抽出装置１００は、オブジェクトｕをオブジェクト集合Ｒに追加する（ステップＳ３１０）。そして、抽出装置１００は、オブジェクト集合Ｒに含まれるオブジェクト数がｋｓを超えるか否かを判定する（ステップＳ３１１）。所定数ｋｓは、任意に定められる自然数である。例えば、ｋｓ＝２やｋｓ＝１０等の種々の設定であってもよい。
【０１５０】
オブジェクト集合Ｒに含まれるオブジェクト数がｋｓを超える場合（ステップＳ３１１：Ｙｅｓ）、抽出装置１００は、オブジェクト集合Ｒに含まれるオブジェクトの中でオブジェクトｙとの距離が最も長い（遠い）オブジェクトを、オブジェクト集合Ｒから除外する（ステップＳ３１２）。
【０１５１】
次に、抽出装置１００は、オブジェクト集合Ｒに含まれるオブジェクト数がｋｓと一致するか否かを判定する（ステップＳ３１３）。オブジェクト集合Ｒに含まれるオブジェクト数がｋｓと一致する場合（ステップＳ３１３：Ｙｅｓ）、抽出装置１００は、オブジェクト集合Ｒに含まれるオブジェクトの中でオブジェクトｙとの距離が最も長い（遠い）オブジェクトと、オブジェクトｙとの距離を、新たなｒに設定する（ステップＳ３１４）。
【０１５２】
そして、抽出装置１００は、オブジェクトｓの近傍オブジェクト集合Ｎ（Ｇ，ｓ）の要素であるオブジェクトから全てのオブジェクトを選択してオブジェクト集合Ｃに格納し終えたか否かを判定する（ステップＳ３１５）。オブジェクトｓの近傍オブジェクト集合Ｎ（Ｇ，ｓ）の要素であるオブジェクトから全てのオブジェクトを選択してオブジェクト集合Ｃに格納し終えていない場合（ステップＳ３１５：Ｎｏ）、抽出装置１００は、ステップＳ３０６に戻って処理を繰り返す。
【０１５３】
オブジェクトｓの近傍オブジェクト集合Ｎ（Ｇ，ｓ）の要素であるオブジェクトから全てのオブジェクトを選択してオブジェクト集合Ｃに格納し終えた場合（ステップＳ３１５：Ｙｅｓ）、抽出装置１００は、オブジェクト集合Ｓが空集合であるか否かを判定する（ステップＳ３１６）。オブジェクト集合Ｓが空集合でない場合（ステップＳ３１６：Ｎｏ）、抽出装置１００は、ステップＳ３０２に戻って処理を繰り返す。また、オブジェクト集合Ｓが空集合である場合（ステップＳ３１６：Ｙｅｓ）、抽出装置１００は、オブジェクト集合Ｒを出力し、処理を終了する（ステップＳ３１７）。例えば、抽出装置１００は、オブジェクト集合Ｒに含まれるオブジェクト（ノード）を検索クエリ（入力オブジェクトｙ）に対応する検索結果として、検索を行った端末装置１０等へ提供してもよい。図１の例では、抽出装置１００は、オブジェクト集合Ｒに含まれるノードＮ２１１やノードＮ３を検索クエリ（ページＰＧ１１のベクトルＶＤ１１）に対応する検索結果として、検索を行った端末装置１０等へ提供してもよい。例えば、抽出装置１００は、ノードＮ２１１に対応するウェブページ＃２１１や、ノードＮ３に対応するウェブページ＃３をページＰＧ１１に類似するウェブページとしてユーザＵ１が利用する端末装置１０に提供する。
【０１５４】
〔７．効果〕
上述してきたように、実施形態に係る抽出装置１００は、取得部１３１と、抽出部１３４とを有する。取得部１３１は、複数のウェブページの各々に対応する複数のノードが複数のウェブページのリンクに対応するエッジで連結されたグラフ情報と、検索に関するクエリ情報とを取得する。抽出部１３４は、取得部１３１により取得されたクエリ情報と、複数のウェブページとに基づいて、複数のウェブページのうち、クエリ情報に類似するウェブページである類似ウェブページを抽出する。
【０１５５】
このように、実施形態に係る抽出装置１００は、ウェブページのリンクの関係に基づくグラフ情報を検索し、複数のウェブページのうち、クエリに類似するウェブページである類似ウェブページを抽出することにより、類似のウェブページを適切に抽出することができる。
【０１５６】
また、実施形態に係る抽出装置１００は、決定部１３３を有する。決定部１３３は、取得部１３１により取得されたグラフ情報の複数のノードのうち、所定の基準に基づいて、グラフ情報の検索の起点となる起点ノードを決定する。抽出部１３４は、決定部１３３により取得された起点ノードを起点としてグラフ情報を検索することにより、複数のウェブページのうち、類似ウェブページを抽出する。
【０１５７】
このように、実施形態に係る抽出装置１００は、起点ノードの決定に用いるインデックス情報に基づいて、起点ノードを決定することにより、ウェブページのリンクの関係に基づくグラフ情報を効率的に検索し、類似のウェブページを適切に抽出することができる。
【０１５８】
また、実施形態に係る抽出装置１００において、決定部１３３は、所定のウェブページに対応するノードを起点ノードとして決定する。
【０１５９】
このように、実施形態に係る抽出装置１００は、所定のウェブページに対応するノードを起点ノードとして決定することにより、類似のウェブページを適切に抽出することができる。
【０１６０】
また、実施形態に係る抽出装置１００において、決定部１３３は、検索を行うユーザが閲覧中のウェブページに対応するノードを起点ノードとして決定する。
【０１６１】
このように、実施形態に係る抽出装置１００は、検索を行うユーザが閲覧中のウェブページに対応するノードを起点ノードとして決定することにより、ユーザが閲覧している情報を基にグラフを検索できるため、類似のウェブページを適切に抽出することができる。
【０１６２】
また、実施形態に係る抽出装置１００において、抽出部１３４は、取得部１３１により取得されたクエリ情報に対応するベクトルであるクエリベクトルと、複数のウェブページに対応する複数のページベクトルとに基づいて、複数のウェブページのうち、クエリベクトルにページベクトルが類似する類似ウェブページを抽出する。
【０１６３】
このように、実施形態に係る抽出装置１００は、ウェブページのリンクの関係に基づくグラフ情報を検索し、複数のウェブページのうち、クエリベクトルにページベクトルが類似するウェブページである類似ウェブページを抽出することにより、類似のウェブページを適切に抽出することができる。
【０１６４】
また、実施形態に係る抽出装置１００において、抽出部１３４は、クエリベクトルとページベクトルとの比較に基づいて、類似ウェブページを抽出する。
【０１６５】
このように、実施形態に係る抽出装置１００は、クエリベクトルとページベクトルとの比較に基づいて、類似ウェブページを抽出することにより、ウェブページのリンクの関係に基づくグラフ情報を利用しつつ、類似のウェブページを適切に抽出することができる。
【０１６６】
また、実施形態に係る抽出装置１００において、抽出部１３４は、複数のウェブページの各々の特徴を示す複数のページベクトルに基づいて、類似ウェブページを抽出する。
【０１６７】
このように、実施形態に係る抽出装置１００は、複数のウェブページの各々の特徴を示す複数のページベクトルに基づいて、類似ウェブページを抽出することにより、類似のウェブページを適切に抽出することができる。
【０１６８】
また、実施形態に係る抽出装置１００において、抽出部１３４は、所定のモデルを用いて複数のウェブページの各々から抽出された特徴量を要素とする複数のページベクトルに基づいて、類似ウェブページを抽出する。
【０１６９】
このように、実施形態に係る抽出装置１００は、所定のモデルを用いて複数のウェブページの各々から抽出された特徴量を要素とする複数のベクトルが、類似性に応じて連結されたグラフ情報を取得することにより、類似のウェブページを適切に抽出することができる。
【０１７０】
また、実施形態に係る抽出装置１００において、抽出部１３４は、複数のウェブページに関する情報を所定のモデルに入力することにより、抽出される複数のウェブページの各々の特徴量を要素とする複数のページベクトルに基づいて、類似ウェブページを抽出する。
【０１７１】
このように、実施形態に係る抽出装置１００は、複数のウェブページに関する情報を所定のモデルに入力することにより、抽出される複数のウェブページの各々の特徴量を要素とする複数のページベクトルに基づいて、類似ウェブページを抽出することにより、類似のウェブページを適切に抽出することができる。
【０１７２】
また、実施形態に係る抽出装置１００において、取得部１３１は、一のウェブページの情報をクエリ情報として取得する。
【０１７３】
このように、実施形態に係る抽出装置１００は、一のウェブページの情報をクエリ情報として取得することにより、一のウェブページに類似するウェブページを適切に抽出することができる。
【０１７４】
また、実施形態に係る抽出装置１００において、取得部１３１は、文字列情報をクエリ情報として取得する。
【０１７５】
このように、実施形態に係る抽出装置１００は、文字列情報をクエリ情報として取得することにより、検索キーワード等の文字列情報に類似するウェブページを適切に抽出することができる。
【０１７６】
また、実施形態に係る抽出装置１００は、提供部１３５を有する。提供部１３５は、抽出部１３４により抽出された類似ウェブページに基づいて、所定のサービスを提供する。
【０１７７】
このように、実施形態に係る抽出装置１００は、抽出した類似ウェブページに基づいて、所定のサービスを提供することにより、類似のウェブページに関する情報を用いたサービスを適切に提供することができる。
【０１７８】
また、実施形態に係る抽出装置１００において、提供部１３５は、類似ウェブページに関する情報提供サービスを提供する。
【０１７９】
このように、実施形態に係る抽出装置１００は、類似ウェブページに関する情報提供サービスを提供することにより、類似のウェブページに関する情報を用いたサービスを適切に提供することができる。
【０１８０】
また、実施形態に係る抽出装置１００において、取得部１３１は、ユーザが利用する端末装置１０からクエリ情報に関するページ情報を取得する。提供部１３５は、端末装置１０に類似ウェブページに関する情報を提供する。
【０１８１】
このように、実施形態に係る抽出装置１００は、ユーザが利用する端末装置１０からクエリ情報に関するページ情報を取得し、端末装置１０に類似ウェブページに関する情報を提供することにより、類似のウェブページに関する情報を用いたサービスを適切に提供することができる。
【０１８２】
〔８．ハードウェア構成〕
上述してきた実施形態に係る抽出装置１００は、例えば図１３に示すような構成のコンピュータ１０００によって実現される。図１３は、抽出装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０１８３】
ＣＰＵ１１００は、ＲＯＭ１３００またはＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１８４】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス１５００は、ネットワークＮを介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータをネットワークＮを介して他の機器へ送信する。
【０１８５】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、生成したデータを入出力インターフェイス１６００を介して出力装置へ出力する。
【０１８６】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラムまたはデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１８７】
例えば、コンピュータ１０００が実施形態に係る抽出装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムまたはデータ（例えば、モデルＭ１（モデルデータＭＤＴ１））を実行することにより、制御部１３０の機能を実現する。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムまたはデータ（例えば、モデルＭ１（モデルデータＭＤＴ１））を記録媒体１８００から読み取って実行するが、他の例として、他の装置からネットワークＮを介してこれらのプログラムを取得してもよい。
【０１８８】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の行に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１８９】
〔９．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１９０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１９１】
また、上述してきた各実施形態に記載された各処理は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１９２】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【０１９３】
１  抽出システム
１００  抽出装置
１２１  ウェブページ情報記憶部
１２２  起点基準情報記憶部
１２３  グラフ情報記憶部
１２４  モデル情報記憶部
１３０  制御部
１３１  取得部
１３２  生成部
１３３  決定部
１３４  抽出部
１３５  提供部
１０  端末装置
５０  情報提供装置
Ｎ  ネットワーク
【図１】
2019133262.tif 000003
【図２】
2019133262.tif 000004
【図３】
2019133262.tif 000005
【図４】
2019133262.tif 000006
【図５】
2019133262.tif 000007
【図６】
2019133262.tif 000008
【図７】
2019133262.tif 000009
【図８】
2019133262.tif 000010
【図９】
2019133262.tif 000011
【図１０】
2019133262.tif 000012
【図１１】
2019133262.tif 000013
【図１２】
2019133262.tif 000014
【図１３】
2019133262.tif 000015