発表用PPT - 信州大学

Traceability Link Recovery を行うIR
手法のマイニング
-IR method mining for Traceability Link Recovery -
信州大学大学院理工学系研究科
情報工学専攻修士1年
湯浅諒平
1
TraceabilityLinkとは
ソフトウェア開発の過程で作成されるドキュメント
単位間での関連付けである。
2
ユースケースとクラスケースのTraceability Linkの例
Traceability Linkを付けておくことの利点
ドキュメント単位間の関連が追跡可能だとソフトウェアの保
守・改良作業において、以下の点から都合が良い。
あるドキュメント単位に変更を加える時に発生する
影響を把握し易い。
開発者がソフトウェアを理解するための補助になる。
3
Traceability Link Recovery
理想的な開発プロセスでは、作成された次点でドキュメント
間のTraceabilityリンクは付いているはずだが…
実際は、各ドキュメントが独立に編
集されることでリンクが切れる
TraceabilityリンクのRecovery(再確立)
が必要になる
4
IR手法によるLink Recovery
単語抽出
対象となるドキュメント単位群から単語を抽出
Term-Document行列を作る
類似度の計算
出現度合を値とする、Term-Document 行列
を作成する。
Term-Document 行列の値を基にドキュメント
間の類似度を求める。
類似度に基づいてリンクを作る
条件に基いてリンクあり、なしの判定をする。
5
Cosine類似度
n
∑D1 ∗ D2
i
cos(D1, D2) =
D1i はドキュメント1のi列目の値
i
i =1
n
n
∑D1i ∗
∑D2i
i =1
i =1
2
D2i
2
はドキュメント2のi 列目の値
n は総単語数
6
オプションIR手法
Recovery精度を高めるためのオプション的なIR手法
1.
2.
3.
4.
5.
6.
7.
StopWord の利用の有無
Stemming 処理の有無
CamelCase の処理
Term-Document 行列の値(単語,有無,TFIDF)
LSI の利用の有無
LDA の利用の有無
Link の判定基準
7
StemmingとStop word
Stemming
単語の語幹だけをとることで、複数の活用形や派生系などの語形変化
を同一とする処理
study
studying
stud
studies
Stop word処理
ドキュメントの特徴付けや類似度判定に使用できない単語、
Stop Wordを除去する処理
Be動詞、前置詞、代名詞、等どんな文章にでも出現するような意味を持たない
語を取り除く
8
Term-Document行列の値
Term-Document行列の例
d1
d2
d3
d4
d5
d6
ship
1
0
2
0
0
0
boat
0
4
0
0
0
0
ocean
2
1
0
0
0
0
voyage
1
0
0
1
1
0
trip
0
0
0
3
0
5
travel
2
1
0
0
0
0
行列の値として以下が考えられる
1.
2.
3.
単語の出現数
単語の出現の有無(0か1)
1に対しTF-IDF値を求めたもの
Term-Document行列のi行j列におけるTFIDF値
TF-IDFについて
TF-IDFは多くのドキュメントに出現す TFIDF = TF
i, j
i, j
る単語の重みを下げる処理である。
n
一般語フィルタとして利用できる。
TFi , j = m j i , j
以下の式で計算できる。
n
∑
∗ IDFi , j
k, j
k =0
D



IDFi , j = log 

 {d : d ∋ ti } 
ni , j はドキュメントjに単語iが出現する回数
分母はドキュメントjに出現する全単語数
D は総ドキュメント数
{d : d ∋ ti } は単語iを含むドキュメント数
9
Link判定基準
類似度行列に基づき、どのドキュメント間でリンクがあるとするのかを決定する。
リンク候補とする基準は以下を用いる。
cut percentage
上位α%を候補とする
cut point
上位β位までを候補とする
constant threshold
類似度がγ 以上の物を候補とする
variable threshold
全体の類似度の平均値のε%よりも大きな類似度を持つものを候補とする。
scale threshold
類似度の閾値をδ * 最大類似度で決める。但しδは0から1の間のある値
10
Latent Semantic Indexing (LSI)について
LSIは単語による間接的な共起性による補正をTerm-Document行
列に与える。
これによりドキュメント間の単語による間接的な関係を反映した
Term-Document行列が作れる。
D1
D2
D3
D4
D5
D6
T1
1.05129
-0.0278
0.93928
6
-0.01803
-0.03937
0.02134
2
T2
0.15137
9
0.91794
4
-0.17918
-0.05321
-0.1162
0.06298
5
T3
0.87211
1.06932
0.15137
9
0.044955
0.09816
7
-0.05321
0
T4
1.03326
-0.01803
-0.03937
0.988308
0.97446
8
0.01384
1
T5
-0.01803
0.00977
3
0.02134
2
1.00634
0.01384
0.99249
8
D1
D2
D3
D4
D5
D6
T1
1
0
1
0
0
0
T2
0
1
0
0
0
0
T3
1
1
0
0
0
0
T4
1
0
0
1
1
T5
0
0
0
1
0
11
Latent Semantic Indexing (LSI)について
1.
2.
3.
Term-Document行列を特異値分解し、直交行列U,V 対角行列
Dを得る。
Dを転置し、それぞれの行列を次元縮小する。
3つの行列を掛け合わせる
U
示現縮小し、掛け合わせる
(この例では次元縮小率は0.5に設定)
特異値分解
D
V
12
Latent Dirichlet Allocation (LDA)について
LDAはTerm-Document行列からtopic を抽出し、Topic-Term
行列とTopic-Document行列を生成する。
Topic-Document行列をTerm-Document行列の代わりに
用いて類似度を求めることができる。
単語からドキュメントの関係性を導くだけでなく、Topicから
ドキュメントの関係性を導くことができる。
これによって今まで認識できなかった機能のまとまりを認識
できる可能性がある。
13
13
最適なオプションIR 手法の選択
これらの手法には対象とするドキュメントとの相性がある。
この相性は対象ドキュメントがもつ種々の特徴量に関係す
ると考えられる
対象ドキュメントの特徴量から使用するべき手法を決
定できることが理想であるが、このような研究はまだ
行われていない
データマイニングによる適切な手法の識別という
手法の提案
14
提案手法: マイニングによる適切なオプ
ションIR手法の識別
本研究の提案手法の概要は以下の通りである。
正解のあるドキュメントセットを用意し、Link Recovery の予
備実験を行う。
その精度と手法、対象ドキュメントの特徴量の関係をマイニン
グし、オプションの識別器を作る
この識別器で、ある特徴量をもつドキュメントに適切な手法を
識別する。
15
提案手法の具体的な手順
1.
Link の正解を持ったデータセットを用意する。
2.
網羅的に手法を組み合わせLink Recovery を行い、精度
を求める。
3.
精度をある条件によってTF に変換する。
4.
対象ドキュメントの特徴量、手法、精度から訓練データセット
を作る。
5.
訓練データセットをアルゴリズム(識別器学習記)にかけて識
別器を作る
6.
Link Recovery を行いたいドキュメントの特徴量、オプショ
ンから検査データを作る
7.
これを識別器にかけ、適切な手法オプションを決定する
8.
16
決定された手法オプションを使ってLink Recovery を行う。
IR手法のマイニング
手法オプション集
合
(N種)
参照データ集合
(M個)
検査データセット
手法のオプション
ドキュメント対の特徴
識別結果
ドキュメント対の特徴
生成
適切な手法オプション
識別器
適切な手法のオプシ
ョン
NxM個のデータから訓練データ
識別器
学習器
適切な手法のオプション
ドキュメント対の特徴
Mined Traceability link
17
問題提起 : RQ1
RQ1: 適切な手法オプションの識別は有意なPrecision
で行われているのか。
これまで述べてきたマイニング手法が実際に機能する
ためには、訓練データの識別が可能である必要がある。
ここで言う可能とは、識別結果の精度が保証できることである。
つまりPrecision がある程度高い値であれば識別を保証でき
る。
逆に一定の精度が得られないとすると本手法での有効な識別
ができない(特徴量の問題、訓練データの問題)という事になる。
18
問題提起 : RQ2
RQ2 : 訓練データとして同一カテゴリのドキュメントを使
うことで異種混合状態と比べて向上するのか。
これまでのマイニング手法では訓練データとして用意した全て
のドキュメントを使用していた。
しかし、本研究では検査データと同一カテゴリの訓練データを
使用することでマイニング精度の向上があるかを検証する。
19
実験で使用するデータセットについて
RQ1,RQ2 を検証するため、参照データCoESTで提供さ
れているものを利用して実験を行った。
CoESTのデータセットは複数のプロジェクトデータからなり、
各プロジェクトデータは複数のドキュメント対からなる。
これらのドキュメントはそれぞれより細かいドキュメント単位
に分割されている。
また、この参照データにはLink の正解が用意されている。
20
予備実験
前述した手法オプションを網羅的に組み合わせLink
Recovery を行い、 PrecisionとRecall を求める。
手法オプションの細かい設定は以下の通りである。
LSI の次元縮小率は30%
今回は類似度の種別は対称のみとした。
LDA のTopic 数は40
Link 判定基準は各々の基準で更に以下の通りのバリエーションが
ある
cut percentage 上位10,20,30%
cut point 上位5,10,15,20 位
constant threshold 0.1,0.2,0.3,0.4,0.5,0.6,0.7以上
variable threshold 全体の類似度の平均の10,20,30%以上
scale threshold 最大類似度の50,60,70,80%以上
21
マイニングの準備
Link Recovery を行った後、Precision、Recallを
条件に従ってT とF に変換する。
今回は次の3つの条件で変換した。
Precision>0.1 and recall>0.5
Precision>0.2 and Recall>0.5
Precision>0.3 and Recall>0.6
22
今回使用するドキュメントの特徴量
対のリンクの種別(上流と下流か上流同士また
は下流同士)
ドキュメント単位の数
ドキュメント対間の類似度の平均
ドキュメント対のサイズ(単語数)の平均
23
実験1
特徴量、オプションから訓練データセットを作りcross
validation を行う
予備実験で求めた手法オプションと精度のデータ組とド
キュメントの特徴量から訓練データセットを作成する。
次にこのデータセットにcross validation を行い、識別
精度を調べる。
この精度が充分なものであれば、RQ1 は確認できたこ
とになる。
24
実験2
検査データと同一のプロジェクトから作った訓練データ
を使用する場合と全てのプロジェクトから作った訓練
データを使用する場合、それぞれで識別を行う。
1. まず、検査データと別のプロジェクトから作った訓練
データを使用して検査データの識別を行う。
2. 次に、検査データと同一のプロジェクトから作った訓練
データを使用して検査データの識別を行う。
3. この2者の識別精度を比べることでRQ2 の検証を行う。
25
実験結果 予備実験
Precision>0.3 and Recall>0.6 を満たす手法475の中
で各オプションが使われている割合を示している。
Stop wordの使用 258
Stemming の利
用
255
LSI の利用
230
LDA の利用
4
リンクの判定手法
均等に近く分散
表1で見る限りLDA の効果は表れ
てはいない。
一方LSI の効果はほぼ半数であり、
stop wordやstemming の利用と
同じく有効性の有無はどちらともい
えない。
従って、特定のオプションは必ず使うべきとか、無駄であるとかの結論は下せない。
よって、特徴量に基づいた手法オプションのマイニングの必要性が明らかである。
26
各ドキュメント対毎のリンク再確立の精度
ドキュメント対
P>0.1 and R>0.5
P>0.3 and R>0.6
ID_TC
0.335
0.013
CC_CC
0.040
0
ID_CD
0.372
0.101
ID_ID
0.581
0.081
ID_UC
0.263
0.046
TC_CD
0.400
0.010
TC_TC
0.615
0.327
UC_CD
0.352
0.053
UC_ID
0.196
0.063
UC_TC
0.325
0.008
UC_UC
0.539
0.240
Gantt
0.450
0
SMOS
0.097
0
基準の精度を満たす手法オプ
ションの割合はドキュメント対
によって大きく異なっている。
手法オプションの選択をドキュ
メントに合わせて適切に行わ
ないとリンクの再確立を精度
よく行う事は出来ない。
27
実験結果
Link Recovery の結果がPrecision>0.1 かつ
Recall>0.5 であればT とし、cross validation を行った。
また、Precision>0.2 かつRecall>0.5 、Precision>0.3
かつRecall>0.6 でも同様にcross validation を行った。
P>0.3 and R>0.6 という厳しい基準であってもprecision
が0.957 という極めて高い値で識別できている。
識別基準
TRUEの割合
Precision
P>01 and R>0.5
0.35
0.957
P>0.2 and R>0.5
0.17
0.921
P>0.3 and R>0.6
0.07
0.957
P>0.3 and R>0.6
(EasyClinic)
0.09
0.947
28
アルゴリズムの相違による相違
これから見る限りJ48 が一般的に最適であると考えられる。
精度1はP>0.1 and R>0.5 の場合、精度2はP>0.2 and
R>0.5、精度3はP>0.3 and R>0.6 の場合である。
アルゴリズム
精度1
精度2
精度3
J48
0.957
0.921
0.957
RadomForest
0.954
0.901
0.915
NaiveBaybyes
0.552
0.357
0.271
29
実験2
自らを含まないドキュメント対で学習させた結果を使ってのマイニ
ングを行った。
表3と比べた場合、精度の低下がみられる。特に(EasyClinicSMOS)と(EasyClinic-ID_TC)の場合の低下は著しい。
一方他の組み合わせは程ほどの精度を示しており、実環境での
適用の可能性を示せたものと考える。
EasyClinic
SMOS
0.061
--
EasyClinic
Gantt
0.773
--
EasyClinic*
ID_TC
0.812
0
EasyClinic*
UC_UC
0.859
0.677
30
結論・まとめ
Traceability link 再確立のための手法のマイニングの効
果をさらに考察するための実験を行い、マイニングの有効性
を確認した。
提案手法は以下の二点において、有効な手法であると考えている。
多くの手法オプションの中からの選択が可能であること。
選択基準を設定しておけば、選ばれる確立手法がどの程度
の確立精度を持つかという評価が可能であること。
31
今後の課題
LDA の導入、判別手法の改善を行ったが、Link再確立
精度自体が向上したかの評価はまだ行っていない。
いくつかの特徴量を使用したが、マイニングという観点か
ら有効かどうかは評価していない。
訓練データとして利用したプロジェクトデータの数が少ない。
32