宮崎
研究目的†
先行研究の問題点・原因†
- 問題点
- 分類の粒度があらい
- 「セキュリティ」,「パフォーマンス」と分類
- 分類結果を目視して細分化しないといけない
- 原因
- 粒度の粗い単語辞書を作っている
- RFPからセキュリティに関連度が高い(WEB検索でヒットすることが多い)単語を取得してセキュリティ辞書にしている
- 例)あるRFPセキュリティ辞書に含まれる単語
- email, login , Authenticate
- 考えないといけない?点
- ひとつのRFPに専用の辞書を作っている
- 他の辞書には利用できない
- そのRFPに書いてある単語しか辞書に追加できない
- 複数のRFPをデータセットとすることで対応可能?
先行研究の問題点を解消するために†
- 粒度の細かい辞書を作る
- セキュリティの中の「セキュリティパッチの適用範囲」辞書を作る
- 1つの単語があるかないかの0,1の辞書ではいけない
- 「セキュリティパッチ」が含まれる文をNFR文として抽出すると「セキュリティパッチの適用範囲」には該当しない
- 例文)セキュリティパッチの情報を提供すること(これは「セキュリティパッチの適用範囲」ではない)
- 複数の単語集合?を持った辞書を作る
- 例えば,「セキュリティパッチの適用範囲」の辞書なら「セキュリティパッチ」と「適用」と「範囲に関する単語」が含まれている辞書
- 自然言語特有の表記ゆれに対応する必要がある
- 「セキュリティパッチ」「パッチ」「修正プログラム」は同じように扱われる
- 文字列の近さではなく類似度で表記ゆれをなくす
処理のステップと用いるアルゴリズム†
1.RFPの文章と取得,形態素解析をして文を単語(名詞,動詞)に変換
- 名詞,動詞のみの理由:まずは,NFRの記述文かどうかの判断をするため.形容詞など修飾する単語は強調する時に使われ.NFRのレベル分けに対応するため
- MeCab形態素解析を行う.辞書にipadic-neologdを使う:RFPには固有語が含まれることが多いため,neologdを使うことで新語や固有語に対応可能になる.
2.NFRに該当するであろう文を取得する
- 例)「セキュリティパッチ」を含む文を取得する:「セキュリティパッチ適用の範囲」というNFRの辞書を作るために,まずコアとなる単語である「セキュリティパッチ」の文を取得するため.
3.コア単語に類似する単語を含む文も取得する
- 表記ゆれに対応するため.
- 「セキュリティパッチ」に類似する単語を取得する
- 類似とは,同じ意味を持つ単語
4.コア単語と共起する単語を調べる
- コア単語と共起する単語の中から「セキュリティパッチ適用の範囲」に関する記述に含まれる単語取得するため
- どの文にも出現する単語は除去しておく.tfidfを適用:どの文にも出現する単語はそれほど重要ではくNFRを示す単語には当てはまらないと考えられるため.tfidfは複数の文からどの文にも含まれる単語の重要度を下げ.特定の文にのみ出現する単語を抽出することができるため.
5.取得した共起単語を辞書に追加する
- 正解はどう判断する?
- 予め自作で作ったものを正解にするのであれば,それを使って調べればよいだけ...こねくり回した意味がなくなる...
TO Study†
TODO†
Paper I've read†
| Title | Author | Conference | Overview |
| DIGS: A Framework for Discovering Goals for Security Requirements Engineering | Maria Riaz, Jonathan Stallings, Munindar P. Singh, John Slankas, Laurie Williams | ESEM'16 | セキュリティ目標の抽出を助けるフレームワークを提案した.実験の結果,利用者のセキュリティ目標の抽出の助けはできなかったが,利用者はいい経験になったとレポートしている. |
| Automated classification of non-functional requirements | Jane Cleland-Huang, Raffaella Settimi, Xuchang Zou, Peter Solc | Springer Requirements Eng 2007 | 機械学習を用いて非機能要件を検出・分類する手法を提案.Recall重視の手法.ドメインごとに学習した方が精度高. |
| ソフトウェア開発の超上流工程における非機能要件の定量的評価 | 斎藤康廣 | NAIST D論 | 要件定義書に記述している非機能要件を機械学習を用いて自動評価. |
| Automated Extraction of Non-functional Requirements in Available Documentation | John Slankas and Lurie Williams | 2013 1st International Workshop on Natural Language Analysis in Software Engineering (NaturaLiSE) | 非機能要件をK近傍探索を用いて検出する手法を提案.SVM,ナイーブベイスと比較実験を行った結果,SVMがF1値が最も高.また,単語のステミング等の処理を行わなうと,わずかに精度低 |