(58)【調査した分野】(Int.Cl.,DB名)
第1ネットワークに接続する第1サーバ装置と、前記第1ネットワークとは異なる第2ネットワークに接続する第2サーバ装置と、前記第1ネットワークと前記第2ネットワークの間に構築されるファイアウォールとを備え、前記第1サーバ装置と前記第2サーバ装置とが通信コネクションを確立して前記ファイアウォールを越えて互いに通信する情報処理システムであって、
前記第1サーバ装置は、
要求が含まれたメッセージを、前記第1ネットワークに接続する端末装置のメッセンジャーアプリから取得し、取得した前記メッセージであってアプリケーション層のメッセージを、ウェブソケットプロトコルによって確立されている前記通信コネクションを通じて前記第2サーバ装置に送信するメッセージ転送部、
を備え、
前記第2サーバ装置は、
前記第1サーバ装置から送信されたメッセージであって、人間の作業を模倣するソフトウェアの擬人アカウントを示すキーワードを含むメッセージを分析し、前記要求の内容を表すキーワード情報を抽出する要求分析部と、
前記要求分析部が抽出した前記キーワード情報に基づいて、前記第2ネットワークに接続する外部装置に記憶された外部記憶情報を参照し、前記要求の内容に応じた処理を実行し、処理結果に基づく回答内容を示すメッセージであって、前記メッセンジャーアプリ上で、前記擬人アカウントをメッセージの送信元とする回答メッセージを生成させる要求処理部と、
を備える情報処理システム。
第1ネットワークに接続する第1サーバ装置と、前記第1ネットワークとは異なる第2ネットワークに接続する第2サーバ装置と、前記第1ネットワークと前記第2ネットワークの間に構築されるファイアウォールとを備え、前記第1サーバ装置と前記第2サーバ装置とが通信コネクションを確立して前記ファイアウォールを越えて互いに通信する情報処理システムにおける情報処理方法であって、
前記第1サーバ装置が、要求が含まれたメッセージを、前記第1ネットワークに接続する端末装置のメッセンジャーアプリから取得し、取得した前記メッセージであってアプリケーション層のメッセージを、ウェブソケットプロトコルによって確立されている前記通信コネクションを通じて前記第2サーバ装置に送信する第1ステップと、
前記第2サーバ装置が、前記第1サーバ装置から送信されたメッセージであって、人間の作業を模倣するソフトウェアの擬人アカウントを示すキーワードを含むメッセージを分析し、前記要求の内容を表すキーワード情報を抽出する第2ステップと、
前記第2サーバ装置が、前記第2ステップにおいて抽出した前記キーワード情報に基づいて、前記第2ネットワークに接続する外部装置に記憶された外部記憶情報を参照し、前記要求の内容に応じた処理を実行し、処理結果に基づく回答内容を示すメッセージであって、前記メッセンジャーアプリ上で、前記擬人アカウントをメッセージの送信元とする回答メッセージを生成させる第3ステップと、
を含む情報処理方法。
第1ネットワークに接続する第1サーバ装置と、前記第1ネットワークとは異なる第2ネットワークに接続する第2サーバ装置と、前記第1ネットワークと前記第2ネットワークの間に構築されるファイアウォールとを備え、前記第1サーバ装置と前記第2サーバ装置とが通信コネクションを確立して前記ファイアウォールを越えて互いに通信する情報処理システムにおける第2サーバ装置のコンピュータに、
要求が含まれ、前記第1ネットワークに接続する端末装置のメッセンジャーアプリから前記第1サーバ装置が取得したメッセージであってアプリケーション層のメッセージを、ウェブソケットプロトコルによって確立されている前記通信コネクションを通じて前記第1サーバ装置から受信し、受信した前記メッセージであって、人間の作業を模倣するソフトウェアの擬人アカウントを示すキーワードを含むメッセージを分析し、前記メッセージに含まれる要求の内容を表すキーワード情報を抽出する第1ステップと、
前記第1ステップにおいて抽出した前記キーワード情報に基づいて、前記第2ネットワークに接続する外部装置に記憶された外部記憶情報を参照し、前記要求の内容に応じた処理を実行し、処理結果に基づく回答内容を示すメッセージであって、前記メッセンジャーアプリ上で、前記擬人アカウントをメッセージの送信元とする回答メッセージを生成させる第2ステップと、
を実行させるためのプログラム。
【発明を実施するための形態】
【0012】
以下、本発明の一実施形態について、図面を参照して説明する。
[第1の実施形態]
(第1の実施形態の概要)
本発明の第1の実施形態について説明する。
まず、本実施形態の概要について説明する。
図1は、本実施形態に係る情報処理システム1の概要を示す模式図である。
本実施形態に係る情報処理システム1は、社内ネットワークに構築された社内システムと、社外ネットワークに構築された社外システムと、を備えるシステムである。社内システムとは、企業活動を支援する目的で、企業の施設内に構築された情報処理システムである。企業の情報セキュリティを向上させるため、社外ネットワークと、社内ネットワークとの間には、ファイアウォールが構築されている。従って、特別なアクセス権のない装置は、社外ネットワーク側から社外ネットワーク側にアクセスすることができない。ただし、社外ネットワークに接続された社外サーバ装置30と、社内ネットワークに接続されたシステム連携サーバ装置50との間には、ウェブソケット(WebSocket)による通信コネクションを確立することができる。
【0013】
社外ネットワークには、端末装置10と、社外サーバ装置30と、が接続されている。社内ネットワークには、システム連携サーバ装置50と、スケジューラサーバ装置71と、が接続されている。
端末装置10は、企業の社員が用いる電子機器である。以下、端末装置10のユーザである社員を、単にユーザと称する。
社外サーバ装置30は、端末装置10と、システム連携サーバ装置50との通信を仲介するサーバ装置である。
システム連携サーバ装置50は、例えば、人工知能(Artificial Intelligence)AIにより、社内ネットワークに接続された装置に蓄積された情報を参照して、社員からの要求に応じた処理を行う。
【0014】
情報処理システム1において、各ユーザは、端末装置10を利用して、他のユーザやシステム連携サーバ装置50の人工知能AIとメッセージを交換することができる。メッセージは、HTTPS(Hypertext Transfer Protocol Secure)、XMPP(eXtensible Messaging and Presence Protocol)等のアプリケーション層のメッセージである。また、メッセージは、主にテキストで構成されるが、絵文字や図形、写真などが含まれていてもよい。また、メッセージは、自然文であってよい。端末装置10から送信されたメッセージは、社外サーバ装置30からシステム連携サーバ装置50に転送される。従って、人工知能AIは、端末装置10から送信された任意のメッセージをモニタリングすることができる。人工知能AIは、端末装置10から自身宛てに送信されたメッセージを参照し、ユーザから自身への要求を(リクエスト)検出する。例えば、ユーザは、人工知能AI宛てに、スケジュール調整等の業務支援を要求することができる。
【0015】
以上のように、情報処理システム1は、社外ネットワークに接続する社外サーバ装置30と、社内ネットワークに接続するシステム連携サーバ装置50とが互いに通信する情報処理システムである。社外サーバ装置30は、要求が含まれたメッセージを、端末装置10から取得し、取得したメッセージをシステム連携サーバ装置50に送信する。システム連携サーバ装置50は、社外サーバ装置30から取得したメッセージを分析し、メッセージ内の要求に応じた処理を実行する。
【0016】
これにより、情報処理システム1では、端末装置10とシステム連携サーバ装置50との間のメッセージの送受信は、社外サーバ装置30が中継する。そして、社内ネットワークに接続する装置に対する処理は、システム連携サーバ装置50がメッセージを分析して実行する。つまり、情報処理システム1では、社外からの要求に対しては、システム連携サーバ装置50が代行するため、悪意のあるユーザが直接的に社内の情報にアクセスするリスクを低減することができる。その一方で、社外であっても、システム連携サーバ装置50に処理を代行させることはできるため、例えば、ユーザは、所望の情報を入手したり、情報を更新させたりすることができる。従って、情報処理システム1は、情報セキュリティを保ちつつ、任意の情報にアクセス可能とすることができる。
【0017】
また、システム連携サーバ装置50は、社外サーバ装置30を介して、メッセージを送受信するため、端末装置10の各々と個別に通信コネクションを確立する必要がない。つまり、情報処理システム1では、システム連携サーバ装置50と端末装置10との間でメッセージを送受信するために、端末装置10ごとに社内ネットワークと社外ネットワークとの間のファイアウォールにポートを開く必要がない。従って、情報処理システム1は、情報セキュリティを保つことができる。
以上が、情報処理システム1の概要についての説明である。
【0018】
(情報処理システム1の構成)
次に、情報処理システム1の構成について説明する。
図2は、情報処理システム1の構成を示すブロック図である。
情報処理システム1は、複数の端末装置10−1、10−2、10−3…と、社外サーバ装置30と、システム連携サーバ装置50と、スケジューラサーバ装置71と、CMSサーバ装置72と、決裁システムサーバ装置73と、を備える。以下では、複数の端末装置10−1、10−2、10−3…を特に区別しない場合には、端末装置10と称して説明する。端末装置10と、社外サーバ装置30とは、社外ネットワークNW1に接続する。システム連携サーバ装置50と、スケジューラサーバ装置71と、CMSサーバ装置72と、決裁システムサーバ装置73とは、社内ネットワークNW2に接続する。以下では、スケジューラサーバ装置71と、CMS(Content Management System)サーバ装置72と、決裁システムサーバ装置73とを、社内情報管理装置70と総称することがある。
【0019】
社外ネットワークNW1は、例えば、携帯電話網、PHS(Personal Handy−phone System)網、VPN(Virtual Private Network)網、専用通信回線網、WAN(Wide Area Network)、LAN(Local Area Network)、PSTN(Public Switched Telephone Network;公衆交換電話網)等を含む情報通信ネットワークである。
社内ネットワークNW2は、例えば、VPN網、専用通信回線網、WAN、LAN等を含む情報通信ネットワークである。
【0020】
端末装置10は、例えば、パーソナルコンピュータ、携帯電話、タブレット、スマートフォン、PHS端末装置、又はPDA(Personal Digital Assistant)等の電子機器である。端末装置10には、他のユーザとメッセージを送受信するためのアプリケーションがインストールされている。このアプリケーションは、メッセージを送受信できればどのようなアプリケーションであってよく、例えば、メッセンジャーアプリケーション、メーラーアプリケーション等であってよい。メッセンジャーアプリケーションとは、予め定められた複数のユーザにより構成されるグループ内でメッセージを送受信するアプリケーションである。例えば、グループが4人のメンバーにより構成される場合、あるメンバーにより投稿されたメッセージが、他の3人のメンバーに即座に配信される。そして、配信されたメッセージは、例えば、グループごとに分類され、スレッド形式で順次表示される。なお、本実施形態では、グループは、端末装置10のユーザと人工知能AIとを含んで構成される。
【0021】
社外サーバ装置30は、端末装置10と、システム連携サーバ装置50とのそれぞれと、通信コネクションを確立し、端末装置10と、システム連携サーバ装置50との間の通信を中継するサーバ装置である。社外サーバ装置30は、端末装置10から送信されたメッセージをシステム連携サーバ装置50に転送する。また、社外サーバ装置30は、システム連携サーバ装置50から送信されたメッセージを端末装置10に転送する。
【0022】
システム連携サーバ装置50は、社外サーバ装置30と通信コネクションを確立し、社外サーバ装置30を介して、端末装置10との間でメッセージを送受信する。また、システム連携サーバ装置50は、グループ内で送受信されるメッセージ又は自装置宛てのメッセージをモニタリングする。
【0023】
システム連携サーバ装置50は、上述した人工知能AIにより、スケジュール調整支援機能等の業務支援機能を備える。ただし、業務支援機能は、非人工知能により実現されてもよい。人工知能AIとは、人間の脳が行っている知的な作業をコンピュータで模倣したソフトウェアやシステムである。以下では、一例として、人工知能AIが、学習と推論とを行うソフトウェアである場合について説明する。人工知能AIによる学習と推論との技術には、任意の公知技術を採用してよい。以下では、人工知能AIによる学習と推論とに係る処理の詳細については省略する。
【0024】
スケジューラサーバ装置71は、ユーザや施設のスケジュールを管理するサーバ装置である。スケジューラサーバ装置71は、スケジュール情報記憶部711を備える。
スケジュール情報記憶部711は、ユーザのスケジュールや施設のスケジュールを表すスケジュール情報を記憶する。スケジュール情報は、設備のスケジュールを表してもよい。ユーザのスケジュールは、各予定について、例えば、予定日時、予定時間、予定場所、予定に関係する他の人物(参加者)等の情報により構成される。施設のスケジュールは、例えば、施設の利用日時、利用時間、利用者、利用目的等の情報により構成される。スケジューラサーバ装置71は、例えば、システム連携サーバ装置50からの要求に応じて、スケジュール情報を送信したり、スケジュール情報を書き込んだりする。
【0025】
CMSサーバ装置72は、社内で作成された各種コンテンツ(ファイル)を管理するサーバ装置である。CMSサーバ装置72は、社内で作成された各種コンテンツ(ファイル)を管理するものであればよく、例えば、勤怠管理システムなども含む。CMSサーバ装置72は、CMS関連情報記憶部732を備える。CMS関連情報記憶部732は、各種コンテンツを表すCMS関連情報を記憶する。CMSサーバ装置72は、例えば、システム連携サーバ装置50からの要求に応じて、CMS関連情報を送信する。
【0026】
決裁システムサーバ装置73、社内の決裁処理を管理するサーバ装置である。決裁システムサーバ装置73は、決裁状況情報記憶部731を備える。決裁状況情報記憶部731は、各種決裁状況を表す決裁状況情報を記憶する。決裁システムサーバ装置73は、例えば、システム連携サーバ装置50からの要求に応じて、決裁状況情報を送信する。
以上が、情報処理システム1の構成についての説明である。
【0027】
(社外サーバ装置30の構成)
次に、社外サーバ装置30の構成について説明する。
図3は、社外サーバ装置30の構成を示すブロック図である。
社外サーバ装置30は、社外サーバ第1通信部31と、社外サーバ第2通信部32と、記憶部33と、制御部34と、を備える。
社外サーバ第1通信部31は、通信用IC(Integrated Circuit)を備え、端末装置10と通信する。
社外サーバ第2通信部32は、通信用ICを備え、システム連携サーバ装置50と通信する。
【0028】
記憶部33は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)等を備え、ファームウェアやアプリケーションプログラムなど、社外サーバ装置30が備えるCPUが実行するための各種プログラムやCPUが実行した処理の結果などを記憶する。
また、記憶部33は、認証情報記憶部331を備える。認証情報記憶部331は、ユーザ認証情報を記憶する。
【0029】
ユーザ認証情報とは、端末装置10のユーザごとに定められたパスワード等の認証用の情報である。
図4に示すように、例えば、認証情報記憶部331は、ユーザ認証情報を、ユーザID(IDentifier)と対応付けて管理する。ここで、本実施形態では、システム連携サーバ装置50の人工知能AIに対しても、端末装置10のユーザと同様に、ユーザIDとユーザ認証情報とが割当てられる。つまり、社外サーバ装置30は、システム連携サーバ装置50と端末装置10とを同等に扱う。
【0030】
制御部34は、社外サーバ装置30の各構成を制御する。制御部34は、例えば、社外サーバ装置30が備えるCPUが記憶部33に記憶されているプログラムを実行することにより実現される。ただし、制御部34は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)等のハードウェアとして実現されてもよい。
【0031】
制御部34は、認証部341と、メッセージ転送部342と、を備える。
認証部341は、端末装置10とシステム連携サーバ装置50とを認証する処理を実行する。具体的には、認証部341は、通信コネクションの確立を要求する端末装置10又はシステム連携サーバ装置50に対して、ユーザ認証情報の送信を要求する。認証部341は、端末装置10又はシステム連携サーバ装置50からユーザ認証情報を受信すると、認証情報記憶部331から要求元の装置に係るユーザ認証情報を読み出す。認証部341は、端末装置10から受信したユーザ認証情報と、認証情報記憶部331から読み出したユーザ認証情報とを照合して端末装置10又はシステム連携サーバ装置50を認証する。認証部341は、認証済みの端末装置10又はシステム連携サーバ装置50との間での通信コネクションの確立を行い、メッセージの送受信を許可する。
【0032】
メッセージ転送部342は、端末装置10から受信したメッセージを、システム連携サーバ装置50に転送する。また、メッセージ転送部342は、システム連携サーバ装置50から受信したメッセージを、端末装置10に転送する。
以上が、社外サーバ装置30の構成についての説明である。
【0033】
(システム連携サーバ装置50の構成)
次に、システム連携サーバ装置50の構成について説明する。
図5は、システム連携サーバ装置50の構成を示すブロック図である。
システム連携サーバ装置50は、社内サーバ第1通信部51と、社内サーバ第2通信部52と、記憶部53と、制御部54と、を備える。
社内サーバ第1通信部51は、通信用ICを備え、社外サーバ装置30と通信する。
社内サーバ第2通信部52は、通信用ICを備え、社内情報管理装置70と通信する。
記憶部53は、例えば、HDD、フラッシュメモリ、EEPROM、ROM、RAM等を備え、ファームウェアやアプリケーションプログラムなど、システム連携サーバ装置50が備えるCPUが実行するための各種プログラムやCPUが実行した処理の結果などを記憶する。
【0034】
記憶部53は、アカウント情報記憶部531と、システム指定キーワード情報記憶部532と、を備える。
アカウント情報記憶部531は、アカウント情報を記憶する。アカウント情報とは、端末装置10のユーザに係る情報である。
システム指定キーワード情報記憶部532は、システム指定キーワード情報を記憶する。システム指定キーワード情報とは、メッセージ内に含まれる要求の抽出に用いられる情報である。
【0035】
ここで、アカウント情報と、システムキーワード情報の例について説明する。
図6は、アカウント情報の一例を示す図である。
図6に示す例において、アカウント情報には、氏(苗字)、名(名前)、システムユーザID、メッセンジャーユーザID、IDタイプ等の情報が、ユーザごとに記述されている。
システムユーザIDとは、社内情報管理装置70が管理する情報にアクセスするときに用いられるユーザの識別情報である。システムユーザIDは、社内情報管理装置70ごとに設けられてよい。メッセンジャーユーザIDとは、メッセージの送受信において用いられるユーザの識別情報である。つまり、システムユーザIDは、いわば社内ネットワークNW2において用いられる社内用の識別情報であり、メッセンジャーユーザIDは、いわば社外ネットワークNW1において用いられる社外用の識別情報である。IDタイプとは、情報へのアクセス権限を示す情報である。
【0036】
以上のようにアカウント情報は、ユーザごとに、社外用のユーザ識別情報と、社内用のユーザ識別情報とを管理する。そのため、システム連携サーバ装置50は、社外用のユーザ識別情報と、社内用のユーザ識別情報とを相互に変換可能である。従って、端末装置10は、社外用のユーザ識別情報を用いるだけで、社外から社内の情報へのアクセスすることができる。つまり、システム連携サーバ装置50は、社内用のユーザ識別情報を社外に出さないため、情報セキュリティを向上させることができる。
以上が、アカウント情報についての説明である。
【0037】
図7は、システム指定キーワード情報の一例を示す図である。
図7に示す例において、システム指定キーワード情報には、キーワード、連携先システム、システム操作等の情報が、キーワードごとに記憶されている。
キーワードとは、メッセージに含まれることが想定されたキーワードを示す情報である。連携先システムとは、キーワードに対応する社内情報管理装置70を示す情報である。つまり、連携先システムとは、アクセス先の社内情報管理装置70を示す情報である。システム操作とは、キーワードに応じてシステム連携サーバ装置50が行う処理の内容を示す情報である。
以上が、システム指定キーワード情報についての説明である。
【0038】
以上のようにシステム指定キーワード情報は、キーワードごとに、アクセス先の社内情報管理装置70と、処理の内容とを管理する。従って、システム連携サーバ装置50は、システム指定キーワード情報で管理されたキーワードを、メッセージから抽出することにより、どの社内情報管理装置70にアクセスして、どのような処理を行うべきかを判定することができる。
【0039】
図5に戻り、システム連携サーバ装置50の構成について、説明を続ける。
制御部54は、システム連携サーバ装置50の各構成を制御する。制御部54は、例えば、システム連携サーバ装置50のCPUが記憶部53に記憶されているプログラムを実行することにより機能する。ただし、制御部54は、LSIやASIC等のハードウェアとして実現されてもよい。
【0040】
制御部54は、社外サーバ認証部541と、要求分析部542と、要求処理部543と、メッセージ生成部544と、を備える。要求分析部542と、要求処理部543と、メッセージ生成部544とは、例えば、人工知能AIとして実現される。
社外サーバ認証部541は、社外サーバ装置30に自装置を認証させる処理を実行する。社外サーバ認証部541は、自装置のユーザ認証情報を社外サーバ装置30に送信する。認証に成功した場合、社外サーバ認証部541は、社外サーバ装置30との間での通信コネクションを確立する。
【0041】
要求分析部542は、端末装置10から送信されるメッセージを社外サーバ装置30を介して取得する。要求分析部542は、取得したメッセージから、要求内容を分析し、要求に対する処理内容を特定する。要求分析部542は、特定した処理内容とを表す情報を要求処理部543に出力する。
具体的には、まず、要求分析部542は、メッセージを形態素解析して、システム指定キーワード情報に記述されたキーワードを、メッセージから抽出する。要求処理部543は、抽出したキーワードに基づいて、システム指定キーワード情報記憶部532からシステム指定キーワード情報を抽出する。これにより、要求処理部543は、アクセスすべき社内情報管理装置70と、行うべき処理内容とを判定することができる。また、社内情報管理装置70へのアクセスに必要なシステムユーザIDやアクセス権限は、送信元の端末装置10のメッセンジャーユーザIDやメッセージから抽出された社員の氏名に係るアカウント情報を参照することにより特定することができる。なお、要求処理部543は、キーワードの抽出において、表現のゆらぎや曖昧さ、不明瞭さを補正してもよい。例えば、要求分析部542は、キーワードとして抽出されたユーザのニックネームや略称を、アカウント情報と照合し、ユーザを一意に特定してもよい。このように、要求分析部542は、表現のゆらぎや曖昧さ、不明瞭さを補正することにより、例えば、メッセージにおいてキーワードが正式名称で記載されていない場合であっても、要求分析部542は、要求内容を正しく分析することができる。
【0042】
また、要求分析部542は、メッセージからキーワードを十分に抽出できない場合に、情報の追加を要求するメッセージの生成を、メッセージ生成部544に要求する。例えば、要求分析部542は、スケジュール調整において、参加者、予定日時、予定場所のいずれかを抽出できない場合に、不足している情報を問い合わせるメッセージを生成させる。また、要求分析部542は、表現のゆらぎや曖昧さにより、キーワードとして複数の候補が想定される場合には、候補のいずれであるかを問い合わせるメッセージの生成を要求する。また、例えば、ユーザの苗字のみがメッセージに含まれている場合に、同じ苗字のユーザが複数いるために、いずれのユーザについて処理をすべきかを判定することができない可能性がある。この場合、要求分析部542は、いずれのユーザであるかを問い合わせるメッセージを生成させる。このように、システム連携サーバ装置50は、要求内容に不明瞭な部分がある場合には、要求元へのメッセージにより問合せを行う。従って、システム連携サーバ装置50は、要求内容を正確に把握することができる。
【0043】
要求処理部543は、要求分析部542から取得した処理内容を表す情報に基づいて、要求に応じた処理を実行する。例えば、要求処理部543は、要求分析部542から取得した処理内容に基づいて、社内情報管理装置70にアクセスし、必要な情報の参照や、更新を行う。例えば、要求処理部543は、スケジュール調整を行う場合には、要求元のユーザに係るスケジュール情報をスケジューラサーバ装置71から取得し、空き時間を特定する。また、例えば、要求処理部543は、CMSサーバ装置72が管理する情報の提供を要求された場合には、要求された情報をCMSサーバ装置72から取得する。また、例えば、要求処理部543は、決裁の状況について問合せを受けた場合には、決裁システムサーバ装置73から決裁状況情報を取得する。要求処理部543は、処理結果を示すメッセージの生成を、メッセージ生成部544に要求する。
【0044】
メッセージ生成部544は、要求分析部542や要求処理部543の要求に応じてメッセージを生成する。メッセージ生成部544は、情報セキュリティ上、社外に持ち出すことが不適切な情報を隠蔽したメッセージを生成してもよい。また、メッセージ生成部544は、アクセス権がない等、予め参照が禁止されている情報の参照が要求された場合には、参照が禁止されている旨を示すメッセージを生成してもよい。メッセージ生成部544は、生成したメッセージを要求元の端末装置10に送信する。
以上が、システム連携サーバ装置50の構成についての説明である。
【0045】
(情報処理システム1の動作)
次に、情報処理システム1の動作について説明する。
まず、端末装置10とシステム連携サーバ装置50との間でメッセージの送受信を可能とするための通信コネクション確立処理について説明する。
図8は、情報処理システム1による通信コネクション確立処理の流れの一例を示すシーケンスチャートである。
【0046】
図8に示す例では、情報処理システム1は、ステップS10から処理を開始する。
(ステップS10)システム連携サーバ装置50は、社外サーバ装置30に対して、認証要求を行う。具体的には、システム連携サーバ装置50は、自装置のユーザ認証情報を、社外サーバ装置30に送信する。なお、この処理は、例えば、システム連携サーバ装置50において、人工知能AIを起動したときに実行される。その後、情報処理システム1は、ステップS12に処理を進める。
【0047】
(ステップS12)社外サーバ装置30は、システム連携サーバ装置50から取得したユーザ情報に基づいて、システム連携サーバ装置50を認証する。その後、情報処理システム1は、ステップS14に処理を進める。
(ステップS14)認証に成功すると、社外サーバ装置30と、システム連携サーバ装置50とは、通信コネクションを確立する。この通信コネクションは、例えば、ウェブソケットである。これにより、社外サーバ装置30と、システム連携サーバ装置50は、必要な通信を全てこの通信コネクション上で行うことができる。その後、情報処理システム1は、ステップS16に処理を進める。
【0048】
(ステップS16)端末装置10は、社外サーバ装置30に対して、認証要求を行う。具体的には、端末装置10は、自装置のユーザ認証情報を、社外サーバ装置30に送信する。なお、この処理は、例えば、端末装置10において、メッセンジャーアプリケーションが起動されたときに実行される。その後、情報処理システム1は、ステップS18に処理を進める。
(ステップS18)社外サーバ装置30は、システム連携サーバ装置50から取得したユーザ情報に基づいて、端末装置10を認証する。その後、情報処理システム1は、ステップS20に処理を進める。
【0049】
(ステップS20)認証に成功すると、社外サーバ装置30と、端末装置10とは、通信コネクションを確立する。この通信コネクションは、例えば、ウェブソケットである。これにより、社外サーバ装置30と、端末装置10とは、必要な通信を全てこの通信コネクション上で行うことができる。この時点で、社外サーバ装置30と、システム連携サーバ装置50との間の通信コネクションも確立していれば、端末装置10と、システム連携サーバ装置50は、互いにメッセージを送受信することができる。そして、情報処理システム1は、
図8に示す処理を終了する。
なお、
図8に示す例において、ステップS10〜14の処理と、ステップS16〜S20の処理の順序は逆であってもよい。
以上が、通信コネクション確立処理の流れについての説明である。
【0050】
次に、メッセージによる業務支援の要求と、要求に応じた処理を行うメッセージ処理の流れについて説明する。
図9は、情報処理システム1によるメッセージ処理の流れの一例を示すシーケンスチャートである。
図9に示す例では、情報処理システム1は、ステップS30から処理を開始する。
(ステップS30)端末装置10は、要求を含むメッセージ(以下、要求メッセージと称する。)を、システム連携サーバ装置50に送信する。その後、情報処理システム1は、ステップS32に処理を進める。
【0051】
(ステップS32)システム連携サーバ装置50は、要求メッセージから要求内容を分析する。具体的には、要求メッセージからキーワードを抽出する。そして、システム指定キーワード情報を参照して、要求内容を特定する。その後、情報処理システム1は、ステップS34に処理を進める。
【0052】
(ステップS34)システム連携サーバ装置50は、特定した要求内容に応じた処理を実行する。例えば、システム連携サーバ装置50は、社内情報管理装置70に対して、情報の取得要求や情報の更新要求を実行する。その後、情報処理システム1は、ステップS36に処理を進める。
(ステップS36)社内情報管理装置70は、システム連携サーバ装置50からの要求に応じた処理を実行する。例えば、社内情報管理装置70は、自装置が管理する情報をシステム連携サーバ装置50に送信したり、自装置が管理する情報を更新したりする。その後、情報処理システム1は、ステップS38に処理を進める。
【0053】
(ステップS38)システム連携サーバ装置50は、処理結果を示すメッセージ(以下、回答メッセージと称する。)を生成する。その後、情報処理システム1は、ステップS40に処理を進める。
【0054】
(ステップS40)システム連携サーバ装置50は、回答メッセージを端末装置10に送信する。その後、情報処理システム1は、ステップS42に処理を進める。
(ステップS42)端末装置10は、システム連携サーバ装置50から受信した回答メッセージを表示して、要求に対する回答をユーザに提示する。そして、情報処理システム1は、
図9に示す処理を終了する。
以上が、メッセージ処理の流れについての説明である。
【0055】
(要求メッセージと回答メッセージとの具体例)
次に、
図10〜14を参照して、要求メッセージと回答メッセージとの具体例について説明する。
図10に示す例では、端末装置10のユーザ(一般社員)から、別の社員(管理職)のスケジュールを問い合わせる要求メッセージが送られている。これに対して、システム連携サーバ装置50は、問合せ対象のユーザに係るスケジュール情報を、スケジューラサーバ装置71から取得する。しかしながら、取得したスケジュール情報には、アクセス制限が一部設定されている(
図10における「管理職のみ」)。そこで、システム連携サーバ装置50は、取得できたスケジュール情報のうち、アクセス制限が設定されていない情報のみを含む回答メッセージを生成する。このように、システム連携サーバ装置50は、要求元のユーザのアクセス権限に基づいて、開示が不適切な情報をフィルタリングする。そして、システム連携サーバ装置50は、開示が不適切な情報については、回答しなくてもよい。また、システム連携サーバ装置50は、開示が不適切な情報については、開示が不適切な部分のみを伏せて、回答してもよい。例えば、
図10に示す例では、管理者のみに公開が許されている「人事相談」を、「予定あり」に置き換えた回答メッセージが生成されている。これにより、ユーザは、開示が不適切な情報についても、少なくとも情報が存在することを認識することができる。
【0056】
図11に示す例では、端末装置10から、打合せのためのスケジュール調整を依頼する要求メッセージが送信されている。これに対して、システム連携サーバ装置50は、要求メッセージの形態素解析を実行し、キーワードを抽出する。また、システム連携サーバ装置50は、抽出したキーワードの種類を特定する。システム連携サーバ装置50は、予め用意された回答メッセージ用のテンプレートに、抽出したキーワードを当てはめて回答メッセージを生成する。このように、システム連携サーバ装置50は、テンプレートを用いて回答メッセージを生成してもよい。
【0057】
図12に示す例では、システム連携サーバ装置50は、あるユーザのスケジュール情報を、スケジューラサーバ装置71から取得している。ここで、スケジュール情報には、「Axxx社」、「Bxxx社」、「Cxxx社」等の固有名詞が含まれており、情報セキュリティ上、これらの固有名詞が誰にでも特定できる形で回答されることは好ましくない。そこで、システム連携サーバ装置50は、固有名詞を曖昧な表現にしたり、特定のユーザにしか認識できないように表現を用いたりする。例えば、「Axxx社」を、単に「お客さま」と表現してぼかしたり、「Cxxx社」を「C社」として、特定ユーザにしか認識できないようにする。このように、システム連携サーバ装置50は、一部の情報を隠蔽した回答メッセージを生成してもよい。なお、情報の隠蔽は、他の文字、記号への置換、部分的な削除、表示態様の変更、暗号化等、任意の方法により行われてよい。表示態様を変更する場合には、例えば、隠蔽する文字列を、背景色で示すことが考えられる。この場合、文字の色を反転する操作を行うこと等により、ユーザは、隠蔽された情報を確認することができる。
【0058】
図13に示す例では、端末装置10から連続して要求メッセージが送信されている。処理P11では、「ティム(人工知能AIの名称)、明日の予定を教えて」との要求が行われている。これに対して、システム連携サーバ装置50は、要求メッセージの形態素解析を行い、「ティム」、「明日」、「予定」、「教えて」というキーワードを抽出する。そして、「予定」というキーワードから、アクセス先の社内情報管理装置70をスケジューラサーバ装置71とし、処理内容を「明日」のスケジュール情報の取得とする。次に、システム連携サーバ装置50は、ユーザから指定された条件を満たすスケジュール情報を、スケジューラサーバ装置71から取得する(処理P12)。次に、システム連携サーバ装置50は、取得したスケジュール情報の内容を、回答メッセージとして送信する(処理P13)。これに対して、端末装置10は、2つのスケジュールのうちの一方の詳細を尋ねるため、「1」を要求メッセージとして送信している(処理P14)。システム連携サーバ装置50は、この問合せに対して、先程行った2つのスケジュールの内容の送信という処理の内容を鑑みて、「1」との要求メッセージが、先の2つのスケジュールのうちの一方を要求していると判定する。そして、システム連携サーバ装置50は、「1」のスケジュールの詳細を、回答メッセージとして送信する(処理P15)。このように、システム連携サーバ装置50は、連続的な会話のように、複数回の連続した要求メッセージに対して、回答メッセージを生成してもよい。
【0059】
図14に示す例では、端末装置10からの要求メッセージに対して、情報の追加を要求する回答メッセージが送信されている。処理P21では、「ティム(人工知能AIの名称)、打合せ設定」との要求メッセージが送信されており、要求する処理内容のみが通知されている。これに対して、システム連携サーバ装置50は、要求メッセージの形態素解析を行い、「ティム」、「打合せ設定」というキーワードを抽出する。そして、「打合せ設定」というキーワードから、アクセス先の社内情報管理装置70をスケジューラサーバ装置71とし、処理内容を「打合せ設定」とする。ここで、「打合せ設定」には、参加者、日時というパラメータが必要になる。そこで、システム連携サーバ装置50は、参加者を問い合わせる回答メッセージと、日時を問い合わせる回答メッセージを送信する(処理P22、P24)。
【0060】
次に、ユーザから、参加者と、日時との指定を受けると(処理P23、P25)、システム連携サーバ装置50は、ユーザから指定された条件を満たすスケジュール情報を、スケジューラサーバ装置71から取得する(処理P26)。ここで、システム連携サーバ装置50は、打合せの設定に必要な別のパラメータである場所についても、候補となる場所のスケジュール情報を合わせて取得する。次に、システム連携サーバ装置50は、取得したスケジュール情報を参照し、空き時間をマッチングする。次に、システム連携サーバ装置50は、マッチングの結果、打合せの日取りと場所との候補の一覧を、回答メッセージとして端末装置10に送信する(処理P27)。ユーザが、候補のいずれかを選択すると(処理P28)、システム連携サーバ装置50は、選択された候補について、スケジューラサーバ装置71のスケジュール情報を更新する。そして、システム連携サーバ装置50は、スケジュール情報の更新結果を、回答メッセージとして端末装置10に送信する。このように、システム連携サーバ装置50は、要求された処理を実行するために不足している情報を、メッセージにより端末装置10に対して要求してもよい。
以上が、要求メッセージと回答メッセージとの具体例についての説明である。
【0061】
(第1の実施形態のまとめ)
以上説明してきたように、本実施形態に係る情報処理システム1は、社外ネットワークNW1(第1ネットワークの一例)に接続する社外サーバ装置30(第1サーバ装置の一例)と、社外ネットワークNW1とは異なる社内ネットワークNW2(第2ネットワークの一例)に接続するシステム連携サーバ装置50(第2サーバ装置の一例)とが互いに通信する情報処理システムである。
社外サーバ装置30は、要求が含まれたメッセージを、社外ネットワークNW1に接続する端末装置10から取得し、取得したメッセージをシステム連携サーバ装置50に送信するメッセージ転送部342を備える。
システム連携サーバ装置50は、社外サーバ装置30から送信されたメッセージを分析し、要求の内容を表すキーワード情報を抽出する要求分析部542と、要求分析部542が抽出したキーワード情報に基づいて、社内ネットワークNW2に接続する外部装置(例えば、社内情報管理装置70)に記憶された外部記憶情報(例えば、スケジュール情報、CMS関連情報、決裁状況情報)を参照し、要求の内容に応じた処理を実行する要求処理部543と、を備える。
【0062】
これにより、情報処理システム1では、端末装置10とシステム連携サーバ装置50との間のメッセージの送受信は、社外サーバ装置30が中継する。また、社内ネットワークNW2に接続する外部装置へのアクセスは、端末装置10から直接行うのではなく、システム連携サーバ装置50が代行する。従って、情報処理システム1は、情報セキュリティを保ちつつ、任意の情報にアクセス可能とすることができる。
【0063】
また、社外サーバ装置30は、メッセージの送信元ごとに予め定められた認証情報を記憶する認証情報記憶部331と、端末装置10から受信した認証情報と、認証情報記憶部331に記憶された認証情報とに基づいて、端末装置10を認証し、システム連携サーバ装置50から受信した認証情報と、認証情報記憶部331に記憶された認証情報とに基づいて、システム連携サーバ装置50を認証する認証部341をさらに備え、メッセージ転送部342は、認証部341が認証した端末装置10から取得したメッセージを、認証部341が認証したシステム連携サーバ装置50に送信する。
【0064】
これにより、端末装置10とシステム連携サーバ装置50との間の通信は、システム連携サーバ装置50による認証が行われた場合にのみ行うことができる。従って、情報処理システム1は、情報セキュリティを向上させることができる。また、認証は、端末装置10と、システム連携サーバ装置50とについて、同様に行われるため、社外サーバ装置30は、端末装置10とシステム連携サーバ装置50とについて、個別の認証機能を備える必要がない。従って、情報処理システム1において、社外サーバ装置30の実装は容易でありながら、情報処理システム1は、情報セキュリティを低下させずに、容易にメッセージの送受信を開始することができる。
【0065】
また、要求処理部543は、要求に対して一部の情報を隠蔽した回答を示すメッセージを生成する。
これにより、情報処理システム1は、社外ネットワークNW1への持ち出しが不適切な情報やアクセス権限のない情報の内容を、特定ユーザ以外にとってわかりにくくすることができる。従って、情報処理システム1は、情報セキュリティを向上させつつ、ユーザに必要な情報を伝達することができる。
【0066】
また、要求処理部543は、要求の内容に応じた処理を実行するために、予め参照が禁止されている外部記憶情報を参照する必要がある場合には、当該情報の参照が禁止されている旨を通知するメッセージを生成する。
これにより、情報処理システム1は、ユーザの要求が叶えられない場合であっても、その理由をユーザに通知するため、ユーザは必要な対応を取ることができる。
【0067】
[変形例]
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上述の実施形態において説明した各構成は、任意に分離して、任意に組み合わせることができる。また、例えば、上述の実施形態において説明した各構成は、特定の機能を発揮するのに不要である場合には、省略することができる。
【0068】
また、上述の端末装置10、社外サーバ装置30、システム連携サーバ装置50、社内情報管理装置70の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより端末装置10、社外サーバ装置30、システム連携サーバ装置50、社内情報管理装置70としての処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0069】
また、上述した端末装置10、社外サーバ装置30、システム連携サーバ装置50、社内情報管理装置70の機能の一部又は全部を、LSI等の集積回路として実現してもよい。上述した各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、又は汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。