[SML 7302] NaturalSmalltalk and ClassCreaser

Tomohiro Oda tomohiro @ sra.co.jp
2007年 4月 23日 (月) 15:37:27 JST


おだです。

Squeak上の自然言語処理ライブラリNaturalSmalltalkの
リリースを更新しました。
http://map.squeak.org/package/624ed871-4e89-4343-8652-af38a873d0b4

今回のリリースでは、ClassCreaserというツールを追加しました。

ClassCreaserは一種のリファクタリング補助ツールで、
GUIの形で提供されます。
ClassCreaerはその名の通り、クラスを分割する「折り目」
を見つけ出すためのもので、具体的にはクラスに定義された
メソッド群を分類する試行錯誤をおこなうためのツールです。

通常のリファクタリングツールがクラスやメソッド等のプログ
ラムの構造に着目し、構造に従って分割したり構造を変化させ
るのに対し、ClassCreaserは「プログラムが扱う概念」に
着目します。まずはユーザーであるプログラマがいくつかの
メソッドを2-3グループに分類し、「分類のタネ」にします。
ClassCreaserはその分類を、各グループのメソッド中に
使われている英単語を統計的にモデリングすることで、
残りのメソッドを自動的に分類していきます。
その後、プログラマは自動分類の結果を見ながら、グループを
細分化したり統合したり、あるいはメソッドをグループに追加
したり除いたりすることで、「どういった概念を基準にクラス
を分割すればいいか」を試行錯誤します。
メソッドが分類されたらClassCreaserの仕事は終わりで、
あとはBrowserを使ってグループを親子や兄弟クラスに分割
したり、あるいはコンポジット関係に分割する、という筋書き
になります。

ぜひお試しください。

NaturalSmalltalkはインストール後の言語モデル構築に
時間がかかりますが、このClassCreaserは言語モデルは
不要なので、言語モデル構築をバックグラウンド処理するか
中断するかしても大丈夫です。
---
おだ



SML メーリングリストの案内