データ駆動要求獲得方法の提案と評価
M2014SE001 藤本 玲子
指導教員 青山 幹雄

1. はじめに現行の要求獲得は人手に頼っていることから，獲得した要求の合理性は明らかとはいえない．そこで，ビジネスデー タ 分析に 基づ く 要求獲得方法 D2RE (Data-DrivenRequirements Engineering) の概念を提案する．また，D2REのプロセスとして，目的を明確にし，その目的に向かって，データを収集し分析を行うというアクティビティを繰り返すA*プロセスを提案する．さらに，データに基づくステークホルダ分析の詳細なプロセスを定義した．このプロセスを，実際の公共サービス開発の議事録データへ適用し，ステークホルダの特定と構造化を行った．分析結果とアンケート調査を比較し，提案方法の妥当性を示す．

2. 研究の背景
要求工学の最上流工程である要求獲得の重要性が認識されている．要求定義は，成果物として構築する情報システムの仕様書となるため，その成否がシステム開発の成否を決めることになる．しかし，現行の要求獲得では，インタビューなどを利用した人の意見や主観に頼っているため，合理的な要求獲得の欠如という問題がある．

3. 研究の課題
前述の背景を踏まえ，以下の 3 点を研究課題とする．
(1) ビジネスアナリティックス技術を応用した要求獲得方法を明らかにする．
(2) (1)に基づく分析プロセスを明らかにする．
(3) 提案方法の妥当性を実データで明らかにする．

4. 関連研究4.1. 要求獲得とステークホルダ分析
要求工学において，ステークホルダ分析が研究され，広く実践されているが[1]，現行のステークホルダ分析は人手に頼っているため，合理性は明らかとは言えない．
4.2. データ分析の要求工学への適用
企業を感知応答モデルで捉え，ビジネスインテリジェンス(BI)を適用し，ビジネス要求を選択し，対応する方法の提案がある[5]．しかし，人手に頼る部分が大きく，複雑な組織では対処しきれない．

5. アプローチ
データ駆動要求工学 D2RE の枠組みと，D2RE に基づく分析プロセスを提案する．データから得る情報は完全とは言えず，また要求の意味づけには人の意見などが必要である．そこで D2RE は，従来の人手による要求獲得を，データ分析によって補完するアプローチとする．

6. D2RE の A*プロセス
図1 に D2RE の A*(A Star)プロセスモデルを示す．Aim，Acquisition，Analysis，Assessment, Action の 5 つのアクティビティ群を繰り返す構造をとり，それぞれの頭文字をとって
A*と呼ぶこととする．
(1) Aim((5) Action()(2) Acquisition()(4) Assessment(	)(3) Analysis()	 )	

図 1A*プロセス

7. データ駆動ステークホルダ分析
本稿ではテキストデータに焦点を当て，さらに，データ分析の目的をステークホルダの特定，分析を目的に A*プロセスの詳細化を行った．ステークホルダ分析をトップゴールとし，それに対して 3 個のサブゴールを設定し， A*プロセスを 3 回繰り返した結果を，それぞれ 7.1 から 9.2 に示す．
さらに，この詳細化した A*プロセスを実際の公共サービ
ス開発の議事録に適用し，分析した．本議事録は，管理職が中心となり，「データカタログサイトの記載比率向上」システムの要求定義に関する５回の会議で話し合われた内容を文書化した，約 3,000 文字のデータである．これを，以後，議事録データと呼ぶ．
7.1. 発話記録の可視化
7.1.1. A*に基づく分析プロセス
発話記録の可視化プロセスを図 2 に示す．
!

(1) Aim!(	)(2) Acquisition!()(5) Action!()(4) Assessment!()

図 2(3) Analysis
()

1)!
2)

発話記録の可視化プロセス「発話構造の可視化」をデータ分析の目的とし，「主語」，

	[neo4j][CaboCha (191LOC)

Ipython[ipython notebook]

図 4 プロトタイプ構成図
7.1.3. 可視化への適用
議事録から抽出したトリプルを用いて生成した発話グラフを
図5 に示す．黄色ノードがデー
タ，緑が話題ステークホルダ，青色がその他である．本グラフ
から，英語と Excel データをオープンデータとして記載するこ
図 5 発話グラフと，特に Excel データに関する議論が活発に行われていることがわかった．
7.2. データ駆動発話者ステークホルダ分析
7.2.1. A*に基づく分析プロセス「発話者ステークホルダの特定」を目的とし，発話者の発話意図に着目することで，発話者とその間の関係を構造化する．発話者を，発話者ステークホルダと呼ぶこととする．
(1) 発話内容の分類:
発話を句点で分け，語尾に着目をすることで，発話の目的を特定して発話意図を分類する． 対象とする議事録を含む約 200 件の発話記録の分析を行い，意図を「報告」,「示唆」,「要望」,「問い」,「受入」,「返答」の 6 つに分類した（表 1）．発話ごとに分類をメタデータとして付加した．

表 1 発話意図分類例分類
報告示唆

例〜である．〜<名詞>．〜した(過去形)．
〜良い．〜と考える．〜と思われる．

(2) 各発話内容への重み付け:
発話の種類によって，プロジェクトの計画や実行の変更への影響度が異なると考えられる．このため，分類した各発話の影響度を分析し，表 2 に示す重みを付けた．各発話意図の重みは，6 種の合計が 100 となるように配分した．例
えば，「示唆」はある事項に対する意見や，新たな視点で発話しているため，プロジェクトに対して大きな影響を与える可能性があると判断した．
表 2 発話意図の重み
発話意図
重み

報告
5

返答
5

受入
15

問い
15

要望
20

示唆
40

(3) 影響度と関与度の算出:
各発話者に対して影響度と関与度を算出する．発話者が多いほどプロジェクトに大きく関与していると仮定し，関与度を式(1)で定義する．影響度は発話意図の重みと発話数を用いて式(2)で定義する．	

==×100	Σ(#×#(1))	

(2)(4) 発話者ステークホルダマトリクス作成:
算出した関与度と影響度を用いて発話者ステークホルダマトリクスを作成する．
7.2.2. 発話者ステークホルダ分析への適用
図 6 は発話者毎に発話内容の頻度分布である．横軸が発話数，縦軸が発話者である．B と C，D と E の役割がそれぞれ類似していることが分かる．
G"
F"	

E"
D"
C"
B"
A"
0"

5"

図 6

10"

15"

20"

25"

30"

35"

40"

45"

50"

発話者ごとの発話内容関与度と影響度の関係を図 7 に示す．左上枠内に位置する A の影響度は高くはないが，プロジェクトに大きく関与している．右下枠内に位60"
置する発話者の重要50"
A"
度は高くないが，影響B"
40"
度が高く，意思決定のC"30"D"役割を果たしているこE"
20"とが分かる．左下枠内
F"
10"
G"に位置する G と F は，
0"
他の発話者と比べて関
0"
10"
20"
30"
40"
50"
与度，影響度ともに低	いことが分かる．
図 7 関与度と影響度	
(%)

「動詞」，「目的語」のトリプルで内容を表現し，その構造をグラフで可視化する．
(1) 主語, 述語, 目的語の抽出:
日本語係り受け解析器 CaboCha を用いて，「主語」，「述語」，「目的語」のトリプルを抽出する．
(2) グラフデータベースの作成:(1)で抽出したトリプルから，発話構造のグラフデータベー
スを作成する． 例えば，「A さA	んは情報を管理する」という文があり，(1)で主語として「A さ
図 3 トリプルグラフん」，述語として「管理する」，目的語として「情報」のトリプルを抽出した場合，図 3 に示すグラフを生成できる．
7.1.2. 発話記録可視化のプロトタイプ
データの収集から分析を支援し，グラフデータベース生成するプロトタイプの構成を図 4 に示す．
日本語係り受け解析器である CaboCha[2]モジュールの拡張を Ruby で実装した．これを用いて，テキストから主語，述語，目的語のトリプルを抽出する．それをもとに neo4j[4]を用いてグラフデータベースを生成する．Neo4jRestClientを用いてiPython notebookで Pythonからneo4jに接続する．
neo4j のクエリ言語として Cypher を用いている．

7.3. データ駆動話題ステークホルダ分析
7.3.1. A*に基づく分析プロセス「話題ステークホルダ分析」をゴールとして設定し，話題ステークホルダとその間の関係を構造化する．
話題ステークホルダとは発話者ステークホルダの発話データに記載されている人や組織を指すこととし，発話者ステークホルダと区別する．図8に発話者ステークホルダ分析と話題ステークホルダ分析との関係を示す．発話者ステークホルダの分析結果を用いて，発話記録から抽出した話題ステークホルダの分析を行う．さらに，発話者ステークホルダを対象とした，話題ステークホルダに関するアンケートを実施し，データ分析で明らかになった結果とアンケート結果を比較し，ステークホルダの特定や分析結果を評価する．		

ステークホルダ分析の関係(1) グラフデータベースへの情報付与:
7.1 で作成したグラフデータベース
X
で発話者を表現するように発話者情		報を付与する．各ノードを発話者のA	意図として，主語と目的語の各ノードに，発話意図の情報を関係とする
図 9 トリプルグラフ 2
有向グラフを付与する．例えば，「Aさんは情報を管理する」と X さんが発言したとする．この文の発話意図を報告と判断し，図 9 のように表す．
(2) 測地線距離の算出:
ノードiからノードjまでの最短のパスである測地線距離を式(3)に示す．
=" d(i, j)	

∑ d(n, j)j=1×md(n, m)g∑ i(n, j)i(n) = i(n,1) + i(n, 2) + i(n, 3) +... + i(n, g) = j=1gg		

gi(n, m) =	

図 8ルダの重要度と影響度を用いて，話題ステークホルダの関与度と期待度を求める．
発話者ステークホルダにおいて，関与度が高い人は会議で積極的に発言している人物であり，プロジェクトに大きく関与していることから，現状報告の発話が増えると考えられる．この発話の度合いである発話者ステークホルダ m の関与度を用いて m による話題ステークホルダ n の重要度
要素 i(n, m)を式(4)で定義した．発話から得られた話題ステークホルダnの重要度i(n)として，話題ステークホルダの重要度要素の平均として式(5)で定義した．関与度が高い発話者ステークホルダと近い関係にあるほど，現時点でプロジェクトに深く関わっていることを意味している．

(3)(1)で情報を付与した新たなグラフデータベースから，各ステークホルダと各発話者ステークホルダの測地線距離を調べる．図 10 で示す例では，話題ステークホルダである Aさんと発話者ステークホルダ
YであるXさんは隣接している	ため，測地線距離 d(A, X)=1Aである．それに対して A さん
図 10 トリプルグラフ 3と Y さんは「結果」ノードを媒介要素としており，測地線距離 d(A, Y)=2 となる．
(3) 重要度と期待度の算出:(2)で求める測地線距離と，7.2 で求める発話者ステークホm×m!

=(4)

(5)

発話者ステークホルダの影響度とは，プロジェクトの計画や実行に対する意思決定に及ぼす影響度である．それを用いて，重要度要素と同様に期待度要素 e(n,m)を式(6)で定義し，さらに，重要度と同様に期待度 e(n)を式(7)で定義する．期待度は，影響度が高い発話者ステークホルダと近い関係にあるほど，今後プロジェクトに深く関わっていく可能性を示している.
ge(n, m) =∑ d(n, j)	

j=1×m
d(n, m)g∑ e(n, j)e(n,1) + e(n, 2) + e(n, 3) +... + e(n, g)
j=1=e(n) =
ggm	×m!

=(6)(7)(4) 発話者ステークホルダマトリクス作成:
算出した重要度と期待度を用いて話題ステークホルダマ
トリクスを作成する．
7.3.2. 話題ステークホルダ分析への適用
図 5 に発話者を赤色ノードとして付与した結果を図 11 に示す．Cypher クエリを用いて，発話者ステークホルダと話題ステークホルダとの測地線距離を求め，さらに，発話者ステークホルダの関与度と影響度を用いて，話題ステークホルダの重要度と期待度を求めた．その結果を図 12 に示す．
右上の枠内に位置する「各局」は，重要度，期待度共に高く，現在も今後もプロジェクトに大きく関わることが予測できる．左上の枠内に位置する集団は現段階でプロジェクトに大きく関わっ
図 11 発話者付き発話グラフているが，今後その210$
役割は小さくなる可200$
能性がある．右下に190$位置する Z 室は，重180$
要度は低く，プロジ170$
ェクトに対して大きな160$
UV役割を果たしている
W
150$
P
Q
140$とは考え難いが，今R	S	Z	T	
130$
後大きく関わると考Y$
X120$えられる．また，各局
160$
170$
180$
190$
200$には U 局や V 局，
W 局が含まれている．
図 12 重要度と期待度
本プロジェクトには各局が重要なステークホルダであるが，特に先述した 3 つの局が注目されていることが予測できる．

8. 評価

5"

実際の発話者ステークホルダを対象に， 4.5"
PQ
話題ステークホルダ
R	4"の重要度に関するT	
アンケート調査を行U
3.5"
Vった．アンケートは，W発話者ステークホル
3"
3"
3.5"
4"
4.5"
5"
ダとして特定した 7
人中 6 人の協力を得
図 13 分析結果とアンケートの比較た．
アンケート調査結果とデータ分析結果の比較を，図 13 に散布図として示す．アンケート調査結果は，発話者ごとの影響度を考慮し，影響度による重みを付け，加重平均を求めた値である．アンケート調査結果は，プロジェクト全体を通しての評価であると判断し，データ分析結果は，重要度と期待度を 5 段階で評価し直し，その平均を求めた値である．
y<x 領域に位置する R 室は，アンケート調査結果よりもデータ分析結果で重要であると判断されている．逆に，y>x 領域に位置する 6 つのステークホルダは，アンケート調査結果で，より重要であると判断された．

9.2. ステークホルダ分析の妥当性
従来のステークホルダ分析は人手で行っていたが，データとその分析に基づき，ステークホルダのプロジェクトへの関与を合理的に分析可能となった．しかし，主語と述語の対からステークホルダを抽出できない場合がある．また，同一ステークホルダであっても，異なる名称で表現されていることがあるという課題があることも明らかとなった．
9.3. 従来の要求工学と提案方法の比較
人手で要求獲得を行う従来の方法と比べ，人手に加えてデータ分析を行うことで，主観的な発言などに頼る要求獲得を回避し，より妥当な要求を獲得し，獲得する要求の品質向上を図ることができると考えられる．

10. 今後の課題(1) 自然言語の表現が複雑であった場合，うまくトリプルを抽出できない場合があったため，情報の抽出方法を再検討する必要である．
(2) ステークホルダなどの名称が異なる場合も一意に識別できるよう，メタデータを付与し，一元管理するなど，データ品質の向上を検討する必要がある．
(3) 機械学習などを適用したデータ解析を応用し，より大量のデータを効率的に分析できる方法を検討する．

11. まとめ
ビジネスデータ分析に基づく要求獲得方法 D2RE の概念と，そのプロセスとして， 5 つのアクティビティを繰り返すA*プロセスを提案した．さらに，データに基づくステークホルダ分析の詳細なプロセスを定義した．このプロセスを，実際の公共サービス開発の議事録データへ適用し，ステークホルダの特定とステークホルダの構造化を明らかにした．
実際のビジネスデータである議事録へ提案方法を適用し，ステークホルダの特定や発話者の意図の構造を分析することで，ステークホルダマトリクスを作成し，ステークホルダ分析を行い，提案方法の有効性，妥当性を評価した．
謝辞	  議事録データをご提供頂いた伊藤忠テクノソリューションズ株式会社の野村典文氏と関係各位に感謝する．

9. 考察

参考文献

議事録データを分析し，トリプルとして表現することにより会議内容の可視化を行った．さらに，データに基づき発話者ステークホルダと話題ステークホルダの分析を行い，ステークホルダマトリクスを生成することで，役割の特定が可能となった．
9.1. D2RE の妥当性
ビジネスアナリティクスなどのデータ分析技術を要求獲得へ導入する D2RE のフレームワークとその具体的プロセスを提案した．これにより，本稿は要求工学の新たなアプローチとその効果を示した点で意義があると言える．

[1] 青山 幹雄，ほか，動的利害相互作用に基づくステークホルダ分析方法の提案と節電問題への適用評価, コン
ピュータソフトウェア, Vol. 30, No. 3, pp. 102-108.
[2] CaboCha, Yet Another Japanese Dependency StructureAnalyzer, http://taku910.github.io/cabocha/.
[3] A. Ghose, et al., Data-Driven Requirements Modeling:Some Initial Results with i*, Proc. of APCCM 2014, Jan.
2014, pp. 55-64.
[4] neo4j, Neo Technology, INC., 2016, http://neo4j.com/.
[5] S. Nalchigar et al., From Business Intelligence Insights toActions, Proc. of PoEM 2013, Nov. 2013, pp. 114-128.