従来の大域的な語の重み付け手法であるIDF(Inverse Document Frequency)には,単語N-gramに対して適用できない欠点があった.
しかし,近年の研究により,IDFを単語N-gramに対して適用する手法が提案された.
本研究では,このN-gram IDFをソースコードに対して適用し,ソースコード中の特徴的部分の抽出に応用できると考えた.
具体的には,局所的重み付けであるTF(Term Frequency)とN-gram IDFを利用した語の重み付け手法である$TF\verb|-|IDF_{N-gram}$を用いて,ソースコードごとの特徴語の抽出を行った.
そして,その特徴語の行ごとの出現頻度を求めて,ソースコード中の特徴的部分の抽出を行った.
まず,サンプルプログラムを用いて特徴語抽出の評価実験を行い,ソースコードにおいても特徴語をある程度抽出できることを示した.
次に,Apache Antの公開されているソースコードを用いて特徴的部分抽出を行い,またソースコードの変更による特徴的部分の変化についても調べた.
その結果,ソースコードから特徴的部分の抽出をすることができた.
また,その抽出した特徴的部分は,ソースコードの変更によってもソースコード全体の相対位置の変化が少ないことを示した.