(57)【要約】【課題】対象となるユーザに合った最適な機能を推薦することができる情報抽出装置、情報抽出プログラムおよび情報抽出方法を提供する。【解決手段】情報抽出装置は、取得部と、抽出部と、算出部と、ユーザ選定部とを有する。取得部は、システムに含まれる機能毎のユーザの操作履歴を取得する。抽出部は、ユーザの中から抽出された対象ユーザが現在使用している機能に基づき、取得した操作履歴が類似するユーザである類似ユーザを抽出する。算出部は、取得した操作履歴に基づいてユーザ毎にシステムに対する習熟度を算出する。ユーザ選定部は、算出した習熟度に基づいて類似ユーザの中から対象ユーザに対して推薦すべき推薦ユーザを選定する。【選択図】図１
2018197936.tif 000002
【特許請求の範囲】
【請求項１】
システムに含まれる機能毎のユーザの操作履歴を取得する取得部と、
前記ユーザの中から抽出された対象ユーザが現在使用している前記機能に基づき、取得した前記操作履歴が類似する前記ユーザである類似ユーザを抽出する抽出部と、
取得した前記操作履歴に基づいて前記ユーザ毎に前記システムに対する習熟度を算出する算出部と、
算出した前記習熟度に基づいて前記類似ユーザの中から前記対象ユーザに対して推薦すべき推薦ユーザを選定するユーザ選定部と
を有することを特徴とする情報抽出装置。
【請求項２】
選定した前記推薦ユーザの前記操作履歴に基づいて前記対象ユーザに対して推薦すべき推薦機能を選定する機能選定部をさらに有する
ことを特徴とする請求項１に記載の情報抽出装置。
【請求項３】
前記機能選定部は、
前記推薦ユーザの前記操作履歴の中から前記対象ユーザが現在使用している前記機能までの一連の操作が類似する類似操作を抽出し、抽出した当該類似操作の後の前記機能を前記推薦機能として選定する
ことを特徴とする請求項２に記載の情報抽出装置。
【請求項４】
前記抽出部は、
前記対象ユーザが現在使用している前記機能が前記操作履歴に含まれる前記ユーザを前記類似ユーザとして抽出する
ことを特徴とする請求項１乃至３のいずれか一項に記載の情報抽出装置。
【請求項５】
前記操作履歴は、
前記ユーザ毎の前記機能の使用種類数と、前記ユーザ毎の前記機能の使用回数と、前記機能を起点として以降に使用される前記機能の使用回数とを含み、
前記算出部は、
前記操作履歴に対して所定の重み値を付与して前記習熟度を算出する
ことを特徴とする請求項１乃至４のいずれか一項に記載の情報抽出装置。
【請求項６】
前記ユーザ選定部は、
前記対象ユーザとの前記習熟度の差分が最小となる前記類似ユーザを前記推薦ユーザとして選定する
ことを特徴とする請求項１乃至５のいずれか一項に記載の情報抽出装置。
【請求項７】
コンピュータに、
システムに含まれる機能毎のユーザの操作履歴を取得し、
前記ユーザの中から抽出された対象ユーザが現在使用している前記機能に基づき、取得した前記操作履歴が類似する前記ユーザである類似ユーザを抽出し、
取得した前記操作履歴に基づいて前記ユーザ毎に前記システムに対する習熟度を算出し、
算出した前記習熟度に基づいて前記類似ユーザの中から前記対象ユーザに対して推薦すべき推薦ユーザを選定する
処理を実行させることを特徴とする情報抽出プログラム。
【請求項８】
コンピュータが、
システムに含まれる機能毎のユーザの操作履歴を取得し、
前記ユーザの中から抽出された対象ユーザが現在使用している前記機能に基づき、取得した前記操作履歴が類似する前記ユーザである類似ユーザを抽出し、
取得した前記操作履歴に基づいて前記ユーザ毎に前記システムに対する習熟度を算出し、
算出した前記習熟度に基づいて前記類似ユーザの中から前記対象ユーザに対して推薦すべき推薦ユーザを選定する
処理を実行することを特徴とする情報抽出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報抽出装置、情報抽出プログラムおよび情報抽出方法に関する。
【背景技術】
【０００２】
従来、所定のシステムに含まれる機能の中からユーザに合わせた機能を抽出し、抽出した機能の操作をユーザに対して推薦する情報抽出装置がある。ユーザに対する推薦方法として、例えば強調フィルタリングを用いた方法がある。
【０００３】
協調フィルタリングを用いた方法は、対象となるユーザが使用した機能を、他のユーザが過去に使用していた場合、かかる他のユーザを対象となるユーザへ推薦すべきユーザとして抽出する手法である。そして、抽出されたユーザが過去に使用したことがある他の機能を対象となるユーザへ推薦する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−８７３７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、対象となるユーザに合った最適な機能が推薦されない場合がある。例えば、システムの機能を熟知したユーザが使用している機能を初心者ユーザに対して推薦したとしても初心者ユーザはかかる機能を使いこなすことができない。
【０００６】
１つの側面では、対象となるユーザに合った最適な機能を推薦することができる情報抽出装置、情報抽出プログラムおよび情報抽出方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、情報抽出装置は、取得部と、抽出部と、算出部と、ユーザ選定部とを有する。前記取得部は、システムに含まれる機能毎のユーザの操作履歴を取得する。前記抽出部は、前記ユーザの中から抽出された対象ユーザが現在使用している前記機能に基づき、取得した前記操作履歴が類似する前記ユーザである類似ユーザを抽出する。前記算出部は、取得した前記操作履歴に基づいて前記ユーザ毎に前記システムに対する習熟度を算出する。前記ユーザ選定部は、算出した前記習熟度に基づいて前記類似ユーザの中から前記対象ユーザに対して推薦すべき推薦ユーザを選定する。
【発明の効果】
【０００８】
本発明の１実施態様によれば、対象となるユーザに合った最適な機能を推薦することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態に係る情報抽出装置の構成を示す機能ブロック図である。
【図２】図２は、機能履歴テーブルの一例を示す図である。
【図３】図３は、シーケンス履歴テーブルの一例を示す図である。
【図４】図４は、使用機能数テーブルの一例を示す図である。
【図５】図５は、使用機能数テーブルを生成する処理を例示するフローチャートである。
【図６】図６は、機能使用回数テーブルの一例を示す図である。
【図７】図７は、機能使用回数テーブルを生成する処理を例示するフローチャートである。
【図８】図８は、機能シーケンス数テーブルの一例を示す図である。
【図９】図９は、機能シーケンス数テーブルを生成する処理を例示するフローチャートである。
【図１０】図１０は、類似ユーザの抽出処理を説明する説明図である。
【図１１】図１１は、類似ユーザの抽出処理を例示するフローチャートである。
【図１２】図１２は、習熟度テーブルの一例を示す図である。
【図１３】図１３は、習熟度テーブルを生成する処理を例示するフローチャートである。
【図１４】図１４は、推薦ユーザの選定処理を説明する説明図である。
【図１５】図１５は、ユーザ選定処理を例示するフローチャートである。
【図１６】図１６は、機能選定処理を説明する説明図である。
【図１７】図１７は、情報抽出プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１０】
以下に、図面を参照して、実施形態にかかる情報抽出装置、情報抽出プログラムおよび情報抽出方法を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する情報抽出装置、情報抽出プログラムおよび情報抽出方法は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【実施例】
【００１１】
図１は、実施形態に係る情報抽出装置１の構成を示す機能ブロック図である。情報抽出装置１は、例えばパーソナルコンピュータ等であり、キーボードやマウスなどの入力装置を介してシステムに対するユーザの操作を受け付ける。ここで、システムとは、例えば、商品やサービス等を提供するウェブサイトにおける検索システム等である。また、システムには、ユーザの操作によって実行される機能が含まれる。例えば、検索システムには、検索キーワードの入力や、検索結果における商品の詳細画面の閲覧等の機能が含まれる。
【００１２】
実施形態に係る情報抽出装置１は、かかるシステムに含まれる機能のユーザの操作履歴からシステムに対する習熟度を算出し、習熟度に基づいて対象ユーザに対して推薦すべき推薦ユーザを推薦する。これにより、例えば、習熟度が比較的近い推薦ユーザが過去に操作した機能を対象ユーザに推薦できる。すなわち、対象となるユーザに合った最適な機能を推薦することができる。
【００１３】
図１に示すように、情報抽出装置１は、入力部１０、取得部２０、ランキング生成部３０、抽出部４０、算出部５０、ユーザ選定部６０、機能選定部７０および出力部８０を有する。上述した各機能部は、情報抽出装置１のＣＰＵ（Central  Processing  Unit）がプログラムを実行することで実現される。
【００１４】
入力部１０は、予めデータを記憶する記憶装置や、キーボードやマウスなどの入力装置から対象ユーザ設定１１０、対象ユーザ使用機能１１１、ユーザ操作履歴１１２、機能抽出期間１１３に関する情報の入力を受け付ける。
【００１５】
対象ユーザ設定１１０は、システムにおける新たな機能を推薦する際の対象となる対象ユーザを設定する情報である。例えば、情報抽出装置１は、過去にシステムを利用したことがあり、かつ、システムを現在使用しているユーザを対象ユーザ設定１１０として取得することができる。また、対象ユーザ設定１１０は、例えば、システムを管理する管理者が対象ユーザを指定することで取得してもよい。
【００１６】
対象ユーザ使用機能１１１は、システムに含まれる機能のうち、対象ユーザが現在使用している機能である。例えば、検索システムにおいて、検索キーワードを入力して商品やサービスを検索する機能に対してユーザが入力操作が行った場合、かかる機能を対象ユーザ使用機能１１１として取得する。
【００１７】
ユーザ操作履歴１１２は、過去にシステムを使用したことがある全ユーザの機能に対する操作履歴を示す情報である。ユーザ操作履歴１１２は、例えば、外部の記憶装置等で管理され、情報抽出装置１からの取得指示があった場合に、情報抽出装置１に入力される。なお、ユーザ操作履歴１１２は、過去にシステムを使用したことがある全ユーザに限らず、例えば、システムの管理者等によって指定された一部のユーザの操作履歴であってもよい。
【００１８】
機能抽出期間１１３は、ユーザ操作履歴１１２に含まれる全期間の操作履歴のうち、情報抽出装置１が取得する期間を指定する情報である。例えば、機能抽出期間１１３は、システムの管理者によって設定されたり、対象ユーザによって設定されたりする。
【００１９】
取得部２０は、システムに含まれる機能毎のユーザの操作履歴を取得する。具体的には、図１に示すように、取得部２０は、入力部１０に入力されたユーザ操作履歴１１２および機能抽出期間１１３を取得し、機能履歴テーブル１２０およびシーケンス履歴テーブル１２１を生成する。ここで、図２および図３を用いて、機能履歴テーブル１２０およびシーケンス履歴テーブル１２１について説明する。
【００２０】
まず、図２を用いて、機能履歴テーブル１２０について説明する。図２は、機能履歴テーブル１２０の一例を示す図である。機能履歴テーブル１２０は、機能に対するユーザの操作履歴を時系列で並べた情報である。図２に示すように、機能履歴テーブル１２０は、「時刻」、「ユーザ」、「機能」といった項目を含む。「時刻」は、機能が操作された時刻を示す。「ユーザ」は、ユーザを識別する識別情報である。「機能」は、ユーザに操作された機能を示す情報である。
【００２１】
図２に示すように、例えば、時刻「０：０１」において、ユーザ「Ａ」は、機能「Ｆ０」を使用したことを示す。また、時刻「０：０２」において、ユーザ「Ａ」は、機能「Ｆ１」を使用したことを示す。つまり、ユーザ「Ａ」は、機能「Ｆ０」を使用した後、次に、機能「Ｆ１」を使用したことを示す。
【００２２】
次に、図３を用いて、シーケンス履歴テーブル１２１について説明する。図３は、シーケンス履歴テーブル１２１の一例を示す図である。シーケンス履歴テーブル１２１とは、過去にユーザが操作した機能の順序を示す情報であり、言い換えれば、ユーザが使用する機能の遷移を示す情報である。図３に示すように、シーケンス履歴テーブル１２１は、「時刻」、「ユーザ」、「機能シーケンス」といった項目を含む。「時刻」は、機能シーケンスが発生した時刻を示す。「ユーザ」は、ユーザを識別する識別情報である。「機能シーケンス」は、ユーザが操作した機能の順序を示す。図３の例では、「機能シーケンス」は、遷移前および遷移後の機能を矢印で結ぶことで示す。
【００２３】
図３に示すように、例えば、時刻「０：０２」において、ユーザ「Ａ」が機能シーケンス「Ｆ０→Ｆ１」であることを示す。つまり、ユーザ「Ａ」は、機能「Ｆ０」を使用した後、次に、機能「Ｆ１」を使用したことを示す。
【００２４】
図１に戻って、ランキング生成部３０について説明する。ランキング生成部３０は、機能履歴テーブル１２０およびシーケンス履歴テーブル１２１に基づいてランキングテーブル１２２を生成する。ランキングテーブル１２２には、使用機能数テーブル１２３、機能使用回数テーブル１２４および機能シーケンス数テーブル１２５が含まれる。ここで、図４〜図９を用いて、ランキングテーブル１２２について、詳細に説明する。
【００２５】
まず、図４および図５を用いて、使用機能数テーブル１２３について説明する。図４は、使用機能数テーブル１２３の一例を示す図である。使用機能数テーブル１２３は、ユーザが過去に使用したことがある機能の種類数である使用機能数でユーザを順位付けした情報である。
【００２６】
図４に示すように、使用機能数テーブル１２３は、「順番」、「ユーザ」、「使用機能数」といった項目を有する。「順番」は、「使用機能数」の多い順に並べた場合の順位である。「ユーザ」は、ユーザを識別する識別情報である。「使用機能数」は、過去に使用したことがある機能の種類数である。つまり、ユーザ毎の機能の使用種類数である。例えば、あるユーザが１つの機能を複数回数使用した場合、「使用機能数」に「１」をカウントする。図４に示すように、例えば順位が「１位」は、ユーザ「Ｃ」であり、３０種類の機能の使用経験があることを示す。
【００２７】
次に、図５を用いて、ランキング生成部３０による使用機能数テーブル１２３の生成処理について説明する。図５は、使用機能数テーブル１２３を生成する処理を例示するフローチャートである。
【００２８】
図５に示すように、ランキング生成部３０は、まず、機能履歴テーブル１２０を取得する（ステップＳ１１）。つづいて、ランキング生成部３０は、機能履歴テーブル１２０から任意にユーザを１名抽出する（ステップＳ１２）。
【００２９】
つづいて、ランキング生成部３０は、機能履歴テーブル１２０の中からユーザの使用した機能を抽出する（ステップＳ１３）。つづいて、ランキング生成部３０は、抽出したユーザの機能数を合算する（ステップＳ１４）。
【００３０】
つづいて、ランキング生成部３０は、合算した値とユーザとを対応付けて使用機能数テーブル１２３へ記録する（ステップＳ１５）。つづいて、ランキング生成部１６は、未抽出のユーザの有無を判定する（ステップＳ１６）。
【００３１】
ランキング生成部３０は、未抽出のユーザがいない場合（ステップＳ１６；Ｙｅｓ）、使用機能数テーブル１２３を機能数（図４に示す「使用機能数」）で降順ソートし（ステップＳ１７）、処理を終了する。
【００３２】
一方、ステップＳ１６において、ランキング生成部３０は、未抽出のユーザがいる場合（ステップＳ１６；Ｎｏ）、処理をステップＳ１２に移行する。
【００３３】
次に、図６および図７を用いて、機能使用回数テーブル１２４について説明する。図６は、機能使用回数テーブル１２４の一例を示す図である。機能使用回数テーブル１２４は、ユーザ毎に過去に使用したことがある機能を使用回数に従って並べた情報である。図６に示すように、機能使用回数テーブル１２４は、「ユーザ」、「機能」、「使用回数」といった項目を含む。
【００３４】
「ユーザ」は、ユーザを識別する識別情報である。「機能」は、各機能を識別する識別情報である。「使用回数」は、機能を使用した回数を示す。図６に示すように、例えば、ユーザ「Ａ」は、機能「Ｆ２」を「８回」で最も使用していることを示す。
【００３５】
次に、図７を用いて、ランキング生成部３０による機能使用回数テーブル１２４の生成処理について説明する。図７は、機能使用回数テーブル１２４を生成する処理を例示するフローチャートである。
【００３６】
図７に示すように、ランキング生成部３０は、まず、使用機能数テーブル１２３を取得する（ステップＳ２１）。つづいて、ランキング生成部３０は、使用機能数テーブル１２３の中から任意のユーザを１名抽出する（ステップＳ２２）。
【００３７】
つづいて、ランキング生成部３０は、使用機能数テーブル１２３の中からユーザの使用経験のある機能を抽出する（ステップＳ２３）。つづいて、ランキング生成部３０は、使用機能数テーブル１２３に基づいてユーザの各機能の使用回数を集計する（ステップＳ２４）。
【００３８】
つづいて、ランキング生成部３０は、集計結果である使用回数を機能使用回数テーブル１２４へ記録する（ステップＳ２５）。つづいて、ランキング生成部３０は、未抽出のユーザの有無を判定する(ステップＳ２６)。
【００３９】
ランキング生成部３０は、未抽出のユーザがいなかった場合（ステップＳ２６；Ｙｅｓ）、機能使用回数テーブル１２４をユーザ毎に使用回数で降順ソートし（ステップＳ２７）、処理を終了する。
【００４０】
一方、ステップＳ２６において、ランキング生成部３０は、未抽出のユーザがいる場合（ステップＳ２６；Ｎｏ）、処理をステップＳ２２に移行する。
【００４１】
次に、図８および図９を用いて、機能シーケンス数テーブル１２５について説明する。図８は、機能シーケンス数テーブル１２５の一例を示す図である。機能シーケンス数テーブル１２５は、使用機能数で順位付けされたユーザ毎に過去に使用したことがある機能シーケンスを使用回数に従って並べた情報である。図８に示すように、機能シーケンス数テーブル１２５は、「順番」、「ユーザ」、「使用機能数」、「最終利用時間」、「機能シーケンス」、「使用回数」といった項目を有する。
【００４２】
「順番」は、「使用機能数」が多い順に並べた場合の順位を示す。「ユーザ」は、ユーザを識別する識別情報である。「使用機能数」は、使用経験のある機能の種類数を示す。「最終利用時間」は、機能シーケンスを最後に使用した時間を示す。「使用回数」は、機能シーケンスを使用した回数を示す。
【００４３】
図８に示すように、例えば、順番が「１位」であるユーザ「Ａ」は、機能シーケンス「Ｆ０→Ｆ１」を「１０回」使用したこと示す。また、ユーザ「Ａ」は、機能シーケンス「Ｆ０→Ｆ１」を最後に使用した時間が「１：００」であることを示す。
【００４４】
次に、図９を用いて、ランキング生成部３０による機能シーケンス数テーブル１２５の生成処理について説明する。図９は、機能シーケンス数テーブル１２５を生成する処理を例示するフローチャートである。
【００４５】
図９に示すように、ランキング生成部３０は、まず、シーケンス履歴テーブル１２１を取得する（ステップＳ３１）。つづいて、ランキング生成部３０は、シーケンス履歴テーブル１２１の中から任意のユーザ１名を抽出する（ステップＳ３２）。つづいて、ランキング生成部３０は、ユーザの機能シーケンスを抽出する（ステップＳ３３）。
【００４６】
つづいて、ランキング生成部３０は、シーケンス履歴テーブル１２１からユーザの機能シーケンスの使用回数を集計する（ステップＳ３４）。つづいて、ランキング生成部３０は、集計結果を機能シーケンス数テーブル１２５へ記録する（ステップＳ３５）。
【００４７】
つづいて、ランキング生成部３０は、未抽出の機能シーケンスの有無を判定する（ステップＳ３６）。ランキング生成部３０は、未抽出の機能シーケンスが無い場合（ステップＳ３６；Ｙｅｓ）、未抽出のユーザの有無を判定する（ステップＳ３７）。
【００４８】
ランキング生成部３０は、未抽出のユーザがいない場合（ステップＳ３７；Ｙｅｓ）、機能シーケンス数テーブル１２５を「使用機能数」でユーザを降順ソートする（ステップＳ３８）。つづいて、ランキング生成部３０は、機能シーケンス数テーブル１２５をユーザ毎に「使用回数」で降順ソートし（ステップＳ３９）、処理を終了する。
【００４９】
一方、ステップＳ３６において、ランキング生成部３０は、未抽出の機能シーケンスがあった場合（ステップＳ３６；Ｎｏ）、処理をステップＳ３３に移行する。また、ステップＳ３７において、ランキング生成部３０は、未抽出のユーザがいた場合（ステップＳ３７；Ｎｏ）、処理をステップＳ３２に移行する。
【００５０】
図１に戻って、抽出部４０について説明する。抽出部４０は、ユーザの中から抽出された対象ユーザが現在使用している機能に基づき、取得した操作履歴が類似するユーザである類似ユーザを抽出する。具体的には、まず、抽出部４０は、対象ユーザ使用機能１１１を現在使用している機能として取得する。
【００５１】
つづいて、抽出部４０は、対象ユーザが現在使用している機能が操作履歴に含まれるユーザを類似ユーザとして抽出する。つまり、抽出部４０は、対象ユーザが現在使用している機能を過去に使用したことがあるユーザを類似ユーザとして抽出する。かかる点について、図１０を用いて、具体的に説明する。
【００５２】
図１０は、類似ユーザの抽出処理を説明する説明図である。図１０には、機能シーケンス数テーブル１２５を示している。また、図１０では、ユーザ「Ａ」を対象ユーザとした場合における類似ユーザの抽出方法を示す。また、ユーザ「Ａ」は、現在使用している機能が「Ｆ０」であることとする。
【００５３】
抽出部４０は、対象ユーザが現在使用している機能を起点とする「機能シーケンス」を有するユーザを類似ユーザとして抽出する。具体的には、図１０に示すように、抽出部４０は、ユーザ「Ａ」が現在使用している機能「Ｆ０」を起点とする機能シーケンスを有するユーザ「Ｃ」、ユーザ「Ｄ」、ユーザ「Ｅ」を類似ユーザとして抽出する。つまり、抽出部４０は、「機能シーケンス」における矢印の根の側に機能「Ｆ０」があるユーザを類似ユーザとして抽出する。これにより、対象ユーザの操作履歴と類似する類似ユーザを抽出することができる。
【００５４】
そして、抽出部４０は、抽出した類似ユーザを類似ユーザテーブル１２６へ記録する。類似ユーザテーブル１２６は、図１０に示すように、「対象ユーザ」と「類似ユーザ」とが対応付けられた情報である。なお、図１０では、機能シーケンスの起点が「Ｆ０」、終点が「Ｆ１」となる機能シーケンスを有する類似ユーザを抽出したが、起点が「Ｆ０」であれば、終点は「Ｆ１」以外の機能であってもよい。
【００５５】
次に、図１１を用いて、抽出部４０による抽出処理についてさらに説明する。図１１は、類似ユーザの抽出処理を例示するフローチャートである。図１１に示すように、抽出部４０は、まず、対象ユーザを選定する（ステップＳ４１）。例えば、抽出部４０は、対象ユーザ設定１１０に基づいて対象ユーザを選定する。
【００５６】
つづいて、抽出部４０は、対象ユーザの現在使用している機能を検出する（ステップＳ４２）。つづいて、抽出部４０は、検出した機能を起点とする機能シーケンスを有するユーザを抽出する（ステップＳ４３）。
【００５７】
つづいて、抽出部４０は、抽出したユーザを類似ユーザとして類似ユーザテーブル１２６へ記録し（ステップＳ４４）、処理を終了する。
【００５８】
図１に戻って、算出部５０について説明する。算出部５０は、取得した操作履歴に基づいてユーザ毎にシステムに対する習熟度を算出する。操作履歴には、ユーザ毎の機能の使用種類数（例えば、図４に示す「使用機能数」）、ユーザ毎の機能の使用回数（例えば、図６に示す「機能」の「使用回数」）、および所定の機能を起点とし以降に使用される機能の使用回数、つまり機能シーケンス（例えば、図８に示す「機能シーケンス」の「使用回数」）が含まれる。
【００５９】
例えば、算出部５０は、操作履歴に対して所定の重み値を付与して習熟度を算出する。具体的には、算出部５０は、「使用機能数」と、「機能」の「使用回数」と、「機能シーケンス」の「使用回数」とのそれぞれに対して所定の重み値を付与し、重み値が付与された各値を合計して習熟度を算出する。つまり、重み値をＷとすると、習熟度は、習熟度＝Ｗ１×「使用機能数」＋Ｗ２×「機能」の「使用回数」＋Ｗ３×「機能シーケンス」の「使用回数」で表される。なお、上記した式は、一例であり、重み値がすべて同じであってもよく、あるいは、重み値を付与せずに習熟度を算出してもよい。これにより、システムに対する習熟度を正確に算出することができる。
【００６０】
例えば、算出部５０は、全期間のユーザ操作履歴１１２を用いて習熟度を算出してもよく、例えば、機能抽出期間１１３によって指定された期間に基づいて習熟度を算出してもよい。
【００６１】
次に、図１２および図１３を用いて、習熟度テーブル１２７について説明する。図１２は、習熟度テーブル１２７の一例を示す図である。図１２に示すように、習熟度テーブル１２７は、「ユーザ」、「習熟度」といった項目を有する。「ユーザ」は、ユーザを識別する識別情報である。「習熟度」は、算出部５０によって算出された習熟度を示す。図１２に示すように、算出部５０は、ユーザ毎に習熟度を算出する。例えば、ユーザ「Ａ」は、習熟度が「１０」であることを示す。
【００６２】
次に、図１３を用いて、算出部５０による習熟度テーブル１２７の生成処理について説明する。図１３は、習熟度テーブル１２７を生成する処理を例示するフローチャートである。図１３に示すように、算出部５０は、まず、ランキングテーブル１２２を取得する（ステップＳ５１）。
【００６３】
つづいて、算出部５０は、ランキングテーブル１２２の中から任意のユーザ１名を抽出する（ステップＳ５２）。つづいて、算出部５０は、抽出したユーザの習熟度を算出する（ステップＳ５３）。
【００６４】
つづいて、算出部５０は、算出した習熟度を習熟度テーブル１２７へ記録する（ステップＳ５４）。つづいて、算出部５０は、未抽出のユーザの有無を判定する（ステップＳ５５）。算出部５０は、未抽出のユーザがいない場合（ステップＳ５５；Ｙｅｓ）、処理を終了する。
【００６５】
一方、ステップＳ５５において、算出部５０は、未抽出のユーザがいた場合（ステップＳ５５；Ｎｏ）、処理をステップＳ５２に移行する。
【００６６】
図１に戻ってユーザ選定部６０について説明する。ユーザ選定部６０は、算出した習熟度に基づいて類似ユーザの中から対象ユーザに対して推薦すべき推薦ユーザを選定する。
【００６７】
例えば、ユーザ選定部６０は、対象ユーザとの習熟度の差分が最小となる類似ユーザを推薦ユーザとして選定する。かかる点について、図１４を用いて具体的に説明する。
【００６８】
図１４は、推薦ユーザの選定処理を説明する説明図である。図１４には、類似ユーザテーブル１２６と、習熟度テーブル１２７とを示している。ユーザ選定部６０は、対象ユーザと類似ユーザとの習熟度の差分を算出する。具体的には、ユーザ選定部６０は、ユーザ「Ｃ」の習熟度「３」からユーザ「Ａ」の習熟度「１０」を減算し、差分「−７」を算出する。また、ユーザ選定部６０は、ユーザ「Ｄ」の習熟度「２５」からユーザ「Ａ」の習熟度「１０」を減算し、差分「１５」を算出する。また、ユーザ選定部６０は、ユーザ「Ｅ」の習熟度「１１」からユーザ「Ａ」の習熟度「１０」を減算し、差分「１」を算出する。
【００６９】
そして、ユーザ選定部６０は、対象ユーザよりも習熟度が高く、かつ、習熟度の差分が最小となるユーザを推薦ユーザとして選定する。具体的には、ユーザ選定部６０は、習熟度の差分が正の値、かつ、各差分のうち最小値となる類似ユーザを推薦ユーザとして選定する。つまり、図１４に示す差分が「１」である、類似ユーザ「Ｅ」を推薦ユーザとして選定する。これにより、対象ユーザよりも習熟度が若干高い推薦ユーザを選定できるため、対象ユーザに合わせた機能を推薦することができる。
【００７０】
次に、図１５を用いて、ユーザ選定部６０によるユーザ選定処理についてさらに説明する。図１５は、ユーザ選定処理を例示するフローチャートである。図１５に示すように、ユーザ選定部６０は、まず、対象ユーザを選定する（ステップＳ６１）。
【００７１】
つづいて、ユーザ選定部６０は、対象ユーザにおける類似ユーザを抽出する（ステップＳ６２）。例えば、ユーザ選定部６０は、抽出部４０の抽出結果に基づいて類似ユーザを抽出する。
【００７２】
つづいて、ユーザ選定部６０は、対象ユーザと類似ユーザとの習熟度の差分を算出する（ステップＳ６３）。つづいて、ユーザ選定部６０は、対象ユーザよりも習熟度が高く、差分が最小の類似ユーザを抽出する（ステップＳ６４）。つづいて、ユーザ選定部６０は、抽出した類似ユーザを推薦ユーザとして選定し（ステップＳ６５）、処理を終了する。
【００７３】
図１に戻って、機能選定部７０について説明する。機能選定部７０は、ユーザ選定部６０によって選定された推薦ユーザの操作履歴に基づいて対象ユーザに対して推薦すべき推薦機能を選定する。
【００７４】
機能選定部７０は、推薦ユーザの操作履歴の中から対象ユーザが現在使用している機能までの一連の操作が類似する類似操作を抽出し、抽出した類似操作の後の機能を推薦機能として選定する。
【００７５】
図１６は、機能選定処理を説明する説明図である。図１６には、対象ユーザのユーザ操作履歴１１２ａおよび推薦ユーザのユーザ操作履歴１１２ｂを示している。また、対象ユーザは、ユーザ操作履歴１１２ａのうち、時刻「３」の機能「部品詳細閲覧」を現在使用していることとする。
【００７６】
まず、機能選定部７０は、対象ユーザが現在使用している機能までの一連の操作、つまり「部品入力」から「部品詳細閲覧」までの操作と類似する類似操作が推薦ユーザのユーザ操作履歴１１２ｂに存在するか否かを判定する。図１６において推薦ユーザのユーザ操作履歴１１２ｂの「部品入力」から「部品詳細閲覧」までの操作が一致するため、機能選定部７０は、類似操作が存在すると判定する。これにより、対象ユーザが扱える可能性が高い機能を推薦することができる。推薦機能をなお、類似操作は、必ずしも全機能が一致する必要がなく、ある程度一致すれば類似操作として判定してもよい。
【００７７】
そして、機能選定部７０は、類似操作の後の機能、つまり、ユーザ操作履歴１１２ｂの「特性項目選定」や「再検索」を推薦機能として選定する。機能選定部７０は、選定した推薦機能を推薦機能テーブル１３０へ記録する。
【００７８】
図１に戻って、出力部８０について説明する。出力部８０は、推薦機能テーブル１３０に記録された推薦機能を表示する表示データを生成し、表示装置等に出力することで推薦機能を対象ユーザに対して提示する。
【００７９】
上述したように、実施形態に係る情報抽出装置１は、取得部２０と、抽出部４０と、算出部５０と、ユーザ選定部６０とを有する。取得部２０は、システムに含まれる機能毎のユーザの操作履歴を取得する。抽出部４０は、ユーザの中から抽出された対象ユーザが現在使用している機能に基づき、取得した操作履歴が類似するユーザである類似ユーザを抽出する。算出部５０は、取得した操作履歴に基づいてユーザ毎にシステムに対する習熟度を算出する。ユーザ選定部６０は、算出した習熟度に基づいて類似ユーザの中から対象ユーザに対して推薦すべき推薦ユーザを選定する。これにより、例えば、習熟度が比較的近い推薦ユーザが過去に操作した機能を対象ユーザに推薦できるため、対象ユーザに合った最適な機能を推薦することができる。
【００８０】
ところで、上記実施形態で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、上記実施形態と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。
【００８１】
図１７は、情報抽出プログラム３５１を実行するコンピュータ３００を示す図である。図１７に示すように、コンピュータ３００は、ユーザからデータや各種設定などを受け付ける入力装置３１０と、各種情報を出力する出力装置３２０とを有する。また、コンピュータ３００は、他の装置とデータを送受信するネットワークインターフェース３３０と、媒体読取装置３４０と、ＨＤＤ３５０と、ＲＡＭ３６０と、ＣＰＵ３７０と、バス３８０とを有する。そして、各装置３１０〜３７０それぞれは、バス３８０に接続される。
【００８２】
ここで、図１７に示すように、ＨＤＤ３５０には、図１に例示した各部と同様の機能を発揮する情報抽出プログラム３５１が予め記憶されている。そして、ＣＰＵ３７０は、情報抽出プログラム３５１をＲＡＭ３６０に展開して、情報抽出プロセス３７１として実行する。すなわち、情報抽出プロセス３７１は、入力部１０、取得部２０、ランキング生成部３０、抽出部４０、算出部５０、ユーザ選定部６０、機能選定部７０および出力部８０と同様の動作を実行する。
【００８３】
ところで、上述した情報抽出プログラム３５１は、必ずしもＨＤＤ３５０に記憶させておかなくてもよい。例えば、コンピュータ３００の媒体読取装置３４０に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に記憶させておくようにしてもよい。また、コンピュータ３００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、ＬＡＮ、ＷＡＮ（Wide  Area  Network）などを介してコンピュータ３００に接続される「他のコンピュータシステム」に記憶させておいてもよい。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００８４】
すなわち、この情報抽出プログラム３５１は、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記憶されるものである。そして、コンピュータ３００は、このような記録媒体から情報抽出プログラム３５１を読み出して実行することで上述した実施形態と同様の機能を実現する。なお、この他の実施形態でいうプログラムは、コンピュータ３００によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、同様に機能を実現できる。
【００８５】
以上の実施形態に関し、さらに以下の付記を開示する。
【００８６】
（付記１）システムに含まれる機能毎のユーザの操作履歴を取得する取得部と、
前記ユーザの中から抽出された対象ユーザが現在使用している前記機能に基づき、取得した前記操作履歴が類似する前記ユーザである類似ユーザを抽出する抽出部と、
取得した前記操作履歴に基づいて前記ユーザ毎に前記システムに対する習熟度を算出する算出部と、
算出した前記習熟度に基づいて前記類似ユーザの中から前記対象ユーザに対して推薦すべき推薦ユーザを選定するユーザ選定部と
を有することを特徴とする情報抽出装置。
【００８７】
（付記２）選定した前記推薦ユーザの前記操作履歴に基づいて前記対象ユーザに対して推薦すべき推薦機能を選定する機能選定部をさらに有する
ことを特徴とする付記１に記載の情報抽出装置。
【００８８】
（付記３）前記機能選定部は、
前記推薦ユーザの前記操作履歴の中から前記対象ユーザが現在使用している前記機能までの一連の操作が類似する類似操作を抽出し、抽出した当該類似操作の後の前記機能を前記推薦機能として選定する
ことを特徴とする付記２に記載の情報抽出装置。
【００８９】
（付記４）前記抽出部は、
前記対象ユーザが現在使用している前記機能が前記操作履歴に含まれる前記ユーザを前記類似ユーザとして抽出する
ことを特徴とする付記１乃至３のいずれか一に記載の情報抽出装置。
【００９０】
（付記５）前記操作履歴は、
前記ユーザ毎の前記機能の使用種類数と、前記ユーザ毎の前記機能の使用回数と、前記機能を起点として以降に使用される前記機能の使用回数とを含み、
前記算出部は、
前記操作履歴に対して所定の重み値を付与して前記習熟度を算出する
ことを特徴とする付記１乃至４のいずれか一に記載の情報抽出装置。
【００９１】
（付記６）前記ユーザ選定部は、
前記対象ユーザとの前記習熟度の差分が最小となる前記類似ユーザを前記推薦ユーザとして選定する
ことを特徴とする付記１乃至５のいずれか一に記載の情報抽出装置。
【００９２】
（付記７）コンピュータに、
システムに含まれる機能毎のユーザの操作履歴を取得し、
前記ユーザの中から抽出された対象ユーザが現在使用している前記機能に基づき、取得した前記操作履歴が類似する前記ユーザである類似ユーザを抽出し、
取得した前記操作履歴に基づいて前記ユーザ毎に前記システムに対する習熟度を算出し、
算出した前記習熟度に基づいて前記類似ユーザの中から前記対象ユーザに対して推薦すべき推薦ユーザを選定する
処理を実行させることを特徴とする情報抽出プログラム。
【００９３】
（付記８）選定した前記推薦ユーザの前記操作履歴に基づいて前記対象ユーザに対して推薦すべき推薦機能を選定する処理をさらにコンピュータに実行させる
ことを特徴とする付記７に記載の情報抽出プログラム。
【００９４】
（付記９）前記推薦機能を選定する処理は、
前記推薦ユーザの前記操作履歴の中から前記対象ユーザが現在使用している前記機能までの一連の操作が類似する類似操作を抽出し、抽出した当該類似操作の後の前記機能を前記推薦機能として選定する
ことを特徴とする付記８に記載の情報抽出プログラム。
【００９５】
（付記１０）前記抽出する処理は、
前記対象ユーザが現在使用している前記機能が前記操作履歴に含まれる前記ユーザを前記類似ユーザとして抽出する
ことを特徴とする付記７乃至９のいずれか一に記載の情報抽出プログラム。
【００９６】
（付記１１）前記操作履歴は、
前記ユーザ毎の前記機能の使用種類数と、前記ユーザ毎の前記機能の使用回数と、前記機能を起点として以降に使用される前記機能の使用回数とを含み、
前記算出する処理は、
前記操作履歴に対して所定の重み値を付与して前記習熟度を算出する
ことを特徴とする付記７乃至１０のいずれか一に記載の情報抽出プログラム。
【００９７】
（付記１２）前記ユーザを選定する処理は、
前記対象ユーザとの前記習熟度の差分が最小となる前記類似ユーザを前記推薦ユーザとして選定する
ことを特徴とする付記７乃至１１のいずれか一に記載の情報抽出プログラム。
【００９８】
（付記１３）コンピュータが、
システムに含まれる機能毎のユーザの操作履歴を取得し、
前記ユーザの中から抽出された対象ユーザが現在使用している前記機能に基づき、取得した前記操作履歴が類似する前記ユーザである類似ユーザを抽出し、
取得した前記操作履歴に基づいて前記ユーザ毎に前記システムに対する習熟度を算出し、
算出した前記習熟度に基づいて前記類似ユーザの中から前記対象ユーザに対して推薦すべき推薦ユーザを選定する
処理を実行することを特徴とする情報抽出方法。
【００９９】
（付記１４）選定した前記推薦ユーザの前記操作履歴に基づいて前記対象ユーザに対して推薦すべき推薦機能を選定する処理をさらにコンピュータが実行する
ことを特徴とする付記１３に記載の情報抽出方法。
【０１００】
（付記１５）前記推薦機能を選定する処理は、
前記推薦ユーザの前記操作履歴の中から前記対象ユーザが現在使用している前記機能までの一連の操作が類似する類似操作を抽出し、抽出した当該類似操作の後の前記機能を前記推薦機能として選定する
ことを特徴とする付記１４に記載の情報抽出方法。
【０１０１】
（付記１６）前記抽出する処理は、
前記対象ユーザが現在使用している前記機能が前記操作履歴に含まれる前記ユーザを前記類似ユーザとして抽出する
ことを特徴とする付記１３乃至１５のいずれか一に記載の情報抽出方法。
【０１０２】
（付記１７）前記操作履歴は、
前記ユーザ毎の前記機能の使用種類数と、前記ユーザ毎の前記機能の使用回数と、前記機能を起点として以降に使用される前記機能の使用回数とを含み、
前記算出する処理は、
前記操作履歴に対して所定の重み値を付与して前記習熟度を算出する
ことを特徴とする付記１３乃至１６のいずれか一に記載の情報抽出方法。
【０１０３】
（付記１８）前記ユーザを選定する処理は、
前記対象ユーザとの前記習熟度の差分が最小となる前記類似ユーザを前記推薦ユーザとして選定する
ことを特徴とする付記１３乃至１７のいずれか一に記載の情報抽出方法。
【符号の説明】
【０１０４】
１    情報抽出装置
１０  入力部
２０  取得部
３０  ランキング生成部
４０  抽出部
５０  算出部
６０  ユーザ選定部
７０  機能選定部
８０  出力部
１２０  機能履歴テーブル
１２１  シーケンス履歴テーブル
１２２  ランキングテーブル
１２３  使用機能数テーブル
１２４  機能使用回数テーブル
１２５  機能シーケンス数テーブル
１２６  類似ユーザテーブル
１２７  習熟度テーブル
１３０  推薦機能テーブル
【図１】
2018197936.tif 000003
【図２】
2018197936.tif 000004
【図３】
2018197936.tif 000005
【図４】
2018197936.tif 000006
【図５】
2018197936.tif 000007
【図６】
2018197936.tif 000008
【図７】
2018197936.tif 000009
【図８】
2018197936.tif 000010
【図９】
2018197936.tif 000011
【図１０】
2018197936.tif 000012
【図１１】
2018197936.tif 000013
【図１２】
2018197936.tif 000014
【図１３】
2018197936.tif 000015
【図１４】
2018197936.tif 000016
【図１５】
2018197936.tif 000017
【図１６】
2018197936.tif 000018
【図１７】
2018197936.tif 000019