(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】活動支援プログラム、装置、及び方法
(51)【国際特許分類】
G16H 20/00 20180101AFI20241022BHJP
【FI】
G16H20/00
(21)【出願番号】P 2021079661
(22)【出願日】2021-05-10
【審査請求日】2024-02-08
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】▲柳▼▲瀬▼ 隆史
【審査官】鹿野 博嗣
(56)【参考文献】
【文献】特開2020-155097(JP,A)
【文献】特開2020-004027(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G16H 10/00-80/00
(57)【特許請求の範囲】
【請求項1】
1以上の項目の値と、正例又は負例を示すラベルとを含む、活動に関する履歴データについて、前記項目の値に関する条件で表現された1以上の説明変数を含む複数のルールを生成し、
前記ルールの各々について、前記ルールを充足し、かつ前記ラベルが正例を示す前記履歴データの数である正例数、及び前記ルールを充足し、かつ前記ラベルが負例を示す前記履歴データの数である負例数に基づいて、前記ルールが正例を導くルールか、又は負例を導くルールかを特定し、
値が数値の特定項目について前記条件が不等式で表現された前記説明変数を含むルールにおいて、前記正例を導くルールと前記負例を導くルールとで不等号が逆向きの場合に、前記正例を導くルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する
ことを含む処理をコンピュータに実行させるための活動支援プログラム。
【請求項2】
前記正例数が前記負例数より多い前記ルールを、前記正例を導くルールとして特定し、前記負例数が前記正例数より多い前記ルールを、前記負例を導くルールとして特定する請求項1に記載の活動支援プログラム。
【請求項3】
前記正例数及び前記負例数に基づいて、前記ルールが正例を導くルールであることの信頼度を算出し、
前記負例を導くルールと不等号が逆向きの前記正例を導くルールが複数存在する場合、前記正例を導くルールの前記信頼度に基づいて選択したルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する
請求項1又は請求項2に記載の活動支援プログラム。
【請求項4】
前記信頼度の値が大きいほど信頼度が高いことを示す場合において、前記負例を導くルールと不等号が逆向きの前記正例を導くルールに、第1のルールと、前記特定項目についての不等式が示す値の範囲が前記第1のルールより大きい第2のルールとが含まれる場合、前記第1のルールの前記信頼度が、前記第2のルールの前記信頼度より所定値以上大きい場合に、前記第1のルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する請求項3に記載の活動支援プログラム。
【請求項5】
前記第1のルールの前記信頼度から、前記第2のルールの前記信頼度を減算した値が前記所定値未満の場合、前記第2のルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する請求項4に記載の活動支援プログラム。
【請求項6】
前記履歴データの前記項目の値を離散化して前記説明変数を生成し、前記説明変数の網羅的な組み合わせを前記複数のルールとして生成する請求項1~請求項5のいずれか1項に記載の活動支援プログラム。
【請求項7】
前記履歴データの前記項目の値が前記説明変数として表現された前記条件に合致するか否かに基づいて、前記履歴データを離散化し、離散化後の前記ラベルが正例を示す前記履歴データ及び前記ラベルが負例を示す前記履歴データの各々が、前記複数のルールの各々を充足するか否かを判定することにより、前記複数のルールが正例を導くルールか、又は負例を導くルールかを特定する請求項6に記載の活動支援プログラム。
【請求項8】
1以上の項目の値と、正例又は負例を示すラベルとを含む、活動に関する履歴データについて、前記項目の値に関する条件で表現された1以上の説明変数を含む複数のルールを生成する生成部と、
前記ルールの各々について、前記ルールを充足し、かつ前記ラベルが正例を示す前記履歴データの数である正例数、及び前記ルールを充足し、かつ前記ラベルが負例を示す前記履歴データの数である負例数に基づいて、前記ルールが正例を導くルールか、又は負例を導くルールかを特定する特定部と、
値が数値の特定項目について前記条件が不等式で表現された前記説明変数を含むルールにおいて、前記正例を導くルールと前記負例を導くルールとで不等号が逆向きの場合に、前記正例を導くルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する出力部と、
を含む活動支援装置。
【請求項9】
1以上の項目の値と、正例又は負例を示すラベルとを含む、活動に関する履歴データについて、前記項目の値に関する条件で表現された1以上の説明変数を含む複数のルールを生成し、
前記ルールの各々について、前記ルールを充足し、かつ前記ラベルが正例を示す前記履歴データの数である正例数、及び前記ルールを充足し、かつ前記ラベルが負例を示す前記履歴データの数である負例数に基づいて、前記ルールが正例を導くルールか、又は負例を導くルールかを特定し、
値が数値の特定項目について前記条件が不等式で表現された前記説明変数を含むルールにおいて、前記正例を導くルールと前記負例を導くルールとで不等号が逆向きの場合に、前記正例を導くルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する
ことを含む処理をコンピュータが実行する活動支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、活動支援プログラム、活動支援装置、及び活動支援方法に関する。
【背景技術】
【0002】
従来、営業活動や健康増進活動等の活動に関する履歴データに基づいて、その活動に対する改善提案を出力することで、活動を支援することが行われている。
【0003】
例えば、自治体や健康保険組合などの団体の構成員を集団的に指導することによって、構成員の心身の健康維持及び健康増進を実現するための健康維持増進支援システムが提案されている。このシステムは、身体活動記録部に記録された構成員それぞれの身体活動データと構成員情報記録部に記録された個人情報とを、集団指導論理記録部に記録されている集団指導論理に基づいて解析する。そして、このシステムは、解析のうえ、構成員の健康維持及び健康増進を指導するための指導情報をプリントアウトする。
【0004】
また、高齢者各人の日常生活活動量を考慮した生活指導と運動プログラムを提示し、適切なケアサービスを提供するシステムが提案されている。このシステムは、高齢者の生活活動能力評価データと個人データとを入力して個人データベースとして蓄積処理する。また、このシステムは、複数の日常生活体力項目毎に加齢変化を関数で表した生活体力加齢関数プログラムを用意しておく。そして、このシステムは、評価対象者の日常生活体力項目の体力測定値と生活体力加齢関数プログラムと日常生活体力項目毎に定めた自立限界値とから、評価対象者の自立度を求めて評価する。また、このシステムは、自立度評価情報を基に生活指導・運動指導プログラムファイルを利用して、改善すべき生活指導と運動のプログラムを提示する。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2007-286854号公報
【文献】特開2006-31433号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来技術では、どのようなデータが得られた場合に、どのような提案をするかということを、予め定めておく必要がある。そこで、活動に関する履歴データを用いた機械学習を実行し、優秀な活動成果を挙げているユーザの履歴データの特徴を抽出し、抽出した特徴に基づく提案を行うことが考えられる。しかし、複数の特徴が抽出された場合、より改善効果の高い提案を行うために、いずれの特徴を選択するかを判断することは困難である。
【0007】
一つの側面として、開示の技術は、改善効果の高い提案を出力し、活動を支援することを目的とする。
【課題を解決するための手段】
【0008】
一つの態様として、開示の技術は、1以上の項目の値と、正例又は負例を示すラベルとを含む、活動に関する履歴データについて、前記項目の値に関する条件で表現された1以上の説明変数を含む複数のルールを生成する。また、開示の技術は、正例数及び負例数に基づいて、前記ルールが正例を導くルールか、又は負例を導くルールかを特定する。正例数は、前記ルールの各々について、前記ルールを充足し、かつ前記ラベルが正例を示す前記履歴データの数であり、負例数は、前記ルールを充足し、かつ前記ラベルが負例を示す前記履歴データの数である。そして、開示の技術は、値が数値の特定項目について前記条件が不等式で表現された前記説明変数を含むルールにおいて、前記正例を導くルールと前記負例を導くルールとで不等号が逆向きか否かを判定する。開示の技術は、逆向きの場合に、前記正例を導くルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する。
【発明の効果】
【0009】
一つの側面として、改善効果の高い提案を出力し、活動を支援することができる、という効果を有する。
【図面の簡単な説明】
【0010】
【
図3】離散化後の活動履歴データの一例を示す図である。
【
図7】活動支援装置として機能するコンピュータの概略構成を示すブロック図である。
【
図8】活動支援処理の一例を示すフローチャートである。
【
図9】離散化処理の一例を示すフローチャートである。
【
図10】ルール生成処理の一例を示すフローチャートである。
【
図11】改善提案出力処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。なお、本実施形態では、営業活動の改善提案を行う場合に開示の技術を適用した例について説明する。
【0012】
図1に示すように、本実施形態に係る活動支援装置10は、活動履歴データを入力とし、営業活動に関する改善提案を出力する。また、活動支援装置10は、
図1に示すように、機能的には、生成部12と、特定部14と、出力部16とを含む。また、活動支援装置10の所定の記憶領域には、ルールDB(database)20が記憶される。
【0013】
生成部12は、活動支援装置10に入力された活動履歴データを取得する。活動履歴データは、1以上の項目の値と、正例又は負例を示すラベルとを含む、営業活動に関する履歴データである。
【0014】
図2に、活動履歴データの一例を示す。
図2の例では、各行(各レコード)が、各営業職員の活動履歴データである。各活動履歴データは、営業職員の識別情報である「営業職員ID」に、ラベルの一例である「営業成績」と、複数の項目の各々についての値とが対応付けられたデータである。
図2の例では、「営業成績」の「〇」は、営業成績が良いことを表す正例のラベルであり、「営業成績」の「×」は、営業成績が良くないことを表す負例のラベルである。ラベルは、例えば、ノルマの達成度、契約成立件数、売上額等に基づく基準を予め定めておき、この基準に基づいて、営業職員毎の実績に基づいて判断して付与しておけばよい。
【0015】
また、
図2の例は、営業活動の一例として、チャット等による顧客への対応を想定した例であり、項目として、「最大対応時間」、「平均対応時間」、「スタンプ種類数」等を含む。これらの項目の値は、チャット等でやり取りしたメッセージや、メッセージの送受信時刻を示すタイムスタンプ等を含むログから取得可能である。「最大対応時間」は、チャット等における1件当たりの対応の開始時から終了時までの対応時間のうち、最大の対応時間である。「平均対応時間」は、1件当たりの対応時間の平均である。「スタンプ種類数」は、チャット等でのやり取りにおいて営業職員が送信したメッセージに使用したスタンプの種類数である。なお、項目は、これらの例に限定されず、営業職員が送信したメッセージの文字数の平均、メッセージにおける絵文字や顔文字の使用率等、チャット等でのやり取りのログから取得可能な様々な項目を含んでよい。
【0016】
なお、本実施形態では、値が数値となる項目に着目した処理を行うため、上記のような項目を例示しているが、値が数値ではない項目、例えば、顧客の職種等の項目を含んでもよい。さらに、チャット等でのやり取りのログから取得可能な情報以外にも、勤続年数等の営業職員の属性に関する項目を含んでもよい。
【0017】
生成部12は、取得した活動履歴データについて、活動履歴データに含まれる項目の値に関する条件で表現された1以上の説明変数を含む複数のルールを生成する。具体的には、生成部12は、活動履歴データに含まれる各項目の値を離散化して説明変数を生成する。より具体的には、生成部12は、各項目について1以上の閾値を設定し、項目名と不等号と閾値とを含む不等式「項目名(不等号)閾値」で表現される説明変数を生成する。例えば、生成部12は、各項目の値の最小値から最大値までの範囲で、等間隔に所定個の値を、その項目についての閾値として設定してよい。また、生成部12は、活動履歴データの各項目の値が、生成した説明変数として表現された条件に合致するか否か、すなわち不等式を満足するか否かに基づいて、活動履歴データを離散化する。
【0018】
図3に、離散化後の活動履歴データの一例を示す。
図3の例では、項目「最大対応時間」について、「最大対応時間≧4[時間]」及び「最大対応時間≧6[時間]」という説明変数が生成されていることを表す。また、項目「平均対応時間」について、「平均対応時間≧2[時間]」及び「平均対応時間≧4[時間]」という説明変数が生成されていることを表す。また、項目「スタンプ種類数」について、「スタンプ種類数≧1[種類]」、「スタンプ種類数≧2[種類]」、及び「スタンプ種類数≧3[種類]」という説明変数が生成されていることを表す。以下、[ ]で示す各値の単位の記載を省略する。また、
図3の例では、生成部12は、生成した説明変数毎に、活動履歴データの各項目の値が、その説明変数が表す不等式を満足する場合には「1」を設定し、満足しない場合には「0」を設定することにより、活動履歴データを離散化している。
【0019】
また、生成部12は、生成した説明変数、及び生成した説明変数に含まれる不等号の向きを逆向きにした説明変数を、項目間で網羅的に組み合わせて、複数のルールを生成する。すなわち、生成部12は、各項目についての説明変数から最大1つの説明変数を取り出して項目間で組み合わせた場合の全ての組み合わせの各々を各ルールとして生成する。
図3の例では、「最大対応時間≧4」、「最大対応時間<4」、「最大対応時間≧4 ∧ 平均対応時間≧2」、「最大対応時間≧4 ∧ 平均対応時間≧4」、「最大対応時間≧4 ∧ 平均対応時間≧2 ∧ スタンプ数≧1」等のルールが生成される。なお、不等号を逆向きにするとは、元の不等号の向きにより不等式が表す値の範囲と、排他的な範囲を表す不等式となるように、不等号の向きを変換することである。したがって、生成部12は、「≧」は「<」に変換し、「>」は「≦」に変換する。
【0020】
生成部12は、生成した複数のルールの各々に、ルールの識別情報であるルール番号を付与し、複数のルールをルールDB20に記憶する。以下では、ルール番号がiのルールを、「ルールi」と表記する。
図4に、ルールDB20の一例を示す。なお、この段階では、
図4に示すルールDB20の「ルール区分」、「正例数」、「負例数」、及び「信頼度」(詳細は後述)は空欄である。また、生成部12は、離散化後の活動支援データを特定部14へ受け渡す。
【0021】
特定部14は、ルールDB20に含まれるルールの各々について、活動履歴データの正例数及び負例数に基づいて、ルールが正例を導くルール(以下、「正例側ルール」という)か、又は負例を導くルール(以下、「負例側ルール」という)かを特定する。活動履歴データの正例数とは、ルールを充足し、かつラベルが正例を示す活動履歴データの数であり、活動履歴データの負例数とは、ルールを充足し、かつラベルが負例を示す活動履歴データの数である。特定部14は、活動履歴データがルールを充足するか否かを、離散化後の活動履歴データの各値が、ルールに含まれる説明変数の全てを充足するか否かにより判定する。具体的には、特定部14は、ルールに含まれる説明変数が活動履歴データに含まれる場合、その説明変数に対応する離散化後の活動履歴データの値が「1」であれば、その説明変数については充足すると判定する。また、特定部14は、ルールに含まれる説明変数が活動履歴データに含まれない場合、すなわち不等号を逆向きにした説明変数の場合、不等号の向きを元に戻した説明変数に対応する離散化後の活動履歴データの値が「0」であれば、充足すると判定する。例えば、
図4に示すルールDB20のルール1の場合、特定部14は、離散化後の活動履歴データの「最大対応時間≧4」の値が「1」、かつ「平均対応時間≧2」の値が「0」の場合、その活動履歴データはルール1を充足すると判定する。
【0022】
特定部14は、各ルールについて、上記のようにルールを充足する活動履歴データを判定し、ルールを充足する活動履歴データの数を、正例又は負例のラベル毎に集計し、ルールDB20の「正例数」及び「負例数」にそれぞれ記憶する。そして、特定部14は、ルールを充足する正例数が負例数より多いルールを正例側ルールとして特定し、負例数が正例数より多いルールを負例側ルールとして特定し、ルールDB20の「ルール区分」に特定結果を記憶する。
図4の例では、「ルール区分」において、正例側ルールを「正例側」、負例側ルールを「負例側」と表している。
【0023】
また、特定部14は、正例側ルールについて、正例数及び負例数に基づいて、そのルールが正例側ルールであることの信頼度を算出する。例えば、特定部14は、信頼度を、信頼度=正例数/(正例数+負例数)として算出してよい。特定部14は、算出した信頼度を、ルールDB20の「信頼度」に記憶する。
【0024】
ここで、上記のように、説明変数の網羅的な組み合わせからルールを生成して、改善提案となる内容を抽出する方法として、生成した正例側ルールの中からセグメントを抽出する手法が考えられる。セグメントとは、なるべく多くのデータをカバーし、かつなるべく多くの正例をカバーするようなルールである。そして、セグメントとなる正例側ルールを、ユーザ(ここでは営業職員)の属性に応じたアクションとして表現することで、属性に応じた有効なアクションを改善提案として出力することが考えられる。
【0025】
しかし、セグメントとなる正例側ルールに複数の説明変数が含まれる場合、どの説明変数に着目して改善提案を行えばよいかを判断することは困難である。例えば、
図4に示すルールDB20のルール1「最大対応時間≧4 ∧ 平均対応時間<2」がセグメントとして抽出されたとする。この場合、最大対応時間を4時間以上とする改善提案、平均対応時間を2時間未満とする改善提案、又はその両方を含む改善提案のうち、いずれがより改善効果の高い提案となるかは分からない。
【0026】
また、本実施形態のように、値が数値である項目を含む活動履歴データの場合、セグメントは、不等式の組み合わせで表現される。上述したように、セグメントは、なるべく多くのデータをカバーするようなルールを抽出するため、より広い範囲の値をとる不等式を含むルールがセグメントとして抽出される。しかし、この場合、改善提案を行う対象となる範囲、すなわちセグメント外の範囲は逆に小さくなるため、改善提案の効果が得られ難くなる。
【0027】
例えば、
図4に示すルールDB20のルール3「平均対応時間≧2 ∧ スタンプ種類数≧3」と、ルール4「平均対応時間≧2 ∧ スタンプ種類数≧2」とでは、ルール4の方が、ルールを充足する活動履歴データの数、及び正例数が多い。すなわち、ルール3よりもルール4の方がカバーする範囲が広いため、ルール4がセグメントとして抽出され、平均対応時間は2時間以上、かつスタンプ種類数は2種類以上という改善提案が出力される。しかし、ルール3とルール4との正例数及び負例数との差から、「平均対応時間≧2 ∧ スタンプ種類数=2」を充足する活動履歴データの正例数は20件、負例数は47件である。「平均対応時間≧2 ∧ スタンプ種類数=2」に該当する営業職員に対しては、スタンプ種類数が3種類以上という提案でなければ、改善提案にならないため、上記のルール4に基づく改善提案は適切ではない。
【0028】
上記の点を踏まえ、本実施形態における出力部16では、ルールに含まれる説明変数の不等号の向きに着目して、改善効果の高い改善提案を出力する。以下、出力部16について詳述する。
【0029】
出力部16は、値が数値の特定項目について、条件が不等式で表現された説明変数を含むルールにおいて、正例側ルールと負例側ルールとで不等号が逆向きの場合に、正例側ルールに含まれる特定項目についての説明変数に基づく改善提案を出力する。ある特定項目について、正例側ルールと負例側ルールとで不等号が逆向きの場合、その特定項目の値は、活動履歴データが正例となるか負例となるかに与える影響が大きい。そのため、その特定項目についての説明変数に基づく改善提案を出力することで、より改善効果の高い改善提案を出力することができる。
【0030】
例えば、出力部16は、「最大対応時間」を特定項目とする場合、「最大対応時間」を説明変数に含むルールを選択する。
図4に示すルールDB20の場合、出力部16は、
図5に示すように、ルール1及びルール2を選択する。この場合、正例側ルールであるルール1には「最大対応時間≧4」があり、負例側ルールであるルール2には「最大対応時間<4」があり、その不等号が逆向きである。したがって、出力部16は、「最大対応時間≧4」に基づく改善提案を出力する。
【0031】
また、出力部16は、負例側ルールと不等号が逆向きになる正例側ルールが複数存在する場合、信頼度に基づいて選択した正例側ルールに含まれる特定項目についての説明変数に基づく改善提案を出力する。例えば、上記の、信頼度=正例数/(正例数+負例数)のように、信頼度の値が大きいほど信頼度が高いとする。この場合において、出力部16は、正例側ルールのうち、特定項目についての不等式が示す値の範囲が小さい方をルールA、範囲が大きい方をルールBとする。ルールAは、開示の技術の「第1のルール」の一例、ルールBは、開示の技術の「第2のルール」の一例である。そして、出力部16は、ルールAの信頼度が、ルールBの信頼度より所定値以上大きい場合に、ルールAに含まれる特定項目についての説明変数に基づく改善提案を出力する。また、出力部16は、ルールAの信頼度からルールBの信頼度を減算した値が所定値未満の場合、ルールBに含まれる特定項目についての説明変数に基づく改善提案を出力する。
【0032】
例えば、出力部16は、「スタンプ種類数」を特定項目とする場合、「スタンプ種類数」を説明変数に含むルールを選択する。
図4に示すルールDB20の場合、出力部16は、
図6に示すように、ルール3、ルール4、及びルール5を選択する。この場合、正例側ルールであるルール3には「スタンプ種類数≧3」、ルール4には「スタンプ種類数≧2」があり、負例側ルールであるルール5には「スタンプ種類数<2」があり、その不等号が逆向きである。そのため、「スタンプ種類数≧3」又は「スタンプ種類数≧2」が改善提案の候補となる。出力部16は、ルール3の信頼度-ルール4の信頼度(0.68-0.53)が所定の閾値TH(例えば、TH=0.1)以上か否かを判定する。ここでは、ルール3の信頼度-ルール4の信頼度は、所定の閾値以上であるため、出力部16は、「スタンプ種類数≧3」に基づく改善提案を出力する。この改善提案により、スタンプ種類数=2の営業職員に対しても、スタンプ種類数を3種類以上にすることにより、正例となる可能性、すなわち営業活動の成果が改善する可能性を高める提案を行うことができる。
【0033】
すなわち、ルールAの信頼度がルールBの信頼度より所定値以上大きい場合には、不等式が示す値の範囲が小さい方のルールAに含まれる説明変数に基づく改善提案を行うことで、活動の改善が見込める対象となる範囲を大きくすることができる。一方、ルールAの信頼度とルールBの信頼度とにあまり差がない場合には、不等式が示す値の範囲が大きい方のルールBに含まれる説明変数に基づく改善提案を行うことで、カバーする範囲が広いルールに基づく改善提案を行うことができる。
【0034】
なお、出力部16は、選択した説明変数に基づく改善提案として、選択した説明変数をそのまま出力してもよいし、予め用意したテンプレートに、選択した説明変数の内容を当て嵌めて作成した改善提案を出力してもよい。例えば、出力部16は、
図5に示す例のように、「最大対応時間≧4」という説明変数から、「最大対応時間は4時間以上がよい」という改善提案を作成して出力してよい。また、出力部16は、
図6に示す例のように、「スタンプ種類数≧3」という説明変数から、「スタンプ種類数は3種類以上がよい」という改善提案を作成して出力してよい。また、出力部16は、活動履歴データの項目として、営業職員の属性に関する項目も含む場合、改善提案として選択した説明変数を含むルールに含まれる属性と、選択した説明変数とを組み合わせた改善提案を作成して、出力してもよい。例えば、「勤続年数<10[年] ∧ スタンプ種類数≧3種類」というルールの説明変数「スタンプ種類数≧3種類」が選択されたとする。この場合、出力部16は、「勤続年数が10年未満の営業職員は、スタンプ種類数は3種類以上がよい」のような改善提案を作成して出力してもよい。
【0035】
活動支援装置10は、例えば
図7に示すコンピュータ40で実現することができる。コンピュータ40は、CPU(Central Processing Unit)41と、一時記憶領域としてのメモリ42と、不揮発性の記憶部43とを備える。また、コンピュータ40は、入力部、表示部等の入出力装置44と、記憶媒体49に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)部45とを備える。また、コンピュータ40は、インターネット等のネットワークに接続される通信I/F(Interface)46を備える。CPU41、メモリ42、記憶部43、入出力装置44、R/W部45、及び通信I/F46は、バス47を介して互いに接続される。
【0036】
記憶部43は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部43には、コンピュータ40を、活動支援装置10として機能させるための活動支援プログラム50が記憶される。活動支援プログラム50は、生成プロセス52と、特定プロセス54と、出力プロセス56とを有する。また、記憶部43は、ルールDB20を構成する情報が記憶される情報記憶領域60を有する。
【0037】
CPU41は、活動支援プログラム50を記憶部43から読み出してメモリ42に展開し、活動支援プログラム50が有するプロセスを順次実行する。CPU41は、生成プロセス52を実行することで、
図1に示す生成部12として動作する。また、CPU41は、特定プロセス54を実行することで、
図1に示す特定部14として動作する。また、CPU41は、出力プロセス56を実行することで、
図1に示す出力部16として動作する。また、CPU41は、情報記憶領域60から情報を読み出して、ルールDB20をメモリ42に展開する。これにより、活動支援プログラム50を実行したコンピュータ40が、活動支援装置10として機能することになる。なお、プログラムを実行するCPU41はハードウェアである。
【0038】
なお、活動支援プログラム50により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
【0039】
次に、本実施形態に係る活動支援装置10の作用について説明する。活動支援装置10に活動履歴データが入力され、改善提案の出力が指示されると、活動支援装置10において、
図8に示す活動支援処理が実行される。なお、活動支援処理は、開示の技術の活動支援方法の一例である。
【0040】
ステップS10では、
図9に示す離散化処理が実行される。次に、ステップS30で、
図10に示すルール生成処理が実行される。次に、ステップS50で、
図11に示す改善提案出力処理が実行され、活動支援処理は終了する。以下、離散化処理、ルール生成処理、及び改善提案出力処理の各々について詳述する。
【0041】
【0042】
ステップS12で、生成部12が、活動支援装置10に入力された活動履歴データを取得する。次に、ステップS14で、生成部12が、取得した活動履歴データに含まれる項目から、以下のステップS16~S22の処理が未処理の項目を1つ選択する。次に、ステップS16で、生成部12が、選択した項目について1以上の閾値を設定し、項目名と不等号と閾値とを含む不等式「項目名(不等号)閾値」で表現される説明変数を生成する。
【0043】
次に、ステップS18で、生成部12が、活動履歴データに含まれる営業職員IDから、以下のステップS20の処理が未処理の営業職員IDを1つ選択し、その営業職員IDを含む活動履歴データを取得する。次に、ステップS20で、生成部12が、選択した営業職員IDを含む活動履歴データにおいて、上記ステップS14で選択した項目の値と、上記ステップS16で生成した説明変数とを比較する。そして、生成部12が、生成した説明変数毎に、活動履歴データにおけるその項目の値が、説明変数が表す不等式を満足する場合には「1」を設定し、満足しない場合には「0」を設定する。これにより、活動履歴データが離散化される。
【0044】
次に、ステップS22で、生成部12が、上記ステップS12で取得した活動履歴データに含まれる全ての営業職員IDを選択済みか否かを判定する。未選択の営業職員IDが存在する場合には、ステップS18に戻り、全て選択済みの場合には、ステップS24へ移行する。ステップS24では、生成部12が、上記ステップS12で取得した活動履歴データに含まれる全ての項目を選択済みか否かを判定する。未選択の項目が存在する場合には、ステップS14に戻り、全て選択済みの場合には、離散化処理は終了する。
【0045】
次に、
図10に示すルール生成処理について説明する。
【0046】
ステップS32で、生成部12が、離散化処理(
図9)のステップS16で生成した説明変数、及び生成した説明変数に含まれる不等号の向きを逆向きにした説明変数を、項目間で網羅的に組み合わせて、複数のルールを生成する。そして、生成部12が、生成した複数のルールの各々にルール番号を付与し、複数のルールをルールDB20に記憶する。
【0047】
次に、ステップS34で、特定部14が、ルールDB20に含まれるルールの各々について、ルールを充足する活動履歴データの数を、正例又は負例のラベル毎に集計し、ルールDB20の「正例数」及び「負例数」にそれぞれ記憶する。そして、特定部14が、ルールを充足する正例数が負例数より多いルールを正例側ルールとして特定し、負例数が正例数より多いルールを負例側ルールとして特定し、ルールDB20の「ルール区分」に特定結果を記憶する。
【0048】
次に、ステップS36で、特定部14が、正例側ルールについて、正例数及び負例数に基づいて、そのルールが正例側ルールであることの信頼度を算出し、ルールDB20の「信頼度」に記憶し、ルール生成処理は終了する。
【0049】
次に、
図11に示す改善提案出力処理について説明する。
【0050】
ステップS52で、出力部16が、所定の記憶領域に記憶されたルールDB20を読み込む。次に、ステップS54で、出力部16が、活動履歴データに含まれる項目から、ステップS56以降の処理が未処理の項目を1つ選択する。次に、ステップS56で、出力部16が、ルールDB20に含まれるルールから、選択した項目を含む説明変数を含むルールを抽出する。
【0051】
次に、ステップS58で、出力部16が、抽出したルールに、正例側ルール及び負例側ルールがそれぞれ1つ以上含まれるか否かを判定する。含まれる場合には、ステップS60へ移行し、含まれない場合には、ステップS74へ移行する。ステップS60では、出力部16が、抽出したルールに含まれる正例側ルールと負例側ルールとで不等号が逆向きか否かを判定する。不等号が逆向きの場合には、ステップS62へ移行し、同じ向きの場合には、ステップS74へ移行する。
【0052】
ステップS62では、出力部16が、抽出したルールに含まれる正例側ルールが2つ以上あるか否かを判定する。正例側ルールが1つの場合には、ステップS64へ移行し、2つ以上の場合には、ステップS66へ移行する。ステップS64では、抽出したルールに含まれる正例側ルールにおいて、上記ステップS54で選択した項目を含む説明変数を選択する。
【0053】
ステップS66では、出力部16が、抽出した正例側ルールのうち、上記ステップS54で選択した項目を含む説明変数を表現する不等式が示す値の範囲が小さい方をルールA、範囲が大きい方をルールBに設定する。次に、ステップS68で、出力部16が、ルールAの信頼度(信頼度A)からルールBの信頼度(信頼度B)を減算した値が所定の閾値TH以上か否かを判定する。信頼度A-信頼度B≧THの場合には、ステップS70へ移行し、出力部16が、ルールAにおいて、上記ステップS54で選択した項目を含む説明変数を選択し、ステップS74へ移行する。一方、信頼度A-信頼度B<THの場合には、ステップS72へ移行し、出力部16が、ルールBにおいて、上記ステップS54で選択した項目を含む説明変数を選択し、ステップS74へ移行する。
【0054】
ステップS74では、出力部16が、活動履歴データに含まれる全ての項目を選択済みか否かを判定する。未選択の項目が存在する場合には、ステップS54に戻り、全て選択済みの場合には、ステップS76へ移行する。ステップS76では、出力部16が、上記ステップS64、S70、又はS72で選択した説明変数の各々に基づく改善提案を出力し、改善提案出力処理は終了する。
【0055】
なお、上記の改善提案出力処理のステップS60において、正例側ルールが複数存在し、その複数の正例側ルールのそれぞれで、選択された項目を含む説明変数を表現する不等式の不等号の向きが異なるとする。この場合、数が多い方の向きを、正例側ルールの不等号の向きとみなしてよい。例えば、選択された項目を含む不等式の不等号が「≧」の正例側ルールが2つ、「<」の正例側ルールが1つの場合、正例側ルールの不等号の向きは「≧」とみなす。また、不等号の向き毎に、各ルールの正例数を集計して、正例数が多い方の向きを、正例側ルールの不等号の向きとみなしてもよい。負例側ルールが複数存在する場合も同様である。負例側ルールの場合、負例数が多い方の向きを、負例側ルールの不等号の向きとみなす。また、正例側ルール及び負例側ルールの少なくとも一方が複数存在し、その複数のルール内で該当の不等号の向きが異なる場合、上記ステップS60で否定判定とするようにしてもよい。
【0056】
また、上記ステップS66において、正例側ルールが3つ以上存在する場合、不等式が示す値の範囲が小さい順に上から2つずつをルールA及びルールBに設定して、順次信頼度A-信頼度Bが閾値TH以上か否かを判定すればよい。例えば、正例側ルールが、ルール1、ルール2、及びルール3の3つあり、不等式が示す値の範囲が、ルール1<ルール2<ルール3であるとする。この場合、まず、ルール1をルールAに設定し、ルール2をルールBに設定する。そして、信頼度A-信頼度Bが閾値TH以上であれば、ルール1から説明変数を選択し、信頼度A-信頼度Bが閾値TH未満であれば、ルール2をルールAに設定し、ルール3をルールBに設定する。そして、信頼度A-信頼度Bが閾値TH以上であれば、ルール2から説明変数を選択し、信頼度A-信頼度Bが閾値TH未満であれば、ルール3から説明変数を選択する。
【0057】
以上説明したように、本実施形態に係る活動支援装置は、1以上の項目の値と、正例又は負例を示すラベルとを含む活動履歴データについて、項目の値に関する条件で表現された1以上の説明変数を含む複数のルールを生成する。また、活動支援装置は、各ルールを充足する活動履歴データの正例数及び負例数に基づいて、各ルールが正例側ルールか、又は負例側ルールかを特定する。そして、活動支援装置は、値が数値の特定項目について、条件が不等式で表現された説明変数を含むルールにおいて、正例側ルールと負例側ルールとで不等号が逆向きの場合に、正例側ルールに含まれる特定項目についての説明変数に基づく改善提案を出力する。これにより、改善効果の高い提案を出力し、活動を支援することができる。
【0058】
なお、上記実施形態では、営業活動の一例として、チャット等による顧客への対応を想定した例について説明したが、これに限定されない。顧客への電話や訪問を想定した営業活動を対象としてもよい。この場合、活動履歴データの項目として、訪問回数、電話対応の最大対応時間、平均対応時間等を含めてよい。また、営業活動に限らず、例えば、健康増進活動等の他の活動に対する改善提案についても開示の技術を適用することができる。健康増進活動の場合、活動履歴データの項目として、例えば、運動時間、睡眠時間、食事回数等を含んでよい。また、ラベルとしては、健康状態が良好な場合を正例、良好ではない場合を負例としてよい。そして、上記実施形態と同様の処理により、例えば、「睡眠時間は8~10時間が良い」のような改善提案を出力する。また、活動履歴データの項目として、ユーザの性別、身長、体重等の属性を含め、「身長が170cm以上の人は、運動時間を1時間以上とするのがよい」のような改善提案を出力してもよい。
【0059】
なお、ラベルについて、良好な活動成果を上げている場合を正例とする必要はなく、活動成果が良好ではない場合を正例としてもよい。この場合、上記実施形態における正例と負例とを読み替えることで、同様の改善提案を行うことができる。また、正例と負例とを読み替えることなく、活動における禁止事項や回避事項を改善提案として行ってもよい。例えば、上記の健康増進活動の例で、病気がある場合を正例、病気がない場合を負例とし、「睡眠時間が4時間未満の場合、病気になり易い」等の改善提案を行ってもよい。
【0060】
また、上記実施形態では、活動支援プログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供することも可能である。
【0061】
以上の実施形態に関し、更に以下の付記を開示する。
【0062】
(付記1)
1以上の項目の値と、正例又は負例を示すラベルとを含む、活動に関する履歴データについて、前記項目の値に関する条件で表現された1以上の説明変数を含む複数のルールを生成し、
前記ルールの各々について、前記ルールを充足し、かつ前記ラベルが正例を示す前記履歴データの数である正例数、及び前記ルールを充足し、かつ前記ラベルが負例を示す前記履歴データの数である負例数に基づいて、前記ルールが正例を導くルールか、又は負例を導くルールかを特定し、
値が数値の特定項目について前記条件が不等式で表現された前記説明変数を含むルールにおいて、前記正例を導くルールと前記負例を導くルールとで不等号が逆向きの場合に、前記正例を導くルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する
ことを含む処理をコンピュータに実行させるための活動支援プログラム。
【0063】
(付記2)
前記正例数が前記負例数より多い前記ルールを、前記正例を導くルールとして特定し、前記負例数が前記正例数より多い前記ルールを、前記負例を導くルールとして特定する付記1に記載の活動支援プログラム。
【0064】
(付記3)
前記正例数及び前記負例数に基づいて、前記ルールが正例を導くルールであることの信頼度を算出し、
前記負例を導くルールと不等号が逆向きの前記正例を導くルールが複数存在する場合、前記正例を導くルールの前記信頼度に基づいて選択したルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する
付記1又は付記2に記載の活動支援プログラム。
【0065】
(付記4)
前記信頼度の値が大きいほど信頼度が高いことを示す場合において、前記負例を導くルールと不等号が逆向きの前記正例を導くルールに、第1のルールと、前記特定項目についての不等式が示す値の範囲が前記第1のルールより大きい第2のルールとが含まれる場合、前記第1のルールの前記信頼度が、前記第2のルールの前記信頼度より所定値以上大きい場合に、前記第1のルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する付記3に記載の活動支援プログラム。
【0066】
(付記5)
前記第1のルールの前記信頼度から、前記第2のルールの前記信頼度を減算した値が前記所定値未満の場合、前記第2のルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する付記4に記載の活動支援プログラム。
【0067】
(付記6)
前記履歴データの前記項目の値を離散化して前記説明変数を生成し、前記説明変数の網羅的な組み合わせを前記複数のルールとして生成する付記1~付記5のいずれか1項に記載の活動支援プログラム。
【0068】
(付記7)
前記履歴データの前記項目の値が前記説明変数として表現された前記条件に合致するか否かに基づいて、前記履歴データを離散化し、離散化後の前記ラベルが正例を示す前記履歴データ及び前記ラベルが負例を示す前記履歴データの各々が、前記複数のルールの各々を充足するか否かを判定することにより、前記複数のルールが正例を導くルールか、又は負例を導くルールかを特定する付記6に記載の活動支援プログラム。
【0069】
(付記8)
1以上の項目の値と、正例又は負例を示すラベルとを含む、活動に関する履歴データについて、前記項目の値に関する条件で表現された1以上の説明変数を含む複数のルールを生成する生成部と、
前記ルールの各々について、前記ルールを充足し、かつ前記ラベルが正例を示す前記履歴データの数である正例数、及び前記ルールを充足し、かつ前記ラベルが負例を示す前記履歴データの数である負例数に基づいて、前記ルールが正例を導くルールか、又は負例を導くルールかを特定する特定部と、
値が数値の特定項目について前記条件が不等式で表現された前記説明変数を含むルールにおいて、前記正例を導くルールと前記負例を導くルールとで不等号が逆向きの場合に、前記正例を導くルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する出力部と、
を含む活動支援装置。
【0070】
(付記9)
前記特定部は、前記正例数が前記負例数より多い前記ルールを、前記正例を導くルールとして特定し、前記負例数が前記正例数より多い前記ルールを、前記負例を導くルールとして特定する付記8に記載の活動支援装置。
【0071】
(付記10)
前記特定部は、前記正例数及び前記負例数に基づいて、前記ルールが正例を導くルールであることの信頼度を算出し、
前記出力部は、前記負例を導くルールと不等号が逆向きの前記正例を導くルールが複数存在する場合、前記正例を導くルールの前記信頼度に基づいて選択したルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する
付記8又は付記9に記載の活動支援装置。
【0072】
(付記11)
前記出力部は、前記信頼度の値が大きいほど信頼度が高いことを示す場合において、前記負例を導くルールと不等号が逆向きの前記正例を導くルールに、第1のルールと、前記特定項目についての不等式が示す値の範囲が前記第1のルールより大きい第2のルールとが含まれる場合、前記第1のルールの前記信頼度が、前記第2のルールの前記信頼度より所定値以上大きい場合に、前記第1のルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する付記10に記載の活動支援装置。
【0073】
(付記12)
前記出力部は、前記第1のルールの前記信頼度から、前記第2のルールの前記信頼度を減算した値が前記所定値未満の場合、前記第2のルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する付記11に記載の活動支援装置。
【0074】
(付記13)
前記生成部は、前記履歴データの前記項目の値を離散化して前記説明変数を生成し、前記説明変数の網羅的な組み合わせを前記複数のルールとして生成する付記8~付記12のいずれか1項に記載の活動支援装置。
【0075】
(付記14)
前記特定部は、前記履歴データの前記項目の値が前記説明変数として表現された前記条件に合致するか否かに基づいて、前記履歴データを離散化し、離散化後の前記ラベルが正例を示す前記履歴データ及び前記ラベルが負例を示す前記履歴データの各々が、前記複数のルールの各々を充足するか否かを判定することにより、前記複数のルールが正例を導くルールか、又は負例を導くルールかを特定する付記13に記載の活動支援装置。
【0076】
(付記15)
1以上の項目の値と、正例又は負例を示すラベルとを含む、活動に関する履歴データについて、前記項目の値に関する条件で表現された1以上の説明変数を含む複数のルールを生成し、
前記ルールの各々について、前記ルールを充足し、かつ前記ラベルが正例を示す前記履歴データの数である正例数、及び前記ルールを充足し、かつ前記ラベルが負例を示す前記履歴データの数である負例数に基づいて、前記ルールが正例を導くルールか、又は負例を導くルールかを特定し、
値が数値の特定項目について前記条件が不等式で表現された前記説明変数を含むルールにおいて、前記正例を導くルールと前記負例を導くルールとで不等号が逆向きの場合に、前記正例を導くルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する
ことを含む処理をコンピュータが実行する活動支援方法。
【0077】
(付記16)
前記正例数が前記負例数より多い前記ルールを、前記正例を導くルールとして特定し、前記負例数が前記正例数より多い前記ルールを、前記負例を導くルールとして特定する付記15に記載の活動支援方法。
【0078】
(付記17)
前記正例数及び前記負例数に基づいて、前記ルールが正例を導くルールであることの信頼度を算出し、
前記負例を導くルールと不等号が逆向きの前記正例を導くルールが複数存在する場合、前記正例を導くルールの前記信頼度に基づいて選択したルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する
付記15又は付記16に記載の活動支援方法。
【0079】
(付記18)
前記信頼度の値が大きいほど信頼度が高いことを示す場合において、前記負例を導くルールと不等号が逆向きの前記正例を導くルールに、第1のルールと、前記特定項目についての不等式が示す値の範囲が前記第1のルールより大きい第2のルールとが含まれる場合、前記第1のルールの前記信頼度が、前記第2のルールの前記信頼度より所定値以上大きい場合に、前記第1のルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する付記17に記載の活動支援方法。
【0080】
(付記19)
前記第1のルールの前記信頼度から、前記第2のルールの前記信頼度を減算した値が前記所定値未満の場合、前記第2のルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する付記18に記載の活動支援方法。
【0081】
(付記20)
1以上の項目の値と、正例又は負例を示すラベルとを含む、活動に関する履歴データについて、前記項目の値に関する条件で表現された1以上の説明変数を含む複数のルールを生成し、
前記ルールの各々について、前記ルールを充足し、かつ前記ラベルが正例を示す前記履歴データの数である正例数、及び前記ルールを充足し、かつ前記ラベルが負例を示す前記履歴データの数である負例数に基づいて、前記ルールが正例を導くルールか、又は負例を導くルールかを特定し、
値が数値の特定項目について前記条件が不等式で表現された前記説明変数を含むルールにおいて、前記正例を導くルールと前記負例を導くルールとで不等号が逆向きの場合に、前記正例を導くルールに含まれる前記特定項目についての前記説明変数に基づく改善提案を出力する
ことを含む処理をコンピュータに実行させるための活動支援プログラムを記憶した記憶媒体。
【符号の説明】
【0082】
10 活動支援装置
12 生成部
14 特定部
16 出力部
20 ルールDB
40 コンピュータ
41 CPU
42 メモリ
43 記憶部
49 記憶媒体
50 活動支援プログラム