以下、本発明の実施形態におけるセキュリティIDの情報処理システムの一例について、図面を参照して説明する。
図1は、第1実施形態に係る情報処理システム100を示す図である。情報処理装置1は、通信ネットワーク4を介してユーザ端末2と、サーバ3と、に接続されている。
情報処理装置1は、通信ネットワーク4を介して、ユーザ端末2から音声データ及びテキストデータで会話文を取得し、上述した会話文に含まれる言葉情報に、言葉情報へのアクセス権限に紐づくセキュリティIDの付与等の各種処理を実行するコンピュータである。
ユーザ端末2は、会話文を取得するためのアプリケーションがインストールされているスマートフォン、タブレット端末、パーソナルコンピュータ、ウェアラブル端末、携帯電話機等の端末である。
サーバ3は、例えば、ユーザ端末2が取得した会話文や、セキュリティIDが付与された言葉情報、会話文に紐づく付加情報等を記憶する企業内のサーバであるが、クラウドサーバやASPサーバ等でもよく、そのタイプは問わない。
通信ネットワーク4は、情報処理装置1と、ユーザ端末2と、サーバ3とを通信回線を介して接続されるインターネット網等である。通信ネットワーク4は、情報処理装置システムを一定の狭いエリア内で運用する場合には、LAN(Local Area Network)で構成されてもよい。また、通信ネットワーク4は、いわゆる光ファイバ通信網で構成されてもよい。また、この通信ネットワーク4は、有線通信網に限定されるものではなく、無線通信網で実現されてもよい。以下、情報処理装置1の構成を詳細に説明する。
図2は、情報処理装置1の構成の一例を示す模式図である。情報処理装置1として、例えばパーソナルコンピュータ(PC)、スマートフォン、タブレット端末等の公知の電子機器が用いられる。情報処理装置1は、例えば筐体10と、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、保存部104と、I/F105~107と、入力部108と、表示部109とを備える。各構成101~107は、内部バス110により接続される。
CPU101は、情報処理装置1全体を制御する。ROM102は、CPU101の動作コードを格納する。RAM103は、CPU101の動作時に使用される作業領域である。保存部104は、処理用データ等の各種情報が保存される。保存部104として、例えばHDD(Hard Disk Drive)、SSD(Solid State Drive)等が用いられる。
I/F105は、ユーザ端末2、サーバ3、通信ネットワーク4等との各種情報の送受信を行うためのインターフェースである。I/F106は、入力部108との各種情報の送受信を行うためのインターフェースである。I/F107は、表示部109との各種情報の送受信を行うためのインターフェースである。
入力部108には、キーボードが用いられるほか、例えばマイク等の収音装置が用いられてもよい。入力部108は、情報処理装置1を利用するユーザによって、テキストデータや音声等の各種情報が入力される。また、入力部108はカメラが用いられ、画像データを取得してもよい。
表示部109は、保存部104に保存された言葉情報等の各種情報等を表示する。表示部109は、例えばディスプレイが用いられるほか、例えばスピーカが用いられる。
なお、I/F105~I/F107は、例えば同一のものが用いられてもよく、各I/F105~I/F107は、例えばそれぞれ複数のものが用いられてもよい。また、表示部109は、タッチパネル式のディスプレイが用いられる場合、入力部108を含む構成としてもよい。
図3は、情報処理装置1の機能の一例を示す模式図である。情報処理装置1は、取得部11と、取得部11に接続される演算部12と、演算部12に接続される記憶部13と、記憶部13に接続される出力部14とを備えてもよい。なお、情報処理装置1は、CPU101が、RAM103を作業領域として、保存部104等に記憶されたプログラムを実行することにより実現される。また、情報処理装置1は、人工知能により制御されてもよい。ここで、人工知能は、いかなる周知の人工知能技術に基づくものであってもよい。
取得部11は、音声又は入力端末を介してテキストデータによって入力された会話文を取得する。取得部11は、例えばユーザ端末2又は入力部108を介してユーザから入力された会話文を取得する。例えばユーザ端末2又は入力部108を介して、ユーザから会話文が音声により入力された場合、取得部11は、例えば音素認識技術等の公知の音声認識技術を用いて音声から生成されたテキストデータを会話文として取得する。なお、音声認識技術は、例えば通信ネットワーク4を介して、クラウド型の音声認識技術を用いてもよい。取得部11は、入力された会話文を演算部12に出力する。また、取得部11は、例えばユーザ端末2又は入力部108を介してユーザから入力されたユーザのプロパティ情報、及び会話文の付加情報を取得し、演算部12に出力する。
また、取得部11は、入力端末を介して画像を取得してもよい。取得部11は、例えばユーザ端末2又は入力部108を介してユーザから入力された画像を取得する。
また、取得部11は、記憶部13に記憶されたセキュリティIDが付与された言葉情報を検索するための言葉情報を取得する。取得部11は、取得した言葉情報を記憶部13に出力する。
演算部12は、取得部11から入力された会話文に含まれる言葉情報にセキュリティIDを付与し、言葉情報に対するアクセス権限を決定する。演算部12は、図3に示すように、取得部11に接続された解析部120と、解析部120に接続されたデータ種別推定部121と、データ種別推定部121に接続されたID付与部122と、取得部11に接続されたセキュリティレベル付与部123とを備える。
解析部120は、取得部11から入力された会話文について、例えば形態素解析等の自然言語解析をすることにより、動詞や名詞、格成分等を始めとする文の個々の言葉情報を抽出する。また、解析部120は、取得部11から入力された画像について、画像分析をしてもよい。解析部120は、抽出した言葉情報と上述した会話文と画像とをデータ種別推定部121に出力する。
データ種別推定部121は、推論モデルを用いて、解析部120から入力された言葉情報に対するデータ種別を推定する。また、データ種別推定部121は、第2推論モデルを用いて、解析部120から入力された画像に対するデータ種別を推定してもよい。データ種別推定部121は、推定したデータ種別と上述した会話文と画像とをID付与部122に出力する。
ID付与部122は、データ種別推定部121から入力されたデータ種別に基づき、上述した言葉情報にセキュリティIDを付与する。ID付与部122は、データ種別推定部121から入力されたデータ種別に基づき、上述した画像にセキュリティIDを付与してもよい。ID付与部122は、セキュリティIDが付与された言葉情報と言葉情報を含む会話文と画像とを記憶部13に出力する。
セキュリティレベル付与部123は、取得部11から取得されたユーザのプロパティ情報に基づいて、各ユーザにセキュリティレベルを付与する。セキュリティレベル付与部123は、セキュリティレベルが付与されたユーザの情報を記憶部13に出力する。
記憶部13は、演算部12から入力されたセキュリティIDが付与された言葉情報と言葉情報を含む会話文とユーザに付与されたセキュリティレベルと、セキュリティIDと各ユーザに付与されたセキュリティレベルとの関係テーブル等を保存する。また、記憶部13は、記憶された関係テーブルを参照し、言葉情報に付与されたセキュリティIDを介して、各ユーザに対する各種情報へのアクセス権限を決定するアクセス権限管理手段を備えてもよい。
また、記憶部13は、セキュリティIDからなるエンティティに言葉情報を紐づけたエンティティテーブルを記憶する。記憶部13は、エンティティテーブルを参照し、取得部11により出力された言葉情報に対応するエンティティを抽出する。記憶部13は、記憶したセキュリティIDが付与された言葉情報から、抽出したエンティティに対応するセキュリティIDが付与された言葉情報を検索する。記憶部13は、検索した言葉情報又は検索した言葉情報が含まれる会話文を出力部14に出力する。
出力部14は、記憶部13により出力された会話文、言葉情報、画像の情報を出力する。出力部14は、表示部109又はユーザ端末2等を介して、ユーザが認識できるように情報を表示する。出力部14は、I/F105を介してユーザ端末2等に表示用データ等を出力し、I/F107を介して表示部109に表示用データ等を出力する。
〈第1実施形態〉
次に、本発明を適用した第1実施形態における情報処理装置1のセキュリティIDが付与された言葉情報を記憶する動作について説明をする。図4(a)に示すようにステップS11において会話文を取得する。会話文は、人が会話する文であり、自然言語による文といってもよい。会話文の取得は、例えば、音声での取得であるが、テキストデータでの取得でもよい。音声は、人が発した声である。テキストデータは、人が発した声を音声認識した文字列である。文字列は、1または2以上の文字の配列で構成される。具体的には、音声データとして取得部11において会話文が取得した場合には、これを例えば音素認識技術等の公知の音声認識技術を用いテキストデータを生成する。
また、電子データ化されたテキストデータを取得部11において取得した場合には、これをそのまま利用することになる。電子データ化されたテキストデータは、例えばメール文や社内又は社外において活用している情報掲示板や各種サイトの書き込みをそのまま取り込むようにしてもよい。また、例えば通信ネットワーク4を介して、クラウドサーバ等に保存されているいわゆるビッグデータから会話文を取得してもよい。また、例えば通信ネットワーク4を介して、非構造化データの会話文データが蓄積されたデータレイクから会話文を取得してもよい。
取得部11は、ユーザの入力するタイミング毎にテキストデータを取得するほか、例えば一定期間に蓄積された複数のテキストデータを一度に取得してもよい。なお、ユーザ端末2又は入力部108を介して入力された非テキスト形式のデータから、テキストデータを生成する方法は、公知技術を用いることができる。このようにして取得されたテキストデータは、記憶部13において一時的に記憶される。
また、取得部11は、上述した会話文又は会話文に含まれる言葉情報に紐づいた画像を取得してもよい。取得した画像は会話文又は言葉情報とともに、記憶部13において記憶される。
次にステップS12に移行し、S11において取得され、記憶部13において一時的に記憶されているテキストデータとしての会話文を読み出し、これを自然言語解析として例えば形態素解析する。この形態素解析は、主として解析部120が行う。形態素解析技術は周知のいかなる形態素解析技術を利用するようにしてもよい。形態素解析をされた会話文の言葉情報は、データ種別推定部121に出力される。また、解析部120が行う自然言語解析の他の例として、構文解析、同義語抽出、スパン抽出、含意認識等を行ってもよい。
構文解析は、係り受け解析と呼ばれ、所定の構造的制約を満たす中で、言葉情報及び文節間の係り受け関係としての自然さを計算し、言葉情報及び文節間の係り受け関係を決定する解析方法である。
同義語抽出は、処理対象のテキスト情報を入力し、表記が異なるが同一の意味を持つ同義語のペアを抽出する解析方法である。同義語は、例えばIT関連、機械関連、料理関連など特定のドメイン(分野)ごとに抽出して記憶しておいてもよい。
スパン抽出は、学習データから学習したモデルを利用し、入力された文章から重要部分を自動的に切り出して抽出する解析方法である。スパン抽出の代表的な手法としては、CRF(Conditional Random Field:条件付き確率場)がある。例えば、学習データとして、「家族と旅行でハワイに行きます」、「来月は旅行でアメリカに行く」、「行先はニューヨークです」の3つが入力された場合を説明する。この場合、学習データを学習することで、「旅行」+「で」の後と、「に」+「行く」の前の間にある言葉情報が行先の可能性が高いことが分かる。この結果、未知のデータとして「旅行でイタリアに行きます」と入力されたとき、行先として「イタリア」を抽出することができる。また、「含意認識」とは、2つの文章について、一方の文章が他方の文章が表す意味を含むか否かを判定する解析方法である。
このステップS12における形態素解析の結果、会話文に含まれる言葉情報が抽出される。言葉情報は、例えば単語等の言葉の意味及び種別を特定し得る情報である。単語は、通常、自立語である。自立語とは、単独でも文節を構成し得る語であり、例えば、名詞であるが、動詞、形容詞等でもよい。ただし、対応付く単語は、付属語でもよい。付属語とは、単独では文節を構成し得ず、他の自立語を伴って文節を構成する語であり、例えば、助動詞、助詞等である。つまり、対応付く単語は、通常、自立語であるが、付属語を伴った自立語であってもよい。
また、単語は、例えば、連語でもよい。連語とは、2以上の自立語が結び付いて一定の意味を表す語であり、複合語といってもよい。連語は、例えば、“残業”と“時間”が結合した“残業時間”や、“A”と“案件”が結合した“A案件”等であるが、“中村一郎”といった氏と名の組でもよく、2以上の語の組であれば何でもよい。ステップS12で抽出された形態素解析をされた会話文の単語は、データ種別推定部121に出力される。
また、単語は、例えば、格成分でもよい。格成分は、動詞、形容詞又は形容動詞による文の形成に必要とされる名詞句である。格成分における格とは、動詞、形容詞又は形容動詞が自らの帯びている語彙的意味に応じて、文の形成に必要な名詞または名詞句の組み合わせを選択的に要求する働きであり、いわゆる格支配という。この格成分の理論的根拠となる格文法は、会話文が、実体を表す深層格(対象格・条件格・道具格・始点格・終点格・時間格など)とこれらと結びついた一つの動詞からなるものとして会話文を分析する理論である。そして、動詞、形容詞又は形容動詞により文の深層格として要求された名詞(句)が、動詞、形容詞又は形容動詞による命題実現を補足する上で必要な格成分ということができる。格成分とは、単なる名詞句ではなく、動詞、形容詞又は形容動詞が自らの命題の実現するために係り受けた名詞句である。言い換えれば、格成分は、動詞、形容詞又は形容動詞に係り受けする名詞(名詞句を含む)のうち、会話文の意味を規定する動詞、形容詞又は形容動詞による命題を実現するための条件となり得る要素である。
ここでいう対象格は、会話文の意味を規定する動詞、形容詞又は形容動詞による命題の実行対象を意味する。「ファイルAを転送した」という会話文の場合、「転送した」という動詞に対して「ファイルA」が対象格として係り受けすることになる。また終点格とは、対象格で規定される実行対象が反映される場所、実行対象による恩恵を受ける先、実行対象が送られる先を規定するものである。「ファイルAを山田太郎に送った」という文言の場合、「送った」という動詞に対して、「ファイルA」が対象格として係り受けし、更にこれが山田太郎を終点として送るものであるから、この終点格は「山田太郎」となる。
次にステップS13に移行し、データ種別推定部121は、推論モデルを用いて、解析部120から入力された言葉情報に対するデータ種別を推定する。データ種別とは、会話文に含まれる言葉情報の意味情報又は種別或いは画像の種別に対応付いているメタデータの名称である。ここでいうメタデータとは、言葉情報に対して、決められた属性についてその属性値を書き表したものである。また、データ種別は、意味情報であってよい。データ種別として、例えば出退勤データ、ヘルスケアデータ、人物データ、時系列データ等がある。意味情報は、意味に基づく情報であり、例えば言葉情報に含まれる単語の意味の情報であり、意味から推測される情報であってもよい。意味情報は、例えば、「消防車」という言葉情報から、「赤い車」という推定される情報であってもよい。また、会話文として、例えば「今日は雨が降っているので、人出が多く、傘が売れるでしょう」という会話文を取得し、ステップS12において、「今日は」と、「雨が降っているので」と「人出が多く」と「傘が売れるでしょう」という言葉情報が抽出された場合、「雨が降っているので」の意味情報として、「気象情報」を推定し、「人出が多く」から「人員増加」を推測し、「傘が売れるでしょう」から「売上傾向」を推測してもよい。
データ種別推定部121は、先ずステップS12において自然言語解析した言葉情報について、推論モデルを用いて、言葉情報に対するデータ種別を推定する。
推論モデルとは、予め取得された参照用言葉情報とデータ種別とからなるデータセットを学習データとして用い、入力を参照用言葉情報とし、出力をデータ種別として、機械学習により生成された学習済みモデルである。例えば、会話文として「今日は体調が悪いので帰ります」という会話文が入力された場合、「今日は・体調が・悪いので・帰ります」と、解析部120に形態素解析されたとすると、データ種別推定部121は推論モデルを用いて、「今日は」に時系列データを、「体調が」にヘルスケアデータを、「帰ります」に出退勤データを、それぞれ推定する。
推論モデルの生成方法として、例えばニューラルネットワークをモデルとした機械学習を用いて、推論モデルを生成してもよい。推論モデルは、例えばCNN(Convolution Neural Network) 等のニューラルネットワークをモデルとした機械学習を用いて生成されるほか、任意のモデルが用いられてもよい。
推論モデルには、例えば図5のように、参照用言葉情報とデータ種別との間における連関度を有する連関性が記憶される。連関度は、参照用言葉情報とデータ種別との繋がりの度合いを示しており、例えば連関度が高いほど各データの繋がりが強いと判断することができる。連関度は、例えば百分率等の3値以上又は3段階以上で示されるほか、2値又は2段階で示されてもよい。
例えば連関性は、複数の参照用言葉情報、対、複数のデータ種別の間における繋がりの度合いにより構築される。連関性は、機械学習の過程で適宜更新され、例えば複数の参照用言葉情報、及び複数のデータ種別に基づいて最適化された関数を用いた分類器を示す。なお、連関性は、例えば各データの間における繋がりの度合いを示す複数の連関度を有してもよい。連関度は、例えばデータベースがニューラルネットワークで構築される場合、重み変数に対応させることができる。連関性は、例えば図5に示すように、複数の参照用言葉情報と、複数のデータ種別との間における繋がりの度合いを示してもよい。この場合、連関性を用いることで、図5の「参照用言葉情報A」~「参照用言葉情報C」のそれぞれの参照用言葉情報に対し、「データ種別A」~「データ種別C」の複数のデータ種別との関係の度合いを紐づけて記憶させることができる。このため、例えば連関性を介して、1つのデータ種別に対して、複数の参照用言葉情報を紐づけることができる。これにより、言葉情報に対して多角的なデータ種別の選択を実現することができる。
連関性は、例えば各データ種別と、各言葉情報とをそれぞれ紐づける複数の連関度を有する。連関度は、例えば百分率、10段階、又は5段階等の3段階以上で示され、例えば線の特徴(例えば太さ等)で示される。例えば、言葉情報に含まれる「言葉情報A」は、データ種別に含まれる「データ種別A」との間の連関度AA「73%」を示し、言葉情報に含まれる「言葉情報B」との間の連関度AB「12%」を示す。すなわち、「連関度」は、各データ間における繋がりの度合いを示しており、例えば連関度が高いほど、各データの繋がりが強いことを示す。例えば、「出勤」という言葉情報と出退勤データというデータ種別との関連度が「92%」であり、「出勤」という言葉情報と、ヘルスケアデータというデータ種別との関連度が「5%」である場合、「出勤」とヘルスケアデータとの繋がりよりも「出勤」と出退勤データとの繋がりが強いことを示す。
このような図5に示す3段階以上の連関度を予め取得しておく。つまり実際の推定解の判別を行う上で、言葉情報と、データ種別の何れが採用、評価されたか、過去のデータセットを蓄積しておき、これらを分析、解析することで図5に示す連関度を作り上げておく。
例えば、過去において「出社」という言葉情報に対して、データ種別として出退勤データが最も適合性が高いと判断され、評価されたものとする。このようなデータセットを集めて分析することにより、参照用言葉情報とデータ種別との連関度が強くなる。
この分析、解析は人工知能により行うようにしてもよい。かかる場合には、例えば入力された言葉情報が「退社」である場合に、過去のデータセットに基づいて、出退勤データのデータ種別が推定される事例が多い場合には、この「退社」と出退勤データとにつながる連関度をより高く設定する。
また、この連関度は、人工知能におけるニューラルネットワークのノードで構成されるものであってもよい。即ち、このニューラルネットワークのノードが出力に対する重み付け係数が、上述した連関度に対応することとなる。またニューラルネットワークに限らず、人工知能を構成するあらゆる意思決定因子で構成されるものであってもよい。
また、推論モデルは、図6に示すように、入力データとして参照用言葉情報が入力され、出力データとしてデータ種別が出力され、入力データと出力データとの間に少なくとも1以上の隠れ層が設けられ、機械学習させるようにしてもよい。入力データ又は隠れ層データの何れか一方又は両方において上述した連関度が設定され、これが各データの重み付けとなり、これに基づいて出力の選択が行われる。そして、この連関度がある閾値を超えた場合に、その出力を選択するようにしてもよい。
このような連関度が、人工知能でいうところの学習済みデータとなる。このような学習済みデータを作った後に、実際にこれから新たに言葉情報からデータ種別の推定を行うこととなる。かかる場合には、ステップS12において抽出した言葉情報を新たに取得する。新たに取得した言葉情報に基づいて、これに見合うデータ種別を推定する。推定の際には、例えば予め取得した図5に示す連関度を参照する。例えば、新たに取得した言葉情報が「参照用言葉情報A」と同一かこれに類似するものである場合には、連関度を介して「データ種別A」との間の連関度AA「73%」、「データ種別B」との間の連関度AB「12%」で関連付けられている。この場合には、連関度の最も高い「データ種別A」を最適解として選択する。但し、最も連関度の高いものを最適解として選択することは必須ではなく、連関度は低いものの連関性そのものは認められる「データ種別B」を最適解として選択するようにしてもよい。また、これ以外に矢印が繋がっていない出力解を選択してもよいことは勿論であり、連関度に基づくものであれば、その他いかなる優先順位で選択されるものであってもよい。
このような連関度を参照することにより、言葉情報が、データ種別と同一又は類似である場合のほか、非類似である場合においても、言葉情報に適したデータ種別を定量的に選択することができるため、会話文から抽出した言葉情報がいかなるデータ種別に該当するものであるのかを精度良く判別することができる。
また、データ種別推定部121は、データ種別を推定した言葉情報又は言葉情報を含める会話文を、保存部104に出力してもよい。この場合、データ種別推定部121から言葉情報を出力された保存部104は、上述した言葉情報の、データ種別推定部121で推定したデータ種別に応じて、言葉情報を分類し、保存してもよい。例えば、「今日は体調が悪いので、帰ります」という会話文が、データ種別推定部121により、推論モデルを用いて、「今日は」に日付データを、「体調が」にヘルスケアデータを、「帰ります」に出退勤データを、それぞれ推定した場合、保存部104は、ヘルスケアデータベース又は、出退勤データベースに上述した言葉情報又は言葉情報を含める会話文を保存してもよい。これによって、保存部104は、データ種別に応じて、言葉情報又は言葉情報を含める会話文を分類し、保存することが可能となる。保存部104は、必要に応じて、保存した言葉情報をID付与部122に出力し、後述するステップS14において、言葉情報又はセキュリティIDを付与してもよい。これによって、データ種別に応じて、まとめてセキュリティIDを付与することが可能となり、セキュリティIDの付与の処理効率が向上する。
次にステップS14へ移行し、ID付与部122は、ステップS13で推定されたデータ種別に対応する、言葉情報へのアクセス権限に紐づく1以上のセキュリティIDを言葉情報に付与する。セキュリティIDとは、言葉情報の意味を識別するために付与され、ユーザが言葉情報、言葉情報を含む会話文、又は言葉情報に紐づく画像に対するデータ操作を許可するデータの範囲を示し、各種情報へのアクセス権限を定義するためのメタデータである。これによって一つの言葉情報に対して、それぞれ自動的にアクセス権限を決定できるため、データ単位でのデータアクセスの制限が可能となる。また、セキュリティIDは、例えば、「出退勤」、「ヘルスケア」、「業務内容」等が挙げられる。例えば「出退勤」のセキュリティIDとは、言葉情報に出退勤データのデータ種別が推定された場合に、上述した言葉情報に付与される。「出退勤」のセキュリティIDが付与された言葉情報は、この言葉情報及びこの言葉情報を含む会話文の意味が出退勤に関する意味であることを示し、言葉情報及び言葉情報を含む会話文へのアクセス権限を定義する。また、言葉情報にセキュリティIDを付与することによって、言葉情報又は会話文に紐づく画像へのアクセス権限を管理することができる。
ID付与部122は、ステップS13で、例えば、「今日は体調が悪いので帰ります」という会話文が、「今日は」に日付データを、「体調が」にヘルスケアデータを、「帰ります」に出退勤データのように、それぞれの言葉情報に対するデータ種別が推定された場合、ヘルスケアデータのデータ種別に基づいて「ヘルスケア」のセキュリティIDを付与し、出退勤データのデータ種別に基づいて「出退勤」のセキュリティIDを付与してもよい。これによって、複数種類のセキュリティIDが付与された「今日は体調が悪いので帰ります」という会話文へのアクセス権限を管理することができる。また、言葉情報毎に言葉情報へのアクセス権限に紐づくセキュリティIDを付与してもよい。これによって、入力された会話文に含まれる言葉情報に応じて、個別に言葉情報へのアクセス権限を設定することが可能となり、データ単位でのデータアクセスの制限が可能となる。ID付与部122は、セキュリティIDを付与した言葉情報及び言葉情報含む会話文を、記憶部13に保存してもよい。
ID付与部122は、例えば一つの会話文に二種類以上のデータ種別を含める言葉情報が含まれていた場合、ステップS13で、推論モデルを用いて、言葉情報に対するデータ種別を推定した際の言葉情報とデータ種別との関連度がもっとも高い言葉情報に対するデータ種別に基づいて、セキュリティIDを付与してもよい。これによって、会話文の中で、もっとも関連度のある言葉情報のデータ種別に応じて、セキュリティIDを付与することが可能となり、より言葉情報のデータ種別に応じたデータアクセスの制限が実現できる。
ID付与部122は、例えば一つの会話文に二種類以上のデータ種別を含める言葉情報が含まれていた場合、上述したデータ種別の種類ごとに会話文を複数の会話文に分解し、分解した会話文に含まれる言葉情報のデータ種別に基づいて、それぞれセキュリティIDを付与してもよい。この場合、用いられる言葉情報としては、格成分が好ましい。例えば、「今日は体調が悪いので帰ります」という会話文が入力され、ステップS12で「体調が悪い」と「帰ります」という格成分が抽出され、「体調が悪い」にヘルスケアデータを、「帰ります」に出退勤データのように、それぞれの格成分に対するデータ種別が推定された場合、それぞれの格成分に基づいて、「体調が悪い」という会話文と「帰ります」という会話文とにそれぞれ分解してもよい。また、この場合、「体調が悪い」という会話文に含まれる言葉情報に「ヘルスケア」のセキュリティIDと、「帰ります」という会話文に含まれる言葉情報に「出退勤」のセキュリティIDとをそれぞれ付与してもよい。これによって、会話文に含まれるデータ種別の種類に応じて、会話文を分解し、それぞれの会話文に含まれる言葉情報のデータ種別に応じて、言葉情報へのアクセス権限を管理することができる。
ID付与部122は、言葉情報に付与されたセキュリティIDの種類に応じて、言葉情報にパスコードを付与してもよい。パスコードは、ユーザが予め設定された条件を満たした場合、ユーザに予め設定されたアクセス権限を与える機能である。条件として、例えば予め設定された特定のパスコードが入力されたとき、ユーザが予め設定された特定のプロパティ情報を有するとき、ユーザに後述する特定のセキュリティレベルが付与されているとき等が設定されてもよい。これによって、セキュリティIDの種類に応じたアクセスの制限が可能となり、言葉情報のデータ種別に基づいたデータ単位でのデータアクセスの制限が実現できる。
アクセス権限とは、システムを利用するユーザやユーザのグループに対して設定されるデータを操作する権限のことである。データの操作には、例えば、データの閲覧、データの削除、データの更新等が挙げられる。
また、ID付与部122は、「日付データ」のデータ種別が推定された言葉情報を時系列情報として扱ってもよい。時系列情報とは、時系列データを時系列に変換するための情報である。時系列データは、例えば、「10時」、「先月」、「昨日」、「先週」、「今年」、「今月」、「昨年」、「前期」、「今年度」等であるが、時系列に変換し得る情報であれば何でもよい。
時系列情報は、時系列データと、日情報取得情報とを有する。日情報取得情報とは、日情報を取得するための情報である。日情報とは、時系列データに対応する日に関する情報であり、問合情報を構成する際に使用する情報である。日情報は、例えば、“4月1日”等の日付を示す情報でもよいし、“4/1~4/30”等の開始日付から終了日付までの期間を示す情報でもよく、これらに限定されるものではない。日情報取得情報は、例えば、関数名、またはメソッド名であるが、API情報でもよいし、プログラム自体でもよく、またこれらに限定されるものではない。
具体的には、時系列データ「先月」に対する日情報取得情報は、例えば、現在時刻情報(例えば“2019年5月10日11時15分”:以下同様)を取得し、当該現在時刻情報が有する月(例えば“5月”)に対して前の月(例えば“4月”)を取得し、当該前の月のカレンダー情報を参照して、当該前の月の初日から末日までの日情報(例えば“4/1~4/30”等)を取得するプログラム情報等でもよい。
また、時系列データ「今年」に対する日情報取得情報は、例えば、現在時刻情報を取得し、当該現在時刻情報が有する年(例えば“2019年”)のカレンダー情報を参照して、当該年の初日から、当該現在時刻情報が有する日までの日情報(例えば、“2019/1/1~2019/5/10”)を取得するAPI情報等でもよい。
さらに、時系列データ「昨日」に対する日情報取得情報は、現在時刻情報を取得し、当該現在時刻情報が有する日の前の日の日情報(例えば、“5/9”)を取得するメソッド、またはそのメソッド名等でもよい。
ID付与部122は、時系列情報を、会話文の付加情報として記憶部13に保存してもよい。これによって、入力された会話文に対して、会話が行われた日時を自動的に取得することが可能となる。
また、ID付与部122は、会話文に対する付加情報に基づいて、会話文に含まれる言葉情報にセキュリティIDを付与してもよい。付加情報とは、例えば、会話文を取得した時系列情報、会話文の発言者、発言者のプロパティ情報、会話文の発言場所等である。付加情報は会話文又は言葉情報に紐付けて、記憶部13に記憶してもよい。ID付与部122は、例えば、会話文の発言者のプロパティ情報として、発言者の所属がA社であるという付加情報が入力された場合、上述した会話文に「A社」のセキュリティIDを付与してもよい。また、ID付与部122は、取り扱うデータが増えるたびに、セキュリティIDを定義してもよい。
次に、ステップS15に移行し、記憶部13は、ステップS13により推論された言葉情報に対して、ステップS14により付与されたセキュリティIDからなるエンティティが、1対1又は複数対1で紐づけられたエンティティテーブルを記憶する。
エンティティテーブルは、表1に示すように、例えば、1以上の各エンティティに対応付けて、1または2以上のエンティティ値が格納されるテーブルである。エンティティとは、1または2以上の各セキュリティIDである。エンティティ値は、言葉情報である。また、エンティティ値は、エンティティを具体化した言葉情報であってもよい。エンティティテーブルは、エンティティとエンティティ値が互いに一対一、又は一対複数で紐付けられている。具体的には、例えば、エンティティとして「出退勤」に紐付けて、「出社」、「退社」等がエンティティ値として記憶されていてもよい。このため、このエンティティテーブルを介して、エンティティ値からこれに関連するエンティティを導出することができ、またエンティティからエンティティ値を導出することも可能となる。また、テーブルは、例えば、リレーショナルデータベースのテーブル、TSV、エクセル、CSV等であるが、その種類はこれらに限定されるものではない。
また、エンティティテーブルには、エンティティに対して、1または2以上の関連性のある言葉情報がエンティティ値として記憶されてもよい。関連性のある言葉情報は、例えば類義語であってもよい。また、関連性のある言葉情報は、例えば略語であってもよい。略語とは、言葉情報の一部で構成される語である。例えば「三田駅」の略語として「三田」、「大阪府」の略として「大阪」などがある。また、関連性は、エンティティとエンティティ値との間における連関度を有する連関性であってもよい。
記憶部13は、このエンティティテーブルを介して、新たに取得した言葉情報をエンティティ値としてエンティティと紐づけて記憶することができる。仮にエンティティが「出退勤」である場合において、新たに取得した言葉情報が「遅刻」である場合、「出退勤」のエンティティに「遅刻」のエンティティ値を紐づけて記録することが可能となる。これにより、例えば言葉情報がエンティティに紐づいていない場合、新たに言葉情報をエンティティに紐づけて記憶することが可能となるため、セキュリティIDが付与された言葉情報をデータ単位で検索することができる。
次にステップS16に移行し、セキュリティレベル付与部123は、各ユーザのプロパティ情報に基づき、各ユーザにセキュリティレベルを付与する。セキュリティレベルとは、セキュリティIDが付与された言葉情報に対して、アクセス権限を制限するための情報である。プロパティ情報とはプロパティの情報であり、プロパティとは、職種、年齢、担当業務、所属グループ、性別等の性質である。例えば、ユーザの担当業務が社員の体調管理に関する業務であった場合、「ヘルスケア」のセキュリティIDが付与された言葉情報に対して、比較的に制限の緩いアクセス権限が決定されるセキュリティレベルがユーザに付与される。セキュリティレベル付与部123は、ユーザに付与されたセキュリティレベルを記憶部13に出力する。
次にステップS17に移行し、記憶部13はセキュリティIDと、各ユーザに付与されたセキュリティレベルとの関係テーブルを参照し、言葉情報に付与されたセキュリティIDを介して、各ユーザに対する言葉情報へのアクセス権限を決定する。
表2は、セキュリティIDと、各ユーザに付与されたセキュリティレベルとの関係テーブルの例である。記憶部13は、例えば、図7のようにユーザから言葉情報へのアクセスが行われた場合、関係テーブルを参照し、言葉情報に付与されたセキュリティIDを介して、ユーザに対する言葉情報へのアクセス権限を決定する。例えばセキュリティレベルとしてレベル3が与えられたユーザBが、出退勤のセキュリティIDが付与された言葉情報へアクセスする際、関係テーブルを参照し、ユーザBは言葉情報の参照が可能となる。これによって、ユーザのプロパティ情報に基づいた言葉情報への詳細なアクセス権限を設定することが可能となり、ユーザのプロパティ情報に合わせたデータ単位でのデータアクセスの制限が可能となる。
関係テーブルは、セキュリティレベルとセキュリティIDの組み合わせを、想定するユーザに応じて定義してもよい。また、関係テーブルは、セキュリティIDの種類ごとに、セキュリティレベルが付与されたユーザへのアクセス権限を定義してもよい。また、関係テーブルは、ステップS16によってユーザに付与されたセキュリティレベルではなく、予めユーザに付与されたセキュリティレベルとセキュリティIDとの関係テーブルであってもよい。また、記憶部13に記憶された各種情報は、演算部12による制御に基づき読み出され、更新される場合もある。
上述した各ステップを行うことにより、情報処理装置1は、セキュリティIDが付与された言葉情報及び言葉情報を含む会話文を記憶する動作を終了する。
次に本発明を適用した第1実施形態における情報処理装置1の上述したステップS11~ステップS17により予め記憶された言葉情報を検索する動作について説明をする。
まず、図4(b)に示すようにステップS101において言葉情報を取得する。かかる場合、取得部11は、ステップS11と同様に、音声、又はテキストデータで言葉情報を取得する。取得部11は、取得した言葉情報を記憶部13に出力する。
次に、ステップS102において、記憶部13は、エンティティテーブルを参照し、取得部11により取得された言葉情報に対応するエンティティを抽出する。かかる場合、取得部11により取得された言葉情報が「出社」であったとすると、表1のエンティティテーブルを参照し、「出社」のエンティティ値に紐づく「出退勤」のエンティティを抽出する。
次に、ステップS103において、記憶部13は、記憶された言葉情報をから、抽出したエンティティに対応するセキュリティIDが付与された言葉情報又は当該言葉情報を含む会話文を検索する。かかる場合、記憶部13は、例えば抽出したエンティティが「出退勤」であるとすると、「出退勤」のセキュリティIDが付与された言葉情報及び当該言葉情報を含む会話文を検索する。これにより、入力された言葉情報からエンティティを抽出することが可能となるため、セキュリティIDが付与された言葉情報をデータ単位で検索することができる。
記憶部13は、ユーザが記憶部13に保存された言葉情報及び当該言葉情報を含む会話文へアクセスを求めた際、ステップS103で検索された言葉情報を、ユーザに対する言葉情報へのアクセス権限に基づいて、言葉情報及び当該言葉情報を含む会話文を出力部14に出力する。出力部14は、表示部109又はユーザ端末2等を介して、ユーザが認識できるように言葉情報を表示する。また、表示部109は、言葉情報の音声データをスピーカなどの音声再生装置を用いて、音声で出力してもよい。また、記憶部13は、ユーザにセキュリティレベルが付与されていない場合、ID付与部122で言葉情報に付与されたパスコードに基づいて、言葉情報を出力部14に出力してもよい。
また、ユーザに付与されたセキュリティレベルに応じて、ユーザに設定されたアクセスが可能な言葉情報、言葉情報を含む会話文及び画像をユーザからの検索等の受付を行うことなく、表示部109に出力してもよい。これによって、ユーザのプロパティに応じて、ユーザに関連する言葉情報を自動的に表示することが可能となる。
また入力部108は、ユーザに対する言葉情報へのアクセス権限に基づいて、ステップS103で検索された言葉情報に対する削除又は更新等のデータの操作を受け付けてもよい。また、この言葉情報に対する削除又は更新等のデータの操作は、ユーザ端末2等を介して、行われてもよい。
〈第2実施形態〉
次に、本発明を適用した第2実施形態における情報処理装置1の画像にセキュリティIDを付与する動作について説明をする。第2実施形態は、取得した画像に対してデータ種別を推定し、画像に対してセキュリティIDを付与する点で、第1実施形態と異なる。第1実施形態と同一なものは説明を省略する。図8に示すようにステップS21において会話文と画像を取得する。
次にステップS22に移行し、S11において取得された画像を読み出し、これを画像解析する。この画像解析は、主として解析部120が行う。画像解析は周知のいかなる技術を利用するようにしてもよい。解析部120は、画像を、例えばディープラーニング技術を利用した、解析画像の特徴量を2次元画像上に反映させた複数の画素の集合体であるブロック領域単位に分類し、解析を行ってもよい。
次にステップS23に移行し、データ種別推定部121は、第2推論モデルを用いて、解析部120から入力された画像に対するデータ種別を推定する。
第2推論モデルとは、予め取得された参照用画像とデータ種別とからなるデータセットを学習データとして用い、入力を参照用画像とし、出力をデータ種別として、機械学習により生成された学習済みモデルである。例えば、病院の画像であれば、画像にヘルスケアデータを推定する。
第2推論モデルの生成方法として、例えばニューラルネットワークをモデルとした機械学習を用いて、第2推論モデルを生成してもよい。第2推論モデルは、例えばCNN(Convolution Neural Network) 等のニューラルネットワークをモデルとした機械学習を用いて生成されるほか、任意のモデルが用いられてもよい。
第2推論モデルには、例えば図9のように、参照用画像とデータ種別との間における連関度を有する連関性が記憶される。連関度は、参照用画像とデータ種別との繋がりの度合いを示しており、例えば連関度が高いほど各データの繋がりが強いと判断することができる。連関度は、例えば百分率等の3値以上又は3段階以上で示されるほか、2値又は2段階で示されてもよい。
例えば連関性は、複数の参照用画像、対、複数のデータ種別の間における繋がりの度合いにより構築される。連関性は、機械学習の過程で適宜更新され、例えば複数の参照用画像、及び複数のデータ種別に基づいて最適化された関数を用いた分類器を示す。なお、連関性は、例えば各データの間における繋がりの度合いを示す複数の連関度を有してもよい。連関度は、例えばデータベースがニューラルネットワークで構築される場合、重み変数に対応させることができる。連関性は、例えば図9に示すように、複数の参照用画像と、複数のデータ種別との間における繋がりの度合いを示してもよい。この場合、連関性を用いることで、図9の「参照用画像A」~「参照用画像C」のそれぞれの参照用画像に対し、「データ種別A」~「データ種別C」の複数のデータ種別との関係の度合いを紐づけて記憶させることができる。このため、例えば連関性を介して、1つのデータ種別に対して、複数の参照用画像を紐づけることができる。これにより、画像に対して多角的なデータ種別の選択を実現することができる。
連関性は、例えば各データ種別と、各画像とをそれぞれ紐づける複数の連関度を有する。連関度は、例えば百分率、10段階、又は5段階等の3段階以上で示され、例えば線の特徴(例えば太さ等)で示される。例えば、画像に含まれる「画像A」は、データ種別に含まれる「データ種別A」との間の連関度AA「73%」を示し、画像に含まれる「画像B」との間の連関度AB「12%」を示す。すなわち、「連関度」は、各データ間における繋がりの度合いを示しており、例えば連関度が高いほど、各データの繋がりが強いことを示す。
このような図9に示す3段階以上の連関度を予め取得しておく。つまり実際の推定解の判別を行う上で、画像と、データ種別の何れが採用、評価されたか、過去のデータセットを蓄積しておき、これらを分析、解析することで図9に示す連関度を作り上げておく。
例えば、過去において、画像Dに対して、データ種別として出退勤データが最も適合性が高いと判断され、評価されたものとする。このようなデータセットを集めて分析することにより、参照用画像とデータ種別との連関度が強くなる。
この分析、解析は人工知能により行うようにしてもよい。かかる場合には、例えば入力された画像に、過去のデータセットに基づいて、出退勤データのデータ種別が推定される事例が多い場合には、この画像と出退勤データとにつながる連関度をより高く設定する。
また、この連関度は、人工知能におけるニューラルネットワークのノードで構成されるものであってもよい。即ち、このニューラルネットワークのノードが出力に対する重み付け係数が、上述した連関度に対応することとなる。またニューラルネットワークに限らず、人工知能を構成するあらゆる意思決定因子で構成されるものであってもよい。
また、第2推論モデルは、図10に示すように、入力データとして参照用画像が入力され、出力データとしてデータ種別が出力され、入力データと出力データとの間に少なくとも1以上の隠れ層が設けられ、機械学習させるようにしてもよい。入力データ又は隠れ層データの何れか一方又は両方において上述した連関度が設定され、これが各データの重み付けとなり、これに基づいて出力の選択が行われる。そして、この連関度がある閾値を超えた場合に、その出力を選択するようにしてもよい。
このような連関度が、人工知能でいうところの学習済みデータとなる。このような学習済みデータを作った後に、実際にこれから新たに画像からデータ種別の推定を行うこととなる。かかる場合には、ステップS22において解析した画像を新たに取得する。新たに取得した画像に基づいて、これに見合うデータ種別を推定する。推定の際には、例えば予め取得した図9に示す連関度を参照する。例えば、新たに取得した画像が「参照用画像A」と同一かこれに類似するものである場合には、連関度を介して「データ種別A」との間の連関度AA「73%」、「データ種別B」との間の連関度AB「12%」で関連付けられている。この場合には、連関度の最も高い「データ種別A」を最適解として選択する。但し、最も連関度の高いものを最適解として選択することは必須ではなく、連関度は低いものの連関性そのものは認められる「データ種別B」を最適解として選択するようにしてもよい。また、これ以外に矢印が繋がっていない出力解を選択してもよいことは勿論であり、連関度に基づくものであれば、その他いかなる優先順位で選択されるものであってもよい。
このような連関度を参照することにより、画像が、データ種別と同一又は類似である場合のほか、非類似である場合においても、画像に適したデータ種別を定量的に選択することができるため、会話文から抽出した画像がいかなるデータ種別に該当するものであるのかを精度良く判別することができる。
次にステップS24へ移行し、ID付与部122は、ステップS23で推定されたデータ種別に対応する、画像へのアクセス権限に紐づく1以上のセキュリティIDを画像に付与する。これによって、画像へのアクセス権限を管理することができる。
本発明の実施形態を説明したが、この実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。