JP6923864B1 - 状態判定システム、状態判定方法および状態判定プログラム - Google Patents

状態判定システム、状態判定方法および状態判定プログラム Download PDF

Info

Publication number
JP6923864B1
JP6923864B1 JP2021500247A JP2021500247A JP6923864B1 JP 6923864 B1 JP6923864 B1 JP 6923864B1 JP 2021500247 A JP2021500247 A JP 2021500247A JP 2021500247 A JP2021500247 A JP 2021500247A JP 6923864 B1 JP6923864 B1 JP 6923864B1
Authority
JP
Japan
Prior art keywords
event
state
comments
class
progress
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021500247A
Other languages
English (en)
Other versions
JPWO2021112102A1 (ja
Inventor
数馬 武内
数馬 武内
光徳 藤間
光徳 藤間
親史 有田
親史 有田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Arithmer Inc
Original Assignee
Arithmer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Arithmer Inc filed Critical Arithmer Inc
Application granted granted Critical
Publication of JP6923864B1 publication Critical patent/JP6923864B1/ja
Publication of JPWO2021112102A1 publication Critical patent/JPWO2021112102A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

[課題]ソーシャルメディアに発信されたコメントを利用して、対象となるイベントの進行状態を、即時性と正確性を両立して判定する状態判定システム等を提供する。[解決手段]状態判定システムは、ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類部と、複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来におけるイベントの進行状態を判定する判定部とを備える。

Description

本発明は、状態判定システム、状態判定方法および状態判定プログラムに関する。
例えば事故の発生により鉄道が一定期間運休を余儀なくされるような場合に、運行の再開予測を一刻も早く知らなければならない利用者がいる。しかし、鉄道会社は正確を期するために不確かな情報を公表せず、往々にして運行を再開してからその旨を公表する。そこで、利用者は、ソーシャルメディアに対して発信された第三者のコメントを参照して、いち早く運行状況を予想し、行動する場合がある。しかし、ソーシャルメディアの個々のコメントは、即時性がある反面、正確性に劣る場合がある。このような背景のもと、ソーシャルメディアに発信されたコメントを、実際の状況を予測する材料とする技術が開発されるようになってきた(例えば、特許文献1参照)。
特開2014−206829号公報
例えば特許文献1では、ソーシャルメディア情報を用いて、駅の混雑を正確に予測することを意図した技術が開示されている。しかしながら、特許文献1に記載の技術は、ソーシャルメディアに発信された多数のコメントから、対象イベントの進行状態を大局的に予測するのには不向きな場合がある。
本発明は、このような問題を解決するためになされたものであり、ソーシャルメディアに発信されたコメントを利用して、対象となるイベントの進行状態を、即時性と正確性を両立して判定する状態判定システム等を提供するものである。
本発明の第1の態様における状態判定システムは、ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類部と、複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来におけるイベントの進行状態の判定結果を算出する判定部とを備える。
本発明の第2の態様における状態判定方法は、ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類ステップと、複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来におけるイベントの進行状態の判定結果を算出する判定ステップとを有する。
本発明の第3の態様における状態判定プログラムは、ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類ステップと、複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来におけるイベントの進行状態の判定結果を算出する判定ステップとをコンピュータに実行させる。
このように、多数寄せ集められたコメントをその内容に応じて分類し、分類によって現れる大局的な傾向を利用して対象であるイベントの進行状態を判定する。このような手法によれば、個々のコメントの正確性の全体の予測に及ぼす影響を低減しつつ、いち早く判定結果を提示することができる。
本発明により、ソーシャルメディアに発信されたコメントを利用して、対象となるイベントの進行状態を、即時性と正確性を両立して判定する状態判定システム等を提供することができる。
本実施形態に係る状態判定システムが利用される全体環境と、状態判定に関する情報の流れを説明する図である。 状態判定サーバのハードウェア構成を示す図である。 コメントのクラスへの分類を説明する図である。 コメントの整数列への変換を説明する図である。 ニューラルネットワークの処理を説明する図である。 クラス分類の検証結果を示す図である。 クラス割合と状態判定結果の時間推移を示すグラフである。 状態判定するための判定期間を説明するための図である。 現在における状態判定結果の表示例である。 クラスAの割合の時間推移と再開判定時刻を示すグラフである。 再開判定時刻の表示例である。 状態判定プログラムの処理手順を示すフロー図である。 他の例における全体環境と、状態判定に関する情報の流れを説明する図である。
以下に発明の実施形態を通じて本発明を説明するが、特許請求の範囲に係る発明を以下の実施形態に限定するものではない。また、実施形態で説明する構成の全てが課題を解決するための手段として必須であるとは限らない。
(1)全体構成
図1は、本実施形態に係る状態判定システムが利用される全体環境と、状態判定に関する情報の流れを説明する図である。本実施形態における状態判定システムは、状態判定サーバ100によって実現される。状態判定サーバ100は、インターネット900に接続されており、インターネット900を介して、直接的または間接的に利用者のスマートフォン210、コメント発信者のスマートフォン910、およびメディアサーバ920と情報の授受を行う。
より具体的には、コメント発信者が各自のスマートフォン910を操作して発信したツイート等のコメントは、インターネット900を介してメディアサーバ920へ送られ、メディアサーバ920に接続されたコメント蓄積部921に蓄積される。コメント蓄積部921は、例えば大容量のHDDによって構成されている。コメント発信者のスマートフォン910には、メディアサーバ920を運営する運営者によってリリースされたアプリケーションがインストールされており、コメント発信者は、当該アプリケーションを介してコメントをテキスト入力することができる。なお、コメントは、コメント発信者の発声を認識してテキスト変換したものであっても良い。
コメント蓄積部921に蓄積されたコメント発信者のコメントは、アクセス権限に応じて閲覧することができる。このように特定のアプリケーションを介して利用者間でコメントを授受するサービスは、代表的にはソーシャルネットワークサービス(SNS)が知られている。ただし、本実施形態におけるソーシャルメディアは、SNSに限らず、発信者が一方的に情報を発信するサービスも含み得る。
本実施形態における状態判定システムは、このように任意に運営されている1つまたは複数のソーシャルメディアを利用する。具体的には、状態判定サーバ100は、分析対象のイベントを定めると、当該イベントに関するコメントを特定コメントと定め、インターネット900を介してメディアサーバ920へアクセスし、コメント蓄積部921から特定コメントを収集する。複数のソーシャルメディアを利用する場合には、それぞれのソーシャルメディアのメディアサーバ920へアクセスする。状態判定サーバ100は、収集したコメントに基づいて当該イベントの現在または将来における進行状態を判定する演算処理を実行する。そして、利用者のスマートフォン210から状態判定のリクエストを受けると、スマートフォン210へ判定した判定結果を送信する。利用者は、気になるイベントの進行状態を、スマートフォン210に表示される判定結果により想像することができる。
なお、ここでは、ツイート等のコメントとして、300文字以内の文字数で構成されるものを分析対象とする。以下においては、公共交通機関の非常停止後の運行再開事象を分析対象のイベントとして説明する。具体的には、発生した車両事故により運休が余儀なくされているある鉄道路線(「東急電鉄」の「東横線」を具体例とする)において、列車の運行再開に関する進行状態を判定する例を説明する。東横線の利用者は、例えば自宅やオフィスに居ながら、「現時点で運行が再開しているのか」や、「いつ運行が再開しそうか」といった情報を知りたい場合がある。そのような場合において、利用者は、スマートフォン210の専用アプリケーションを利用して、状態判定サーバ100へ状態判定をリクエストする。
図2は、状態判定サーバ100のハードウェア構成を示す図である。状態判定サーバ100は、主に、処理部110、記憶部120、通信部130、および入力部140によって構成される。処理部110は、状態判定サーバ100の制御とプログラムの実行処理を行うプロセッサ(CPU及び/又はGPU等で構成される)である。処理部110は、記憶部120に記憶された状態判定プログラムを読み出して、状態判定に関する様々な処理を実行する。処理部110が収集部111としての処理を実行する場合には、コメント蓄積部921に蓄積されたコメントのうち、分析対象として指定されたイベントである「東横線の運行再開」に関する特定コメントを収集する。
具体的には、収集部111は、通信部130を介してコメント蓄積部921へアクセスし、コメント蓄積部921で一定時間の間に蓄積されたコメントから、キーワード検索により特定コメントを抽出する。そして、キーワード検索により抽出されたコメントを特定コメントとして状態判定サーバ100へ取り込む。キーワード検索は、例えば、路線名に関する複数のキーワード(「東横線」「東急東横線」等)が予め設定されており、設定されているキーワードを含むコメントを抽出する。特定のキーワードについては、他のキーワードと共に含まれている場合に抽出候補とする等の抽出条件を定めても良い。また、キーワード検索を実行する対象コメントを、例えばタグ情報として東横線沿線の位置情報を有するコメントに限っても良い。
処理部110が分類部112としての処理を実行する場合には、記憶部120から読み出したニューラルネットワーク121(以下「NN121」とする)を用いて特定コメントを、東横線の運行再開の進行状態に応じて定められた複数のクラスのいずれかに分類する。処理部110が判定部113としての処理を実行する場合には、設定した複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来における東横線の運行再開の進行状態を判定する。分類部112と判定部113の具体的な処理については、後に詳述する。
記憶部120は、不揮発性の記憶媒体であり、例えば大容量のHDDによって構成されている。記憶部120は、状態判定サーバ100の制御や処理を実行するプログラムを格納するほか、収集部111が収集した特定コメントを一時的に保管する役割も担う。また、学習モデルであるNN121を記憶している。本実施形態におけるNN121は、対象イベントである「東横線の列車運行再開」について、入力された特定コメントを、イベントの進行状態として設定された「再開した」「再開しそう」「止まっている」「無関係、判別不能」の4つのクラスのいずれかに分類する。
通信部130は、インターネット900への接続および外部機器とのデータ授受を担い、例えばLANによって構成されている。通信部130は、判定部113が判定した判定結果を利用者のスマートフォン210へ出力する出力部としての機能も担う。入力部140は、システム管理者がプログラムの実行および停止を指示したり、メニューの設定やパラメータの調整を行ったりするための入力デバイスを含む。なお、本実施形態においては、状態判定サーバ100が状態判定システムの主要構成を備える構成を説明するが、例えば記憶部120がインターネット900に直接的に接続されたネットワークHDDで構成されていても良い。そのような場合には、分散して構成された装置の全体によって状態判定システムが構築される。
(2)分類部の処理
次に、特定コメントのクラスへの分類について説明する。図3は、特定コメントのクラスへの分類を説明する図である。ここでは、イベント「東横線の列車運行再開」の進行状態として、4つのクラス「再開した(クラスA)」「再開しそう(クラスB)」「止まっている(クラスC)」「無関係、判別不能(クラスD)」が予め設定されている。収集部111によって収集された特定コメントは、これら4つのクラスのいずれかに分類される。
これらのうち「再開した(クラスA)」「再開しそう(クラスB)」「止まっている(クラスC)」の3つのクラスは、時間の推移と共に想定されるイベントの進行状態に対応している。例えば、収集された特定コメントが「東横線再開したって!」であれば、列車の運行が再開したことを意味するので、クラスAに分類される。また、「東横線試運転をしているみたい」であれば、列車の運行再開に向けて準備が進んでいる様子を表すので、クラスBに分類される。同様に、「地震で東横線が止まった」であれば、列車が動いていないことが推測されるので、クラスCに分類される。
一方、「東横線」について言及しているので特定コメントとして収集されたものの、その内容が列車運行再開の進行状態とは関係ないコメントや、そもそも進行状態に関係するものか否かを判別できないコメントも存在し得る。そのような特定コメントは、進行状態に対して「無関係、判別不能(クラスD)」のコメントと分類される。例えば、収集された特定コメントが「東横線は東急だよね」であれば、列車の運行再開とは関係のないコメントなので、クラスDに分類される。
なお、本実施形態においては、時間の推移と共に想定される状態を3つのクラスに区分したが、これに限らず、例えば多くの特定コメントが収集できそうな場合にはより多くの情報を抽出し得るので、区分を細分化しても良い。例えば、「再開した」を「臨時ダイヤで再開した」と「通常ダイヤに戻った」などに分けても良い。逆に、コメント数が期待できないような場合には、区分を減らしても良い。
本実施形態においては、このようなクラスの分類を分類部112が行う。分類部112は、NN121へ特定コメントを入力し、出力としてすべてのクラス毎への分類確率を受け取る。分類確率の値が最も大きいクラスを当該特定コメントのクラスと判定する。NN121に、事前に正解クラスが紐づけられた大量のコメント例を教師データとして学習させたものを用いる。本実施形態におけるNN121を具体的に説明する。
分類部112は、コメントを整数列に変換してNN121へ入力する。図4は、コメントの整数列への変換を説明する図である。ここでは、コメントの例として「東急東横線が動き出したようです。」を説明する。
分類部112は、まず、入力コメントに対して形態素解析を行い、単語単位の分かち書きにする。そして、単語ごとに分解した後に、活用語を終止形に変換する。これにより、入力コメントは、「'東急','東横線','が','動く','出す','た','ようだ','。'」と分解される。なお、対象言語を英語とする場合には、スペース文字による単語の区切りをそのまま利用する。
ここで、NN121は、特定コメントを単語ごとに整数に変換して得られた整数列を入力して前記複数のクラスへの分類確率を出力する。具体的に、NN121は複数の層から構成される。NN121の第一層では、整数列から数値行列を求める。さらに詳しくは、NN121の第一層では、このように分解した入力コメントのそれぞれの単語を分散表現に変換する。各単語の分散表現は、d次元の行ベクトルとして表される。したがって、n単語に分解される一つの入力コメントは、n行d列の数値行列で表現される。
コメント発信者が発信するコメントは、1文であるとは限らない。また、1文がいくつの単語で構成されるかも不定である。また、ソーシャルメディアによっては、コメント可能な字数が制限されている場合もある。発信されたそれぞれのコメントについて、すべての単語を数値ベクトル化すれば、そのコメントが含む内容を最大限に利用できるが、数値行列化した場合に、コメントごとに行列のサイズが異なることになる。
本発明者らは、コメントの主要な内容は、当該コメント内で比較的早い段階において言及されるという知見を得た。また、本発明者らは、コメントが140文字以内に制限されるソーシャルメディアの場合、30語の固定長化により8割以上の内容が収まるという知見を得た。そこで、本発明者らは、このような知見に基づいて任意のコメントに固定長化処理を施すことを想到した。
本実施形態においては、分類部112は、収集部111が収集した特定コメントを予め定められた単語数になるように固定長化処理を施す。具体的には、収集した特定コメントに対して分かち書き処理を施した結果、30語を上回った場合には、上回った単語を棄却する。また、収集した特定コメントに対して分かち書き処理を施した結果、30語を下回った場合には、不足分を0ベクトルで補う。このように処理することにより、いずれの特定コメントも、30行d列の数値行列に変換することができる。特に、固定長化処理により、複数のコメントのバッチ並列処理が可能となり、一つずつ処理した場合に比べ100倍以上の高速化が実現する。
なお、30語を超えるコメントにおいても先頭から30語以内で概ね趣旨を言及していることが多い。本発明者らは、コメントが140文字以内に制限されるソーシャルメディアの場合、30語を超える部分を棄却することによる分類精度の低下は1%程度であることを確認した。
本実施形態においては、このように変換された特定コメントの数値行列を画像データに類似するデータに見立て、NN121の第二層に、画像処理において多用される畳み込み層を採用する。図5は、NN121の処理を説明する概念図である。
上述のように数値行列化された特定コメントに対し、畳み込み演算を実行することにより、コメント中の数単語のまとまり(n−gram)の特徴が抽出される。そして、プーリング処理が施され、コメントごとの特徴量が生成される。例えば、グローバル最大プーリングが実行される。その後、活性化関数にソフトマックス演算を持つ全結合層により、4つのクラスへの分類確率を計算する。4つのクラスは、それぞれクラスA、クラスB、クラスC、クラスDに対応する。
なお、上記NN121では、畳み込み処理を行なう際に、単語分散表現の次元数dに応じた重みフィルターを用いる。具体的には、フィルターの幅をfとしてf行d列の数値行列により表現される重みフィルターが用いられる(図5参照)。このような重みフィルターを用いることで、NN121は、コメントに含まれる概念が反映された情報を学習することが可能となる。
例えば、コメントの中に「再開」という単語が含まれている場合、単なる形態素解析による分類では、「再開した(クラスA)」に分類するのか、「再開しそう(クラスB)」に分類するのかを決定することができない。これに対し、上記NN121では、特定の表現に反応する重みフィルターを学習しているので、「再開した(クラスA)」に分類するのか、「再開しそう(クラスB)」に分類するのかを適切に決定することができる。換言すると、上記NN121は、同一単語を含むコメントを異なるクラスに分類可能な学習モデルであり、概念に応じたクラス分類を可能としている。
また、上記NN121では、単語を数値ベクトル化するための処理で用いるパラメータの学習と、畳み込み処理から分類確率計算までに用いられるパラメータの学習とを一連のバックプロパゲーションで実行することができる。これにより、特定ジャンルのコメントの分類に特化した単語分散表現やn−gramの特徴を獲得するため、クラス分類の精度を高めることができる。なお、上記の畳み込み層及びプーリング層に替えて、多層LSTMやTransformerを用いても同様の効果を得ることが可能である。その他、NN121は、上述のものに限定されず、クラス分類できるものであれば任意のものを採用することができる。
本発明者らは、災害時に運休となった路線に対してソーシャルメディアへ発信された実際のコメントを収集し、手作業でその内容に応じた正解クラスをそれぞれのコメントに与えて教師データを作成し、これらを学習させることによってNN121を作成した。そして、学習に利用していないコメントを使って、作成したNN121の分類精度を検証した。図6は、クラス分類の検証結果を示す図である。
学習に利用していない検証用のコメント数は649個である。そのうち、作業者がクラスAと判断する(すなわちクラスAが正解である)コメント数は143個であり、NN121は、そのうち125個をクラスAに分類されると判断した。同様に、作業者がクラスBと判断するコメント数は292個であり、NN121は、そのうち258個をクラスBに分類されると判断した。さらに、作業者がクラスCと判断するコメント数は92個であり、NN121は、そのうち70個をクラスCに分類されると判断した。そして、作業者がクラスDと判断するコメント数は122個であり、NN121は、そのうち102個をクラスDに分類されると判断した。すなわち、正しく分類できたコメント数は555個であり、NN121による分類の正解率は約85%であった。この程度の正解率が達成できれば、NN121による分類は十分に実用に耐えるものと考えられる。
(3)判定部の処理
収集部111が一定時間の間に収集した特定コメントのそれぞれを、分類部112がクラスAからクラスDのいずれかに分類すると、全体のコメント数に対してそれぞれのクラスに属するコメント数の割合を計算することができる。判定部113は、各クラスの当該割合に着目することにより、現在または将来における対象イベントの進行状態の判定結果を算出する。なお、ここでは、分類部112は、一定期間毎に特定コメントを複数のクラスAからクラスDのいずれかに分類するものであり、例えば1分間毎に各コメントをいずれかのクラスに分類する。
現在または将来における対象イベントの進行状態を判定する場合には、時間の推移と共に想定される状態を定めたクラスA,クラスBおよびクラスCのそれぞれのコメント数の割合を演算の対象とすることが望ましい。すなわち、クラスA,クラスBおよびクラスCのそれぞれの割合を算出する場合に、進行状態とは無関係なコメントおよび判別不能なコメントが分類されるクラスDのコメント数を除外して算出する。具体的には、収集されたクラスAのコメント数がn個、クラスBのコメント数がn個、クラスCのコメント数がn個、クラスDのコメント数がn個である場合には、クラスAの割合TをT=n/(n+n+n)、クラスBの割合TをT=n/(n+n+n)、クラスCの割合TをT=n/(n+n+n)のように計算し、クラスDのコメント数を考慮しない。このように計算すれば、コメント数が急増した場合でも計算量を抑えることができる。また、各クラスの割合の変化がイベントの進行状態の推移をより反映すると期待できる。
第1実施例として、現在におけるイベントの進行状態を判定する手法について説明する。イベントの例は、引き続き「東横線の運行再開」であり、本実施例も実際に発生したイベントについて特定コメントを収集し、検証したものである。
図7Aは、「東横線の運行再開」のイベントにおけるクラス割合と状態判定結果の時間推移を示すグラフである。横軸は時刻を表す。左縦軸は各クラスの割合(%)を表し、右縦軸は判定結果を0、1、2で表す。判定結果「0」は「止まっている」の予測を表し、「1」は「再開しそう」の予測を表し、「2」は「再開した」の予測を表す。点線で示すグラフは、クラスAの割合の推移を表す。破線で表すグラフは、クラスBの割合の推移を表す。なお、クラスCの割合は、100−(クラスAの割合+クラスBの割合)であるので省略している。また、それぞれの割合の推移には、突発的な変化を軽減するノイズ除去フィルターを適用している。実線で示すグラフは、判定部113が判定した判定結果の推移を表す。
全体の傾向としては、クラスCが大きな割合を占めている期間の「現在における進行状態」の判定結果は「止まっている」であり、クラスBが大きな割合を占めている期間の「現在における進行状態」の判定結果は「再開しそう」であり、クラスAが大きな割合を占めている期間の「現在における進行状態」の判定結果は「再開した」である。ただし、本実施例は、その時点において最大の割合を占めるクラスに対応する進行状態を「現在における進行状態」とするものに限定されるものではない。判定部113は、その時点における各割合に、直前に判定した進行状態を加味して、現在における前記イベントの前記進行状態を判定してもよい。このような処理により、時間の経過に対して、判定される進行状態が頻繁に遷移してしまうことを防ぐことができる。
具体的な演算について説明する。現在における進行状態を判定するために、判定部113は、状態推定演算を行う。状態推定演算は、進行状態を状態番号i(i=0:止まっている、i=1:再開しそう、i=2:再開した)で表した場合に、総コストCをi=0、1、2に対して計算し、Cが最小となるiを決定する演算である。総コストCiは、
Figure 0006923864
で表される。ここで、σiはフィッティングコストであり、τiは遷移コストである。フィッティングコストσiは、観測値(収集されたコメントの分類)と状態(イベントの進行状態)の当てはまりにくさの指標である。フィッティングコストは、観測値と状態が一致しているほど小さく、離れているほど大きい値になる。
具体的には、以下のように計算する。コメント分類番号j(j=0:止まっている、j=1:再開しそう、j=2:再開した)、時刻t、時刻tに収集された分類jのコメント数nt,j、時刻tに収集された全コメント数S、励起状態における確率変動の割合を示す行列Q(Qは励起状態数×励起状態数の行列で、Q[0][0],Q[0][1],Q[1][0],Q[1][1]の要素を有する。各要素の値はハイパーパラメータである。)と定義すると、状態iに対するフィッティングコストσiは、
Figure 0006923864
により計算される。logの括弧内は、多項分布の確率質量関数になっている。上述したようにコメントの割合によって計算する場合、フィッティングコストσiは分類jの割合(%)Tt,jを用いて、
Figure 0006923864
となる。ここで、Γ(s)はガンマ関数であり、
Figure 0006923864
で表される。pi,jは、状態iにおけるコメント分類jの発生確率であり、行列で表すと、
Figure 0006923864
となる。
まず、基底状態としてi=0(止まっている)における確率を決定する。
Figure 0006923864
次に、行列Qを用いて励起状態としてi=1(再開しそう)、i=2(再開した)における確率を決定する。
Figure 0006923864
各成分は確率なので、各i(各行ごと)に対して、Σji,j=1、各i,j(各成分ごと)に対してpi,j≧0が課せられる。そこで、これらの条件を満たすように修正を加える。具体的には、pi,j<0であるi,jについてpi,j=0とし、Σji,j=ptmp>1であるiについてpi,j=pi,j/ptmpとする。
このような手法はバースト検知として知られているが、よく知られたバースト検知は励起状態が一つであり、行列Qの対角成分を2、非対角成分を1とするのが一般的である。しかし、本実施例における運行再開の進行状態においては、i=1(再開しそう)とi=2(再開した)の観測値が共起しやすいと考えられるので、非対角成分を1より大きくしている。本実施形態においては、Q[0][0]=2.0、Q[0][1]=1.2、Q[1][0]=1.2、Q[1][1]=2.0と設定した。
遷移コストτiは、概念的には状態遷移に支払うコストであり、ある状態から別の状態へは、計算される遷移コストτiが大きいほど移りにくいことになる。具体的には、以下のように計算する。現在の進行状態を上記と同様に状態番号iで表すと、直前の状態i直前からの遷移コストτiは、
Figure 0006923864
で計算される。γは、直前と現在の状態間の遷移のしにくさを定義する行列であり、ハイパーパラメータである。ここではγを遷移行列と名付ける。また、logの項は、フィッティングコストとスケールを合わせるために導入している。本実施形態においては、遷移行列γを、
Figure 0006923864
と設定した。例えば、「止まっている(i=0)」から「再開しそう(i=1)」への遷移コストを計算する場合は、γ[0][1]=10が用いられる。本実施形態においては設定していないが、i=1からi=2への遷移を事実上禁止したい場合には、γ[1][2]=10000000などとすれば良い。逆に、i=1からi=2への遷移が他の遷移よりも非常に発生しやすい場合には、γ[1][2]の値を負の値に設定しても良い。このように、プログラムの設計者等は、実際の現象を分析して実情に即すように遷移行列γの各成分をカスタマイズすることが肝要である。なお、一般的なバースト検知手法は、例えば、J. Kleinberg, "Bursty and Hierarchical Structure in Streams,"Proceeding of the 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2002.に詳しい。
上記の演算による総コストCiのうち最も小さい値を示す状態番号iの進行状態を、現在における進行状態の判定結果とする。図7Aに示す例では、判定部113は、20時50分ころまでは「止まっている」と判定し、それから22時10分ころまでは「再開しそう」と判定し、それ以降は「再開した」と判定している。なお、この事象において鉄道会社が正式に運行再開をアナウンスした時刻は22時30分であった。実際にはそれ以前に運転が再開されたと考えられるので、本実施形態における判定プログラムの判定結果が実際の推移におよそ対応していると推測できる。このような検証結果から、本実施形態に係る状態判定システムの利用者は、運行再開に関する進行状態をある程度の正確性をもっていち早く知ることができると言える。
なお、現在における進行状態を判定するための演算手法は、上記のバースト検知手法に限らない。時間の経過に対して判定結果が頻繁に変化しないように、直前に判定した進行状態を加味する手法は、他にも種々採用し得る。演算を簡素化してプロセッサの負荷を軽減する場合には、例えば、各クラスの割合に予め用意した重み付け係数を乗じ、その中から大きな値を示すものを判定結果とすることもできる。この場合、ある状態から別の状態へ遷移する場合の重み付け係数は、遷移しやすいほど大きな値を設定しておく。
上述した判定部113の処理について補足する。判定部113は、所定の判定期間毎にイベントの進行状態を判定する。例えば、図7Bに示すように、判定期間は1分間とする。現在が時刻tであるとすると、現在のイベントの進行状態は、現在の時刻tに時間的に最も近い判定期間D1のコメントの分類結果に基づいて判定される。また、直前の判定期間D2は、現在の判定期間D1に時間的に逆方向に連続する判定期間である。
このような前提で、判定部113は、一定期間毎(1分間毎)に収集した各クラスのコメントの割合(数6のp0,1 ,p0,2を参照)に基づいて、現在のイベントの進行状態を判定する判定期間D1において各クラスが取り得る発生確率(pi,j)を算出する。そして、判定部113は、算出した各クラスが取り得る発生確率(pi,j)と、判定期間D1に収集されたクラス毎のコメント数 (nt,j)とに基づいて、現在のフィッティングコストσiを算出する。
また、判定部113は、現在のイベントの進行状態を判定する判定期間D1より前の判定期間D2の間に判定したイベントの進行状態と、判定期間D1に取り得るイベントの進行状態との間の遷移行列γに基づいて、遷移コストτiを算出する。
そして、判定部113は、これらのフィッティングコストσi及び遷移コストτiから総コストCiを算出し、現在におけるイベントの進行状態を判定する。なお、総コストCiは、必ずしもフィッティングコストσi及び遷移コストτiの両方から算出される必要はなく、いずれか一方から算出されるものであってもよい。
図8は、図7Aのイベントに対して利用者のスマートフォン210に表示される状態判定結果の表示例である。スマートフォン210のディスプレイ211には、主に、イベント表示221と状態判定表示222が表示される。イベント表示221は、対象イベントの情報が表示される。対象イベントは、利用者により選択されたイベントであり、例えば、その時点で状態判定が提供されるイベント一覧のメニューから選択される。対象イベントの情報としては、例えば、「東横線は事故のため14:30から運休しています」のように表示される。
状態判定表示222は、状態判定サーバ100から送られてきた判定結果が表示される。ここで状態判定サーバ100から送られてくるのは、現在における進行状態の判定結果であるので、例えば、「現在、東横線の状態は『再開しそう』です」のように表示される。このように、利用者は、自身のスマートフォン210で、対象イベントの現在における進行状態の判定結果を容易かつ簡潔に知ることができる。
次に、第2実施例として、将来におけるイベントの進行状態を判定する手法について説明する。イベントの例は、引き続き「東横線の運行再開」であり、一つ目の実施例と同じものである。
図9は、クラスAの割合の時間推移と再開判定時刻を示すグラフである。横軸は時刻を表す。縦軸はクラスAの割合(%)を表わす。点線で示すグラフは、クラスAの割合の推移を表すが、本実施例では状態判定サーバ100が22時ちょうどに利用者からのリクエストを受け取った場合を想定するので、22時00分までの推移を示す。なお、クラスAの割合の推移には、突発的な変化を軽減するノイズ除去フィルターを適用している。実線で示すグラフは、22時00分までのクラスAの割合の推移に対して当てはめたフィッティング関数を表す。
フィッティング関数は、ここでは0から100の間で変化するように規格化したシグモイド型関数を利用する。図示するようにシグモイド型関数を当てはめることにより、クラスAの割合が22時00分以降にどうのように変化するかを推定する。
クラスAの割合は「再開した」の割合なので、この割合が一定値を超えると列車の運行が実際に再開されていると考えることができる。そこで、本実施例では、その閾値Saを80%と定め、当てはめたフィッティング関数が80%を超える時刻を、運行の再開予測時刻とする。図の例ではフィッティング関数が80%を超える時刻は22時28分である。したがって、判定部113は、将来におけるイベントの進行状態である「再開予測時刻」を、22時28分であると判定する。上述のように、この事象において鉄道会社が正式に運行再開をアナウンスした時刻は22時30分であったので、良好な判定結果であると評価できる。なお、本実施例ではフィッティング関数としてシグモイド型関数を採用したが、事象に合わせて他の関数をフィッティング関数として採用しても良い。
図10は、図9のイベントに対して利用者のスマートフォン210に表示される再開予測時刻の表示例である。スマートフォン210のディスプレイ211には、主に、イベント表示221と状態判定表示222が表示される。イベント表示221は、図8の例と同様である。
状態判定表示222は、状態判定サーバ100から送られてきた判定結果が表示される。ここで状態判定サーバ100から送られてくるのは、将来における進行状態の判定結果であるので、例えば、「東横線の再開予測時刻は『22:28』です」のように表示される。このように、利用者は、自身のスマートフォン210で、対象イベントの将来における進行状態の判定結果を容易かつ簡潔に知ることができる。
(4)状態判定処理
次に、本実施形態における状態判定サーバ100の処理手順について説明する。状態判定サーバ100による状態判定処理は、状態判定プログラムがコンピュータであるプロセッサに各ステップを実行させることにより実現される。図11は、状態判定プログラムの処理手順を示すフロー図である。
図示するフローは、システム管理者が対象イベントを定めてサービスの提供を開始した時点から始まる。収集部111は、ステップS101で、ソーシャルメディアに対して発信されたコメントのうち、対象イベントに関する特定コメントを、メディアサーバ920のコメント蓄積部921から収集する。ステップS102へ進むと、分類部112は、記憶部120から読み出したNN121を用いて、ステップS101で収集された特定コメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する。
イベントごとに設定される単位時間が経過したら、判定部113は、ステップS103で、その間に収集され分類された特定コメントにおけるクラスごとの割合に基づいて、現在または将来における対象イベントの進行状態を判定する。このとき、判定に用いるクラスを特に着目する特定クラスと定め、特定クラスに分類された特定コメントの割合に基づいて進行状態を判定すると良い。上述の第1実施例では、除外クラスとしたクラスD以外のクラスA、クラスBおよびクラスCが特定クラスであり、第2実施例では、フィッティング関数を当てはめたクラスAが特定クラスである。クラスの設定の仕方によっては、全てのクラスを特定クラスとしても良い。
ステップS104へ進み、処理部110は、利用者のスマートフォン210(ここでは「リクエスト端末」とする)から、状態判定のリクエストを受け取ったか否かを確認する。受け取っていたらステップS105へ、受け取っていなければステップS105をスキップしてステップS106へ進む。ステップS105へ進んだ場合には、ステップS103で判定した判定結果をリクエスト端末へ出力し、ステップS106へ進む。
ステップS106へ進むと、処理部110は、イベント処理が終期に達したか否かを判断する。例えば、対象イベントが列車の運行再開であれば、実際に列車の運行が再開された情報を取得してから所定時間の経過後を終期とする。終期は、対象イベントごとに、状態判定のリクエストが途絶えると判定される時期に設定すると良い。処理部110は、イベント処理が終期に達していないと判断した場合には、ステップS101へ戻り、終期に達したと判断した場合には、一連の処理を終了させる。
なお、上述の説明では、状態判定サーバ100が単一の装置で動作される例を用いて説明したが、状態判定サーバ100の構成は、発明の要旨を逸脱しない範囲で、適宜構成の追加又は変更が可能なものである。例えば、図12に示すように、状態判定サーバ100がリクエスト端末から直接リクエストを受け付けるのではなく、別途設置したリクエスト処理装置800がリクエスト端末210からリクエストを受け付ける構成であってもよい。この場合、状態判定サーバ100は、ステップS103で進行状態の判定をする度に、所定の記憶装置850に進行状態の判定結果を書き込む。リクエスト処理装置800は、リクエスト端末210からのリクエストを受け取った場合に、上記記憶装置850から最新の判定結果を取り出して、リクエスト端末210に出力する。
以上、公共交通機関の非常停止後の運行再開事象を対象イベントとして本実施形態を説明したが、分析対象とするイベントはこれに限らない。例えば、特定名所の桜の開花事象を対象イベントとすることもできる。この場合、進行状態として、例えば「つぼみ」「三分咲き」「五分咲き」「満開近い」「満開」「散り始め」「葉桜」の7クラスを設定し得る。また、「千鳥ヶ淵の桜、もうすぐ満開だね」のようなコメントが特定コメントとして収集される。
100 状態判定サーバ、110 処理部、111 収集部、112 分類部、113 判定部、120 記憶部、121 NN、130 通信部、140 入力部、210 スマートフォン、211 ディスプレイ、221 イベント表示、222 状態判定表示、900 インターネット、910 スマートフォン、920 メディアサーバ、921 コメント蓄積部

Claims (17)

  1. ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類部と、
    前記複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来における前記イベントの前記進行状態を判定する判定部と
    を備える状態判定システム。
  2. 前記分類部は、前記特定コメントを単語ごとに整数に変換して得られた整数列を入力して前記複数のクラスへの分類確率を出力する学習モデルを用いて前記特定コメントを分類する、
    請求項1に記載の状態判定システム。
  3. 前記学習モデルは、
    前記整数列から数値行列を求める第1演算部と、
    前記数値行列の入力に応じて前記複数のクラス分類確率を出力する第2演算部と、
    を備える、請求項2に記載の状態判定システム。
  4. 前記第1演算部は、前記整数列から分散表現を求め、
    前記第2演算部は、前記分散表現の入力に応じて前記複数のクラス分類確率を出力する、
    請求項3に記載の状態判定システム。
  5. 前記分類部は、前記特定コメントを予め定められた単語数となるように固定長化処理を施して前記学習モデルへ入力する請求項2から4のいずれか1項に記載の状態判定システム。
  6. 前記学習モデルは、畳み込み演算を実行する、
    請求項2から5のいずれか1項に記載の状態判定システム。
  7. 前記コメントは、300文字以内の文字数で構成されるものである、
    請求項1から6のいずれか1項に記載の状態判定システム。
  8. 前記分類部は、同一単語を含むコメントを異なるクラスに分類可能な学習モデルを用いて前記コメントを分類する、
    請求項1から7のいずれか1項に記載の状態判定システム。
  9. 前記判定部は、前記割合を算出する場合に、前記複数のクラスのうち前記進行状態とは無関係な前記特定コメントおよび判別不能な前記特定コメントが分類される除外クラスのコメント数を除外して算出する請求項1から8のいずれか1項に記載の状態判定システム。
  10. 前記判定部は、直前に判定した進行状態を加味して現在における前記イベントの前記進行状態を判定する請求項1から9のいずれか1項に記載の状態判定システム。
  11. 前記分類部は、一定期間毎に前記コメントを複数のクラスのいずれかに分類するものであり、
    前記判定部は、
    前記一定期間毎に収集した各クラスのコメントの割合に基づいて、現在のイベントの進行状態を判定する判定期間において各クラスが取り得る発生確率を算出し、
    算出した各クラスが取り得る発生確率と、前記判定期間に収集されたクラス毎のコメント数とに基づいて、現在におけるイベントの進行状態を判定する、
    請求項1から10のいずれか1項に記載の状態判定システム。
  12. 前記分類部は、一定期間毎に前記コメントを複数のクラスのいずれかに分類するものであり、
    前記判定部は、現在のイベントの進行状態を判定する判定期間より前の一定期間の間に判定したイベントの進行状態と、前記判定期間に取り得るイベントの進行状態との間の遷移行列に基づいて、現在におけるイベントの進行状態を判定する、
    請求項1から11のいずれか1項に記載の状態判定システム。
  13. 前記判定部は、前記割合の推移にフィッティング関数を当てはめ、前記フィッティング関数が予め設定された閾値を超える時刻に基づいて将来における前記イベントの前記進行状態を判定する請求項1から9のいずれか1項に記載の状態判定システム。
  14. 前記ソーシャルメディアに対して発信されたコメントのうち、分析対象のイベントに関する特定コメントを収集する収集部、
    をさらに備える、請求項1から13のいずれか1項に記載の状態判定システム。
  15. 前記イベントは、公共交通機関の異常停止後の運行再開事象であり、
    前記判定部は、前記進行状態として前記公共交通機関の運行が再開間近である状態、および再開した状態の少なくともいずれかの判定結果を出力する請求項1から14のいずれか1項に記載の状態判定システム。
  16. ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類ステップと、
    前記複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来における前記イベントの前記進行状態を判定する判定ステップと
    コンピュータが実行する状態判定方法。
  17. ソーシャルメディアに対して発信されたコメントを、イベントの進行状態に応じて定められた複数のクラスのいずれかに分類する分類ステップと、
    前記複数のクラスのうち着目する特定クラスに分類された特定コメントの割合に基づいて、現在または将来における前記イベントの前記進行状態を判定する判定ステップと
    をコンピュータに実行させる状態判定プログラム。
JP2021500247A 2019-12-06 2020-12-01 状態判定システム、状態判定方法および状態判定プログラム Active JP6923864B1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019221656 2019-12-06
JP2019221656 2019-12-06
PCT/JP2020/044750 WO2021112102A1 (ja) 2019-12-06 2020-12-01 状態判定システム、状態判定方法および状態判定プログラム

Publications (2)

Publication Number Publication Date
JP6923864B1 true JP6923864B1 (ja) 2021-08-25
JPWO2021112102A1 JPWO2021112102A1 (ja) 2021-12-02

Family

ID=76221691

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021500247A Active JP6923864B1 (ja) 2019-12-06 2020-12-01 状態判定システム、状態判定方法および状態判定プログラム

Country Status (2)

Country Link
JP (1) JP6923864B1 (ja)
WO (1) WO2021112102A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081491A (ja) * 2009-10-05 2011-04-21 Nec Biglobe Ltd 時系列分析装置、時系列分析方法、及びプログラム
WO2015052785A1 (ja) * 2013-10-09 2015-04-16 株式会社日立製作所 情報処理システム
JP2018204240A (ja) * 2017-06-01 2018-12-27 三菱電機株式会社 雨水監視制御システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011081491A (ja) * 2009-10-05 2011-04-21 Nec Biglobe Ltd 時系列分析装置、時系列分析方法、及びプログラム
WO2015052785A1 (ja) * 2013-10-09 2015-04-16 株式会社日立製作所 情報処理システム
JP2018204240A (ja) * 2017-06-01 2018-12-27 三菱電機株式会社 雨水監視制御システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
芥子 育雄: "意味表現学習におけるツイート分散表現の解釈性評価と可視化の提案", 第10回データ工学と情報マネジメントに関するフォーラム (第16回日本データベース学会年次大会) [, JPN6021004614, 4 March 2018 (2018-03-04), JP, pages 1 - 1, ISSN: 0004458551 *
長野 伸一 SHINICHI NAGANO: "ソーシャルセンサからの鉄道運行情報検出システムの開発", 電子情報通信学会論文誌 (J96−D), vol. 第10号, JPN6021004615, 25 September 2013 (2013-09-25), JP, pages 2262 - 2273, ISSN: 0004458552 *

Also Published As

Publication number Publication date
JPWO2021112102A1 (ja) 2021-12-02
WO2021112102A1 (ja) 2021-06-10

Similar Documents

Publication Publication Date Title
Zhao et al. Modelling and interpreting pre-evacuation decision-making using machine learning
Suleimenova et al. A generalized simulation development approach for predicting refugee destinations
EP2941754B1 (en) Social media impact assessment
KR102230394B1 (ko) 물류 리스크 예측 방법 및 그 장치
Cailliau et al. A probabilistic framework for goal-oriented risk analysis
US20160378859A1 (en) Method and system for parsing and aggregating unstructured data objects
WO2016206557A1 (zh) 一种风险识别方法及装置
Hsu et al. Clearance time estimation for incorporating evacuation risk in routing strategies for evacuation operations
Yan et al. Cash transportation vehicle routing and scheduling under stochastic travel times
Zhang et al. Dynamic emergency inspection routing and restoration scheduling to enhance the post-earthquake resilience of a highway–bridge network
JP7452680B2 (ja) 復旧支援装置、復旧支援方法およびプログラム
Pouraliakbari-Mamaghani et al. A robust possibilistic programming approach for blood supply chain network design in disaster relief considering congestion
Tan et al. Development of an inexact fuzzy robust programming model for integrated evacuation management under uncertainty
US20160117617A1 (en) Using preferential status indicators for alternative flight recommendations
Guan et al. Tracking the evolution of infrastructure systems and mass responses using publically available data
US10762089B2 (en) Open ended question identification for investigations
Harper et al. Proactive service recovery in emergency departments: A hybrid modelling approach using forecasting and real-time simulation
JP5420385B2 (ja) 業務支援装置
CN112634062B (zh) 基于Hadoop的数据处理方法、装置、设备及存储介质
Kabbani et al. What do riders say and where? The detection and analysis of eyewitness transit tweets
Musolino Methods for Risk Reduction: Modelling Users’ Updating Utilities in Urban Transport Networks
JP6923864B1 (ja) 状態判定システム、状態判定方法および状態判定プログラム
US20200272953A1 (en) Using a status centric view for alternative recommendations
Ramaswami et al. Non-Markovian bulk queueing system with state dependent arrivals and multiple vacations–a simulation approach
JP2022178727A (ja) 分類システム、分類方法および分類プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210105

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210105

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210427

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210706

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210715

R150 Certificate of patent or registration of utility model

Ref document number: 6923864

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350