(57)【要約】【課題】モデルの学習を進めやすくする技術の提供。【解決手段】利用者が投稿した投稿文を取得する投稿文取得部と、前記投稿文に含まれる行動の有無に関連した文言と、前記行動が行われたか否かを示す行動結果と、の関係を示すモデルを機械学習する機械学習部とを備え、前記機械学習部は、前記行動の有無に関連した前記文言が含まれる前記投稿文が取得され、前記行動が行われたか否かが特定されていない場合に、前記文言に前記行動が行われたことを対応づけて前記機械学習を行う、機械学習システムが構成される。【選択図】図１
2020071565.tif 000002
【特許請求の範囲】
【請求項１】
利用者が投稿した投稿文を取得する投稿文取得部と、
前記投稿文に含まれる行動の有無に関連した文言と、前記行動が行われたか否かを示す行動結果と、の関係を示すモデルを機械学習する機械学習部とを備え、
前記機械学習部は、
前記行動の有無に関連した前記文言が含まれる前記投稿文が取得され、前記行動が行われたか否かが特定されていない場合に、前記文言に前記行動が行われたことを対応づけて前記機械学習を行う、
機械学習システム。
【請求項２】
前記機械学習部は、
前記行動が行われなかったと特定された場合に、前記文言に前記行動が行われなかったことを対応づけて再度前記機械学習を行う、
請求項１に記載の機械学習システム。
【請求項３】
利用者による投稿文の投稿を受け付ける投稿受付部と、
前記投稿文に含まれる行動の有無に関連した文言と、前記行動が行われたか否かを示す行動結果と、の関係が機械学習されたモデルであって、前記行動の有無に関連した前記文言が含まれる前記投稿文が取得され、前記行動が行われたか否かが特定されていない場合に、前記文言に前記行動が行われたことを対応づけて機械学習されたモデルに基づいて、前記投稿文に含まれる前記行動の有無に関連した前記文言に対応する前記行動を行うか否か推定する、行動推定部と、
を備える行動推定システム。
【請求項４】
コンピュータを、
利用者が投稿した投稿文を取得する投稿文取得部、
前記投稿文に含まれる行動の有無に関連した文言と、前記行動が行われたか否かを示す行動結果と、の関係を示すモデルを機械学習する機械学習部として機能させる機械学習プログラムであって、
前記機械学習部は、コンピュータに、
前記行動の有無に関連した前記文言が含まれる前記投稿文が取得され、前記行動が行われたか否かが特定されていない場合に、前記文言に前記行動が行われたことを対応づけて前記機械学習を行う機能を行わせる、
機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習システム、行動推定システムおよび機械学習プログラムに関する。
【背景技術】
【０００２】
従来、文章から様々な結果を予測する技術が知られている。例えば、特許文献１においては、文に記述されたユーザの日常的な行動イベントに起因して、当該ユーザに将来的に生ずるであろう結果イベントを予測する技術が開示されている。また、特許文献１においては、予測モデルの作成にサポートベクターマシン等が利用され得ることが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１５０７５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の技術においては、文章と行動との組み合わせが特定された状態で学習が行われる。従って、文章に対応する行動が行われたか否か確定されなければ学習を行うことができない。文章に対応する行動は、文章が作成された後すぐに確定されるとは限らない。例えば、ある場所に行きたいという意志を示す文章が作成された場合に、実際に行動されるまでに、多くの時間が要する場合もある。従来の技術においては、このような場合に学習を行うことができず、モデルの学習を進めるのが非常に困難であった。
本発明は、前記課題にかんがみてなされたもので、モデルの学習を進めやすくする技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するため、機械学習システムは、利用者が投稿した投稿文を取得する投稿文取得部と、投稿文に含まれる行動の有無に関連した文言と、行動が行われたか否かを示す行動結果と、の関係を示すモデルを機械学習する機械学習部とを備え、機械学習部は、行動の有無に関連した文言が含まれる投稿文が取得され、行動が行われたか否かが特定されていない場合に、文言に行動が行われたことを対応づけて機械学習を行う。
【０００６】
また、上記の目的を達成するため、機械学習プログラムは、コンピュータを、利用者が投稿した投稿文を取得する投稿文取得部、投稿文に含まれる行動の有無に関連した文言と、行動が行われたか否かを示す行動結果と、の関係を示すモデルを機械学習する機械学習部として機能させ、機械学習部は、コンピュータに、行動の有無に関連した文言が含まれる投稿文が取得され、行動が行われたか否かが特定されていない場合に、文言に行動が行われたことを対応づけて機械学習を行う機能を行わせる。
【０００７】
すなわち、行動の有無に関連した文言を入力、行動結果を出力とするモデルを機械学習する構成において、行動結果が確定していない場合であっても、行動が行われたと見なされて機械学習が行われる。このため、モデルの機械学習が進めやすくなる。
【図面の簡単な説明】
【０００８】
【図１】機械学習システムを示すブロック図である。
【図２】機械学習で利用されるモデルの例を示す図である。
【図３】機械学習処理を示すフローチャートである。
【図４】目的地提案処理のフローチャートである。
【図５】機械学習で利用されるモデルの例を示す図である。
【発明を実施するための形態】
【０００９】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）機械学習システムの構成：
（２）機械学習処理：
（３）目的地提案処理：
（４）他の実施形態：
【００１０】
（１）機械学習システムの構成：
図１は、本発明の一実施形態である機械学習システムとして機能するサーバ１００の構成を示すブロック図である。本実施形態においてサーバ１００は、行動推定システムとして機能する携帯端末１０と通信可能である。なお、携帯端末１０は、複数個存在し得る。また、複数の携帯端末１０は異なる利用者によって利用され得る。
【００１１】
本実施形態にかかる携帯端末１０は、ＣＰＵ、ＲＡＭ、ＲＯＭ等を備える制御部２０を備えており、制御部２０は、当該ＲＯＭや記録媒体３０に記録された種々のプログラムを実行することができる。本実施形態において携帯端末１０は、各種のプログラムにより各種の機能を実行可能な多機能端末である。携帯端末１０は、各種の態様で実現可能であるが、本実施形態において携帯端末１０は、通話機能を含む各種の機能を実行可能なスマートフォンである。
【００１２】
さらに、携帯端末１０は、通信部４０、ユーザＩ／Ｆ部４１、ＧＮＳＳ受信部４２を備えている。ＧＮＳＳ受信部４２は、Global Navigation Satellite Systemの信号を受信する装置であり、航法衛星からの電波を受信し、図示しないインタフェースを介して携帯端末１０の現在地を算出するための信号を出力する。制御部２０は、この信号を取得して携帯端末１０の現在地を取得し、携帯端末１０の現在地とみなす。なお、携帯端末１０の現在地を取得するための手法は、ＧＮＳＳ受信部４２に限定されず、他のセンサ、例えば、車速センサやジャイロセンサ等が利用されても良い。
【００１３】
ユーザＩ／Ｆ部４１は、利用者の指示を入力し、また利用者に各種の情報を提供するためのインタフェース部であり、図示しないタッチパネルディスプレイからなる表示部やタッチパネルや各種のボタン等によって構成される入力部、スピーカー等の音声出力部を備えている。制御部２０は、ユーザＩ／Ｆ部４１を制御して各種の表示を行わせることが可能であり、ユーザＩ／Ｆ部４１の出力信号に基づいて利用者の入力内容を取得することが可能である。通信部４０は、外部の装置と無線通信をするための装置であり、制御部２０は、通信部４０を介してサーバ１００と通信することができる。
【００１４】
本実施形態において、携帯端末１０の制御部２０は、投稿プログラムとナビゲーションプログラムとを実行可能である。投稿プログラムとナビゲーションプログラムとが備える一部のモジュールは連携し、利用者の投稿文に対応する行動を利用者が行うか否か推定することができる。図１においては、投稿に関する処理を行う投稿受付部２１ａと、利用者が行動を行うか否か推定する行動推定部２１ｂとを抜き出して示している。
【００１５】
投稿受付部２１ａは、利用者による投稿文の投稿を受け付ける機能を制御部２０に実行させるプログラムモジュールである。利用者が携帯端末１０において投稿プログラムを実行すると、制御部２０は、投稿受付部２１ａの機能により、投稿文の受け付けや投稿文の閲覧を行うための処理を行う。すなわち、利用者は、ユーザＩ／Ｆ部４１を利用して投稿文を入力することが可能であり、投稿実行の可否を指示することができる。投稿実行が指示されると、制御部２０は、通信部４０を介して投稿文をサーバ１００に対して送信する。サーバ１００は、投稿された投稿文を記録媒体３００（詳細は後述）に記憶させる。
【００１６】
投稿された投稿文は、不特定の者または特定の者に公開される。携帯端末１０において利用者は、自身または他者が投稿した投稿文を閲覧することができる。すなわち、利用者は、ユーザＩ／Ｆ部４１を利用して投稿者の識別情報を指示するとともに投稿閲覧の指示を行うことができる。投稿閲覧の指示が行われると、サーバ１００は、利用者が指定した投稿者の投稿文を送信し、制御部２０は、通信部４０を介して当該投稿文を取得する。そして、制御部２０は、投稿受付部２１ａの機能により、ユーザＩ／Ｆ部４１の表示部に投稿文を表示させる。
【００１７】
利用者が携帯端末１０においてナビゲーションプログラムを実行すると、制御部２０は、利用者を目的地まで案内する処理を実行する。案内対象となる経路は、車両用の経路であっても良いし歩行者用の経路であっても良いし、移動手段が混在した経路であっても良い。
【００１８】
案内対象となる経路は、出発地（携帯端末１０の現在地等）から目的地までの経路であり、制御部２０は、道路網や道路周辺の施設を示す地図情報３０ａに基づいて経路を探索することが可能である。なお、地図情報３０ａには、道路区間を示すリンクデータと、道路区間の端点（交差点）を示すノードデータと、が含まれている。リンクデータには、道路区間のコストを示すコスト情報が対応づけられている。さらに、地図情報３０ａには、目的地となり得る施設を示す施設データが含まれている。施設データは、施設の位置や名称、属性等を示す情報である。
【００１９】
本実施形態において、目的地は、利用者によって指定されるが、この際に、利用者は施設の位置や、名称、属性等を検索条件として意図する目的地を検索しても良いし、目的地の提案を受けても良い。目的地の提案は、利用者の投稿文に基づいて推定された行動に基づいて実施される。
【００２０】
すなわち、本実施形態において行動は目的地への訪問であり、投稿文に含まれる行動の有無に関連した文言と、行動が行われたか否かを示す行動結果とに基づいて、両者の対応関係を示すモデルが機械学習される。従って、当該モデルを参照すれば、利用者が投稿した投稿文に基づいて利用者が意図している行動を推定することができる。
【００２１】
行動推定部２１ｂは、サーバ１００によって機械学習されたモデルに基づいて、投稿文に含まれる行動の有無に関連した文言に対応する行動が行われるか否かを推定する機能を制御部２０に実行させるプログラムモジュールである。本実施形態においては、携帯端末１０の利用者が、ユーザＩ／Ｆ部４１を操作して目的地の選択を開始すると、制御部２０が、行動推定部２１ｂの機能により、サーバ１００に対して目的地の提案要求を行う。
【００２２】
提案要求には、利用者の識別情報が含まれており、サーバ１００は、識別情報で示される利用者について機械学習されたモデルに基づいて、当該利用者が投稿した投稿文から当該利用者の行動を推定する。すなわち、サーバ１００は、当該利用者が投稿した投稿文に含まれる行動の有無に関連した文言から、当該行動が行われるか否か推定する。そして、当該行動が行われる場合に訪問される目的地が訪問候補として取得され、携帯端末１０に返信される。
【００２３】
なお、訪問候補としての目的地は、種々の手法で取得されて良いが、本実施形態においては、将来訪問したい場所として利用者が予め登録した場所（行きたい場所リスト）から選択される。すなわち、本実施形態において、携帯端末１０の利用者は、携帯端末１０を操作して将来訪問したい場所を指定することができる。指定された場所は、後述する訪問候補情報３００ｄとしてサーバ１００に保存されている。場所の定義方法としては、種々の方法が採用可能であり、本実施形態においては、当該場所に存在する施設に施設の属性（例えば、ショッピングセンター、公園、映画館など）が対応づけられて定義される。
【００２４】
そこで、サーバ１００は、行動すると推定された投稿文に含まれる施設の属性と同一または類似する属性の施設を取得し、訪問候補とする。サーバ１００が訪問候補を取得すると、制御部２００は、通信部４００を介して訪問候補を携帯端末１０に送信する。
【００２５】
制御部２０は、通信部４０を介して当該訪問候補を取得し、行動推定部２１ｂの機能により、ユーザＩ／Ｆ部４１の表示部を制御し、当該訪問候補を目的地の候補として表示させる。利用者が、訪問候補を目的地として選択すると、制御部２０は、地図情報３０ａを参照し、現在地から当該目的地までの経路を探索し、経路案内する。なお、制御部２０は、ＧＮＳＳ受信部４２の出力信号に基づいて現在地を取得し、地図情報３０ａが示す施設の位置と比較することにより、携帯端末１０の利用者が任意の施設を訪問したか否か特定することができる。本実施形態において、制御部２０は、利用者が任意の施設を訪問した場合、当該施設に利用者の識別番号を対応付け、訪問済み施設を示す情報としてサーバ１００に送信する。
【００２６】
以上の構成において、訪問候補は、利用者の投稿文に基づいて推定された行動が行われる場合に、訪問され得る施設（場所）である。従って、本実施形態によれば、利用者が過去に表明した訪問意志に適合した施設を目的地として提案することができる。なお、本実施形態における機械学習では、後述するように、行動が行われたか否かが特定されていない場合であっても、行動の有無に関連した文言に対して行動が行われたことを対応づけて機械学習が行われる。従って、利用者による投稿文の投稿が比較的少ない状態であっても、機械学習を進めることが可能である。このため、比較的少ない情報に基づいて行動の推定および目的地の提案を行うことが可能である。
【００２７】
本実施形態にかかるサーバ１００は、ＣＰＵ、ＲＡＭ、ＲＯＭ等を備える制御部２００を備えており、制御部２００は、当該ＲＯＭや記録媒体３００に記録された種々のプログラムを実行することができる。さらに、サーバ１００は、通信部４００および記録媒体３００を備えている。通信部４００は、外部の装置と無線通信をするための装置であり、制御部２００は、通信部４００を介して携帯端末１０と通信することができる。
【００２８】
本実施形態において、制御部２００は、機械学習プログラム２１０を実行することができる。制御部２００は、機械学習プログラム２１０の機能により、携帯端末１０の利用者が投稿した投稿文に基づいて、投稿文に示された行動が行われるか否か推定する。また、行動が行われると推定された場合には、利用者が将来訪問したい場所として登録した場所の中から訪問候補を選択し、目的地として携帯端末１０に送信する。
【００２９】
このような処理を行うため、機械学習プログラム２１０は、投稿文取得部２１０ａ、機械学習部２１０ｂ、行動取得部２１０ｃを備えている。投稿文取得部２１０ａは、利用者が投稿した投稿文を取得する機能を制御部２００に実行させるプログラムモジュールである。すなわち、携帯端末１０から投稿文が送信されると、制御部２００は、通信部４００を介して投稿文を取得する。そして、制御部２００は、投稿文を示すテキストデータに対して、投稿文を利用した利用者の識別情報（携帯端末１０の識別情報等であっても良い）を対応付け、投稿文情報３００ａとして記録媒体３００に記録する。
【００３０】
機械学習部２１０ｂは、投稿文に含まれる行動の有無に関連した文言と、行動が行われたか否かを示す行動結果と、の関係を示すモデルを機械学習する機能を制御部２００に実行させるプログラムモジュールである。本実施形態においては、行動の有無に関連した文言として、目的地となり得る施設（場所）と、訪問する意志を肯定または否定する文言とが予め選定され、記録媒体３００に記録されている（図示省略）。
【００３１】
そこで、制御部２００は、投稿文情報３００ａを参照し、利用者が投稿した投稿文に、目的地となり得る施設と、訪問する意志を肯定または否定する文言とが含まれるか否か判定する。なお、訪問する意志を肯定または否定する文言は、種々の手法で選定されて良く、例えば、行動の有無を示す動詞と、動詞に関する利用者の感情を示すための修飾語と、が訪問する意志を肯定または否定する文言となる例が想定される。
【００３２】
そして、目的地となり得る施設と、訪問する意志を肯定または否定する文言とが投稿文に含まれる場合、制御部２００は、訪問する意志を肯定または否定する文言を抽出する。例えば、「施設Ａ」という施設の名称と、「行きたい」という文言が予め選定されている状況で、「施設Ａに行きたい」という投稿文が投稿された場合、「行きたい」という文言が行動の有無に関連した文言として投稿文から抽出される。
【００３３】
一方、上述のように、携帯端末１０の利用者が任意の施設を訪問すると、訪問済み施設を示す情報がサーバ１００に送信される。制御部２００は、当該訪問済み施設を示す情報を記録媒体３００に記録する（図示せず）。従って、制御部２００が、当該訪問済み施設を示す情報を参照すれば、投稿文に含まれていた目的地となり得る施設を、利用者が訪問済みであるか否か特定することができる。
【００３４】
投稿文に含まれていた施設を利用者が訪問済みである場合、制御部２００は、訪問する意志を肯定または否定する文言に対して、行動結果（訪問済み）を対応付け、教師データ３００ｂとして記録媒体３００に記録する。制御部２００は、以上の処理を利用者毎に実行することにより、投稿文に現れた文章のニュアンスと行動結果との対応関係を規定した教師データを生成することができる。
【００３５】
制御部２００は、機械学習部２１０ｂの機能により、以上のようにして生成された教師データに基づいて機械学習を実行する。すなわち、制御部２００は、行動の有無に関連した文言（訪問する意志を肯定または否定する文言）を入力し、行動結果を出力するモデルを機械学習する。機械学習は、種々の手法によって実現されて良く、例えば、ニューラルネットワークによるモデルを最適化する学習を採用することができる。むろん、ニューラルネットワークの構造は、種々の構造であって良い。
【００３６】
図２は、ニューラルネットワークの構造を模式的に示した図である。図２においては、ニューロンを模したノードを丸で示し、ノード間の結合を実線の直線で示している（ただし、図を簡易化するためノードおよび結合は一部のみが示されている）。また、図２においては、同一層に属するノードを縦に並べて示しており、左端の層が入力層Ｌｉ、右端の層が出力層Ｌｏである。
【００３７】
ここでは、２層の関係において入力層Ｌｉに近い層を上位層、出力層Ｌｏに近い層を下位層と呼ぶ。すなわち、ある層においては、１層上位の層の出力を入力とし、重みの乗算とバイアスの和算を行い、活性化関数を介して出力を行う構造となっている。例えば、図２に示す層ＬPのノードの数がＰ個であり、層ＬPの各ノードに対する入力データがｘ1，，，，ｘMであり、バイアスがｂ1，，，，ｂPであり、層ＬPのｋ番目のノードに対する重みがｗk1，，，，ｗkM、活性化関数がｈ（ｕ）である場合、当該層ＬPの各ノードにおける中間出力ｕ1，，，，ｕPは以下の式１で表現される。
【数１】
2020071565.tif 000003
従って、式１を活性化関数ｈ（ｕk）に代入すると層ＬPの各ノードにおける出力ｙ1，，，，ｙPが得られる。
【００３８】
モデルは、このように一般化されるノードが複数層設けられることによって構成される。従って、本実施形態において、モデルは、少なくとも各層における重みとバイアスと活性化関数を示すデータによって構成される。なお、活性化関数は、種々の関数、例えば、シグモイド関数や、双曲線関数（ｔａｎｈ）、ＲｅＬＵ（Rectified Linear Unit）や他の関数を使用可能であり、非線形関数であることが好ましい。むろん、モデルには、機械学習を行う際に必要な他の条件、例えば、最適化アリゴリズムの種類や学習率等のパラメータが含まれていても良い。また、層の数やノードの数、相関の結合関係は種々の態様とすることができる。
【００３９】
本実施形態においては、訪問する意志を肯定または否定する文言が投稿文に含まれているか否かを示すフラグを入力層Ｌｉへの入力データとし、投稿文に含まれている施設を利用者が訪問したか否かを示すフラグを出力層Ｌｏから出力するモデルが構築される。例えば、図２に示す例において、入力層Ｌｉの各ノードへの入力データは、投稿文に文言が含まれるか否かを示すフラグ値である。図２においては、入力層Ｌｉに対して「行きたい」「行こう」「行くかも」「行かない」、、、「たぶん」「おそらく」「絶対に」「いつか」などの文言の有無を入力する利を示している。
【００４０】
図２においては、投稿文情報３００ａに投稿文Ａ〜投稿文Ｎが含まれる状況において、投稿文Ａに「行こう」「絶対に」という文言が含まれる例が示されている。この例の場合、図２に示すように、「行こう」「絶対に」に対応する入力層Ｌｉのノードにフラグ値１が入力され、他のノードにフラグ値０が入力される。そして、訪問した場合（訪問した可能性が高い場合）、出力層Ｌｏのノードから訪問したことを示す値（１または１に近い値）が出力され、訪問しなかった場合（訪問しなかった可能性が高い場合）、出力層Ｌｏのノードから訪問しなかったことを示す値（０または０に近い値）が出力される。
【００４１】
本実施形態において制御部２００は、以上のようにして構築されたニューラルネットワークに対して教師データが示す文言に対応した数値（訪問する意志を肯定または否定する文言に対応したフラグ）を入力し、出力値を得る。そして、制御部２００は、当該出力値と、教師データが示す行動結果との差分を最小化するようにモデル（重みやバイアス等）を調整することにより機械学習を行う。機械学習が行われて得られたモデルを示すデータはモデルデータ３００ｃとして記録媒体３００に記録される。
【００４２】
本実施形態においては、携帯端末１０の利用者毎に、投稿文に使用された文言と、実際の行動との対応関係を学習するため、モデルの機械学習は利用者毎に実施される。しかし、利用者からの投稿文を大量に収集するためには一般的に時間がかかる。このため、訪問する意志を肯定または否定する文言と、行動結果との組が得られるまで待っていると、機械学習がいっこうに進まないことが多い。
【００４３】
そこで、本実施形態においては、教師データ３００ｂを増量できるように構成されている。具体的には、制御部２００は、行動の有無に関連した文言が投稿文に含まれている場合、当該文言に対応した行動が行われたか否かが特定されていなかったとしても、機械学習部２１０ｂの機能により、当該文言に行動が行われたことを対応づけて教師データ３００ｂを生成する。すなわち、制御部２００は、行動の有無に関連した文言によって訪問の対象とされた施設に関して、訪問済み施設を示す情報が取得されていない場合であっても、訪問済みであると仮定して教師データ３００ｂを生成する。この結果、制御部２００は、増量された教師データ３００ｂに基づいて機械学習を行うことができる。以上の構成によれば、行動結果が確定していない場合であっても、機械学習を進めることができる。このため、モデルの機械学習が進めやすくなる。
【００４４】
機械学習されたモデルデータ３００ｃを利用すれば、投稿文に含まれる行動の有無に関連した文言に基づいて、利用者の行動を推定することが可能になる。本実施形態においては、行動すると推定された場合に、その対象となり得る訪問候補を提案する構成が採用されている。行動取得部２１０ｃは、行動の推定と訪問候補の取得を行う機能を制御部２００に実行させるプログラムモジュールである。
【００４５】
すなわち、携帯端末１０の利用者が目的地の選択を開始すると、制御部２０が、サーバ１００に対して目的地の提案要求を行う。制御部２００は、行動取得部２１０ｃの機能により、通信部４００を介して当該目的地の提案要求を取得する。また、制御部２００は、提案要求に含まれる利用者の識別情報を取得し、投稿文情報３００ａを参照して当該識別情報で示される利用者が投稿した投稿文を取得する。
【００４６】
さらに、制御部２００は、取得された投稿文から、目的地となり得る施設と、訪問する意志を肯定または否定する文言とを検索する。両者を含む投稿文が存在する場合、制御部２００は、訪問する意志を肯定または否定する文言に基づいて、モデルに対する入力値を特定する。例えば、上述の図２に示す例において、訪問する意志を肯定または否定する文言が「行こう」「絶対に」である場合、両者に対応したノードの入力値を１、他のノードの入力値を０にする。
【００４７】
さらに、制御部２００は、提案要求に含まれる利用者の識別情報を取得し、モデルデータ３００ｃを参照して当該識別情報で示される利用者について機械学習されたモデルを取得する。制御部２００は、入力値をモデルに入力することにより出力値を得る。そして、制御部２００は、出力値が閾値（例えば、０．５）以上である場合に、投稿文に含まれている施設を利用者が訪問すると推定する。
【００４８】
投稿文に含まれている施設を利用者が訪問すると推定された場合、制御部２００は、訪問候補情報３００ｄを参照し、投稿文に含まれる施設の属性と同一または類似する属性の施設を取得し、訪問候補とする。訪問候補が取得されると、制御部２００は、通信部４００を介して訪問候補を携帯端末１０に送信する。以上の構成によれば、携帯端末１０が訪問する可能性が高い施設を提案することができる。
【００４９】
（２）機械学習処理：
次に、機械学習処理について詳細に説明する。図３は、機械学習処理のフローチャートである。機械学習処理は、一定期間毎、例えば、特定のイベントが発生したタイミングなど、種々のトリガに基づいて実行開始されて良い。ここでは、新規投稿文が取得された場合に、当該新規投稿文を送信した利用者のモデルを学習する構成を想定して機械学習処理を説明する。
【００５０】
新規投稿文が投稿されると、機械学習処理が開始され、制御部２００は、投稿文取得部２１０ａの機能により、当該新規投稿文を取得する（ステップＳ１００）。すなわち、制御部２００は、通信部４００を介して利用者が投稿した投稿文を取得し、利用者の識別情報を対応づけて投稿文情報３００ａとして記録媒体３００に記録する。
【００５１】
次に、制御部２００は、機械学習部２１０ｂの機能により、行動の有無に関連した文言が含まれるか否かを判定する（ステップＳ１０５）。すなわち、制御部２００は、ステップＳ１００で取得された新規投稿文と、予め選定された文言とを比較して、予め選定された文言（訪問する意志を肯定または否定する文言）が含まれる場合に、行動の有無に関連した文言が含まれると判定する。
【００５２】
ステップＳ１０５において、行動の有無に関連した文言が含まれると判定されない場合、制御部２００は、機械学習処理を終了する。一方、ステップＳ１０５において、行動の有無に関連した文言が含まれると判定された場合、制御部２００は、機械学習部２１０ｂの機能により、行動が行われたか否かを判定する（ステップＳ１１０）。すなわち、制御部２００は、ステップＳ１００で取得された新規投稿文に含まれる、目的地となり得る施設について訪問済み施設を示す情報を取得済であるか否かを判定する。訪問済み施設を示す情報を取得済である場合、制御部２００は、行動が行われた（訪問された）と判定する。
【００５３】
ステップＳ１１０において、行動が行われたと判定された場合、制御部２００は、文言と行動結果を対応づけて教師データに追加する（ステップＳ１１５）。すなわち、制御部２００は、行動の有無に関連した文言に対して施設を訪問したことを対応づけ、利用者の識別情報を対応づけたデータを教師データ３００ｂに追加する。
【００５４】
そして、制御部２００は、機械学習部２１０ｂの機能により、教師データ３００ｂに基づいて機械学習を行う（ステップＳ１２０）。すなわち、制御部２００は、学習中のモデルのパラメータを取得し（初回学習時であれば初期化し）、パラメータで特定されるモデルに対して教師データ３００ｂが示す文言を入力し、出力を計算する。また、制御部２００は、出力された行動結果の推定値と教師データ３００ｂが示す行動結果との誤差を示す損失関数によって誤差を特定する。そして、制御部２００は、損失関数のパラメータによる微分に基づいてパラメータを更新する処理を既定回数繰り返す。
【００５５】
むろん、損失関数は、種々の関数を採用可能であり、例えば、交差エントロピー誤差などを採用可能である。以上のような損失関数を算出する処理は、行動の有無に関連した文言が含まれる投稿文の全てまたは一部について実施され、その平均や総和によって１回の学習における損失関数が表現される。１回の学習における損失関数が得られたら、制御部２００は、既定の最適化アルゴリズム、例えば、確率的勾配降下法等によってパラメータを更新する。以上のようなパラメータの更新が、既定回数繰り返されると、制御部２００は、得られたモデルをモデルデータ３００ｃとして記録媒体に記録する。
【００５６】
一方、ステップＳ１１０において、行動が行われたと判定されなかった場合、制御部２００は、機械学習が充分に進んだか否かを判定する（ステップＳ１２５）。ここでは、機械学習を再度実施する必要があるか否か判定することができればよく、例えば、モデルデータ３００ｃによって出力された出力値と真の行動結果との差分が閾値以下に収束している場合や、汎化性能が基準以上になっている場合や、モデルデータ３００ｃによる推定精度が既定値以上になっている場合などに機械学習が充分に進んだと判定される構成等を採用可能である。
【００５７】
むろん、これら以外の種々の要素が考慮されて良く、例えば、教師データ３００ｂのサンプル数等が充分であるか否か判定されても良い。また、汎化性能は、学習用の教師データ３００ｂと異なるデータ（テストデータ）で評価されても良い。さらに、汎化性能の評価に加え、教師データ３００ｂと異なるデータ（検証データ）に基づいてハイパーパラメーターの妥当性の検証が行われてもよい。
【００５８】
ステップＳ１２５において、機械学習が充分に進んだと判定されると、制御部２００は、機械学習処理を終了する。一方、ステップＳ１２５において、機械学習が充分に進んだと判定されない場合、制御部２００は、文言に行動が行われたことを対応づけて教師データに追加する（ステップＳ１３０）。すなわち、制御部２００は、行動が行われていなくても、行動の有無に関連した文言に対して施設を訪問したことを対応づけ、利用者の識別情報を対応づけたデータを教師データ３００ｂに追加する。
【００５９】
そして、制御部２００は、機械学習部２１０ｂの機能により、教師データ３００ｂに基づいて機械学習を行う（ステップＳ１３５）。当該機械学習は、ステップＳ１３０において教師データ３００ｂが増量されたことを除いて、ステップＳ１２０における処理と同様の処理である。
【００６０】
次に、制御部２００は、機械学習部２１０ｂの機能により、行動が未特定であることを教師データに対応づける（ステップＳ１４０）。すなわち、制御部２００は、ステップＳ１３０において追加された教師データ３００ｂに対し、行動が未特定であることを示す情報を対応づける。この際、ステップＳ１００で取得された新規投稿文に含まれる、目的地となり得る施設も対応づけられる。
【００６１】
次に、制御部２００は、行動なしが特定された教師データが存在するか否かを判定する（ステップＳ１４５）。すなわち、制御部２００は、機械学習部２１０ｂの機能により、過去の機械学習処理のステップＳ１４０で行動が未特定であることが対応づけられたデータも含め、行動が未特定であることが対応づけられた教師データ３００ｂを取得する。さらに、制御部２００は、取得された教師データ３００ｂに対して対応づけられた、目的地となり得る施設（すなわち、新規投稿文で話題にされた施設）を取得する。
【００６２】
そして、制御部２００は、当該施設について訪問済み施設を示す情報を取得済であるか否かを判定し、訪問済み施設を示す情報を取得済である場合、当該施設が対応づけられた教師データ３００ｂを、行動有りが特定された教師データ３００ｂであると見なす。一方、制御部２００は、行動有りが確定しなかった教師データ３００ｂの中で、投稿文が投稿された後、既定の期間が経過した教師データ３００ｂが存在する場合、当該教師データ３００ｂが示す文言に対応する行動がされなかったことが確定されたと見なす。ステップＳ１４５において、行動なしが特定された教師データが存在すると判定されない場合、制御部２００は、機械学習処理を終了する。
【００６３】
一方、ステップＳ１４５において、行動なしが特定された教師データが存在すると判定された場合、制御部２００は、機械学習部２１０ｂの機能により、行動なしが特定された教師データに行動なしを対応づける（ステップＳ１５０）。すなわち、ステップＳ１３０において、行動が行われたことが対応づけられていた教師データ３００ｂに対して、行動が行われなかったことを対応づける。
【００６４】
そして、制御部２００は、機械学習部２１０ｂの機能により、再度機械学習を行う（ステップＳ１５５）。当該機械学習は、ステップＳ１５０において教師データ３００ｂが修正されたことを除いて、ステップＳ１２０における処理と同様の処理である。以上の処理によれば、教師データ３００ｂが誤りであった場合には修正して機械学習を進めることができる。一方、教師データ３００ｂが誤りでない場合には、行動の有無が確定する前に正しい情報に基づいて早期に機械学習を進めることができる。
【００６５】
（３）目的地提案処理：
次に、目的地提案処理について詳細に説明する。図４は、目的地提案処理のフローチャートである。目的地提案処理は、携帯端末１０の利用者が目的地の選択を開始することにより、携帯端末１０から目的地の提案要求が行われた場合に実行される。目的地提案処理が開始されると、制御部２００は、行動取得部２１０ｃの機能により、投稿文を取得する（ステップＳ２００）。すなわち、制御部２００は、投稿文情報３００ａを参照し、目的地の提案要求を行った利用者の識別情報が対応づけられた投稿文を取得する。
【００６６】
次に、制御部２００は、行動取得部２１０ｃの機能により、行動の有無に関連した文言が含まれるか否か判定する（ステップＳ２０５）。すなわち、制御部２００は、ステップＳ２００で取得された投稿文から、目的地となり得る施設と、訪問する意志を肯定または否定する文言とを検索する。両者を含む投稿文が存在する場合、制御部２００は、行動の有無に関連した文言が含まれると判定する。
【００６７】
ステップＳ２０５において、行動の有無に関連した文言が含まれると判定されない場合、制御部２００は、目的地提案処理を終了する。ステップＳ２０５において、行動の有無に関連した文言が含まれると判定された場合、制御部２００は、文言をモデルに入力し、行動が行われるか否かを推定する（ステップＳ２０５）。すなわち、制御部２００は、提案要求に含まれる利用者の識別情報を取得し、モデルデータ３００ｃを参照して当該識別情報で示される利用者について機械学習されたモデルを取得する。さらに、制御部２００は、ステップＳ２０５で取得された、行動の有無に関連した文言をモデルに対する入力値（１または０）に変換し、入力値をモデルに入力することにより出力値を取得する。
【００６８】
次に、制御部２００は、行動取得部２１０ｃの機能により、行動すると推定されたか否かを判定する（ステップＳ２１５）。すなわち、制御部２００は、ステップＳ２１０で取得された出力値が閾値以上である場合に、行動する（投稿文に含まれている施設を利用者が訪問する）と推定する。ステップＳ２１５において、行動すると推定されない場合、制御部２００は、目的地提案処理を終了する。
【００６９】
一方、ステップＳ２１５において、行動すると推定された場合、制御部２００は、投稿文に含まれる目的地に類似する訪問候補を取得する（ステップＳ２２０）。すなわち、制御部２００は、訪問候補情報３００ｄを参照し、行動すると推定された投稿文に含まれる施設の属性と同一または類似する属性の施設を取得し、訪問候補とする。訪問候補が取得されると、制御部２００は、通信部４００を介して訪問候補を携帯端末１０に送信する（ステップＳ２２５）。訪問候補が携帯端末１０に送信されると、携帯端末１０はユーザＩ／Ｆ部４１に訪問候補を表示させる。この結果、利用者は、目的地の提案を認識し、自身の目的地とするか否か等を検討することができる。
【００７０】
（４）他の実施形態：
以上の実施形態は本発明を実施するための一例であり、行動が行われたか否かが特定されていない状態でも行動したと見なされることで機械学習の基になるデータを増量する限りにおいて、他にも種々の実施形態を採用可能である。例えば、携帯端末１０は、車載型の装置であってもよい。また、機械学習システムを構成する各部が複数の装置に分かれていても良い。この場合、各装置の役割が図１に示す構成と異なっていても良い。例えば、投稿文の管理を行うサーバと、機械学習を行うサーバは異なっていてもよい。また、例えば、サーバで行動を推定し、携帯端末で推定結果を取得し、携帯端末に記録された訪問候補や地図情報に基づいて目的地が提案されても良い。
【００７１】
さらに、上述の実施形態においては、行動の有無に関連した文言として、訪問する意志を肯定または否定する文言が予め選定されていたが、機械学習によって行動の有無に関連した文言であるか否かが特定されても良い。
【００７２】
機械学習システムを構成する投稿文取得部２１０ａ、機械学習部２１０ｂ、行動取得部２１０ｃや、行動推定システムを構成する投稿受付部２１ａや行動推定部２１ｂの少なくとも一部が複数の装置に分かれて存在している構成において、各装置の役割が図１に示す構成と異なる例としては、種々の例を想定可能である。例えば、サーバ１００で機械学習されたモデルデータ３００ｃが携帯端末１０に記録され、携帯端末１０側で行動の推定が行われてもよい。むろん、上述の実施形態の一部の構成が省略または置換されていてもよいし、処理の順序が変動または省略されてもよい。例えば、図３に示す機械学習処理からステップＳ１４５〜Ｓ１５５が省略され、別の種々のタイミングでステップＳ１４５〜Ｓ１５５が独立して実行されてもよい。
【００７３】
さらに、機械学習の手法は、種々の手法を採用し得る。上述のニューラルネットワークに入力される入力値と、出力値の態様は一例であり、他の例であっても良い。例えば、投稿文から抽出された文言を示すｏｎｅ−ｈｏｔベクトルが定義され、投稿文に含まれる行動の有無に関連した文言のそれぞれがｏｎｅ−ｈｏｔベクトルとされる構成等を想定可能である。この場合、各ベクトルから重みやバイアスで算出された値が足し合わされるような演算を含むニューラルネットワーク等が想定される。
【００７４】
むろん、投稿文がＲＮＮ（Recurrent Neural Network）によって処理されても良い。図５は、ＲＮＮの構成例である。図５においては、入力値となる投稿文が形態素に分解され、入力値とされる。図５においては、行動の有無に関連した文言を含む投稿文「絶対に施設Ａに行こう」が形態素に分解され、「絶対に」が入力値ｘ1、「に」が入力値ｘ2、「施設Ａ」が入力値ｘ3、「に」が入力値ｘ4、「行こう」が入力値ｘ5に変換される例が想定されている。
【００７５】
さらに、図５においては、各入力値がＲＮＮのブロックＭ1〜Ｍ5に入力されて出力値ｙ1〜ｙ5が出力される例が想定されている。本実施形態において推定される対象は行動が行われるか否かであるため、最後のＲＮＮのブロックＭ5の出力値ｙ5が行動の推定結果とされる。なお、本例においては訪問した場合の出力値ｙ5が１，訪問しなかった場合の出力値ｙ5が０である。また、図５に示す例においては、ＲＮＮのブロックＭ1〜Ｍ4の出力値ｙ1〜ｙ4が次のブロックＭ2〜Ｍ5に入力される。なお、最初のＲＮＮのブロックＭ1に対して入力値ｘ1とともに入力される値ｙ0は、種々の手法で初期化されて良い（例えば、０ベクトル等）。
【００７６】
以上のようなＲＮＮのモデルにおいて、入力値の定義法や重み、バイアスなどのＲＮＮのモデルは、公知の種々の手法を用いることができる。図１に示す例において、以上のようなモデルが想定され、制御部２００が機械学習部２１０ｂの機能によって機械学習を行えば、投稿文を入力し、行動が行われるか否か推定するモデルを機械学習することができる。そして、このような機械学習においても、行動の有無が未特定の状態で教師データ３００ｂを増量させることにより、機械学習を早期に進めることが可能である。むろん、図５に示すＲＮＮのモデルも一例であり、双方向ＲＮＮが採用されるなど、種々のモデルが採用されてよい。
【００７７】
投稿文取得部は、利用者が投稿した投稿文を取得することができればよく、投稿は、種々の態様で行われてよい。例えば、ブログや文字数制限のあるミニブログなど、投稿文の投稿を受け付ける各種のアプリケーションプログラムが投稿文取得部を構成しても良い。また、動画やニュース等に対するコメントを受け付ける各種のアプリケーションプログラムが投稿文取得部を構成しても良い。すなわち、投稿文を取得するあらゆる態様によって投稿文取得部を構成可能である。
【００７８】
投稿文は、利用者が投稿した文章であれば良く、利用者毎の個別の傾向を学習するのであれば、投稿文と利用者が対応づけられており、利用者毎に機械学習が行われることが好ましい。一方、利用者毎の個別の傾向ではなく、投稿文と行動との一般的な（統計的な）対応関係を把握するのであれば、全利用者について機械学習が行われる構成であって良い。
【００７９】
機械学習部は、投稿文に含まれる行動の有無に関連した文言と、行動が行われたか否かを示す行動結果と、の関係を示すモデルを機械学習することができればよい。すなわち、機械学習部は、行動の有無に関連した文言を入力し、行動が行われるか否かの推定値を出力するモデルを構築し、当該モデルによる出力と教師データにおける撮影時期との差分を極小化する学習を行うことができればよい。
【００８０】
従って、例えばニューラルネットワークによる機械学習が行われる場合、モデルを構成する層の数やノードの数、活性化関数の種類、損失関数の種類、勾配降下法の種類、勾配降下法の最適化アルゴリズムの種類、ミニバッチ学習の有無やバッチの数、学習率、初期値、過学習抑制手法の種類や有無、畳み込み層の有無、畳み込み演算におけるフィルタのサイズ、フィルタの種類、パディングやストライドの種類、プーリング層の種類や有無、、全結合層の有無、再帰的な構造の有無など、種々の要素を適宜選択して機械学習が行われればよい。むろん、他の機械学習、例えば、サポートベクターマシンやクラスタリング、強化学習等によって学習が行われてもよい。さらに、モデルの構造（例えば、層の数や層毎のノードの数等）が自動的に最適化される機械学習が行われてもよい。
【００８１】
行動の有無に関連した文言は、当該文言が利用者による行動意志を少なくとも示唆しており、行動結果との対応関係が少なくとも統計的に有意であればよい。文言は予め決められた特定の文言であっても良いし、任意の投稿文と行動結果との組が教師データとされた学習が行われてもよい。文言が予め決められる場合、例えば、行動を想起させる文言等が挙げられる。なお、行動の有無には、行動をする意図の他、行動をしない意図も含まれる。
【００８２】
行動が行われたか否かは、種々の規則に基づいて特定されて良い。すなわち、上述の実施形態のように、投稿文が投稿された後の既定期間内に、行動の有無を示す既定の行動が行われた場合に行動が行われたと見なす構成以外にも、種々の構成を採用可能である。例えば、行動したこと、行動をやめたことを示す投稿文が投稿された場合に、行動が行われたこと、行動が行われなかったことを特定してもよい。
【００８３】
行動は、上述の実施形態のように、目的地を訪問したこと、訪問しなかったことに限定されず、他にも、種々の態様が想定し得る。例えば、行動は、食事をしたこと、食事をしなかったことであっても良い。この場合、例えば、食事をする場所（レストラン等）を訪問した場合に食事をし、訪問しなかった場合に食事をしなかったと特定される構成等を採用可能である。また、例えば、行動は、買い物をしたこと、買い物をしなかったことであっても良い。この場合、例えば、利用者が買い物可能なウェブサイトを閲覧し、特定の行為（カートへの投入や注文確定）等を行った場合に買い物をしており、行わなかった場合に買い物をしていないと特定される構成等を採用可能である。
【００８４】
さらに、行動は、建築物や映画等を見たこと、建築物や映画等を見なかったことであっても良い。この場合、例えば、建築物の存在場所や映画館を訪問した場合に建築物や映画等を見ており、訪問しなかった場合に建築物や映画等を見ていないと特定される構成等を採用可能である。さらに、行動は、動画や音楽を視聴したこと、動画や音楽を視聴しなかったことであっても良い。この場合、例えば、利用者端末で動画や音楽の再生を行った場合に動画や音楽を視聴しており、行わなかった場合に動画や音楽を視聴していないと特定される構成等を採用可能である。
【００８５】
行動が行われたか否かが特定されていない場合に、行動の有無に関連した文言に行動が行われたことを対応づける場合、行動結果が特定される前に、教師データを水増しすることができればよい。
【００８６】
さらに、本発明のように、行動が行われたか否かが特定されていない状態でも行動したと見なされることで機械学習の基になるデータを増量する手法は、プログラムや方法としても適用可能である。また、以上のようなシステム、方法、プログラムは、単独の装置として実現される場合や、複数の装置によって実現される場合が想定可能であり、各種の態様を含むものである。例えば、以上のような手段を備えた各種のシステムや方法、プログラムを提供することが可能である。また、一部がソフトウェアであり一部がハードウェアであったりするなど、適宜、変更可能である。さらに、システムを制御するプログラムの記録媒体としても発明は成立する。むろん、そのソフトウェアの記録媒体は、磁気記録媒体であってもよいし半導体メモリであってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【符号の説明】
【００８７】
１０…携帯端末、２０…制御部、２１ａ…投稿受付部、２１ｂ…行動推定部、３０…記録媒体、３０ａ…地図情報、４０…通信部、４１…ユーザＩ／Ｆ部、４２…ＧＮＳＳ受信部、１００…サーバ、２００…制御部、２１０…機械学習プログラム、２１０ａ…投稿文取得部、２１０ｂ…機械学習部、２１０ｃ…行動取得部、３００…記録媒体、３００ａ…投稿文情報、３００ｂ…教師データ、３００ｃ…モデルデータ、３００ｄ…訪問候補情報、４００…通信部
【図１】
2020071565.tif 000004
【図２】
2020071565.tif 000005
【図３】
2020071565.tif 000006
【図４】
2020071565.tif 000007
【図５】
2020071565.tif 000008