[1.教師データ生成システムの全体構成]
以下、本発明に関わる教師データ生成システムの実施形態の例を説明する。図1は、教師データ生成システムの全体構成を示す図である。図1に示すように、教師データ生成システムSは、サーバ10、ユーザ端末20、及び解析者端末30を含み、これらはインターネット等のネットワークNに接続される。なお、図1では、サーバ10、ユーザ端末20、及び解析者端末30を1台ずつ示しているが、これらは複数台あってもよい。
サーバ10は、サーバコンピュータであり、例えば、制御部11、記憶部12、及び通信部13を含む。制御部11は、少なくとも1つのプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信部13は、有線通信又は無線通信用の通信インタフェースを含み、例えば、ネットワークNを介してデータ通信を行う。
ユーザ端末20は、ユーザが操作するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末(タブレット型コンピュータを含む)、又は携帯電話機(スマートフォンを含む)等である。ユーザは、サーバ10が提供するサービスの利用者であり、例えば、ウェブサイトの閲覧者である。ユーザは、エンドユーザということもできる。
ユーザ端末20は、制御部21、記憶部22、通信部23、操作部24、及び表示部25を含む。制御部21、記憶部22、及び通信部23のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。操作部24は、ユーザが操作を行うための入力デバイスであり、例えば、タッチパネルやマウス等のポインティングデバイスやキーボード等である。操作部24は、ユーザの操作内容を制御部21に伝達する。表示部25は、例えば、液晶表示部又は有機EL表示部等である。
解析者端末30は、解析者が操作するコンピュータであり、例えば、パーソナルコンピュータ、携帯情報端末、又は携帯電話機等である。解析者は、ユーザの行動等の解析を担当する担当者であり、例えば、サービスの提供会社におけるデータサイエンティストである。
解析者端末30は、制御部31、記憶部32、通信部33、操作部34、及び表示部35を含む。制御部31、記憶部32、通信部33、操作部34、及び表示部35のハードウェア構成は、それぞれ制御部11、記憶部12、通信部13、操作部24、及び表示部25と同様であってよい。
なお、記憶部12,22,32に記憶されるものとして説明するプログラム及びデータは、ネットワークを介してこれらに供給されるようにしてもよい。また、サーバ10、ユーザ端末20、及び解析者端末30のハードウェア構成は、上記の例に限られず、種々のハードウェアを適用可能である。例えば、サーバ10、ユーザ端末20、及び解析者端末30の各々は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)や外部機器と直接的に接続するための入出力部(例えば、USB端子)を含んでもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部又は入出力部を介して、サーバ10、ユーザ端末20、及び解析者端末30の各々に供給されるようにしてもよい。
[2.教師データ生成システムの概要]
まず、教師データ生成システムSの概要を説明する。教師データ生成システムSは、複数の分類対象の各々にラベルを付与し、学習モデルに学習させる教師データを生成する。
分類対象とは、分類の対象となるデータ(情報)である。別の言い方をすれば、分類対象は、ラベルが付与されるデータである。分類対象は、解析者によってラベルが付与されて教師データの一部となることもあるし、学習モデルに入力されてラベルが付与されることもある。分類対象は、任意の形式のデータであってよく、例えば、ユーザの行動履歴、カメラで撮影された画像、ニュース記事や論説などの文章、音楽や動画などのコンテンツ、又はウェブサイトなどのデータであってもよい。
ラベルとは、分類を一意に識別する識別子である。ラベルは、属性、種類、カテゴリ、又はクラスと呼ばれることもある。本実施形態では、ラベルは、後述するクラスタとは異なる。ラベルは、ラベル名を示す文字列で表現されてもよいし、ラベルを一意に識別するIDで表現されてもよい。ラベルは、所定の分類に属するか否かを示す2値的な情報であってもよいし、複数の分類のうちの何れに属するかを示す情報であってもよい。
学習モデルとは、機械学習を利用したモデルである。学習モデルは、AI(Artificial Intelligence)、分類器、又は分類学習器と呼ばれることもある。学習モデルは、任意の処理を実行可能であり、例えば、人間の行動解析、画像認識、文字認識、音声認識、又は自然界の現象の認識を行う。機械学習自体は、公知の種々の手法を利用可能であり、例えば、ニューラルネットワーク、強化学習、又は深層学習といった手法を利用可能である。機械学習は、教師有り学習が用いられてもよいし、半教師有り学習が用いられてもよい。
教師データとは、学習モデルに学習させるデータである。教師データは、学習データ又は訓練データと呼ばれることもある。例えば、教師データは、学習モデルに対する入力(設問)と、学習モデルの出力(回答)と、のペアである。例えば、教師データは、学習モデルに入力される入力データ(未知の分類対象)と同じ形式のデータ(ラベル付与済みの分類対象)と、当該データに付与されたラベルと、がペアになったデータである。
なお、機械学習では、複数の教師データを利用して学習が行われるので、本実施形態では、複数の教師データの集まりを教師データセットと記載し、教師データセットに含まれる個々のデータを教師データと記載する。即ち、教師データと記載した箇所は、上記説明したペアを意味し、教師データセットは、ペアの集まりを意味する。
本実施形態では、サーバ10が提供するウェブサイトにおけるユーザの行動を解析する場面を例に挙げて、教師データ生成システムSの処理を説明する。このため、本実施形態では、ユーザの行動履歴が分類対象に相当する。例えば、行動履歴には、ウェブサイトにおけるユーザの画面遷移と、画面におけるユーザの入力と、が含まれる。
図2は、サーバ10が提供するウェブサイトの構成例を示す図である。本実施形態では、ウェブサイトの一例として、ゴルフ場の予約を受け付けるウェブサイトを説明する。図2に示すように、例えば、トップページA、検索フォームページB、検索結果ページC、コース詳細ページD、予約ステップ1ページE、予約ステップ2ページF、及び予約完了ページGの順番に画面遷移すると、ゴルフ場の予約が完了する。
トップページAは、ゴルフ場の予約サービスの入り口となる最上位のページである。ウェブサイトがツリー構造(階層構造)を有していたとすると、トップページAは、根ノードに相当する。検索フォームページBは、ゴルフ場の検索条件(クエリ)を入力するためのページである。検索フォームページBには、ゴルフ場のエリア、プレイ開始日時、又はプレイ人数といった検索条件を入力するための入力フォームが表示される。
検索結果ページCは、検索条件にヒットしたゴルフ場の一覧が表示されるページである。コース詳細ページDは、ゴルフ場におけるコースの詳細を示すページである。例えば、検索結果ページCの中から選択されたゴルフ場のコース詳細ページDが表示される。図2の例では、コース詳細ページDを1つだけ示しているが、サーバ10が予約を受付可能なコースの数だけコース詳細ページDが存在する。このため、ユーザは、表示させたコース詳細ページDのゴルフ場が気に入らなければ、検索結果ページCに戻り、他のゴルフ場のコース詳細ページDを表示させることができる。
予約ステップ1ページE及び予約ステップ2ページFの各々は、ゴルフ場の予約に必要な情報を入力するためのページである。例えば、予約ステップ1ページEは、プレイ開始時間及びプレイ人数等を入力するための入力フォームが表示される。また例えば、予約ステップ2ページFは、予約者の氏名、住所、電話番号、メールアドレス、及び他のプレイヤの氏名等を入力するための入力フォームが表示される。
本実施形態では、予約ステップ1ページEにおける全ての入力フォームを入力しなければ、予約ステップ2ページFには進めないようになっている。例えば、予約ステップ1ページEで未入力の情報があると、予約ステップ2ページFに進むためのボタンが選択されたとしても、予約ステップ2ページFに進むことはできない。この場合、予約ステップ1ページEが再び表示され、未入力の情報がある旨を示すエラーメッセージが所定の位置に表示される。
予約完了ページGは、ゴルフ場の予約が完了したことを示すページである。本実施形態では、予約ステップ2ページFの全ての入力フォームを入力しなければ、予約完了ページGには進めないようになっている。このため、予約ステップ1ページFと同様、予約ステップ2ページFで未入力の情報があると、予約完了ページGに進むことができず、エラーメッセージが表示される。
なお、ユーザは、必ずしも上記の順番で画面遷移する必要はなく、任意の順番で画面遷移することができる。例えば、ユーザがコース詳細ページDのリンクをブックマークしている場合には、トップページA、検索フォームページB、及び検索結果ページCが表示されることなく、最初からコース詳細ページDが表示されるようにしてもよい。また例えば、ユーザは、検索結果ページCとコース詳細ページDの間を行き来して所望のゴルフ場を見つけることもできるし、予約完了ページGからトップページAに戻ることもできる。
本実施形態では、サーバ10は、過去にアクセスした多数のユーザの行動履歴を収集して蓄積している。図2の例では、ユーザU1の行動履歴は、トップページA、検索フォームページB、検索結果ページC、検索フォームページB、検索結果ページC、コース詳細ページD、予約ステップ1ページE、予約ステップ2ページF、予約完了ページG、トップページAの順で画面遷移したことを示している。ユーザU1は、検索フォームページBと検索結果ページCの間を行き来したが、予約完了ページGまでたどり着いているので、ゴルフ場の予約を終えている。本実施形態では、予約完了ページGが表示されると、ゴルフ場の予約サービスの目的が達成されるので、予約完了ページGが表示されたことは、いわゆるコンバージョンされたことを意味する。
また、ユーザU2は、コース詳細ページD、予約ステップ1ページE、予約ステップ2ページF、予約ステップ2ページF、予約ステップ1ページE、予約ステップ2ページF、予約完了ページGの順で画面遷移している。予約ステップ2ページFが2回連続しているのは、予約ステップ2ページFで未入力の情報があり、予約完了ページGに進めなかったからである。また、予約ステップ2ページFから予約ステップ1ページEに戻っているのは、ユーザU2が予約ステップ1ページEの入力内容を確認して修正したからである。ユーザU2についても、多少の支障はあったものの予約完了ページGまでたどり着いているので、コンバージョンされたことになる。
ユーザU3は、トップページA、検索フォームページB、検索結果ページC、コース詳細ページD、予約ステップ1ページE、予約ステップ2ページF、予約ステップ2ページF、予約ステップ2ページFの順で画面遷移している。予約ステップ2ページFが3回連続しているのは、予約ステップ2ページFで未入力の情報があり、予約完了ページGに進めなかったからである。
例えば、ユーザU3は、予約ステップ2ページFのレイアウトの問題により、エラーメッセージに気付くことができず、途中で入力するのが嫌になってしまいウェブサイトから離脱したものとする。このため、ユーザU3は、ゴルフ場を予約する意思があったものの、予約完了ページGまでたどり着くことができなかったと推測される。以降、この状態(予約ステップ1ページE又は予約ステップ2ページFまでは表示させたが、予約完了ページGにたどり着かなった状態)を「放棄」という。
ユーザU4は、トップページA、検索フォームページB、検索結果ページC、コース詳細ページD、検索フォームページB、検索結果ページC、検索結果ページCの順で画面遷移している。ユーザU4は、コース詳細ページDまでは表示させたものの、予約ステップ1ページEは表示させなかったので、ゴルフ場を予約する意思が無く、単にウェブサイトを閲覧していただけと推測される。以降、この状態(トップページA、検索フォームページB、検索結果ページC、及びコース詳細ページDの少なくとも1つは表示させたものの予約ステップ1ページEまでたどり着かなった状態)を「意志無し」という。
本実施形態では、上記のように、複数のページを行き来したり、同じページを何度も表示させたりする行動を、ストラグル行動という。ストラグル行動は、コンバージョンしたもののすんなりとはコンバージョンできなかった行動、又は、コンバージョンの意志があったもののコンバージョンできなかった行動である。別の言い方をすれば、ストラグル行動は、コンバージョンのための支障が発生したことを示す行動である。ストラグル行動は、ユーザの迷いが表れた行動ということもできる。
図2の例であれば、予約完了ページGにたどり着くまでに、複数の画面を行き来することなく、かつ、同じ画面を何度も表示させなかった場合には、最短の経路でコンバージョンしたことになる。ストラグル行動は、コンバージョンに至るまでに最短の経路とはならなかった行動ということができる。ストラグル行動が発生すると、コンバージョンに至るまでに無駄な行動が発生したことになる。
例えば、予約ステップ1ページE又は予約ステップ2ページFにおけるエラーメッセージが分かりにくい場所(例えば、スクロールしなければ表示されない場所)に表示されると、ユーザU3のように、未入力の情報があることに気付かずにストラグル行動が発生し、途中で嫌になって離脱してしまう。このため、本実施形態では、ウェブサイトのレイアウトの問題を検出するために、各ユーザの行動履歴を学習モデルによって解析してストラグル行動を検出するようにしている。
なお、ストラグル行動は、任意の目的で検出されてよく、レイアウトの問題を検出する目的に限られない。例えば、コンバージョンにたどり着くための最短の経路を特定するために、ストラグル行動が検出されてもよい。また例えば、ストラグル行動が検出されたユーザの手助けをするために、オペレータがチャットで話しかけるようにしてもよいし、ストラグル行動に応じたガイドメッセージを表示させるようにしてもよい。他にも例えば、同じ内容のウェブサイトに複数のレイアウトを用意しておき、ストラグル行動が検出されたユーザに、別のレイアウトのウェブサイトが提示されるようにしてもよい。
教師データ生成システムSは、ストラグル行動を検出する学習モデルの教師データを生成する。教師データは、過去にアクセスを受け付けたユーザの行動履歴と、ストラグル行動であるか否かを示すラベル(以降、ストラグルラベルという。)と、のペアとなる。この点、ストラグル行動の検出ルールを予め用意しておき、検出ルールを利用してストラグルラベルを自動的に付与し、教師データを生成することが考えられる。
しかしながら、ウェブサイトの構造が複雑になるほど、ストラグル行動に該当する行動パターンは増加する。このため、全ての行動パターンを網羅する検出ルールを用意するのは現実的ではなく、行動パターンを利用して教師データを自動生成するのは非常に困難である。一方、サーバ10に蓄積された全ての行動履歴に人手でストラグルラベルを付与し、教師データを生成しようとしても、非常に手間がかかり効率的ではない。
そこで、教師データ生成システムSは、効率良く教師データを生成するために、下記の4つの手順を実行する。
(手順1)似た内容の行動履歴が同じクラスタに属するように、行動履歴をクラスタリングする。
(手順2)解析者に、クラスタに属する一部の行動履歴の内容を提示してストラグルラベルを指定させる。
(手順3)クラスタに、解析者が指定したストラグルラベルを付与する。
(手順4)クラスタのストラグルラベルに基づいて教師データを生成する。
図3は、クラスタリングの一例を示す図である。図3に示すように、教師データ生成システムSは、手順1において、サーバ10に蓄積された行動履歴を特徴量化し、クラスタリングを行う。図3の例では、各行動履歴の特徴量を点で示しており、クラスタC1〜C10の10個のクラスタが存在する。なお、クラスタの数は、上限値が定められていてもよいし、特に上限値が定められていなくてもよい。
例えば、特徴量を多次元ベクトルで表現したとすると、ベクトル空間上の距離が近いことは、行動履歴の内容が似ていることを意味する。このため、互いに距離が近い行動履歴が同じクラスタに属するように、クラスタリングが実行される。手順1におけるクラスタリングが行われると、手順2に移り、ストラグルラベルを付与するためのラベル付与画面が解析者端末30に表示される。
図4は、ラベル付与画面の一例を示す図である。図4に示すように、ラベル付与画面Hには、クラスタC1〜C10の各々の名前、ストラグルラベルを付与するためのボタンB1〜B3、及びストラグルラベルの付与を終了するためのボタンB4が表示される。本実施形態では、ストラグルラベルとして、ストラグル行動であることを示す「S」、ストラグル行動ではないことを示す「NS」、及び解析対象外であることを示す「NA」の3種類が用意されているものとする。
解析者は、各クラスタに対応するボタンB1〜B3の何れかを選択し、ストラグルラベルを付与することになる。クラスタにストラグルラベルが付与されると、ラベル付与画面Hには、その情報が表示される。図4の例では、どのクラスタにもストラグルラベルが付与されておらず、全てのクラスタが「未分類」となっている。例えば、解析者がクラスタC1を選択すると、クラスタC1に属する行動履歴の一覧が表示される。
図5は、解析者がクラスタC1を選択した場合のラベル付与画面Hの一例を示す図である。図5に示すように、解析者が選択したクラスタC1に属する行動履歴を示す行動履歴画像I1〜I15が表示される。なお、図5では、クラスタC1に属する15個の行動履歴を示しているが、ラベル付与画面Hには、クラスタC1に属する全ての行動履歴の一覧が表示されるものとする。図5の例では、行動履歴画像I1〜I15の各々は、4つのアイコンを含み、一番左のアイコンは、クラスタC1に属する行動履歴に連番で付与された番号を示している。
左から2番目のアイコンは、コンバージョンされたか否かを示すラベル(以降、コンバージョンラベルという。)を示している。本実施形態では、コンバージョンされたことを示す「C」、放棄されたことを示す「A」、又は意志無しであることを示す「N」の3種類のコンバージョンラベルが用意されている。図2の例であれば、ユーザU1,U2は「C」となり、ユーザU3は「A」となり、ユーザU4は「N」となる。
なお、コンバージョンラベルが異なっていたとしても、セッションが切断されるまでの行動が全体的に似ていれば、特徴量の距離は短くなる。このため、コンバージョンラベルが互いに異なる行動履歴が同じクラスタに属することもある。コンバージョンラベルは、解析者によって付与されてもよいが、本実施形態では、コンバージョンラベルを自動的に付与するためのドメインナレッジが用意されている。ドメインナレッジの詳細は後述する。
左から3番目のアイコンは、ユーザ端末20の種類を示す情報である。本実施形態では、サーバ10が提供するウェブサイトは、デスクトップ用のレイアウト、スマートフォン用のレイアウト、及びタブレット用のレイアウトが存在し、ユーザ端末20は、デスクトップ、スマートフォン、又はタブレットの何れかに分類される。一番右のアイコンは、行動履歴の内容を確認するためのアイコンである。解析者は、行動履歴画像I1〜I15の中から、任意のアイコンを選択して行動履歴の内容を確認する。
図6は、行動履歴の内容がラベル付与画面Hに表示される様子を示す図である。図6に示すように、クラスタC1に属する任意の行動履歴が選択されると、当該選択された行動履歴の内容がラベル付与画面Hに表示される。例えば、ラベル付与画面Hには、セッションが確立されてから切断されるまでの間における画面遷移とユーザの入力内容が時系列的に表示される。
解析者は、行動履歴の内容を確認し、ストラグル行動に該当するか否かを判定する。解析者は、表示中の行動履歴だけでは判断できない場合、図5のラベル付与画面Hに戻り、他の行動履歴を選択するようにしてもよい。解析者がボタンB1〜B3の何れかを選択すると、クラスタC1にストラグルラベルが付与される。例えば、図6の状態で解析者がボタンB1を選択すると、クラスタC1に「S」のストラグルラベルが付与される。
図7は、クラスタC1にストラグルラベルが付与された場合のラベル付与画面の一例を示す図である。図7に示すように、クラスタC1には「S」のストラグルラベルが付与されたので、クラスタC1の横に「S」の名前が表示される。クラスタC1に属する全ての行動履歴は、ストラグル行動に分類されたことになる。
以降同様にして、解析者は、クラスタC2〜C10についても、一部の行動履歴の内容を確認してストラグルラベルを付与し、手順3が繰り返される。解析者が全てのクラスタにストラグルラベルを付与し、ボタンB4を選択すると、手順4が実行され、教師データ生成システムSは、各クラスタに属する行動履歴とストラグルラベルのペアを教師データとして生成する。教師データは、任意のタイミングで学習モデルに学習される。学習済みの学習モデルは、新たなユーザのアクセスを受け付けるたびに、当該ユーザの行動がストラグル行動であるか否かを分類するために使用される。
以上のように、教師データ生成システムSは、サーバ10に蓄積された行動履歴をクラスタリングし、クラスタに属する一部の行動履歴の内容をラベル付与画面Hに表示する。教師データ生成システムSは、各クラスタに、解析者が指定したストラグルラベルを付与し、教師データを生成することによって、教師データの生成を効率化するようにしている。以降、教師データ生成システムSの詳細を説明する。
[3.本実施形態において実現される機能]
図8は、教師データ生成システムSで実現される機能の一例を示す機能ブロック図である。図8に示すように、本実施形態では、データ記憶部100、コンバージョンラベル付与部101、クラスタリング部102、提示部103、ストラグルラベル付与部104、生成部105、学習部106、及び処理実行部107が、サーバ10で実現される場合を説明する。
[3−1.データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、本実施形態で説明する処理を実行するために必要なデータを記憶する。例えば、データ記憶部100は、行動履歴データD1、ドメインナレッジデータD2、及び教師データセットDSを記憶する。
図9は、行動履歴データD1のデータ格納例を示す図である。図9に示すように、行動履歴データD1は、複数のユーザの各々の行動履歴を示すデータである。行動履歴データD1には、過去の全ての期間における行動履歴が格納されていてもよいし、一部の期間における行動履歴が格納されていてもよい。また、行動履歴データD1には、全てのユーザの行動履歴が格納されていてもよいし、一部のユーザの行動履歴だけが格納されていてもよい。また、行動履歴データD1には他の情報が格納されていてもよく、例えば、ユーザ端末20の種類を示す情報が格納されていてもよい。
例えば、行動履歴データD1には、行動履歴を一意に識別する行動履歴ID、行動履歴の内容、行動履歴の特徴量、行動履歴が属するクラスタに関する情報(例えば、クラスタを一意に識別するクラスタIDとクラスタ内における番号)、ストラグルラベル付与部104により付与されたストラグルラベル、及びコンバージョンラベル付与部101により付与されたコンバージョンラベルが格納される。なお、クラスタリングが実行される前は、クラスタに関する情報は格納されず、ラベルが付与される前は、ストラグルラベルとコンバージョンラベルは格納されない。
例えば、行動履歴には、ユーザの行動が時系列的に示されている。行動とは、ユーザの挙動であり、ユーザ端末20が実行した処理のログということもできる。図9の例では、行動履歴として、ユーザを一意に識別するユーザID、行動履歴の内容、及び行動が行われた時間が格納される。例えば、行動履歴は、ユーザによる画面遷移と、ユーザによる入力の履歴と、の少なくとも一方を含む。本実施形態では、これらの両方が行動履歴に含まれている場合を説明するが、何れか一方のみが行動履歴に含まれていてもよい。
画面遷移は、ユーザ端末20に表示された画面の時系列的な変化である。画面遷移は、閲覧履歴ということもできる。画面遷移は、ユーザ端末20に表示された画面の履歴ということもできる。本実施形態では、URLによって画面が識別される場合を説明するが、画面ID等の任意の情報によって画面が識別されてよい。
ユーザによる入力は、各画面に対するユーザの入力である。ユーザによる入力は、操作部24からの操作履歴ということもできる。例えば、入力は、入力フォームに対する入力、ラジオボタン等のボタンに対する入力、画面に表示されたリンクの選択、ドラムロールUIに対する入力、又は画面におけるスクロール等である。
例えば、サーバ10は、ユーザのアクセスを受け付けると、行動履歴データD1に新たなレコードを生成し、ユーザIDとともに行動履歴の内容及び現在の時間を格納する。本実施形態では、サーバ10は、ユーザ端末20とのセッションが確立されてから切断されるまでの一連の行動を時系列的に記録し、行動履歴として格納する。例えば、サーバ10は、ユーザ端末20に表示させる画面が変わるたびに、画面のURLを記録する。また例えば、サーバ10は、ユーザ端末20から入力フォームに対する入力等の操作を受信するたびに、ユーザの操作内容を記録する。
図10は、ドメインナレッジデータD2のデータ格納例を示す図である。図10に示すように、ドメインナレッジデータD2には、サーバ10が提供するサービスに関する種々の情報が格納される。例えば、ドメインナレッジデータD2には、複数のページの各々の属性が格納される。
属性は、ページの種類であり、本実施形態では、コンバージョンラベルを付与するために利用される。例えば、属性は、ページの階層を示す情報であり、トップページA、検索フォームページB、検索結果ページC、及びコース詳細ページDといった上位の階層のページには、「予約意志無し」の属性が付与される。また例えば、予約ステップ1ページE及び予約ステップ2ページFといった中間的な階層のページには、「予約意志有り」の属性が付与される。また例えば、予約完了ページGのように下位の階層のページには、「コンバージョン」の属性が付与される。
本実施形態では、「予約意志無し」の属性のページだけが表示された場合には、「N」のコンバージョンラベルが付与される。「予約意志有り」の属性のページが表示されたが、「コンバージョン」の属性のページが表示されなかった場合には、「A」のコンバージョンラベルが付与される。「コンバージョン」の属性のページが表示された場合には、「C」のコンバージョンラベルが付与される。
図11は、教師データセットDSのデータ格納例を示す図である。図11に示すように、教師データセットDSには、学習モデルに学習させる入力と出力のペアである教師データが多数格納されている。例えば、個々の教師データには、行動履歴の特徴量と、行動履歴に付与されたストラグルラベルと、のペアが格納される。教師データセットDSは、後述する生成部105により生成される。
なお、データ記憶部100に記憶されるデータは、上記の例に限られない。例えば、データ記憶部100は、学習モデルのプログラムやパラメータを記憶する。データ記憶部100は、学習前の学習モデルを記憶してもよいし、学習後の学習モデルを記憶してもよい。また例えば、データ記憶部100は、ユーザの基本情報が格納されたユーザデータベースを記憶してもよい。ユーザデータベースには、ユーザIDに関連付けてユーザの名前や住所等の個人情報が登録される。ユーザがサービスに対して利用登録をすると、ユーザデータベースに新たなレコードが作成され、利用登録を済ませたユーザの情報が格納される。
[3−2.コンバージョンラベル付与部]
コンバージョンラベル付与部101は、制御部11を主として実現される。コンバージョンラベル付与部101は、各行動履歴に、ストラグルラベルとは異なるコンバージョンラベルを付与する。
ストラグルラベルは、クラスタに付与されるラベルであり、第1のラベルということができる。一方、コンバージョンラベルは、第2のラベルである。このため、本実施形態でストラグルラベルと記載した箇所は、クラスタに付与されるラベル又は第1のラベルと読み替えることができ、コンバージョンラベルと記載した箇所は、第2のラベルと読み替えることができる。
コンバージョンラベルは、ストラグルラベルとは異なる観点の分類を示すラベルである。コンバージョンラベルは、ストラグルラベルとは全く関係のないラベルであってもよいが、本実施形態では、コンバージョンラベルとストラグルラベルとは、互いに関連している。例えば、コンバージョンラベルは、ユーザの最終的な行動(コンバージョン)の分類を示すのに対し、ストラグルラベルは、ユーザの中間的な行動(ストラグル行動)の分類を示す。
ストラグルラベルは、クラスタに付与されるラベルであるのに対し、コンバージョンラベルは、クラスタとは関係なく、個々の行動履歴に付与されるラベルである。別の言い方をすれば、ストラグルラベルは、クラスタに属する一部の行動履歴の内容をもとに、解析者により付与されるラベルであるのに対し、コンバージョンラベルは、個々の行動履歴の内容に応じて自動的に付与されるラベルである。同じクラスタに属する行動履歴については、互いに同じストラグルラベルとなるが、コンバージョンラベルについては、同じクラスタに属する行動履歴であったとしても、互いに異なることがある。
行動履歴にコンバージョンラベルを付与するとは、行動履歴にコンバージョンラベルを関連付けることである。本実施形態では、行動履歴データD1にコンバージョンラベルが格納されるので、行動履歴と同じレコードに、コンバージョンラベルを識別する情報を格納することが、コンバージョンラベルを付与することに相当する。
コンバージョンラベル付与部101は、行動履歴の内容に基づいて、コンバージョンラベルを付与する。例えば、コンバージョンラベルの付与ルールが定められており、コンバージョンラベル付与部101は、行動履歴の内容と、付与ルールと、に基づいて、コンバージョンラベルを付与する。
付与ルールは、データ記憶部100に記憶されているものとする。付与ルールは、任意の形式のデータであってよく、例えば、プログラムコードの一部として定義されていてもよいし、数式形式又はテーブル形式で定義されていてもよい。また、付与ルールは、任意のルールを設定可能であり、例えば、ユーザ端末20に表示された画面であってもよいし、ユーザが所定の入力をすることであってもよい。コンバージョンラベル付与部101は、全ての行動履歴にコンバージョンラベルを付与してもよいし、一部の行動履歴にコンバージョンラベルを付与してもよい。
本実施形態では、「C」(コンバージョン)、「A」(放棄)、「N」(意志無し)の3種類のコンバージョンラベルが用意されており、各行動履歴には、何れかのコンバージョンラベルが付与される。例えば、予約完了ページGにたどり着いた場合には、「C」のコンバージョンラベルが付与される。また例えば、予約ステップ1ページE又は予約ステップ2ページFにたどり着いたが、予約完了ページGにたどり着かなかった場合には、「A」のコンバージョンラベルが付与される。また例えば、予約ステップ1ページEにたどり着かなかった場合には、「N」のコンバージョンラベルが付与される。本実施形態では、このような3つの条件を含む付与ルールが用意されており、コンバージョンラベル付与部101は、行動履歴が満たす条件に関連付けられたコンバージョンラベルを付与する。
なお、コンバージョンラベルの付与方法は、付与ルールに基づく方法に限られない。例えば、後述する変形例(3)のように、コンバージョンラベルを付与する第2の学習モデルを用意しておき、コンバージョンラベル付与部101は、第2の学習モデルを利用してコンバージョンラベルを付与してもよい。また例えば、コンバージョンラベルは、ストラグルラベルと同様、解析者に手動で指定させてもよく、この場合には、コンバージョンラベル付与部101は、各行動履歴に、解析者により指定されたコンバージョンラベルを付与する。
[3−3.クラスタリング部]
クラスタリング部102は、制御部11を主として実現される。クラスタリング部102は、複数の行動履歴の各々をクラスタリングする。クラスタリング自体は、公知のクラスタリング手法を利用可能であり、本実施形態では、最短距離法を例に挙げて説明する。クラスタリング手法は、最短距離法に限られず、ウォード法、最長距離法、群平均法、又は重心法といった他の階層的クラスタリング手法が利用されてもよいし、K−Means法、DBSCAN、又はMean−shiftといった非階層的クラスタリング手法が利用されてもよい。
例えば、クラスタリング部102は、各行動履歴の特徴量を計算し、クラスタリングを実行する。特徴量は、任意の計算式で計算可能であり、例えば、所定の計算式によって特徴を数値化することによって計算される。クラスタリング部102は、各行動履歴の特徴量の距離を計算し、互いに近い行動履歴同士が同じクラスタに属するように、クラスタリングを実行する。なお、外れ値(ノイズ)が存在することがあるので、どのクラスタにも属しない行動履歴が存在してもよい。このような行動履歴には、ストラグルフラグが付与されないので、教師データとしては利用されない。
[3−4.提示部]
提示部103は、制御部11を主として実現される。提示部103は、解析者に、クラスタに属する一部の行動履歴の内容を提示する。
クラスタに属する一部の行動履歴とは、クラスタに属する行動履歴の合計数よりも少ない行動履歴である。例えば、クラスタに属する行動履歴がn(n:2以上の整数)個であったとすると、一部の行動履歴とは、n−1個以下の任意の数の行動履歴である。提示部103は、1つの行動履歴の内容だけを提示してもよいし、n−1個の行動履歴の内容を提示してもよい。なお、解析者が、あるクラスタについては全ての行動履歴の内容を確認することを要求した場合には、提示部103は、当該クラスタについては全ての行動履歴の内容を提示してもよい。
提示部103は、解析者が知覚可能な方法で提示をすればよく、画像を利用した視覚的な提示をしてもよいし、音声を利用した聴覚的な提示をしてもよい。また、提示部103は、全てのクラスタについて行動履歴の内容を提示してもよいし、一部のクラスタについてだけ行動履歴の内容を提示してもよい。例えば、解析者が選択しなかったクラスタについては、提示部103は、行動履歴の内容を提示しなくてもよい。
本実施形態では、提示部103は、複数のクラスタのうち、解析者により指定されたクラスタに属する一部の行動履歴の内容を提示する。提示部103は、解析者により指定されなかったクラスタについては、行動履歴の内容を提示しない。例えば、提示部103は、ラベル付与画面Hにおいて、複数のクラスタを選択可能に提示する。提示部103は、解析者により選択されたクラスタに属する一部の行動履歴の内容を提示する。なお、解析者は、クラスタを1つだけ指定してもよいし、複数のクラスタを指定してもよい。また、解析者は、全てのクラスタを指定してもよいし、一部のクラスタだけを指定してもよい。
本実施形態では、提示部103は、複数の行動履歴のうち、解析者により指定された行動履歴の内容を提示する。提示部103は、解析者により指定されなかった行動履歴については、その内容を提示しない。例えば、提示部103は、ラベル付与画面Hにおいて、あるクラスタに属する複数の行動履歴を選択可能に提示する。提示部103は、解析者により選択された行動履歴の内容を提示する。なお、解析者は、行動履歴を1つだけ指定してもよいし、複数の行動履歴を指定してもよい。また、解析者は、原則として、一部の行動履歴だけを指定するものとするが、クラスタに属する行動履歴が少なかった場合には、全ての行動履歴を指定してその内容を確認してもよい。
本実施形態では、提示部103は、解析者に、一部の行動履歴に付与されたコンバージョンラベルを更に提示する。提示部103は、ラベル付与画面Hにおいて、行動履歴に付与されたコンバージョンラベルを提示する。例えば、図5に示すように、提示部103は、「C」、「N」、「A」の文字を示すアイコンによって、コンバージョンラベルを提示する。なお、提示部103は、解析者が行動履歴の内容を選択する前にコンバージョンラベルを提示してもよいし、行動履歴の内容を選択した後にコンバージョンラベルを提示してもよい。解析者は、行動履歴の内容だけでなく、コンバージョンラベルの内容も参考にして、ストラグルラベルを指定する。
[3−5.ストラグルラベル付与部]
ストラグルラベル付与部104は、制御部11を主として実現される。ストラグルラベル付与部104は、クラスタに、解析者により指定されたストラグルラベルを付与する。
クラスタにストラグルラベルを付与するとは、クラスタにストラグルラベルを関連付けることである。本実施形態では、行動履歴データD1にストラグルラベルが格納されるので、クラスタに属する各行動履歴と同じレコードに、ストラグルラベルを格納することが、ストラグルラベルを付与することに相当する。本実施形態では、「S」(ストラグル行動である)、「NS」(ストラグル行動ではない)、又は「NA」(解析対象外)の何れかのストラグルラベルが付与される。
本実施形態では、分類対象の一例として、過去に行われたユーザの行動履歴を説明するので、クラスタに付与されるラベルは、特定の行動が行われたか否かを示すラベルとなる。本実施形態では、特定の行動は、所定の画面に到達することなく、画面遷移及び入力の少なくとも一方が繰り返されるストラグル行動を例に挙げる。なお、特定の行動は、ストラグル行動に限られず、学習モデルで検出したい行動であればよく、例えば、規約違反となる不正な行動であってもよいし、逆に模範となる優良な行動であってもよい。他にも例えば、コンバージョンの画面にたどり着く最も効率的な行動が特定の行動に相当してもよい。
ストラグルラベル付与部104は、提示部103により提示された一部の行動履歴と、当該一部の行動履歴と同じクラスタに属する他の行動履歴と、の各々にストラグルラベルを付与する。当該他の行動履歴は、提示部103により提示されなかった行動履歴である。本実施形態では、ストラグルラベル付与部104が、クラスタに属する全ての行動履歴にストラグルラベルを付与する場合を説明するが、クラスタの中には、ストラグルラベルが付与されない行動履歴が存在してもよい。例えば、クラスタの重心から遠い行動履歴については、ストラグルラベルが付与されなくてもよい。また、本実施形態では、ストラグルラベル付与部104が全てのクラスタにストラグルラベルを付与する場合を説明するが、ストラグルラベルが付与されないクラスタが存在してもよい。例えば、行動履歴の数が少ないクラスタについては、ストラグルラベルが付与されなくてもよい。更に、解析者が指定しなかったクラスタについては、「NA」(解析対象外)が自動的に付与されてもよい。
本実施形態では、ストラグルラベル付与部104は、解析者により指定されたクラスタに、ストラグルラベルを付与する。ストラグルラベル付与部104は、解析者により指定されなかったクラスタについては、ストラグルラベルは付与しない。例えば、ラベル付与画面Hにおいて、複数のクラスタが選択可能に提示され、ストラグルラベル付与部104は、解析者により選択されたクラスタにストラグルラベルを付与する。
本実施形態では、ストラグルラベル付与部104は、解析者により指定された行動履歴が属するクラスタに、ストラグルラベルを付与する。ストラグルラベル付与部104は、解析者によりどの行動履歴も指定されなかったクラスタについては、ストラグルラベルは付与しない。例えば、ラベル付与画面Hにおいて、クラスタに属する行動履歴が選択可能に提示され、ストラグルラベル付与部104は、解析者により選択された行動履歴が属するクラスタにストラグルラベルを付与する。
なお、ストラグルラベルは、クラスタに付与されるものであるが、クラスタそのものを識別するクラスタIDとは異なる。複数のクラスタに対し、同じクラスタIDが付与されることはないが、複数のクラスタに対し、同じストラグルラベルが付与されることはある。ストラグルラベル付与部104は、解析者により、一のクラスタと他のクラスタとの各々に同じストラグルラベルが指定された場合には、一のクラスタと他のクラスタとの各々に同じストラグルラベルを付与する。この場合、一のクラスタと他のクラスタとの距離に関係なく、同じストラグルラベルが付与されることになる。
[3−6.生成部]
生成部105は、制御部11を主として実現される。生成部105は、ストラグルラベル付与部104により付与されたストラグルラベルに基づいて、学習モデルに学習させる教師データを生成する。生成部105は、ストラグルラベルが付与されたクラスタに属する行動履歴ごとに、当該行動履歴の特徴量と、当該ストラグルラベルと、のペアを教師データとして生成する。生成部105は、ストラグルラベルが付与された全てのクラスタについて教師データを生成し、教師データセットDSとしてデータ記憶部100に記録する。
なお、本実施形態では、生成部105が、ストラグルラベルが付与されたクラスタ内の全ての行動履歴について、教師データを生成する場合を説明するが、一部の行動履歴については教師データが生成されなくてもよい。例えば、クラスタに属する行動履歴の数が多い場合には、生成部105は、一定数の行動履歴についてだけ教師データを生成してもよい。また例えば、クラスタによって行動履歴の数にばらつきがある場合には、生成部105は、クラスタ間で教師データの数の差が大きくなりすぎないように調整してもよい。
[3−7.学習部]
学習部106は、制御部11を主として実現される。学習部106は、教師データセットDSに基づいて、学習モデルの学習処理を実行する。学習処理自体は、機械学習で利用されている公知の手法を利用可能であり、例えば、ニューラルネットワークで利用されている学習処理を利用可能である。学習処理のプログラムは、データ記憶部100に記憶されているものとする。学習部106は、教師データセットDSに格納された教師データの入力と出力の関係が得られるように、学習モデルのパラメータを調整する。教師データセットDSが学習済みの学習モデルは、データ記憶部100に記憶され、ユーザの行動解析に利用される。
[3−8.処理実行部]
処理実行部107は、制御部11を主として実現される。処理実行部107は、学習部106により学習済みの学習モデルに基づいて、所定の処理を実行する。所定の処理は、学習モデルの用途に応じた任意の処理であればよく、本実施形態では、ユーザの行動解析である。処理実行部107は、ユーザによるアクセスを受け付けた場合に、当該ユーザの行動履歴を取得してその特徴量を学習モデルに入力する。なお、特徴量は、学習モデルによって計算されてもよい。学習モデルは、特徴量に対応するストラグルラベルを出力し、処理実行部107は、ユーザの行動履歴に当該出力されたストラグルラベルを付与する。例えば、処理実行部107は、ストラグル行動である「S」に分類された行動履歴を解析者端末30に表示させ、解析者は、レイアウトに問題のあるページを特定する。
[4.本実施形態において実行される処理]
図12及び図13は、教師データ生成システムSで実行される処理の一例を示すフロー図である。図12及び図13に示す処理は、制御部11,31がそれぞれ記憶部12,32に記憶されたプログラムに基づいて動作することによって実行される。
なお、図12及び図13に示す処理は、任意のタイミングで実行可能であり、例えば、所定の日時が訪れた場合に実行されてもよいし、解析者により処理の開始が指示された場合に実行されてもよい。また、図12及び図13に示す処理が実行されるにあたり、サーバ10にアクセスしたユーザの行動履歴が行動履歴データD1に蓄積されているものとする。
図12に示すように、サーバ10は、行動履歴データD1に基づいて、複数の行動履歴の各々をクラスタリングする(S100)。S100においては、サーバ10は、行動履歴データD1に格納された各行動履歴の特徴量を計算する。サーバ10は、各行動履歴の特徴量に基づいて、各行動履歴の距離を計算する。サーバ10は、互いに距離の近い行動履歴同士が同じクラスタに属するように、クラスタリングを実行する。サーバ10は、各行動履歴に、属するクラスタのクラスタIDを付与する。なお、どのクラスタにも属しない外れ値の行動履歴については、クラスタIDは付与されない。
サーバ10は、ドメインナレッジデータD2に基づいて、各行動履歴にコンバージョンラベルを付与する(S101)。S101においては、サーバ10は、予約ステップ1ページEにたどり着かなかった行動履歴については、「N」(意志無し)のコンバージョンラベルを付与する。サーバ10は、予約ステップ1ページE又は予約ステップ2ページFにたどり着いたが、予約完了ページGにたどり着かなかった行動履歴については、「A」(放棄)のコンバージョンラベルを付与する。サーバ10は、予約完了ページGにたどり着いた行動履歴については、「C」(コンバージョン)のコンバージョンラベルを付与する。サーバ10は、各行動履歴のコンバージョンラベルを行動履歴データD1に格納する。
サーバ10は、行動履歴データD1に基づいて、ラベル付与画面Hの表示データを生成し、解析者端末30に送信する(S102)。表示データは、任意のデータ形式であってよく、例えば、ラベル付与画面Hをブラウザ上で表示させる場合には、HTMLデータ等である。S102においては、サーバ10は、行動履歴データD1に基づいて、クラスタリングによって作成されたクラスタを特定し、図4に示すラベル付与画面Hの表示データを生成する。ラベル付与画面Hは、各クラスタが選択可能となっている。なお、表示データには、図4及び図5のラベル付与画面Hを表示させるために必要な情報が含まれており、例えば、クラスタの名前、各クラスタに属する行動履歴の行動履歴ID、及び行動履歴画像Iの画像データが含まれているものとする。
解析者端末30は、表示データを受信し、ラベル付与画面Hを表示部35に表示させる(S103)。この時点では、どのクラスタにもストラグルラベルは付与されず、図4に示すように、各クラスタは「未分類」となる。
解析者端末30は、操作部34の検出信号に基づいて、解析者の操作を特定する(S104)。S104においては、ラベル付与画面Hに表示されたクラスタを選択するためのクラスタ選択操作、又は、ボタンB4を選択して教師データの生成を指示するための生成指示操作の何れかが行われるものとする。
クラスタ選択操作が行われた場合(S104;クラスタ選択操作)、解析者端末30は、解析者が選択したクラスタに属する行動履歴の一覧をラベル付与画面Hに表示させる(S105)。S105においては、図5に示すラベル付与画面Hのように、行動履歴画像Iの一覧が表示される。
解析者端末30は、操作部34の検出信号に基づいて、解析者の操作を特定する(S106)。S106においては、一覧の中から行動履歴を選択する行動履歴選択操作、又は、ボタンB1〜B3の何れかを選択してストラグルラベルを付与する付与操作の何れかが行われるものとする。
行動履歴選択操作が行われた場合(S106;行動履歴選択操作)、解析者端末30は、サーバ10に対し、解析者が選択した行動履歴の内容を要求する(S107)。S107における要求には、解析者が選択した行動履歴の行動履歴IDが含まれているものとする。
サーバ10は、要求を受信すると、行動履歴データD1に基づいて、解析者が選択した行動履歴の内容を解析者端末30に送信する(S108)。S108においては、サーバ10は、要求に含まれる行動履歴IDが格納されたレコードを参照し、当該レコードの行動履歴の内容を送信する。
解析者端末30は、行動履歴の内容を受信すると、ラベル付与画面Hに表示させ(S109)、S106の処理に戻る。S109においては、図6に示すラベル付与画面Hが表示される。解析者が他の行動履歴を選択した場合には、S107の処理が再び実行され、当該他の行動履歴の内容がラベル付与画面Hに表示される。
一方、S106において、ボタンB1〜B3の何れかが選択されて付与操作が行われた場合(S106;付与操作)、解析者端末30は、解析者が選択したクラスタに、解析者が指定したストラグルラベルを関連付けて(S110)、S104の処理に戻る。なお、S110の時点で、サーバ10における行動履歴データD1にストラグルラベルが格納されてもよいが、本実施形態では、ボタンB4が選択された後に、行動履歴データD1にストラグルラベルが格納されるものとする。
一方、S104において、ボタンB4が選択されて生成指示操作が行われた場合(S104;生成指示操作)、図13に移り、解析者端末30は、各クラスタのストラグルラベルをサーバ10に送信する(S111)。例えば、S110において各クラスタに関連付けられたストラグルラベルは、解析者端末30の記憶部32に記録されており、S111においては、これらの関連付けのデータセットが送信される。
サーバ10は、ストラグルラベルを受信すると、各クラスタに、解析者が指定したストラグルラベルを付与する(S112)。S112においては、サーバ10は、各クラスタに属する全ての行動履歴に、解析者が指定したストラグルラベルが関連付けられるように、行動履歴データD1を更新する。
サーバ10は、行動履歴データD1に基づいて、教師データセットDSを生成する(S113)。S113においては、サーバ10は、ストラグルラベルが付与された行動履歴ごとに、当該行動履歴の特徴量と、当該ストラグルラベルと、のペアである教師データを生成する。サーバ10は、ストラグルラベルが付与された各行動履歴の教師データを教師データセットDSに格納する。
サーバ10は、教師データセットDSに基づいて、学習モデルの学習処理を実行し(S114)、本処理は終了する。S114においては、サーバ10は、教師データセットDSに格納された各教師データの入力と出力の関係が得られるように、学習モデルのパラメータを調整する。以降、学習済みの学習モデルがサーバ10に記憶され、サーバ10にアクセスしたユーザの行動が解析される。
以上説明した教師データ生成システムSによれば、解析者に一部の行動履歴の内容を提示してストラグルラベルを指定させ、クラスタに付与されたストラグルラベルに基づいて、教師データを生成することによって、解析者は、個々の行動履歴に対してストラグルラベルを指定するのではなく、クラスタに対してストラグルラベルを指定すればよいので、解析者の手間を軽減し、教師データの生成を効率化することができる。例えば、あるクラスタに1000個の行動履歴が属していたとしても、解析者は、その中の数個の内容を確認し、これら1000個に対して一度にストラグルラベルを付与することができる。また、同じクラスタに属する行動履歴の内容は互いに似ているので、ストラグルラベルが互いに異なる行動履歴が混在している蓋然性は低い。もし仮に、同じクラスタの中にストラグルラベルが異なる行動履歴が混在したとしても、その数は少なく、学習処理において例外として扱われて、学習モデルの精度に与える影響は小さい。このため、学習モデルの精度を担保することができる。
また、複数のクラスタのうち、解析者により指定されたクラスタに属する一部の行動履歴の内容が提示され、解析者により指定されたクラスタにストラグルラベルが付与されることによって、ストラグルラベルの付与を効率化することができる。例えば、解析者は、確認したいクラスタから順番に選択してストラグルラベルを付与することができ、ストラグルラベルの指定作業を効率化することができる。また例えば、クラスタ内の行動履歴が少ないものについては、ストラグルラベルを付与しなくても、教師データの精度にはさほど影響が出ないので、解析者は、特にストラグルラベルを指定しないクラスタを選択しないようにすることもできる。
また、複数の行動履歴のうち、解析者により指定された行動履歴の内容が提示され、解析者により指定されたクラスタにストラグルラベルを付与することによって、ストラグルラベルの付与を効率化することができる。例えば、解析者に、内容を確認したい行動履歴を自分で選択させることによって、ストラグルラベルの精度を高めることができる。
また、解析者により、一のクラスタと他のクラスタとの各々に同じストラグルラベルが指定された場合には、これらに同じストラグルラベルを付与することによって、教師データの数を増やし、学習モデルの精度を向上させることができる。
また、一部の行動履歴に、ストラグルラベルとは異なるコンバージョンラベルを付与し、各クラスタに属する行動履歴のコンバージョンラベルを提示表示させることによって、解析者はコンバージョンラベルを参考にしてストラグルラベルを指定することができ、ストラグルラベルの指定作業を効率化することができる。
また、実施形態で説明したように、行動履歴が分類対象に相当する場合には、行動履歴から教師データを生成する処理を効率化することができる。
また、実施形態で説明したように、所定の画面に到達することなく、画面遷移及び入力の少なくとも一方が繰り返されることが特定の行動に相当する場合には、このような行動のパターンが多数存在したとしても、教師データの生成を効率化することができる。
[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
図14は、変形例の機能ブロック図である。図14に示すように、変形例では、変更部108、第2生成部109、及び第2学習部110が実現される。なお、変形例では、説明の都合上、実施形態で説明した教師データセットDSを第1教師データセットDS1と記載し、生成部105を第1生成部105と記載し、学習部106を第1学習部106と記載する。
(1)例えば、実施形態では、ラベル付与画面Hの中から解析者に任意のクラスタを選択させる場合を説明したが、解析者にコンバージョンラベルを指定させ、当該コンバージョンラベルの行動履歴が多いクラスタが、ラベル付与画面Hに表示されるようにしてもよい。
本変形例では、サーバ10は、行動履歴データD1に基づいて、各クラスタに属する行動履歴のコンバージョンラベルを集計し、データ記憶部100に集計結果を記録する。例えば、サーバ10は、クラスタごとに、各コンバージョンラベルが付与された行動履歴の数又は割合を計算し、データ記憶部100に記録する。
提示部103は、解析者により指定されたコンバージョンラベルに基づいてクラスタを選択し、当該選択したクラスタに属する一部の行動履歴の内容を提示する。解析者は、ラベル付与画面Hにおいてコンバージョンラベルを指定してもよいし、他の画面においてコンバージョンラベルを指定してもよい。
例えば、提示部103は、解析者により指定されたコンバージョンラベルの数又は割合が最も高いクラスタを選択する。また例えば、提示部103は、解析者により指定されたコンバージョンラベルの数又は割合が多い順に所定番目までのクラスタを選択する。また例えば、提示部103は、解析者により指定されたコンバージョンラベルの数又は割合が閾値以上のクラスタを選択する。提示部103は、選択したクラスタに属する行動履歴の行動履歴画像Iを表示させる。行動履歴画像Iが表示された後の処理は、実施形態と同様であり、解析者が選択した行動履歴の内容が提示され、クラスタにストラグルラベルが付与される。
変形例(1)によれば、解析者により指定されたコンバージョンラベルに基づいてクラスタを選択し、当該選択したクラスタに属する一部の行動履歴の内容を提示することによって、ストラグルラベルの指定作業を効率化することができる。
(2)また例えば、行動履歴に付与されたコンバージョンラベルは、解析者によって変更可能であってもよい。例えば、図5に示すラベル付与画面Hの状態で、ある行動履歴の行動履歴画像Iの左から2番目のアイコン(「C」、「A」、「N」の何れかの文字を示すアイコン)をクリックすると、当該行動履歴のコンバージョンラベルが変更されるようにしてもよい。
変形例(2)の教師データ生成システムSは、変更部108を含む。変更部108は、制御部11を主として実現される。変更部108は、解析者の操作に基づいて、一部の行動履歴に付与されたコンバージョンラベルを変更する。コンバージョンラベルを変更するための操作は、任意の操作であってよく、本変形例では、ラベル付与画面Hに対する操作である場合を説明するが、他の画面に対する操作であってもよい。即ち、コンバージョンラベルを変更するためのユーザインタフェースは、ラベル付与画面Hに限られず、任意のユーザインタフェースを利用可能である。変更部108は、行動履歴データD1を更新し、行動履歴に付与されたコンバージョンラベルを、解析者により指定されたコンバージョンラベルに変更する。
変形例(2)によれば、解析者の操作に基づいて、一部の行動履歴に付与されたコンバージョンラベルを変更することによって、誤って付与されたコンバージョンラベルを修正することができる。
(3)また例えば、実施形態では、ドメインナレッジデータD2に基づいて行動履歴にコンバージョンラベルが付与される場合を説明したが、コンバージョンラベルを自動的に付与する第2の学習モデルを用意しておいてもよい。この場合、教師データ生成システムSは、ドメインナレッジデータD2の内容をもとに、第2の学習モデルに学習させる第2の教師データセットDS2を生成してもよい。
本変形例のコンバージョンラベル付与部101は、実施形態で説明したように、所定の条件に基づいて、各行動履歴にコンバージョンラベルを付与する。所定の条件は、付与ルールに含まれる条件であり、実施形態で説明したように、任意の条件を設定可能である。
本変形例の教師データ生成システムSは、第2生成部109及び第2学習部110を含む。これらは制御部11を主として実現される。第2生成部109は、各行動履歴に付与されたコンバージョンラベルに基づいて、第2の学習モデルに学習させる第2の教師データを生成する。第2の学習モデルは、実施形態で説明した学習モデルとは異なる学習モデルである。第2の学習モデルは、行動履歴に対してコンバージョンラベルを付与するための学習モデルである。
第2の教師データは、行動履歴の内容と、コンバージョンラベルと、のペアである。第2生成部109は、コンバージョンラベルが付与されたクラスタに属する行動履歴ごとに、当該行動履歴の特徴量と、当該コンバージョンラベルと、のペアを教師データとして生成する。第2生成部109は、コンバージョンラベルが付与された全ての行動履歴について教師データを生成し、第2教師データセットDS2としてデータ記憶部100に記録する。
第2学習部110は、第2教師データセットDS2に基づいて、第2の学習モデルの学習処理を実行する。第1の学習モデルと同様、学習処理自体は、機械学習で利用されている公知の手法を利用可能であり、例えば、ニューラルネットワークで利用されている学習処理を利用可能である。第2学習部110は、第2教師データセットDS2に格納された教師データの入力と出力の関係が得られるように、第2の学習モデルのパラメータを調整する。学習済みの第2の学習モデルは、データ記憶部100に記憶され、コンバージョンラベル付与部101により利用される。
変形例(3)によれば、行動履歴に付与されたコンバージョンラベルに基づいて、第2の学習モデルに学習させる第2の教師データを生成することにより、第2の教師データの生成を効率化することができる。また、第2学習モデルにドメインナレッジデータD2の内容を学習させることにより、サーバ10がドメインナレッジデータD2を記憶しなくても、コンバージョンラベルを付与することができる。
(4)また例えば、上記変形例を組み合わせてもよい。
また例えば、正解となる入力と出力のペアを教師データと呼び、ペアの集まりを教師データセットと呼んだが、ペアの集まりが教師データに相当してもよい。即ち、教師データは、入力と出力のペア、又は、ペアの集まりを示すデータであればよい。また例えば、行動履歴は、画面遷移と入力に限られず、任意の行動の履歴を示してよい。例えば、行動履歴は、ユーザによる商品の購入履歴、又は、ユーザによるサービスの申し込み履歴であってもよい。なお、サービスとしては、ゴルフ場の予約に限られない。例えば、サービスは、旅行予約サービス、保険サービス、又は金融サービスといった任意のサービスであってよい。
また例えば、ラベル付与画面Hにおいて解析者がクラスタを選択する場合を説明したが、自動的にクラスタが選択され、当該クラスタに属する一部の行動履歴を解析者に指定させてもよい。また例えば、解析者が内容を確認したい行動履歴を選択する場合を説明したが、解析者に提示されるクラスタの内容が自動的に選択されるようにしてもよい。また例えば、コンバージョンラベルも行動履歴の特徴量の1つとして利用されてもよい。また例えば、行動履歴にはコンバージョンラベルが付与されなくてもよい。
また例えば、分類対象がユーザの行動履歴である場合を説明したが、分類対象は、先述したような任意のデータであってよい。例えば、分類対象が画像である場合には、クラスタに付与されるラベルは、犬や猫などの被写体の種類を示す。教師データ生成システムSは、画像の特徴量をクラスタリングし、解析者にクラスタの一部の画像を提示する。教師データ生成システムSは、解析者により指定されたラベルを、クラスタに属する各画像に付与し、物体検出を行う学習モデルの教師データを生成する。
また例えば、分類対象が文章又はコンテンツである場合には、クラスタに付与されるラベルは、文章又はコンテンツの種類を示す。教師データ生成システムSは、文章又はコンテンツの特徴量をクラスタリングし、解析者にクラスタの一部の文章又はコンテンツを提示する。教師データ生成システムSは、解析者により指定されたラベルを、クラスタに属する各文章又は各コンテンツに付与し、文章又はコンテンツの分類を行う学習モデルの教師データを生成する。
また例えば、各機能がサーバ10で実現される場合を説明したが、複数のコンピュータによって機能が分担されてもよい。例えば、サーバ10、ユーザ端末20、及び解析者端末30の各々で機能が分担されてもよいし、複数のサーバコンピュータで機能が分担されてもよい。この場合、ネットワークを介して処理結果が送受信されることで、機能が分担されるようにすればよい。また例えば、データ記憶部100に記憶されるものとして説明したデータは、サーバ10以外のコンピュータに記憶されていてもよい。また例えば、学習部106(変形例では第1学習部106)と第2学習部110が外部のシステムによって実現され、教師データ生成システムS内で学習処理が実行されないようにしてもよい。