(57)【要約】【課題】多様なクエリ同士における相互の関係性を導出すること。【解決手段】本願に係る分類装置は、抽出部と、生成部と、分類部とを備える。抽出部は、任意のクエリ同士の関連度に基づいて、第１クエリと関連する複数の第２クエリを抽出する。生成部は、抽出部によって抽出された複数の第２クエリに基づいて、第１クエリを特徴付ける特徴情報を生成する。分類部は、生成部によって生成された特徴情報に基づいて、第１クエリに対応するキーワードを分類する。【選択図】図１
2019053519.tif 000002
【特許請求の範囲】
【請求項１】
任意のクエリ同士の関連度に基づいて、第１クエリと関連する複数の第２クエリを抽出する抽出部と、
前記抽出部によって抽出された複数の第２クエリに基づいて、前記第１クエリを特徴付ける特徴情報を生成する生成部と、
前記生成部によって生成された特徴情報に基づいて、前記第１クエリに対応するキーワードを分類する分類部と、
を備えることを特徴とする分類装置。
【請求項２】
前記生成部は、
前記複数の第２クエリの各々を構成する要素と、当該要素の出現回数とに基づいて、当該複数の第２クエリと関連する前記第１クエリの特徴情報を生成する、
ことを特徴とする請求項１に記載の分類装置。
【請求項３】
前記生成部は、
前記第１クエリの特徴情報として、前記複数の第２クエリの各々を構成する要素を次元とし、当該要素の出現回数を各々の次元の次元数とするベクトルを生成し、
前記分類部は、
前記生成部によって生成されたベクトルの類似度に基づいて、前記キーワードを分類する、
ことを特徴とする請求項２に記載の分類装置。
【請求項４】
任意のクエリのうち、互いに異なる二つのクエリのいずれかを入力したユーザの数と、当該二つのクエリを両方とも入力したユーザの数と、に少なくとも基づいて、任意のクエリ同士の関連度を算出する算出部、
をさらに備え、
前記抽出部は、
前記算出部によって算出された関連度に基づいて、第１クエリと関連する複数の第２クエリを抽出する、
ことを特徴とする請求項１〜３のいずれか一つに記載の分類装置。
【請求項５】
前記算出部は、
所定期間のうちに前記互いに異なる二つのクエリを両方とも入力したユーザの数に基づいて、前記関連度を算出する、
ことを特徴とする請求項４に記載の分類装置。
【請求項６】
所定のユーザから任意のキーワードを受け付ける受付部、
をさらに備え、
前記分類部は、
前記受付部によって受け付けられたキーワードに対応する特徴情報に基づいて、当該キーワードを分類する、
ことを特徴とする請求項１〜５のいずれか一つに記載の分類装置。
【請求項７】
前記受付部は、
任意の複数のキーワードを含むキーワードリストを受け付け、
前記分類部は、
前記受付部によって受け付けられたキーワードリストに含まれる各々のキーワードの特徴情報に基づいて、当該キーワードリストに含まれる各々のキーワードを分類する、
ことを特徴とする請求項６に記載の分類装置。
【請求項８】
前記受付部は、
前記所定のユーザから任意のキーワードの入力を受け付けた場合に、当該任意のキーワードとの関連度が所定の閾値を超える複数のキーワードを抽出し、当該任意のキーワードと抽出した複数のキーワードとを含むキーワードリストを生成し、
前記分類部は、
前記受付部によって生成されたキーワードリストに含まれる各々のキーワードを分類する、
ことを特徴とする請求項６に記載の分類装置。
【請求項９】
コンピュータが実行する分類方法であって、
任意のクエリ同士の関連度に基づいて、第１クエリと関連する複数の第２クエリを抽出する抽出工程と、
前記抽出工程によって抽出された複数の第２クエリに基づいて、前記第１クエリを特徴付ける特徴情報を生成する生成工程と、
前記生成工程によって生成された特徴情報に基づいて、前記第１クエリに対応するキーワードを分類する分類工程と、
を含んだことを特徴とする分類方法。
【請求項１０】
任意のクエリ同士の関連度に基づいて、第１クエリと関連する複数の第２クエリを抽出する抽出手順と、
前記抽出手順によって抽出された複数の第２クエリに基づいて、前記第１クエリを特徴付ける特徴情報を生成する生成手順と、
前記生成手順によって生成された特徴情報に基づいて、前記第１クエリに対応するキーワードを分類する分類手順と、
をコンピュータに実行させることを特徴とする分類プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分類装置、分類方法及び分類プログラムに関する。
【背景技術】
【０００２】
近年、通信ネットワークの発達とともに、様々なサービスがネットワークを介して提供されている。これに関連して、ネットワーク上に存在するサービスを検索したり、サービス内において所望の商品や記事を検索したりするための様々な検索技術が提案されている。
【０００３】
例えば、ユーザ端末から送信された検索キーワードから修飾語とコンセプトキーワードとを区分し、修飾語及びコンセプトキーワードの各々を抽出して生成されるコンセプトキーワード拡張データセットを利用した検索の技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−７３６２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来技術では、多様なクエリ同士における相互の関係性を導出することは難しい。具体的には、上記の従来技術では、ユーザから入力された複数のクエリ（キーワード）に共通する語や特徴等に基づいてキーワード拡張の処理を行う。すなわち、従来技術では、例えば互いに分野やカテゴリが異なるような多様なクエリ同士からは共通する特徴を抽出できず、結果として、キーワード拡張を行ったり、クエリ同士の関係性を分析したりといった情報処理を行うことができない場合がある。
【０００６】
本願は、上記に鑑みてなされたものであって、多様なクエリ同士における相互の関係性を導出することができる分類装置、分類方法、及び分類プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願に係る分類装置は、任意のクエリ同士の関連度に基づいて、第１クエリと関連する複数の第２クエリを抽出する抽出部と、前記抽出部によって抽出された複数の第２クエリに基づいて、前記第１クエリを特徴付ける特徴情報を生成する生成部と、前記生成部によって生成された特徴情報に基づいて、前記第１クエリに対応するキーワードを分類する分類部と、を備えることを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、多様なクエリ同士における相互の関係性を導出することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る分類処理の一例を示す図である。
【図２】図２は、実施形態に係る分類システムの構成例を示す図である。
【図３】図３は、実施形態に係る分類装置の構成例を示す図である。
【図４】図４は、実施形態に係る関連度情報記憶部の一例を示す図である。
【図５】図５は、実施形態に係る特徴情報記憶部の一例を示す図である。
【図６】図６は、実施形態に係る分類情報記憶部の一例を示す図である。
【図７】図７は、実施形態に係る分類装置による処理手順を示すフローチャート（１）である。
【図８】図８は、実施形態に係る分類装置による処理手順を示すフローチャート（２）である。
【図９】図９は、変形例に係る分類装置による処理手順を示すフローチャートである。
【図１０】図１０は、分類装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下に、本願に係る分類装置、分類方法及び分類プログラムを実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る分類装置、分類方法及び分類プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【００１１】
〔１．分類処理の一例〕
まず、図１を用いて、実施形態に係る分類処理の一例について説明する。図１は、実施形態に係る分類処理の一例を示す図である。図１では、実施形態に係る分類処理の一例として、実施形態に係る分類装置１００がユーザＵ０１から送信されるキーワードリストＬ０１に含まれる複数のキーワードを分類する処理を例に挙げて説明する。
【００１２】
図１に示す分類装置１００は、ユーザから送信される検索クエリ（以下、「クエリ」と表記する）同士の関連度に基づいて、各々のクエリの特徴情報を生成し、生成した特徴情報に基づいて、クエリを所定のクラスに分類（クラスタリング）するサーバ装置である。なお、実施形態では、分類装置１００は、検索サイトをユーザに提供するウェブサーバとしての機能を兼ねるものとする。
【００１３】
なお、実施形態では、検索サイト等において検索に用いられるキーワードを「クエリ」と称する。ただし、キーワードとクエリとが完全に一致しない場合もありうる。例えば、ユーザは、「ＡＡＡの自動車」といった文をクエリとして入力する場合もある（「ＡＡＡ」は、例えば自動車メーカーの名称である）。この場合、「ＡＡＡの自動車」がクエリとなり、クエリに含まれる単語である「ＡＡＡ」や「自動車」がキーワードとなりうる。分類装置１００は、例えば、クエリを形態素解析等することにより、適宜、クエリからキーワードを抽出する。また、以下の説明では、「クエリ」と「キーワード」が同義であるものとして扱う場合もある。例えば、クエリがキーワードと一致するか、あるいは、クエリを形態素解析等した結果から一のキーワードが抽出された場合等には、クエリとキーワードを同義のものとして扱う。
【００１４】
図１に示すユーザ群は、検索サイト等を利用する複数のユーザであり、クエリを分類装置１００に送信する複数のユーザである。また、ユーザＵ０１は、ユーザの一例であり、複数のキーワードが含まれるキーワードリストＬ０１を分類装置１００に送信し、キーワードリストＬ０１が含むキーワードの分類を要求するユーザである。なお、図１では図示を省略するが、ユーザ群が含む各ユーザやユーザＵ０１の各々は、検索サイトを利用したり、分類装置１００との各種情報の送受信を行ったりするための情報処理端末（以下、「ユーザ端末１０」と表記する）を有する。また、以下の説明では、ユーザ端末１０と、ユーザ端末１０を利用するユーザとを同一視する場合がある。例えば、「ユーザＵ０１がクエリを送信する」とは、実際には、「ユーザＵ０１が利用するユーザ端末１０がクエリを送信する」ことを意味する。
【００１５】
ユーザが検索を行う際に送信するクエリは、ユーザの興味関心を示す。このため、クエリを分類することにより、例えば、同じクラスに属するクエリを頻繁に送信するユーザ同士は、互いに同じ興味関心を有するユーザであると推定すること等が可能である。このような情報は、例えば、広告配信等のマーケティングにおいて有用な情報となりうる。このことから、どのようなクエリ同士が類似する関係にあるかを求め、クエリを分類することができれば、例えば、広告配信事業者等にとって有用な情報が得られる。クエリを分類する手法としては、例えば、クエリに対してカテゴリを設定し、同じようなカテゴリに属するクエリを同じクラスに分類する手法等がある。
【００１６】
しかしながら、検索サイト等に送信されるクエリの種類は膨大であり、人手でカテゴリを付与することは現実的ではない。また、プログラム等によってクエリにカテゴリを付与する手法においても、一つのクエリに複数の意味が含まれている場合もあり、自動的に適切なカテゴライズを行うことも難しい。
【００１７】
そこで、実施形態に係る分類装置１００は、集計対象となる全ユーザのうち、同一のユーザが異なるクエリを入力した回数に基づいて、ある２つのクエリ同士の関連度を算出する。さらに、分類装置１００は、関連度に基づいて、任意のクエリの特徴情報を算出する。そして、分類装置１００は、特徴情報に基づいてクエリを分類する。これにより、分類装置１００は、ユーザが実際に検索した行動という定量的な情報に基づいてクエリを分類できるため、各々のクエリをカテゴライズすることなく、関連するクエリを適切なクラスに分類することができる。また、分類装置１００によれば、予めクエリをカテゴライズすることを要しないため、どのようなクエリが入力された場合でも、クエリ同士の関連度を算出することや、クエリの分類を行うこと等ができる。すなわち、分類装置１００は、多様なクエリに対応した分類処理を行うことができる。以下、図１を用いて、分類装置１００によって行われる分類処理の一例を流れに沿って説明する。なお、以下の説明では、関連度が算出される２つのクエリのうち、処理対象とするクエリを「第１クエリ」と称し、第１クエリと関連するクエリを「第２クエリ」と称する。このため、所定のキーワードが「第１クエリ」となる場合もあれば、「第２クエリ」となる場合もありうる。
【００１８】
図１に示す例において、ユーザ群の各々のユーザは、検索サイト等においてクエリを入力する（ステップＳ１１）。分類装置１００は、各ユーザから送信されるクエリを取得する（ステップＳ１２）。そして、分類装置１００は、クエリ同士の関連度を算出する（ステップＳ１３）。
【００１９】
分類装置１００は、任意のクエリのうち、互いに異なる二つのクエリのいずれかを入力したユーザの数と、当該二つのクエリを両方とも入力したユーザの数と、に少なくとも基づいて、任意のクエリ同士の関連度を算出する。一例として、分類装置１００は、下記式（１）に基づいて、第１クエリ（式（１）では、「クエリＡ」）と第２クエリ（式（１）では、「クエリＢ」）の関連度を算出する。
【００２０】
【数１】
2019053519.tif 000003
【００２１】
上記式（１）において、「Ｓｃｏｒｅ（Ａ，Ｂ）」は、クエリＡとクエリＢの関連度の数値を示す。「Ａｕｓｅｒ」は、クエリＡを検索（入力）したユーザ数を示す。「Ｂｕｓｅｒ」は、クエリＢを検索したユーザ数を示す。「ＡＬＬｕｓｅｒ」は、所定の集計期間においてクエリを送信したユーザ（検索を利用したユーザ）の数を示す。そして、「Ａｕｓｅｒ∧Ｂｕｓｅｒ」は、クエリＡとクエリＢの両方を検索したユーザ数を示す。
【００２２】
分類装置１００は、上記式（１）を用いて、ユーザ群から検索された全クエリの関連度を算出する。例えば、分類装置１００は、第１クエリであるクエリＡを検索したユーザが検索するクエリＢを集計する。そして、分類装置１００は、第１クエリに対する全ての第２クエリに対して、上記式（１）を用いて関連度を算出する。分類装置１００は、算出した第１クエリの関連度を記憶部に格納する。なお、分類装置１００は、所定の閾値を超える関連度を有する第１クエリと第２クエリのペアのみを抽出して記憶部に格納するようにしてもよい。
【００２３】
上記式（１）において、分類装置１００は、集計期間を変更することで、どのくらいの長さの期間におけるクエリ同士の関連度を算出するかを調整することができる。例えば、分類装置１００は、集計期間を数年間という範囲で設定すれば、当該数年間の間に同一のユーザが第１クエリと第２クエリとを検索した場合に、「第１クエリと第２クエリの両方を検索したユーザ」として計数するため、比較的長い範囲におけるユーザの興味関心の移り変わりを示した関連度を算出することができる。これにより、分類装置１００は、ユーザのライフステージ（例えば、ユーザが検索するクエリが「妊娠」から「出産」に変化したことなど）の移り変わりを反映させた関連度の算出を行うことができる。一方で、分類装置１００は、集計期間を数日間という範囲で設定すれば、当該数日間の間に同一のユーザが第１クエリと第２クエリの両方を検索しなければ、「第１クエリと第２クエリの両方を検索したユーザ数」を計数しない。このため、分類装置１００は、比較的長い期間を要せずとも関連を有するクエリ同士のペア等を抽出し易くなる。なお、集計期間は、例えば、分類装置１００の管理者等によって、適宜、設定されてもよい。
【００２４】
図１の例では、分類装置１００は、算出した関連度をデータベースＤＢ０１に格納するものとする。図１に示すように、データベースＤＢ０１は、第１クエリが「ＡＡＡ」であり、第２クエリがそれぞれ「ＢＢＢ」、「ＣＣＣ」、「ＤＤＤ」である場合の関連度を記憶する。具体的には、データベースＤＢ０１に記憶される情報の一例は、第１クエリが「ＡＡＡ」であり、第２クエリが「ＢＢＢ」であるペアの関連度は、「５．９３」であることを示している。
【００２５】
続けて、分類装置１００は、各クエリ（キーワード）の特徴情報を生成する処理を行う。まず、分類装置１００は、算出した関連度に基づいて、第１クエリと関連する第２クエリを抽出する（ステップＳ１４）。具体的には、分類装置１００は、第１クエリとの関連度が所定の閾値を超える全ての第２クエリを抽出する。例えば、分類装置１００は、第１クエリが入力された場合に、第１クエリとの関連度が所定の閾値を超える第２クエリを抽出する処理を行う所定の検索エンジンを用いて、第２クエリの抽出を行う。
【００２６】
そして、分類装置１００は、抽出された第２クエリに基づいて、第１クエリの特徴を示す特徴情報を生成する（ステップＳ１５）。例えば、分類装置１００は、抽出された第２クエリを各次元とする単語ベクトルで表記することにより、第１クエリの特徴情報をベクトルとして生成する。この場合、分類装置１００は、抽出された第２クエリの各々を形態素解析し、解析されたキーワードに基づいて、第１クエリを示す単語ベクトルを生成してもよい。
【００２７】
上述のように、クエリには、複数のキーワードが含まれる場合がある。仮に、第１クエリに関連する第２クエリとして、「ＢＢＢの中古の自動車」というクエリが存在していたとする。この場合、分類装置１００は、「ＢＢＢの中古の自動車」を形態素解析し、「ＢＢＢ」、「中古」、「自動車」の各々のキーワードを抽出する。分類装置１００は、上記の処理を抽出された全ての第２クエリに対して行うことで、第１クエリを特徴付ける各キーワードと、キーワードの出現回数とを取得する。そして、分類装置１００は、各々のキーワードを次元とし、各々のキーワードの出現数を次元数とするベクトルを生成する。仮に、第１クエリ「ＡＡＡ」に関連する第２クエリに対して上記処理を行い、キーワードとして、「ＢＢＢ」が「１８」回出現し、「ＣＣＣ」が「１５」回出現し、「ＤＤＤ」が「９」回出現し、「中古」が「２５」回出現し、「自動車」が「７１」回出現したとする。この場合、第１クエリ「ＡＡＡ」の特徴情報は、（ＢＢＢ，ＣＣＣ，ＤＤＤ，中古，自動車，・・・）＝（１８，１５，９，２５，７１，・・・）のようなベクトルとして示される。
【００２８】
分類装置１００は、ユーザ群から検索が行われた全クエリを第１クエリとして上記の処理を行い、各々の第１クエリの特徴情報を生成する。そして、分類装置１００は、第１クエリと生成した特徴情報とを対応付けて記憶部（図１の例では、データベースＤＢ０２）に格納する。
【００２９】
その後、所定のタイミングにおいて、分類装置１００による分類処理を利用することを所望するユーザＵ０１は、任意の複数のキーワードを含むキーワードリストを分類装置１００に送信する（ステップＳ１６）。図１の例では、ユーザＵ０１は、自動車メーカーの名称の一覧をキーワードとして含むキーワードリストＬ０１を分類装置１００に送信する。
【００３０】
分類装置１００は、送信されたキーワードリストＬ０１を受け付ける。そして、分類装置１００は、特徴情報の類似度に基づいて、キーワードリストＬ０１に含まれるキーワードを分類（クラスタリング）する（ステップＳ１７）。
【００３１】
例えば、分類装置１００は、データベースＤＢ０２を参照し、キーワードリストＬ０１に含まれる各々のキーワードに対応する第１クエリを抽出する。そして、分類装置１００は、抽出された第１クエリの特徴情報の各々の関連性に基づいて、キーワードリストＬ０１に含まれるキーワードを分類する。具体的には、分類装置１００は、キーワードリストＬ０１に含まれる各々のキーワードをk-means法等の非階層的手法(non-hierarchical  method)を用いて分類する。なお、分類処理の手法は上記の例に限られず、分類装置１００は、特徴情報に基づいてキーワードを分類することが可能な手法であれば、いずれの手法を利用してもよい。例えば、分類装置１００は、特徴情報同士のコサイン類似度を算出し、所定の閾値を超えるコサイン類似度を有するキーワード同士を同じクラスに分類してもよい。また、分類装置１００は、最短距離法などの階層的手法（hierarchical  method)を用いてもよいし、サポートベクタマシンのように学習を利用した分類手法を用いてもよい。
【００３２】
図１に示す例では、分類装置１００は、キーワードリストＬ０１に含まれるキーワード「ＡＡＡ」、「ＢＢＢ」及び「ＣＣＣ」等を、同じクラスであるクラスＣＬ０１に分類したものとする。また、分類装置１００は、キーワードリストＬ０１に含まれるキーワード「ＤＤＤ」等をクラスＣＬ０２に分類したものとする。なお、図１の例では、クエリ「ＡＡＡ」や「ＢＢＢ」等と、キーワード「ＡＡＡ」や「ＢＢＢ」等とは、それぞれ同じ語を示すものとする。
【００３３】
分類装置１００は、分類の結果を記憶部（図１の例では、データベースＤＢ０３）に格納する。この例では、「ＡＡＡ」、「ＢＢＢ」及び「ＣＣＣ」に何らかの共通の性質（例えば、拠点とする国が共通していたり、資本関係があったり、製造する自動車の特徴が類似することからユーザ同士の比較対象とされていたりする等）を有していることが推定される。また、「ＡＡＡ」、「ＢＢＢ」及び「ＣＣＣ」と、「ＤＤＤ」とは、何らかの相違する性質（例えば、拠点とする国が異なっていたり、資本関係がなかったり、製造する自動車が競合しなかったりする等）を有していることが推定される。このように、分類装置１００によれば、ユーザＵ０１が提示した複数のキーワードに対して、ユーザの検索行動に基づいて生成された特徴情報を用いてクラスタリングがなされるため、ユーザの興味関心が反映された分類を行うことができる。
【００３４】
その後、分類装置１００は、キーワードリストＬ０１に含まれる複数のキーワードを分類した結果をユーザＵ０１に送信する（ステップＳ１８）。ユーザＵ０１は、分類された結果を参照することにより、ユーザの行動にどのようなキーワード同士が関連性を有するかといった情報を知得することができる。
【００３５】
図１を用いて上述してきたように、実施形態に係る分類装置１００は、任意のクエリ同士の関連度に基づいて、第１クエリと関連する複数の第２クエリを抽出する。また、分類装置１００は、抽出した複数の第２クエリに基づいて、第１クエリを特徴付ける特徴情報を生成する。そして、分類装置１００は、生成した特徴情報に基づいて、第１クエリに対応するキーワードを分類する。
【００３６】
すなわち、分類装置１００によれば、ユーザから送信されるクエリが有する意味や性質等の定性的な情報によらず、実際のユーザの検索行動という定量的な情報に基づいて分類処理を行う。言い換えれば、分類装置１００は、各々のクエリをカテゴライズ等することなく、関連するキーワード同士を分類する。このように、分類装置１００は、ユーザから送信される様々なクエリに対して分類を行うことができるため、結果として、多様なクエリ同士における相互の関係性を導出することができる。以下、上記のような処理を行う分類装置１００及び分類装置１００を含む分類システム１について、詳細に説明する。
【００３７】
〔２．分類システムの構成〕
次に、図２を用いて、実施形態に係る分類システム１の構成について説明する。図２は、実施形態に係る分類システム１の構成例を示す図である。図２に示すように、分類システム１は、ユーザ端末１０と、分類装置１００とを含む。ユーザ端末１０、及び分類装置１００は、通信ネットワークであるネットワークＮ（例えば、インターネット）を介して有線または無線により通信可能に接続される。なお、図２に示す分類システム１に含まれる各装置の数は図示したものに限られない。例えば、分類システム１には、複数台のユーザ端末１０等が含まれてもよい。
【００３８】
ユーザ端末１０は、ユーザによって利用される情報処理装置である。例えば、ユーザ端末１０は、デスクトップ型ＰＣや、ノート型ＰＣや、スマートフォン等の携帯電話機や、タブレット端末や、ＰＤＡ（Personal  Digital  Assistant）、ウェアラブルデバイス（Wearable  Device）等の情報処理装置である。例えば、ユーザ端末１０は、ユーザによる操作にしたがって、検索サイトにアクセスする。そして、ユーザ端末１０は、ユーザによって入力されたクエリを、検索サイトを提供するサーバ（実施形態では、分類装置１００）に対して送信する。
【００３９】
分類装置１００は、上述のように、任意のクエリ同士の関連度に基づいて第１クエリを特徴付ける特徴情報を生成し、生成した特徴情報に基づいて、第１クエリに対応するキーワードを分類するサーバ装置である。
【００４０】
〔３．分類装置の構成〕
次に、図３を用いて、実施形態に係る分類装置１００の構成について説明する。図３は、実施形態に係る分類装置１００の構成例を示す図である。図３に示すように、分類装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、分類装置１００は、分類装置１００を利用する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を出力するための出力部（例えば、液晶ディスプレイ等）を有してもよい。
【００４１】
（通信部１１０について）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、通信ネットワークと有線又は無線で接続され、通信ネットワークを介して、ユーザ端末１０との間で情報の送受信を行う。
【００４２】
（記憶部１２０について）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。実施形態に係る記憶部１２０は、関連度情報記憶部１２１と、特徴情報記憶部１２２と、分類情報記憶部１２３とを有する。以下、各記憶部について順に説明する。
【００４３】
（関連度情報記憶部１２１について）
関連度情報記憶部１２１は、クエリ同士の関連度に関する情報を記憶する。関連度情報記憶部１２１は、図１で示したデータベースＤＢ０１に対応する。ここで、図４に、実施形態に係る関連度情報記憶部１２１の一例を示す。図４は、実施形態に係る関連度情報記憶部１２１の一例を示す図である。図４に示すように、関連度情報記憶部１２１は、「集計期間」、「検索ユーザ全体数」、「第１クエリ」、「第２クエリ」、「関連度」といった項目を有する。
【００４４】
「集計期間」は、ユーザの検索行動に関する情報を集計する期間を示す。「検索ユーザ全体数」は、集計期間における検索ユーザの全体数に関する情報を示す。なお、図４では、「検索ユーザ全体数」に記憶される情報を「Ａ０１」のように概念的に示しているが、実際には、「検索ユーザ全体数」の項目には、集計期間において検索サイトを利用した全ユニークユーザ数の具体的な数値が記憶される。なお、当該項目には、集計期間において検索サイトにクエリが送信された（言い換えれば、検索が行われた）回数や、各クエリの検索回数等の情報が記憶されてもよい。
【００４５】
「第１クエリ」は、第１クエリを示す。「第２クエリ」は、第１クエリを検索したユーザが検索したクエリであって、第１クエリとは異なるクエリを示す。「関連度」は、第１クエリと第２クエリとの関連度を示す。関連度は、例えば、上記式（１）によってクエリのペアごとに算出される。
【００４６】
すなわち、図４では、関連度情報記憶部１２１が保持する情報の一例として、集計期間が「２０１６年７月１日〜２０１７年６月３０日」であって、検索ユーザ全体数が「Ａ０１」である集計データのうち、第１クエリが「ＡＡＡ」であって第２クエリが「ＢＢＢ」であるペアの関連度は「５．９３」であることを示している。
【００４７】
（特徴情報記憶部１２２について）
特徴情報記憶部１２２は、クエリの特徴情報を記憶する。特徴情報記憶部１２２は、図１で示したデータベースＤＢ０２に対応する。ここで、図５に、実施形態に係る特徴情報記憶部１２２の一例を示す。図５は、実施形態に係る特徴情報記憶部１２２の一例を示す図である。図５に示すように、特徴情報記憶部１２２は、「第１クエリ」、「抽出された第２クエリ情報」、「形態素解析情報」、「特徴情報」といった項目を有する。
【００４８】
「第１クエリ」は、図４で示した同一の項目に対応する。「抽出された第２クエリ情報」は、第１クエリに対して、所定の閾値を超える関連度を有する第２クエリとして抽出された第２クエリの情報を示す。図５では、「抽出された第２クエリ情報」に記憶される情報を「Ｂ０１」のように概念的に示しているが、実際には、「抽出された第２クエリ情報」の項目には、抽出された複数の第２クエリを示す情報が記憶される。なお、分類装置１００は、第２クエリを抽出する際の関連度の閾値については、任意に設定してもよい。また、分類装置１００は、例えば、関連度に関わらず、第１クエリに対して所定数（例えば１０個や１００個）の第２クエリを抽出するようにしてもよい。
【００４９】
「形態素解析情報」は、抽出された第２クエリを形態素解析した情報を示す。図５では、「形態素解析情報」に記憶される情報を「Ｃ０１」のように概念的に示しているが、実際には、「形態素解析情報」の項目には、抽出された第２クエリを形態素解析した結果が記憶される。より具体的には、「形態素解析情報」の項目には、第２クエリを形態素解析することにより得られたキーワードや、キーワードの出現回数を示す情報が記憶される。なお、分類装置１００は、形態素解析の結果のうち、所定の条件を満たすキーワードのみを記憶するようにしてもよい。例えば、分類装置１００は、日本語であれば、第２クエリを形態素解析した結果として、名詞のみをキーワードとして記憶するようにしてもよい。
【００５０】
「特徴情報」は、第１クエリの特徴情報を示す。図５では、「特徴情報」に記憶される情報を「Ｒ０１」のように概念的に示しているが、実際には、「特徴情報」の項目には、第２クエリを形態素解析して得られたキーワードと、キーワードの出現回数から構成される情報が記憶される。より具体的には、「特徴情報」の項目には、キーワードを次元とし、出現回数を次元数とする単語ベクトルが記憶される。
【００５１】
すなわち、図５では、特徴情報記憶部１２２が保持する情報の一例として、第１クエリ「ＡＡＡ」に対して抽出された第２クエリ情報は「Ｂ０１」であり、かかる第２クエリを形態素解析した形態素解析情報は「Ｃ０１」であり、かかる情報から生成された特徴情報は「Ｒ０１」であることを示している。
【００５２】
（分類情報記憶部１２３について）
分類情報記憶部１２３は、分類処理の結果を記憶する。分類情報記憶部１２３は、図１で示したデータベースＤＢ０３に対応する。ここで、図６に、実施形態に係る分類情報記憶部１２３の一例を示す。図６は、実施形態に係る分類情報記憶部１２３の一例を示す図である。図６に示すように、分類情報記憶部１２３は、「キーワードリストＩＤ」、「クラスＩＤ」、「キーワード」といった項目を有する。
【００５３】
「キーワードリストＩＤ」は、キーワードリストを識別する識別情報を示す。「クラスＩＤ」は、クラスを識別する識別情報を示す。なお、本明細書では、キーワードリストＩＤ等の識別情報は、説明で用いる参照符号と共通するものとする。例えば、キーワードリストＩＤ「Ｌ０１」で識別されるキーワードリストは、「キーワードリストＬ０１」を示す。「キーワード」は、分類の対象であるキーワードを示す。
【００５４】
すなわち、図６では、分類情報記憶部１２３が保持する情報の一例として、キーワードリストＩＤ「Ｌ０１」で識別されるキーワードリストＬ０１に含まれるキーワードは、クラスＩＤ「ＣＬ０１」や「ＣＬ０２」等で識別されるクラスに分類されたことを示している。また、図６では、例えば、クラスＣＬ０１には、キーワード「ＡＡＡ」や、キーワード「ＢＢＢ」や、キーワード「ＣＣＣ」が分類されていることを示している。
【００５５】
（制御部１３０について）
制御部１３０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、分類装置１００内部の記憶装置に記憶されている各種プログラム（分類プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、コントローラであり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００５６】
実施形態に係る制御部１３０は、図３に示すように、取得部１３１と、算出部１３２と、抽出部１３３と、生成部１３４と、受付部１３５と、分類部１３６とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図３に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部１３０が有する各処理部の接続関係は、図３に示した接続関係に限られず、他の接続関係であってもよい。
【００５７】
（取得部１３１について）
取得部１３１は、各種情報を取得する。例えば、取得部１３１は、ユーザから送信されるクエリを取得する。具体的には、取得部１３１は、ユーザから任意に入力されるキーワードであって、検索サイト等における検索処理に用いるためのキーワードをクエリとして取得する。なお、クエリは、複数のキーワードを含んでいてもよい。
【００５８】
また、取得部１３１は、所定の集計期間において、任意のクエリのうち、互いに異なる二つのクエリのいずれかを入力したユーザの数と、当該二つのクエリを両方とも入力したユーザの数とを取得する。例えば、取得部１３１は、第１クエリを検索したユーザを識別する情報（サービスにおけるユーザＩＤや、端末固有の識別情報である端末ＩＤや、ブラウザソフトウェアのクッキー（cookie）等）に基づいて、当該ユーザが第２クエリを検索したか否かを判定可能である。
【００５９】
また、取得部１３１は、所定の集計期間における全体の検索数や、全体のユニークユーザ数を取得する。なお、取得部１３１は、一つの検索サイトから上記情報を取得してもよいし、複数の検索サイトから取得した情報を合算してもよい。この場合、取得部１３１は、ユーザの検索行動に関する情報を、検索サイトをユーザに提供する所定の外部サーバから取得してもよい。また、取得部１３１は、検索サイトに限らず、所定のサービスサイト（例えば、ショッピングサイトやオークションサイト）等においてユーザから送信されるクエリを取得してもよい。
【００６０】
取得部１３１は、取得した情報を記憶部１２０内に格納する。また、取得部１３１は、後述する各処理部が要する情報を、適宜、記憶部１２０内から取得してもよい。
【００６１】
（算出部１３２について）
算出部１３２は、取得部１３１によって取得されたクエリ同士の関連度を算出する。算出部１３２は、任意のクエリのうち、互いに異なる二つのクエリのいずれかを入力したユーザの数と、当該二つのクエリを両方とも入力したユーザの数と、に少なくとも基づいて、任意のクエリ同士の関連度を算出する。なお、算出部１３２は、クエリに複数のキーワードが含まれている場合には、キーワードごとに、キーワードを入力したユーザの数を計数してもよい。
【００６２】
また、算出部１３２は、所定期間のうちに互いに異なる二つのクエリを両方とも入力したユーザの数に基づいて、関連度を算出してもよい。例えば、算出部１３２は、集計期間が設定されている場合には、当該集計期間の間に、互いに異なる二つのクエリを両方とも入力したユーザの数に基づいて関連度を算出する。このように、算出部１３２は、二つのクエリを検索したという情報を集計する期間を可変とすることで、比較的長い期間（１年以上など）を捉えた関連度を算出するか、あるいは、比較的短い期間を捉えた関連度を算出するか、といった制御を行うことができる。
【００６３】
なお、算出部１３２は、クエリを入力するユーザを分類し、分類したグループごとに関連度を算出してもよい。例えば、算出部１３２は、所定のクエリの入力履歴、所定のサービスの利用履歴、又は、所定の属性の少なくともいずれか一つに基づいてユーザを所定のグループに分類し、分類したグループごとに関連度を算出してもよい。例えば、算出部１３２は、「妊娠」や「出産」等のライフステージに関わるクエリを所定の回数以上検索した履歴を有するユーザ群における、クエリ同士の関連度を算出してもよい。あるいは、算出部１３２は、ショッピングサービスやオークションサービスを利用した履歴を所定の回数以上有するユーザ群や、年齢層や性別が共通するユーザ群における、クエリ同士の関連度を算出してもよい。これにより、算出部１３２は、不特定多数のユーザの検索行動のみならず、ある特定の興味関心を有するグループにおけるユーザの検索行動に基づいて、クエリの関連度を算出することができる。
【００６４】
算出部１３２は、上記式（１）で示す式に対応する数値を代入することにより、互いに異なる二つのクエリである第１クエリと第２クエリとの関連度を算出する。算出部１３２は、第１クエリと第２クエリのペアと、算出した関連度とを対応付けて、関連度情報記憶部１２１に記憶する。
【００６５】
（抽出部１３３について）
抽出部１３３は、任意のクエリ同士の関連度に基づいて、第１クエリと関連する複数の第２クエリを抽出する。例えば、抽出部１３３は、算出部１３２によって算出された関連度に基づいて、第１クエリと関連する複数の第２クエリを抽出する。
【００６６】
具体的には、抽出部１３３は、第１クエリに対する第２クエリのうち、所定の閾値を超える関連度を有する第２クエリを抽出する。なお、所定の閾値は、例えば分類装置１００の管理者によって任意に設定されてもよいし、統計的な手法により算出されてもよい（例えば、算出された全ての関連度における平均値を所定の閾値として設定する等）。また、抽出部１３３は、第１クエリに対する第２クエリのうち、関連度の高い順から所定数の第２クエリを抽出するようにしてもよい。
【００６７】
（生成部１３４について）
生成部１３４は、抽出部１３３によって抽出された複数の第２クエリに基づいて、第１クエリを特徴付ける特徴情報を生成する。
【００６８】
例えば、生成部１３４は、複数の第２クエリの各々を構成する要素と、要素の出現回数とに基づいて、複数の第２クエリと関連する第１クエリの特徴情報を生成する。具体的には、生成部１３４は、第１クエリの特徴情報として、第２クエリを構成するキーワードと、キーワードの出現回数との組合せの情報を生成してもよい。
【００６９】
また、生成部１３４は、第１クエリの特徴情報として、複数の第２クエリの各々を構成する要素を次元とし、要素の出現回数を各々の次元の次元数とするベクトルを生成してもよい。具体的には、生成部１３４は、第１クエリの特徴情報として、抽出された複数の第２クエリの各々を構成するキーワードを次元とし、各々のキーワードの出現回数を各々の次元の次元数とする単語ベクトルを生成する。
【００７０】
生成部１３４は、第１クエリと、生成した特徴情報とを対応付けて、特徴情報記憶部１２２に格納する。
【００７１】
（受付部１３５について）
受付部１３５は、各種要求を受け付ける。例えば、受付部１３５は、所定のユーザから任意のキーワードを受け付ける。具体的には、受付部１３５は、キーワードの分類を所望するユーザから、任意のキーワードを受け付けるとともに、当該キーワードの分類の要求（リクエスト）を受け付ける。受付部１３５は、受け付けたキーワードを分類部１３６に送る。例えば、受付部１３５によって一のキーワードが受け付けられた場合、分類部１３６は、当該一のキーワードが既存のクラスのいずれかに分類されるかを判定する。
【００７２】
また、受付部１３５は、任意の複数のキーワードを含むキーワードリストを受け付けてもよい。この場合、受付部１３５は、受け付けたキーワードリストを分類部１３６に送る。この場合、分類部１３６は、キーワードリストに含まれる各々のキーワードを分類する。
【００７３】
（分類部１３６について）
分類部１３６は、生成部１３４によって生成された特徴情報に基づいて、第１クエリに対応するキーワードを分類する。
【００７４】
例えば、分類部１３６は、第１クエリの特徴情報がベクトルである場合には、生成部１３４によって生成されたベクトルの類似度（例えばコサイン類似度）に基づいて、キーワードを分類する。
【００７５】
また、分類部１３６は、受付部１３５によって任意のキーワードが受け付けられた場合には、当該キーワードに対応する特徴情報に基づいて、当該キーワードを分類する。例えば、分類部１３６は、既存のクラスに属する他のキーワードが存在する場合には、他のキーワードの特徴情報と、受け付けられたキーワードとの特徴情報の類似度に基づいて、受け付けられたキーワードがいずれのクラスに属するかを判定する。
【００７６】
また、分類部１３６は、受付部１３５によって任意の複数のキーワードを含むキーワードリストが受け付けられた場合には、キーワードリストに含まれる各々のキーワードの特徴情報に基づいて、当該キーワードリストに含まれる各々のキーワードを分類する。これにより、分類部１３６は、ユーザが分類を所望する複数のキーワードについて、キーワードの意味やカテゴリ等によらず、適切な分類を行うことができる。
【００７７】
分類部１３６は、キーワードと分類したクラスとを対応付けて、分類情報記憶部１２３に格納する。また、分類部１３６は、分類した結果をユーザに送信する。
【００７８】
また、分類部１３６は、ユーザから受け付けたキーワードリストに対して分類を行った場合、分類の結果を可視化したグラフ等をユーザに提供してもよい。例えば、分類部１３６は、キーワードを分布図等で示し、同じクラス（グループ）に分類されたキーワードを同じ色で示すなど、ユーザが一目でキーワード同士の関係を把握できるような情報をユーザに提供してもよい。
【００７９】
〔４．処理手順〕
次に、図７及び図８を用いて、実施形態に係る分類装置１００による処理の手順について説明する。まず、図７を用いて、実施形態に係る特徴情報の生成処理の手順について説明する。図７は、実施形態に係る分類装置１００による処理手順を示すフローチャート（１）である。
【００８０】
図７に示すように、分類装置１００は、ユーザから送信されたクエリを取得したか否かを判定する（ステップＳ１０１）。クエリを取得していない場合（ステップＳ１０１；Ｎｏ）、分類装置１００は、クエリを取得するまで待機する。
【００８１】
一方、クエリを取得した場合（ステップＳ１０１；Ｙｅｓ）、分類装置１００は、取得したクエリのうち、処理対象とする任意の第１クエリを選択する（ステップＳ１０２）。さらに、分類装置１００は、第１クエリを検索したユーザが検索した第２クエリを集計する（ステップＳ１０３）。
【００８２】
そして、分類装置１００は、例えば上記式（１）を用いて、第１クエリと第２クエリとの関連度を算出する（ステップＳ１０４）。その後、分類装置１００は、全検索クエリの関連度を算出したか否かを判定する（ステップＳ１０５）。全クエリの関連度を算出していない場合（ステップＳ１０５；Ｎｏ）、分類装置１００は、ステップＳ１０２からステップＳ１０４の処理を繰り返す。
【００８３】
一方、全クエリの関連度を算出した場合（ステップＳ１０５；Ｙｅｓ）、分類装置１００は、任意の第１クエリについて、所定の閾値を超える関連度を有する複数の第２クエリを抽出する（ステップＳ１０６）。そして、分類装置１００は、抽出された第２クエリを形態素解析する（ステップＳ１０７）。
【００８４】
続けて、分類装置１００は、形態素と、各々の形態素の出現回数とに基づいて、第１クエリの特徴情報を生成する（ステップＳ１０８）。そして、分類装置１００は、生成した特徴情報を記憶部１２０内に格納する（ステップＳ１０９）。
【００８５】
次に、図８を用いて、実施形態に係る分類処理の手順について説明する。図８は、実施形態に係る分類装置１００による処理手順を示すフローチャート（２）である。
【００８６】
図８に示すように、分類装置１００は、ユーザからキーワードリストを受け付けたか否かを判定する（ステップＳ２０１）。キーワードリストを受け付けていない場合（ステップＳ２０１；Ｎｏ）、分類装置１００は、受け付けるまで待機する。
【００８７】
一方、キーワードリストを受け付けた場合（ステップＳ２０１；Ｙｅｓ）、分類装置１００は、例えば特徴情報記憶部１２２を参照して、キーワードリストに含まれる各々のキーワードに対応する特徴情報を特定する（ステップＳ２０２）。
【００８８】
そして、分類装置１００は、各々のキーワードの特徴情報同士の類似度を算出する（ステップＳ２０３）。さらに、分類装置１００は、算出した類似度に基づいてキーワードを分類する（ステップＳ２０４）。そして、分類装置１００は、分類した結果を記憶部１２０内に格納する（ステップＳ２０５）。また、分類装置１００は、分類した結果をキーワードリストの送信元であるユーザに送信する（ステップＳ２０６）。
【００８９】
〔５．変形例〕
上述した実施形態に係る分類システム１は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、上記の分類システム１に含まれる各装置の他の実施形態について説明する。
【００９０】
〔５−１．キーワードリストの生成〕
上記実施形態では、分類装置１００が、ユーザからキーワードリストを受け付ける例を示した。ここで、分類装置１００は、ユーザから受け付けた一のキーワードに基づいて、キーワードリストを生成し、生成したキーワードリストに含まれるキーワードを分類する処理を行ってもよい。
【００９１】
例えば、分類装置１００は、所定のユーザから任意のキーワードの入力を受け付けた場合に、当該任意のキーワードとの関連度が所定の閾値を超える複数のキーワードを抽出し、当該任意のキーワードと抽出した複数のキーワードとを含むキーワードリストを生成する。そして、分類装置１００は、生成したキーワードリストに含まれる各々のキーワードを分類する。この点について、図９を用いて、処理の流れに沿って説明する。図９は、変形例に係る分類装置による処理手順を示すフローチャートである。
【００９２】
図９に示すように、分類装置１００は、ユーザからキーワードを受け付けたか否かを判定する（ステップＳ３０１）。キーワードを受け付けていない場合（ステップＳ３０１；Ｎｏ）、分類装置１００は、受け付けるまで待機する。
【００９３】
一方、キーワードを受け付けた場合（ステップＳ３０１；Ｙｅｓ）、分類装置１００は、例えば関連度情報記憶部１２１を参照して、受け付けたキーワードに対して所定の閾値を超える関連度を有するキーワードを抽出する（ステップＳ３０２）。
【００９４】
そして、分類装置１００は、受け付けたキーワードと、ステップＳ３０２において抽出したキーワードとを含むキーワードリストを生成する（ステップＳ３０３）。そして、分類装置１００は、生成したキーワードリストに対して、例えば図８で示した流れに沿って分類処理を実行する（ステップＳ３０４）。
【００９５】
このように、分類装置１００は、ユーザから受け付けたキーワードに基づいてキーワードリストを生成し、生成したキーワードリストに含まれるキーワードを分類する処理を行ってもよい。これにより、ユーザは、自身でリストを作成することを要さず、興味関心のあるキーワードを一つだけ分類装置１００に送信することにより、当該キーワードと関連するキーワード群に関する分類結果を得ることができる。すなわち、ユーザは、入力した一のキーワードに関して、ある程度のグルーピングのなされたキーワード群を得ることができる。このため、マーケティングを行うユーザであれば、例えば、入力した一のキーワードに関してどのようなニーズがあるか、また、入力した一のキーワードに関心を有するユーザが、他のどのようなキーワードに興味を有しているか等の情報を知得することができる。
【００９６】
〔５−２．クエリに対する形態素解析〕
上記実施形態では、分類装置１００が、第１クエリと第２クエリの両方を入力したユーザの数に基づいてクエリ同士の関連度を算出する例を示した。ここで、上述のように、クエリは、一のキーワードのみならず、複数のキーワードや文章によって構成される場合がある。このため、分類装置１００は、ユーザから送信されたクエリを形態素解析し、形態素解析の結果に含まれるキーワードを第１クエリや第２クエリとして取り扱うようにしてもよい。この場合、分類装置１００は、既知の記述を用いて、クエリに含まれる名詞や固有名詞を抽出し、抽出したキーワードのみを処理に用いてもよい。
【００９７】
〔５−３．検索行動〕
分類装置１００は、第１クエリと第２クエリとの両方を検索したユーザと判定する期間について、必ずしも集計期間と同じ期間において検索行動がなされたことを条件とすることを要しない。すなわち、分類装置１００は、第１クエリと第２クエリとの両方を検索したユーザと判定する期間と、クエリを検索したユーザの数等を集計する期間とをそれぞれ設定してもよい。例えば、分類装置１００は、同一ユーザから２４時間以内に第１クエリと第２クエリとが送信された場合に、当該ユーザを第１クエリと第２クエリとの両方を検索したユーザと扱ってもよい。また、分類装置１００は、同一ユーザにおける同一セッション（例えば、所定の検索サイトへアクセスし、アクセスが途切れるまでの一連の行動）において第１クエリと第２クエリとが送信された場合に、当該ユーザを第１クエリと第２クエリとの両方を検索したユーザと扱ってもよい。このように、分類装置１００は、ユーザの検索行動を柔軟に取扱い、種々の情報処理を行ってもよい。
【００９８】
〔５−４．検索サイト〕
上記実施形態では、検索サイトが分類装置１００によって提供される例を示した。しかし、検索サイトは、所定の外部サーバ（例えば、検索サービスを提供するウェブサーバ）によって提供されてもよい。この場合、分類装置１００は、外部サーバを介して、ユーザが検索サイトに対して送信したクエリやユーザ情報等を取得するようにしてもよい。
【００９９】
〔６．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１００】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１０１】
例えば、図３に示した関連度情報記憶部１２１や、特徴情報記憶部１２２や、分類情報記憶部１２３は、分類装置１００が保持せずに、外部のストレージサーバ等に保持されてもよい。この場合、分類装置１００は、ストレージサーバにアクセスすることで、関連度情報や特徴情報等を取得する。
【０１０２】
また、例えば、上述してきた分類装置１００は、ユーザ端末１０からクエリを取得したり、分類結果をユーザに送信したりといった、外部装置とのやりとりを中心に実行するフロントエンドサーバ側と、特徴情報に基づいてクエリを分類する処理等を実行するバックエンドサーバ側とに分散されてもよい。
【０１０３】
〔７．ハードウェア構成〕
また、上述してきた実施形態に係る分類装置１００やユーザ端末１０は、例えば図１０に示すような構成のコンピュータ１０００によって実現される。以下、分類装置１００を例として説明する。図１０は、分類装置１００の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０１０４】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１０５】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス１５００は、通信網５００（図２に示すネットワークＮに対応する）を介して他の機器からデータを受信してＣＰＵ１１００へ送り、また、通信網５００を介してＣＰＵ１１００が生成したデータを他の機器へ送信する。
【０１０６】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して生成したデータを出力装置へ出力する。
【０１０７】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラム又はデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１０８】
例えば、コンピュータ１０００が分類装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１３０の機能を実現する。また、ＨＤＤ１４００には、記憶部１２０内の各データが格納される。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置から通信網５００を介してこれらのプログラムを取得してもよい。
【０１０９】
〔８．効果〕
上述してきたように、実施形態に係る分類装置１００は、抽出部１３３と、生成部１３４と、分類部１３６とを有する。抽出部１３３は、任意のクエリ同士の関連度に基づいて、第１クエリと関連する複数の第２クエリを抽出する。生成部１３４は、抽出部１３３によって抽出された複数の第２クエリに基づいて、第１クエリを特徴付ける特徴情報を生成する。分類部１３６は、生成部１３４によって生成された特徴情報に基づいて、第１クエリに対応するキーワードを分類する。
【０１１０】
このように、実施形態に係る分類装置１００は、ユーザから送信されるクエリが有する意味や性質等の定性的な情報によらず、実際のユーザの検索行動という定量的な情報に基づいて分類処理を行う。言い換えれば、分類装置１００は、各々のクエリをカテゴライズ等することなく、関連するキーワード同士を分類する。例えば、分類装置１００によれば、ユーザの趣味嗜好や興味関心を反映してキーワードを分類するため、意味として直接的に関係のなさそうなキーワード同士であっても、同じグループ（クラス）に属するキーワードとして分類することができる。このように、分類装置１００は、ユーザから送信される様々なクエリに対して分類を行うことができるため、結果として、多様なクエリ同士における相互の関係性を導出することができる。
【０１１１】
また、生成部１３４は、複数の第２クエリの各々を構成する要素と、当該要素の出現回数とに基づいて、当該複数の第２クエリと関連する第１クエリの特徴情報を生成する。
【０１１２】
このように、実施形態に係る分類装置１００は、第２クエリを構成する要素（例えば、第２クエリが含むキーワード）と要素の出現回数とによって第１クエリの特徴を示すため、第１クエリの特徴を詳細に捉えることができる。このため、分類装置１００は、第１クエリに対応するキーワードを適切に分類することができる。
【０１１３】
また、生成部１３４は、第１クエリの特徴情報として、複数の第２クエリの各々を構成する要素を次元とし、当該要素の出現回数を各々の次元の次元数とするベクトルを生成する。分類部１３６は、生成部１３４によって生成されたベクトルの類似度に基づいて、キーワードを分類する。
【０１１４】
このように、実施形態に係る分類装置１００は、第２クエリを構成する要素と要素の出現回数とをベクトルによって表現することにより、特徴情報同士の類似度の算出を容易に行うことができる。
【０１１５】
また、実施形態に係る分類装置１００は、任意のクエリのうち、互いに異なる二つのクエリのいずれかを入力したユーザの数と、当該二つのクエリを両方とも入力したユーザの数と、に少なくとも基づいて、任意のクエリ同士の関連度を算出する算出部１３２をさらに備える。抽出部１３３は、算出部１３２によって算出された関連度に基づいて、第１クエリと関連する複数の第２クエリを抽出する。
【０１１６】
このように、実施形態に係る分類装置１００は、ユーザの検索行動ログに基づいて関連度を算出するため、クエリそのものの意味やカテゴリ等によらず、実際のユーザの興味関心に基づいて関連度を算出することができる。これにより、分類装置１００は、似たような行動をとるユーザが検索したクエリ同士の関連度を高く算出するなど、ユーザの行動が的確に反映された関連度の算出を行うことができる。
【０１１７】
また、算出部１３２は、所定期間のうちに互いに異なる二つのクエリを両方とも入力したユーザの数に基づいて、関連度を算出する。
【０１１８】
このように、実施形態に係る分類装置１００は、所定期間を設定し、所定期間における一連のユーザの検索行動を捉え、関連度を算出する。分類装置１００は、例えば所定期間を数年間というスパンで設定することで、妊娠や出産、また、ベビー用品など、ユーザのライフステージの移り変わりに関するクエリ同士を関連度のあるクエリとして抽出することができる。これにより、分類装置１００は、ユーザの一連の行動を反映させた分類処理を行うことができる。
【０１１９】
また、実施形態に係る分類装置１００は、所定のユーザから任意のキーワードを受け付ける受付部１３５をさらに備える。分類部１３６は、受付部１３５によって受け付けられたキーワードに対応する特徴情報に基づいて、当該キーワードを分類する。
【０１２０】
このように、実施形態に係る分類装置１００は、ユーザから受け付けたキーワードに対して分類を行うことで、ユーザが所望するキーワードがどのような興味関心を持っているユーザに検索されているか、また、当該キーワードがどのような他のキーワードと関連性を有するかといった情報をユーザに提供することができる。
【０１２１】
また、受付部１３５は、任意の複数のキーワードを含むキーワードリストを受け付ける。分類部１３６は、受付部１３５によって受け付けられたキーワードリストに含まれる各々のキーワードの特徴情報に基づいて、当該キーワードリストに含まれる各々のキーワードを分類する。
【０１２２】
このように、実施形態に係る分類装置１００は、キーワードリストに含まれるキーワードを分類することで、どのようなキーワード同士がユーザに検索され易い傾向にあるかといった情報をユーザに提供することができる。
【０１２３】
また、受付部１３５は、所定のユーザから任意のキーワードの入力を受け付けた場合に、当該任意のキーワードとの関連度が所定の閾値を超える複数のキーワードを抽出し、当該任意のキーワードと抽出した複数のキーワードとを含むキーワードリストを生成する。分類部１３６は、受付部１３５によって生成されたキーワードリストに含まれる各々のキーワードを分類する。
【０１２４】
このように、実施形態に係る分類装置１００は、ユーザから受け付けたキーワードに基づいてキーワードリストを生成し、生成したキーワードリストに含まれるキーワードを分類する処理を行ってもよい。これにより、分類装置１００は、ユーザにキーワードリストを作成する手間を掛けさせず、キーワードと関連するキーワード群に関する分類結果をユーザに提供することができる。
【０１２５】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１２６】
また、上述した分類装置１００は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をＡＰＩ（Application  Programming  Interface）やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【０１２７】
また、特許請求の範囲に記載した「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、取得部は、取得手段や取得回路に読み替えることができる。
【符号の説明】
【０１２８】
１  分類システム
１０  ユーザ端末
１００  分類装置
１１０  通信部
１２０  記憶部
１２１  関連度情報記憶部
１２２  特徴情報記憶部
１２３  分類情報記憶部
１３０  制御部
１３１  取得部
１３２  算出部
１３３  抽出部
１３４  生成部
１３５  受付部
１３６  分類部
【図１】
2019053519.tif 000004
【図２】
2019053519.tif 000005
【図３】
2019053519.tif 000006
【図４】
2019053519.tif 000007
【図５】
2019053519.tif 000008
【図６】
2019053519.tif 000009
【図７】
2019053519.tif 000010
【図８】
2019053519.tif 000011
【図９】
2019053519.tif 000012
【図１０】
2019053519.tif 000013