(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023007375
(43)【公開日】2023-01-18
(54)【発明の名称】プログラム、方法、およびシステム
(51)【国際特許分類】
G06Q 10/04 20230101AFI20230111BHJP
G06Q 50/10 20120101ALI20230111BHJP
G06F 3/14 20060101ALI20230111BHJP
【FI】
G06Q10/04
G06Q50/10
G06F3/14 360A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022036857
(22)【出願日】2022-03-10
(62)【分割の表示】P 2021106375の分割
【原出願日】2021-06-28
(71)【出願人】
【識別番号】518127510
【氏名又は名称】カラクリ株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】武藤 健介
(72)【発明者】
【氏名】吉田 雄紀
(72)【発明者】
【氏名】中山 智文
【テーマコード(参考)】
5B069
5L049
【Fターム(参考)】
5B069CA14
5L049AA04
5L049CC11
(57)【要約】
【課題】ユーザを選択するうえで必要となる特定の条件を簡単に設定するシステムを提供する。
【解決手段】本開示のプログラムは、コンピュータのプロセッサに、特定のイベントに至ったユーザ端末の操作ログを取得するステップと、取得した操作ログを用いて、ユーザが、特定のイベントに至るかどうかの程度を推定するユーザ行動モデルを生成するステップと、イベントに至るかどうかの程度に関する条件を設定し、条件を満たすユーザに対して実行するアクションを設定するステップと、ユーザ行動モデルを用いて算出された、イベントに至るかどうかの程度が高いユーザに対して、アクションを実行するステップと、を実行させる。
【選択図】
図6
【特許請求の範囲】
【請求項1】
コンピュータのプロセッサに、
特定のイベントに至ったユーザ端末の操作ログを取得するステップと、
取得した前記操作ログを用いて、ユーザが、前記特定のイベントに至るかどうかの程度を推定するユーザ行動モデルを生成するステップと、
前記イベントに至るかどうかの程度に関する条件を設定し、前記条件を満たすユーザに対して実行するアクションを設定するステップと、
前記ユーザ行動モデルを用いて算出された、前記イベントに至るかどうかの程度が高いユーザに対して、前記アクションを実行するステップと、
を実行させるプログラム。
【請求項2】
前記操作ログを取得するステップでは、定期的にユーザの操作ログを取得し、
前記アクションを設定するステップでは、
前記イベントに至るかどうかの程度に関する条件として、イベントが発生する確率を示すイベント発生確率を算出する、請求項1に記載のプログラム。
【請求項3】
前記アクションを実行するステップでは、
前記ユーザを、前記特定のイベントに至らせるための情報の提示を行う、請求項1又は2に記載のプログラム。
【請求項4】
前記アクションを設定するステップでは、
前記アクションを、前記特定のイベントに至った他のユーザにおける、前記イベントに至る直前の行動履歴から設定する、請求項1から3のいずれか1項に記載のプログラム。
【請求項5】
前記アクションには、チャットボットにおいてやり取りされる会話カードの提示が含まれる、請求項1から4のいずれか1項に記載のプログラム。
【請求項6】
前記ユーザの行動履歴には、チャットボットにおいてやり取りされた会話カードが含まれ、
前記アクションには、イベント発生に至った他のユーザが、イベント発生の直前に受け取った回答カードの提示が含まれる、請求項5に記載のプログラム。
【請求項7】
前記ユーザ行動モデルは、
ユーザの操作ログを入力とし、前記イベントに至るかどうかの確率を出力とする学習済みモデルである、請求項1から6のいずれか1項に記載のプログラム。
【請求項8】
ユーザ行動モデルは、
ユーザの操作ログ対して、前記特定のイベントに至ったか否かの情報をアノテーションされた情報を事前学習した学習済みモデルである、請求項7に記載のプログラム。
【請求項9】
コンピュータのプロセッサが、
特定のイベントに至ったユーザ端末の操作ログを取得するステップと、
取得した前記操作ログを用いて、ユーザが、前記特定のイベントに至るかどうかの程度を推定するユーザ行動モデルを生成するステップと、
前記イベントに至るかどうかの程度に関する条件を設定し、前記条件を満たすユーザに対して実行するアクションを設定するステップと、
前記ユーザ行動モデルを用いて算出された、前記イベントに至るかどうかの程度が高いユーザに対して、前記アクションを実行するステップと、
を実行する方法。
【請求項10】
プロセッサを有するコンピュータを備え、
前記プロセッサは、
特定のイベントに至ったユーザ端末の操作ログを取得する第1モジュールと、
取得した前記操作ログを用いて、ユーザが、前記特定のイベントに至るかどうかの程度を推定するユーザ行動モデルを生成する第2モジュールと、
前記イベントに至るかどうかの程度に関する条件を設定し、前記条件を満たすユーザに対して実行するアクションを設定する第3モジュールと、
前記ユーザ行動モデルを用いて算出された、前記イベントに至るかどうかの程度が高いユーザに対して、前記アクションを実行する第4モジュールと、
を備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ユーザに対して適切な情報を提供するプログラム、方法、およびシステムに関する。
【背景技術】
【0002】
従来、ユーザのWEB環境下における行動が特定の条件を満たした際に、なんらかのアクションをユーザに対して行うことで、システム管理者がユーザに期待する行動を促すシステムが知られている。
例えば、特許文献1には、ユーザが特定のホームページを閲覧するという行動等の特定の条件に該当した際に、ユーザの購買意欲が増すことを目的に、商品の広告をユーザに対して提示するシステムが開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載のシステムでは、ユーザを選択するうえで必要となる特定の条件を、その後に行うアクションそれぞれに対して設定する必要がある。そして、適切な条件の設定には、当該システムが適用される分野ごとの専門知識が必要である。このため、ユーザを選択するうえで必要となる条件の設定に労力を要していた。
【0005】
そこで、本開示では、ユーザを選択するうえで必要となる特定の条件を簡単に設定することができるシステムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様におけるプログラムは、コンピュータのプロセッサに、特定のイベントに至ったユーザ端末の操作ログを取得するステップと、取得した操作ログを用いて、ユーザが、特定のイベントに至るかどうかの程度を推定するユーザ行動モデルを生成するステップと、イベントに至るかどうかの程度に関する条件を設定し、条件を満たすユーザに対して実行するアクションを設定するステップと、ユーザ行動モデルを用いて算出された、イベントに至るかどうかの程度が高いユーザに対して、アクションを実行するステップと、を実行させる。
【発明の効果】
【0007】
本開示によれば、ユーザを選択するうえで必要となる特定の条件および対応するアクションを簡単に設定することができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の情報提供システムの概要を説明する図である。
【
図2】情報提供システムを構成するユーザ端末の機能的な構成を示すブロック図である。
【
図3】情報提供システムを構成する処理サーバの機能的な構成を示すブロック図である。
【
図4】記憶部が記憶する質問回答データベースの具体例を示す図である。
【
図5】記憶部が記憶する操作ログデータベースの具体例を示す図である。
【
図7】セグメント条件の設定の処理を説明する図である。
【
図9】複数設定された閾値について説明する図である。
【
図10】第2実施形態に係る処理サーバの機能的な構成を示すブロック図である。
【
図11】第2実施形態に係るセグメント条件の設定の処理を説明する図である。
【
図12】第2実施形態に係るアクションの実行の処理を説明する図である。
【発明を実施するための形態】
【0009】
<第1実施形態>
以下、本開示の第1実施形態に係る情報提供システム1について図面を参照しながら説明する。なお、以下に説明する実施形態は、特許請求の範囲に記載された本開示の内容を不当に限定するものではない。また、実施形態で説明される構成の全てが、本開示の必須構成要件であるとは限らない。また、実施形態を説明する全図において、共通の構成要素には同一の符号を付し、繰り返しの説明を省略する。
【0010】
<概要>
図1は、本発明の情報提供システム1の概要を説明する図である。
図1に示すように、本実施形態に係る情報提供システム1は、ユーザのWEB環境での行動態様を分析して、ユーザに対してシステム管理者が期待する行動を促すための情報を提供するシステムである。
【0011】
以下の説明では、まず情報提供システム1の構成について説明した後に、情報提供システム1が行う各処理について詳述する。
【0012】
<全体構成>
本実施形態に係る情報提供システム1の全体構成について説明する。
図1に示すように、情報提供システム1は、複数のユーザ(
図1では、ユーザが使用するユーザ端末10A、10B、以下総称して「ユーザ端末10」という)と、処理サーバ20と、を含む。複数のユーザ端末10と処理サーバ20とは、ネットワーク80を介して相互に通信可能に接続されている。ネットワーク80は、有線または無線ネットワークにより構成される。
【0013】
ユーザ端末10は、各ユーザが操作する装置である。ユーザ端末10は、据え置き型のPC(Personal Computer)、ラップトップPCなどにより実現される。この他、ユーザ端末10は、例えば移動体通信システムに対応したタブレットや、スマートフォン等の携帯端末であってもよい。
【0014】
ユーザ端末10は、ネットワーク80を介して処理サーバ20と通信可能に接続される。ユーザ端末10は、5G、LTE(Long Term Evolution)などの通信規格に対応した無線基地局81、IEEE(Institute of Electrical and Electronics Engineers)802.11などの無線LAN(Local Area Network)規格に対応した無線LANルータ82等の通信機器と通信することにより、ネットワーク80に接続される。
図1に示すように、ユーザ端末10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、記憶部16と、プロセッサ19とを備える。
【0015】
通信IF12は、ユーザ端末10が外部の装置と通信するため、信号を入出力するためのインタフェースである。
入力装置13は、ユーザからの入力操作を受け付けるための装置(例えば、キーボードや、タッチパネル、タッチパッド、マウス等のポインティングデバイス等)である。
【0016】
出力装置14は、ユーザに対し情報を提示するための装置(ディスプレイ、スピーカ等)である。
メモリ15は、プログラム、および、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
【0017】
記憶部16は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。
プロセッサ19は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路などにより構成される。
【0018】
処理サーバ20は、ユーザの行動様式を分析して、処理サーバ20の管理者がユーザに対して期待する行動を促す情報を提供する装置である。処理サーバ20の管理者とは、処理サーバ20が実装されるサービスの運営者を指す。例えば、処理サーバ20がECサイトに搭載された場合には、管理者は、ECサイトの運営者と指す。この場合には、管理者がユーザに期待する行動とは、当該ECサイトでのユーザの物品の購入を指す。
【0019】
処理サーバ20は、ネットワーク80に接続されたコンピュータである。処理サーバ20は、通信IF22と、入力装置23と、出力装置24と、プロセッサ25と、メモリ26と、ストレージ27とを備える。
【0020】
通信IF22は、処理サーバ20が外部の装置と通信するため、信号を入出力するためのインタフェースである。
入力装置23は、管理者からの入力操作を受け付けるための装置(例えば、キーボードや、タッチパネル、タッチパッド、マウス等のポインティングデバイス等)である。
出力装置24は、管理者に対し情報を提示するための装置(ディスプレイ、スピーカ等)である。
【0021】
プロセッサ25は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路などにより構成される。
メモリ26は、プログラム、および、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。
ストレージ27は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。
【0022】
<ユーザ端末10の構成>
図2は、情報提供システム1を構成するユーザ端末10の機能的な構成を示すブロック図である。ユーザ端末10は、例えば、サーバ管理者が運営するECサイトにアクセスをして、物品の購入を検討する一般ユーザが扱う端末が想定される。
図2に示すように、ユーザ端末10は、複数のアンテナ(アンテナ111、アンテナ112)と、各アンテナに対応する無線通信部(第1無線通信部121、第2無線通信部122)と、入力受付部130(キーボード131およびディスプレイ132を含む)と、音声処理部140と、マイク141と、スピーカ142と、カメラ150と、記憶部160と、制御部170とを含む。
【0023】
ユーザ端末10は、
図2では特に図示していない機能および構成(例えば、電力を保持するためのバッテリー、バッテリーから各回路への電力の供給を制御する電力供給回路など)も有している。
図2に示すように、ユーザ端末10に含まれる各ブロックは、バス等により電気的に接続される。
【0024】
アンテナ111は、ユーザ端末10が発する信号を電波として放射する。また、アンテナ111は、空間から電波を受信して受信信号を第1無線通信部121へ与える。
【0025】
アンテナ112は、ユーザ端末10が発する信号を電波として放射する。また、アンテナ112は、空間から電波を受信して受信信号を第2無線通信部122へ与える。
【0026】
第1無線通信部121は、ユーザ端末10が他の無線機器と通信するため、アンテナ111を介して信号を送受信するための変復調処理などを行う。第2無線通信部122は、ユーザ端末10が他の無線機器と通信するため、アンテナ112を介して信号を送受信するための変復調処理などを行う。第1無線通信部121と第2無線通信部122とは、チューナー、RSSI(Received Signal Strength Indicator)算出回路、CRC(Cyclic Redundancy Check)算出回路、高周波回路などを含む通信モジュールである。第1無線通信部121と第2無線通信部122とは、ユーザ端末10が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部170へ与える。
【0027】
入力受付部130は、ユーザの入力操作を受け付けるための機構を有する。具体的には、入力受付部130は、キーボード131と、ディスプレイ132とを含む。なお、入力受付部130は、例えば静電容量方式のタッチパネルを用いることによって、タッチパネルに対するユーザの接触位置を検出する、タッチスクリーンとして構成してもよい。
【0028】
キーボード131は、ユーザ端末10のユーザの入力操作を受け付ける。キーボード131は、文字入力を行う装置であり、入力された文字情報を入力信号として制御部170へ出力する。
【0029】
ディスプレイ132は、制御部170の制御に応じて、画像、動画、テキストなどのデータを表示する。すなわち、ディスプレイ132は、ユーザに対して情報を出力する出力部としても機能する。ディスプレイ132は、例えばLCD(Liquid Crystal Display)や有機EL(Electro-Luminescence)ディスプレイによって実現される。
【0030】
音声処理部140は、音声信号の変復調を行う。音声処理部140は、マイク141から与えられる信号を変調して、変調後の信号を制御部170へ与える。また、音声処理部140は、音声信号をスピーカ142へ与える。
音声処理部140は、例えば音声処理用のプロセッサによって実現される。マイク141は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部140へ与える。スピーカ142は、音声処理部140から与えられる音声信号を音声に変換して当該音声をユーザ端末10の外部へ出力する。
【0031】
カメラ150は、受光素子により光を受光して、撮影画像として出力するためのデバイスである。カメラ150は、例えば、カメラ150から撮影対象までの距離を検出できる深度カメラである。
【0032】
記憶部160は、例えばフラッシュメモリ等により構成され、ユーザ端末10が使用するデータおよびプログラムを記憶する。ある局面において、記憶部160は、ユーザ情報161を記憶する。
【0033】
ユーザ情報161は、ユーザ端末10を使用して情報提供システム1を利用するユーザの情報である。ユーザ情報161としては、ユーザの名称、ユーザのメールアドレス、ユーザ端末のIPアドレス等の連絡先に関する情報等が含まれる。
【0034】
制御部170は、記憶部160に記憶されるプログラムを読み込んで、プログラムに含まれる命令を実行することにより、ユーザ端末10の動作を制御する。制御部170は、例えば予めユーザ端末10にインストールされているアプリケーションプログラムである。制御部170は、プログラムに従って動作することにより、操作受付部171と、送受信部172と、データ処理部173と、表示処理部174としての機能を発揮する。
【0035】
操作受付部171は、キーボード131等の入力装置に対するユーザの入力操作を受け付ける処理を行う。
【0036】
送受信部172は、ユーザ端末10が、処理サーバ20等の外部の装置と、通信プロトコルに従ってデータを送受信するための処理を行う。
【0037】
データ処理部173は、ユーザ端末10が入力を受け付けたデータに対し、プログラムに従って演算を行い、演算結果をメモリ等に出力する処理を行う。
【0038】
表示処理部174は、ユーザに対し情報を提示する処理を行う。表示処理部174は、表示画像をディスプレイ132に表示させる処理、音声をスピーカ142に出力させる処理、振動をカメラ150に発生させる処理等を行う。
【0039】
<処理サーバ20の機能的な構成>
図3は、情報提供システム1を構成する処理サーバ20の機能的な構成を示すブロック図である。処理サーバ20は、情報提供システム1としての処理を行うサーバ装置である。
処理サーバ20は、例えば、ECサイトの運営会社が管理するECサイトの管理端末とネットワーク80を介して接続されている。
図3に示すように、処理サーバ20は、通信部201と、記憶部202と、制御部203としての機能を発揮する。
【0040】
通信部201は、処理サーバ20が外部の装置と通信するための処理を行う。
【0041】
記憶部202は、処理サーバ20が使用するデータおよびプログラムを記憶する。記憶部202は、質問回答データベース、操作ログデータベース、およびユーザ行動モデルを少なくとも記憶している。
【0042】
質問回答データベースは、チャットボットによる自動応答システムにおいて用いられる会話文を記憶するデータベースである。すなわち、情報提供システム1は、チャットボットの機能を備えていてもよい。
質問回答データベースは、例えば、ある1つのテーマに対して、1つのタイトルと1つの回答パターンが存在し、それに対して想定される1又は複数の質問パターンが記憶される。
【0043】
図4は、記憶部202が記憶する質問回答データベースの具体例を示す図である。質問回答データベースは、「タイトル」フィールドと、「質問パターン」フィールドと、「回答パターン」フィールドと、を備えている。
【0044】
「タイトル」フィールドには、例えば、質問パターンおよび回答パターンの内容を端的に示す会話のテーマに関する情報が格納される。
「質問パターン」フィールドには、ユーザから入力が想定される質問文に関する情報が格納される。
「回答パターン」フィールドには、タイトルと対応して、ユーザに対して回答を行う回答文に関する情報が格納される。
【0045】
なお、
図4に示すように、1つの回答パターンに対する質問パターンは1つである必要はない。例えば、EC(Electronic Commerce)サイトで購入を行う場合に、ユーザが住所を変更する方法を知りたい場合には、「住所を変更したい。」「住所を間違えて入力しました。」などの様々な聞き方が考えられることから、質問パターンを複数登録しておくことが有益である。
【0046】
質問回答データベースは、さらにカテゴリを記憶してもよい。カテゴリは、FAQページのページ構造の生成に使われる。また、管理者が質問回答データベースの編集を行う際に、管理者の設定画面でのページ構造の生成に使用してもよい。なお、ページ構造は、カテゴリによるグループ化のみでなく、順番や階層を用いてもよい。
【0047】
記憶部202が記憶する操作ログデータベースは、処理サーバ20が取得したユーザの操作ログを記憶するデータベースである。
図5は、記憶部202が記憶する操作ログデータベースの具体例を示す図である。
図5に示すように、操作ログデータベースは、「操作ログID」フィールドと、「ユーザID」フィールドと、「操作対象」フィールドと、「操作ログ」フィールドと、「日時」フィールドと、を備えている。
【0048】
「操作ログID」フィールドには、処理サーバ20が取得したユーザの操作ログを識別するためのIDが格納される。
【0049】
「ユーザID」フィールドには、操作ログIDに対応する操作を行ったユーザのユーザIDが格納される。
【0050】
「操作対象」フィールドには、操作ログIDに対応する操作を行ったサイトのURLが格納される。
【0051】
「操作ログ」フィールドには、操作ログIDに対応する操作ログが格納される。操作ログは、時系列情報であり、例えば、ログインをした操作、ページ遷移の操作、ページ滞在の操作、クリックによる商品選択の操作等が、時刻情報とともに記述されている。
【0052】
「日時」フィールドには、操作ログIDに対応する操作の日時が格納される。
【0053】
記憶部202が記憶するユーザ行動モデルは、評価対象者であるユーザが、特定のイベントに至るかどうかの程度を推定する学習済みモデルである。ユーザ行動モデルは、ユーザの操作ログと、当該操作ログにおいて至ったイベントと、を教師データとして学習している。
ユーザ行動モデルは、ユーザの操作ログを入力データとし、当該ユーザが、所定のイベントに至るかどうかの程度を示すイベント発生確率を出力データとする。ここで、所定のイベントには、例えば、ECサイトにおいてユーザが商品を購入することのように、ECサイトの管理者にとって望ましい行動が含まれる。なお、所定のイベントとして、例えば、ユーザの当該ECサイトを提供する通販サービスの退会といったような、管理者にとって望ましくないアクションを設定してもよい。
【0054】
本実施形態に係るユーザ行動モデルは、例えば、複数の関数が合成されたパラメータ付き合成関数である。パラメータ付き合成関数は、複数の調整可能な関数、及びパラメータの組合せにより定義される。本実施形態に係るユーザ行動モデルは、上記の要請を満たす如何なるパラメータ付き合成関数であってもよいが、多層のネットワークモデル(以下、多層化ネットワークと呼ぶ)であるとする。多層化ネットワークを用いるユーザ行動モデルは、入力層と、出力層と、入力層と出力層との間に設けられる少なくとも1層の中間層あるいは隠れ層とを有する。ユーザ行動モデルは、人工知能ソフトウェアの一部であるプログラムモジュールとしての使用が想定される。
【0055】
本実施形態に係る多層化ネットワークとしては、例えば、深層学習(Deep Learning)の対象となる多層ニューラルネットワークである深層ニューラルネットワーク(Deep Neural Network:DNN)が用いられ得る。DNNとしては、例えば、画像を対象とする畳み込みニューラルネットワーク(Convolution Neural Network:CNN)を用いてもよい。
【0056】
図3に示す制御部203は、処理サーバ20のプロセッサ29が、プログラムに従って処理を行うことにより、各種モジュールとして送受信制御モジュール2031、操作ログ取得モジュール2032、モデル生成モジュール2033と、アクション設定モジュール2034、行動推定モジュール2035、アクション実行モジュール2036、としての機能を発揮する。
【0057】
送受信制御モジュール2031は、処理サーバ20が外部の装置から通信プロトコルに従って信号を送受信する処理を制御する。
【0058】
また、操作ログ取得モジュール2032は、ユーザの操作ログを取得する。操作ログ取得モジュール2032は、ユーザ端末10が取得したユーザの操作ログを、ユーザ端末10から受信することで、ユーザの操作ログを取得する。操作ログ取得モジュール2032は、取得したユーザの操作ログを、操作ログデータベースに記憶させる。
【0059】
モデル生成モジュール2033は、ユーザ行動モデルを生成する。モデル生成モジュール2033は、ユーザの操作ログを用いて、ユーザ行動モデルを生成する。具体的には、モデル生成モジュール2033は、あるイベントに至った(ある製品を購入した)ユーザに関する操作ログと、当該イベントに至らなかった(当該製品を購入しなかった)ユーザに関する操作ログと、を取得する。この際、操作ログとしては、ECサイトへの訪問時からイベント発生に至るまでの操作ログ、あるいは、ECサイトへの訪問からイベント未発生の直前までの操作ログが取得の対象となる。
【0060】
一例として、モデル生成モジュール2033は、あるイベントに至ったユーザと、あるイベントに至らなかったユーザと、におけるそれぞれの操作ログに対して、イベントに至ったかどうかに関する情報をアノテーションしユーザ行動モデルに学習させる。ユーザ行動モデルは、操作ログの入力を受け付けると、当該イベントに至るイベント発生確率を出力する。
【0061】
アクション設定モジュール2034は、アクションを実行するセグメント条件を設定する。具体的には、アクション設定モジュール2034は、ECサイトの管理者端末から入力されたユーザを特定するための条件を示すセグメントの内容、および特定の条件を満たすユーザに対して実行するアクションを、セグメント条件として設定する。
図6は、セグメント条件について説明する表である。
【0062】
図6に示すように、アクション設定モジュール2034は、複数のユーザ行動モデルを用いることで、複数のセグメント条件を設定することができる、セグメントの内容として、以下の例が挙げられる。
・商品を購入しそうなユーザに対して、商品広告を提示する
・チャットボットを使用しそうなユーザに対して、チャットボットウインドウをポップアップさせる
・商品をお気に入りに登録しそうなユーザに対して、他のユーザからの評価コメントを提示する
・商品ページを長時間閲覧する傾向があるユーザに対して、割引情報を提示する
・Q&Aを閲覧しそうなユーザに対して、Q&Aを案内する。
・関連商品を購入しそうなユーザに対して、関連商品を提示する
このように、複数のセグメント条件を設定しておくことで、様々のユーザの行動に対して、様々な適切なアクションを実行することができる。
【0063】
なお、セグメント条件としては、例えば以下の内容でもよく、管理者の要求により、任意に設定することができる。
・退会しそうなユーザに対して、退会を慰留するための情報を提供する
・評価コメントを入力しそうなユーザに対して、コメント入力により特典付与の案内をする
・返品をしそうなユーザに対して、返品方法を提示する
・Q&Aを確認しそうなユーザに対して、Q&Aのページを表示する
【0064】
行動推定モジュール2035は、ユーザがイベントに至るかどうかの程度を推定する。具体的には、行動推定モジュール2035は、ユーザ行動モデルに対して、ユーザの操作ログを入力し、ユーザ行動モデルから出力されたイベント発生確率により、ユーザがイベントに至るかどうかの程度を推定する。
【0065】
アクション実行モジュール2036は、行動推定モジュール2035が推定したユーザがイベントに至るかどうかの程度が高いユーザに対して、当該ユーザを当該イベントに至らせるための情報の提示(アクション)を実行する。具体的には、アクション実行モジュール2036は、設定されたセグメント条件に従って、アクションを実行する。例えば
図6の例では、商品を購入しそうなユーザに対して、アクションとして商品広告の提示を実行する。
【0066】
<処理の流れ>
次に、情報提供システム1の処理について説明する。まず、セグメント条件の設定の処理について説明する。
図7は、セグメント条件の設定の処理を説明する図である。
【0067】
図7に示すように、処理サーバ20は、複数のユーザの操作ログを取得する(ステップS200)。具体的には、処理サーバ20の操作ログ取得モジュール2032は、全てのユーザの操作ログを定期的に取得する。
【0068】
ステップS201の後に、処理サーバ20は、ユーザ行動モデルを生成する(ステップS201)。具体的には、処理サーバ20のモデル生成モジュール2033は、取得した全てのユーザの操作ログについて、あるイベントに至ったユーザの操作ログと、あるイベントに至らなかったユーザの操作ログと、に分類する。
【0069】
次に、モデル生成モジュール2033は、分類した操作ログに対して、イベントに至ったかどうかに関する情報をアノテーションし、ユーザ行動モデルに学習させる。これにより、ユーザ行動モデルが生成される。
なお、モデル生成モジュール2033は、この後の処理で入力されるセグメント条件の内容を予測して、予め複数のユーザ行動モデルを作成しておくことができる。
【0070】
次に、処理サーバ20は、セグメント条件の設定を行う(ステップS202)。具体的には、ECサイトの管理端末からの管理者の入力操作に基づいて、セグメントの内容、および実行するアクションの内容が設定される。なお、アクションの設定は、例えば、統計的に取得された過去の施策を参考にして行ってもよい。これにより、セグメント条件の設定の処理が終了する。
また、セグメント条件の設定では、予め作成された複数のユーザ行動モデルに対応するセグメント条件を、管理者が選択する手順により設定してもよい。この場合には、実行するアクションについては、新たに管理者からの入力により設定してもよい。
【0071】
なお、セグメント条件の設定は、ユーザ行動モデルの生成(ステップS201)の前に行われてもよい。この場合には、モデル生成モジュール2033は、セグメントの内容として入力された項目に応じたユーザ行動モデルを生成する。
【0072】
次に、ユーザへのアクション実行の処理について説明する。
図8はアクション実行の処理を説明する図である。
図8に示すように、ユーザ端末10は操作を入力する(ステップS110)。具体的には、ユーザがユーザ端末10を操作して、ECサイトを訪問して、商品の購入を検討する。
【0073】
ステップS110の後に、処理サーバ20は、ユーザ端末10からユーザの操作ログを取得する(ステップS210)。具体的には、操作ログ取得モジュール2032が、ユーザの一連の操作ログを取得し、操作ログデータベースに記憶させる。操作ログの取得は、例えば1分間隔で行われる。定期的に取得することで、ユーザの操作ログを定期的に評価することができる。
【0074】
ステップS210の後に、処理サーバ20は、ユーザのイベント発生確率を算出する(ステップS211)。具体的には、処理サーバ20の行動推定モジュール2035が、操作ログデータベースを参照し、一連のユーザの操作ログを、ユーザ行動モデルに入力する。これにより、ユーザのイベント発生確率が算出される。このように、ユーザのイベント発生確率を算出することで、ユーザがイベントに至るかどうかの程度を定量的に評価することができる。行動推定モジュール2035は、定期的に取得されるユーザの操作ログに対して、イベント発生確率を定期的に算出する。行動推定モジュール2035は、イベント発生確率を、例えば操作ログの取得と同じ間隔で定期的に算出してもよい。なお、行動推定モジュール2035は、イベント発生確率を、操作ログの取得よりも長い間隔で定期的に算出してもよい。
【0075】
また、複数のユーザ行動モデルが使用される場合には、
図8に示すステップS211において、行動推定モジュール2035は、複数のユーザ行動モデルそれぞれに対してユーザの操作ログを入力する。これにより、行動推定モジュール2035は、それぞれのユーザ行動モデルから出力されるイベント発生確率を算出する。
また、算出された複数の種類のイベントに関するイベント発生確率に対して、その後の処理が行われる。
【0076】
ステップS211の後に、処理サーバ20は、アクションを決定する(ステップS212)。具体的には、処理サーバ20のアクション実行モジュール2036が、イベント発生確率に対して予め設定されている閾値との比較を行い、該当するアクションを決定する。なおこの際、該当するアクションがない場合は、アクションは決定されない。
【0077】
ステップS212の後に、処理サーバ20は、ユーザ端末10に対してアクションを実行する(ステップS213)。具体的には、処理サーバ20のアクション実行モジュール2036が、決定したアクションを実行する。例えば、ユーザ端末10に対して商品広告の提示を行う。ユーザ端末10に提示される情報は、処理サーバ20の送受信制御モジュール2031を介して、ユーザ端末10に送信される。そして、アクション実行モジュール2036によりアクションの実行は、ステップ211におけるイベント発生確率の算出に対して、即時的に実行される。アクションを定期的に繰り返し実行されるイベント発生確率の算出に対して即時的に実行することで、ユーザに対して時宜を得た情報の提供を行うことができる。
【0078】
ステップS213の後に、ユーザ端末10は、処理サーバ20からのアクションの内容を、表示処理部174は、ディスプレイ132に表示する。例えば、処理サーバ20から送信された割引情報を、ディスプレイ132に表示する。これにより、ユーザへのアクション実行の処理が終了する。
【0079】
以上説明したように、本開示の情報提供システム1によれば、ユーザの操作ログから生成されたユーザ行動モデルを用いて、ユーザのイベントに至るかどうかの程度を推定し、程度が高いユーザに対してアクションを実行する。このため、アクションを実行するユーザを選択するうえで必要となる特定の条件を簡単に設定することができる。
【0080】
なお、上記の説明では、イベントの発生を「商品の購入」として説明したが、この例に限られない。例えば、イベントの発生を、「チャットボットでの問い合わせ」とし、チャットボットでの問い合わせが生じそうなユーザに対して、ユーザからの問い合わせに先んじて、チャットボット機能を提案してもよい。この場合には、実行されるアクションは、チャットボット機能の質問文の入力ウインドウの表示を指す。
【0081】
この場合には、チャットボット機能により問い合わせを行った(イベントに至った)ユーザの操作ログと、チャットボット機能により問い合わせを行わなかった(イベントに至らなかった)ユーザの操作ログと、分類する。
そして、問い合わせを行った操作ログと、問い合わせを行わなかった操作ログと、に対して、イベントに至ったかどうかに関する情報をアノテーションし、ユーザ行動モデルに学習させる。これにより、行動推定モジュール2035は、ユーザ行動モデルにユーザの操作ログを入力することで、イベント発生確率として、ユーザが、チャットボットにより問い合わせを行う確率を算出することができる。そして、イベント発生確率が予め設定された閾値を超える場合に、設定したアクションとして、チャットボット機能の質問文の入力ウインドウをポップアップさせる処理を実行する。
【0082】
また、「チャットボットでの特定のテーマに関する問い合わせ」を、イベントの発生とて設定したユーザ行動モデルを作成することもできる。この場合には、チャットボットでの特定のテーマに関する問い合わせを行った(イベントに至った)ユーザの操作ログと、チャットボットでの特定のテーマに関する問い合わせを行わなかった(イベントに至らなかった)ユーザの操作ログと、を分類する。
そして、分類した2種類の操作ログに対して、イベントに至ったかどうかに関する情報をアノテーションし、ユーザ学習モデルに学習させる。
そして、セグメント条件として設定される実行するアクションには、チャットボットにおいてやり取りされる会話カードが設定される。すなわち、特定のテーマに関する会話カードにおいて、回答パターンとして設定されている回答文の提示が、アクションとして設定される。
【0083】
具体的には、ログインができずに困っていそうなユーザに対して、「ログインできない」というテーマに関する回答パターンを表示させた形で、チャットボット機能をユーザの操作に応じて即時に起動する処理が該当する。
【0084】
<変形例1>
また、情報提供システム1は、処理サーバ20が、複数設定された閾値に応じて、実行するアクションを選択してもよい。この場合のセグメント条件について説明する。
図9は、複数設定されたセグメント条件について説明する図である。この例では、商品を購入しそうなユーザを対象としたセグメント条件について説明する。
【0085】
図9に示すように、イベント発生確率が90%以上のユーザには、商品の購入を促すために、商品広告の提示を行うことがアクションとして設定されている。商品広告を見ることで、購買意欲が増す可能性があるためである。
次に、例えば、イベント発生確率が80%以上、90%未満のユーザには、商品の購入を促すために、他のユーザによる高い評価コメントの提示を行うことがアクションとして設定されている。他人の高い評価により、購買意欲が増す可能性があるためである。
【0086】
次に、例えば、イベント発生確率が70%以上、80%未満のユーザには、商品の購入を促すために、割引情報を提示することがアクションとして設定されている。価格が安くなることで、購入する可能性があるからである。
次に、例えば、イベント発生確率が60%以上、70%未満のユーザには、商品の購入を促すために、類似商品を提示することがアクションとして設定されている。類似商品との比較により、購買意欲が増す可能性があるためである。
【0087】
次に、例えば、イベント発生確率が50%以上、60%未満のユーザには、商品の購入を促すために、購入を検討している商品と同時に使用される関連商品を提示することがアクションとして設定されている。関連商品を確認することで、購買意欲が増す可能性があるためである。
このように、複数設定された閾値に応じて、実行するアクションを選択することで、アクション発生に至らせる施策に自由度を与えることができる。
【0088】
<第2実施形態>
次に、第2実施形態に係る情報提供システム1について説明する。第2実施形態に係る情報提供システム1では、処理サーバ20Bが、セグメント条件における実行するアクションの内容を自動で設定する。
図10は、第2実施形態に係る処理サーバ20Bの機能的な構成を示すブロック図である。なお、第1実施形態と同一の構成については同一の符号を振り、その説明を省略する。
【0089】
処理サーバ20Bの記憶部202は、さらにアクション設定モデルを記憶している。
【0090】
アクション設定モデルは、特定のイベントに至るかどうかの程度が高いユーザに対して、イベントに至らせるために実行すべきアクションを推定する学習済みモデルである。アクション設定モデルは、ユーザの操作ログと、当該操作ログにおいて、イベント発生の直前に行われた処理と、を教師データとして学習している。
【0091】
アクション設定モデルは、ユーザの操作ログを入力データとし、当該ユーザが、所定のイベントに至らせるために行うべきアクションを出力データとする。アクション設定モデルは、モデル生成モジュール2033が生成する。
次に、第2実施形態に係るセグメント条件の設定の処理について説明する。
図11は、第2実施形態に係るセグメント条件の設定の処理を説明する図である。
【0092】
図11に示すように、ユーザ行動モデルの生成(ステップS201)の後に、アクション設定モデルを生成する(ステップ201B)。具体的には、モデル生成モジュール2033は、あるイベントに至ったユーザのイベント発生の直前の行動履歴を取得する。直前の行動履歴とは、イベント発生の前に行われたユーザの行動であって、イベント発生と直接関係があると認められる処理に関する情報である。イベント発生と直接関係があるがどうかは、処理の時期や内容により判断される。この行動履歴には、ユーザからの入力操作に加えて、処理サーバ20からユーザ端末10に対して出力され、ユーザ端末10が表示処理を行った情報等も含まれる。
【0093】
次に、モデル生成モジュール2033は、ユーザのイベント発生に至るまでの操作履歴の特徴量と、相関のある直前の行動履歴を特定して関連付けてユーザ行動モデルに学習させる。これにより、アクション設定モデルが生成される。
【0094】
ステップ201Bの後に、管理者は、セグメント条件を設定する。この際、セグメントの内容および閾値については、使用するユーザ行動モデルの内容に応じて設定される。一方、セグメント条件のうち、アクションの内容については、この時点では設定しない。
次に、第2実施形態に係るアクションの実行の処理について説明する。
図12は、第2実施形態に係るアクションの実行の処理を説明する図である。
【0095】
図12に示すように、処理サーバ20Bは、行動推定モジュール2035によりイベント発生確率の算出(ステップS211)の後に、アクションを決定する(ステップS212B)。具体的には、処理サーバ20のアクション設定モジュール2034は、アクション設定モデルに対してユーザの操作ログを入力することで、実行するべきアクションの出力を得る。これにより、セグメント条件において設定されていなかったアクションの内容が決定される。
すなわち、アクション設定モジュール2034は、実行するべきアクションを、特定のイベントに至った他のユーザにおける、イベントに至る直前の行動履歴から設定することとなる。
【0096】
このような第2実施形態の具体例として、購入しそうなユーザを対象としたセグメント条件において、アクション設定モジュール2034が学習するユーザの行動履歴には、チャットボットにおいてやり取りされた会話カードが含まれる。そして、実行されるアクションには、イベント発生に至った他のユーザが、イベント発生の直前に受け取った回答カードの提示が含まれる。すなわち、あるユーザがチャットボットでの回答カードを確認して購入に踏み切った事例に基づいて、同様の行動履歴を行ったユーザに対して、同様の回答カードを提示することで、購入を促すことができる。
【0097】
ステップS212Bの後に、アクション実行モジュール2036によるアクションの実行(ステップS213)、およびユーザ端末10によるアクションの内容の表示(ステップS111)の処理が行われる。これにより、第2実施形態に係るアクションの実行の処理が終了する。
【0098】
以上説明したように、第2実施形態に係る情報提供システム1によれば、アクション設定モデルを用いて、特定のイベントに至った他のユーザにおける、イベントに至る直前の行動履歴から、ユーザに対して実行するべきアクションが設定される。このため、アクションを管理者が設定する必要がなく、ユーザの操作ログを取得するという簡易な処理により、それぞれのユーザに対して適切なアクションを設定することができる。
【0099】
<その他の変形例>
【0100】
上記の各実施形態では、ECサイトに情報提供システム1が実装されている構成を示したが、このような態様に限られない、情報提供システム1は、WEB環境下で提供される各種のサービスに実装することができる。
【0101】
また、ユーザ行動モデル、およびアクション設定モデルは、処理サーバ20において生成されなくてもよい。すなわち、他のサーバにおいて、それぞれの学習済みモデルを生成し、記憶部202に記憶させることで、アクション実行の処理に用いてもよい。また、それぞれの学習済みモデルは、最新のユーザの操作ログを用いて、再学習されてもよい。
【0102】
また、上記の各実施形態では、セグメント条件は、プログラムに実行させるソースコードとして設定されている構成を示したが、このような態様に限られない。セグメント条件は、データテーブルとして処理サーバ20の記憶部202に記憶されてもよい。
【0103】
また、質問回答データベースは、コンピュータにプログラムを実装するサーバにより実現されてもよい。質問回答サーバを構成する各部は、複数のコンピュータに分散して実現されていても構わない。
【0104】
以上、本開示の実施形態について説明したが、設計上の都合やその他の要因によって必要となる様々な修正や組み合わせは、請求項に記載されている発明や発明の実施形態に記載されている具体例に対応する発明の範囲に含まれるものとする。
【0105】
本発明の内容を以下に付記する。
【0106】
(付記1)
クレーム確定後に作成します。
【0107】
1 情報提供システム
10 ユーザ端末
20 質問回答サーバ
203 制御部
2031 送受信制御モジュール
2032 操作ログ取得モジュール
2033 モデル生成モジュール
2034 アクション設定モジュール
2035 行動推定モジュール
2036 アクション実行モジュール