自然言語処理技術を活用したクラス図関連線の予測と展望
井原 輝人†1,a)

平尾 俊貴†1,b)

飯田 元†1,c)

藤原 賢二†2

概要：ソフトウェア品質特性の一つである理解性とは，読み手が成果物を容易に理解できるかを指す．UML
図における理解性を定量的に表現できれば，評価値に基づいた設計品質の評価や向上に繋がると期待される．しかし，理解性は個人の感覚や経験則に依存する部分が大きく，定量化する実用的な手法は存在していない．中村 [1] らは読み手が図の構成要素を個々の妥当性判断に基づいて理解することに注目し，妥当性を定量的に評価するメトリクスの定式化を試みた．しかし， UML 図においては個々の図形要素が複雑に関連付けられるため，理解性に影響を与える要素とそれらの関係性をすべて定式化することは極めて困難である．従って，我々は当該目的に対して機械学習を用いた妥当性の定量化を提案する．第１段階として，関連線の種類を予測するモデルを作成した．被験者実験を実施し，モデルの予測結果と被験者の判断結果を比較した結果，高い精度で一致したことを確認した．予測モデルは個々の関連線の人間による関連線に対する妥当性評価を摸倣可能であるといえ，提案手法で関連線の種類において理解性の定量化が可能であることが明らかとなった．関連線の種類や命名の妥当性を予測モデルに基づいて UML 図の理解性について部分的に定量的な評価が可能となることを示した．ただし，UML 図の現場でのユースケース設定については疑問が残り，理解性の定量化をどのように現場に適用するかについては再度考慮する必要がある．

1. はじめにに対して妥当性評価して理解性を判断することに注目し，妥当性をメトリクスとして定式化することで定量化を試みソフトウェアの開発工程において，UML 図が幅広く利た．中村らはクラス名とそれらをつなぐ関連線の特徴から用されている．特に，開発の上流工程では，UML 図を用い理解性メトリクス CRSU を定義した．その後評価実験をた設計や分析モデルの記述が行われ，その開発成果物を基行い，仮説が正しいことを明らかにした．筆者らは中村らに以降の実装や検証が進められるため UML 図の品質評価のメトリクスをベースにし，汎化や集約といった関連線のはソフトウェア品質の確保に重要である．品質特性とはソ種類にも対応したメトリクスを提唱した [2]．先行研究とフトウェアに求められる要求を分類したものである．品質の比較実験を行い，メトリクスの精度向上を確認した．し特性の 1 つである理解性とは成果物を読み手が容易に理解かし，一方でいくつかの手法の問題点が明らかとなった．

できるかを表す．開発者間の相互理解を目的とする UML

1 つ目は，有意な評価実験が困難であることである．現在，図において理解性は重要な品質特性であり，当然理解性の統計的考察を行うために十分な数のクラス図を用意するこ

高い UML 図は良い UML 図とされる．UML 図におけるとは困難であり，先行研究の結果も有意性について疑問が理解性を定量的に表現できれば，リファクタリング効果の残る．2 つ目は自然言語処理技術として WordNet のみを可視化や，理解性のボトルネック検出によるリファクタリ用いていることである．単語の類似度計測が可能な他の自ング補助が可能となる．しかし，理解性は個人の経験則や然言語処理技術を導入，併用することで理解性評価の精度主観に依存する部分が大きく，定量的に評価する実用的な向上が可能であると考えられる．3 つ目は定式化による高手法は存在していない．

精度な妥当性定量化が困難なことである．理解性は複雑な

中村ら [1] は UML 図の 1 つであるクラス図に対して理解性の定量化に取り組んだ．彼らは読み手が図の構成要素要因が複合的に合わさって決定されるが，定式化ではすべての要因を定義する必要がある．
我々の提案する手法では，教師あり学習を用いてクラス†1†2a)b)c)

現在，奈良先端科学技術大学院大学
Presently with NARA Institute of Science and Technology
現在，東京都市大学
Presently with Tokyo City University
ihara.akihito.ht1@is.naist.jp
hirao.toshiki.ho7@is.naist.jp
iida@itc.naist.jp

図内の任意の要素の予測モデルを構築する．予測モデルでは対象のクラス図の構成要素の一つを空欄に置き換え，周辺の情報から空欄部分に当てはまる要素を予測する．予測モデルを用いた妥当性評価方法について図 1 に例を示す．

ラベルを予測する予測モデルを構築した．交差検証法の結果 Accuracy は 0.65 となった．
次に評価実験を実施した．この評価実験は予測モデルと可能な限り同等の環境で人間のパフォーマンスを計測し，予測モデルと比較することで，予測モデルの精度を評価す
図 1 クラス名予測モデルを使った妥当性評価の例ることを目的に実施した．人間のスコアが予測モデルと同妥当性評価では，始めに対象のクラス図の構成要素の一等程度であれば予測モデルは人間の妥当性判断を模倣してつを空欄に置き換える．次に予測モデルを用いて空欄部分おり，提案手法は妥当性評価が可能であると導ける．実験に当てはまる要素候補とそれぞれの確率を予測する．最後は 6 名の学生がデータセットに含まれるクラス名のペアかに予測結果と元の構成要素を比較し，予測結果の確率に応ら関連線の種類を予測し回答するという形式で実施した．

じて妥当性評価値を算出する．用いた予測モデルが人間の得られた結果から正答率のスコアを算出した結果，平均妥当性判断を模倣していることを証明することで妥当性をAccuracy は 0.72 となった．ここから予測モデルとのクラ保証できる．機械学習モデルを用いることで定式化では困

メール相関係数を算出したところ，平均 0.57 の相関を確認難であった各要因の重み設定並びに尺度の調整が可能となしたことから予測モデルは十分に人間の妥当性判断を模倣ることから妥当性評価の精度が向上することが期待される．

可能であることが明らかとなった．よって提案手法は関連

2. 提案手法
本研究では研究の初段階として，関連線の種類を予測す線の妥当性評価が可能であることが示された．

4. まとめ・今後の課題・議論る予測モデルを作成する．予測モデルは教師あり学習を用

本研究では，関連線の予測モデルを構築し，関連線の妥当いて生成する．説明変数は対象の関連線の両側に位置する性評価が可能であることを示した．理解性の定量化におけ

クラス名２つ，目的変数は関連線の種類と設定する．関係る今後の課題としては，クラス名等のクラス図の他要素に線は２つのクラス間の関係性を表現するため，関連線が結対して提案手法を適用することが挙げられる．また，理解ぶ 2 つのクラス名の関係性を複数の自然言語処理技術を用性の定量化を現実社会に適用するにあたって想定していた

いて特徴量として数値化し，予測モデルの入力として用いUML 図のユースケースと現場での UML 図のユースケーることで精度向上を試みる．また，提案手法のメリットとスにずれがあり，理解性の定量化をどのように現場に適用して 2 つの先行研究が抱えていたその他の問題点も解決可するかについては再度考慮する必要があると考えている．

能である．１つ目の有意な評価実験が困難である点につい我々は UML 図を用いた設計品質の評価や向上，リファクて，提案手法では分析対象をクラス図全体から関連線へとタリングといったユースケースを想定している．例えば，置き換えているため，ある程度の数が手作業でも確保可能

リファクタリング前後の理解性を計測することで，リファとなる．２つ目の WordNet のみを用いている点についてクタリングの効果を検証することであったり，UML 設計中も，提案手法では特徴量として他の手法を複数組み合わせの開発者に対して理解性評価値を提示することで開発者のることができ，手法の比較ができる．

意思決定をサポートすることである．Marian Petre らは企

3. 予測モデルの作成・評価実験

業での UML の使用ケースについてリサーチした [3]．結果
として UML の使用は限定的なものが中心であり，アイデまずはじめにデータセットを作成した．データセット作成

アの整理，可視化の方法としての利用，ステークホルダー

では参考書や web ページといった複数のドメイン上に存在との情報共有ドキュメントとしての利用等が主要なユースするクラス図から，クラス名とその間の関連線を抽出する形ケースであると結論づけている．

式で 425 データを収集した．収集した関連線は関連，汎化，謝辞 本稿は奈良工業高等専門学校、内田眞司先生のご集約の３種類であり，汎化と集約は向きに応じて 2 種類ずつ指導内容に基づき議論しています．本研究は JSPS 科研費

ラベルを定義した．次に特徴量を生成した．まず，主な自然JP21H03416 の助成を受けたものです．

言語処理技術としては LexVec,Wiki2Vec,BERT,MicrosoftConcept Graph 等を用いてクラス名の単語ベクトルを抽出参考文献した．次に得られた単語ベクトルのベクトル差分やコサイ[1]ン類似度を用いて関係性を数値化することで特徴量を生成した．また先行研究のメトリクスについても特徴量として[2]追加した．その結果合計 13 種類,1377 次元の特徴量を定義した．次に主成分分析による次元圧縮モデル，XGBoost による数理モデルを定義し，層化交差検証法を用いて関連線[3]

中村悠人, 鷲崎弘宜, 深澤良彰, 単語の類似度を用いた
UML クラス図の理解性の測定と評価, 情報処理学会 SEシンポジウム 2009, pp.165-172, September 2009．
井原輝人, 内田眞司, 単語類似度を用いた UML クラス
図理解性メトリクスの改良, 信学技報, vol. 119, no. 246,
SS2019-24, pp. 65-70, October 2019
Marian Petre, UML in Practice, 35th International Conference on Software Engineering, pp. 722–731, 2013