(57)【要約】【課題】分析作業の効率化を図ること。【解決手段】分析支援装置１０１は、第１の場面のシナリオ情報を取得する。分析支援装置１０１は、第１の場面のシナリオ情報が表すアクション集合への、第１の場面に登場する第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付ける。分析支援装置１０１は、第１の場面のシナリオ情報が表す人物集合と知識集合とを継承した第２の場面のシナリオ情報を作成する。分析支援装置１０１は、作成した第２の場面のシナリオ情報が表す第２の登場人物の知識集合に、入力を受け付けた発言アクションの発言内容を登録する。【選択図】図１
2014059781.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１の場面に登場する登場人物の人物集合と前記第１の場面に登場する登場人物が有する知識の知識集合と前記第１の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第１のシナリオ情報を取得し、
前記第１のシナリオ情報が表す前記アクション集合への前記第１の場面に登場する第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付け、
前記第１のシナリオ情報が表す前記人物集合と前記知識集合とを継承することにより、第２の場面に登場する登場人物の人物集合と前記第２の場面に登場する登場人物が有する知識の知識集合と前記第２の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第２のシナリオ情報を作成し、
作成した前記第２のシナリオ情報が表す前記第２の登場人物の知識集合に、入力を受け付けた前記発言アクションの発言内容を登録する、
処理を実行させることを特徴とする分析支援プログラム。
【請求項２】
前記コンピュータに、
場面の半順序集合に、前記第１の場面の次に前記第２の場面に変化することを示す場面間の前後関係を登録する処理を実行させることを特徴とする請求項１に記載の分析支援プログラム。
【請求項３】
前記コンピュータに、
前記第２の登場人物の知識集合に前記発言アクションの発言内容を登録した場合、前記第２のシナリオ情報の前記第２の登場人物の知識集合のうち第１の知識に含意されている第２の知識を削除する論理簡約を行う処理を実行させることを特徴とする請求項１または２に記載の分析支援プログラム。
【請求項４】
前記知識は、体言と用言との関係を表す情報として表現されており、
前記論理簡約を行う処理は、
記憶部に記憶されている体言の半順序集合に基づいて、前記論理簡約を行うことを特徴とする請求項３に記載の分析支援プログラム。
【請求項５】
第１の場面に登場する登場人物の人物集合と前記第１の場面に登場する登場人物が有する知識の知識集合と前記第１の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第１のシナリオ情報を取得する取得部と、
前記取得部によって取得された前記第１のシナリオ情報が表す前記アクション集合への前記第１の場面に登場する第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付ける受付部と、
前記第１のシナリオ情報が表す前記人物集合と前記知識集合とを継承することにより、第２の場面に登場する登場人物の人物集合と前記第２の場面に登場する登場人物が有する知識の知識集合と前記第２の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第２のシナリオ情報を作成する作成部と、
前記作成部によって作成された前記第２のシナリオ情報が表す前記第２の登場人物の知識集合に、前記受付部によって入力を受け付けた前記発言アクションの発言内容を登録する登録部と、
を有することを特徴とする分析支援装置。
【請求項６】
コンピュータが、
第１の場面に登場する登場人物の人物集合と前記第１の場面に登場する登場人物が有する知識の知識集合と前記第１の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第１のシナリオ情報を取得し、
前記第１のシナリオ情報が表す前記アクション集合への前記第１の場面に登場する第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付け、
前記第１のシナリオ情報が表す前記人物集合と前記知識集合とを継承することにより、第２の場面に登場する登場人物の人物集合と前記第２の場面に登場する登場人物が有する知識の知識集合と前記第２の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第２のシナリオ情報を作成し、
作成した前記第２のシナリオ情報が表す前記第２の登場人物の知識集合に、入力を受け付けた前記発言アクションの発言内容を登録する、
処理を実行することを特徴とする分析支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析支援プログラム、分析支援装置および分析支援方法に関する。
【背景技術】
【０００２】
ソフトウェア工学において、要求分析は、新たなシステムやシステム更新の調査や定義に関わる工程である。要求分析は、例えば、顧客との対話によって要求を聞き出す工程と、要求を明確化して矛盾点や問題点を明らかにする工程と、要求を文書化する工程と、を含む。また、要求分析では、ロールプレーイングによる問題抽出が行われることがある。
【０００３】
先行技術としては、例えば、イベントフローチャートを利用した離散イベントシステムをモデリングするためのものがある。また、オブジェクト指向パラダイムに基づいて知識情報処理システムの各要素の関係をモデルにより視覚化する技術がある。また、サブジェクトシステムへのアクションを生成するための技術がある。また、有限状態マシンモデルを生成するための技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００４−５０２２３４号公報
【特許文献２】特開２００３−０７６５４８号公報
【特許文献３】特表２００８−５１７３６２号公報
【特許文献４】特表２００９−５０１９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、要求分析などで取り交わされる情報を整理するのに時間や手間がかかり、分析作業にかかる作業負荷が増大するという問題がある。例えば、要求分析者が、人と人とのコミュニケーションによって次々に変化する状況を把握して、人と人との間で取り交わされる情報を整理するのには時間や手間がかかる。
【０００６】
一つの側面では、本発明は、分析作業の効率化を図る分析支援プログラム、分析支援装置および分析支援方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、第１の場面に登場する登場人物の人物集合と前記第１の場面に登場する登場人物が有する知識の知識集合と前記第１の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第１のシナリオ情報を取得し、前記第１のシナリオ情報が表す前記アクション集合への前記第１の場面に登場する第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付け、前記第１のシナリオ情報が表す前記人物集合と前記知識集合とを継承することにより、第２の場面に登場する登場人物の人物集合と前記第２の場面に登場する登場人物が有する知識の知識集合と前記第２の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第２のシナリオ情報を作成し、作成した前記第２のシナリオ情報が表す前記第２の登場人物の知識集合に、入力を受け付けた前記発言アクションの発言内容を登録する分析支援プログラム、分析支援装置および分析支援方法が提案される。
【発明の効果】
【０００８】
本発明の一態様によれば、分析作業の効率化を図ることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態にかかる分析支援方法の一実施例を示す説明図である。
【図２】図２は、分析支援装置１０１のハードウェア構成例を示すブロック図である。
【図３】図３は、分析支援装置１０１の機能的構成例を示すブロック図である。
【図４】図４は、半順序集合のクラス図を示す説明図である。
【図５】図５は、半順序集合のオブジェクト図を示す説明図である。
【図６】図６は、マンガチャート状況理論を示す説明図である。
【図７】図７は、ＵＭＬ表記による概念の包含関係を示す説明図である。
【図８】図８は、Ｉｎｆｏｎの性質による分類を示す説明図である。
【図９】図９は、一般性Ｉｎｆｏｎの解釈例を示す説明図である。
【図１０】図１０は、事実性Ｉｎｆｏｎの解釈例を示す説明図である。
【図１１】図１１は、複雑な意味を持つＩｎｆｏｎの一例を示す説明図である。
【図１２】図１２は、半順序集合における概念の定義を示す説明図である。
【図１３】図１３は、トップとボトム要素の定義を示す説明図である。
【図１４】図１４は、関係性の半順序集合を求める関数の定義を示す説明図である。
【図１５】図１５は、簡約アルゴリズムの一例を示す説明図である。
【図１６】図１６は、簡約アルゴリズムを適用した結果例を示す説明図である。
【図１７】図１７は、場面の一例を示す説明図（その１）である。
【図１８】図１８は、場面の一例を示す説明図（その２）である。
【図１９】図１９は、場面の一例を示す説明図（その３）である。
【図２０】図２０は、場面の一例を示す説明図（その４）である。
【図２１】図２１は、場面の一例を示す説明図（その５）である。
【図２２】図２２は、場面の一例を示す説明図（その６）である。
【図２３】図２３は、場面の一例を示す説明図（その７）である。
【図２４】図２４は、場面の一例を示す説明図（その８）である。
【図２５】図２５は、場面の一例を示す説明図（その９）である。
【図２６】図２６は、不明Ｉｎｆｏｎの一例を示す説明図である。
【図２７】図２７は、分類表２７００の具体例を示す説明図である。
【図２８Ａ】図２８Ａは、学術研究を例にしたマンガチャートの一例を示す説明図（その１）である。
【図２８Ｂ】図２８Ｂは、学術研究を例にしたマンガチャートの一例を示す説明図（その２）である。
【図２９】図２９は、並立の定義を示す説明図である。
【図３０】図３０は、Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙを含むマンガチャートの一例を示す説明図（その１）である。
【図３１】図３１は、Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙを含むマンガチャートの一例を示す説明図（その２）である。
【図３２】図３２は、Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙを含むマンガチャートの一例を示す説明図（その３）である。
【図３３】図３３は、Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙを含むマンガチャートの一例を示す説明図（その４）である。
【図３４】図３４は、Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙを含むマンガチャートの一例を示す説明図（その５）である。
【図３５】図３５は、Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙを含むマンガチャートの一例を示す説明図（その６）である。
【図３６】図３６は、Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙを含むマンガチャートの一例を示す説明図（その７）である。
【図３７】図３７は、Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙを含むマンガチャートの一例を示す説明図（その８）である。
【図３８】図３８は、Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙを含むマンガチャートの一例を示す説明図（その９）である。
【図３９】図３９は、Ｗｈａｔ問い合わせの一例を示す説明図（その１）である。
【図４０】図４０は、Ｗｈａｔ問い合わせの一例を示す説明図（その２）である。
【図４１】図４１は、分析支援装置１０１の分析支援処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明にかかる分析支援プログラム、分析支援装置および分析支援方法の実施の形態を詳細に説明する。
【００１１】
（実施の形態）
図１は、実施の形態にかかる分析支援方法の一実施例を示す説明図である。図１において、分析支援装置１０１は、事象の分析を支援するコンピュータである。分析対象となる事象は、例えば、ロールプレーイングにより分析されるような人と人とのコミュニケーションによって状況（場面）が変化する事象である。
【００１２】
具体的には、例えば、ソフトウェア工学における要求分析や事故発生原因の解析、ビジネスモデルや接客対応マニュアルのための検討などに本分析支援方法を適用することができる。ここでは、ソフトウェア工学の要求分析を例に挙げて説明する。
【００１３】
要求分析において、要求分析者が、人と人とのコミュニケーションによって次々に変化する場面を把握して、人と人との間で取り交わされる情報を体系化して手作業で整理するのには時間や手間がかかる。また、人と人との間で取り交わされる情報をどのように整理すれば、有益な情報を抽出することができるのかを判断することが難しい。
【００１４】
そこで、本実施の形態では、分析支援装置１０１は、ある場面の登場人物が発話すると、その場面の登場人物と登場人物の知識が継承され、かつ、発言者の発言内容が聞き手の知識に追加された次の場面のシナリオ情報を作成する。これにより、人と人とのコミュニケーションによって変化する状況の把握を容易にして、要求分析にかかる作業負荷を軽減させる。
【００１５】
（１）分析支援装置１０１は、第１の場面のシナリオ情報を取得する。ここで、場面は、変化する状況の一部分を表し、例えば、登場人物、登場人物の知識、登場人物のアクションによって特徴付けられる。シナリオ情報は、場面に登場する登場人物の人物集合と、登場人物が有する知識の知識集合と、登場人物が行うアクションのアクション集合とを形式化して表す情報である。
【００１６】
また、登場人物の知識とは、登場人物が知っている事柄を表す情報である。登場人物の知識は、例えば、体言と用言との関係を表す情報として表現される。なお、体言とは、単独で主語となることができるものであり、例えば、名詞である。用言とは、単独で述語となることができるものであり、例えば、動詞である。知識の一例としては、例えば、「鳥（体言）は飛ぶ（用言）」という知識がある。また、登場人物が行うアクションとは、場面で発生する出来事を表す情報である。アクションの一例としては、例えば、登場人物の発言、登場、退場などがある。
【００１７】
具体的には、例えば、分析支援装置１０１は、第１の場面の直前の場面（例えば、初期場面）のシナリオ情報を複製して第１の場面のシナリオ情報を作成することにより、第１の場面のシナリオ情報を取得することにしてもよい。第１の場面の直前の場面（例えば、初期場面）のシナリオ情報は、例えば、メモリ等（例えば、後述の図２に示すＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７など）に記憶されている。また、分析支援装置１０１は、ユーザ（例えば、要求分析者）の操作入力により、分析支援装置１０１に直接入力された第１の場面のシナリオ情報を取得することにしてもよい。
【００１８】
図１の例では、場面Ｓ１のシナリオ情報１１０が取得されている。シナリオ情報１１０には、場面Ｓ１に登場する登場人物の人物集合１１１と、登場人物が行うアクションのアクション集合１１２と、登場人物１が有する知識の知識集合１１３−１と、登場人物２が有する知識の知識集合１１３−２と、が含まれている。人物集合１１１は、登場人物１と登場人物２を含む。アクション集合１１２は、空集合となっている。知識集合１１３−１は、登場人物１が有する知識１を含む。知識集合１１３−２は、登場人物２が有する知識２と知識３と知識４を含む。
【００１９】
（２）分析支援装置１０１は、第１の場面のシナリオ情報が表すアクション集合への、第１の場面に登場する第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付ける。入力される発言アクションの発言内容は、第１の登場人物が有する知識である。
【００２０】
例えば、第１の登場人物が有する知識を、第１の登場人物から第２の登場人物に対して発言することにより、場面がどのように変化するのかを分析したい場合がある。この場合、要求分析者は、例えば、シナリオ情報が表すアクション集合に第１の登場人物から第２の登場人物に対する発言アクションの発言内容（第１の登場人物が有する知識）を入力する。
【００２１】
図１の例では、シナリオ情報１１０が表すアクション集合１１２に「発言（登場人物２，登場人物１，知識２）」が入力されている。「発言（登場人物２，登場人物１，知識２）」は、登場人物２から登場人物１に対して、登場人物２が有する知識２を発言したことを表している。
【００２２】
分析支援装置１０１は、アクション集合１１２への発言アクションの発言内容の入力を受け付けた場合、アクション集合１１２に「発言（登場人物２，登場人物１，知識２）」が入力されたシナリオ情報１１０を出力することにしてもよい。これにより、登場人物１に対して登場人物２が「知識２」について発言した場面Ｓ１のシナリオ情報１１０を出力することができる。
【００２３】
（３）分析支援装置１０１は、第１の場面のシナリオ情報が表す人物集合と知識集合とを継承した第２の場面のシナリオ情報を作成する。具体的には、例えば、分析支援装置１０１は、シナリオ情報１１０の人物集合１１１と知識集合１１３−１，１１３−２を複製した人物集合１２１と知識集合１２３−１，１２３−２を含むシナリオ情報１２０を作成する。この際、分析支援装置１０１は、シナリオ情報１２０のアクション集合１２２を空集合とする。
【００２４】
（４）分析支援装置１０１は、作成した第２の場面のシナリオ情報が表す第２の登場人物の知識集合に、入力を受け付けた発言アクションの発言内容を登録する。具体的には、例えば、分析支援装置１０１は、シナリオ情報１１０のアクション集合１１２に入力された「発言（登場人物２，登場人物１，知識２）」のうちの「知識２」を、シナリオ情報１２０の知識集合１２３−１に登録する。これにより、登場人物１が有する知識として、登場人物２から登場人物１に対して発言された「知識２」を追加することができる。
【００２５】
また、分析支援装置１０１は、知識集合１２３−１に「知識２」が登録された登録後のシナリオ情報１２０を出力することにしてもよい。これにより、登場人物２が「知識２」について発言したことにより登場人物１が有する知識が変化した場面Ｓ２のシナリオ情報１２０を出力することができる。
【００２６】
このように、分析支援装置１０１によれば、場面のシナリオ情報が表すアクション集合への、第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付けることができる。また、分析支援装置１０１によれば、アクション集合に発言アクションの発言内容が入力された場合、場面のシナリオ情報が表す人物集合と知識集合とを継承した次の場面のシナリオ情報を作成することができる。また、分析支援装置１０１によれば、次の場面のシナリオ情報が表す第２の登場人物の知識集合に、入力を受け付けた発言アクションの発言内容を登録することができる。
【００２７】
これにより、ユーザの操作入力により入力された発言アクションに応じて、次の場面のシナリオ情報を作成することができ、人と人とのコミュニケーションによって次々に変化する場面の把握を容易にするシナリオ情報を提供することができる。この結果、人と人との間で取り交わされる情報を体系化して整理することができ、要求分析にかかる作業効率を向上させることができる。
【００２８】
（分析支援装置１０１のハードウェア構成例）
図２は、分析支援装置１０１のハードウェア構成例を示すブロック図である。図２において、分析支援装置１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、磁気ディスクドライブ２０４と、磁気ディスク２０５と、光ディスクドライブ２０６と、光ディスク２０７と、ディスプレイ２０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）２０９と、キーボード２１０と、マウス２１１と、スキャナ２１２と、プリンタ２１３と、を有している。また、各構成部はバス２００によってそれぞれ接続されている。
【００２９】
ここで、ＣＰＵ２０１は、分析支援装置１０１の全体の制御を司る。ＲＯＭ２０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ２０３は、ＣＰＵ２０１のワークエリアとして使用される。磁気ディスクドライブ２０４は、ＣＰＵ２０１の制御にしたがって磁気ディスク２０５に対するデータのリード／ライトを制御する。磁気ディスク２０５は、磁気ディスクドライブ２０４の制御で書き込まれたデータを記憶する。
【００３０】
光ディスクドライブ２０６は、ＣＰＵ２０１の制御にしたがって光ディスク２０７に対するデータのリード／ライトを制御する。光ディスク２０７は、光ディスクドライブ２０６の制御で書き込まれたデータを記憶したり、光ディスク２０７に記憶されたデータをコンピュータに読み取らせたりする。
【００３１】
ディスプレイ２０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ２０８は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３２】
Ｉ／Ｆ２０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２１４に接続され、このネットワーク２１４を介して他の装置に接続される。そして、Ｉ／Ｆ２０９は、ネットワーク２１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ２０９には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００３３】
キーボード２１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス２１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３４】
スキャナ２１２は、画像を光学的に読み取り、分析支援装置１０１内に画像データを取り込む。なお、スキャナ２１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ２１３は、画像データや文書データを印刷する。プリンタ２１３には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３５】
なお、分析支援装置１０１は、上述した構成部のうち、例えば、光ディスクドライブ２０６、光ディスク２０７、スキャナ２１２、プリンタ２１３等を有さないことにしてもよい。
【００３６】
（分析支援装置１０１の機能的構成例）
図３は、分析支援装置１０１の機能的構成例を示すブロック図である。図３において、分析支援装置１０１は、取得部３０１と、受付部３０２と、作成部３０３と、登録部３０４と、簡約部３０５と、出力部３０６と、を含む構成である。取得部３０１〜出力部３０６は制御部となる機能であり、具体的には、例えば、図２に示したＲＯＭ２０２、ＲＡＭ２０３、磁気ディスク２０５、光ディスク２０７などの記憶装置に記憶されたプログラムをＣＰＵ２０１に実行させることにより、または、Ｉ／Ｆ２０９により、その機能を実現する。
【００３７】
取得部３０１は、場面のシナリオ情報を取得する機能を有する。具体的には、例えば、取得部３０１は、現在の場面のシナリオ情報をＲＡＭ２０３等の記憶装置から読み出すことにより、現在の場面のシナリオ情報を取得することにしてもよい。現在の場面とは、処理対象となる場面である。
【００３８】
新しい場面を作成していない初期状態では、現在の場面は、初期場面となる。初期場面には、例えば、最初から登場している登場人物と、登場人物が最初から知っている知識とが表現される。初期場面のシナリオ情報は、例えば、図２に示したキーボード２１０やマウス２１１を用いたユーザの操作入力により作成されてＲＡＭ２０３等の記憶装置に記憶されている。
【００３９】
より具体的には、例えば、取得部３０１は、ユーザの操作入力により、現在の場面の取得要求を受け付けた場合に、現在の場面のシナリオ情報を取得することにしてもよい。また、分析支援装置１０１は、取得部３０１によって取得された現在の場面のシナリオ情報をディスプレイ２０８（図２参照）に表示することにしてもよい。これにより、要求分析者は、ディスプレイ２０８に表示された現在の場面のシナリオ情報を編集することができる。
【００４０】
なお、各場面のシナリオ情報は、例えば、各場面の場面ＩＤと関連付けてＲＡＭ２０３等の記憶装置に記憶されている。場面ＩＤは、場面を識別する識別情報である。ユーザは、任意の場面ＩＤを指定することにより、任意の場面を現在の場面として指定することができる。
【００４１】
受付部３０２は、現在の場面のシナリオ情報が表すアクション集合への、現在の場面に登場する第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付ける機能を有する。具体的には、例えば、受付部３０２は、ユーザの操作入力により、第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付ける。なお、発言アクションは、後述する「ｓａｙアクション」に相当し、例えば、３つの引数の述語形式で「ｓａｙ（発言者，聞き手，発言内容）」と記述される。
【００４２】
作成部３０３は、現在の場面のシナリオ情報が表す人物集合と知識集合とを継承した次の場面のシナリオ情報を作成する機能を有する。具体的には、例えば、作成部３０３は、現在の場面のシナリオ情報の人物集合と知識集合を複製することにより、次の場面のシナリオ情報を作成する。この際、作成部３０３は、次の場面のシナリオ情報のアクション集合を空集合とする。
【００４３】
より具体的には、例えば、作成部３０３は、ユーザの操作入力により、発言アクションの発言内容の入力を受け付けた結果、現在の場面から次の場面への切替指示を受け付けた場合に、次の場面のシナリオ情報を作成することにしてもよい。
【００４４】
登録部３０４は、作成された次の場面のシナリオ情報が表す第２の登場人物の知識集合に、現在の場面のシナリオ情報のアクション集合に入力された発言アクションの発言内容を登録する機能を有する。これにより、第２の登場人物が有する知識として、第１の登場人物から第２の登場人物に対して発言された知識を追加することができる。
【００４５】
また、登録部３０４は、次の場面のシナリオ情報が表す第２の登場人物の知識集合に発言アクションの発言内容が含まれているか否かを判断することにしてもよい。そして、登録部３０４は、第２の登場人物の知識集合に発言アクションの発言内容が含まれていない場合に、第２の登場人物の知識集合に発言アクションの発言内容を登録することにしてもよい。一方、第２の登場人物の知識集合に発言アクションの発言内容が含まれている場合は、登録部３０４は、第２の登場人物の知識集合に発言アクションの発言内容を登録しないことにしてもよい。これにより、第２の登場人物が有する知識として、第１の登場人物から第２の登場人物に対して発言された、第２の登場人物にとって新しい知識を追加することができる。
【００４６】
また、登録部３０４は、場面の半順序集合に、現在の場面と次の場面との前後関係を登録する。ここで、場面の半順序集合とは、場面間の前後関係を示す情報である。場面の半順序集合には、例えば、少なくとも初期場面の場面ＩＤ、あるいは、初期場面をもとに作成された最初の場面の場面ＩＤが登録されている。なお、場面の半順序集合は、後述する「台本」に相当する。
【００４７】
具体的には、例えば、登録部３０４は、ＲＡＭ２０３等の記憶装置から場面の半順序集合を読み出し、場面の半順序集合の現在の場面の場面ＩＤの後ろに次の場面の場面ＩＤを登録する。場面の半順序集合によれば、人と人とのコミュニケーションによって次々に変化する場面の遷移を特定することができる。
【００４８】
簡約部３０５は、第２の登場人物の知識集合に発言アクションの発言内容を登録した場合、次の場面のシナリオ情報の第２の登場人物の知識集合の論理簡約を行う機能を有する。ここで、論理簡約とは、知識集合に含まれる知識群のうち他の知識に含意されている知識を取り除く、すなわち、知識集合から削除することである。
【００４９】
ここで、知識は、上述したように、体言（名詞的なもの）と用言（動詞的なもの）との関係を表す情報として表現される。このため、簡約部３０５は、例えば、体言の半順序集合に基づいて、第２の登場人物の知識集合の論理簡約を行うことにしてもよい。また、簡約部３０５は、体言の半順序集合と用言の半順序集合とに基づいて、第２の登場人物の知識集合の論理簡約を行うことにしてもよい。
【００５０】
なお、体言の半順序集合と用言の半順序集合は、予め作成されてＲＡＭ２０３等の記憶装置に記憶されている。また、論理簡約についての詳細な説明は後述する。また、体言は、例えば、後述する「概念」に相当し、用言は、例えば、後述する「関係」に相当する。
【００５１】
出力部３０６は、次の場面のシナリオ情報を出力する機能を有する。具体的には、例えば、出力部３０６は、次の場面のシナリオ情報の第２の登場人物の知識集合に発言アクションの発言内容が登録された結果、次の場面のシナリオ情報を出力することにしてもよい。また、出力部３０６は、次の場面のシナリオ情報の第２の登場人物の知識集合の論理簡約が行われた結果、次の場面のシナリオ情報を出力することにしてもよい。
【００５２】
また、出力部３０６は、場面の半順序集合を出力することにしてもよい。なお、出力部３０６の出力形式としては、例えば、ＲＡＭ２０３等の記憶装置への記憶、ディスプレイ２０８への表示、プリンタ２１３への印刷出力、Ｉ／Ｆ２０９による外部コンピュータへの送信がある。
【００５３】
また、受付部３０２は、現在の場面のシナリオ情報が表すアクション集合への、現在の場面に登場する登場人物とは異なる新たな登場人物が登場する登場アクションの入力を受け付けることにしてもよい。具体的には、例えば、受付部３０２は、ユーザの操作入力により、新たな登場人物が登場する登場アクションの入力を受け付ける。
【００５４】
この場合、登録部３０４は、作成された次の場面のシナリオ情報が表す人物集合に、入力された登場アクションによって登場する新たな登場人物を登録することにしてもよい。これにより、次の画面の登場人物として、登場アクションによって登場した新たな登場人物を追加することができる。
【００５５】
また、受付部３０２は、現在の場面のシナリオ情報が表すアクション集合への、現在の場面に登場する第３の登場人物が退場する退場アクションの入力を受け付けることにしてもよい。具体的には、例えば、受付部３０２は、ユーザの操作入力により、第３の登場人物が退場する退場アクションの入力を受け付ける。
【００５６】
この場合、登録部３０４は、作成された次の場面のシナリオ情報が表す人物集合から、入力された退場アクションによって退場する第３の登場人物を削除するとともに、次の場面のシナリオ情報が表す第３の登場人物の知識集合を削除することにしてもよい。これにより、次の画面の登場人物から、退場アクションによって退場した第３の登場人物を削除することができる。
【００５７】
（情報の形式化）
つぎに、本実施の形態にかかる「情報」の形式化について説明する。要求分析では、想定する状況の明確化が重要である。また、要求分析では、どのような情報や出来事により、想定される状況が変化していくのかが重要である。ここで、状況意味論・状況理論は、状況と情報で自然言語を形式化する理論である。
【００５８】
また、マンガは、状況の遷移を明確にしたメディアであり、各々のコマでは、絵としての情報と文字としての情報とが記されたメディアである。マンガは、コマごとに与えられる端的なデータによって、状況の遷移をメディア提供者と読者とが共有できる表現形態であり、誤解が生じ難い表現形態であるといえる。
【００５９】
以下、本実施の形態では、要求分析、状況意味論・状況理論、マンガをキーワードにして、要件の表現形式を形式化する場合について説明する。
【００６０】
（状況意味論・状況理論に基づく定義）
本実施の形態では、分析支援装置１０１は、「情報」を以下のようにタプル表記で形式化する。ここでは、形式化した情報を「インフォン（ｉｎｆｏｎ）」と表記する場合がある。
【００６１】
インフォン：＜Ｒ，Ｏ1，…，Ｏn，Ｐ＞
Ｒ：関係
Ｏi：オブジェクト
Ｐ：極性｛ｔｒｕｅ，ｆａｌｓｅ｝
意味：
ｉｆ  Ｐ＝＝ｔｒｕｅ  ｔｈｅｎ  オブジェクトＯ1〜Ｏnの間に関係Ｒが成り立つ
ｅｌｓｅ  オブジェクトＯ1〜Ｏnの間に関係Ｒが成り立たない
【００６２】
また、状況ｓkにおいてインフォンｉjが成立することを下記式（１）のように表記する。これにより、状況と情報との関係を示すシンタックスが定義される。
【００６３】
【数１】
2014059781.tif 000003
【００６４】
また、状況は、その状況下で成り立つ情報集合で特徴付けられるものとし、集合論的に下記式（２）および下記式（３）のように定義（集合論的状況定義）する。
【００６５】
【数２】
2014059781.tif 000004
【００６６】
【数３】
2014059781.tif 000005
【００６７】
このように、集合論や代数による情報の形式化を行うことにより、ソフトウェア構造を定義したのと同等の効果を得られることができる。例えば、半順序集合があったとすると、半順序集合は、関係を構成する要素の集合と要素間の半順序の定義があればよい。これをソフトウェアで考えると、ＳＴＬ（Ｓｔａｎｄａｒｄ  Ｔｅｍｐｌａｔｅ  Ｌｉｂｒａｒｙ）のように、要素の詳細は抽象化しているが、要素間の関係を定義したものと解釈することができる。
【００６８】
そして、要素を型のインスタンス、半順序ａ＜ｂを型のインスタンスａからｂのリンク、すなわち、インスタンスａの中に定義される後続要素リストの中にｂへのポインタがあればよいと見なせる。例えば、後述の図４に示すように、後続の要素へのポインタリストと親へのポインタを持つようにしておけば、半順序集合が定義できる。このように、離散の代数構造は、ソフトウェアの構造を定義していると見なせる。
【００６９】
図４は、半順序集合のクラス図を示す説明図である。図４において、半順序集合のクラス例が示されている。図４中の「ｓｏｍｅ  ｃｌａｓｓ」は、テンプレートで指定されるあるクラスを指している。また、「接する」という概念を定義する。なお、「接する」という概念の詳細な説明は、図１２を用いて後述する。
【００７０】
ある要素αの「ａｎｃｅｓｔｏｒ」は、要素αに接している要素βかつβ→αである要素βのリストである。ある要素αの「ｓｕｃｃｅｓｏｒ」は、要素αに接している要素βかつα→βである要素βのリストである。これにより、半順序集合を実装することができる。
【００７１】
場面の半順序集合の一例を挙げると、例えば、以下のようになる。ただし、Ｓは場面（シナリオ）を表し、Ｔは開幕を表し、⊥は閉幕を表す。
【００７２】
Ｔ→Ｓ１→Ｓ２→Ｓ３→⊥
Ｓ２→Ｓ４→Ｓ６→⊥
Ｓ２→Ｓ５→Ｓ６
【００７３】
図５は、半順序集合のオブジェクト図を示す説明図である。図５において、上述した場面の半順序集合の一例をクラス（図４参照）で表現したオブジェクト図が示されている。このように、ＳＴＬやＳｃａｌａ言語が用意しているコンテナ（集合、リストなど）および半順序集合というコンテナであれば、ソフトウェア実装可能である。
【００７４】
ここで、要求分析で取り上げられるシーンでの発話でどのような問題が起きるのかをユーザがうまく把握しようとすると「誰がどのような情報を知っているのか」が明確でないと、直観的で誤解の生じにくい理解が難しい。
【００７５】
例えば、サービスカウンターに顧客がきて質問する場合、顧客には聞きたい情報があるが、サービスカウンターにいる職員は何を聞かれるのか分かっていない。顧客が質問を発して初めて、職員により「やってきた彼は、これのことを知りたがっている」と認識される。すなわち、顧客と職員との間で情報が共有されたことになる。
【００７６】
情報システムの一環で情報をやり取りする場面において、ある人が知っていて別の人が知らないことを、知らない人から知っている人に疑問を投げかける操作が「Ｑｕｅｒｙ（問い合わせ）」である。また、知っている人が知らない人に回答する操作が「Ａｎｓｗｅｒ（回答）」である。すなわち、情報システムにおける要求分析において、誰が何を知っているかということが重要であり、どのような操作によって、知らないことが解決するのかを示すことが重要である。
【００７７】
そこで、本実施の形態では、登場人物という概念を取り入れ、登場人物を情報の入れ物として見なす。また、状況は情報の集まりであり、登場人物は情報の集まりなので、登場人物は状況の一種としてとらえる。換言すると、登場人物は、人物の内面（内的な状況）を表していると見なせる。
【００７８】
また、本実施の形態では、データベースのように情報を保有することができる人以外のものを扱えるようにするため、登場人物の継承クラスとして代理人という概念を取り入れる。例えば、情報を永続的に記憶する代理人は、データベースと呼ばれる。
【００７９】
また、本実施の形態では、登場人物間での情報をやり取りするスナップショットを形式化する。これは場面に相当するので、状況のサブクラスとして場面を定義する。場面は、状況の定義である情報の集合だけでなく、その場面を構成する登場人物の集合と、登場人物間でやり取りされるアクションの集合とを含む。
【００８０】
要求分析では、要求分析者は場面の流れを追うことになる一方で、ある場面でいくつかの選択肢があってつぎの場面の候補が複数存在する場合がある。ここでは、場面の集合に対して、場面の前後関係を示す場面の半順序集合を「台本」と呼ぶ。台本は、選択肢によってシナリオが変わる。なお、章立てに相当する管理を行うために、場面に対してさらに台本を持たせることにしてもよい。
【００８１】
図６は、マンガチャート状況理論を示す説明図である。図６において、マンガチャートを定義するデータ構造が形式的表現により定義されている。本実施の形態では、基本的には図６に示す定義に基づいて、概念と関係の半順序集合はグローバルな集合とする。ただし、状況ごとに変化がある場合には、状況は（Ｉｎｆｏｎ集合、概念半順序集合、関係半順序集合）として定義されることにしてもよい。
【００８２】
また、Ｉｎｆｏｎはリスト構造で表現でき、集合はリストまたは集合で表現でき、半順序集合は図４のように表現できるため、いずれの形式化要素もコンテナで容易に実現できるソフトウェア要素となっている。したがって、これらをＲＡＭ２０３等の記憶装置に置くことができ、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）のような表現形式を使えばファイルに落とすことができ、コンピュータリーダブルな表現が可能である。
【００８３】
以上により、マンガチャートを定義するデータ構造を形式的表現により定義することができる。また、要求分析を行う上で、想定されるシナリオのあるシーンで行われる発話行為をモデル化することにより、モデルを利用した要求分析者が、直感的に分かりやすく、要求分析者間で合意がとりやすい形式化を行うことができる。この結果、直観性な理解が可能になり、見落とし、すなわち、「想定外の事象」の発生を抑えることができるとともに、別の着想に至る可能性を高めることができる。
【００８４】
（Ｉｎｆｏｎの形式的意味）
つぎに、Ｉｎｆｏｎの形式的意味について説明する。まず、「概念」を下記式（４）のように定義する。下記式（４）は、「概念」の集合論による内包的定義である。また、「概念の包含関係」を表す半順序「＜」を「Ａ＜Ｂ≡ＡｉｓａＢ」と定義する。「概念」の包含関係の集合論的定義を下記式（５）、（６）および（７）のように定義する。
【００８５】
【数４】
2014059781.tif 000006
【００８６】
【数５】
2014059781.tif 000007
【００８７】
また、ＡはＢの概念を継承しているとすると、ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ）を利用して「概念の包含関係」を記述する場合には、図７に示すように継承関係で表記する。
【００８８】
図７は、ＵＭＬ表記による概念の包含関係を示す説明図である。図７において、「概念の包含関係」が概念の継承関係で表記されており、ＡはＢの概念を継承している。
【００８９】
また、「関係」の集合論による内包的定義を下記式（８）のように定義し、「関係」の包含関係の集合論的定義を下記式（９）のように定義する。
【００９０】
【数６】
2014059781.tif 000008
【００９１】
【数７】
2014059781.tif 000009
【００９２】
これにより、「概念（名詞的なもの）」にも「関係（動詞的なもの）」にも包含関係ができたことになる。また、上述したように、情報は、関係と複数の概念と極性とのタプル表記で表現される。また、関係と複数の概念とのタプル表記で表現された概念を「関係性」と呼ぶ。
【００９３】
そして、「関係性」を下記式（１０）のように定義し、「関係性」の集合論的定義を下記式（１１）のように定義し、「関係性」の包含関係を下記式（１２）のように定義すると、「関係性」の包含関係の性質は下記式（１３）のように導出することができる。
【００９４】
【数８】
2014059781.tif 000010
【００９５】
【数９】
2014059781.tif 000011
【００９６】
【数１０】
2014059781.tif 000012
【００９７】
【数１１】
2014059781.tif 000013
【００９８】
また、Ｉｎｆｏｎと関係性の関数を下記式（１４）、（１５）および（１６）のように定義する。下記式（１４）は、Ｉｎｆｏｎ→関係性の関数である。下記式（１５）は、極性関数である。下記式（１６）は、関係性→Ｉｎｆｏｎの関数である。
【００９９】
【数１２】
2014059781.tif 000014
【０１００】
【数１３】
2014059781.tif 000015
【０１０１】
【数１４】
2014059781.tif 000016
【０１０２】
上記式（１４）〜（１６）を用いることにより、Ｉｎｆｏｎから関係性の写像、Ｉｎｆｏｎから極性への写像、関係性と極性からＩｎｆｏｎへの写像を行うことができる。つぎに、Ｉｎｆｏｎの集合的意味について説明する。
【０１０３】
ここで、Ｉｎｆｏｎの集合論的定義を、下記式（１７）、（１８）および（１９）のように定義する。また、状況ｓにおけるＩｎｆｏｎ  ｉの意味を取り出すメソッド（ｓ．Ｆｓｅｍ（ｉ））を、下記式（２０）のように定義する。
【０１０４】
【数１５】
2014059781.tif 000017
【０１０５】
また、タプルオブジェクトのメソッドを下記式（２１）のように定義する。なお、＿ｋは、ｋ番目のタプルの要素を取り出すメソッドである。また、Ｉｎｆｏｎの包含関係を下記式（２２）のように定義する。
【０１０６】
【数１６】
2014059781.tif 000018
【０１０７】
【数１７】
2014059781.tif 000019
【０１０８】
上記式（１７）〜（２２）の定義は、概念と関係の半順序集合に基づいた意味づけを表している。Ｉｎｆｏｎは集合論的には２つの集合のタプルで定義される。操作的に説明すると、現在のＩｎｆｏｎ  Ｉに対して、ｉの関係性（＝Ｆｉｒ（ｉ））＜Ｉの関係性（＝Ｆｉｒ（Ｉ））となるｉの集合を抽出して、極性がＩと同じＩｎｆｏｎの集合と極性がＩと異なるＩｎｆｏｎの集合とに分け、各々ＳｅｔＩｎｆｏｎsuccession、ＳｅｔＩｎｆｏｎexceptionとする。このタプルをＩの意味とする。
【０１０９】
図８は、Ｉｎｆｏｎの性質による分類を示す説明図である。図８において、概念と関係の包含関係を用いたＩｎｆｏｎの分類が示されている。具体的には、ＳｅｔＩｎｆｏｎexceptionが空集合か否かで分類し、前者を事実性Ｉｎｆｏｎ、後者を一般性Ｉｎｆｏｎと呼ぶということが定義されている。
【０１１０】
事実性Ｉｎｆｏｎは、概念と関係の半順序集合から見てＩｎｆｏｎの集合のある要素ＩがＩｎｆｏｎの集合の任意の要素と比較しても矛盾がないことを意味している。一方、一般性Ｉｎｆｏｎである場合、厳密には矛盾している。しかし、発話一般ではもちろん、要求分析であっても、このような性質をもった矛盾は起きることがある。そこで、これを矛盾として扱うのではなく、一般的な言明と例外の言明として解釈することにする。ここで、一般性Ｉｎｆｏｎの解釈例について説明する。
【０１１１】
図９は、一般性Ｉｎｆｏｎの解釈例を示す説明図である。図９に示すような、関係の半順序集合と概念の半順序集合とＩｎｆｏｎ集合とがあった場合を想定する。この場合、＜飛ぶ，鳥，１＞の意味を、Ｉｎｆｏｎの集合論的定義に基づいてつけると、ＳｅｔＩｎｆｏｎexception＝｛＜飛ぶ，ペンギン，０＞｝がある。
【０１１２】
したがって、図９中のＩｎｆｏｎの集合に対して＜飛ぶ，鳥，１＞は、一般性Ｉｎｆｏｎになる。そして、この解釈は図９中に示した通り「一般に＜飛ぶ，鳥，１＞が例外的に＜飛ぶ，ペンギン，０＞である」とする。換言すれば、「鳥は飛ぶが、ペンギンは飛ばない」となる。
【０１１３】
このように、Ｉｎｆｏｎの集合論的定義に基づいて意味をつけると、Ｉｎｆｏｎの集合と関係の半順序集合、概念の半順序集合により、Ｉｎｆｏｎの集合中の要素Ｉが含意する例外的な言明を抽出することが可能になる。つぎに、事実性Ｉｎｆｏｎの解釈例について説明する。
【０１１４】
図１０は、事実性Ｉｎｆｏｎの解釈例を示す説明図である。図１０に示すような、関係の半順序集合と概念の半順序集合とＩｎｆｏｎ集合とがあった場合を想定する。これは、図９に対して、＜飛ぶ，ペンギン，０＞がない状況を表している。
【０１１５】
この場合、＜飛ぶ，鳥，１＞の意味を、Ｉｎｆｏｎの集合論的定義に基づいてつけると、ＳｅｔＩｎｆｏｎexceptionは空集合となる。したがって、＜飛ぶ，鳥，１＞は事実性Ｉｎｆｏｎとなる。すなわち、Ｉｎｆｏｎ集合から見て、特に例外となる情報はなかったということになり、Ｉｎｆｏｎ集合から見ると事実であると判断される情報だったことになる。
【０１１６】
図９と図１０とは状況を考える上で重要な差を含んでいる。上述したように、状況はＩｎｆｏｎの集合であり、場面、登場人物、代理人は状況の継承クラスである。図９および図１０のＩｎｆｏｎの集合を登場人物（登場人物の知識に関する状況）と考えると、図１０では＜飛ぶ，鳥，１＞は事実という認識を持っている状況を示している。もし、この登場人物が＜飛ぶ，ペンギン，０＞という情報を入手したとする。
【０１１７】
この時、Ｉｎｆｏｎの集合が登場人物の知識を表していることから、入手した＜飛ぶ，ペンギン，０＞はＩｎｆｏｎ集合に加えられるべきである。これにより、図９のＩｎｆｏｎ集合になる。したがって、この時点での登場人物の認識は、「一般に＜飛ぶ，鳥，１＞が例外的に＜飛ぶ，鳥，０＞である」に変わる。
【０１１８】
このような発話は人の日常生活ではよく用いられるものであり、Ｉｎｆｏｎの集合論的定義が自然な意味を与えていることがわかる。また、人が例外となる知識を受け入れる際と同様の情報の受け入れ方をしていると考えられる。
【０１１９】
（Ｉｎｆｏｎ集合の簡約）
図１１は、複雑な意味を持つＩｎｆｏｎの一例を示す説明図である。図１１において、Ｉｎｆｏｎの集合論的定義に基づいて＜ｒ，ｏ5，１＞が意味づけされている。ここで、＜ｒ，ｏ0，１＞は、＜ｒ，ｏ1，１＞に含意されている。同様に、＜ｒ，ｏ2，０＞は、＜ｒ，ｏ3，０＞に含意されている。
【０１２０】
したがって、ある局面においては他のＩｎｆｏｎに含意されるＩｎｆｏｎ（例えば、＜ｒ，ｏ0，１＞や＜ｒ，ｏ2，０＞）は冗長であると見なせる。そこで、本実施の形態では、分析支援装置１０１は、他のＩｎｆｏｎに含意されているＩｎｆｏｎを取り除く。以下の説明では、他のＩｎｆｏｎに含意されているＩｎｆｏｎを取り除く処理（論理簡約）を「Ｉｎｆｏｎ集合の簡約」と呼ぶ。また、図１２、図１３および図１４のように半順序集合に対して定義を行う。
【０１２１】
図１２は、半順序集合における概念の定義を示す説明図である。図１２において、接する・上接集合・下接集合・接集合の定義が示されている。
【０１２２】
図１３は、トップとボトム要素の定義を示す説明図である。図１３において、半順序集合に含まれるＴおよび⊥が満たす条件が示されている。
【０１２３】
図１４は、関係性の半順序集合を求める関数の定義を示す説明図である。図１４において、関係性の半順序集合を求める関数ＦＩＲが定義されている。上記式（１３）に示した、関係性の包含関係の性質により、関係性の半順序集合が求まる。
【０１２４】
図１５は、簡約アルゴリズムの一例を示す説明図である。図１５に示す簡約アルゴリズムによれば、分析支援装置１０１は、図１１に示したＩｎｆｏｎ集合を図１６に示すＩｎｆｏｎ集合に簡約することができる。
【０１２５】
図１６は、簡約アルゴリズムを適用した結果例を示す説明図である。図１６において、図１１に示したＩｎｆｏｎ集合に対して、図１５に示した簡約アルゴリズムを適用した結果が示されている。具体的には、例えば、図１１では「一般に＜ｒ，ｏ5，１＞で例外的に＜ｒ，ｏ2，０＞、＜ｒ，ｏ3，０＞である」という意味であったものが、図１６では「一般に＜ｒ，ｏ5，１＞で例外的に＜ｒ，ｏ3，０＞である」と簡約することができている。
【０１２６】
なお、ここでは、他のＩｎｆｏｎに含意されているＩｎｆｏｎを取り除く、すなわち、削除する場合について説明したが、他のＩｎｆｏｎに含意されているＩｎｆｏｎを隠す（隠蔽する）ことにしてもよい。これにより、新しく入力されたＩｎｆｏｎにより、簡約できなくなった場合には、隠したＩｎｆｏｎを復活させることができる。
【０１２７】
以下の説明では、問い合わせを考える際にはＩｎｆｏｎ集合が簡約されている場合を想定する。
【０１２８】
（情報と辞書）
上述したように、数理的な意味づけでは、情報（Ｉｎｆｏｎ）と辞書（概念半順序集合、関係半順序集合）を分けて意味づけを行った。情報は状況により変化していくものであり、発話がなされる時点での知識をもとに、正しい、正しくない、価値がある、価値がないが決まっていくものである。
【０１２９】
一方、概念のほうは比較的変化が少ないことが期待される知識である。人は、普遍性をある程度認めてもよいとする辞書的な知識と、それらの組み合わせにより生成されるその時点の状況を言及したもの、あるいは、より複雑な知を表現したものを生成し、知を共有する。
【０１３０】
辞書的な知識は、普遍性があり、情報の生成や情報間の関係を認識するのに用いられ、人がある程度網羅的に知っておかなければならないものである。一方、情報はケースバイケースであるが、ある特定の場面（状況）で有意味な情報伝達が行えればそれでよいという短命なものといえる。
【０１３１】
このため、情報的な知識と辞書的な知識を分けて考えることは有意義であるといえる。さらに、特筆すべきなのは、情報的な知識の量である。辞書的な知識でさえも大きいのに、情報的な知識と辞書的な知識の組み合わせとなると、その情報量は膨大になる。このため、いかに小さく情報を持っておくべきか、あるいは、その場面で必要な情報を生成・消費していくかが重要である。
【０１３２】
ここで、情報的な知識はある場面を特徴付けるものであっても、辞書的に保持するものではない可能性がある。辞書と発話の間には書籍がある。これは情報的な知識の集積物と考えられる。このため、書籍のようなものも代理人として捉えられる。つまり、書籍に示された内容は１つの状況であると考えることができる。
【０１３３】
書籍には目的があり、そのための情報が集められたものであり、普遍性を必ずしも主張するものではない。ある場面を考えた時に有益な情報を集めたものである。この点を考慮すると、書籍を状況の一種とみなすのは自然であると考えられる。
【０１３４】
このように、本実施の形態で行ってきた数理的意味論での形式化は、人の生活における情報・知識、形式知（明文化知（書籍など））の扱われ方を自然に形式化しているといえる。また、要求分析は、人の思考をデバッグするため形式化していると考えられる。そして、形式化されたものを精査して、何を作ればよりよい生活を創造できるかを検討している過程であると考えられる。
【０１３５】
したがって、本形式化は人の直観に即した形式化となっており、要求分析の要素の一つに人の思考をデバッグする性格の要素がある。すなわち、本形式化は要求分析のための思考の形式化として適したものになっており、また、通常の人の推論と同様のことをコンピュータ上で再現しうる形式化になっていることがわかる。また。通常の人の推論と同等のことが再現できるということは、要求分析を行う人々が、自分の思考パターンとコンピュータ上で再現される形式化のギャップを埋めるための推論・解釈をしなくて済むということを意味する。
【０１３６】
このように、本形式化は人の思考を直観的に形式化したものであり、この形式化をコンピュータ上で再現したツールも人の思考に近い表現が実現できているといえる。ここで、概念に関する情報は真理が決まるもので構成されているが、情報については真理が決まっていないという形式化ができたことになる。数理論理学を用いた形式化では許容できないかもしれない矛盾したような要因も本形式化では扱えている。
【０１３７】
すなわち、本形式化の特徴の一つは、情報を形式化し、推論規則を決めているものの、情報の集合が不完全や矛盾したものであっても機能する点である。人は不完全な情報を利用しながらより価値のある情報を抽出していると考えられる。したがって、形式化枠組みの中でこのような不完全な状態を扱えることは人間にやさしい形式化であるといえる。
【０１３８】
さらには、あいまいな要求を明確化したいという初期設計検討フェーズでは、情報が完全であるはずがなく、情報が完全ではなくとも機能する形式化は重要であると言える。また、Ｉｎｆｏｎの集合論的定義により、Ｉｎｆｏｎの意味には例外を含んでいるので、Ｉｎｆｏｎが回答されていることより、例外に関する情報を持った回答がなされていると考えられる。
【０１３９】
（マンガチャートの事例＜その１＞）
つぎに、マンガチャートの事例について説明する。まず、辞書的な情報である概念・関係の半順序集合の一例および台本の一例を以下に示す。なお、辞書的な情報である概念・関係の半順序集合は、例えば、ＲＡＭ２０３等の記憶装置に記憶されている。
【０１４０】
関係の半順序集合＝｛飛ぶ｝
【０１４１】
概念の半順序集合＝｛鳥＞白鳥，鳥＞すずめ，鳥＞つばめ，鳥＞ペンギン｝
【０１４２】
台本＝｛ｓ-1→ｓ0→ｓ1→ｓ2→ｓ3→ｓ4→ｓ5→ｓ6→ｓ7｝
【０１４３】
つぎに、場面の一例を示す。図１７〜図２５は、場面の一例を示す説明図である。なお、図１７〜図２５中、「場面ｓ」は、場面を識別する場面ＩＤである。また、「ＳｅｔＣｈａｒａｃｔｅｒ」は人物集合を表しており、「ＳｅｔＡｃｔｉｏｎ」はアクション集合を表しており、「登場人物＝｛｝」は登場人物の知識集合を表している。
【０１４４】
図１７において、場面ｓ-1のシナリオ情報１７００が示されている。場面ｓ-1は初期設定の場面である。具体的には、登場人物として、「登場人物Ａ」および「登場人物Ｂ」が設定されている。また、登場人物Ａの知識として、「＜飛ぶ，鳥，１＞」が設定され、登場人物Ｂの知識として、「＜飛ぶ，白鳥，１＞，＜飛ぶ，すずめ，１＞，＜飛ぶ，ペンギン，０＞」が設定されている。
【０１４５】
図１８において、場面ｓ0のシナリオ情報１８００が示されている。場面ｓ0では、ユーザの操作入力により、ｓａｙアクションが入力されている。具体的には、登場人物Ｂから登場人物Ａに対して、＜飛ぶ，白鳥，１＞のｓａｙアクションが入力されている。＜飛ぶ，白鳥，１＞は、「白鳥は飛ぶ」という意味を表している。なお、図６ではタプル表記したが、ここでは読みやすくするために、「ｓ0・＿１」と書く代わりに「ｓ0・ＳｅｔＩｎｆｏｎ」と書く。
【０１４６】
図１９において、場面ｓ1のシナリオ情報１９００が示されている。具体的には、例えば、分析支援装置１０１は、場面ｓ0において、ユーザの操作入力により、場面の切替指示を受け付けると、場面ｓ1を作成する。より具体的には、例えば、分析支援装置１０１は、場面ｓ0のｓａｙアクションを実行する。
【０１４７】
ｓａｙアクションは、例えば、第３引数の値（ｓａｙアクションの＜飛ぶ，白鳥，１＞）を第１引数（登場人物Ｂ）の状況が持っている場合に第１引数から第２引数（登場人物Ａ）へ第３引数の値がコピーされることを意味している。この結果、場面が場面ｓ0から場面ｓ1に切り替わる。
【０１４８】
図２０において、場面ｓ2のシナリオ情報２０００が示されている。場面ｓ1では、登場人物Ａの状況が変わっている。このため、分析支援装置１０１は、例えば、簡約アルゴリズムを適用してデータ整理を行う。図２０の例では、登場人物Ａは場面ｓ0に戻っている。
【０１４９】
すなわち、登場人物Ｂの発言は登場人物Ａにはなんらの影響も与えなかったことがわかる。セリフ的に書くと、登場人物Ｂが「白鳥って飛ぶんだよ」と発言した結果、登場人物Ａ「へぇ。ま、そりゃそっか。白鳥は鳥なんだし飛ぶよね」という感じになっており、会話を自然にモデル化できていることがわかる。
【０１５０】
図２１において、場面ｓ3のシナリオ情報２１００が示されている。場面ｓ3では、ユーザの操作入力により、ｓａｙアクションが入力されている。具体的には、登場人物Ｂから登場人物Ａに対して、＜飛ぶ，ペンギン，０＞のｓａｙアクションが入力されている。＜飛ぶ，ペンギン，０＞は、「ペンギンは飛ばない」という意味を表している。
【０１５１】
図２２において、場面ｓ4のシナリオ情報２２００が示されている。具体的には、例えば、分析支援装置１０１は、場面ｓ3において、ユーザの操作入力により場面の切替指示を受け付けると、場面ｓ3のｓａｙアクションを実行して場面ｓ4を作成する。この結果、場面が場面ｓ3から場面ｓ4に切り替わる。
【０１５２】
また、場面ｓ4では、登場人物Ａの状況が変わっている。このため、分析支援装置１０１は、例えば、簡約アルゴリズムを適用してデータ整理を行う。図２２の例では、登場人物Ａの状況には変化は起きない。この場合、登場人物Ａは登場人物Ｂの発話に影響を受けたことがわかる。
【０１５３】
セリフ的に書くと、登場人物Ｂが「ペンギンって飛ばないんだよね」と発言した結果、登場人物Ａは「え、ペンギンは飛ばないの？ペンギンは鳥なのに飛ばないんだね。覚えておこう。」という感じになっており、会話を自然にモデル化できていることがわかる。
【０１５４】
図２３において、場面ｓ5のシナリオ情報２３００が示されている。場面ｓ5では、ユーザの操作入力により、ｓａｙアクションが入力されている。具体的には、登場人物Ａから登場人物Ｂに対して、＜飛ぶ，鳥，１＞のｓａｙアクションが入力されている。
【０１５５】
図２４において、場面ｓ6のシナリオ情報２４００が示されている。具体的には、例えば、分析支援装置１０１は、場面ｓ5において、ユーザの操作入力により場面の切替指示を受け付けると、場面ｓ5のｓａｙアクションを実行して場面ｓ6を作成する。この結果、場面が場面ｓ5から場面ｓ6に切り替わる。
【０１５６】
図２５において、場面ｓ7のシナリオ情報２５００が示されている。場面ｓ6では、登場人物Ｂの状況が変わっている。このため、分析支援装置１０１は、例えば、簡約アルゴリズムを適用してデータ整理を行う。図２５の例では、登場人物Ｂの状況から、＜飛ぶ，白鳥，１＞と＜飛ぶ，すずめ，１＞がなくなっている。
【０１５７】
セリフ的に書くと、登場人物Ａが「そもそも、鳥ってのは飛ぶもんなんだけどね」と発言し、登場人物Ｂは「確かにそうだ。すずめも白鳥も鳥だから飛ぶものだ。覚えておく必要はないなぁ」と思い、情報（Ｉｎｆｏｎ）としては忘れて、必要な時に｛＜飛ぶ，鳥，１＞、＜飛ぶ，ペンギン，０＞｝と、概念・関係の半順序集合から推論すればよいという知識体系に変わったと判断することができる。
【０１５８】
このように、マンガチャートは、発話により、情報を持つものに対する影響を直観的に把握できる枠組みである。
【０１５９】
また、別の利用法として、場面ｓ2において、ｓａｙ（登場人物Ｂ，登場人物Ａ，＜飛ぶ，ペンギン，０＞）のアクションを起こしたらどうなるかを試せることになる。すなわち、対話的に場面の遷移を眺めることができるようになる。また、台本は、上述したように線形であってもよく、以下のように木構造であってもよい。
【０１６０】
台本＝｛ｓ-1→ｓ0→ｓ1→ｓ2，ｓ-1→ｓ3→ｓ4→ｓ5→ｓ6→ｓ7｝
【０１６１】
この場合、場面ｓ-1と場面ｓ0の差および場面ｓ-1と場面ｓ3の差、すなわち、ｓ0．ＳｅｔＡｃｔｉｏｎ＝｛ｓａｙ（登場人物Ｂ，登場人物Ａ，＜飛ぶ，白鳥，１＞）｝とｓ3．ＳｅｔＡｃｔｉｏｎ＝｛ｓａｙ（登場人物Ｂ，登場人物Ａ，＜飛ぶ，ペンギン，０＞）｝とで場面展開が異なることになる。
【０１６２】
場面ｓ-1で２つの選択肢があり、どの発話をするかによって、あとの場面展開が異なることになる。したがって、ユーザは、発話を選択することにより、場面展開を選べるようになる。このように、マルチな場面展開を持った台本も定義することができるため、ユーザは、状況ごとのアクションにより、その後、どのようなことが起きるかを直観的に把握することができるようになる。
【０１６３】
（不明Ｉｎｆｏｎの定義）
本形式化においては、概念も関係も半順序集合として定義しているため、多重継承を許していることになる。この場合、Ｉｎｆｏｎの極性が概念と関係の半順序集合から決定できない場合（不明Ｉｎｆｏｎ）がある。
【０１６４】
図２６は、不明Ｉｎｆｏｎの一例を示す説明図である。図２６において、関係の半順序集合と概念の半順序集合とＩｎｆｏｎ集合とが示されている。Ｉｎｆｏｎ＜ｒ，ｏ1，？＞の極性は１か０かが決まらない。このように、関係および概念の半順序集合から極性が決められないＩｎｆｏｎを不明Ｉｎｆｏｎと呼ぶ。なお、一方、多重継承を禁止した場合には不明Ｉｎｆｏｎは発生しない。
【０１６５】
（Ｑｕｅｒｙ−Ｉｎｆｏｎの定義）
つぎに、Ｑｕｅｒｙ−Ｉｎｆｏｎの定義について説明する。ここでは、Ｑｕｅｒｙ−Ｉｎｆｏｎの形式的な定義を下記式（２３）および（２４）のように定義する。Ｗｈａｔ  ｔｙｐｅ  Ｑｕｅｒｙは？が１個以上入っているとする。Ｑｕｅｒｙ−Ｉｎｆｏｎは、図６において問い合わせに記載したものである。
【０１６６】
【数１８】
2014059781.tif 000020
【０１６７】
本実施の形態では、上記式（２３）および（２４）に示す定義をＩｎｆｏｎの拡張として認め、Ｉｎｆｏｎ集合に入れてもよいことにする。この拡張により、新たに問い合わせを表すＩｎｆｏｎを導入することができる。これをＩｎｆｏｎとして認め、さらに状況に入れられるとすると、状況の中に疑問文を導入することができる。
【０１６８】
例えば、登場人物は状況の継承クラスなので疑問文を表すＩｎｆｏｎを持てる。これにより、登場人物が疑問文を持っている状態を表現することができる。情報システムの場合、ユーザが専門家に質問をして欲しい情報を聞き出すということが行われる。疑問文を表すＩｎｆｏｎを導入することにより、状況の中に疑問文を表すＩｎｆｏｎを入れておくことにより疑問を持っている状態を表現できるようになる。
【０１６９】
（Ｙｅｓ／Ｎｏ問い合わせ）
つぎに、Ｙｅｓ／Ｎｏタイプの問い合わせについて定義する。本実施の形態では、情報のセットは無矛盾であることは前提としていない。したがって、一貫性がとれていない情報であってもよい。まず、Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙの基本形を下記式（２５）のように定義する。
【０１７０】
【数１９】
2014059781.tif 000021
【０１７１】
上記式（２５）では、関係性が同じＩｎｆｏｎがあれば、このＩｎｆｏｎを返すことが定義されている。ただし、簡単のためこのように書いているが、実際には、分析支援装置１０１は、話者の状況において、さらに、上述したＩｎｆｏｎの集合論的定義のように、意味解釈を行った結果を返す。
【０１７２】
これにより、一般と例外に関する情報を返すことができるようになる。関係性が同じＩｎｆｏｎがなければ、分析支援装置１０１は、何らかの推定を行って答えを返す。ここでは、推定機能をＤｅｒｉｖｅ（Ｉｎｆｏｎ集合，ｑ）と記載した。推定を定義するのに先立って、上接集合と下接集合を下記式（２６）および（２７）のように定義する。
【０１７３】
【数２０】
2014059781.tif 000022
【０１７４】
更に、同一の関係性がなかった時、問い合わせのＩｎｆｏｎとＩｎｆｏｎ集合のＩｎｆｏｎとの関係は、図２７に示す分類表２７００のように分類することができる。
【０１７５】
図２７は、分類表２７００の具体例を示す説明図である。図２７において、分類表２７００は、Ｙｅｓ／Ｎｏ  ｔｙｐｅの問い合わせＩｎｆｏｎ  ｑとＩｎｆｏｎ集合との関係の分類を示している。
【０１７６】
ここで、上接集合の極性がすべて同じ（単立、ケース４）の場合を想定する。この場合、一般論は整合性が取れているので、推論規則は下記式（２８）、（２９）および（３０）のようになり値が決まる。さらに、分析支援装置１０１は、上記式（１７）〜（２０）のように解釈して例外集合を返してもよい。また、極性値アサイン関数の定義は、下記式（３１）のようになる。
【０１７７】
【数２１】
2014059781.tif 000023
【０１７８】
【数２２】
2014059781.tif 000024
【０１７９】
つぎに、図２８に示すマンガチャートを用いて、一般性がある情報はあるものの肯定的な主張と否定的な主張がある場合の例を説明する。
【０１８０】
図２８Ａおよび図２８Ｂは、学術研究を例にしたマンガチャートの一例を示す説明図である。図２８Ａに示す場面ｓ１では、２人の登場人物がおり、各々異なった概念に対しての情報を持っている。図２８Ａに示す場面ｓ２で観測者Ａは帰納的に下記式（３２）を導き出す（帰納の結果であることを示すため極性値に下線を付す）。
【０１８１】
【数２３】
2014059781.tif 000025
【０１８２】
図２８Ａに示す場面ｓ３では、観測者Ｂは帰納的に下記式（３３）を導き出す。
【０１８３】
【数２４】
2014059781.tif 000026
【０１８４】
各々の観測者はこの帰納が正しいと判断し、観測者Ａは、図２８Ａおよび図２８Ｂに示す場面ｓ４で、観測者Ｂは、図２８Ｂに示す場面ｓ５で各々の主張を論文誌に登録した。その後、ｏの継承クラスに相当するｏ5に対して関係ｒが成り立つのか疑問に思っている査読者が登場し、論文誌に対して、ｏ5に対して関係ｒが成り立つのかを問い合わせしている。
【０１８５】
この時、下記式（３４）のため、分類表２７００に示したケース３に該当する。
【０１８６】
【数２５】
2014059781.tif 000027
【０１８７】
この場合、どちらかの帰納が間違っているか、両方が間違っているのかは不明である。しかしながら、どちらも根拠がある情報だとすると、有意味な情報といえる。そこで、下記式（３５）のように答える。
【０１８８】
【数２６】
2014059781.tif 000028
【０１８９】
換言すると、「ｏ5がｒかは判断できない。なぜならｏがｒだという意見と、ｏがｒではないという意見があるから」ということになる。二つの相反する主張が成立しているので両立と呼ぶことにする。人は真理が保証された情報だけでなく、保証されていない情報もやり取りするため、このような状況も許容する。要求分析は、洗練していって無矛盾な体系を作っていくことが課題になるため、このような状況も取り扱えたほうがよいといえる。
【０１９０】
また、ケース３の推論規則は、下記式（３６）〜（４０）のようになる。また、並立（両立）の定義を図２９に示す。図２９は、並立の定義を示す説明図である。図２９には、ｉ1，ｉ2が並立しているといえる条件が示されている。
【０１９１】
【数２７】
2014059781.tif 000029
【０１９２】
つぎに、分類表２７００のケース２の場合を想定する。ケース２は、帰納されていない情報がある場合、外延的定義で十分と考える認識パターンを持っている人の場合などで起きる。ケース２の場合の回答は、例えば、下記式（４１）および下記式（４２）〜（４８）のようになる。
【０１９３】
【数２８】
2014059781.tif 000030
【０１９４】
上記式（４１）は、知っている関連情報をすべて返す保守的な回答である。
【０１９５】
【数２９】
2014059781.tif 000031
【０１９６】
上記式（４２）〜（４８）は、一般的回答と具体例の併記で回答する例である。この場合、回答に２つのタイプがあり、１つを保守的推定と呼び、もう１つを大体推定と呼ぶ。
【０１９７】
つぎに、分類表２７００のケース１の場合を想定する。ケース１の場合の答え方は、例えば、下記式（４９）のようになる。
【０１９８】
【数３０】
2014059781.tif 000032
【０１９９】
ケース１の場合、具体例も一般例もまったくない状態なので、答えようがない。まったくそのような観点で考えたことはない、という状況になっている。したがって、ケース１の場合は、「情報なし」と答えることにする。
【０２００】
以上により、Ｙｅｓ／Ｎｏタイプの問い合わせが可能になる。一般と例外を意味する情報が多段に入れ子になっている場合で正確に例外情報を伝搬したい場合には、分析支援装置１０１は、付加情報として、回答のＩｎｆｏｎに対する、Ｉｎｆｏｎの集合論的定義に示した意味を返すことにより対応することができる。具体的には、例えば、回答のＩｎｆｏｎの極性値が０，１以外の場合には１の場合の意味を返すといったルールを決めておけば対応することができる。
【０２０１】
（Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙを含むマンガチャート）
つぎに、Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙを含むマンガチャートについて説明する。ここでは、質問と回答が明確になるように、質問は「Ｘ  ａｓｋｓ  ｍｅ  ｗｈｅｔｈｅｒ＜Ｍｅｓｓａｇｅ＞」を表すものとし、＜ａｓｋ，Ｘ，ｍｅｓｓａｇｅＩｎｆｏｎ，１＞のようにａｓｋで包むことにする（後述する図３２参照）。
【０２０２】
また、回答は「Ｘ  ａｎｓｗｅｒｓ  ｔｈａｔ＜Ｍｅｓｓａｇｅ＞」を表すものとし、＜ａｎｓｗｅｒ，Ｘ，ｍｅｓｓａｇｅＩｎｆｏｎ，１＞のようにａｎｓｗｅｒで包むことにする（後述する図３３参照）。なお、発話のモデル化一般であれば、信念を表すようなｂｅｌｉｅｖｅなどを加えることにしてもよい。
【０２０３】
図３０〜図３８は、Ｙｅｓ／Ｎｏ  Ｑｕｅｒｙを含むマンガチャートの一例を示す説明図である。図３０〜図３８に示すシナリオ情報３０００，３１００，３２００，３３００，３４００，３５００，３６００，３７００，３８００では、知識獲得をしたいと思っている登場人物Ｃが、有識者である登場人物Ａと登場人物Ｂに質問をする場面を再現している。
【０２０４】
このように、本形式化によれば、問い合わせを含めたマンガチャートを構成することができ、問い合わせに対する回答の決定を行うことができる。また、演繹データベースや論理プログラミングと異なり、情報が不完全であったり、情報間で矛盾があっても処理できていることがわかる。
【０２０５】
また、図３０〜図３８の台本は以下のようになる。
【０２０６】
台本＝｛ｓ-1→ｓ0→ｓ1→ｓ2，ｓ-1→ｓ3→ｓ4→ｓ5→ｓ6→ｓ7，ｓ-1→ｓ20→ｓ21→ｓ22→ｓ23→ｓ24→ｓ30→ｓ31→ｓ32→ｓ33｝
【０２０７】
この事例では大体推定をしているので、登場人物Ｂのほうが登場人物Ａを包含するような情報（Ｉｎｆｏｎ）を持っているように見える。一方で、もし保守的推論をしたとすると、登場人物Ｂの回答は、＜＜飛ぶ，鳥，未定＞，｛＜飛ぶ，白鳥，１＞，＜飛ぶ，すずめ，１＞，＜飛ぶ，ペンギン，０＞｝＞のようになる。登場人物は外延的に知っていることを言うタイプの人がするような回答を行っていることが分かる。
【０２０８】
以上のことから、本形式化によれば、自然な人と人とのコミュニケーションが、各々の人の知識に応じた応答が直観的にわかるモデル化ができていることがわかる。また、台本として、複数の台本の筋を管理することができ、新しい台本の筋を容易に追加することができる。
【０２０９】
また、台本の筋の追加や削除を容易に行うことができるため、例えば、複数のレビューアーがいた時、誰が台本を発案した場合であっても簡単に場面や場面の連続である台本の筋を追加でき、ロールプレーイングによる問題抽出を効率的に行うことができる。すなわち、参加者は直観的な判断で直観的に台本の筋を修正することができる。
【０２１０】
また、台本の筋の管理も容易に行えるため、ロールプレーイングで得られた発見を残すために書記などがノートに記録し整理して、文書化して配布するなどの手続きが不要となり、作業効率を向上させることができる。
【０２１１】
（Ｗｈａｔ問い合わせ）
図３９および図４０は、Ｗｈａｔ問い合わせの一例を示す説明図である。図３９において、単純なＷｈａｔ−Ｑｕｅｒｙの一例が示されている。また、図４０において、複雑なＷｈａｔ−Ｑｕｅｒｙの一例が示されている。
【０２１２】
具体的には、例えば、図４０に示すＷｈａｔ−Ｑｕｅｒｙは、「ｏ12は一般的には、図４０に示す関係性がある。しかし、ｏ11は例外で成り立たないし、ｏ10（ｏ11）では成り立つ」という意味となる。図３９および図４０に示すように、概念の継承関係を用いて、不明な要素の問い合わせを行うことができる。
【０２１３】
（分析支援装置１０１の分析支援処理手順）
つぎに、実施の形態にかかる分析支援装置１０１の分析支援処理手順について説明する。ここでは、アクションの一例として「ｓａｙアクション」を例に挙げて、現在の場面のシナリオ情報から次の場面のシナリオ情報を作成する場合について説明する。
【０２１４】
なお、分析支援装置１０１は、例えば、ユーザの操作入力により指定された画面ＩＤのシナリオ情報をＲＡＭ２０３等の記憶装置から読み出すことにより、現在の場面のシナリオ情報を取得する。また、分析支援装置１０１は、現在の場面のシナリオ情報をディスプレイ２０８に表示する。この結果、要求分析者は、ディスプレイ２０８に表示された現在の場面のシナリオ情報の編集作業を行うことができる。以下に説明する分析支援処理は、例えば、分析支援装置１０１が、ユーザの操作入力により、シナリオ情報の編集終了指示や場面の切替指示を受け付けた場合に実行される。
【０２１５】
図４１は、分析支援装置１０１の分析支援処理手順の一例を示すフローチャートである。図４１のフローチャートにおいて、まず、分析支援装置１０１は、現在の場面のシナリオ情報のＳｅｔＡｃｔｉｏｎは空集合か否かを判断する（ステップＳ４１０１）。
【０２１６】
ここで、ＳｅｔＡｃｔｉｏｎが空集合ではない場合（ステップＳ４１０１：Ｎｏ）、分析支援装置１０１は、次の場面の場面ＩＤを生成する（ステップＳ４１０２）。そして、分析支援装置１０１は、場面の半順序集合に現在の場面の場面ＩＤと次の場面の場面ＩＤとの前後関係を登録する（ステップＳ４１０３）。
【０２１７】
つぎに、分析支援装置１０１は、現在の場面のシナリオ情報のＳｅｔＣｈａｒａｃｔｅｒ（「人物集合」に相当）と登場人物の知識集合を継承した次の場面のシナリオ情報を作成する（ステップＳ４１０４）。そして、分析支援装置１０１は、現在の場面のシナリオ情報のＳｅｔＡｃｔｉｏｎからアクションを選択する（ステップＳ４１０５）。
【０２１８】
つぎに、分析支援装置１０１は、選択したアクションがｓａｙアクションか否かを判断する（ステップＳ４１０６）。ここで、アクションがｓａｙアクションではない場合（ステップＳ４１０６：Ｎｏ）、分析支援装置１０１は、ステップＳ４１１１に移行する。
【０２１９】
一方、アクションがｓａｙアクションの場合（ステップＳ４１０６：Ｙｅｓ）、分析支援装置１０１は、発言者の知識集合に発言内容があるか否かを判断する（ステップＳ４１０７）。ここで、発言者の知識集合に発言内容がある場合（ステップＳ４１０７：Ｙｅｓ）、分析支援装置１０１は、聞き手の知識集合に発言内容が未登録の場合に、聞き手の知識集合に発言内容を登録する（ステップＳ４１０８）。
【０２２０】
そして、分析支援装置１０１は、聞き手の知識集合が変化したか否かを判断する（ステップＳ４１０９）。ここで、聞き手の知識集合が変化していない場合（ステップＳ４１０９：Ｎｏ）、分析支援装置１０１は、ステップＳ４１１１に移行する。一方、聞き手の知識集合が変化した場合（ステップＳ４１０９：Ｙｅｓ）、分析支援装置１０１は、聞き手の知識集合の論理簡約を行う（ステップＳ４１１０）。
【０２２１】
つぎに、分析支援装置１０１は、現在の場面のシナリオ情報のＳｅｔＡｃｔｉｏｎの中から選択されていない未選択のアクションがあるか否かを判断する（ステップＳ４１１１）。ここで、未選択のアクションがある場合（ステップＳ４１１１：Ｙｅｓ）、分析支援装置１０１は、ステップＳ４１０５に戻って、現在の場面のシナリオ情報のＳｅｔＡｃｔｉｏｎから未選択のアクションを選択する。
【０２２２】
一方、未選択のアクションがない場合（ステップＳ４１１１：Ｎｏ）、分析支援装置１０１は、次の場面のシナリオ情報を出力して（ステップＳ４１１２）、本フローチャートによる一連の処理を終了する。また、ステップＳ４１０１において、ＳｅｔＡｃｔｉｏｎが空集合の場合（ステップＳ４１０１：Ｙｅｓ）、分析支援装置１０１は、本フローチャートによる処理を終了する。
【０２２３】
また、ステップＳ４１０７において、発言者の知識集合に発言内容がない場合（ステップＳ４１０７：Ｎｏ）、分析支援装置１０１は、非知識エラーを出力して（ステップＳ４１１３）、本フローチャートによる一連の処理を終了する。
【０２２４】
これにより、ユーザの操作入力により、現在の場面のシナリオ情報のＳｅｔＡｃｔｉｏｎに入力されたｓａｙアクションに応じて、次の場面のシナリオ情報を作成することができる。なお、発言者は知っていることのみ発言（発話）するという制約を設けない、すなわち、嘘つきに相当する発言を許容する場合は、分析支援装置１０１は、ステップＳ４１０７およびステップＳ４１１３の処理を行わないことにしてもよい。
【０２２５】
以上説明したように、実施の形態にかかる分析支援装置１０１によれば、現在の場面のシナリオ情報が表す人物集合と知識集合とを継承した次の場面のシナリオ情報を作成することができる。そして、分析支援装置１０１によれば、次の場面のシナリオ情報が表す第２の登場人物の知識集合に、現在の場面のシナリオ情報のアクション集合に入力された発言アクションの発言内容を登録することができる。これにより、第２の登場人物が有する知識として、第１の登場人物から第２の登場人物に対して発言した知識が追加された次の場面のシナリオ情報を作成することができる。
【０２２６】
また、分析支援装置１０１によれば、次の場面のシナリオ情報が表す第２の登場人物の知識集合に発言アクションの発言内容が含まれていない場合に、第２の登場人物の知識集合に発言アクションの発言内容を登録することができる。これにより、第２の登場人物が有する知識として、第１の登場人物から第２の登場人物に対して発言した、第２の登場人物にとって新しい知識が追加された次の場面のシナリオ情報を作成することができる。
【０２２７】
また、分析支援装置１０１によれば、場面の半順序集合に、現在の場面と次の場面との前後関係を登録することができる。これにより、場面の半順序集合から、人と人とのコミュニケーションによって次々に変化する場面の遷移が特定可能となり、人と人との間で取り交わされる情報を体系化して整理することができるようになる。
【０２２８】
また、分析支援装置１０１によれば、第２の登場人物の知識集合に発言アクションの発言内容を登録した場合、次の場面のシナリオ情報の第２の登場人物の知識集合の論理簡約を行うことができる。これにより、登場人物の知識集合に含まれる知識群のうち他の知識に含意されている知識を取り除くことができ、登場人物が有する知識を効率的に管理することができる。
【０２２９】
また、分析支援装置１０１によれば、登場アクションが入力された場合、次の場面のシナリオ情報が表す人物集合に、入力された登場アクションによって登場する新たな登場人物を登録することができる。これにより、次の画面の登場人物として、登場アクションによって登場した新たな登場人物が追加された次の場面のシナリオ情報を作成することができる。
【０２３０】
また、分析支援装置１０１によれば、退場アクションが入力された場合、次の場面のシナリオ情報の人物集合から退場アクションによって退場する第３の登場人物を削除するとともに、次の場面のシナリオ情報の第３の登場人物の知識集合を削除することができる。これにより、次の画面の登場人物から、退場アクションによって退場した第３の登場人物を削除することができる。
【０２３１】
これらのことから、実施の形態にかかる分析支援プログラム、分析支援装置および分析支援方法によれば、人と人とのコミュニケーションによって次々に変化する場面の把握を容易にするシナリオ情報を提供することができる。この結果、要求分析者は人と人との間で取り交わされる情報を体系化して整理することができ、要求分析にかかる作業効率および品質の向上を図ることができる。
【０２３２】
例えば、要求分析では、リアルなイメージを得るために、ロールプレーイングで要件の明確化を図ることがある。分析支援装置１０１は、ロールプレーイングの準備作業にあたるようなシナリオ作成を容易化するとともに、ロールプレーイング中のシナリオ修正やシナリオ分岐の管理を容易化することができる。また、分析支援装置１０１は、アニメーション（ぱらぱらマンガ）、マンガ形式、チャート形式でシナリオ情報を表示することができる。これにより、要求分析者は、直観的に要求分析している内容を理解し易くなる。
【０２３３】
なお、本実施の形態で説明した分析支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本分析支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本分析支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【０２３４】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０２３５】
（付記１）コンピュータに、
第１の場面に登場する登場人物の人物集合と前記第１の場面に登場する登場人物が有する知識の知識集合と前記第１の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第１のシナリオ情報を取得し、
前記第１のシナリオ情報が表す前記アクション集合への前記第１の場面に登場する第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付け、
前記第１のシナリオ情報が表す前記人物集合と前記知識集合とを継承することにより、第２の場面に登場する登場人物の人物集合と前記第２の場面に登場する登場人物が有する知識の知識集合と前記第２の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第２のシナリオ情報を作成し、
作成した前記第２のシナリオ情報が表す前記第２の登場人物の知識集合に、入力を受け付けた前記発言アクションの発言内容を登録する、
処理を実行させることを特徴とする分析支援プログラム。
【０２３６】
（付記２）前記コンピュータに、
場面の半順序集合に、前記第１の場面の次に前記第２の場面に変化することを示す場面間の前後関係を登録する処理を実行させることを特徴とする付記１に記載の分析支援プログラム。
【０２３７】
（付記３）前記コンピュータに、
前記第２の登場人物の知識集合に前記発言アクションの発言内容を登録した場合、前記第２のシナリオ情報の前記第２の登場人物の知識集合のうち第１の知識に含意されている第２の知識を削除する論理簡約を行う処理を実行させることを特徴とする付記１または２に記載の分析支援プログラム。
【０２３８】
（付記４）前記知識は、体言と用言との関係を表す情報として表現されており、
前記論理簡約を行う処理は、
記憶部に記憶されている体言の半順序集合に基づいて、前記論理簡約を行うことを特徴とする付記３に記載の分析支援プログラム。
【０２３９】
（付記５）前記コンピュータに、
前記第１のシナリオ情報が表す前記アクション集合への前記第１の場面に登場する登場人物とは異なる新たな登場人物が登場する登場アクションの入力を受け付け、
前記第１のシナリオ情報が表す前記人物集合と前記知識集合とを継承することにより、第２の場面に登場する登場人物の人物集合と前記第２の場面に登場する登場人物が有する知識の知識集合と前記第２の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第２のシナリオ情報を作成し、
作成した前記第２のシナリオ情報が表す前記人物集合に、入力を受け付けた前記登場アクションによって登場する前記新たな登場人物を登録する、
処理を実行させることを特徴とする付記１〜４のいずれか一つに記載の分析支援プログラム。
【０２４０】
（付記６）前記コンピュータに、
前記第１のシナリオ情報が表す前記アクション集合への前記第１の場面に登場する第３の登場人物が退場する退場アクションの入力を受け付け、
前記第１のシナリオ情報が表す前記人物集合と前記知識集合とを継承することにより、第２の場面に登場する登場人物の人物集合と前記第２の場面に登場する登場人物が有する知識の知識集合と前記第２の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第２のシナリオ情報を作成し、
作成した前記第２のシナリオ情報が表す前記人物集合から、入力を受け付けた前記退場アクションによって退場する前記第３の登場人物を削除するとともに、前記第２のシナリオ情報が表す前記第３の登場人物の知識集合を削除する、
処理を実行させることを特徴とする付記１〜５のいずれか一つに記載の分析支援プログラム。
【０２４１】
（付記７）コンピュータに、
第１の場面に登場する登場人物の人物集合と前記第１の場面に登場する登場人物が有する知識の知識集合と前記第１の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第１のシナリオ情報を取得し、
前記第１のシナリオ情報が表す前記アクション集合への前記第１の場面に登場する第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付け、
前記第１のシナリオ情報が表す前記人物集合と前記知識集合とを継承することにより、第２の場面に登場する登場人物の人物集合と前記第２の場面に登場する登場人物が有する知識の知識集合と前記第２の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第２のシナリオ情報を作成し、
作成した前記第２のシナリオ情報が表す前記第２の登場人物の知識集合に、入力を受け付けた前記発言アクションの発言内容を登録する、
処理を実行させる分析支援プログラムを記録したことを特徴とする前記コンピュータに読取可能な記録媒体。
【０２４２】
（付記８）第１の場面に登場する登場人物の人物集合と前記第１の場面に登場する登場人物が有する知識の知識集合と前記第１の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第１のシナリオ情報を取得する取得部と、
前記取得部によって取得された前記第１のシナリオ情報が表す前記アクション集合への前記第１の場面に登場する第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付ける受付部と、
前記第１のシナリオ情報が表す前記人物集合と前記知識集合とを継承することにより、第２の場面に登場する登場人物の人物集合と前記第２の場面に登場する登場人物が有する知識の知識集合と前記第２の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第２のシナリオ情報を作成する作成部と、
前記作成部によって作成された前記第２のシナリオ情報が表す前記第２の登場人物の知識集合に、前記受付部によって入力を受け付けた前記発言アクションの発言内容を登録する登録部と、
を有することを特徴とする分析支援装置。
【０２４３】
（付記９）第１の場面に登場する登場人物の人物集合と前記第１の場面に登場する登場人物が有する知識の知識集合と前記第１の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第１のシナリオ情報を取得する取得部と、
前記取得部によって取得された前記第１のシナリオ情報が表す前記アクション集合への前記第１の場面に登場する第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付ける受付部と、
前記第１のシナリオ情報が表す前記人物集合と前記知識集合とを継承することにより、第２の場面に登場する登場人物の人物集合と前記第２の場面に登場する登場人物が有する知識の知識集合と前記第２の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第２のシナリオ情報を作成する作成部と、
前記作成部によって作成された前記第２のシナリオ情報が表す前記第２の登場人物の知識集合に、前記受付部によって入力を受け付けた前記発言アクションの発言内容を登録する登録部と、
を有するコンピュータを含むことを特徴とする分析支援装置。
【０２４４】
（付記１０）コンピュータが、
第１の場面に登場する登場人物の人物集合と前記第１の場面に登場する登場人物が有する知識の知識集合と前記第１の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第１のシナリオ情報を取得し、
前記第１のシナリオ情報が表す前記アクション集合への前記第１の場面に登場する第１の登場人物から第２の登場人物に対する発言アクションの発言内容の入力を受け付け、
前記第１のシナリオ情報が表す前記人物集合と前記知識集合とを継承することにより、第２の場面に登場する登場人物の人物集合と前記第２の場面に登場する登場人物が有する知識の知識集合と前記第２の場面に登場する登場人物が行うアクションのアクション集合とを形式化して表す第２のシナリオ情報を作成し、
作成した前記第２のシナリオ情報が表す前記第２の登場人物の知識集合に、入力を受け付けた前記発言アクションの発言内容を登録する、
処理を実行することを特徴とする分析支援方法。
【符号の説明】
【０２４５】
１０１  分析支援装置
３０１  取得部
３０２  受付部
３０３  作成部
３０４  登録部
３０５  簡約部
３０６  出力部
【図１】
2014059781.tif 000033
【図２】
2014059781.tif 000034
【図３】
2014059781.tif 000035
【図４】
2014059781.tif 000036
【図５】
2014059781.tif 000037
【図６】
2014059781.tif 000038
【図７】
2014059781.tif 000039
【図８】
2014059781.tif 000040
【図９】
2014059781.tif 000041
【図１０】
2014059781.tif 000042
【図１１】
2014059781.tif 000043
【図１２】
2014059781.tif 000044
【図１３】
2014059781.tif 000045
【図１４】
2014059781.tif 000046
【図１５】
2014059781.tif 000047
【図１６】
2014059781.tif 000048
【図１７】
2014059781.tif 000049
【図１８】
2014059781.tif 000050
【図１９】
2014059781.tif 000051
【図２０】
2014059781.tif 000052
【図２１】
2014059781.tif 000053
【図２２】
2014059781.tif 000054
【図２３】
2014059781.tif 000055
【図２４】
2014059781.tif 000056
【図２５】
2014059781.tif 000057
【図２６】
2014059781.tif 000058
【図２７】
2014059781.tif 000059
【図２８Ａ】
2014059781.tif 000060
【図２８Ｂ】
2014059781.tif 000061
【図２９】
2014059781.tif 000062
【図３０】
2014059781.tif 000063
【図３１】
2014059781.tif 000064
【図３２】
2014059781.tif 000065
【図３３】
2014059781.tif 000066
【図３４】
2014059781.tif 000067
【図３５】
2014059781.tif 000068
【図３６】
2014059781.tif 000069
【図３７】
2014059781.tif 000070
【図３８】
2014059781.tif 000071
【図３９】
2014059781.tif 000072
【図４０】
2014059781.tif 000073
【図４１】
2014059781.tif 000074