DEIM Forum 2013 C3-4

知識体系のエリア自動抽出のためのユニット分類手法
矢吹太朗†

増永良文††

森田武史††

石田 博之††† 千葉工業大学社会システム科学部 〒 275–0016 千葉県習志野市津田沼 2-17-1†† 青山学院大学社会情報学部 〒 252–5258 神奈川県相模原市中央区淵野辺 5-10-1
E-mail: †taro.yabuki@it-chiba.ac.jp
あらまし

新生学問分野では，知識体系（Body of Knowledge, BOK）の裏付けがないままに教育が行われることがある．その一因として，新生学問分野には分野全体に精通する有識者がいないということがある．そのような状況でも，集合知を活用すれば BOK を構築できるのではないかと期待され，研究が行われていきた．しかし，集合知による BOK 構築には，カリキュラムと BOK との関係についての理解と，集合知の活用方法に問題があることが指摘されている．そこで，カリキュラムと BOK との関係を正しく理解した上で，カリキュラムを基に BOK を構築する手法を提案する．実際に，Computing Curricula 2001 Computer Science に掲載されたカリキュラムから計算機科学の BOKを再現することで，手法の有効性を確認する．
キーワード

知識体系, クラスタリング, カリキュラム

Taro YABUKI† , Yoshifumi MASUNAGA†† , Takeshi MORITA†† , and Hiroyuki ISHIDA††† Faculty of Social Systems Science, Chiba Institute of Technology
2-17-1, Tsudanuma, Narashino-shi, Chiba 275-0016, Japan†† School of Social Informatics, Aoyama Gakuin University
5-10-1 Fuchinobe, Chuo-ku, Sagamihara-shi, Kanagawa 252-5258, Japan
E-mail: †taro.yabuki@it-chiba.ac.jp

1. 序論

BOK を構築できれば，それは有用である．カリキュラム作成時には，暫定の BOK 上での考察をカリキュラムにフィードバッ

1. 1 BOK の重要性

クすることができるし，カリキュラムが完成した後は，暫定の知識体系（Body of Knowledge, BOK）は特定の分野を構BOK で教育内容を把握できるからである．

成する概念をまとめたものである．代表的な BOK の 1 つに，

1. 2 BOK 構築の試み

Computing Curricula 2001 Computer Science（CC2001）に情報科学のような比較的伝統のある分野では，CC2001（1. 1

収録された，計算機科学の BOK，CS Body of Knowledge（CS-節）のようにカリキュラムと BOK の両方が揃っているが，新BOK）がある [1]．BOK には，大学教育における非常に重要生学問分野（例：社会情報学）では，カリキュラムはあってもな 2 つの役割がある．カリキュラムの作成と教育内容の把握でBOK はないことが多く，BOK の裏付けがないままに教育がある．

行われることがある．この原因として，CSBOK を構築した

カリキュラムの作成には教育機関の個別の事情（教員数や教IEEE Computer Society と ACM の統合委員会のメンバのよ員の専門分野）が影響するが，教育内容があらかじめ BOK にうな，分野全体に精通する有識者がいないことが挙げられる．

よって規定されていれば，個別の事情を考慮しながらも標準的

そこで，集合知による BOK 構築が試みられてきた．Wiki-な教育を行える．たとえば CC2001 では，CSBOK に対応した

BOK である [2]〜[4]．WikiBOK は，木構造で表現された BOK

カリキュラムが複数提案されている．

（BOK 木）を，その場で簡単に編集できるウェブページである

教育内容の把握は，昨今需要が高まっている「大学教育の質Wiki を使って，不特定多数の集団で構築しようという試みで保証」に必須の活動である．教育内容の把握には，個別の事情ある（注 1）．WikiBOK は有望な試みではあるが，次のような問をそのまま反映しているカリキュラムよりも，その背後にあるBOK の方が適している．
確定した BOK がない場合でも，カリキュラムを基に暫定の（注 1）：本稿の対象ではないが，プロジェクトマネジメントのための BOK である PMBOK [5] のように，木構造で表現されない BOK もある．

表 1 文献 [6] におけるカリキュラムと BOK の関係性（○は授業でユ

表 3 ユニットと授業の例（「DS2」や「CS111I」などは単なるラベル．
数値はそのユニットにかける時間で，空白は 0 を意味する．
）

ニットが扱われていることを意味する）

BOK ∼ カリキュラム
エリア 1授業 aユニット A○ユニット B

○ユニット CCS111I CS115 CS210T CS220T

授業 b 授業 c 授業 d

DS2

○
ユニット

○DS3

○
○

エリア 2

3
3

ユニット間の非類似度（非共通授業の割合）

DS2 PF1 DS3 PF2
PF1

4/4

カリキュラム

DS3

3/4

4/4

授業 a 授業 b 授業 c 授業 d

PF2

4/4

3/4

3/4

AR7

4/4

4/4

4/4

ユニット A○ユニット B○○

4/4○○

ユニット D
ユニット E

3○でユニットが扱われていることを意味する）

ユニット C93

AR7

表 2 CC2001 [1] におけるカリキュラムと BOK の関係性（○は授業エリア 19PF2

表4BOK10PF1○ユニット D
ユニット E授業

エリア 2

2. 手○○○

法表 3 のような，5 個のユニット（BOK の第 2 階層）からなる BOK を，4 つの授業でカバーするような簡単なカリキュラ題が指摘されてきた．

ムを例に，提案手法を説明する．

（ 1 ） カリキュラムとの対応が考慮されていない．

2. 1 ユニットの抽出（ 2 ） 特定のテーマの BOK 中での重要度を判断するのが難

まず，授業の構成要素を列挙し，ユニットとする．ユニット

しい．BOK 木のノードは上からエリア・ユニット・トピックにかける時間もわかるとよい（わからない場合は「1」とする）．と呼ばれるが，たとえば「統計学」を BOK に導入しようとす

この時点でユニットの順番はばらばらである．

るときに，それをどの階層に入れるべきか，「記述統計」と「推表の行をユニットの特徴ベクトルとみなし，ユニット間の非測統計」に分けるべきかといった判断は難しい．

類似度を計算する．たとえば，非共通授業の割合を非類似度と（ 3 ） 木構造を直接編集できるユーザインタフェース（UI）ですれば，ユニット間の非類似度は表 4 のようになる．

は集合知が機能しない．たとえば，ある参加者がエリア（BOK2. 2 ユニットのクラスタリングの第 1 階層）として導入したテーマを，別の参加者が簡単にトユニット間の非類似度が定まると，ユニットをクラスタリンピック（BOK の第 3 階層）に変更できる．Wikipedia では 1グできるようになる．クラスタリング手法には，階層的クラス回の編集で数百万ページ中の 1 ページしか更新できないのに対タリングと非階層的クラスタリングがある．

して，WikiBOK では個人が全体に与える影響が大きすぎる．

階層的クラスタリングは次のような手順で行われる．

第 1 の問題を解決するために，授業のシラバスを解析し，（ 1 ） ユニットやクラスタ間の非類似度を測定する．

表 1 のように，授業が扱うテーマをユニット（BOK の第 2 階（ 2 ） 非類似度が小さいもの同士をクラスタにする．

層）に，類似したテーマを持つ授業の集まりをエリア（BOK（ 3 ） クラスタに属していないユニットがあれば（1）に戻る．の第 1 階層）にする方法が提案されている [6]．しかしこの方法

非階層的クラスタリング手法の一つである k 平均法は次のよ

は，授業を分類した結果を BOK としている点に問題がある．

うな手順で行われる．

CC2001 [1] で例示されているように，両者の関係は表 2 のよ

（ 1 ） ユニットを k 個の初期クラスタに分類する．

うに表現されるべきである．そこでは，BOK のユニット全体（ 2 ） 各クラスタの中心点を計算する．

を覆うように授業科目群が作られ，カリキュラムを構成してい（ 3 ） あるユニットにとって，所属するクラスタよりも距離るが，授業を分類しても BOK にはならない．カリキュラムとの近いクラスタがあるならば，そのユニットを近いクラスタにBOK は，教育内容の別々の軸への射影なのである．

割り当て直し，（2）に戻る．

本稿で提案するように，カリキュラムを基にして「アルゴリ

表 3 のユニットに対して階層的クラスタリングを行った結ズム」で BOK を構築すれば，先述の問題点 2, 3 を回避できる．

果は，図 1 のようになる．このデンドログラムを水平に切るこ

たとえば「統計学」の重要度は分野によって異なるが，1 科目とによって，5 個のユニットを 3 あるいは 5 個のクラスタに分なのか 1 時間なのかといった，カリキュラム中での扱いで重要けることができる．クラスタを BOK のエリアと見なせば，カ度はわかるため，問題 2 は回避される．また，BOK 木の構築

リキュラムから BOK のエリアとユニットが生成できたことには参加者による編集ではなくアルゴリズムによって行われるたなる．

め，問題 3 も回避される．

以上をまとめると，本提案手法の実行手順は以下のように掲載されている 2 つのカリキュラムから CSBOK（1. 1 節）を再現することを試みる．利用するカリキュラムは以下の 2 つである．
カリキュラム 1 手続き的手法を学んだ後で伝統的なトピックについて学ぶ
カリキュラム 2 オブジェクト指向を学んだ後で計算機科学を圧縮した形で学ぶ
DS2
図1DS3

PF1

PF2AR7

表 3 のユニットに対して階層的クラスタリングを行った結果

本稿では，CC2001 において基本的だと見なされている 63個のユニット（コアユニット）のみを用いる．それに対応する

CSBOK のエリアは 13 個であるため，以下の実験ではクラスなる．
（ 1 ） 授業の構成要素をユニットとして抽出する．
（ 2 ） 授業とユニットの関係を行列で表す．
（ 3 ） ユニット同士の非類似度を計算する（非類似度が小さいことは，同じような授業で教えられていることを意味する）．
（ 4 ） ユニットをクラスタリングする．
（ 5 ） クラスタをエリアと見なし，名前を付ける．

2. 3 提案手法の利点
提案手法には 2 つの利点がある．
第 1 に，BOK の階層（エリア・トピック・ユニット）の使い分けに悩む必要がなくなる．エリアはユニットのクラスタであり，ユニットは授業の構成要素であり，トピックはユニットの構成要素である．1 つのカリキュラムを基に BOK を構築する
ため，ユニットの粒度はそのカリキュラムに合ったものになる．
第 2 に，BOK 全体を見る必要がなくなる．構築しようとす
る BOK の全体像はわからなくても，自分が担当している授業のことはわかっているはずであり，それを適切なユニットに分割することは比較的容易だと思われる．
例として，「プロジェクトマネジメント」を BOK の構成要素とすることを考える．第 1 著者の所属するプロジェクトマネジ
メント学科のカリキュラムから BOK を構築しようとすれば，プロジェクトマネジメントは BOK 木のルートになるだろう．
しかし，多くの教育機関では，プロジェクトマネジメントは半期（90 分の授業を 15 回分）だけで教えられるため，1 つのエリア程度の重要度になるだろう（ユニットに分解されて複数のエリアに配分されるということもあり得る）．このように，プロジェクトマネジメントの相対的な重要度は，教えられる環境によって大きく異なる．そのため，重要度についての基準なしに BOK を構築しようとすると，プロジェクトマネジメントをエリア・トピック・ユニットのどのレベルに配置するかを議論しなければならなくなる．しかし，プロジェクトマネジメントを専門とする参加者が少ない場合には，BOK の中でそれがどの程度の重要度になるかを判断するのは難しい．これに対して
本提案手法では，ユニットとして採用すべきものがカリキュラ
ムからある程度決まってしまうため，任意の項目がどのレベルになるのかを，参加者が議論する余地はない．

タ数を 13 に固定する．BOK のエリア数が多すぎるのも少なすぎるのも好ましくないが，このように固定できるのは，この実験のように正解がわかっている場合のみである．

3. 1 クラスタリングにおける選択肢
クラスタリングには，以下に挙げるような選択肢がある（注 2）．
第 1 に，クラスタリングには大きく分けて次の 2 つの方法がある．

•階層的クラスタリング•

非階層的クラスタリング（本稿では k 平均法）

第 2 に，2 つのベクトル（本稿ではユニットの特徴ベクトル）u, v の非類似度の指標には次のようなものがある．
•ユークリッド距離：|u − v|

•平方ユークリッド距離：|u − v|2•マンハッタン距離：•

チェビシェフ距離：max(|ui − vi |)•キャンベラ距離：•余弦距離：1 − u · v/(|u||v|)•

相関距離：1 −∑∑|ui − vi ||ui − vi |/(|ui | + |vi |)∑(ui − ū)(vi − v̄)/√∑∑(ui − ū)2 (vi − v̄)2∑∑•

ブレイ・カーティス距離：•

単純なマッチ：(n10 + n01 )/Length[u]|ui − vi |/|ui + vi |•Jaccard 係数：(n10 + n01 )/(n11 + n10 + n01 )•Russell-Rao 係数：(n10 + n01 + n00 )/Length[u]•Sokal-Sneath 係数：2(n10 + n01 )/(n11 + 2(n10 + n01 ))•Rogers-Tanimoto 係数：2(n10 + n01 )/(n11 + 2(n10 +n01 ) + n00 )•Dice 係数：(n10 + n01 )/(2n11 + n10 + n01 )•Yule 係数：2n10 n01 /(n11 n00 + n10 n01 )ここで，ui は u の第 i 成分，Length[u] は u の成分の数，ū =∑ui /Length[u] である．単純なマッチ以降は，0 以外の値をすべて 1 と見なす場合，つまり授業で扱われているかどうかのみに着目する場合に用いる指標で，nij は，それぞれ i と jに等しい u と v での対応する成分のペアの数である．
第 3 に，階層的クラスタリングを行う際には，クラスタの連結方法に次のような選択肢がある．

•最短距離法•

群平均法

3. 検 証 実 験
提案手法の有効性を検証するために，CC2001（1. 1 節）に（注 2）：ここで挙げた選択肢は，本研究のために利用したソフトウェア（Math-ematica Ver. 8）に組み込まれているものすべてである．

•最長距離法•

重み付き群平均法•

クラスタの重心からの距離•

クラスタのメジアンからの距離•散法（3. 1 節）を用いる．

5. 考察

5. 1 カリキュラム 1

Ward の最小分散法

実験結果から，カリキュラム 1 を用いれば，CSBOK の 80%程

3. 2 正解との比較指標度は再現できることがわかる．コアユニットのみでの話ではあクラスタリング結果と正解との比較指標としては，次のようるが，授業の構成要素から，BOK のエリアをある程度生成でなものを考える．

きることが期待される．アルゴリズムのサポートなしに，人手再現率 クラスタ内の要素の全ペアで，正解の中にあるペアのでこれだけ再現するのは難しいだろう．

うち，再現されたものの割合
精度

クラスタ内の要素の全ペアで，見いだされたペアのうち，5. 2 カリキュラム 2
カリキュラム 2 を用いるよりも，カリキュラム 1 を用いた方

正解の中にあるものの割合

が，CSBOK をよく再現できる（F 値が大きくなる）理由は 2

F 値 再現率と精度の調和平均

つ考えられる．

4. 結

果3. 1 節で述べたクラスタリング手法と非類似度の指標，クラスタの連結方法の，すべての可能な組み合わせで実験した結果を示す．

第 1 に，カリキュラム 1 は伝統的なカリキュラムであるのに対して，カリキュラム 2 は新しいカリキュラムである．もし，BOK 自体が伝統的な思想で作られていたとすれば，カリキュ
ラム 1 のほうがそれによく対応している可能性がある．
第 2 に，カリキュラム 1 はカリキュラム 2 よりも授業数が4. 1 カリキュラム 1多い．データが多いほうがクラスタリングがうまくいく可能性カリキュラム 1（3 章）を用いてユニットをクラスタリングがある（次節で述べるように，多くてもうまくいかない場合もした結果の中で，得られた F 値（3. 2 節）の最大値は約 0.82 である）．

あった．この結果は以下の条件で得られた（ちなみに，授業に5. 3 カリキュラム 1 と 2

おいて，ユニットにかける時間がわからない状況を想定し，特カリキュラム 1 とカリキュラム 2 を合わせた場合の結果

徴ベクトルの成分をブール値にして実験した場合の F 値の最大（F = 0.76）は，データが多いにもかかわらず，カリキュラム 1値は約 0.65 であった）．

だけを用いた場合（F = 0.82）よりも悪くなっている．このこ•行列の列を規格化する（定数をかけて 2 乗和を 1 にする）．

•

非類似度はブレイ・カーティス距離（3. 1 節）で計算する．との危険性を示唆しているが，カリキュラム 2 の結果のような•連結法は Ward の最小分散法（3. 1 節）を用いる．

小さい F 値（F = 0.53）につながるカリキュラムを混ぜたのがこのときのデンドログラムを図 2 に示す．

CSBOK におけるユニットの関係と提案手法によるユニットのクラスタリング結果を比較すると図 3 のようになる．

4. 2 カリキュラム 2とは，BOK を作成する際に，複数のカリキュラムを混ぜるこ原因かもしれない．

6. 課

題

CC2001 の授業例の記述は，以下のような項目からなっていカリキュラム 2（3 章）を用いてユニットをクラスタリングしる [1]．

た結果の中で，得られた F 値の最大値は約 0.53 であった（カ•概要

リキュラム 1 の場合より小さい）．この結果は以下の条件で得•履修に必要な条件

られた（ちなみに，特徴ベクトルの成分をブール値にして実験•

シラバス（ふだん大学教員が書いているもの）した場合の F 値の最大値は約 0.44 であった）．

•

カバーされるユニット（CC2001 ではシラバスと類似し•行列の列をそのまま用いる（規格化は行わない）．ているが，別のものである．クラスタリングのためにはこの記•

非類似度はブレイ・カーティス距離（3. 1 節）で計算する．

述が必要だが，ふだん大学教員がこれを意識することはない．
）•

連結法は群平均法（3. 1 節）を用いる．

文献 [1] のカリキュラム 1 やカリキュラム 2 では，ユニット4. 3 カリキュラム 1 と 2は授業間で共有されている．しかし，カリキュラムから単純にカリキュラム 1 とカリキュラム 2 をあわせて 1 つのカリキュ

授業の構成要素を取り出すと，授業ごとに独立なユニット群がラムと見なし，そのカリキュラムを用いてユニットをクラスタできるだけになり，クラスタリングが無意味になる危険がある．

リングした結果の中で，得られた F 値の最大値は約 0.76 であっこの危険を回避するためには，授業間で共通のユニットが存在た（カリキュラム 1 の場合より小さい）．この結果は以下の条するように，ユニットを整理しなければならない．

件で得られた（ちなみに，特徴ベクトルの成分をブール値にして実験した場合の F 値の最大値は約 0.64 であった）．

ユニットの整理する方法にはさまざまなものが考えられるが，その一例を以下に挙げる．

行列の列を規格化する（定数をかけて 2 乗和を 1 にする）．

•

授業の構成要素をユニットとして登録する．

•

非類似度は平方ユークリッド距離（3. 1 節）で計算する．

•1 つの授業で独自のユニットは 3 個までとする．

•連結法は群平均法や重み付き群平均法，Ward の最小分•

他に必要なユニットは，既存のユニットを再利用して補•AR4 AR6 AR3 AR7 AR5 AR2 AR1 IS1 IS2 IS3 IM2 IM1 IM3 NC3 NC4 NC1 NC2 DS4 DS1 DS6 DS3 DS2 SP1 SP2 SP4 SP5 SP3 SP7 SP6 OS5 OS3 AL4 OS4 OS1 OS2 AL2 AL5 DS5 PL3 AL1 PF1 PF3 AL3 PF2 PF4 PL6 PL5 PL1 PL4 PL2 SE4 SE7 SE5 SE8 SE6 SE1 SE3 SE2 HC1 PF5 GV1 HC2 GV2

図 2 カリキュラム 1 を用いてユニットをクラスタリングした結果（F = 0.82）．塗りつぶした部分がクラスタである．

PL5PL5DS4PL1DS4PL1PL4DS3DS3PL2PL3DS6DS5

PL3GV1DS2PL6HC1HC1PF4PF5GV2PF2PF1PF2PF1PF3PF3AL1AL3AL1AL3AL2AL2AL5AL5AL4AL4OS5OS4OS1OS5OS4OS3OS2SE7SP5AR5SP3SE7AR3
IS3SP4SE3SP2SP6AR4OS1OS3OS2SE4SE5AR2IS2SP5SE1AR5SP3AR3IS3SE4AR6SP4SE5SE3SE2SP2SP6AR4AR2IM3SE6SP7AR7SP1IM2SE2IM1(a) CSBOKIS1AR1NC4NC3NC2NC1SE8IM3SP7SE6IM2IM1関係

IS2AR6IS1SE8DS2PL6HC2PF4SE1DS6DS5PF5GV2DS1PL2GV1HC2PL4DS1AR7SP1AR1NC4NC3NC2NC1(b)図 3 CSBOK におけるユニットの関係と提案手法によるユニットのクラスタリング結果

結果

わなければならない（既存のユニットの名前を変えてもよい）．
これらの条件は，他の参加者の作業がある程度進まないと自分の作業も進められないという問題にもつながるが，多くの教員の参加を促し，集合知の力を増大させる効果もあるだろう．
このように，BOK 構築に参加するためには，自分の専門領域（授業）についての情報を提供することのほかに，他の授業と共有できるユニットを見出すという作業が必要だと思われる．

7. 結論

木構造で表現できる BOK（BOK 木）を複数人で構築する試みである WikiBOK をサポートするために，授業の構成要素をユニット（BOK の第 2 階層）として抽出し，それをクラスタリングしてできるクラスタをエリア（BOK の第 1 階層）とする方法を提案した．CC2001 のカリキュラムから CSBOK を再現する実験を行い，提案手法が BOK 構築に有効であることが確認できた．この手法を用いて実際に BOK を生成するためには，授業間で共有可能なユニットを見出す必要があるが，その方法も提案した．新生学問分野のような，BOK なしに教育が行われている分野の BOK 構築に，本手法が実際に有効であることを確認するのが今後の課題である．
文

献[1] The Joint Task Force on Computing Curricula IEEE Computer Society and Association for Computing Machinery.
Computing curricula 2001 computer science, 2001.
[2] 増永良文, 石田博之, 伊藤一成, 伊藤守, 清水康司, 荘司慶行, 高橋徹, 千葉正喜, 長田博泰, 福田亘孝, 正村俊之, 森田武史, 矢吹太朗. 知識体系（BOK）創成支援システム WikiBOK の研究・開発. 第 3 回ソーシャルコンピューティングシンポジウム講演
論文, pp. 67–72. 日本データベース学会, 2012.
[3] 矢吹太朗, 瀬高拓也, 佐久田博司. 知の創成のための Wiki カテ
ゴリ編集支援システム. 第 2 回ソーシャルコンピューティング
シンポジウム講演論文集 (SoC2011), p. 25. 日本データベース学会, 2011.
[4] 増永良文, 石田博之, 伊藤一成, 伊藤守, 清水康司, 荘司慶行, 高橋徹, 千葉正喜, 長田博泰, 福田亘孝, 正村俊之, 森田武史, 矢吹太朗.
Wikibok を用いた社会情報学の知識体系構築実験. 第 5 回デー
タ工学と情報マネジメントに関するフォーラム（DEIM2013）.
電子情報通信学会データ工学研究専門委員会, 日本データベース学会, 情報処理学会データベースシステム研究会, 2013. （発表予定）.
[5] Project Management Institute. A Guide to the ProjectManagement Body of Knowledge (PMBOK Guides).
Project Management Institute, 4th edition, 2008.
[6] 川端智久, 白井靖人. 授業内容に基づく知識体系の構築. 第 24
回セマンティックウェブとオントロジー研究会. 人工知能学会,
2011. SIG-SWO-A1101-12.