(57)【要約】【課題】セキュリティの高い応答内容を柔軟に選択すること。【解決手段】メッセージ生成装置は、記憶デバイスに、アクセス制御情報とメッセージ情報とを記憶し、アクセス制御情報は、ユーザとユーザが所属するコミュニティとを関連付けた情報であり、メッセージ情報は、メッセージごとに生成元のコミュニティとメッセージ内容とを関連付けた情報であり、プロセッサは、ユーザの端末から質問メッセージを受信する受信処理と、受信された質問メッセージを解析して、当該質問メッセージに類似する類似質問メッセージをメッセージ情報から取得する解析処理と、質問メッセージの生成元のコミュニティとは異なり、かつ、ユーザが所属する他のコミュニティを、アクセス制御情報から検索する検索処理と、検索結果に基づいて、類似質問メッセージに対応する応答メッセ―ジを生成する生成処理と、生成された応答メッセージを送信する送信処理と、を実行する。【選択図】図１
2019016050.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、端末とメッセージを送受信する通信インタフェースと、を有するメッセージ生成装置であって、
前記記憶デバイスは、アクセス制御情報とメッセージ情報とを記憶しており、
前記アクセス制御情報は、ユーザと前記ユーザが所属するコミュニティとを関連付けた情報であり、
前記メッセージ情報は、メッセージごとに生成元のコミュニティとメッセージ内容とを関連付けた情報であり、
前記プロセッサは、
前記ユーザの前記端末から質問メッセージを受信する受信処理と、
前記受信処理によって受信された質問メッセージを解析して、当該質問メッセージに類似する類似質問メッセージを前記メッセージ情報から取得する解析処理と、
前記質問メッセージの生成元のコミュニティとは異なり、かつ、前記ユーザが所属する他のコミュニティを、前記アクセス制御情報から検索する検索処理と、
前記検索処理による検索結果に基づいて、前記類似質問メッセージに対応する応答メッセ―ジを生成する生成処理と、
前記生成処理によって生成された応答メッセージを送信する送信処理と、
を実行することを特徴とするメッセージ生成装置。
【請求項２】
請求項１に記載のメッセージ生成装置であって、
前記生成処理では、前記プロセッサは、前記検索処理によって前記他のコミュニティが検索されなかった場合、回答を提示できないことを示す回答不可メッセージを生成し、
前記送信処理では、前記プロセッサは、前記応答メッセージとして、前記生成処理によって生成された回答不可メッセージを前記ユーザ宛に送信することを特徴とするメッセージ生成装置。
【請求項３】
請求項１に記載のメッセージ生成装置であって、
前記記憶デバイスは、前記応答メッセージの公開先コミュニティと当該公開先コミュニティに前記応答メッセージを提供可能な公開元コミュニティとを対応付けた公開情報を記憶しており、
前記メッセージ情報は、さらに、前記メッセージごとに前記メッセージに対する返信メッセージを関連付けた情報であり、
前記プロセッサは、
前記検索処理によって前記他のコミュニティが検索された場合、前記公開情報を参照して、前記他のコミュニティを前記公開先コミュニティとして、当該公開先コミュニティに前記応答メッセージを提供可能な公開元コミュニティを特定する特定処理と、
前記特定処理によって特定された公開元コミュニティを前記生成元のコミュニティとする返信メッセージを、前記メッセージ情報から抽出する抽出処理と、を実行し、
前記生成処理では、前記プロセッサは、前記抽出処理によって抽出された返信メッセージから、前記類似質問メッセージに対応する返信メッセージである回答メッセージ候補を抽出して、前記回答メッセージ候補に基づいて前記ユーザへの回答メッセージを生成し、
前記送信処理では、前記プロセッサは、前記応答メッセージとして、前記生成処理によって生成された回答メッセージを前記ユーザ宛に送信することを特徴とするメッセージ生成装置。
【請求項４】
請求項１に記載のメッセージ生成装置であって、
前記記憶デバイスは、公開情報と公開ユーザ情報とを記憶しており、
前記公開情報は、前記応答メッセージの公開先コミュニティと前記公開先コミュニティに前記応答メッセージを提供可能な公開元コミュニティとを対応付けた情報であり、
前記公開ユーザ情報は、前記公開元コミュニティと前記公開元コミュニティに所属する有識者とを対応付けた情報であり、
前記プロセッサは、
前記検索処理によって前記他のコミュニティが検索された場合、前記公開情報を参照して、前記他のコミュニティを前記公開先コミュニティとして、前記公開先コミュニティに前記応答メッセージを提供可能な公開元コミュニティを特定する特定処理と、
前記特定処理によって特定された公開元コミュニティを前記生成元のコミュニティとする返信メッセージを前記メッセージ情報から抽出する抽出処理と、
前記特定処理によって特定された公開元コミュニティに所属する有識者を前記公開ユーザ情報から決定する決定処理と、を実行し、
前記生成処理では、前記プロセッサは、前記抽出処理によって抽出された返信メッセージから、前記類似質問メッセージに対応する返信メッセージである回答メッセージ候補を抽出し、かつ、前記回答メッセージ候補が抽出された場合に、前記決定処理によって決定された有識者を紹介する紹介メッセージを生成し、
前記送信処理では、前記プロセッサは、前記応答メッセージとして、前記生成処理によって生成された紹介メッセージを前記ユーザ宛に送信することを特徴とするメッセージ生成装置。
【請求項５】
請求項１に記載のメッセージ生成装置であって、
前記記憶デバイスは、質問に対する回答を依頼するフォロー元コミュニティと、前記フォロー元コミュニティから前記回答の依頼を受けるフォロー先コミュニティと、を対応付けたフォロー許可情報を記憶しており、
前記プロセッサは、
前記検索処理によって前記他のコミュニティが検索された場合、前記フォロー許可情報を参照して、前記他のコミュニティを前記フォロー元コミュニティとして、当該フォロー元コミュニティから前記回答の依頼を受けるフォロー先コミュニティを特定する特定処理と、
前記特定処理によって特定されたフォロー先コミュニティを前記生成元のコミュニティとし、かつ、前記類似質問メッセージに対する回答となる返信メッセージを、前記メッセージ情報から抽出する抽出処理と、
前記フォロー先コミュニティの中から、前記抽出処理によって抽出された返信メッセージの生成元のコミュニティを、前記回答の依頼を受ける依頼先コミュニティに決定する決定処理と、を実行し、
前記生成処理では、前記プロセッサは、前記質問メッセージの前記ユーザの宛先情報を含み、かつ、前記決定処理によって決定された依頼先コミュニティを宛先とする依頼メッセージを生成し、
前記送信処理では、前記プロセッサは、前記応答メッセージとして、前記生成処理によって生成された依頼メッセージを前記依頼先コミュニティ宛に送信することを特徴とするメッセージ生成装置。
【請求項６】
プログラムを実行するプロセッサと、前記プログラムを記憶する記憶デバイスと、端末とメッセージを送受信する通信インタフェースと、を有するメッセージ生成装置によるメッセージ生成方法であって、
前記記憶デバイスは、アクセス制御情報とメッセージ情報とを記憶しており、
前記アクセス制御情報は、ユーザと前記ユーザが所属するコミュニティとを関連付けた情報であり、
前記メッセージ情報は、メッセージごとに生成元のコミュニティとメッセージ内容とを関連付けた情報であり、
前記メッセージ生成方法は、
前記プロセッサが、
前記ユーザの前記端末から質問メッセージを受信する受信処理と、
前記受信処理によって受信された質問メッセージを解析して、当該質問メッセージに類似する類似質問メッセージを前記メッセージ情報から取得する解析処理と、
前記質問メッセージの生成元のコミュニティとは異なり、かつ、前記ユーザが所属する他のコミュニティを、前記アクセス制御情報から検索する検索処理と、
前記検索処理による検索結果に基づいて、前記類似質問メッセージに対応する応答メッセ―ジを生成する生成処理と、
前記生成処理によって生成された応答メッセージを送信する送信処理と、
を実行することを特徴とするメッセージ生成方法。
【請求項７】
メッセージ生成をプロセッサに実行させるメッセージ生成プログラムであって、
前記プロセッサは、記憶デバイスにアクセス可能であり、
前記記憶デバイスは、アクセス制御情報とメッセージ情報とを記憶しており、
前記アクセス制御情報は、ユーザと前記ユーザが所属するコミュニティとを関連付けた情報であり、
前記メッセージ情報は、メッセージごとに生成元のコミュニティとメッセージ内容とを関連付けた情報であり、
前記プロセッサに、
前記ユーザの端末から質問メッセージを受信する受信処理と、
前記受信処理によって受信された質問メッセージを解析して、当該質問メッセージに類似する類似質問メッセージを前記メッセージ情報から取得する解析処理と、
前記質問メッセージの生成元のコミュニティとは異なり、かつ、前記ユーザが所属する他のコミュニティを、前記アクセス制御情報から検索する検索処理と、
前記検索処理による検索結果に基づいて、前記類似質問メッセージに対応する応答メッセ―ジを生成する生成処理と、
前記生成処理によって生成された応答メッセージを送信する送信処理と、
を実行させることを特徴とするメッセージ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を生成するメッセージ生成装置、メッセージ生成方法、およびメッセージ生成プログラムに関する。
【背景技術】
【０００２】
近年、Ｂｏｔシステムが普及している。Ｂｏｔシステムは、ユーザ端末からメッセージを受け付けたことに応じて、このメッセージに対応する応答メッセージをユーザ端末に出力するシステムである。特許文献１は、Ｂｏｔシステムとユーザとの会話の特徴を特定し、特定された特徴に応じて応答メッセージの内容を変形し、応答することで、対話エージェントシステムがユーザと適切な会話を行う方法を開示する。特許文献２は、ユーザ端末から新規対話ルールとユーザＩＤとを受け付け、対話ルールＤＢに登録し、登録された新規対話ルールに含まれる入力ワード及び応答メッセージのそれぞれに対して、受け付けられたユーザＩＤをアクセス許可するようにアクセス権を設定するＢｏｔシステムを開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−４５５８４号公報
【特許文献２】特開２０１３−１２０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１は、コミュニティが複数存在する場合、ユーザがアクセスできる情報の制限はできず、セキュリティ上問題がある。また、特許文献２は、アクセス制限についての記載はあるものの、このアクセス制限は、対話ルールの登録に応じて、その対話ルールに基づき、あるユーザがアクセス可能なメッセージを特定する。しかしながら、特許文献２のＢｏｔシステムは、質問メッセージと応答メッセージを対応付けて管理しなければならず、ユーザからの質問に対し予め定めた応答メッセージしか返すことしかできない。したがって、予め対応づけられていない蓄積された情報を有効に活用した柔軟な応答をすることができない。
【０００５】
本発明は、セキュリティの高い応答内容を柔軟に選択することを目的とする。
【課題を解決するための手段】
【０００６】
本願において開示される発明の一側面となるメッセージ生成装置は、記憶デバイスに、アクセス制御情報とメッセージ情報とを記憶しており、前記アクセス制御情報は、ユーザと前記ユーザが所属するコミュニティとを関連付けた情報であり、前記メッセージ情報は、メッセージごとに生成元のコミュニティとメッセージ内容とを関連付けた情報であり、プロセッサは、前記ユーザの前記端末から質問メッセージを受信する受信処理と、前記受信処理によって受信された質問メッセージを解析して、当該質問メッセージに類似する類似質問メッセージを前記メッセージ情報から取得する解析処理と、前記質問メッセージの生成元のコミュニティとは異なり、かつ、前記ユーザが所属する他のコミュニティを、前記アクセス制御情報から検索する検索処理と、前記検索処理による検索結果に基づいて、前記類似質問メッセージに対応する応答メッセ―ジを生成する生成処理と、前記生成処理によって生成された応答メッセージを送信する送信処理と、を実行することを特徴とする。
【発明の効果】
【０００７】
本発明の代表的な実施の形態によれば、セキュリティの高い応答内容を柔軟に選択することができる。前述した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本実施例にかかるメッセージ生成装置によるアクセス管理例を示す説明図である。
【図２】図２は、ネットワークシステムのシステム構成例を示す説明図である。
【図３】図３は、コンピュータのハードウェア構成例を示すブロック図である。
【図４】図４は、コミュニティ情報テーブルの記憶内容例を示す説明図である。
【図５】図５は、アクセス権制御情報テーブルの記憶内容例を示す説明図である。
【図６】図６は、ユーザ情報テーブルの記憶内容例を示す説明図である。
【図７】図７は、メッセージ情報テーブルの記憶内容例を示す説明図である。
【図８】図８は、ノウハウ公開情報テーブルの記憶内容例を示す説明図である。
【図９】図９は、ノウフー公開情報テーブルの記憶内容例を示す説明図である。
【図１０】図１０は、ノウフー公開ユーザ情報テーブルの記憶内容例を示す説明図である。
【図１１】図１１は、フォロー許可情報テーブルの記憶内容例を示す説明図である。
【図１２】図１２は、メッセージ生成装置の機能的構成例を示すブロック図である。
【図１３】図１３は、自動返答シーケンスを示すシーケンス図である。
【図１４】図１４は、図１３に示した応答作成処理（ステップＳ１３０６）の詳細な処理手順例１を示すフローチャートである。
【図１５】図１５は、図１３に示した応答作成処理（ステップＳ１３０６）の詳細な処理手順例２を示すフローチャートである。
【図１６】図１６は、図１３に示した応答作成処理（ステップＳ１３０６）の詳細な処理手順例３を示すフローチャートである。
【発明を実施するための形態】
【０００９】
＜アクセス管理例＞
図１は、本実施例にかかるメッセージ生成装置によるアクセス管理例を示す説明図である。（Ａ）〜（Ｄ）において、メッセージ生成装置１００は、上述したＢｏｔを有し、各コミュニティに所属するユーザと対話可能である。また、コミュニティとは、ユーザが所属するグループである。ユーザは、１以上のコミュニティに所属することが可能である。たとえば、あるコミュニティに属するユーザは、当該ユーザが属する他のコミュニティへのアクセス権を有するが、当該ユーザが属さないコミュニティへのアクセス権を有しない。ユーザは、その所属するコミュニティに対しアクセス権を有する。したがって、所属するコミュニティ内の情報（たとえば、Ｂｏｔとの対話メッセージ）は、当該コミュニティに所属するユーザ間で共有される。
【００１０】
（Ａ）は、メッセージ生成装置１００が、端末１０１からのアクセス権のないコミュニティへのアクセスの不可を自動返答する例である。たとえば、ユーザ甲は、コミュニティＡに所属するが、コミュニティＢに所属していない。この場合、たとえば、ユーザ甲は、自身の端末１０１を用いて、メッセージ生成装置１００に質問メッセージ「Ｘ社の契約状況を教えて」をメッセージ生成装置１００に送信する。メッセージ生成装置１００は、コミュニティＢに属する情報「Ｘ社の契約状況」を保持するが、ユーザ甲は、コミュニティＢへのアクセス権を有しない。したがって、メッセージ生成装置１００は、ユーザ甲の端末１０１に、回答メッセージとして「該当する情報はありませんでした。」を送信する。これにより、アクセス権限のないユーザへの情報提供を防止することができる。
【００１１】
（Ｂ）は、メッセージ生成装置１００が解決策（ノウハウ、ｋｎｏｗｈｏｗ）を自動返答する例である。たとえば、ユーザ甲は、コミュニティＡ，Ｃに所属する。このため、ユーザ甲は、コミュニティＡ，Ｃへのアクセス権を有する。ユーザ甲は、自身の端末１０１を用いて、メッセージ生成装置１００に質問メッセージ「ＷＥＢページの表示が崩れます」をメッセージ生成装置１００に送信する。メッセージ生成装置１００は、コミュニティＤに属する情報「ＷＥＢページの表示方法」を保持する。ここで、メッセージ生成装置１００は、コミュニティＣを解決策の公開先コミュニティとし、コミュニティＤを解決策の公開元コミュニティとして、管理している。このため、メッセージ生成装置１００は、公開先コミュニティであるコミュニティＣにも所属するユーザ甲の端末１０１に、解決策である回答メッセージ「ブラウザのキャッシュを消してください」を送信する。
【００１２】
これにより、複数コミュニティと対話をするＢｏｔであっても、ユーザ属性に応じてメッセージ生成装置１００に蓄積された情報へのアクセスを制限することができる。また、ユーザ自身が属するコミュニティと異なるコミュニティの情報であっても、アクセス制限された範囲内で情報を収集することが可能となる。したがって、セキュリティ性を担保しつつ蓄積された情報を有効に活用して、適切な回答をすることができる。
【００１３】
（Ｃ）は、メッセージ生成装置１００が有識者（ノウフー、ｋｎｏｗｈｏ）を自動返答する例である。有識者とは、解決策を有するユーザである。本例では、ユーザ乙を有識者とする。たとえば、ユーザ甲は、コミュニティＡ，Ｃに所属する。このため、ユーザ甲は、コミュニティＡ，Ｃへのアクセス権を有する。ユーザ甲は、自身の端末１０１を用いて、メッセージ生成装置１００に質問メッセージ「製品Ｐの仕様がわかりません」をメッセージ生成装置１００に送信する。メッセージ生成装置１００は、コミュニティＤに属する情報「製品Ｐの仕様」を保持する。ここで、メッセージ生成装置１００は、コミュニティＣを有識者の公開先コミュニティとし、コミュニティＤを有識者の公開元コミュニティとして、管理している。このため、メッセージ生成装置１００は、公開先コミュニティであるコミュニティＣにも所属するユーザ甲の端末１０１に、解決策（製品Ｐの仕様）を有する有識者を紹介する紹介メッセージ「乙さんに聞いてみてください。乙さんのｅ‐ｍａｉｌ：ｏｔｓｕ＠ｙｙｙ.ｚｚｚ」を送信する。
【００１４】
これにより、複数コミュニティと対話をするＢｏｔであっても、ユーザ属性に応じてメッセージ生成装置１００に蓄積された情報へのアクセス制限をすることができる。また、ユーザ自身が属するコミュニティと異なるコミュニティの情報であっても、アクセス制限された範囲内で情報を収集し、有識者の紹介をすることができる。これにより、セキュリティ性を担保しつつ蓄積された情報を有効に活用することができる。
【００１５】
（Ｄ）は、メッセージ生成装置１００が、解決策（ノウハウ、ｋｎｏｗｈｏｗ）が属するコミュニティに対し、質問者への解決策をフォロー依頼する例である。たとえば、ユーザ甲は、コミュニティＡ，Ｃに所属する。このため、ユーザ甲は、コミュニティＡ，Ｃへのアクセス権を有する。ユーザ甲は、自身の端末１０１を用いて、メッセージ生成装置１００に質問メッセージ「Ｘ社との契約内容を知りたい」をメッセージ生成装置１００に送信する。メッセージ生成装置１００は、コミュニティＥに属する情報「Ｘ社との契約内容」を保持する。ここで、メッセージ生成装置１００は、コミュニティＣを解決策のフォロー（依頼）元コミュニティとし、コミュニティＤ，Ｅを解決策のフォロー（依頼）先コミュニティとして、管理している。質問メッセージに対する解決策を有するフォロー先コミュニティは、コミュニティＥである。このため、メッセージ生成装置１００は、フォロー先コミュニティであるコミュニティＥに、解決策を依頼する依頼メッセージ「Ｘ社との契約内容について、甲さんが情報を求めています。甲さんのｅ−ｍａｉｌ：ｋｏｕ＠ｘｘｘ.ｙｙｙ」を送信する。
【００１６】
これにより、複数コミュニティと対話をするＢｏｔであっても、ユーザ属性に応じてメッセージ生成装置１００に蓄積された情報へのアクセス制限をすることができる。また、ユーザ自身が属するコミュニティと異なるコミュニティの情報であっても、アクセス制限された範囲内で情報を収集することが可能となり、セキュリティ性を担保しつつ蓄積された情報を有効に活用して、他コミュニティへの情報提供依頼をすることができる。
【００１７】
＜システム構成例＞
図２は、ネットワークシステムのシステム構成例を示す説明図である。ネットワークシステム２は、管理システム２００と、端末１０１（たとえば、調達先や海外拠点の一般クライアント）と、を有し、これらは、インターネットなどの第１ネットワーク２１０により通信可能に接続される。
【００１８】
管理システム２００は、プロキシサーバ２０１と、第１ＡＰサーバ２０２と、第２ＡＰサーバ２０３と、データベースサーバ２０４と、端末１０１と、を有し、これらがＬＡＮなどの第２ネットワーク２０６により通信可能に接続される。プロキシサーバ２０１は、管理システム２００と第１ネットワーク２１０との境界に配置され、第１ネットワーク２１０と管理システム２００内部とを通信可能に接続する。プロキシサーバ２０１は、ファイアウォール機能も有する。
【００１９】
第１ＡＰサーバ２０２は、コミュニティを管理するサーバである。第２ＡＰサーバ２０３は、Ｂｏｔを管理するサーバである。データベースサーバ２０４は、データベース（ＤＢ）２０５を有し、ＤＢ２０５内の各種データを管理するサーバである。第１ＡＰサーバ２０２、第２ＡＰサーバ２０３、およびデータベースサーバ２０４は、それぞれ独立したサーバとしたが、これらのうち少なくとも２以上のサーバは、１台のコンピュータにより実現されてもよい。なお、図１に示したメッセージ生成装置１００は、第１ＡＰサーバ２０２、第２ＡＰサーバ２０３、およびデータベースサーバ２０４のうち少なくとも第２ＡＰサーバ２０３の機能を有するコンピュータである。
【００２０】
管理システム２００外、すなわち、第１ネットワーク２１０内の端末１０１は、プロキシサーバ２０１を介して、第１ＡＰサーバ２０２、第２ＡＰサーバ２０３、およびデータベースサーバ２０４にアクセス可能であり、管理システム２００内の端末１０１は、第２ネットワーク２０６を介して第１ＡＰサーバ２０２、第２ＡＰサーバ２０３、およびデータベースサーバ２０４にアクセス可能である。
【００２１】
＜コンピュータのハードウェア構成例＞
図３は、コンピュータのハードウェア構成例を示すブロック図である。ここで、コンピュータ３００とは、図２に示した端末１０１および各種サーバ２０１〜２０４の総称である。コンピュータ３００は、プロセッサ３０１と、記憶デバイス３０２と、入力デバイス３０３と、出力デバイス３０４と、通信インターフェース（通信ＩＦ３０５）と、を有する。プロセッサ３０１、記憶デバイス３０２、入力デバイス３０３、出力デバイス３０４、および通信ＩＦ３０５は、バス３０６により接続される。プロセッサ３０１は、コンピュータ３００を制御する。記憶デバイス３０２は、プロセッサ３０１の作業エリアとなる。また、記憶デバイス３０２は、各種プログラムやデータを記憶する非一時的なまたは一時的な記録媒体である。記憶デバイス３０２としては、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリがある。入力デバイス３０３は、データを入力する。入力デバイス３０３としては、たとえば、キーボード、マウス、タッチパネル、テンキー、スキャナがある。出力デバイス３０４は、データを出力する。出力デバイス３０４としては、たとえば、ディスプレイ、プリンタがある。通信ＩＦ３０５は、ネットワーク（第１ネットワーク２１０、第２ネットワーク２０６）と接続し、データを送受信する。
【００２２】
＜各種テーブルの記憶内容例＞
つぎに、データベースサーバ２０４が管理するＤＢ２０５内に記憶される各種テーブルについて説明する。なお、以下に示すテーブルは、第１ＡＰサーバ２０２や第２ＡＰサーバ２０３に保持されてもよい。また、以下に示すテーブルの説明において、ＡＡフィールドｂｂｂ（ＡＡはフィールド名、ｂｂｂは符号）の値を、ＡＡｂｂｂと表記する場合がある。たとえば、コミュニティＩＤフィールド４０１の値を、コミュニティＩＤ４０１と表記する。以下に示すテーブルは、具体的には、たとえば、図２に示した記憶デバイスに記憶される。
【００２３】
図４は、コミュニティ情報テーブルの記憶内容例を示す説明図である。コミュニティ情報テーブル４００は、コミュニティに関する情報（以下、コミュニティ情報）を格納するテーブルである。コミュニティ情報テーブル４００は、コミュニティＩＤフィールド４０１と、コミュニティ名フィールド４０２と、メールアドレスフィールド４０３と、を有する。同一行の各フィールドの値の組み合わせが、コミュニティ情報を構成するエントリである。
【００２４】
コミュニティＩＤフィールド４０１は、コミュニティＩＤを格納する記憶領域である。コミュニティＩＤ４０１は、コミュニティを一意に特定する識別情報である。コミュニティ名フィールド４０２は、コミュニティ名を格納する記憶領域である。コミュニティ名４０２は、コミュニティに付与された名称である。本例では、コミュニティ名４０２により、コミュニティを区別する。メールアドレスフィールド４０３は、コミュニティのメールアドレスを格納する記憶領域である。コミュニティのメールアドレス４０３宛に送信されたメールのメッセージ内容は、当該コミュニティに所属するユーザにより閲覧可能である。
【００２５】
図５は、アクセス権制御情報テーブルの記憶内容例を示す説明図である。アクセス権制御情報テーブル５００は、アクセス権を制御する情報（以下、アクセス権制御情報）を格納するテーブルである。アクセス権制御情報テーブル５００は、ユーザＩＤフィールド５０１と、コミュニティＩＤフィールド４０１と、を有する。同一行の各フィールドの組み合わせが、アクセス権制御情報を構成するエントリである。
【００２６】
ユーザＩＤフィールド５０１は、ユーザＩＤを格納する記憶領域である。ユーザＩＤ５０１は、ユーザを一意に特定する識別情報である。コミュニティＩＤフィールド４０１は、ユーザＩＤ５０１のユーザが所属するコミュニティＩＤ４０１を格納する記憶領域である。
【００２７】
たとえば、１行目のエントリでは、ユーザＩＤ５０１が「Ｕ０１」で、コミュニティＩＤ４０１が「ＣＭ０１,ＣＭ０３」である。したがって、ユーザＩＤが「Ｕ０１」のユーザは、それぞれ「ＣＭ０１」,「ＣＭ０３」で特定されるコミュニティに対しアクセス権を有することを示す。
【００２８】
図６は、ユーザ情報テーブルの記憶内容例を示す説明図である。ユーザ情報テーブル６００は、ユーザに関する情報（以下、ユーザ情報）を格納するテーブルである。ユーザ情報テーブル６００は、ユーザＩＤフィールド５０１と、ユーザ名フィールド６０１と、メールアドレスフィールド６０２と、を有する。同一行の各フィールドの値の組み合わせが、ユーザ情報を構成するエントリである。
【００２９】
ユーザ名フィールド６０１は、ユーザ名を格納する記憶領域である。ユーザ名６０１は、ユーザに付与された名称（氏名でもよい）である。本例では、ユーザ名６０１により、ユーザを区別する。メールアドレスフィールド６０２は、ユーザのメールアドレスを格納する記憶領域である。
【００３０】
図７は、メッセージ情報テーブル７００の記憶内容例を示す説明図である。メッセージ情報テーブル７００は、メッセージに関する情報を格納するテーブルである。メッセージ情報テーブル７００は、メッセージＩＤフィールド７０１と、コミュニティＩＤフィールド４０１と、メッセージ内容フィールド７０２と、応答メッセージＩＤフィールド７０３と、を有する。同一行の各フィールドの値の組み合わせが、メッセージ情報を構成するエントリとなる。
【００３１】
メッセージＩＤフィールド７０１は、メッセージＩＤを格納する記憶領域である。メッセージＩＤ７０１は、メッセージを一意に特定する識別情報である。コミュニティＩＤフィールド４０１は、メッセージが作成されたコミュニティのコミュニティＩＤを格納する記憶領域である。なお、メッセージの作成元が第２ＡＰサーバ２０３、すなわち、Ｂｏｔである場合、コミュニティＩＤは、「Ｂｏｔ」となる。メッセージ内容フィールド７０２は、メッセージ内容を格納する記憶領域である。メッセージ内容７０２は、メッセージの本文の文字列である。メッセージ内容７０２は、たとえば、図１に示したメッセージｍｓ１〜ｍｓ８の本文の文字列である。
【００３２】
応答メッセージＩＤフィールド７０３は、応答メッセージＩＤを格納する記憶領域である。応答メッセージＩＤ７０３は、応答メッセージを一意に特定する識別情報である。応答メッセージは、メッセージＩＤ７０１で特定されるメッセージに応答したメッセージである。たとえば、回答メッセージｍｓ２，ｍｓ４（図１（Ａ），（Ｂ））、有識者の紹介メッセージｍｓ６（図１（Ｃ））、解決策のフォロー依頼メッセージｍｓ８（図１（Ｄ））は、応答メッセージである。
【００３３】
図８は、ノウハウ公開情報テーブルの記憶内容例を示す説明図である。ノウハウ公開情報テーブル８００は、ノウハウの公開に関する情報（以下、ノウハウ公開情報）を格納するテーブルである。ノウハウ公開情報テーブル８００は、ノウハウ公開先コミュニティＩＤフィールド８０１と、ノウハウ公開元コミュニティＩＤフィールド８０２と、を有する。同一行の各フィールドの値の組み合わせが、ノウハウ公開情報を構成するエントリとなる。
【００３４】
ノウハウ公開先コミュニティＩＤフィールド８０１は、ノウハウ公開先コミュニティＩＤを格納する記憶領域である。ノウハウ公開先コミュニティＩＤ８０１は、ノウハウ公開先コミュニティを一意に特定する識別情報である。ノウハウ公開先コミュニティは、ノウハウ（解決策）に対する質問メッセージが属するコミュニティである。ノウハウ公開元コミュニティＩＤフィールド８０２は、ノウハウ公開元コミュニティＩＤを格納する記憶領域である。ノウハウ公開元コミュニティＩＤ８０２は、ノウハウ公開元コミュニティを一意に特定する識別情報である。ノウハウ公開元コミュニティは、ノウハウ（解決策）の公開元、すなわち、解決策を保有するコミュニティである。
【００３５】
図９は、ノウフー公開情報テーブルの記憶内容例を示す説明図である。ノウフー公開情報テーブル９００は、ノウフーの公開に関する情報（以下、ノウフー公開情報）を格納するテーブルである。ノウフー公開情報テーブル９００は、ノウフー公開先コミュニティＩＤフィールド９０１と、ノウフー公開元コミュニティＩＤフィールド９０２と、を有する。同一行の各フィールドの値の組み合わせが、ノウフー公開情報を構成するエントリとなる。
【００３６】
ノウフー公開先コミュニティＩＤフィールド９０１は、ノウフー公開先コミュニティＩＤを格納する記憶領域である。ノウフー公開先コミュニティＩＤ９０１は、ノウフー公開先コミュニティを一意に特定する識別情報である。ノウフー公開先コミュニティは、ノウハウ（解決策）に対する質問メッセージが属するコミュニティである。ノウフー公開元コミュニティＩＤフィールド９０２は、ノウフー公開元コミュニティＩＤを格納する記憶領域である。ノウフー公開元コミュニティＩＤ９０２は、ノウフー公開元コミュニティを一意に特定する識別情報である。ノウフー公開元コミュニティは、ノウハウ（解決策）の公開元、すなわち、解決策を保有するコミュニティである。
【００３７】
図１０は、ノウフー公開ユーザ情報テーブルの記憶内容例を示す説明図である。ノウフー公開ユーザ情報テーブル１０００は、ノウフーとして公開されるユーザに関する情報（以下、ノウフー公開ユーザ情報）を格納するテーブルである。ノウフー公開ユーザ情報テーブル１０００は、ノウフー公開ユーザＩＤフィールド１００１と、コミュニティＩＤフィールド４０１と、を有する。同一行の各フィールドの値の組み合わせが、ノウフー公開ユーザ情報を構成するエントリとなる。
【００３８】
ノウフー公開ユーザＩＤフィールド１００１は、ノウフー公開ユーザＩＤを格納する記憶領域である。ノウフー公開ユーザＩＤ１００１は、ノウフー公開ユーザを一意に特定する識別情報である。ノウフー公開ユーザは、ノウフーとして公開されるユーザ、すなわち、有識者である。コミュニティＩＤフィールド４０１は、ノウフー公開ユーザが所属するコミュニティＩＤを格納する記憶領域である。
【００３９】
図１１は、フォロー許可情報テーブルの記憶内容例を示す説明図である。フォロー許可情報テーブル１１００は、フォロー許可に関する情報（以下、フォロー許可情報）を格納するテーブルである。フォロー許可情報テーブル１１００は、フォロー先コミュニティＩＤフィールド１１０１と、フォロー元コミュニティＩＤフィールド１１０２と、を有する。同一行の各フィールドの値の組み合わせが、フォロー許可情報を構成するエントリとなる。
【００４０】
フォロー先コミュニティＩＤフィールド１１０１は、フォロー先コミュニティＩＤを格納する記憶領域である。フォロー先コミュニティＩＤ１１０１は、フォロー先コミュニティを一意に特定する識別情報である。フォロー先コミュニティは、フォロー依頼される側のコミュニティ、すなわち、質問の回答として提供可能なメッセージが属するコミュニティである。フォロー元コミュニティＩＤフィールド１１０２は、フォロー元コミュニティＩＤを格納する記憶領域である。フォロー元コミュニティＩＤ１１０２は、フォロー元コミュニティを一意に特定する識別情報である。フォロー元コミュニティは、フォロー依頼する側のコミュニティ、すなわち、質問メッセージの属するコミュニティである。
【００４１】
＜メッセージ生成装置１００の機能的構成例＞
図１２は、メッセージ生成装置１００の機能的構成例を示すブロック図である。メッセージ生成装置１００は、受信部１２０１と、解析部１２０２と、検索部１２０３と、生成部１２０４と、送信部１２０５と、特定部１２０６と、抽出部１２０７と、決定部１２０８と、を有する。これらは、具体的には、たとえば、図３に示した記憶デバイス３０２に記憶されたプログラムをプロセッサ３０１に実行させることにより実現される機能である。
【００４２】
受信部１２０１は、ユーザの端末１０１から質問に関するメッセージ（以下、質問メッセージ）を受信する受信処理を実行する。具体的には、たとえば、端末１０１は、ユーザＩＤ５０１と、ユーザの所属するコミュニティＩＤ４０１と、メッセージ内容７０２と、を含む質問メッセージを、第１ＡＰサーバ２０２に送信する。第１ＡＰサーバ２０２は、質問メッセージにメッセージＩＤ７０１を付与し、メッセージＩＤ７０１付与後の質問メッセージを第２ＡＰサーバ２０３に転送する。受信部１２０１は、第１ＡＰサーバ２０２から転送されてきた質問メッセージを受信する。
【００４３】
解析部１２０２は、受信部１２０１の受信処理によって受信された質問メッセージを解析して、当該質問メッセージに類似する類似質問メッセージをメッセージ情報から取得する解析処理を実行する。具体的には、たとえば、解析部１２０２は、メッセージ情報テーブル７００を参照し、受信した質問メッセージのメッセージ内容７０２に類似するメッセージ内容７０２を検索する。
【００４４】
たとえば、質問メッセージのメッセージ内容７０２が『現在、製品Ｐについて製品仕様をＷＥＢで確認していますが、ＷＥＢページの表示が崩れます。』である場合、解析部１２０２は、類似検索を行った結果、過去に投稿された『ＷＥＢページの表示が崩れます』という類似質問メッセージのメッセージ内容７０２をメッセージ情報テーブル７００から抽出する。なお、解析部１２０２は、類似検索において、両メッセージ内容７０２のレーベンシュタイン距離を用いてもよい。解析部１２０２による解析は一例であり、類似質問メッセージを、メッセージ情報テーブル７００のメッセージ内容７０２から検索できる方法であれば、他の解析方法でもよい。
【００４５】
検索部１２０３は、アクセス権制御情報テーブル５００を用いて、質問メッセージの生成元のコミュニティとは異なり、かつ、ユーザが所属する他のコミュニティを、アクセス権制御情報テーブル５００から検索する検索処理を実行する。具体的には、たとえば、検索部１２０３は、質問メッセージからそのユーザが所属するコミュニティＩＤ４０１を取得することで、質問メッセージの生成元のコミュニティを特定する。検索部１２０３は、質問メッセージからユーザＩＤ５０１を取得する。
【００４６】
また、検索部１２０３は、類似質問メッセージのコミュニティＩＤ４０１をメッセージ情報テーブル７００から取得する。検索部１２０３は、アクセス権制御情報テーブル５００を参照して、取得したユーザＩＤ５０１に対応し、かつ、質問メッセージから取得したコミュニティＩＤ４０１ではない他のコミュニティＩＤを取得する。これにより、類似質問メッセージが属し、かつ、質問メッセージを生成したユーザがアクセス権を有するコミュニティが特定される。具体的には、たとえば、質問メッセージが図１の（Ｂ）〜（Ｄ）のｍｓ１、ｍｓ３，ｍｓ５である場合、検索部１２０３は、図１の（Ｂ）〜（Ｄ）に示したコミュニティＣを検索する。
【００４７】
生成部１２０４は、検索部１２０３の検索処理による検索結果に基づいて、解析部１２０２で得られた類似質問メッセージに対応する応答メッセ―ジを生成する生成処理を実行する。具体的には、たとえば、図１の（Ａ）は、検索処理によって他のコミュニティが検索されなかった場合に該当するため、生成部１２０４は、回答を提示できないことを示す回答不可メッセージｍｓ２を生成する。
【００４８】
送信部１２０５は、生成部１２０４の生成処理によって生成された応答メッセージを送信する送信処理を実行する。送信部１２０５は、図１の（Ａ）に示したように、応答メッセージとして、生成処理によって生成された回答不可メッセージをユーザ宛に送信する。なお、送信部１２０５は、回答不可メッセージの宛先（メールアドレス６０２）をユーザ情報テーブル６００から特定する。
【００４９】
特定部１２０６は、検索部１２０３の検索処理によって他のコミュニティが検索された場合、ノウハウ公開情報テーブル８００を参照して、他のコミュニティをノウハウ公開先コミュニティとして、ノウハウ公開先コミュニティに回答メッセージを提供可能なノウハウ公開元コミュニティを特定する特定処理を実行する。具体的には、たとえば、特定部１２０６は、図１の（Ｂ）に示したように、ノウハウ公開情報テーブル８００を参照して、他のコミュニティＣをノウハウ公開先コミュニティとし、コミュニティＤをノウハウ公開元コミュニティとして特定する。
【００５０】
また、特定部１２０６は、検索部１２０３の検索処理によって他のコミュニティが検索された場合、ノウフー公開情報テーブル９００を参照して、他のコミュニティをノウフー公開先コミュニティとして、ノウフー公開先コミュニティに応答メッセージを提供可能なノウフー公開元コミュニティを特定する特定処理を実行する。具体的には、たとえば、特定部１２０６は、図１の（Ｃ）に示したように、ノウフー公開情報テーブル９００を参照して、他のコミュニティＣをノウフー公開先コミュニティとし、コミュニティＤをノウフー公開元コミュニティとして特定する。
【００５１】
また、特定部１２０６は、検索部１２０３の検索処理によって他のコミュニティが検索された場合、フォロー許可情報テーブル１１００を参照して、他のコミュニティをフォロー元コミュニティとし、フォロー元コミュニティから回答の依頼を受けるフォロー先コミュニティを特定する特定処理を実行する。具体的には、たとえば、特定部１２０６は、図１の（Ｄ）に示したように、フォロー許可情報テーブル１１００を参照して、他のコミュニティＣをフォロー元コミュニティとし、コミュニティＤを、フォロー元コミュニティＣから回答の依頼を受けるフォロー先コミュニティとして特定する。
【００５２】
抽出部１２０７は、特定部１２０６の特定処理によって特定されたノウハウ公開元コミュニティを生成元のコミュニティとする返信メッセージを、メッセージ情報テーブル７００から抽出する抽出処理を実行する。具体的には、たとえば、抽出部１２０７は、図１の（Ｂ）に示したように、特定処理によって特定されたノウハウ公開元コミュニティＤのコミュニティＩＤを有するエントリを、ノウハウ公開元コミュニティを生成元のコミュニティとする返信メッセージとして、メッセージ情報テーブル７００から抽出する。
【００５３】
この場合、生成部１２０４は、抽出部１２０７の抽出処理によって抽出された返信メッセージから、類似質問メッセージに対応する返信メッセージである類似回答メッセージを抽出して、類似回答メッセージに基づいてユーザへの回答メッセージを生成する。具体的には、たとえば、生成部１２０４は、類似質問メッセージのエントリの応答メッセージＩＤ７０３が、返信メッセージのメッセージＩＤと一致した場合、当該返信メッセージを、回答メッセージ候補とする。そして、生成部１２０４は、回答メッセージ候補を用いて、質問メッセージの投稿者であるユーザ甲への回答に適した回答メッセージｍｓ４を作成する。具体的には、たとえば、生成部１２０４は、回答メッセージ候補において、顧客の情報などがあれば削除することにより、回答メッセージｍｓ４を生成する。
【００５４】
また、この場合、送信部１２０５は、応答メッセージとして、生成部１２０４の生成処理によって生成された回答メッセージｍｓ４をユーザ甲宛に送信する。これにより、アクセス権限の範囲内で解決策がユーザ甲に自動返答される。
【００５５】
また、抽出部１２０７は、特定部１２０６の特定処理によって特定されたノウフー公開元コミュニティを生成元のコミュニティとする返信メッセージをメッセージ情報テーブル７００から抽出する抽出処理を実行する。具体的には、たとえば、抽出部１２０７は、図１の（Ｃ）に示したように、特定処理によって特定されたノウフー公開元コミュニティＤのコミュニティＩＤを有するエントリを、ノウハウ公開元コミュニティを生成元のコミュニティとする返信メッセージとして、メッセージ情報テーブル７００から抽出する。
【００５６】
決定部１２０８は、特定部１２０６の特定処理によって特定されたノウフー公開元コミュニティに所属する有識者をノウフー公開ユーザ情報テーブル１０００から決定する決定処理を実行する。具体的には、たとえば、決定部１２０８は、図１の（Ｃ）に示したように、特定処理によって特定されたノウフー公開元コミュニティＤに所属する有識者であるユーザ乙をノウフー公開ユーザ情報テーブル１０００から決定する。
【００５７】
この場合、生成部１２０４は、抽出部１２０７の抽出処理によって抽出された返信メッセージから、類似質問メッセージに対応する返信メッセージである類似回答メッセージを抽出して、類似回答メッセージに基づいてユーザへの回答メッセージを生成する。具体的には、たとえば、生成部１２０４は、類似質問メッセージのエントリの応答メッセージＩＤ７０３が、返信メッセージのメッセージＩＤ７０１と一致した場合、当該返信メッセージを、回答メッセージ候補とする。そして、生成部１２０４は、回答メッセージ候補を用いて、質問メッセージの投稿者であるユーザ甲への回答に適した回答メッセージを作成する。具体的には、たとえば、生成部１２０４は、回答メッセージ候補において、顧客の情報などがあれば削除することにより、回答メッセージを生成する。
【００５８】
回答メッセージが生成された場合、決定部１２０８の決定処理によって決定された有識者であるユーザ乙は、回答メッセージで回答可能であることを示す。したがって、生成部１２０４は、決定部１２０８の決定処理によって決定された有識者であるユーザ乙をユーザ甲に紹介する紹介メッセージｍｓ６を生成する。紹介メッセージｍｓ６は、ユーザ乙のメールアドレスを含む。また、この場合、送信部１２０５は、応答メッセージとして、生成処理によって生成された紹介メッセージｍｓ６をユーザ甲宛に送信する。これにより、アクセス権限の範囲内で有識者の情報がユーザ甲に自動返答される。
【００５９】
このように、ユーザに返信されない回答メッセージを生成することにより、紹介される有識者が回答メッセージを有することを保証することができる。したがって、ユーザ甲は、有識者乙から確実に回答を得ることができる。
【００６０】
また、解決策のフォロー依頼において、抽出部１２０７は、特定部１２０６の特定処理によって特定されたフォロー先コミュニティを生成元のコミュニティとし、かつ、類似質問メッセージに対する回答となる回答メッセージを、メッセージ情報テーブル７００から抽出する抽出処理を実行する。具体的には、たとえば、抽出部１２０７は、図１の（Ｄ）に示したように、特定処理によって特定されたフォロー先コミュニティＤ，Ｅを生成元のコミュニティとし、かつ、類似質問メッセージに対する回答となる回答メッセージを、メッセージ情報テーブル７００から抽出する。
【００６１】
この場合、決定部１２０８は、フォロー先コミュニティＤ，Ｅの中から、抽出部１２０７の抽出処理によって抽出された回答メッセージの生成元のコミュニティＥを、回答の依頼を受ける依頼先コミュニティに決定する決定処理を実行する。
【００６２】
この場合、生成部１２０４は、質問メッセージのユーザ甲の宛先情報（メールアドレス）を含み、かつ、決定部１２０８の決定処理によって決定された依頼先コミュニティＥを宛先とする依頼メッセージｍｓ８を生成する。そして、送信部１２０５は、応答メッセージとして、生成部１２０４の生成処理によって生成された依頼メッセージｍｓ６を依頼先コミュニティＥ宛に送信する。これにより、アクセス権限の範囲内で解決策のフォロー依頼がフォロー先コミュニティＥに自動返答される。
【００６３】
＜自動返答シーケンス＞
図１３は、自動返答シーケンスを示すシーケンス図である。端末１０１は、ユーザ操作により質問の入力を受け付け（ステップＳ１３０１）、当該質問に関するメッセージ（質問メッセージ）を第１ＡＰサーバ２０２に送信する（ステップＳ１３０２）。メッセージには、当該ユーザが当該質問メッセージを送信したコミュニティのコミュニティＩＤ４０１と、当該ユーザのユーザＩＤ５０１と、メッセージ内容７０２である文字列と、を含む。たとえば、質問の投稿者がユーザ甲である場合、ユーザ甲は、コミュニティＡ（コミュニティＩＤ：ＣＭ０１），Ｃ（コミュニティＩＤ：ＣＭ０３）に所属するが（図５を参照）、コミュニティＡにログイン中である場合、当該質問メッセージには、コミュニティＩＤ：Ａが含まれる。
【００６４】
第１ＡＰサーバ２０２は、質問メッセージを受信すると、当該質問メッセージにメッセージＩＤ７０１を付与し（ステップＳ１３０３）、第２ＡＰサーバ２０３に転送する（ステップＳ１３０４）。第２ＡＰサーバ２０３は、第１ＡＰサーバ２０２から受信した質問メッセージのメッセージＩＤ７０１、コミュニティＩＤ４０１、およびメッセージ内容７０２を新規エントリとして、メッセージ情報テーブル７００に登録する（ステップＳ１３０５）。
【００６５】
このあと、第２ＡＰサーバ２０３は、応答作成処理を実行する（ステップＳ１３０８）。応答作成処理（ステップＳ１３０８）の詳細については、図１４〜図１６を用いて後述する。応答作成処理（ステップＳ１３０８）のあと、第２ＡＰサーバ２０３は、第１ＡＰサーバ２０２を介して、宛先に指定された端末１０１に応答メッセージを送信する（ステップＳ１３０７）。このあと、第２ＡＰサーバ２０３は、応答メッセージＩＤ７０３を、メッセージ登録（ステップＳ１３０５）で登録したエントリに登録する（ステップＳ１３０８）。
【００６６】
＜応答作成処理（ステップＳ１３０６）＞
図１４は、図１３に示した応答作成処理（ステップＳ１３０６）の詳細な処理手順例１を示すフローチャートである。図１４の応答作成処理（ステップＳ１３０６）は、図１の（Ａ），（Ｂ）に示す例である。第２ＡＰサーバ２０３は、解析部１２０２により、メッセージ情報テーブル７００のメッセージ内容７０２を参照して、受信した質問メッセージに類似するメッセージ（以下、類似質問メッセージ）をメッセージ情報テーブル７００から取得する（ステップＳ１４０１）。
【００６７】
第２ＡＰサーバ２０３は、検索部１２０３により、アクセス権を問い合わせする（ステップＳ１４０２）具体的には、たとえば、第２ＡＰサーバ２０３は、質問メッセージに含まれるユーザＩＤ５０１から、質問したユーザを特定し、アクセス権制御情報テーブル５００を参照して、当該ユーザが所属する他のコミュニティＩＤを特定する。たとえば、ユーザ甲（ユーザＩＤ５０１：Ｕ０１）に対応するコミュニティＩＤ４０１は、ＣＭ０１（コミュニティＡ）、ＣＭ０２（コミュニティＣ）である。質問メッセージのコミュニティＩＤ４０１は、ＣＭ０１（コミュニティＡ）であるため、第２ＡＰサーバ２０３は、ユーザ甲が所属する他のコミュニティＩＤとして、ＣＭ０２（コミュニティＣ）を特定する。
【００６８】
ユーザはコミュニティに属すること、および、コミュニティに投稿されたメッセージの管理はコミュニティごとに行われることから、ユーザはそのユーザの属するコミュニティに属するメッセージに対してのみアクセス可能である。すなわち、ユーザは、ユーザ属性（ユーザＩＤ５０１に対応するコミュニティＩＤ４０１）に応じたメッセージ（コミュニティＩＤ４０１に対応するメッセージＩＤ７０１）にのみアクセスが限定されるため、情報の漏洩を防止することができる。
【００６９】
つぎに、第２ＡＰサーバ２０３は、ステップＳ１４０２において、他のコミュニティＩＤが見つかったか否かを判断する（ステップＳ１４０３）。見つからなかった場合（ステップＳ１４０３：Ｎｏ）、第２ＡＰサーバ２０３は、図１の（Ａ）に示したように、生成部１２０４により、応答メッセージとして、回答を提示できないことを示す回答不可メッセージを生成する（ステップＳ１４０４）。このあと、第２ＡＰサーバ２０３は、回答不可メッセージを返信する（ステップＳ１４０９）。回答不可メッセージは、指定された宛先に送信される（ステップＳ１３０７）。これにより、アクセス権限のないユーザへの情報提供を防止することができる。
【００７０】
一方、ステップＳ１４０３において、他のコミュニティＩＤが見つかった場合（ステップＳ１４０３：Ｙｅｓ）、第２ＡＰサーバ２０３は、特定部１２０６により、当該他のコミュニティＩＤをノウハウ公開先コミュニティＩＤ８０１として、当該ノウハウ公開先コミュニティＩＤ８０１に対応するノウハウ公開元コミュニティＩＤ８０２をノウハウ公開情報テーブル８００から取得して、公開元コミュニティを特定する（ステップＳ１４０５）。
【００７１】
ユーザの属するコミュニティとは異なるノウハウ公開元コミュニティに、当該ユーザからの問い合わせの回答に適したメッセージが存在する場合がある。当該ノウハウ公開元コミュニティにセキュリティ上そのユーザがアクセスしても問題ないため、そのようなメッセージを有効に活用するため、第２ＡＰサーバ２０３は、ノウハウ公開元コミュニティを特定する。
【００７２】
そして、第２ＡＰサーバ２０３は、抽出部１２０７により、メッセージ情報テーブル７００から、取得したノウハウ公開元コミュニティＩＤ８０２に対応するメッセージＩＤおよびメッセージ内容７０２の組み合わせをすべて取得して、各々返信メッセージとして抽出する（ステップＳ１４０６）。
【００７３】
第２ＡＰサーバ２０３は、生成部１２０４により、ステップＳ１４０６で取得された組み合わせごとに、類似質問メッセージのエントリの応答メッセージＩＤ７０３が、返信メッセージのメッセージＩＤと一致した場合、当該返信メッセージを、回答メッセージ候補とする。（ステップＳ１４０７）。そして、第２ＡＰサーバ２０３は、生成部１２０４により、回答メッセージ候補を用いて、質問メッセージの投稿者であるユーザ甲への回答に適した回答メッセージを生成する（ステップＳ１４０８）。
【００７４】
このあと、第２ＡＰサーバ２０３は、図１の（Ｂ）に示したように、回答メッセージを返信する（ステップＳ１４０９）。回答メッセージは、指定された宛先に送信される（ステップＳ１３０７）。これにより、複数コミュニティと対話をするＢｏｔであっても、ユーザ属性（ユーザＩＤ５０１に対応するコミュニティＩＤ４０１）に応じてメッセージ生成装置１００に蓄積された情報（コミュニティＩＤ４０１に対応するメッセージＩＤ７０１）へのアクセスを制限することができる。また、ユーザ自身が属するコミュニティと異なるコミュニティの情報であっても、アクセス制限された範囲内で情報を収集することが可能となる。したがって、セキュリティ性を担保しつつ蓄積された情報を有効に活用して、適切な回答をすることができる。
【００７５】
図１５は、図１３に示した応答作成処理（ステップＳ１３０６）の詳細な処理手順例２を示すフローチャートである。図１５の応答作成処理（ステップＳ１３０６）は、図１の（Ａ），（Ｃ）に示す例である。なお、図１４と同一処理には同一ステップ番号を付し、その説明を省略する。
【００７６】
ステップＳ１４０３において、他のコミュニティＩＤが見つかった場合（ステップＳ１４０３：Ｙｅｓ）、第２ＡＰサーバ２０３は、特定部１２０６により、当該他のコミュニティＩＤをノウフー公開先コミュニティＩＤ９０１として、当該ノウフー公開先コミュニティＩＤ９０１に対応するノウフー公開元コミュニティＩＤ９０２をノウフー公開情報テーブル９００から取得して、ノウフー公開元コミュニティを特定する（ステップＳ１５０５）。
【００７７】
ユーザの属するコミュニティとは異なるノウフー公開元コミュニティに、当該ユーザからの問い合わせの回答に適したメッセージが存在する場合がある。当該ノウフー公開元コミュニティにセキュリティ上そのユーザがアクセスしても問題ないため、そのようなメッセージを有効に活用するため、第２ＡＰサーバ２０３は、ノウフー公開元コミュニティを特定する。
【００７８】
そして、第２ＡＰサーバ２０３は、抽出部１２０７により、メッセージ情報テーブル７００から、取得したノウフー公開元コミュニティＩＤ９０２に対応するメッセージＩＤおよびメッセージ内容７０２の組み合わせをすべて取得して、各々返信メッセージとして抽出する（ステップＳ１５０６）。
【００７９】
第２ＡＰサーバ２０３は、生成部１２０４により、ステップＳ１４０６で取得された組み合わせごとに、類似質問メッセージのエントリの応答メッセージＩＤ７０３が、返信メッセージのメッセージＩＤと一致した場合、当該返信メッセージを、回答メッセージ候補とする（ステップＳ１５０７）。
【００８０】
第２ＡＰサーバ２０３は、決定部１２０８により、ノウフー公開ユーザ情報テーブル１０００から、取得したノウフー公開元コミュニティＩＤ９０２に対応するノウフー公開ユーザＩＤ５０１を取得して、ノウフー公開元コミュニティに所属する有識者を決定する（ステップＳ１５０８）。
【００８１】
そして、第２ＡＰサーバ２０３は、図１の（Ｃ）に示したように、生成部１２０４により、回答メッセージ候補が特定された場合に、ノウフー公開ユーザＩＤ１００１で特定される有識者を紹介する紹介メッセージを生成する（ステップＳ１５０９）。このあと、第２ＡＰサーバ２０３は、回答メッセージ（またはＳ１４０４の回答不可メッセージ）を返信する（ステップＳ１５１０）。回答メッセージは、指定された宛先に送信される（ステップＳ１３０７）。
【００８２】
これにより、複数コミュニティと対話をするＢｏｔであっても、ユーザ属性（ユーザＩＤ５０１に対応するコミュニティＩＤ４０１）に応じてメッセージ生成装置１００に蓄積された情報（コミュニティＩＤ４０１に対応するメッセージＩＤ７０１）へのアクセス制限をすることができる。また、ユーザ自身が属するコミュニティと異なるコミュニティの情報であっても、アクセス制限された範囲内で情報を収集し、有識者の紹介をすることができる。これにより、セキュリティ性を担保しつつ蓄積された情報を有効に活用することができる。
【００８３】
図１６は、図１３に示した応答作成処理（ステップＳ１３０６）の詳細な処理手順例３を示すフローチャートである。図１６の応答作成処理（ステップＳ１３０６）は、図１の（Ａ），（Ｄ）に示す例である。なお、図１４と同一処理には同一ステップ番号を付し、その説明を省略する。
【００８４】
ステップＳ１４０３において、他のコミュニティＩＤが見つかった場合（ステップＳ１４０３：Ｙｅｓ）、第２ＡＰサーバ２０３は、特定部１２０６により、当該他のコミュニティＩＤをフォロー元コミュニティＩＤ１１０２として、当該フォロー元コミュニティＩＤ１１０２に対応するフォロー先コミュニティＩＤ１１０１をフォロー許可情報テーブル１１００から取得して、フォロー先コミュニティを特定する（ステップＳ１６０５）。
【００８５】
ユーザの属するコミュニティとは異なるフォロー先コミュニティに、当該ユーザからの問い合わせの回答に適したメッセージが存在する場合がある。当該フォロー先コミュニティにセキュリティ上そのユーザがアクセスしても問題ないため、そのようなメッセージを有効に活用するため、第２ＡＰサーバ２０３は、フォロー先コミュニティを特定する。
【００８６】
そして、第２ＡＰサーバ２０３は、抽出部１２０７により、メッセージ情報テーブル７００から、取得したフォロー先コミュニティＩＤ１１０１に対応するメッセージＩＤ７０１およびメッセージ内容７０２の組み合わせをすべて取得して、各々返信メッセージとして抽出する（ステップＳ１６０６）。
【００８７】
第２ＡＰサーバ２０３は、生成部１２０４により、ステップＳ１６０６で取得された組み合わせごとに、類似質問メッセージのエントリの応答メッセージＩＤ７０３が、返信メッセージのメッセージＩＤ７０１と一致した場合、当該返信メッセージを、回答メッセージ候補とする。（ステップＳ１６０７）。
【００８８】
第２ＡＰサーバ２０３は、決定部１２０８により、回答メッセージ候補のメッセージＩＤ７０１に基づいて、フォロー先コミュニティから依頼先コミュニティを決定する（ステップＳ１６０８）。具体的には、たとえば、第２ＡＰサーバ２０３は、フォロー先コミュニティの中から、回答メッセージ候補の生成元のコミュニティを、回答の依頼を受ける依頼先コミュニティに決定する。
【００８９】
第２ＡＰサーバ２０３は、図１の（Ｄ）に示したように、生成部１２０４により、質問メッセージのユーザＩＤ５０１に対応するメールアドレスをユーザ情報テーブル６００から取得し、かつ、ステップＳ１６０８で決定された依頼先コミュニティを宛先とする依頼メッセージを生成する（ステップＳ１６０９）。
【００９０】
このあと、第２ＡＰサーバ２０３は、回答メッセージ（またはＳ１４０４の回答不可メッセージ）を返信する（ステップＳ１６１０）。回答メッセージは、指定された宛先に送信される（ステップＳ１３０７）。
【００９１】
これにより、複数コミュニティと対話をするＢｏｔであっても、ユーザ属性（ユーザＩＤ５０１に対応するコミュニティＩＤ４０１）に応じてメッセージ生成装置１００に蓄積された情報（コミュニティＩＤ４０１に対応するメッセージＩＤ７０１）へのアクセス制限をすることができる。また、ユーザ自身が属するコミュニティと異なるコミュニティの情報であっても、アクセス制限された範囲内で情報を収集することが可能となり、セキュリティ性を担保しつつ蓄積された情報を有効に活用して、他コミュニティへの情報提供依頼をすることができる。
【００９２】
以上説明したように、本実施例によれば、セキュリティの高い応答内容を柔軟に選択することができる。
【００９３】
なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。例えば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されない。また、ある実施例の構成の一部を他の実施例の構成に置き換えてもよい。また、ある実施例の構成に他の実施例の構成を加えてもよい。また、各実施例の構成の一部について、他の構成の追加、削除、または置換をしてもよい。
【００９４】
また、前述した各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。
【００９５】
各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、又は、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）カード、ＳＤカード、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）の記録媒体に格納することができる。
【００９６】
また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてよい。
【符号の説明】
【００９７】
１００  メッセージ生成装置
１０１  端末
２００  管理システム
４００  コミュニティ情報テーブル
５００  アクセス権制御情報テーブル
６００  ユーザ情報テーブル
７００  メッセージ情報テーブル
８００  ノウハウ公開情報テーブル
９００  ノウフー公開情報テーブル
１０００  ノウフー公開ユーザ情報テーブル
１１００  フォロー許可情報テーブル
１２０１  受信部
１２０２  解析部
１２０３  検索部
１２０４  生成部
１２０５  送信部
１２０６  特定部
１２０７  抽出部
１２０８  決定部
【図１】
2019016050.tif 000003
【図２】
2019016050.tif 000004
【図３】
2019016050.tif 000005
【図４】
2019016050.tif 000006
【図５】
2019016050.tif 000007
【図６】
2019016050.tif 000008
【図７】
2019016050.tif 000009
【図８】
2019016050.tif 000010
【図９】
2019016050.tif 000011
【図１０】
2019016050.tif 000012
【図１１】
2019016050.tif 000013
【図１２】
2019016050.tif 000014
【図１３】
2019016050.tif 000015
【図１４】
2019016050.tif 000016
【図１５】
2019016050.tif 000017
【図１６】
2019016050.tif 000018