識別子の命名支援を目的と した動詞-目的語関係の辞書 構築 井上研究室 鹿島 悠 1 プログラム中の識別子 • いくつかの単語を組み合わせて複合語として 意味を表現 – expandTree • 識別子の組み合わせで意味を表現 – Socketクラスの bind(SocketAddress) • 適切な命名のためには,単語や識別子の適 切な組み合わせを知る必要がある • 単語間の関係を収録した辞書を用いて支援 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 2 動詞-目的語関係 • プログラムの動作を表わす重要な関係 • オブジェクト指向プログラムのメソッドに着目 Ex. JMenuクラスの void addMenuListener(MenuListener) MenuListener を JMenu に 追加(add)する 直接目的語 間接目的語 動詞 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 3 問題点 • プログラム中で用いられる関係は既存の自 然言語の辞書にあまり含まれていない • プログラムは多様なドメインを扱うためドメイ ン固有の関係も多く出現 • 既存の辞書では十分な命名支援を行うことが できない Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 4 提案手法 • ドメインごとに分類された動詞-目的語の関係を収録し た辞書の構築 • 入力 – オブジェクト指向プログラミング言語で記述された特定の ドメインを扱う複数のソフトウェアのソースコード集合 • 実装ではJavaで記述されたソースコードを対象とした • 出力 – 特定のドメインに出現する動詞-目的語関係を収録した辞書 動詞 直接目的語 Add Product Close Connection 間接目的語 Stock Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 5 提案手法の概要 特定のドメインに所属する ソフトウェアのソースコード 抽出パターン 事前に人手で定義 void 動詞1 名詞2 (名詞2) in 名詞3 動詞 : 動詞1 直接目的語 : 名詞2 間接目的語 : 名詞3 メソッド情報 void add Product(Product) in Stock 動詞1 名詞2 名詞2 名詞3 パターンマッチ 動詞-直接目的語-間接目的語 辞書 動詞 直接目的語 間接目的語 出現したソフトウェアの数 Add Product Stock 3 Build Data BooleanMatrex 1 Set Password User 4 Describe Alias Xml 1 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 6 メソッド情報 品詞情報のついた単語の列4組 戻り値 メソッド名 名詞一つ or void 複合語を分解し 単語の列にして 品詞解析を行う (OpenNLPを利用) 引数 名詞の列 クラス名 名詞一つ 各品詞に同じ単語を識別する番号を付与 メソッド情報の例 void void createTicketForUser 動詞1 名詞2 前置詞3 名詞4 User Server 名詞4 名詞5 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 7 抽出パターン 品詞情報のついた単語の列またはワイルドカード4組 と 動詞,直接目的語,間接目的語として抽出する単語の指定 戻り値 メソッド名 引数 void 名詞一つ ワイルドカード 品詞の列 名詞の列 ワイルドカード クラス名 名詞一つ ワイルドカード 各品詞に同じ単語を識別する番号を付与 動詞,直接目的語,間接目的語として抽出する単語の指定 抽出パターンの例 戻り値 void メソッド名 動詞1 名詞2 前置詞3 名詞4 動詞 直接目的語 動詞1 名詞2 引数 ワイルドカード クラス名 ワイルドカード 間接目的語 名詞4 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 8 パターンマッチ ワイルドカード以外で抽出パターンの品詞とメソッド情報の品詞 が一致するか,抽出パターン中で同じ番号の単語の出現位置と メソッド情報中の同じ番号の単語の出現位置が一致するか検査 一致していた場合抽出パターンの指定に従い動詞,直接目的語, 間接目的語を抽出 1. 2. メソッド情報 void void Create Ticket For User 動詞1 名詞2 前置詞3 名詞4 User 名詞4 Server 動詞 直接目的語 間接目的語 create Ticket User 名詞5 抽出パターン 戻り値 void メソッド名 動詞1 名詞2 前置詞3 名詞4 動詞 直接目的語 動詞1 名詞2 引数 クラス名 ワイルドカード ワイルドカード 間接目的語 名詞4 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 評価実験 • 実験目的 – 提案手法により作成した辞書に含まれる動詞-目的語関係の評価 • 特定のドメインを対象とした命名支援のための辞書に含まれるのに 適当かどうか • 実験対象 – 抽出パターンを31個定義 – 4つのドメインの辞書を作成 • 2つ以上のソフトウェアに出現した三つ組を収録 ドメイン 入力したソフトウェア数 収録した三つ組の数 GUI 7 407 Database 9 672 Web Application 10 282 XML 11 547 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 10 実験方法 • 辞書に収録された三つ組に対するアンケート調査 – 各三つ組が命名支援のための辞書に収録するのに 適当かどうかを評価 – 各辞書から90個の組をランダムに抽出 • 被験者は井上研究室の学生6人 – 全員Javaを用いた開発経験あり – 被験者が開発経験のあるドメインを対象とした辞書 に対して回答 – 1人あたり2つの辞書に対して回答 – 1つの辞書につき3人の被験者に30組づつ評価して もらう Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 11 実験結果 • 対象ドメインの辞書に収録するのに適当と判 断された三つ組 – GUI :全体の64% – Database :全体の71% – XML :全体の52% – Web Application : 全体の56% Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 12 被験者に適当と判断された例 ドメイン 動詞 直接目的語 間接目的語 GUI Click Mouse MouseEvent Database Add Constraint Table Web Application Destroy Session HttpSessionEvent XML Declare Prefix NamespaceSupport Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 13 被験者に収録すべきでないと判断された例 ドメイン Database 動詞 Release 直接目的語 Mouse 間接目的語 MouseEvent • 判断の理由 – 対象ドメインとは異なるドメインに所属している Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 14 考察 • 辞書作成のために入力したソフトウェアの数 が7~11と少なかった – 対象ドメイン以外に所属する関係をフィルタリング しきれなかった • 入力したソフトウェアが複数のドメインを扱っ ていた – プログラムで一般的に見られる関係や他のドメイ ンで見られる関係を取り除くことで解決 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 15 まとめと今後の課題 • まとめ – プログラム中の動詞-目的語関係を収録した辞書 の構築手法を提案 • 今後の課題 – ドメイン固有の関係を抽出する方法の開発 – 辞書を利用した命名支援環境の構築 Department of Computer Science, Graduate School of Information Science & Technology, Osaka University 16
© Copyright 2024 ExpyDoc