狩谷典之 - 筑波大学 社会工学関連組織

筑波大学大学院博士課程
システム情報工学研究科修士論文
潜在意味解析を用いた情報ウェブサイトの
連鎖によるモデル化と評価
狩谷 典之
社会システム工学専攻
指導教官 高木 英明 教授
年 月
概要
コンピュータとインターネットの発展と普及により,我々は容易にして膨大な量の情報にアク
セスし,必要な情報を得ることが可能となった.しかしながら,求めている情報がそこにあ
るはずとわかっていても,その情報へのアクセスルートが,予想していたものと違っていた
り,情報が整理されずに混在しているために,目的の情報を見つけだすことができない,も
しくは見つけだすことができたとしても必要以上に時間を要してしまうことも多いという問
題が生じている.情報の整理の仕方や置き方といったデザインが適切に行われていないこと
に原因がある場合が多い.そこで本研究では実際に存在する情報データベースウェブサイト
を例にとり,ウェブユーザビリティ評価法の一つである,ウェブ認知ウォークスルーを利用
連鎖でモデル化し,目的の情報にたどりつくまでに要するクリック数
するとともに,
を調べることによって,ウェブサイトのユーザビリティを評価する.また簡単なリンク構造
の変更によって,既存のウェブサイトの持つユーザビリティの問題が改善され,ユーザが求
める情報を探し易くなることも示す.
目次
第
章 はじめに
第 章 認知理論
ウェブ認知ウォークスルー(
)
ウェブ探索過程の認知モデル(
)
潜在意味解析(
)による意味的類似度の評価
潜在意味解析(
)
特異値分解(
)
の例
第 章 ユーザビリティ評価
の適用と分析対象ウェブサイト
ウェブサイト概要
によるユーザビリティ問題の定義と評価(
! " )
第 章 連鎖
連鎖によるモデル化
サイトのモデル化
連鎖による定式化
平均クリック数
リンクの張替えによる効果
#
#
#
第 章 結論
解析・評価
第 章 おわりに
まとめと今後の課題
$
%
参考文献
謝辞
付録 付録 図目次
次元での各語のベクトル.
&
次元での各文脈のベクトル.
&
' の 連鎖によるモデル化の例(上:順推移方向,下:逆推移方
%
向).
' のマルコフ連鎖の例(推移確率例).
(
既存の見出しとリンクのものと追加した見出しとリンクのものとのクリック数
の比較.
既存の見出しとリンク張替えの各モデルによるクリック数の比較.
リンクを張替える前に計算不可だったアーティクルのリンク張替え後の効果. 各モデルの改善率の度合の比較.
表目次
' の各カテゴリとそれに属するトピック数とアーティクル数.
' における ! " の結果(左:一覧,右:各問題別).
リンク張替え前に「計算不可」だった各アーティクルの張替え後の効果.
ガーデンパスアーティクルの各モデルによるクリック数と改善率.
$
第 章
はじめに
昨今のコンピュータとインターネットの発展と普及により,我々は必要な情報が欲しいと
き,時間と場所を選ばずに,容易に膨大な量の情報にアクセスし,目的の情報を探すことがで
きる手段を得ることが可能となった.しかし,それらの情報は日々増えていく一方であり,ま
たそれらの情報は整理されて,蓄積されているわけではない.実際,インターネットによって
情報収集を行おうとしているユーザは,サーチエンジンを利用したり,関連するウェブサイト
からリンクをたどるなどして目的の情報を探し出すのが一般的である.しかしながら,ユーザ
がそのサイトに目的の情報があるとわかっていながら,探し出すことができない場合が
を越しているという調査結果
や,またサイトサーチエンジンを利用してサーチを行った
になり,利用しないで行った場合の成功率が
になったとい
場合の情報探索成功率が
もある.
う調査結果
このことは目的の情報までのアクセスルートや情報のありかが,ユーザの予想していたも
のと違うなどの,ウェブサイトの構造やインターフェースのデザインがうまくいってないと
いった,ユーザビリティに問題があることが原因だと考えられる.このような問題により,利
用するユーザは欲する情報を取得できなかったり,探すことができたとしても多大な探索時
間を要してしまう可能性がでてくる.このことは情報を提供することを目的としているウェ
ブサイト側にとっても,深刻な問題であるといえる.そのような問題が起きないようにする
ためには,ユーザが間違えることなく,少ない手間で目的の情報を獲得できるようにウェブ
サイトをデザインすることが重要である.目的としている情報にたどりつくためには,ウェ
.したがって,ウェブ
ブサイトのホームページからリンクをたどっていくのが有効である
サイトのユーザビリティを向上させるためには,ユーザが目的としている情報にたどりつく
確率を高めることがきわめて重要となる.しかし,ウェブサイトを構築するときに,ユーザビ
リティを考えながらデザインしていくことは容易なことではない.また,ユーザビリティを
良くするために,多大な時間をかけてデザインするのも効率的ではない.そこで本論文では,
連鎖と
実際に存在する情報ウェブサイトを例にとり,ウェブ認知ウォークスルーや
いった手法を用いて,理論的にかつ簡便的にウェブサイトのユーザビリティを評価できるこ
とを示す.また,簡単なウェブデザインの変更で,ユーザビリティが改善されることも示す.
本論文は次のように構成されている.まず,第 章では,ユーザが項目を選択する認知過
程のモデルについて述べる.次に,第 章では,第 章で説明した認知モデルを利用し,実
際のウェブサイトに対するユーザビリティ問題の発見について述べる.第 章で,項目選択
連鎖による定式化と,実際のウェブサイトの評価を行うモデルを示し,第 章
過程の
でそれらの結果について考察する.第 章にまとめと今後の課題を示す.
*+
&)
&)
*+
)
*+
$
第章
認知理論
ウェブ認知ウォークスルー()
本章では,ウェブサイトユーザビリティの評価法のひとつである「ウェブ認知ウォークス
)」と、その基礎となるいくつかのモデ
ルー(
を参照して
ルを紹介するとともに、それらについての簡単な説明を行う.詳しい内容は
いただきたい.
ブラウザによる階層化されたリンク構造をもつウェブサイトの探索の主
ユーザの,
な方法は,ウェブサイト上のハイパーリンクを順次選択していくという操作である.このよ
うな階層化されたメニュー構造は,オフィス用アプリケーション(ワープロ,表計算,作図)
(現金自動預け払い機),各種家電機器用リモコンや携帯電話など,日常で利用され
や
ているものに幅広く適応されている代表的なインタフェースデザインである.そしてユーザ
がこのような機器を利用するときには,操作の系列を覚え,記憶から呼び出して実行してい
くのではなく,表示される内容を見て,理解し,その時点で適切な項目を選択することによっ
て実行されることが多く,実際,メニューベースの機器の操作の場合,繰り返し行われるタ
.このよう
スクであってもユーザはメニューの項目を覚えていないという実験結果がある
.
な場合,ユーザは項目選択には「ラベル追従ストラテジ」を用いることが知られている
ここで,選択の主な基準は,タスクの表現と項目との意味的適合度である.したがって,項
目選択を行うためのインタフェースのデザインが,タスクの内容と適合していない場合には,
タスクをうまく遂行できないことが予測される.
実際このことは,メニューベースアプリケーションやウェブのユーザビリティに関する研
)で新しく図を作
究のなかで確認されている.たとえば,表計算アプリケーション(
成する場合に,
「ファイル」プルダウンメニューから「新規」を選択することが必要であるが,
「図を作成する」というタスクゴールと選択すべき項目「ファイル」が適合していないために,
タスク遂行は非常に難しかった .また,いくつかのウェブサイトを対象として,被験者に
それぞれのサイトで提供されている情報を探索させたところ,探し当てたい項目と選択すべ
から
と非常に低かった
.
きリンクが適合していなかったために,その成功率は
,, - , *(+
.
*+
*+
'/&
*+
)
)
*+
ウェブ探索過程の認知モデル()
は,ユーザがウェブサイトを探索する過程を,認知モデルに基づいてシミュレートする
ことによってユーザビリティを評価し,問題発見を行う.ここで認知モデルに基づくシミュレー
,0
1 1 1 - , *%+ *(+ *#+
22
1 1 - ,0 1 1 *#+
22
ションは,理解に基づく意図的探索過程の認知モデルである
モデル(
)
に基づいて行われる.
モデル
モ
は,ユーザがインタフェースを探りながら機器操作を行う過程の認知モデルである
)
デル(
を拡張したモデルである.
モデルでは,インタフェース上のすべてのオブジェクトか
モデルでは,
らタスクゴールに適合した操作対象,ならびに操作を選択する.一方,
操作対象の選択に先立って,インタフェースディスプレイの中から注意を向けるべき領域を
選択し,その領域の中から,操作対象を選択する.
モデルは,テキスト形式で与えられる課題を,デバイスの上で実行するユーザの認
知過程のモデルで,ワープロなどのオフィス用アプリケーションをユーザが使う過程をモデ
ル化している.そのため,どの領域で次の操作を行うかということを決定する,領域選択の
プロセスをモデルに含める必要がなかった.すなわち,典型的な操作手順として,たとえばメ
ニューからの項目選択から始めて,ダイアログボックスとのインタラクションを行い,確認
またはキャンセルで終わる,というものが確立している.したがって,各段階でどこに注目
すべきかは明白であり,ユーザは注目すべき領域を選択する必要がない.一方,ウェブペー
ジとのインタラクションの場合には,ページが表示されるたびにどこに注目すべきかを決定
しなければならない.
これらのモデルの核となっている心的プロセスは,領域の選択,操作対象の選択,操作の
選択という つの選択のプロセスである.それぞれの選択は 段階で行われる.まず,イン
ターフェースディスプレイに表示されている情報を操作の目的に照らして理解する.次に,そ
の理解に基づいて目的との適合性を評価し,目的に最も近いものを選択する.前者は理解過
)とよばれる問題解決過程である.
程,後者は手段 目標分析(
および
モデルでは,理解過程を人間がどのように文章を理解するかということに関す
理論
によってモデル化している.
る認知理論,
モデルでは,ウェブページ上のオブジェクトであるテキストやグラフィックスを
理解し,評価するプロセスが重要である.ここでは,ウェブページ上のオブジェクトの心的
表象を作り出し,関連する既有知識を用いて精緻化し,目的との適合性を評価する.そして
モ
最も目的とゴールとの適合性の高いオブジェクトが操作対象として選択される.
デルは,上述の つの選択プロセスを,注意段階,操作選択段階の 段階に分けて,ユーザ
のウェブナビゲーション行動をモデル化している.まず,注意段階では,ユーザはウェブペー
ジを部分領域に分割し,その各々に対して適当な記述を与える.それには,例えば,見出し
やページレイアウトを表現する言葉が利用される.次に,ユーザは,現在の目的との適合度
が最も大きい部分領域を選択する(領域選択プロセス).操作選択段階では,ユーザは選択さ
れた部分領域内のすべてのウィジェットの心的な記述を生成し,現在の目的との適合度が最も
大きい操作対象を選択する(操作対象選択プロセス).そして,そのウィジェット(ハイパー
リンクなど)に対する操作(通常はクリック)を選択する(操作選択プロセス).
22
0
01 !
22
02
*$+
潜在意味解析(
)による意味的類似度の評価
モデルでは,初めて遭遇したウェブページに表示されているウィジェットを選択
するとき,各々に対して与えられる記述と目的との意味レベルでの適合度と文字レベルでの
適合度を総合的に評価し,最も適合度の高いものを選択する.これは,モデルの基礎となって
理論
に基づいている.ここで,総合評価は,インタフェー
いる
ス上のオブジェクトや活性化された知識をノードとするネットワークに活性を伝播させるこ
では,この手続きを簡略化して,意味的類似度のみを用いて
とによって行われる .
適合度の評価を行う.
)
として知
意味的類似度の定量化には潜在意味解析(
は語とそれが現れる文脈(ドキュメント)の関係を統計的に
られている手法を用いる.
次元の意味空
評価する手法であり,各語および各文脈はそれぞれに対して定義される約
の原理と簡単な例については
を参照していただ
間内のベクトルとして表現される.
きたい.複数の語で形成される合成語の意味は,個々の語のベクトルを合成することによっ
て表現される. つの合成語間の意味的類似度は,対応する つのベクトルのなす角の余弦と
して定義される.たとえば, と の意味的
である.これは,これらの言葉が同時に現れる文脈が多い,つまり類似した言
類似度は
葉であることを反映している.一方,
という と同時に
現れる文脈がないと思われる言葉については,類似度は となっている.このように,
を用いることにより意味的類似度を客観的に定量化できる.なお, に
は米国学生のいくつかの学年の語彙レベルに基づいて構成した意味空間をもとに,インタラ
クティブに,語や合成語間の類似度を得ることができるウェブページが提供されている.
を利用することにより,ユーザの目的の記述をより現実的に行うことができる.従来,
ユーザインタフェースの中から,目的を達成するために必要なオブジェクトを選択する過程
のモデル化の研究では,たとえば「心臓病に関する情報を探す」のような簡潔かつ特定の意
味を持つ目的記述が用いられていた.しかし,ユーザがウェブなどで探索を行うときに,必
を用いること
ずしもこのように明確に記述された目的を心に抱いているわけではない.
により,探索したい直接的な目標ばかりでなく,一般的な関心や動機,また背景を目的の記
述に含めることができる.
02
*$+
*(+ ! *&+
&&
& $
&
潜在意味解析()
*&+
ここでは
の原理と,簡単な例を用いた
の説明を行う.なおこれらの説明は,
からの引用であり,詳しい内容についてはこれを参照していただきたい.
特異値分解( )
は各語と各文脈の統計的頻度を行列で表し、それを特異値分解( )することによって作成される.ここでは についての簡単な説明を行う.
は,数々の数値行列の計算アルゴリズムの重要な一部になっており,分解の基本は,
任意の長方形行列()を異なる つの行列(3 3 )によって以下のように表すことで
ある.
4 56
)の列正規直交行列( 4 3
ここで を( × )の行列とすると, は( × )になる. は単位行列で は の転置行列である. は( × )の対角
とすると,
行列であり,その各成分は特異値と呼ばれるものになる. を満たす. は( × )の列正規直交行列となる.
によって つの行
このようにもとの各語が各文脈に現れる頻度を行列にしたものを,
列に分解し,行列 の特異値の大きい最初のいくつかを選び次元を下げることによって,各語
と各文脈の関係を意味のあるものにする.またその次元での各語や各文脈のベクトルを,それ
ぞれ と から得ることによって,各語や各文脈との意味的類似度を求めることができる.
4
4
&
の例
5
6
ここでは簡単な例を用いた
の説明と,その効果について述べる.ここでの説明に用い
る例では,以下に示す つの文脈を用いる.
#
, - 7 - - ., 1 - 8 - 1 ., - 13 !3 11 ., - , 2 1, - 1 90:01
;2
これらの文脈の最初の つ( ∼ )は,
(
)に関する
ものから,そして最後の つ( ∼ )は,数学分野のグラフ理論に関する文献などから
適当に抜粋したものである.これらの文脈と各語の統計的頻度を行列により表現するわけで
あるが,それは次のようにして構成することができる.まず各々の文脈を各列にとり,次に
少なくとも つ以上の文脈に現れる語を選び出し,それらを各行にとる.これらの語は上記
語( の例では,イタリック体で書かれてある
)である.つまりこの例で表される行列は
行 列の形になり,次のよな行列()になる.各成分は,行で示す語が,各列に表す各
文脈に現れる頻度である.
#
4
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
&
& &
& &
& &
& &
& &
& &
& &
& &
& &
& & &
& &
& &
& &
& &
& &
& &
& &
& &
& &
このようにして得られた行列に対し,
で示したように
を行う.もとの次元(こ
によって分解された各行列( )は,以下のようになる.
こでは 次元)での,
#
$
4
& & &
& & &
& $
& %
& %
& &
& & &
& &
& &
4
& & &%
& &
& &$
& %
& & & & %
& #
& $
& 4
& &
& &$
& & #
& &
& &(
& (
& &
& &$
& #
& & $
& & $
& & & & (
& & & & & & & & &$ & & & ( & & & &% & & & & # & & & & & &$ & #
& &
& & &%
& &%
& #
& &
& &
& &&
& &
$
& & ( & && & && & &
& %
& &
& &
& %
& (
& & & (
& $ & & % & &
& &( & % & ( & &
& &( & % & ( & &
& & % & & &
& & &( & % & &
& # & # & # & & &% & & $ & $(
& & & ( & & $(
&
& $
& %
& &
& &
& & $
& & &
& & $
& & & &
& (
& %
& & &
& &
& & & %
& %
& & %
& $
& &
& &(
& (
& & & & & &
& $%
& &$
& $
%
& (
& &&
& #
& &
& &
& #
& &
& & & $
& $
& &
& & #
& &
& & & & %$
& &
& $
& &
& $
& & &
& & &&
& & & & &(
& & &(
& &
& $&
& $
& &
& &%
& 次に,この特異値分解の結果をもとに,次元の圧縮を行う.ここでは例として, 次元に圧
縮することを考える. の最初の第 列,第 列を取り出した行列を ¼,同様に より最
初の 列を取り出した行列を ¼ , の最初の 行を取り出した行列を ¼ とすると,もとの頻
度行列 に対応する行列 ¼ ¼¼ ¼ は次のようになる.
¼
4
4
¼
& & &
& & &
& $
4 && %
%
& &
& & &
& &
& &
¼
¼
& & &% & & & &$ & % & & & & & $ & $ & & ( & && & & & & & &( & & & &$ & % & & & & # & & $ & & & % & # & $ & & $
& & & $
& & $
& $
& & &
& &$
& &$
& &
4
& &
& %
& & (
& (
& (
& & & & & & (
& & $
& $
&
& (
& (
& & & & & &
& %
& &
& & %&
%
& & & $
& & %
& &
& (
& (
& $
& & #
& $
& (
& (
& & %
& & &
& & &
& &
& &
& &
& &%
& &$
& &$
& &%
& & & & & & &%
& &$
& &(
& & & & & & & $#
& &
& $
& &
& &#
& & & #
& #
& &
& & %%
& #(
& %
& &#
& &
& & #
& &
& & & & & $$
& (
& $
このように
を行い適当な次元にまで下げることにより,様々な意味のある効果が表れ
る.たとえば語 の文脈 における, と ¼ の値( 行 列目の値)を見てみると,
では値が となっているが,¼ では
となっている.このことは,
は,直接 に
は現れていないが, に現れている や は, や の中で と一緒に現れ
ており, は が含むタイトルと似ている,言い換えると は間接的に に現れて
いるということになる.対照的に,
と の関係(,¼ の 行 列目の値)につい
と減少している.これは,
は
てみてみると, では値が であるが,¼ では値が
と の中で現れ,グラフ理論を区別して表す言葉としては,重要な語ではないというこ
を行う前と後での,各語の頻度行列での相関を見てみると,
とが表されている.さらに
を行う前では,例えば, と の相関は, の 行目と 行目の行ベクトルの
となることがわかる.同様にして と との相関
相関をとることにより,
となっている.そして
を行った後での, 次元での相関(¼ の各行ベクトル
は,
と高いものになり, と と
の相関)を見てみると, と の相関は
と,より低いものになっていることが確認できる.
の相関は
なお,各語や各文脈の 次元におけるベクトルは,それぞれ の各行の 列目まで, の
各列の 行目までをとることにより得られる.各語と各文脈それぞれのベクトルの位置を図
, のようになる.これらの図から,各々のベクトルのなす角より, 示すると,図
と ,, がそれぞれ意味的に類似した語となり,
と ,
が,
と ,
, がそれぞれ類似したものとなっていることがわかる.また
各文脈についても同様に, と , が, と が,そして と , , がそれぞ
れ類似したものとなっていることがわかる.
また,それぞれの語間,文脈間の意味的類似度の値は,お互いのベクトルのなす角の余弦
と をとることにより求めることができる.例えば,
の意味的
となる.そしてこの値は,もとの次元(ここでは
類似度の値 は,
次元)での と の意味的類似度の値が
と,意味的類似度が低いものになっ
ているのに対し,適当に次元を圧縮して(ここでは 次元),意味的類似度をとると非常に近
い値になり, と は同一のタイトル中には現れていないが,
や を介して,間接的に関係付けられていて,各語間が意味的に近い値となっているということ
が確認できる.
&
& (
& #
& (
& & #
# #
#
& #
& $$
5
6
4
& (
& #
4
graph
0.6
trees
minors
0.4
survey
0.2
response
time
computer
0.1 interface
0.2
0.3
human
-0.2
図
user
0.4
0.5
EPS
0.6
system
次元での各語のベクトル.
m3
0.6
m4
m2
0.4
0.2 m1
c2
c5
0.1
0.2
c1
0.3
0.4
0.5
0.6
c3
-0.2
c4
図
次元での各文脈のベクトル.
&
第章
ユーザビリティ評価
の適用と分析対象ウェブサイト
本章では,前章までで説明した
を,実際に存在する情報ウェブサイトに適用し,ユー
ザビリティ問題の発見を行う一つの方法とそれを適用した結果について述べる.本論文では分
が提供しているオンライン百科事典サイト
析対象のウェブサイトとして,
( ,以下
)を設定とした.
-
'!1
'
'
ウェブサイト概要
'
ここでは,今回分析の対象にしたウェブサイトである
の構成について説明する.な
自体は日々更新され,細かい内容が頻繁に変わることがあるが,ここでは分析
お,
年初めの情報を用いて説明する.
には,総数
個のアー
をした時点である
ティクルが掲載されているが,これらのアーティクルは 個のカテゴリとそれに属する 個
のトピックを用いて階層的に分類されている.目的のアーティクルを表示させるには最初にカ
テゴリを選択し(領域選択プロセス),次にトピックを選択する(操作対象選択プロセス).す
ると,そのトピック下に掲載されているアーティクルのタイトル一覧がアルファベット順に表
示されるので,その中から目的のアーティクルを探し出し,クリックする.なお,全アーティ
クルのうち約 割は唯一のアクセスルートをもつが,残りの約 割は複数のアクセルルートを
個あるので,
もっている.トピックを選択することで現れるアーティクルの数は
個のアーティクルが複数のアクセスルートを持つことがわかる.表
に各カテゴリ名とそれ
では,ナビゲーションに用いられ
らに属するトピックの数,アーティクル数を示す.
は評価しやすいというメリットがある.
るリンクのみが評価されるので,その点で
'
&&
'
#
#
'
#
$&$
#
によるユーザビリティ問題の定義と評価( )
'
'
本節では,
によるユーザビリティの問題の評価法を定義し,実際に
につい
に限らず,このような情報ウェブサイトについて重要な点は,ユーザが
て評価する.
できるだけ簡単に,間違えることなく求めている情報にたどりつけるかという点である.ユー
連鎖によるモデル化とそれによる評価への橋渡しを考え
ザビリティ問題は,後述の
の
による詳細なユーザビリティの
て,以下のように比較的簡略に定義する.
を参照していただきたい.
分析については
*#+
' 表
' の各カテゴリとそれに属するトピック数とアーティクル数.
カテゴリ名
3 3 & <,!
;!
- "- ",! & .,!
8 & ",,!
3 ; 3 & "
トピック数
#
$
$
%
アーティクル数
&#
(#%(
$&(%
(
#&
#&&
$$
$&
見出しの問題性:
!"#$%&'((以下,))* 目的のアーティクルと各見出
「見出
しとの意味的類似度の値がある閾値(Æ )以下になるとき,このアーティクルは,
しを選択する際の手がかりの十分性に問題がある」と判断する.
+#),- $, ' &' !"#$(以下,+)* 見出しの手が
かりの十分性についての問題はないが,意味的類似度の値が最も大きくなる見出しが,
目的のアーティクルの属する見出しでない場合,
「正しい見出しの選択に関して問題があ
る」と判断する.
リンクの問題性について:
!"#$%((以下,))* 目的のアーティクルの属する見出
し下の各リンクについて,正解であるリンクとの意味的類似度の最大値と,不正解であ
るリンクとの意味的類似度の最大値のいずれもがある閾値(Æ ¼)以下になるとき,この
アーティクルは,
「リンクを選択する際の手がかりの十分性に問題がある」と判断する.
+#),- $, ' !"#$(以下,+)* リンクの手がかり
の十分性についての問題はないが,正解であるリンクとの意味的類似度の値と,不正解
であるリンクとの意味的類似度の値の比が,ある閾値( )以下になるリンクがあると
き,
「正しいリンクの選択に関して問題がある」と判断する.
'
以上のように定義したユーザビリティの問題を,
の各アーティクルについて調べた
に記す.なお,今回の
の分析では,ユーザが求める目的のアーティクル
結果を表
については,そのアーティクルの最初のパラグラフを用いる.これは大規模な情報ウェブサ
イトにおいて,目的のアーティクルのデータをそのまま全て用いることは時間,量ともに効
のアーティクルは,最初のパラグラフで,そのアーティクルに
率的ではないことと,
では,訪問者がウェブ
関する要旨が記述されていることが多いためである.そして,
サイトに持ち込む可能性のある目的をあらかじめ設定しておかなければならないが,全ての
語であり,各アーティクルを探している
アーティクルの最初のパラグラフの平均長は約
訪問者の目的の表現の代用としては十分である.このように目的を設定することは,探して
いるアーティクルについてわずかではあるが知識をもっていて,その知識を利用して
からより詳しい情報を得ようとする訪問者をシミュレートしていることに相当する.
により目的のアーティクルと,各見出しやリンクとの意味的
そして今回の分析では,
類似度を計算するができるだけ実際のユーザの判断に近いものを求める必要がある.
では,カテゴリを選択するときには,それらに属するトピックも見ながら判断し,選択する
ことができる.そして選択したカテゴリ下に現れるトピックを選ぶことによって目的のアー
ティクルにたどりくつことができる.
(正確にはそのトピックに属するアーティクルのタイト
ル一覧が現れるが,後述するように,そのタイトル一覧に目的のアーティクルのタイトルが
見つかれば正解にたどりついたといえる.
)そこで今回の分析では,実際のユーザの判断に近
いものとして,簡便的に,見出しには,カテゴリとそれに属するトピック全てを含んだもの
による
を適用し,リンクには,トピックをそのまま用いる.また分析に必要な各言葉の
意味的類似度は,米国大学生による語彙レベルを表現する意味空間を用いる.なお前述の定
,Æ ¼
,
とした.
義で現れたパラメータは,今回は Æ
は,各アーティクルについて
の見出しとリンクのユーザビリティを評価し
表
は,ユーザビリティに問題がないアーティクルは全体の
た結果である.この表から
程度しかなく,残りは何らかの問題があると確認できる.正しい見出しやリンクを発見す
)は全体の ∼
と少ない
るための手がかりが不十分になるアーティクル(
)は全体の
程度もあり,正
が,正しい見出しの選択に問題があるアーティクル(
)は全体の
程度もあることがわか
しいリンクの選択に問題があるアーティクル(
は,見出しやリンクを選択する際の手がかりの十分性にはそれほど
る.このことは
問題がないが,正しいアクセスルート,とくに正しいリンクを探し出すことが困難なデザイ
ンになっているということを示しており,各アーティクルの正しいカテゴライズ,もしくは
見出しやリンクの再考が必要といえる.
'
'
&&
'
'
'
)
4& 4& 4&(
'
;0
3 0
& )
<;
&)
<
$)
'
表
' における ! " の結果(左:一覧,右:各問題別).
アーティクル数
問題なし
$$(
;0
のみ
<; のみ
&&(
0
のみ
< のみ
#
%($
;0
かつ <
<; かつ 0
0
かつ 0
<; かつ <
$((
$
#&(
$$
計
$$(
$
(&
%((
#
;0
のみ
0
かつ 0
;0
かつ <
アーティクル数
0
のみ
0
かつ 0
<; かつ 0
#
#&(
$
<; のみ
<; かつ 0
<; かつ <
&&(
$
$$
< のみ
;0
かつ <
<; かつ <
%($
$((
$$
#&(
$((
計
$&&
%&
&&
%
第章
連鎖
連鎖によるモデル化
'
本章では,
が階層構造になっている点を利用し,このウェブサイトを
連鎖
でモデル化する方法を示す.また,そのモデルにより,ユーザが目的のアーティクルにたどり
つくまでに要する平均クリック数を求めることによって,ウェブページのユーザビリティの解
析と評価が容易に行えることを示す.このような階層的な構造のモデル化については,階層
, コマースにおけるユーザ行動やシステムの解析を行っ
メニュー構造をモデル化したり
,実際の家電などの操作に対してモデル化をするなど ,インター
ているもの
フェースデザインを成功率や実行速度といったユーザビリティの観点から評価し,ユーザイ
ンタフェースの効率の良さや有用性を確認している研究結果もある.本論文では,簡単なモ
デル化によっても,ユーザビリティの有用な評価ができることを示し,また簡単なリンクの
張替えによって,ユーザビリティの問題が改善され,ユーザが目的の情報を探しやすくなる
ことを示す.
*+*+ *+*%+
サイトのモデル化
'
'
*&+ 0
*+
ここでは,
のウェブサイトを
連鎖でモデル化する方法を述べる.前述のよ
は,カテゴリ(大まかに言うと,見出し),トピック(リンク),アーティク
うに,
ルの 層構造になっており,ユーザが目的のアーティクルにたどりつくためには,以下のよ
うな選択を順に行うと仮定することができる.
見出しの選択:まずホームページ( 状態)から,# つのカテゴリの中から適当と
思われるカテゴリ(見出し)を探して選択する.
リンクの選択:つぎに,そのカテゴリ下のトピック一覧が現れるので,「見出しの選択」
同様,そこから適当と思われるトピック(リンク)を見つけて選択する.あるいは,ト
ピック(リンク)の選択時に,目的のアーティクルへのルートとして適当なものが存在
しないと思えば,
「見出しの選択」に戻り,カテゴリ(見出し)の選択から始める.
アーティクルの選択:トピック(リンク)を選択すると,そのトピックに属するアーティ
クルのタイトル一覧が得られるので,目的のアーティクルのタイトルがあるか探す.目
的のアーティクルのタイトルがあれば,そのタイトルを選択することにより目的のアー
ティクルを発見したことになる.目的のアーティクルが見つからなければ,
「リンクの選
択」状態に戻る.
'
の単純な階層構造を考えると,現実のユーザの行動
上述のユーザの選択行動は,
に近い選択行動になっていると考えられる.しかし実際のユーザの行動には,途中で探索を
あきらめてしまったり,途中で考え込むといった行動も含まれる.このような現実的なユー
ザの行動も考慮してユーザ行動の分析を行うために,様々なモデルを構築し,評価を試みて
が,今回のモデル化の目的は,ユーザビリティの問題を簡単に発見する
いるものもある
ことにあり,忠実にユーザ行動をシミュレートすることではない.実際の行動において何ら
かの問題が生じる場合,ユーザは様々な問題解決手段を講じるので,そのことをシミュレー
トするのは難しい.しかし,問題のない場合には,上述のような行動パターンに近い行動を
とるものと考えられる.
に,
の階層構造を
連鎖によってモデル化した例を示す.図
は,
図
のモデルである.図
上図が,各状
アーティクル を目的として探すときの
態から目的のアーティクルに向かう順方向の推移についてモデル化したものである.直線上
による類似度の値である.見出し
の数値は,このアーティクルと各見出しやリンクとの
への推移の類似度については,前述で説明した通り,カテゴリとそれに属する全トピックの
集まりにより計算される.つまり, をカテゴリ を表す見出し, を という
アーティクルと, という見出しまたはリンクとの類似度とすると,アーティクル と見出し との類似度は次のようになる.
*&+
'
'
=
& &( 4
4
5
5
>
5
5
6
6=6
" !
6 56
# '
なお前述の通り,類似度を求める際のアーティクルについては,
での最初のパラグラ
での最初のパラグラフは フを用いる.アーティクル の
'
! となっている.
下図が,各状態から, つ前の状態に戻る逆方向の推移についてモデル化したもの
図
への直線上の数値は,見出しから
へ戻る類似度を便宜上
である.各見出しから
全ての見出しの集まり 対応する見出し
として定義し,
で計算させた値である.
例えば の例では,$ をアーティクル における,見出し (カテゴリ
)から
へ戻る推移の類似度とすると,見出し から
へ戻る
推移の類似度は次のようになる.
65
55
& $$( 4
4
5
5
=6
5
5
66
$ %
5
6=6
$
>
=
6= 5
%
!
6=
START
0.083573
0.150126
Art,
Language,
& Literature
0.029577
Architecture
0.039716
Artists
.
.
.
Geography
.
.
.
0.447124
Sports,
Hobbies, &
Pets
0.49262
-0.035693
Pets
0.425942
Sports
0.390453
START
0.17282
0.162521
Art,
Language,
& Literature
Games, Hobbies, &
Recreation
Sports Figures
(1)
Architecture
(1)
Artists
.
.
.
Geography
.
.
.
0.136618
Sports,
Hobbies, &
Pets
(1)
Games, Hobbies, &
Recreation
(1)
Pets
Sports
(1)
図
correct
(1)
<
Sports Figures
' の 連鎖によるモデル化の例(上:順推移方向,下:逆推移方向).
%
4
4
5
5
5
5
6=5
>
>
%
%
6= 5
%
6=6
!
% 6 56
6= !
また,各リンクから見出しへの線上にある括弧内の数値は,
「リンクの選択」後の状態から
連鎖での「確率」であ
「見出しの選択」後(再び「リンクの選択」)へ戻る推移の,
る.ユーザは「リンクの選択」後,目的のアーティクルが見つからなければ,再度「リンク
の選択」
(正しいリンクを探している状態)に必ず戻るため,確率 でその状態に戻る推移を
する.もし,選択したリンクが,目的のアーティクルへの正しいルートであれば,ユーザは
目的を達成したことになるので,
「リンクの選択」に戻ることがなく,その選択されたリンク
連鎖の吸収状態になる.図
右図のリンク がその状態である.
が
このように類似度をもとにして,各推移にウェイトを付与することによって,ある状態か
ら,各状態への推移確率を設定することができる.ただし,正しくない見出し下でリンクを
選択する時には,各リンクの類似度が全てある閾値(ここでは Æ ¼ とした)以下になるときに
は,リンクについて手がかりが不十分になり,それらのリンクが選択されることはないとし
に確率 で戻る.また,類似度の値が負になるも
て,
「リンクの選択」をすることなく,
のについては,正しいルートとは連想が結びつかないものと判断できるので,ユーザはそれ
らのルートは選択しないと考え,推移確率を とする.類似度の値を推移確率に変換した結
に示す.これは図
で示した類似度をもとに,見出し を選
果を図
択した状態からの推移確率を表したものである.線上の値が推移確率の値であり,その値の
下にある括弧の中の値が類似度の値である.このように各状態について推移確率を求めるこ
の階層構造を
連鎖によりモデル化する
とにより,各アーティクルについて,
ことができる.
&
'
START
0.0945
(0.136618)
Sports,
Hobbies, &
Pets
0.34077
(0.49262)
0
(-0.035693)
Pets
0.29464
(0.425942)
Sports
0.27009
(0.390453)
図
Games, Hobbies, &
Recreation
Sports Figures
' のマルコフ連鎖の例(推移確率例).
(
! 連鎖による定式化
'
前節のようにモデル化することにより,
のような階層構造をもつウェブサイトに
連鎖で表すことができる.つまり,各ページを
おけるユーザのリンク選択行動は,
つの状態,クリックを時刻パラメタして考えると,ウェブページのリンク推移過程は,ある
つのページに着目すると,そのページへたどりつくためには,直前にいるページが分かって
いれば十分であることを考えれば,離散的状態空間と離散的時刻パラメタをもつ有限
連鎖とみなすことができる.すなわち, を 回目のクリックで現れるページの状態とする
と,以下の式が成り立つ.
4 4
& 4
4
4 4 4 4 & 56
ここでいうクリックとは、ウェブページのリンクをたどるのに必要な選択決定クリックであり,
その他の操作を目的とした,選択決定に関係ないクリックは考慮にいれない.この
連鎖は、目的のアーティクルのタイトルが現れる,正しい「リンクの選択」後のページが唯
状態であるホームページ
一の吸収状態となる.このようにモデル化することによって,
から出発して,目的のアーティクル(のタイトル)発見という吸収状態に吸収されるまでの,
ユーザの行動を解析することができる.
平均クリック数
非再帰的状態 から始まる
連鎖がどこかの再帰的同値類に吸収されるまでの平均ス
テップ数,つまり平均吸収ステップ数を ' とすると,これは,非再帰的状態の集合を と
すれば,連立方程式
'
4 = 56
'
¾Ì
56
を満たす.式
を意味的に解釈すると,状態 から他の状態に移るのに ステップかかり
右辺第 項 ,その推移した状態 $ から吸収状態にステップするのに平均 ' ステップかか
るのを,状態 から推移可能なすべての非再帰的状態 $ について足し合わせている 右辺第2
項 ということである.
状態から目的のアーティクル発見という
これを用いて,ユーザがホームページである
吸収状態に到達するまでに要する平均クリック数を求めることができる.
5
6
5
6
リンクの張替えによる効果
'
ここでは前述までの
の
連鎖のモデル化における解析と評価において,簡
単なリンクの張替えによって,ユーザビリティに問題があるアーティクルが改善されるよう
をモデル
なモデルを考える.これらのモデルを解析し,リンク張替えなしの既存の
化したものと比較することによって,ユーザが目的のアーティクルに到達するまでに要する
'
#
平均クリック数がどれくらい減少し,ユーザの負担が軽減されるかを容易に評価することが
でのユーザビリティ問題の結果から,
は
や
に問題がある
できる.
と
に問題のあるものが多い.つまり,
「正しい見
アーティクルはあまりないが,
出しやリンクの選択に関して問題がある」ものが多く,ユーザは正しくない見出しやリンク
を選択してしまう可能性が多いということである.そこで,その問題をできるだけ解決させ
全体のユーザビリティを改善させるために重要なことであるといえる.そ
ることが,
こでまず,ユーザが正しい見出しの選択までを行えたとき,正しいリンクの選択をしやすい
ようにリンクを張替えることにより,ユーザビリティの改善を試みる.このリンク張替えに
全体のユーザビリティで最も問題が見られる
が改善されることが見
よって,
込める.
<; <
' ;0
0
'
'
<
リンク張替え (モデル )*
,
ともに該当しない場合,全ての正しい見出し下の正しくないリンクで,目的の
アーティクルとの類似度の値が最大となるものを正しいリンクとして追加する.
;0
0
次に,ユーザは目的のアーティクルを探す際,まずは見出しを選択し,その後,その見出
し下に現れるリンクを選択するという操作を行うと考えられる.そこで,目的のアーティク
ルとの類似度の値が最大となる見出しと,その見出し中の,同様に類似度の値が最大となる
リンクを正しいものとして追加することにより,ユーザビリティの改善を試みる.この張替
がなくなり,また
と
の改善が期待される.
えによって
<;
0
<
リンク張替え (モデル )*
に該当しないときで,目的のアーティクルとの類似度の値が最大となる見出しと,そ
の中の,同じように類似度の値が最大となるリンクを,正しいものとして追加する.ただし,
追加する見出しとリンクについては,その見出し下の全てのリンクの類似度の値が,閾値 Æ ¼
以下にならないことが必要である.
;0
' 全体のユーザビリ
さらに,これら 通りのリンク張替えを同時に行うことにより,
ティの大幅な改善を試みる.
リンク張替え (モデル )*
リンク張替え と を同時に実行する.条件によりいずれか一方の張替えしかできないとき
は,張替え可能なものだけ行う.
これらのリンク張替えによってユーザビリティの問題が改善され,ユーザが目的のアーティ
連
クルに到達しやすくなることが期待される.そこで,これらのモデルについても
連鎖による
鎖で解析し,評価を行うことでリンク張替えの効果を確認するとともに,
解析と評価が,容易なものであり,また有用なものでもあるということを確認する.
&
第
章
結論
解析・評価
'
以上のことを踏まえ,
を
連鎖でモデル化し,ユーザが目的のアーティクル
は,
に到達するまでに要する平均クリック数を解析し,改善の効果を評価する.図
のウェブサイトを前章で説明した方法によりモデル化し,ホームページ(
状態)から
目的のアーティクルを発見するまでに要する平均クリック数を各アーティクルについて求め
たものである.図中,実線は,既存のウェブサイトの見出しとリンクを用いた場合で,点線
を用いてそれぞれの語に類似した語を追加したもの
は,カテゴリとトピックについて
を用いてカテゴリとトピックについて,それらの語に類似
を用いた場合に対応する.
#
した語を探し出して追加したものは,例えば,カテゴリである "
#
は,もとの語も含めて,"
# #
となり,ト
ピックである "
は,"
'
>
>
8000
normal Heading & Link
7000
added Heading & Link
articles
6000
5000
4000
3000
2000
1000
0
0
図
2
3
4
5
10
15
20
30 40
clicks
50
100 200 300 400 500
~
既存の見出しとリンクのものと追加した見出しとリンクのものとのクリック数の比較.
10000
normal model
model 1
model 2
model 3
9000
8000
articles
7000
6000
5000
4000
3000
2000
1000
0
0
図
2
3
4
5
10
15
20
30 40
clicks
50
100 200 300 400 500
~
既存の見出しとリンク張替えの各モデルによるクリック数の比較.
となる.なお
においては,同一の語が複数あることによる影響はない.このように
により類似した
語を探し出し追加することは,ユーザが見出しやリンクに使用されている言葉を認識した時,
意味的に近い言葉を想起するというプロセスをシミュレートする狙いがあり,この図からは,
既存の見出しとリンクによる解析と大幅な違いがないことがわかる.横軸に平均クリック数,
縦軸にアーティクル数をとってある.以降の図も,特にことわりがなければ軸のとり方は同
じである.なお前章までに説明した,目的のアーティクルに到達することができない可能性
があるものは,
「計算不可」なアーティクルとし,クリック数を便宜上 としている.これら
クリック以内に到達
のグラフから,半数以上のアーティクルは,目的のアーティクルに
しているのがわかる.しかし,最短での到達クリック数が クリックであることと,実際の
ウェブサイトでの操作を考えると,数クリック∼数十クリックが適切と考えられる.このよ
連鎖によるモデルが,リンクの選択に問題
うにクリック数が多くなってしまうのは,
がある場合のユーザ行動を,忠実にモデル化できていないためであると考えられる.しかし
に問題があることを表しているので,ユーザビリティ発見の妨げになるもの
それは,
ではない.
は,
連鎖による,既存の見出しとリンクのものと,前章で説明した各リンク
図
張替えのモデルとの,目的のアーティクルに到達するまでに要する平均クリック数の比較で
ある.いずれの張替えによっても,数十∼数百クリックを要していたアーティクルの数が減
クリックまでで目的のアーティクルに到達できるアーティクルが多くなっている.
少し,
このことは,特にリンク張替え と で大きな改善が見られる.リンク張替えによってクリッ
'
3&
&
&&
表
リンク張替え前に「計算不可」だった各アーティクルの張替え後の効果.
計算可 計算不可 計算不必要
リンク張替え #&
%%
リンク張替え $(
&
リンク張替え %&
&#
&
ク数が となるものが増えているが,これは,前章での説明の通り,リンクを張替えるため
の条件があるためで,リンクを張替えられないもの(「計算不必要」なもの)が出てくるため
のユーザビリティの結果から,
個のアーティクルがリンク張替え
である.また
の,そして
個のアーティクルがリンク張替え の,
個のアーティクルがリンク
張替え の計算対象候補である.ちなみに,リンク張替え前のもので,既存の見出しとリン
個のアーティクルが正解まで到達しない可能性のあるものとなっており,
クのものでは,
それらのアーティクルが,リンク張替え後に「計算可」となっているのか,もしくは正解ま
でに到達しない可能性がなくならず「計算不可」のままとなっているのか,ユーザビリティ
の通り
の結果からリンクを張替えられなく「計算不必要」の状態になっているのかは,表
である.特にリンク張替え もしくは の効果によって,計算が可能になっているものが増
に,リンクを張替える前に「計算不可」だったアーティ
えていることがわかる.また,図
クルが,リンク張替え後に計算可になったものについて,それらがどれくらいのクリック数
で正解までに到達できるかの結果を示しておく.
これらの図より,リンク張替えによって,目的のアーティクルに到達するまでに要する平均
ク リッ
クリック数が全体的に,大幅に改善されていることがわかる.どの張替えでも,
ク以上かかるアーティクルが減少することが確認され,リンク張替え ,リンク張替え にい
クリック以上かかるアーティクルがほぼなくなっている.さらにどの張替えに
たっては,
おいても, クリック以下で目的のアーティクルに到達できるものが増えており,張替え
と にいたっては クリック以下で目的のアーティクルに到達できるものが大幅に増えてい
ることがわかる.また,リンクを張替えることによって,目的のアーティクルに到達しない
可能性があったものが,到達できるように改善されたアーティクルが多いことも確認される.
どの張替えでも数十クリックまでで到達するアーティクルが増えているのがわかるが,リン
ク張替え では特に,数クリックで目的に達するアーティクルが大幅に増え,リンク張替え
では特に,数百クリックかかるアーティクルが大幅に減らすことができ,ほとんどのアー
ティクルを数十クリックまでで目的に到達するような効果があることがわかる.リンク張替
え は,張替え と を同時に行う(条件によってはいずれか一方のみ)ので,両方の特徴
を示す効果が現れていることがわかる.
に,各モデルでの,各アーティクルのリンク張替え前後のステップ数の改善度
また,図
を求めた結果を示す.ここで改善度は次のように定義する.
#&
&(&
&(&
&&
&
&&
リンクを張替える必要のないものについては,改善度は求めない.リンク張替え では
個のアーティクルがこれにあてはまり,リンク張替え では
個が,リンク張
%(%
$&(
400
model 1
model 2
model 3
350
articles
300
250
200
150
100
50
0
2
図
4
5
10
15
20
30
40
clicks
50
100 200 300 400 500
~
リンクを張替える前に計算不可だったアーティクルのリンク張替え後の効果.
替え では
3
$&%& 個のアーティクルがこれにあてはまる.
リンク張替え前が「計算不可」で,リンク張替え後が「計算可」となるならば,その
改善されたとする.リンク張替え では
個のアーティクルが
アーティクルは
個が,リンク張替え では
個のアー
これにあてはまり,リンク張替え では
ティクルがこれにあてはまる.
&&)
$(
%&
リンク張替え前が「計算不可」で,リンク張替え後でも「計算不可」のままであるなら
とする.リンク張替え では
個のアーティク
ば,そのアーティクルの改善度は
個が,リンク張替え では
個の
ルがこれにあてはまり,リンク張替え では
アーティクルがこれにあてはまる.
&)
#&
上記以外の場合,改善率を
(張替え前のクリック数 張替え後のクリック数)( 張替え前のクリック数)
として定義する.リンク張替え では
個のアーティクルがこれにあてはまり,リ
個が,リンク張替え では
個のアーティクルがこれにあ
ンク張替え では
てはまる.
%%
)
&&
(#
この図より,リンク張替え は数十 程度の改善があるものは多いが,高い改善度の効果
があるものは少ないことがわかる.そしてリンク張替え は全体的に幅広く改善の効果が見
以上の改善があるものが多い.また,改善が全く見
られるが,リンク張替え に比べて
られないアーティクルが見られるが,これらは,もともとこのアーティクルが,意味的類似
度が最も高い見出しとリンクだったことを意味する.逆にいえば,理想的な見出しとリンク
%&)
12000
model1
model2
articles
10000
model3
8000
6000
4000
2000
0
0
10
20
図
30
40
50
%
60
70
80
90
100
各モデルの改善率の度合の比較.
に属するアーティクルが全体的にそれほど多くないということが言える.リンク張替え は,
低い改善度の範囲では,リンク張替え と 両方の間を取り,高い改善度の範囲では,両方
の結果を合わせた効果が見られ,全体的に高い改善度になっていることが確認できる.
は,ガーデンパスにあてはまるアーティクルについての,リンク張替え前と後
そして表
の平均クリック数と改善率を示した表である.なお前述で説明した「計算不可」なアーティ
クルについてはクリック数を ,リンク張替えをしない「計算不必要」なアーティクルについ
ては「 」と表記してある.ここでいうガーデンパスにあてはまるアーティクルとは,正し
とし
くない見出しの類似度と正しい見出しの類似度との値の差が,ある閾値(ここでは
た)よりも大きくなるアーティクルのことである.つまり,見出し選択について,ユーザが
間違った見出しを選択してしまう可能性が大幅にでてきてしまうアーティクルのことである.
この表から,ガーデンパスにあてはまるアーティクルは 個あり,その半数近くが,正解ま
でたどりつけないといった理由により「計算不可」となっており,また「計算可」であって
も正解にたどりつくまでに要する平均クリック数が数百∼数万クリックとなっている.これ
「計算不可」だったアーティクルはリ
らのアーティクルについて,リンク張替え をすると,
ンクを張替えても「計算不可」のままだったり,ユーザビリティ評価の結果から「計算不必
要」なアーティクルも多々見られるが,クリック数が計算されているアーティクルをみると,
かなりの改善の効果が見られる.リンク張替え と にいたっては,全てのアーティクルが
以上の改善率で,正解にたどりつくまでに要する平均クリック数もほぼ全て クリック
以内であり,また クリック以下のものが多く,かなりの改善の効果が確認できる.
&
&
(
#)
&
表
ガーデンパスアーティクルの各モデルによるクリック数と改善率.
5 6
5 6
5 6
リンク張替え前
$(##$%
$($
$(
%&&(#$$
#((%
%&&$$
&
&
&
$%&
$#
%$$#&%$
&
&
&
&
&
(($&
&
&
&
&
&
&
&$$(
&
&
&
$(#$
&
&&
&
&
$%($($
#(
(%$&(
((##(%(#
&
&
$&%(
&
&
&
%$(%%&$
$($&$
$#
%%(%
$#$$$
#&(%%(#
$(%%&%
&
%(
&
###$
&
&
%$$$&(
#(%&
リンク張替え
##%$$$$
$##$#$
%$$&(
&(%#
##&(
%(&&(#
0
0
0
%(&(%#&
0
0
&
0
&
0
&
0
&
&
0
0
0
&
%%$&&#
&
&
&
$%$&
&
&&$&(
#($(
&
0
##
$%&$#
###(
&
&
#(%((
%$&$&
&
$$%$#
0
0
$$#
#&$%#$
(&&
&##
&(##
&
(##%
&&&&%
$%##%
#%#$%$
0
#&%
&%%
改善率 %
%&&&&%(
%$%
%%%%(#
%(%
%%#&#$#
$#&##
0
0
0
%((&
0
0
&
0
&
0
&
0
&
&
0
0
0
&
(#&#
&
&
&
%%%#%
&
#$%%#
&&
0
%(&#$($
#(&&((##
##$
&
&
%%&#$(%
&&
0
&&
0
0
$#$%&%&(
&%#
(&#$%
$$&&($
%%&&
&
#$($%(
&&
&&((
&&
0
$%#$
(&#(#%
リンク張替え
#(%&#&
&&%#(
%#%(%#
$$(
&%$(%(
$$$$
&%&
(%&&$
&%&
$&%###
#&##
(%$
&#($(&
#%&#
$%($(
%##&((
#(&$#(
##(##
((&
#%&(%
##&
&%%&$%
&(
&&&#%$
(%(
&%#%$
###%(#
$%%#(%#$
#%$#
&((
&((#$(%
##$$$
$(%#
(&%$
%#$(#(
((%(%
$#%$&
#(#&$((
(($%%#
&#&%(
(
(%$(&$
&(%
&((%(
##(
#(&&
%%$
($$$%$
&#&$
&(&(%%(
#%($
#$#&
%$
$$%%%
%(
%&($%
($(
(##
$
改善率 %
####$%$
#(&$&
##$(
##(##%#
##($%%
#%&((
&&
&&
&&
#(%%%%
&&
&&
&&
&&
&&
&&
&&
##((&&%$%
&&
&&
&&
&&
&&
&&
#(%#%
&&
&&
&&
#(%#
&&
##%$$%#
&&
&&
###&$(
##(##($
####%%#&
####(%#$%
&&
&&
##$&((
&&
&&
&&
###%$%((
##%#(&%$%
#((($($
#(&##$%$$
#((&&%
##%(%
###(&&
&&
###$#
&&
#%(##%
&&
&&
#($
##%
リンク張替え
#%&&((
#%#($%
%#
##(&(
&$#%
$$($%
&%&
(%&&$
&%&
((%
#&##
(%$
&#($(&
#%&#
$%($(
%##&((
#(&$#(
##(##
((&
#%&(%
##&
&%%&$%
&(
&&&#%$
%(&#
&%#%$
###%(#
$%($
$#%&#
&((
&(&$%
&%$$
$(%#
(&%$
%$&
(%%
%#(
#(#&$((
(($%%#
$&%%
&%%
(%$(&$
%$&&($
&((%(
##(
&$
%#(
%%%%(
&&&#&#%(
&%(&$
#%($
(#((
$%$%#
#(&((
&&&###
%&($%
&$&(&&
%%#(%
改善率 %
####(#
#((#%(
##$%&#
##(&%
##(%(#(
#%%&
&&
&&
&&
#(%##
###$##
##($&&&
&&
&&
&&
&&
&&
##((&&%$%
&&
&&
&&
&&
&&
&&
#(#$$
&&
&&
&&
#(&#$&%
&&
##$(
&&
&&
###&$(
##(((
####%(&$
###&$%
&&
&&
###%%#
&&
&&
&&
###%$%((
##%#(&%$%
#(#%%
#(#$(%#
#(($&$%
##$
###(&$
&&
###$$$$
&&
#%#%$%$$
&&
&&
#($#&%
###%%$
第章
おわりに
まとめと今後の課題
今回の研究によって,認知工学のウェブ認知ウォークスルー(
)を用いて,実際に
存在する大規模な情報をもつウェブサイトのユーザビリティを評価できることを示した.さ
連鎖でモデル化することによって,ユーザが目的に到達するまでに要する平均
らに,
クリック数を簡単に解析できることを示し,またユーザビリティの問題を減らすようにリン
クを張替えることにより,目的に至るまでに要するクリック数が大幅に減少するということ
連鎖によるモデルは簡易的にモデル化し評価できる
も確認できた.しかし,今回の
ことを示しただけであり,実際のユーザの行動を厳密に表したものではない.しかしながら,
実際のユーザが,目的になかなか到達できないときに途中で探索を諦めたり,同じページで
しばらくの間考えて操作を行ったりすることがあるが,こういった場合にはユーザビリティ
連鎖によるモデル化の評価では,推移過程は,見出しとリンクを何度
の問題があり,
も往来するというパターンになる.正しいリンクへの推移確率は小さいので,目的に至るま
連鎖では,ユーザビリ
でに要する平均クリック数は多くなってしまう.このように
ティに問題のある場合の,ユーザ行動の振る舞いは忠実にモデル化できないが,ユーザビリ
ティ問題を発見するという目的のためには,十分な性能をもったモデル化となっている.
また,ユーザビリティを改善させる方法には,見出しやリンクを理想のものにし,各アー
ティクルをクラスタリングすることによって,理想的なカテゴライズをすることも考えられ
る.今後はこのような分析手法に基づいたウェブサイトデザイン法を確立することにより,既
存のウェブサイトや,さらには作成途中のウェブサイトなどを理想的な見出しやリンク構造
に改善できる手段を構築していきたい.
%
参考文献
*+ ? 1 @ 1 $ % &
& & 3 "0;3 ##(
*+ ? 1 @ 1 ' ( & $ 3 "0;3 &&&
*+ ?3 @ 13 81 @3 1 1
701 - 0 3 3 3 A#3 &&&
*+ @B3 . , , - 1!0 1 3
$! )*+3 C9 D3 3 0(3 " 5##6
*+ ;1 ., !3 " 3 1 E ! ! 9, 13
"$& (
$
' !
3 (3 C3 ##A3 E
&&
*$+ F,3 $
" $3 1 ! "3
13 ##(
*%+ FG3 3 73 ; 1 "3 " < ,0 1 1 1 ! !3 $
,! .3 13 3 3 D 1 3 <5'163 13 %0%3
5&&&6
*(+ FG 1 "3 " < ,0 1 1 - -
1 1 1!0 13 ,0 3 !
/
'$
3 3 $0##3 ##
*#+ FG3 1 "3 " < ,0 1 1 - /3 '
$
!
3 3 0(#3 ##%
*&+ 13 . F 1 3 . "H ., 0
! ,! - :3 13 1 - 91 '
03 &3 0&3 ##%
(
*+ !3 . E3 3 3 <3 1 I!3 F 2- J9
- ., K - / 1 / , - 3 $!)11 $
$
!-3 13 %0
(#3 1 ! "3 #((
*+ IG3 ' 1 3 E < ., , .,! 3 ! 0
3 &&
*+ 3 E 3 3 .3 ,13 3 !13 1 3 . % " 2
) 3 F-3 @3 ### 篠原稔和(監
訳)
:
サイトユーザビリティー入門 L サイトの「使いやすさ」を考える,トッパン
(&&&).
*+ F 13 ., " 3 1 C9 ( '
$
!
3 9 ' 3 #(
*+ ,3 3 83 E3 93 1 "3 " ., 9,, ,1
H 13 3 C3 E 1 3 8 5'163
C9 D3 &0&3 E, ! 1 3 ##
*$+ ウィリアム ニューマン・マイケル < ラミング 著 北島 宗雄 監訳:インタラクティ
ブシステムデザイン 5ピアソン・エデュケーション3 ###6
*%+ 狩谷典之,北島宗雄,高木英明,張勇兵: モデルを用いた 0コマースサイトの 9
デザイン評価,電子情報通信学会論文誌 7,E(073 C&3 (&#0(3 &&0&
*(+ 北島宗雄:ウェブ認知ウォークスルーによるウェブサイトユーザビリティの評価,ファ
ジィ学会誌,3 $0$&3 &&
*#+ 北島宗雄,狩谷典之:大規模情報発信サイトのウェブ認知ウォークスルーによるユーザ
ビリティ評価,電気学会研究会資料3 システム・制御研究会 0&0(∼3 #03 &&
*&+ 北島宗雄,高木英明,山本哲生,張勇兵:潜在意味解析()を利用した 連鎖
モデルによる階層メニュー探索過程の評価,情報処理学会論文誌,3 C3 %0
%3 &&0
#
謝辞
本研究をはじめ、社会工学類時代を含め 年間色々とお世話になりました,筑波大学社会工
学系高木英明教授,ならびに共に研究室で学んできた皆様,既に卒業された諸先輩方に深く
感謝を致します.また卒業論文及び,特に本論文作成にあたり,長きに渡り親切にご指導とご
鞭撻を頂いた独立行政法人産業技術総合研究所人間福祉医工学研究部門認知的インタフェー
スグループの北島宗雄様及び認知的インタフェースグループのスタッフの皆様に厚く御礼申
し上げるとともに,心より感謝をいたします.
&
付録 データを取得済みであるカテゴリ,トピックの 階層からなるウェブサイトの,ユーザビリ
ティ評価を一連に行うことができるプログラムの詳細を以下に記す.各プログラムのソース
を実行することができる特殊な環
コードは付録 に示す.なお各プログラムの実行は,
境が必要である.プログラムは,次の手順で走らせる.
7
:
5 以降を走らせる前に /、/ を作成済のこと6
:@
:<
:
::@
$: %:
(:,
#:<1",
各プログラムを走らせるのに必要なファイルや,得られるデータ,プログラムの詳細は次
に順に述べる.
1.必要なファイル,ディレクトリを作成する
1-1.createD.pl
<実行方法>perl createD.pl
「必要なディレクトリを作成するプログラム」
必要なディレクトリを自動的に作成
なお,ディレクトリを作成する前に,作成するディレクトリと同じ名前のディレクトリがあ
れば,作成前に存在したディレクトリとその中身のファイル,ディレクトリは全て削除され
てしまうので必要なファイル等がある場合は注意すること
<作成されるディレクトリ構造>
(tasaALL)
|-----LIST
|-----GOAL
|-----BACK
|-----CATEGORY
|-----CATEGORYplus
|-----TOPIC
|-----VECTOR
|-----BACK
|-----CATEGORY
|-----CATEGORYplus
|-----TOPIC
|-----RESULTS
32
<全体のディレクトリ(太字下線),及びファイル(斜体)の構造>
(太字斜体はファイル名を変えてはいけないもの)
tasaALL
|---base.txt([1-2 参照],[2-1 参照])
|---param.txt([1-3 参照])
|-----RESULTS
|---vectorSF.txt([4-3 参照]),UvectorSF.txt ([5 参照]) ,
NUvectorSF.txt ([6 参照])
|---vectorSFn.txt([4-3 参照]),UvectorSFn.txt ([5 参照]) ,
NUvectorSFn.txt ([6 参照])
|---cosine.txt([4-4 参照]),Ucosine.txt([5 参照]) ,
NUcosine.txt([6 参照])
|---markov.txt([7 参照])
|---histU.txt([8-1 参照])
|---histS1.txt([8-2 参照]),histS2.txt([8-3 参照])
|---GardenPath.txt([9 参照])
|-----LIST
|---clist.txt([2-4 参照])
|---c(カテゴリ番号)list.txt([2-3 参照])
|---tlist.txt([2-8 参照])
|---list.txt([6 参照])
|-----GOAL
|-----BACK
|--- b(カテゴリ番号).txt ([2-7 参照])
|-----CATEGORY
|--- c(カテゴリ番号).txt ([2-3 参照])
|-----CATEGORYplus
|--- cp(カテゴリ番号).txt ([2-5 参照])
|-----TOPIC
|--- t(通しトピック番号).txt ([2-6 参照])
|-----VECTOR
|-----BACK
|--- b(カテゴリ番号).out([3 参照])
|-----CATEGORY
|--- c(カテゴリ番号).out([3 参照])
|-----CATEGORYplus
|--- cp(カテゴリ番号).out([3 参照])
|-----TOPIC
|--- t(通しトピック番号).out([3 参照])
33
1-2.ファイル base.txt を用意する(tasaALL 下に置くこと)
「分析対象とするサイトの階層構造,及び分析するコンテンツ等を表記したファイ
ルを作成する」
中身は行ごとに,順にタブ区切りで「カテゴリ,トピック,インデクス,分析するコンテン
ツ等」
分析するコンテンツ等は,分析する実際の内容(インデクスやファーストパラグラフ,全文)
にする
※上のルールに従わない行を入れないこと
ex.エンカルタの場合でのカテゴリ,トピック,分析するコンテンツ等の例
「カテゴリ」 Geography
「トピック」 Islands
「インデクス」Antigua and Barbuda
「コンテンツ等(ファーストパラグラフ)」 Antigua and Barbuda, independent island state,
West Indies, in the eastern Caribbean Sea.
<base.txt 例>
Art, Language, & Literature
National & Regional Literature African
Literature
African Literature, oral and written literature produced on the
African continent. Africa has a long literary tradition, although very little of this
literature was written down until the 20th century. In the absence of widespread
literacy, African literature was primarily oral and passed from one generation to
the next through memorization and recitation.
Art, Language, & Literature
National & Regional Literature American
Literature: Drama
American Literature: Drama, literature intended for
performance, written by Americans in the English language. American drama
begins in the American colonies in the 17th century and continues to the
present. See also Drama and Dramatic Arts.
Art, Language, & Literature
National & Regional Literature American
Literature: Poetry
American Literature: Poetry, verse in English that
originates from the territory now known as the United States. American poetry
differs from British or English poetry chiefly because America’s culturally
diverse traditions exerted pressure on the English language, altering its tones,
diction, forms, and rhythms until something identifiable as American English
emerged. American poetry is verse written in this altered form of English.
Art, Language, & Literature
National & Regional Literature American
Lit
t
:P
A
i
Lit
t
: P
fi ti
d
fi ti
f
34
1-3.ファイル param.txt を作成する(tasaALL 下に置くこと)
「分析に必要なパラメータ等を定義したファイルを作成する」
中身は行ごとに,順に「Usability Problem を求める時のカテゴリの閾値(δ),トピックの閾
値(δ´),正解トピックの最大値と不正解トピックの最大値を比較する係数(γ),ガーデンパ
スを調べる時のパラメータ」
※上のルールに従わない行を入れないこと(指定がない場合は「=」の後をブランクにする)
<param.txt 例>
delta=0.1
deltadash=0.1
gamma=0.8
GardenPath=0.5
35
2.makeF.pl
<実行方法> perl makeF.pl
「base.txt から,分析に必要なデータファイルを準備,作成するプログラム」
(IN)base.txt
2-1
base.txt をソート,ユニーク化
(OUT)base.txt
(IN)base.txt
2-2
カテゴリ名と番号の対応表作成
(OUT)LIST/clist.txt
2-3
各カテゴリ名を個別に表記したファイルの作成
(OUT)GOAL/CATEGORY/c(カテゴリ番号).txt
2-4
各カテゴリに属するトピック及び番号の対応表作成
(OUT)LIST/c(カテゴリ番号)list.txt
2-5
各カテゴリと属する全トピックを表記したファイルの作成
(OUT)GOAL/CATEGORYplus/cp(カテゴリ番号).txt
2-6
各トピック名を個別に表記したファイルの作成
(OUT)GOAL/TOPIC/t(通しトピック番号).txt
2-7
カテゴリ毎,全カテゴリ名と全トピック名から各カテゴリ
と属する全トピックを除いたものを記したファイルの作成
(OUT)GOAL/BACK/b(カテゴリ番号).txt
2-8
各通しトピック番号とカテゴリ,トピック名を対応させた
ファイルの作成
(OUT)LIST/tlist.txt
36
2-1.base.txt をソート,ユニークしファイル”base.txt”に上書き出力
コマンドは次のようになる
system("sort < base.txt | uniq > base.txt");
<base.txt 例>
Art, Language, & Literature
Architecture
Acropolis
(Greek
akros,
“highest”; polis, “city”), fortified natural stronghold or citadel in ancient Greece.
The Greeks built their towns in plains near or around a rocky hill that could
easily be fortified and defended. The word acropolis referred both to the hill and
to what was built on it. Almost every Greek city had its acropolis, which
provided a place of refuge for townspeople during times of war. Sometimes the
ruler of the town lived within the walls of this stronghold. In many cases the
acropolis became the site of temples and public buildings and thus served as the
town’s religious center and the focal point of its public life and as a place of
refuge.
Art, Language, & Literature
Architecture
House (architecture), dwelling
place, constructed as a home for one or more persons. Whether a crude hut or an
elaborate mansion, and whatever its degree of intrinsic architectural interest, a
house provides protection from weather and adversaries.
Art, Language, & Literature
Artists Bourke-White, Margaret (1904-1971),
American photographer, who broke ground for women in the fields of industrial
photography and photojournalism. Her photographs for Life magazine and other
publications include images of Indian nationalist leader Mohandas Gandhi,
military campaigns of World War II (1939-1945), and the liberation of prisoners
from the German concentration camp Buchenwald at the end of the war.
Art, Language, & Literature
Literature & Writing
Bible, also called the
Holy Bible, the sacred book or Scriptures of Judaism and of Christianity. The
Bible of Judaism and the Bible of Christianity are different, however, in some
important ways. The Jewish Bible is the Hebrew Scriptures, 39 books originally
written in Hebrew, except for a few sections in Aramaic. The Christian Bible is
in two parts, the Old Testament and the 27 books of the New Testament. The Old
Testament is structured in two slightly different forms by the two principal
divisions of Christendom. The version of the Old Testament used by Roman
Catholics is the Bible of Judaism plus 7 other books and additions to books (see
the accompanying table); some of the additional books were originally written in
Greek, as was the New Testament. The version of the Old Testament used by
Protestants is limited to the 39 books of the Jewish Bible. The other books and
additions to books are called the Apocrypha by Protestants; they are generally
referred to as deuterocanonical books by Roman Catholics.
37
2-2.カテゴリ名と番号を対応付けし,ファイル”LIST/clist.txt”に出力
中身は行ごとに,順にタブ区切りで「通し番号,カテゴリ名」
<LIST/clist.txt 例>
1
2
3
Art, Language, & Literature
Life Science
Sports, Hobbies, & Pets
38
2-3. カ テ ゴ リ ご と に , カ テ ゴ リ 名 を フ ァ イ ル ”GOAL/CATEGORY/c( カ テ ゴ リ 番
号).txt”に出力
中身はカテゴリ名
<GOAL/CATEGORY/c1.txt 例>
Art, Language, & Literature
< GOAL/CATEGORY/c2.txt 例>
Life Science
< GOAL/CATEGORY/c3.txt 例>
Sports, Hobbies, & Pets
39
2-4. カテゴリごとに,各カテゴリに属するトピックと番号を対応付けした一覧をフ
ァイル”LIST/c(カテゴリ番号)list.txt”に出力
中身は行ごとに,順にタブ区切りで「通し番号,対応するカテゴリに属するトピック名」
<LIST/c1list.txt 例>
1
Architecture
2
Artists
3
Literature & Writing
4
National
&
Regional
Literature
< LIST/c2list.txt 例>
1
2
People in Life Science
Plants
< LIST/c3list.txt 例>
1
2
3
4
Games, Hobbies, & Recreation
Pets
Sports
Sports Figures
40
2-5. カ テ ゴ リ ご と に , カ テ ゴ リ 名 及 び そ れ に 属 す る 全 ト ピ ッ ク 名 を フ ァ イ
ル”GOAL/CATEGORYplus/cp(カテゴリ番号).txt”に出力
中身は行ごとにカテゴリ名またはトピック名
<GOAL/CATEGORYplus/cp1.txt 例>
Art, Language, & Literature
Architecture
Architecture
Artists
Literature & Writing
Literature & Writing
Literature & Writing
National & Regional Literature
National & Regional Literature
National & Regional Literature
National & Regional Literature
National & Regional Literature
< GOAL/CATEGORYplus/cp3.txt 例>
Sports, Hobbies, & Pets
Games, Hobbies, & Recreation
Games, Hobbies, & Recreation
Pets
Pets
Pets
Pets
Pets
Sports
Sports
Sports
Sports
Sports Figures
Sports Figures
Sports Figures
Sports
< GOAL/CATEGORYplus/cp2.txt 例>
Life Science
People in Life Science
People in Life Science
People in Life Science
People in Life Science
People in Life Science
Plants
Plants
Plants
41
2-6. トピックごとに,各々のトピック名をファイル”GOAL/TOPIC/t(通しトピック
番号).txt”に出力
※通しトピック番号=カテゴリ番号×1000+(各カテゴリ下での)トピック番号
中身はトピック名
<GOAL/TOPIC/t1001.txt 例>
Architecture
< GOAL/TOPIC/t1003.txt 例>
Literature & Writing
< GOAL/TOPIC/t2001.txt 例>
People in Life Science
< GOAL/TOPIC/t3001.txt 例>
Games, Hobbies, & Recreation
< GOAL/TOPIC/t3003.txt 例>
Sports
< GOAL/TOPIC/t1002.txt 例>
Artists
< GOAL/TOPIC/t1004.txt 例>
National
&
Regional
< GOAL/TOPIC/t2002.txt 例>
Plants
< GOAL/TOPIC/t3002.txt 例>
Pets
< GOAL/TOPIC/t3004.txt 例>
Sports Figures
42
2-7. 各カテゴリについて,全カテゴリ全トピック名から,カテゴリ名と属する全ト
ピック名を除いたものをファイル”GOAL/BACK/b(カテゴリ番号).txt”に出力
中身は「(全カテゴリ名)+(全トピック名)-(カテゴリ名と属する全トピック名)」
<GOAL/BACK/b1.txt 例>
< GOAL/BACK/b2.txt 例>
Games, Hobbies, &
Recreation
Life Science
People
in
Life
Science
Pets
Plants
Sports
Sports Figures
Sports, Hobbies, &
Pets
Architecture
Artists
Art, Language, & Literature
Games,
Hobbies,
&
Recreation
Literature & Writing
National
&
Regional
Literature
Pets
Sports
Sports Figures
Sports, Hobbies, & Pets
43
< GOAL/BACK/b3.txt 例>
Architecture
Artists
Art, Language, & Literature
Life Science
Literature & Writing
National
&
Regional
Literature
People in Life Science
Plants
44
2-8. 各 通 し ト ピ ッ ク 番 号 と カ テ ゴ リ , ト ピ ッ ク 名 を 対 応 さ せ た も の を フ ァ イ
ル”LIST/tlist.txt”に出力
中身はは行ごとに,順にタブ区切りで「通しトピック番号,トピック名,カテゴリ名」
<LIST/tlist.txt 例>
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
3001
3002
3003
3004
3005
3006
3007
3008
3009
Art, Language, & Literature
Architecture
Art, Language, & Literature
Artists
Art, Language, & Literature
Decorative Arts
Art, Language, & Literature
Language
Art, Language, & Literature
Legends & Folklore
Art, Language, & Literature
Literature & Writing
Art, Language, & Literature
National & Regional Art
Art, Language, & Literature
National & Regional Literature
Art, Language, & Literature
Painting, Drawing, & Graphic Arts
Art, Language, & Literature
Periods & Styles
Art, Language, & Literature
Photography
Art, Language, & Literature
Sculpture
Art, Language, & Literature
Writers & Poets
Geography
Canadian Provinces & Cities
Geography
Countries
Geography
Exploration & Explorers
Geography
Islands
Geography
Maps & Mapmaking
Geography
Mountain Ranges, Peaks, & Landforms
Geography
Oceans & Seas
Geography
Parks & Monuments
Geography
Regions of the World
Geography
Rivers, Lakes, & Waterways
Geography
U.S. Cities, Towns, & Villages
Geography
U.S. States, Territories, & Regions
Geography
World Cities, Towns, & Villages
History African History
History Ancient History
History European History
History History of Asia & Australasia
History History of the Americas
History People in European History
History People in United States History
History United States History
History World History & Concepts
45
3.calcGV.pl
<実行方法> perl calcGV.pl
「ディレクトリ GOAL の中のファイルから,カテゴリ,トピック等の各ゴールの 450
次元ベクトルを計算するプログラム」
(IN) GOAL/*/**.txt
*・・・CATEGORY,CATEGORYplus,TOPIC,BACK
(OUT)VECTOR/*/**.out
**・・・c(番号),cp(番号),t(番号),b(番号)
ディレクトリ GOAL の中の各ファイルを読込み,450 次元ベクトルを計算し,ディレクトリ
VECTOR の中の対応するディレクトリに計算結果を出力する.出力されるファイルの拡張
子は「.out」となる.
例.
GOAL/CATEGORY/c1.txt を読込み,450 次元ベクトルを計算し
VECTOR/CATEGORY/c1.out に出力
この時の計算コマンドは下のようになる.
cat GOAL/CATEGORY/c1.txt | mkey -k1000000 -s -N -n0 -l1 -m1000 -M1000000 | tplus
-S- >VECTOR/CATEGORY/c1.out
<VECTOR/CATEGORY/c1.out の例>
7.266e-05
0.001054
-0.000145
2.126e-05
-0.0003809
9.138e-05
-0.0002931
7.25e-05
0.0022
-0.0005789
-0.0004085
0.0009904
-8.964e-05
0.0004178
0.0004097
-0.000299
0.002195
0.001226
7.38e-05
-0.0001342
-0.0005027
-0.0005183
8.035e-05
-0.0005158
0.0009149
-6.695e-05
-0.0005957
-0.002253
0.001361
-0.00058
0.002107
-0.0001843
-0.0007039
2.215e-05
0.0007954
-0.0003764
0.001014
-3.847e-05
0.0001402
-0.0002301
0.0008721
0.001181
-2.299e-05
-0.0006761
-0.0008612
-0.0005422
-0.0002931
0.001422
0.0007295
-0.0001204
1.848e-05
-0.0005995
-0.0001218
0.0002961
-0.0006479
-4.02e-05
0.0009665
0.0002387
-0.0005973
-4.066e-05
-0.0004053
-0.0003329
1.594e-05
0.001505
0.0003435
0.0003204
-0.0003285
-0.000649
0.0001786
0.0006559
-0.0007794
0.0003305
0.0001362
0.0004494
-0.0004894
0.0005203
46
-0.0004079 -0.0001997
-0.0001259
3.177e-05
-0.0005517 -5.623e-05
-8.758e-05 -0.0004395
0.0001432 -0.0002958
-0.001534 -0.0004834
0.0007886
0.0009391
-0.0007226
0.0009303
-0.000279
0.0003547
0.0004774
-0.000509
-0.0009276 -0.0001167
0.0004753
0.0006263
-0.0005248
0.0006691
-0.0001428
0.000852
0.0002098 -0.0003846
0.002224
-0.001718
0.0006117
7.156e-05
-0.001028 -9.818e-05
0.001353
-0.001136
4.calcAVC.pl
<実行方法> perl calcAVC.pl 引数
「分析対象のコンテンツの HTML を 1 つずつ取得し,アーティクルのファーストパ
ラグラフと全パラグラフの 450 ベクトルを計算させ,各ゴールのベクトルとから類
似度を計算し出力するプログラム」
(IN)base.txt
4-1
base.txt から分析対象のコンテンツ等を取り出し,分析対象
だけが書かれたファイルを作成する
(OUT)contents.txt(一時出力保存)
(IN)LIST/tlist.txt
4-2
LIST/tlist.txt からカテゴリ名とトピック名を比較し,分析
対象の正解トピック番号を抽出する
(IN)contents.txt
4-3
コンテンツ等分析対象の 450 次元ベクトルを計算(raw,
scaled ベクトル)
(OUT)[raw ベクトル]vectorSF.out(一時出力保存)
(OUT)
RESULTS/vectorSF.txt
(OUT) [scaled ベクトル]vectorSFn.out(一時出力保存)
(OUT)
RESULTS/vectorSFn.txt
(IN)fstP.out
4-4
(IN) VECTOR/・・・/*.out (・・・は「CATEGORY
,CATEGORYplus,BACK,TOPIC」)
コンテンツ等分析対象のベクトルと各ゴールのベクトルか
ら,分析対象のファーストパラグラフの類似度を計算する
(OUT)RESULTS/cosine.txt
47
4-1. base.txt から分析対象のコンテンツ等を取り出し,分析対象だけが書かれたファ
イルを作成する
ファイル”contents.txt”(一時出力保存)に出力
※一時出力保存とは,プログラム終了後に削除されるファイルのことを意味する
中身は分析対象のコンテンツ等のみ
<contents.txt 例>
Olympic Games (modern), international sports competition, held every four
years at a different site, in which athletes from different nations compete
against each other in a variety of sports. There are two types of Olympics,
the Summer Olympics and the Winter Olympics. Through 1992 they were
held in the same year, but beginning in 1994 they were rescheduled so that
they are held in alternate even-numbered years. For example, the Winter
Olympics were held in 1994 and the Summer Olympics in 1996. The Winter
Olympics were next held in 1998, and the Summer Olympics next occurred
in 2000.
48
4-2. LIST/tlist.txt からカテゴリ名とトピック名を比較し,分析対象の正解トピック
番号を抽出する
LIST/tlist.txt と base.txt の分析対象のカテゴリ名とトピック名が一致するものを探し,正
解トピック番号を抽出する
49
4-3. コンテンツ等分析対象の 450 次元ベクトル(raw, scaled ベクトル)を計算
raw ベクトルはファイル”vectorSF.out”(一時出力保存)及びファイル
”RESULTS/vectorSF.txt”に出力
scaled ベクトルはファイル”vectorSFn.out”(一時出力保存)及びファイル
”RESULTS/vectorSFn.txt”に出力
vectorSF.out,vectorSFn.out は分析対象の raw vector(450 次元)をそのまま出力したもので,
RESULTS/vectorSF.txt,RESULTS/vectorSFn.txt は各コンテンツの raw vector(450 次元)
を全て記したもので各アーティクルを行ごとに,順にタブ区切りで,インデクス(分析対象の
最初の 10byte),ファーストパラグラフ(分析対象の最初の 30byte),通しトピック番号(「Ct=」
というフラグ付),ベクトル
<vectorSF.out 例>
0.00148
0.0003204
0.000538
0.0003723
-0.0001251
-0.0004064
-0.002847
-0.001837
0.000454
-0.003365
-0.0008454
-0.001242
-0.001357
-0.0008692
0.001529
0.001452
0.001036
-0.0007697
-0.001858
0.0009781
-0.0007766
-0.002073
0.001747
-0.08074
0.04985
-0.0007694
0.000182
0.0001782
0.0004855
0.001293
-0.0008801
0.0006049
-0.0007662
0.0002978
0.003045
0.002373
-0.003075
<vectorSFn.out 例>
0.1789
0.01114
0.01796
0.01064
-0.003542
-0.01001
-0.06854
-0.04248
0.0103
-0.07277
-0.01815
-0.02109
0 03488
-0.04382
-0.02342
-0.02372
-0.04863
-0.03382
0.00665
0.005339
0.01414
0.03335
-0.02238
0.01419
-0.01792
0.03678
0.02303
0.03267
-0.01732
0.006532
0.05155
-0.04411
0.03682
0.06333
-0.0637
-0 01723
0 004211
0 03579
-0 06171
50
<RESULTS/vectorSF.txt 例>
Acropolis
Acropolis (Greek akros, “high
Ct=1001
0.001912
-0.001778
0.003375
-0.002195
-0.0004877
0.0001645
0.002525
-0.001632
-0.0002527
-0.0005591
-0.0005958
-0.0003188
-0.001489
-0.00112
9.249e-06
0.0004964
-0.0001881
0.00272 -0.0002252
-0.003578
0.006965
-0.004554
-0.0004822
-0.0004434
-0.003308
-0.003449
-0.00297
-0.002751
0.0009212
0.0001021
-0.004303
-0.0002517
0.00622 -0.0004758
-0.001055
-0.001113
0.0008436
-0.006169
-0.00319
0.00169
0.002905
-0.000181
-0.005375
-0.006838
0.0006048
0.00777 -0.001907
-0.001885
7.266e-06
-0.0001951
-0.002311
-0.00602
0.003872
-0.004206
0.001893
0.004925
0.001829
0.004889
0.002997
0.0008472
-9.144e-05
0.000133
0.0008572
0.0001835
0.001376
-0.003052
0.00231 0.0002011
<RESULTS/vectorSFn.txt 例>
Acropolis
Acropolis (Greek akros, “high
Ct=1001
0.2312
-0.1156 0.1624 -0.09647
-0.01781
0.005719
0.08428 -0.05271
-0.007688
-0.01675
-0.01735
-0.009114
-0.04216
-0.03055
0.0002421
0.0128 -0.004782
0.067 -0.005421
-0.08607
0.164 -0.1068 -0.01128
-0.01025
-0.07506
-0.0776 -0.06625
-0.06034
0.02001 0.002209
-0.09237
-0.005357
0.1311 -0.009896
-0.02185
-0.02294
0.01732 -0.1258 -0.06438
0.03388 0.05781
-0.003582
-0.1059 -0.1344 0.01177 0.151 -0.03684
-0.03624
0.0001383
-0.003707
-0.04366
-0.1133 0.07179 -0.0776 0.03477 0.09005 0.03329 0.08872 0.05399
0.01525 -0.001636
0.002364
0.01514 0.003223
0.02415 -0.05348
0.04023 0.003493
0.1115 -0.05949
-0.01877
-0.06519
0.04586 -0.01048
-0.06085
0.004844
0.04974 0.02852 -0.001899
0.02777 0.01767
0.04836 0.0454 -0.008901
0.005515
-0.0811 -0.03294
0.02249 0.03609 -0.00935
-0.01159
-0.03647
51
4-4. コンテンツ等分析対象のベクトルと各ゴールのベクトルから,各アーティクル
のファーストパラグラフの類似度を計算し,ファイル”RESULTS/cosine.txt”に出力
(引数が 0 のときカテゴリ+との類似度の値はカテゴリとの類似度の値と同じ,引数
が 1 のときカテゴリ+との類似度の値はカテゴリ+との類似度の値のまま)
中身は各コンテンツ等分析対象と各ゴールとの類似度を全て記したもので各分析対象を行ご
とに,順にタブ区切りで,インデクス,分析対象,通しトピック番号(「Ct=」というフラグ
付),カテゴリとの類似度(「c(番号)=」というフラグ付),カテゴリ+との類似度(「cp(番号)=」
というフラグ付,但し引数の値が 0 の時はカテゴリとの類似度の値と同じ値になっている),
バックの類似度(「b(番号)=」というフラグ付),トピックとの類似度(「t(番号)=」というフラ
グ付)
<RESULTS/cosine.txt 例>
Acropolis
Acropolis (Greek akros, “high
Ct=1001
c1=0.078347
c2=0.112214
c3=0.067235
cp1=0.090393
cp2=0.096185 cp3=0.110931 b1=0.140519
b2=0.145447
b3=0.145972
t1001=0.404778 t1002=0.147544 t1003=0.018485
t1004=0.025959 t2001=0.122581 t2002=-0.002838
t3001=0.103140 t3002=0.017208 t3003=0.077275 t3004=0.117473
Aerobics,
Aerobics, programs of physical Ct=3003
c1=0.012950
c2=0.000193
c3=0.236043
cp1=-0.015031
cp2=0.034565 cp3=0.228508 b1=0.159259
b2=0.107821
b3=0.010744
t1001=-0.018469
t1002=0.029087
t1003=-0.022298
t1004=-0.034052
t2001=0.061526
t2002=-0.018949
t3001=0.226328 t3002=-0.007637
t3003=0.238626 t3004=0.197091
African Li
African Literature, oral and w Ct=1004
c1=0.291906
c2=-0.028366
c3=-0.088366
cp1=0.352500
cp2=-0.040143 cp3=-0.066870 b1=-0.072219 b2=0.257766
b3=0.254173
t1001=0.090229 t1002=0.067046 t1003=0.314878
t1004=0.296304 t2001=-0.048261
t2002=-0.004349
t3001=-0.096618
t3002=-0.053274
t3003=-0.069239
t3004=0.000611
Amateur Sp
Amateur Sports, sports in whic Ct=3003
c1=-0.029512
c2=0.024611
c3=0.716160
cp1=0.048146
cp2=0.039662 cp3=0.735913 b1=0.474362
b2=0.360339
b3=0.033559
t1001=-0.002963
t1002=-0.008380
52
5.uniqF.pl
<実行方法> perl uniqF.pl
「4 で出力されたファイルをソート,ユニークして読込み,同じ分析対象でも複数正
解トピックがあり,それぞれ別のものとして計算出力されたものを一つのものとし
てまとめるプログラム」
(IN)RESULTS/vectorSF.txt, vectorSFn,cosine.txt
(OUT)RESULTS/UvectorSF.txt, UvectorSFn.txt, Ucosine.txt
複数正解トピックがある場合,通しトピック番号を「,」区切りで結合する
ベクトルファイル
「RESULTS/vectorSF.txt」を読込み,
「RESULTS /UvectorSF.txt」に出力
「RESULTS/vectorSFn.txt」を読込み,「RESULTS /UvectorSFn.txt」に出力
類似度ファイル
「RESULTS/cosine.txt」を読込み,
「RESULTS /Ucosine.txt」に出力
ファイル読込
5-1
ファイルをソート&ユニーク化
5-2
データを全て二次元配列に格納
5-3
インデクスとファーストパラグラフが同じなら,
通しトピック番号を「,」区切りで結合し一つのデータに統
合する(フラグ「Ct=」は番号ごとについたまま)
53
6.number.pl
<実行方法> perl number.pl 引数
「5 でユニーク化されたベクトルまたは類似度ファイルいずれか 1 つを読込み, 分
析対象のインデクス,正解トピックに通し番号付けし,その対応表を作成する
また対応表から,各ベクトル,類似度ファイルを番号付けしたファイルを作成する」
(IN)RESULTS/UvectorSF.txt, UvectorSFn.txt, Ucosine.txt
(OUT)LIST/list.txt, RESULTS/UvectorSF.txt, UvectorSFn.txt, Ucosine.txt
(IN)RESULTS/UvectorSF.txt
or UvectorSFn.txt or Ucosine.txt
6-1
分析対象に通し番号をつけてファイルに出力
(OUT)LIST/list.txt
(IN)LIST/list.txt
(IN)RESULTS/UvectorSF.txt,UvectorSFn.txt,
Ucosine.txt
6-2
LIST/list.txt で書出した通し番号を,ベクトル,類似度フ
ァイルにも適用する
(OUT)RESULTS/NUvectorSF.txt,
NUvectorSFn.txt,
NUcosine.txt
54
6-1. 分析対象を番号付けしファイル”LIST/list.txt”に出力
中身はは行ごとに,順にタブ区切りで「通し番号(フラグ「No=」付),インデクス,分析対
象(ファーストパラグラフ等),正解トピック番号(フラグ「Ct=」付)」
<RESULTS/list.txt 例>
No=1 Colosseum
Colosseum, largest and most famous ancient Roman
amphitheater. The emperor Vespasian, who ruled Rome from ad 69 to 79,
began construction of the city 冱 Colosseum and his son, the Roman
emperor Titus, dedicated it in ad 80. The Colosseum was completed by
Vespasian 冱 younger son, Domitian, who succeeded Titus as emperor in
81. The structure was originally called the Flavian Amphitheater.
Modifications and restorations necessitated by fires and earthquakes were
made to the Colosseum until the early 6th century. In succeeding centuries
the Colosseum suffered from neglect, earthquakes, and damage done by
builders. Still, slightly more than one-third of the outer arcades, comprising
a number of the arches on the north side, remain standing. The inner
skeleton, which supported the cavea (seating space), is also substantially
intact. All marble, stucco, and metal decorations, however, are gone.
Ct=1001
No=2 Ando, Tadao
Ando, Tadao (1941- ), Japanese architect, whose
work combines the forms and materials of modern Western architecture (see
Modern Architecture) with traditional Japanese aesthetic principles. Chief
among these principles is the integration of buildings with their surrounding
natural environment. To achieve this integration and bring nature into his
buildings, Ando uses courtyards, reflecting pools, and sculpted mounds of
earth. Another characteristic of his work is the use of high-quality reinforced
concrete in which steel reinforcing rods remain visible, and smooth,
unadorned surfaces catch and reflect outdoor light.
Ct=1001
No=3 Pyramids (The Americas)
Pyramids (The Americas), large
structures with four stepped sides and a flat top, built in Mexico and Central
and South America from about 1800 bc to about ad 1500. The Americas were
only one area of the world in which people built pyramids. For information
on the pyramids of Egypt, see Pyramids (Egypt). For information on the
pyramids of Mesopotamia, see Ziggurat. Ct=1001
No=4 Stern, Robert A. M.
Stern, Robert A. M. (1939- ), American
architect and design theorist, known for buildings that borrow elements of
historical styles in an often playful way to emphasize the relationship
between present and past. Stern's designs and writings have helped define
the basic principles of postmodernism in architecture. These principles state
that a building has a symbolic and communicative purpose, not merely a
55
6-2. 6-1 で番号付けした結果から,ユニーク化されたベクトル,類似度ファイルも番
号を適用する
中身はは行ごとに,順にタブ区切りで「通し番号(フラグ「No=」付),インデクス,分析対
象(ファーストパラグラフ等),正解トピック番号(フラグ「Ct=」付)」
<RESULTS/NUcosine.txt 例>
No=1
Colosseum
Ct=1001
c1=0.030145
c2=0.047638
c3=0.116873
c4=-0.021041
c5=0.041207
c6=0.117348
c7=0.087621
c8=0.069207
c9=0.110973
cp1=-0.029998
cp2=0.083536 cp3=0.102691 cp4=0.021199 cp5=0.000196
cp6=0.126769 cp7=-0.015985 cp8=0.074489 cp9=0.106707
b1=0.016850
b2=0.035651
b3=0.121152
b4=-0.001823
b5=0.016196
b6=0.126328
b7=0.022703
b8=0.036072
b9=0.120472
t1001=0.284353 t1002=0.046843 t1003=0.072247
t1004=-0.025069
t1005=0.174268 t1006=0.026660
t1007=0.048833 t1008=0.042384 t1009=-0.059739
t1010=0.077570 t1011=-0.057955
t1012=0.178353
t1013=-0.000578
t2001=0.096104 t2002=-0.012102
t2003=-0.029526
t2004=-0.008902
t2005=-0.062624
t2006=0.049080 t2007=0.016993 t2008=0.115345 t2009=-0.001265
t2010=-0.024979
t2011=0.050751 t2012=0.033922
t2013=0.025196 t3001=0.067733 t3002=0.189929 t3003=0.054820
t3004=0.040606 t3005=0.084627 t3006=0.074557 t3007=0.026781
t3008=0.014571 t3009=0.028529 t4001=0.027208 t4002=-0.019525
t4003=0.107133 t4004=-0.011004
t4005=0.039257
t4006=0.030535 t4007=-0.009747
t4008=0.190142
t4009=0.062395 t4010=0.017817 t4011=-0.009533
t4012=0.031986 t4013=0.045726 t4014=0.017768 t5001=0.001574
t5002=-0.042902
t5003=-0.018204
t5004=0.009853
t5005=0.019803 t5006=0.036044 t6001=0.074496 t6002=-0.022613
t6003=-0.008744
t6004=0.002519 t6005=0.296049
t6006=0.015050 t6007=-0.015301
t6008=0.055395
t6009=-0.046542
t6010=0.070708 t6011=0.034427
t6012=-0.000749
t6013=0.005426 t6014=-0.033924
t6015=0.011857 t6016=0.022454 t7001=0.066116 t7002=0.002628
t7003=0.017762 t7004=0.058295 t7005=-0.012378
t7006=-0.005097
t7007=0.049685 t8001=-0.014346
t8002=0.069509 t8003=0.063915 t8004=-0.027954
t8005=-0.034021
t8006=-0.001423
t8007=0.039845
t8008=0 070708 t8009=-0 011032
t8010=0 015502
56
7.markov.pl
<実行方法> perl markov.pl 引数 1 引数 2
「6 で番号付けされた類似度ファイルを読込み,各ゴールとの類似度から,Usability
Problem,各正解トピックへのマルコフ連鎖による平均吸収ステップ数,平均ステッ
プ数,リンク張替えしたときの平均吸収ステップ数,平均ステップ数を求めるプロ
グラム」
(IN)param.t
7-1
param.txt から Usability Problem 評価のためのパラメータ
δ(正解カテゴリの類似度最大値比較用),δ´(正解トピッ
クの類似度最大値比較用),γ(正解トピックと不正解トピッ
クの類似度最大値比較用)を取得
(IN)RESULTS/Ucosine.t
7-2
Usability Problem のカテゴリ Weak Scent Problem,
Goal-Specific Competing Heading Problem を求める
7-31
Usability Problem のトピック Weak Scent Problem,
Goal-Specific Competing Link Problem を求める
その際,リンク張替え 1 の準備をする(全ての正解カテゴリ
について,不正解トピックかつそのカテゴリの中で最大値
をとるトピックを正解トピックに追加する)
7-32
リンク張替え 2 の準備及び可能性を調べる(カテゴリの最大
値と,その中のトピックの最大値をとるものを正解トピッ
クに追加する)
57
7-4
Markov 連鎖計算用に,計算可能かどうかを調べる
(いずれか一つでも正解トピックまでたどりつけるか,不正
解カテゴリからトップに戻れるか)
計算不可のときはその理由を出力
7-5
Markov 連鎖が計算可能なとき
平均吸収ステップ数,各正解トピックへの平均ステップ数
(生データ),初到達確率,平均ステップ数(確率で割った値)
を計算する
7-6
リンク張替えが可能で,リンクを張替え後の Markov 連鎖
が計算可能なとき
平均吸収ステップ数,各正解トピックへの平均ステップ数
(生データ),初到達確率,平均ステップ数(確率で割った値)
を計算する
(OUT)RESULTS/markov.t
58
7-1. param.txt から Usability Problem 評価のためのパラメータδ(正解カテゴリの
類似度最大値比較用),δ´(正解トピックの類似度最大値比較用),γ(正解トピック
と不正解トピックの類似度最大値比較用)を取得
param.txt で定義したδ,δ´,γを取得する.それぞれのパラメータは
delta=0.1
deltadash=0.1
gamma=0.8
のように書かれているので,各値だけ抽出する.
59
7-2, 31. Usability Problem の カ テ ゴ リ Weak Scent Problem , Goal-Specific
Competing Heading Problem を求める
Usability Problem のトピック Weak Scent Problem,Goal-Specific Competing Link
Problem を求める
その際,リンク張替え 1 の準備をする(全ての正解カテゴリについて,不正解トピッ
クだがそのカテゴリの中で最大値をとるトピックを正解トピックに追加する)
各類似度の計算結果ファイルを読込み,各アーティクルの類似度から Usability Problem を
計算する.
カテゴリの Weak Scent Problem,Goal-Specific Competing Heading Problem,トピック
の Weak Scent Problem,Goal-Specific Competing Link Problem の結果それぞれにフラグ
「Cws=」,
「GSCH=」,
「Tws=」,
「GSCL=」をつけて出力.それぞれの Problem にあてはま
るなら 1 を出力し(ex.「Cws=1」),あてはまらないなら何も出力しない(ex.「Cws=」).
(リンク張替え後の Usability Problem はフラグの「=」の前に「P」がつく)
トピックの Usability Problem を計算するときに,正解カテゴリかつ不正解トピックの類似
度の最大値をとるトピック番号を調べ,リンク追加用の正解トピックに追加する.
60
7-32. リンク張替え 2 の準備及び可能性を調べる(カテゴリの最大値と,その中のト
ピックの最大値をとるものを正解トピックに追加する)
各類似度の計算結果ファイルを読込み,各アーティクルの類似度からカテゴリ+との類似度
が最大値のものを調べ,そのカテゴリ内のトピックとの類似度が最大値のものをリンク追加
候補にいれる.
そのカテゴリ内のいずれか 1 つのトピックとの類似度が閾値(δ´)より大きいならば,リン
ク張替え 2 は可能であり,トピックとの類似度全てが閾値以下であれば,リンク張替え 2 は
不可能となる.
61
7-4. Markov 連鎖が計算可能かどうかを調べる
計算不可のときはその理由を出力
Marvkov 連鎖が計算可能かどうかを事前に調べる.各アーティクルについて,いずれかの正
解トピックにたどりつけかつ不正解カテゴリからトップに戻れるとき,つまりいずれかの正
解カテゴリ+の類似度が正かつ正解トピックの類似度が正,となるものがあり,かつ各不正
解カテゴリのバックの類似度が正のとき,Markov 連鎖が計算可能とする.
いずれかの条件にあてはまらず計算不可となる場合は「CannotCalc」(リンク張替え時に計
算できない時は,「CannotCalcP」)と出力され,その理由も追記出力する.
いずれかの正解トピックにたどりつけない場合は「.CannotTopToCt」が出力され,不正解カ
テゴリから戻れない場合は,「.CannotBackToTop」が出力される.
(ex.どちらの理由にも当てはまるとき「CannotCalc.CannotTopToCt.CannotBackToTop」)
62
7-5. Markov 連鎖が計算可能なとき,平均吸収ステップ数,各正解トピックへの平均
ステップ数(生データ),初到達確率,平均ステップ数(確率で割った値)を計算する
Markov 連鎖が可能となった場合,いずれかの正解トピックに辿りつくまでのステップ数(平
均吸収ステップ数)と各正解トピックへ到達するまでの平均ステップ数(生データ),初到達確
率,平均ステップ数(確率で割った値)を計算する.出力はそれぞれフラグ「StepToAbs=」,
「rawStepTo(トピック番号)=」,
「ProbTo(トピック番号)=」
,
「scaledStepTo(トピック番号)=」
をつけて出力する.正解トピックへの平均ステップ数については,他の正解トピックへは到
達できるが,ある正解トピックに辿りつけない場合があるが,その場合,到達できない正解
トピックへの平均ステップ数は 0 と出力される.
(正解が 2 つ以上あり,いずれかの正解カテゴリ→トピックへ到達不能かつ,そのカテゴリか
らのバックの値が負になる(吸収確率が 1 にならない)ような特殊な場合は,吸収ステップ数
の値がおかしくなる可能性がるので,その場合は各状態への到達ステップ数を見て,代用す
ること)
63
7-6. リンクを張替えが可能で,リンク張替え後の Markov 連鎖が計算可能なとき,
平均吸収ステップ数,各正解トピックへの平均ステップ数を計算する
リンク張替えが可能で,リンクを張替えた後の Markov 連鎖が計算可能となった場合,リン
クを張替えた後の状態で,いずれかの正解トピックに辿りつくまでのステップ数(平均吸収ス
テ ッ プ数 )と 各 正解 トピ ッ クへ の平 均 ステ ップ 数 を計 算す る .出 力は そ れぞ れフ ラグ
「 StepToAbsP= 」,「 rawStepToP( ト ピ ッ ク 番 号 )= 」,「 ProbToP( ト ピ ッ ク 番 号 )= 」,
「scaledStepToP(トピック番号)=」をつけて出力する.正解トピックへの平均ステップ数に
ついては,他の正解トピックへは到達できるが,ある正解トピックに辿りつけない場合があ
るが,その場合,到達できない正解トピックへの平均ステップ数は 0 と出力される.
(正解が 2 つ以上あり,いずれかの正解カテゴリ→トピックへ到達不能かつ,そのカテゴリか
らのバックの値が負になる(吸収確率が 1 にならない)ような特殊な場合は,吸収ステップ数
の値がおかしくなる可能性がるので,その場合は各状態への到達ステップ数を見て,代用す
ること)
64
<出力結果>
順にタブ区切りで,
番号(フラグ「No=」付),インデクス,正解トピック番号(各番号フラグ「Ct=」付で「,」結
合),カテゴリ Weak Scent Problem(フラグ「Cws=」付で当てはまるなら 1,そうでなけれ
ばフラグのみ.以下同じ),Goal-Specific Competing Heading Problem(フラグ「GSCH=」
付),トピック Weak Scent Problem(フラグ「Tws=」付),Goal-Specific Competing Link
Problem(フラグ「GSCL=」付),リンク張替え後正解トピック(フラグ「CtP=」付で GSCL=1
ならば「,」結合で出力,GSCL=1 でないならばフラグのみ)
(両 Weak Scent Problem のいずれかが当てはまらるとき)
「NeednotCalc」「(ブランク)」と出力
(両 Weak Scent Problem が当てはまらないとき)
「(ブランク」」
(Markov 連鎖が計算可能のとき)
平均吸収ステップ数(フラグ「StepToAbs=」付),各正解カテゴリへの平均ステップ数(生
データ)(フラグ「rawStepTo(番号)=」付で「,」結合),各正解カテゴリへの初到達確率
(フラグ「ProbTo(番号)=」付で「,」結合),各正解カテゴリへの平均ステップ数(確率で
割った値)(フラグ「scaledStepTo(番号)=」付で「,」結合)
(Markov 連鎖が計算不可能のとき)
「CannotCalc」と計算不可の理由(「.CannotTopToCt」「.CannotBackToTop」)を
結合して出力
(リンク張替えが可能のとき)
(Markov 連鎖が計算可能のとき)
平均吸収ステップ数(フラグ「StepToAbs=」付),各正解カテゴリへの平均ステップ数(生
データ)(フラグ「rawStepToP(番号)=」付で「,」結合),各正解カテゴリへの初到達確率
(フラグ「ProbToP(番号)=」付で「,」結合),各正解カテゴリへの平均ステップ数(確率で
割った値)(フラグ「scaledStepToP(番号)=」付で「,」結合)
(Markov 連鎖が計算不可能のとき)
「CannotCalcP」と計算不可の理由(「.CannotTopToCt」「.CannotBackToTop」)を
結合して出力
(リンク張替えが不可能のとき)
「CanNotAddLink」と出力
65
<RESULTS/markov.txt 例>
N0=1
Acropolis
Ct=1001
Cws= GSCH=1
Tws=
GSCL= CtP= StepToAbs=19.3699042017029
StepTo1001=19.3699042017029
Aerobics,
Aerobics, programs of physical Ct=3003
Cws=
GSCH= Tws= GSCL=1
CtP=3001,CtP=3003
StepToAbs=6.13541061163292 StepTo3003=6.13541061163292
StepToAbsP=3.38014161179803
StepToP3001=1.64536855412584,StepToP3003=1.7347730576722
African Li
African Literature, oral and w Ct=1004
Cws=
GSCH= Tws= GSCL=1
CtP=1003,CtP=1004
StepToAbs=5.18694988930288 StepTo1004=5.18694988930288
StepToAbsP=2.51465848143434
StepToP1003=1.29553984462416,StepToP1004=1.21911863681018
Amateur Sp
Amateur Sports, sports in whic Ct=3003
Cws=
GSCH= Tws= GSCL=1
CtP=3003,CtP=3004
StepToAbs=5.82430384984324 StepTo3003=5.82430384984323
StepToAbsP=3.20670482036739
StepToP3003=1.69130493725191,StepToP3004=1.51539988311548
American L
American Literature: Drama, li Ct=1004
Cws=
GSCH= Tws= GSCL=1
CtP=1003,CtP=1004
StepToAbs=5.92280541940199 StepTo1004=5.922805419402
StepToAbsP=3.22388084985568
StepToP1003=1.48920084023224,StepToP1004=1.7346800096234
4
American L
American Literature: Poetry, v Ct=1004
Cws=
GSCH= Tws= GSCL= CtP= StepToAbs=3.91300557275542
StepTo1004=3.91300557275542
American L
American Literature: Prose fi Ct=1004
Cws=
66
8.hist.pl
<実行方法> perl hist.pl 引数
「7 で計算された結果のファイルを読込み,Usability Problem,マルコフ連鎖によ
る平均吸収ステップ数,平均ステップ数,リンク張替えしたときの平均吸収ステッ
プ数,平均ステップ数の度数分布を調べるためのログラム」
※出力ファイルをエクセルに読込ませて,グラフを手動で作成する
hist(base).pl を走らせるときに指定する引数により,何を集計計算するか変わる.
引数に 1 を指定したとき,Usability Problem を集計する.
引数に 2 を指定したとき,各ステップ数全てを集計する.
引数に 3 を指定したとき,リンク張替前後がともに計算可能なアーティクルのステップ数を
集計する.
出力されたファイルをエクセル等で(タブ区切りで)読込ませ,適宜ヒストグラム等を作るな
どして統計処理する.
**・・・10, 01, 11
(IN)RESULTS/markov**.t
8-1
Usability Problem の結果を集計する
(OUT)RESULTS/hist10U.tx
8-2
各ステップ数全てを集計する
(OUT)RESULTS/hist**S1.txt
8-3
各ステップ数全てを集計する
(OUT)RESULTS/hist**S2.txt
67
8-1. Usability Problem の結果(カテゴリ Weak Scent Problem,Goal-Specific
Competing Heading Problem,トピック Weak Scent Problem,Goal-Specific
Competing Link Problem の結果の組合せ)を集計し出力
いずれかの問題に当てはまれば「○」
,そうでなければ「×」として各組合せを表す.例えば,
「Cws=1,GSCH=,Tws=,GSCL=1」であれば「○××○」と組合せを表すこととなる.
各組合せと,その度数をタブ区切りで行ごとに出力する.
<RESULTS/hist10U.txt 例>
xxxx
xxxo
xxox
xxoo
xoxx
xoxo
xoox
xooo
oxxx
oxxo
oxox
oxoo
ooxx
ooxo
ooox
oooo
8
12
1
0
2
0
2
0
4
1
4
0
0
0
0
0
68
<出力されたファイルをエクセルで(タブ区切りで)読込ませたもの>
<他の Usability Problem の結果のファイルも同様に読込ませる>
下は 2 つのファイルを読込ませて,まとめたもの
69
8-2. Markov 連鎖による各ステップ数の計算結果(いずれかの正解トピックに到達す
るまでの平均吸収ステップ数,リンク張替後の平均吸収ステップ数,いずれかの正
解トピックどれかに到達するまでの平均ステップ数,リンク張替後の平均ステップ
数)を集計し出力
各アーティクルについて各行ごとに,いずれかの正解トピックに到達するまでの平均吸収ス
テップ数,リンク張替後の平均吸収ステップ数,いずれかの正解トピックどれかに到達する
までの平均ステップ数,リンク張替後の平均ステップ数を順にタブ区切りで出力する.
(集計の都合上,ブランク行があるなど,きちんとまとまっては出力されていない)
1 行目タイトル行としてタブ区切りで「Abs(before),Abs(after),toCt(before),toCt(after)」
を順に出力してある.
<RESULTS/hist10S1.txt 例>
Abs(before)
Abs(after)
19.3699042017029
toCt(before)
toCt(after)
19.3699042017029
6.13541061163292
3.38014161179803
1.64536855412584
1.7347730576722
6.13541061163292
5.18694988930288
2.51465848143434
1.29553984462416
1.21911863681018
5.18694988930288
5.82430384984324
3.20670482036739
1.69130493725191
1.51539988311548
5.82430384984323
5.92280541940199
3.22388084985568
1.48920084023224
1.73468000962344
5.922805419402
3.91300557275542
3.91300557275542
4.26794110702377
4.26794110702377
5.04541641637834
5.04541641637834
70
<上記ファイルをエクセル(タブ区切)で読込ませる>
71
<各列,昇順もしくは降順に並べ替える>
72
8-3. Markov 連鎖による各ステップ数の計算結果(いずれかの正解トピックに到達す
るまでの平均吸収ステップ数,リンク張替後の平均吸収ステップ数,いずれかの正
解トピックどれかに到達するまでの平均ステップ数,リンク張替後の平均ステップ
数)が全て計算されているアーティクル(つまりリンク張替前後両方でステップ数を
計算したもの)のステップ数を集計し出力
出力形式等は,8-2 と同じである.これも出力ファイルをエクセル等に読込ませてヒストグ
ラム等を作成する.
73
9.GardenPath.pl
<実行方法> perl GardenPath.pl
「6 で番号付け,ユニーク化された類似度ファイルを読込み,各ゴールとの類似度か
ら,不正解カテゴリ+の類似度と正解カテゴリ+との類似度がパラメータより大き
いアーティクルを探す,ガーデンパス求めるプログラム」
(IN)param.t
9-1
param.txt からガーデンパスを見つけるためのパラメータ
を取得
(IN)RESULTS/NUcosine.t
9-2
不正解カテゴリ+と正解カテゴリ+それぞれの最大値を調
べ,その差がパラメータより大きいアーティクルのデータ
を出力する
(OUT)RESULTS/GardenPath.tx
74
9-1. param.txt からガーデンパスを見つけるためのパラメータを取得
param.txt で定義したパラメータを取得する.パラメータは
GardenPath=0.5
のように書かれているので,各値だけ抽出する.
75
9-2. 不正解カテゴリ+と正解カテゴリ+それぞれの最大値を調べ,その差がパラメータよ
り大きいアーティクルのデータを出力する
各類似度の計算結果ファイルを読込み,各アーティクルの類似度からガーデンパスを調べる.
不正解カテゴリ+と正解カテゴリ+それぞれの類似度の最大値を求め,それぞれの差がパラ
メータより大きければ,そのアーティクルの番号(「No=」で出力されるもの)と差の値(フラ
グ「GP=」付)をタブ区切りで出力する.
76
付録 付録
で示された各プログラムのソースコードを示す.
必要なディレクトリを生成するプログラム 最終更新日
実行方法
!"
#
#
#
# #!"
必要なディレクトリの削除 $初期化% と作成 &'$('
&'$('
&'$('
&'$('
)*
)*
)*
)*
(%+
(%+
#(%+
(%+
&'$(',-. (%+
&'$(',-.
&'$(',-.
&'$(',-.
&'$(',-.
&'$(',-.
(%+
(%+
(%+
(%+
!"(%+
%%
&'$(',-.
&'$(',-.
&'$(',-.
&'$(',-.
&'$(',-.
#(%+
#(%+
#(%+
# (%+
#!"(%+
&'$(',-. (%+
%(
',/
01 から必要なファイルを生成するプログラム
最終更新日
実行方法
',/
2
01
.1
.1
$カテゴリ番号%1
$カテゴリ番号%.1
$カテゴリ番号%1
$カテゴリ番号34トピック番号%1 !"0$カテゴリ番号%1
)
01 をソートし、ユニーク化する &'$( 01 01(%+
&'$(5 01 6 7.8 01(%+
&'$(' 01(%+
)
カテゴリ名と番号を対応付けする .1 に書出
9',/:+
0 ',/:;
'&$<.7= >.%+
57$2= (01(%+
01 の読込
57$= (
.1(%+
.1 への書出
?@.$ 2
% ;
度カテゴリ名だけ .1 に書出
@5'+
<.7 A .$B%+
.7 >.7CD+
カテゴリ名の書出
%#
.7 (B7(+
E
5 2+
5 +
&'$( .1 .1(%+
&'$(5 .1 6 7.8 .1(%+
&'$(' .1(%+
57$2= (.1(%+
57$= (
.1(%+
>.A+
?@.$ 2
% ;
E
.7 44>.+
.7 (B(+
.7 +
.1 の読込
.1 への書出準備
通し番号の準備
通し番号
カテゴリ名
5 2+
5 +
&'$(' .1(%+
不要な一時書出ファイル .1 を削除
E
)
各カテゴリごとに、各々のカテゴリ名を出力する $カテゴリ番号%1 に書出
9',/:+
0 ',/:;
'&$<.7%+
57$2= (.1(%+
.1 の読込
?@.$ 2
% ;
<.7 A .$B%+
57$= (
>.7CD1(%+
(&
$カテゴリ番号%1 に書出
.7 >.7CD+
E
カテゴリ名
5 +
5 2+
E
)F
カテゴリごとに、各カテゴリに属するトピック及び番号を対応付けした一覧を出力する $カテゴリ番号%.1 ”に出力
9',/:F+
0 ',/:F;
'&$<.7= <.7= >.%+
57$2= (.1(%+
.1 の読込
?@.$ 2
% ;
@5'+
<.7 A .$B%+
57$2= (01(%+
01 の読込
57$= (
>.7CD.1(%+
$カテゴリ番号%.1 に一時書出
?@.$ 2
% ;
@5'+
<.7 A .$B%+
.*$>.7CD 8 >.7CD%;
カテゴリリストのカテゴリ名と、
0 のカテゴリ名が一致したら、
トピック名を書出
E
E
.7 >.7CD+
.7 (B7(+
(
トピック名
5 +
5 2+
&'$( >.7CD.1 >.7CD.1(%+
&'$(5 >.7CD.1 6 7.8 >.7CD.1(%+
&'$(' >.7CD.1(%+
57$2= (>.7CD.1(%+
$カテゴリ番号%.1 の読込
57$= (
>.7CD.1(%+
$カテゴリ番号%.1 に書出
>.A+
通し番号の準備
?@.$ 2
% ;
@5'+
<.7 A .$B%+
.7
.7
.7
.7
44>.+
(B(+
>.7CD+
(B7(+
通し番号
トピック名
E
5 2+
5 +
7.7,$(>.7CD.1(%+
$カテゴリ番号%.1 の消去
E
5 2+
E
)G
各カテゴリごとにカテゴリ名及びそれに属する全トピック名を出力する $カテゴリ番号%1
9',/:G+
0 ',/:G;
(
'&$<.7= <.7%+
57$2= (.1(%+
.1 の読込
?@.$ 2
%;
@5'+
<.7 A .$B%+
57$2= (01(%+
01 の読込
57$= (
>.7CD1(%+
$カテゴリ番号%1 に書出
.7 ( (+
.7 >.7CD+
.7 (B7(+
?@.$ 2
% ;
@5'+
<.7 A .$B%+
.*$>.7CD 8 >.7CD%;
カテゴリリストのカテゴリ名と、
0 のカテゴリ名が一致したら、
トピック名を書出
E
E
.7 ( (+
.7 >.7CD+
.7 (B7(+
トピック名
5 2+
5 +
&'$( >.7CD1 >.7CD1(%+
&'$(5 >.7CD1
6 7.8 >.7CD1(%+
>.7CD1 のソートユニーク化
&'$(' >.7CD1(%+
E
5 2+
E
(
)H
各トピック名を個別に表記したファイルの作成
$カテゴリ番号34トピック番号%1 9',/:H+
0 ',/:H;
'&$<.7= <.7= >.%+
57$2= (.1(%+
.1 の読込
?@.$ 2
%;
@5'+
<.7 A .$B%+
57$2= (>.7CD.1(%+
$カテゴリ番号%.1 の読込
?@.$ 2
%;
@5'+
<.7 A .$B%+
>. A +
>. A >.7CD34>.7CD+
カテゴリ番号34トピック番号
57$= (
>.1(%+
$カテゴリ番号34トピック番号%1 に書出
.7 >.7CD+
.7 (B7(+
E
E
トピック名
5 +
5 2+
5 2+
E
(
)I
各カテゴリについて、全カテゴリ名と全トピック名から、
各カテゴリ及び属する全トピックを除いたものを表記したファイルの作成 !"0$カテゴリ番号%1
9',/:I+
0 ',/:I;
'&$<.7= <.7= >.%+
57$2= (.1(%+
.1 の読込
?@.$ 2
%;
@5'+
<.7 A .$B%+
57$2= (01(%+
01 の読込
>. A +
>. A >.7CD+
カテゴリ番号
57$= (
!"0>.1(%+
!"0$カテゴリ番号%1 に書出
?@.$ 2
%;
@5'+
<.7 A .$B%+
.*$>.7CD 7 >.7CD%;
.1 と 01 の
カテゴリ名が一致しないならば
.7
.7
.7
.7
.7
.7
( (+
>.7CD+
(B7(+
( (+
>.7CD+
(B7(+
E
E
5 +
(
カテゴリ名
トピック名
5 2+
&'$( !"0>.1 !"0>.1(%+
&'$(5 !"0>.1 6 7.8 !"0>.1(%+
カテゴリ名、トピック名をソート、ユニーク化
&'$(' !"0>.1(%+
E
5 2+
E
)
各カテゴリ、トピックとトピック番号を対応させたファイルの作成 .1
9',/:+
0 ',/:;
'&$<.7= <.7= <*.= >*.= <.%+
57$= (
.1(%+
.1 に書込
<*. A 5$J50$(31(%%+
ディレクトリ の中の 1 拡張子ファイルを
取得し、ファイル名でソートする $) で作成したファイル%
*5@ >*. $<*.%;
57$2= (>*.(%+
取得した全ての 1 ファイルについて処理をする
1 ファイルを読込
?@.$ 2
%;
@5'+
<.7 A .$B%+
57$2= (01(%+
01 の読込
?@.$ 2
%;
@5'+
<.7 A .$B%+
.*$>.7CD 8 >.7CD%;
1 に書かれてあるカテゴリ名と、
($
01 のカテゴリ名が一致するならば
>*. AK BBJ+
>*. AK B1J+
$カテゴリ番号34トピック番号%1
からカテゴリ番号34トピック番号だけを抽出
.7 >*. 3 + カテゴリ番号3
.7 (B(+
.7 >.7CD+
カテゴリ名
.7 (B(+
.7 >.7CD+
トピック名
.7 (B7(+
E
E
5 2+
E
5 2+
E
5 +
&'$( .1 .1(%+
&'$(5 .1 6 7.8 .1(%+
.1 のソート、ユニーク化
&'$(' .1(%+
57$2= (.1(%+
?@.$ 2
%;
.1 の読込
カテゴリ数を抽出する
@5'+
<. A .$B%+
E
5 2+
57$= (
.1(%+
.1 に書込
*5$>.A+ >. A>.CD+ >.44%;
.1 の番号を通し番号にする処理
>LA+
57$2= (.1(%+
.1 の読込
(%
?@.$ 2
%;
@5'+
<.7 A .$B%+
.*$>.3 AA >.7CD%;
>.7CD A >.7CD 4 >L+
.7 >.7CD(B(+
.7 >.7CD(B(+
.7 >.7CD(B7(+
>L44+
E
E
5 2+
E
5 +
7.7,$(.1(%+
E
((
通し番号
カテゴリ名
トピック名
#
カテゴリ、トピック等の各ゴールの FG 次元ベクトルを計算するプログラム 最終更新日
IF
実行方法
#
2
1= 1=
1= 1=
1= 1=
!"01= 01=
#5= 5=
#5= 5=
# 5= 5=
#!"05= 05=
',& ), ) )2 )7 ) )' )M
カテゴリのベクトル作成
>-. A ((+
9#$>-.%+
のベクトルを計算
>-. A ((+
9#$>-.%+
のベクトルを計算
>-. A ( (+
9#$>-.%+
のベクトルを計算
>-. A (!"(+
9#$>-.%+
!" のベクトルを計算
0 #;
'&$>-.% A <:+
'&$<*.= >*.= >*.5%+
<*. A 5$J50$(>-.31(%%+
対象とするディレクトリの中の 1 拡張子ファイルを
取得し、ファイル名でソートする
*5@ >*. $<*.%;
取得した全ての 1 ファイルについて処理をする
>*. AK >-.+
パスからディレクトリ名を削除しファイル名を取得
>*.5 A >*.+
>*.5 AK B1B5+
ファイル名の置換 $1 →5%
&'$( >-.>*. 6 ',& ), ) )2 )7 )
(#
)' )M 6 )) #>-.>*.5(%+
7-*$>*.%+
7-*$>*.5%+
E
7-*$<*.%+
7-*$>-.%+
E
#&
#
01 から分析対象のコンテンツ等のベクトル、 類似度を計算するプログラム
最終更新日
実行方法
#
2
01
N5/1
N5/71
5.71
2=
$最後には削除されるファイル
5771
N5/5
N5/75
.*$<# ) %;
引数の数が つではないならば
-. ('5- 5OOB7(+
エラーメッセージをはいて終了
E
;
引数の数が つならば
$>'5-% A <#+
カテゴリ計算モードを引数通りにする
$ カテゴリ、 カテゴリ+%
E
7.7,$(N5/1(%+
7.7,$(N5/71(%+
7.7,$(5.71(%+
57$2= (01(%+
?@.$ 2
%;
@5'+
<.7 A .$B%+
>.7-1 A >.7CD+
>* A >.7CD+
9#F:$<.7%+
インデクス
分析対象
中身がコンテンツ等の分析対象だけの
ファイルを作成する
>7' A 9#F:$<.7%+
分析対象の正解トピック番号を取得する
#
9#F:$>.7-1= >* = >7'= <.7%+ 分析対象のベクトルを計算する
9#F:F$>'5-= >.7-1= >* = >7'= <.7%+
分析対象の類似度を計算する
7-*$<.7%+
7-*$>.7-1%+
7-*$>* %+
7-*$>7'%+
E
5 2+
F)
中身がコンテンツ等の分析対象だけのファイルを作成する 5771 書出
0 #F:;
'&$<.7% A <:+
57$= (
5771(%+
分析対象の内容をファイルに書出す
.7 >.7CD+
分析対象
5 +
7-*$<.7%+
E
F)
分析対象の正解トピック番号を抽出する 0 #F:;
'&$<.7% A <:+
'&$<.7= >7'%+
57$2= (.1(%+
.1 の読込
?@.$ 2
%;
#
@5'+
<.7 A .$B%+
.*$>.7CD 8 >.7CD 7- >.7CD 8 >.7CD%;
カテゴリ名とトピック名が一致するならば
>7' A >.7CD+
正解トピック番号
E
7-*$<.7%+
E
5 2+
7-*$<.7%+
7$>7'%+
E
F)
コンテンツ等分析対象の FG 次元ベクトルを計算 $?= - ベクトル% C? ベクトルDN5/5 書出 $一時出力保存%
N5/1 書出
C- ベクトルDN5/75 書出 $一時出力保存%
N5/71 書出
0 #F: ;
'&$>.7-1= >* = >7'= <.7% A <:+
&'$( 5771 6 ',& ), ) )2 )7 )
)' )M 6 )) N5/5(%+
ファーストパラグラフの ? N5 を N5/5 に書出
&'$( N5/5 N5/5(%+
&'$(' N5/5(%+
&'$( 5771 6 ',& ), ) )2 )7 )
)' )M 6 N5/75(%+
ファーストパラグラフの - N5 を N5/75 に書出
&'$( N5/75 N5/75(%+
&'$(' N5/75(%+
57$2= (N5/5(%+
N5/5 を読込
57$= (
N5/1(%+
#
N5/1 に各アーティクル毎の ? N5 をタブ区切りで書出
.7 >.7-1(B(>* (B((A(>7'(B(+
?@.$ 2
%;
@5'+
B J+
$ %;=E J+
PBJ+
PBJ+
J+
BJ+
BBJ+
.7 +
E
.7 (B7(+
5 +
5 2+
57$2= (N5/75(%+
57$= (
N5/71(%+
N5/71 に各アーティクル毎の - N5 をタブ区切りで書出
.7 >.7-1(B(>* (B((A(>7'(B(+
?@.$ 2
%;
@5'+
B J+
$ %;=E J+
PBJ+
PBJ+
J+
BJ+
BBJ+
.7 +
E
.7 (B7(+
5 +
5 2+
7-*$>.7-1%+
#
7-*$>* %+
7-*$>7'%+
7-*$<.7%+
E
F)F
コンテンツ等分析対象のベクトルと各ゴールのベクトルから、 コンテンツ等分析対象の類似度を計算する
5.71 書出
0 #F:F ;
'&$>'5-= >.7-1= >* = >7'= <.7% A <:+
'&$<.7%+
'&$>L7,= >= >5.7%+
57$= (
5.71(%+
5.71 に書込
.7 >.7-1(B(>* (B((A(>7'(B(+
57$2= (.1(%+
.1 の読込
?@.$ 2
% ;
カテゴリとの類似度を計算、出力
@5'+
<.7 A .$B%+
> A Q N5/5 #>.7CD56
&7 )7 ) ) ) )Q+
$>L7,= >L7,= >5.7% A . $R R= >%+
.7 ((>.7CD(A(+
.7 >5.7(B(+
7-*$<.7%+
7-*$>L7,%+
7-*$>5.7%+
7-*$>%+
E
5 2+
#
カテゴリのフラグ
類似度の出力
57$2= (.1(%+
.1 の読込
?@.$ 2
% ;
カテゴリ+との類似度を計算、出力
@5'+
<.7 A .$B%+
.*$>'5- AA %;
> A Q N5/5 #>.7CD56
&7 )7 ) ) ) )Q+
$>L7,= >L7,= >5.7% A . $R R= >%+
E
.*$>'5- AA %;
> A Q N5/5 #>.7CD56
&7 )7 ) ) ) )Q+
$>L7,= >L7,= >5.7% A . $R R= >%+
E
.7 ((>.7CD(A(+
.7 >5.7(B(+
カテゴリ+のフラグ
類似度の出力
7-*$<.7%+
7-*$>L7,%+
7-*$>5.7%+
7-*$>%+
E
5 2+
57$2= (.1(%+
.1 の読込
?@.$ 2
% ;
バックの類似度を計算、出力
@5'+
<.7 A .$B%+
> A Q N5/5 #!"0>.7CD56
&7 )7 ) ) ) )Q+
$>L7,= >L7,= >5.7% A . $R R= >%+
.7 (0(>.7CD(A(+
.7 >5.7(B(+
#$
バックのフラグ
類似度の出力
7-*$<.7%+
7-*$>L7,%+
7-*$>5.7%+
7-*$>%+
E
5 2+
57$2= (.1(%+
.1 の読込
?@.$ 2
% ;
トピックとの類似度を計算、出力
@5'+
<.7 A .$B%+
> A Q N5/5 # >.7CD56
&7 )7 ) ) ) )Q+
$>L7,= >L7,= >5.7% A . $R R= >%+
.7 ((>.7CD(A(+
.7 >5.7(B(+
7-*$<.7%+
7-*$>L7,%+
7-*$>5.7%+
7-*$>%+
E
.7 (B7(+
5 2+
5 +
E
F)S
一時ファイルを削除 9#F:S+
0 #F:S ;
7.7,$(5771(%+
7.7,$(N5/5(%+
#%
トピックのフラグ
類似度の出力
7.7,$(N5/75(%+
E
#(
7.8/
類似度ファイルとベクトルファイルから
複数リンクがあるアーティクルを つにまとめるプログラム 最終更新日
実行方法
7.8/
2
N5/1
N5/71
5.71
N5/1
N5/71
5.71
全データを配列にいれる '& $<.= <*.= <.7= >.7= <.= >.= <.72%+
'&$>.% A +
?@.$ 2
%;
@5'+
<.7 A .$B%+
>.7 A <.7+
>.72C>.D A <.7+
*5$>LA+ >L >.7+ >L44%;
>.C>.DC>LD A >.7C>LD+
E
>.44+
E
>. A <.+
重複するコンテンツを調べる
重複するコンテンツが見つかった場合、
通し番号は「=」で結合する
##
データを全て二次元配列に入れる
*5$>LA+ >L A>.+ >L44%;
L4 行目のデータで見る
.*$>.C>LDCD 7 ((
5 >.C>LDCD 7 ((%;
*5$>,A>L4+ >, A>.+ >,44%;
L4∼最終行までを比べる
.*$>.C>LDCD 8 >.C>,DCD
7- >.C>LDCD 8 >.C>,DCD%;
>.C>LDCD AK BAJ+
フラグ「$番号%A」を除去し、番号抽出
>.C>,DCD AK BAJ+
フラグ「$番号%A」を除去し、番号抽出
>.C>LDCD A >.C>LDCD(=(>.C>,DCD+
同じコンテンツが見つかったら「=」で結合
*5$>A+> A>.7+>44%;
7-* >.C>,DC>D+
E
E
E
E
E
「=」結合した通し番号をユニーク化する *5$>LA+ >L A>.+ >L44%;
L4 行目のデータで見る
< A 5$.$B== >.C>LDCD%%+
「=」区切りの通しトピック番号を分離
> A <+
.*$> %;
*5$>A+ > A>+ >44% ;
*5$>'A>4+ >' A>+ >'44% ;
.*$>C>D OA 7- >C>D AA >C>'D%;
同じトピック番号があったら
>C>'D A +
&&
重複する他の番号を にする
E
E
E
>.C>LDCD A ((+
>*J A +
*5$>A+ > A>+ >44% ;
.*$>C>D OA %;
.*$>*J %;
>.C>LDCD A >.C>LDCD(=(+
E
>.C>LDCD A >.C>LDCD(A(>C>D+
>*J 4A+
E
E
7-*$<%+
E
E
ユニークなデータを書出 *5$>LA+ >L A>.+ >L44%;
.*$>.C>LDCD 7 (5OO(% ;
.*$>.C>LDCD 7 ((
5 >.C>LDCD 7 ((%;
*5$>,A+ >, A>.72C>LD+ >,44%;
.7 >.C>LDC>,D+
.7 (B(+
&
E
.7 (B7(+
E
E
E
*5$>LA+ >L A>.+ >L44%;
*5$>,A+ >, A>.72C>LD+ >,44%;
7-* >.C>LDC>,D+
E
E
&
7'0
ユニーク化されたベクトルまたは類似度ファイルいずれか つを読込み、
分析対象のインデクス、正解トピックに通し番号付けし、その対応表を作成する
対応表から、各ベクトル、類似度ファイルを番号付けしたファイルを作成する
最終更新日
S
$ 実行方法
7'0 引数%
$ 引数 与えられたベクトルまたは類似度ファイルから .1 を作成する% $ 引数 で作成された .1 から、各ベクトル、
類似度ファイルのアーティクルを番号付けする
% $ 2
N5/1=N5/7 5 5.71
% $ .1
% $
2N5/1=2N5/71
% $
25.71
% .*$<# ) %;
引数の数が つではないならば
-. ('5- 5B7(+
エラーメッセージをはいて終了
E
;
引数の数が つならば
$>'5-% A <#+
リンク張替モードを引数通りにする
E
.*$>'5- AA %;
>.A+
57$= (
.1(%+
?@.$ 2
% ;
標準入力 $類似度結果ファイル% の読込み
@5'+
<.7 A .$B%+
>.44+
.7
.7
.7
.7
.7
(25A(>.(B(+
>.7CD(B(+
>.7CD(B(+
>.7CD(B(+
(B7(+
&
番号付け
インデクスの出力
ファーストパラグラフの出力
正解トピック番号の出力
E
5 +
E
.*$>'5- AA %;
?@.$ 2
%;
@5'+
<.7 A .$B%+
>.7 A <.7+
57$2= (.1(%+
?@.$ 2
%;
@5'+
<.7 A .$B%+
.*$>.7CD 8 >.7CD 7- >.7CD 8 >.7CD
7- >.7CD 8 >.7CD%;
インデクス、分析対象 $ファーストパラグラフ等%、
正解トピックが等しいならば
.7 >.7CD(B(+
.7 >.7CD(B(+
.7 >.7CD(B(+
番号
インデクス
正解トピック
*5$>.A+ >. >.7+ >.44%;
.7 >.7C>.D(B(+
E
.7 (B7(+
E
E
5 2+
E
E
&
',5N
類似度ファイルからユーザビリティプロブレムと マルコフ連鎖を計算するプログラム
最終更新日
SG
$ 実行方法
',5N 引数 引数 %
$ 2
25.71
%
$ ',5N1
%
$
',5N1
%
$
',5N1
%
.*$<# ) %;
引数の数が つではないならば
-. ('5- 5OOB7(+
エラーメッセージをはいて終了
E
;
引数の数が つならば
$>'5-= >'5-% A <#+
リンク張替モードを引数通りにする
E
>-A+
>--@A+
>J''A+
$>-= >--@= >J''% A 9',5NI:+
?@.$ 2
% ;
δ、δ´、γを取得
標準入力 $類似度結果ファイル% の読込み
@5'+
<.7 A .$B%+
>?A+
>TA+
>?A+
>A+
> A ((+
>:7'A+
>:7'A+
>:7' A+
>:7' A+
&
>:7'A+
>:7'A+
>:7' A+
>:7' A+
>--.7,A+
.7 >.7CD(B(+
.7 >.7CD(B(+
.7 >.7CD(B(+
番号の出力
インデクスの出力
正解トピック番号の出力
$>?= >T% A 9',5NI:$>-= <.7%+
カテゴリ U, 7、5).*. 5'.7J T-.7J を求める
.*$>'5-AA 7- >'5-AA%;
リンク張替 のみのとき
$>?= >= >:7'= >:7'= >:7' = >:7' %
A 9',5NI:$>--@= >J''= <.7%+
トピック U, 7、5).*. 5'.7J .7, を求める
正解カテゴリ、リンク追加正解カテゴリ、
正解トピック、リンク追加正解トピックの数
E
.*$>'5-AA 7- >'5-AA%;
リンク張替 のみのとき
$>?= >= >:7'= >:7'= >:7' = >:7' %
A 9',5NI:$>--@= >J''= <.7%+
トピック U, 7、5).*. 5'.7J .7, を求める
正解カテゴリ、正解トピック、
リンク追加正解カテゴリ、リンク追加正解トピック
$>:7'= >:7'= >:7' = >:7' = >--.7,%
A 9',5NI:$>--@= <.7%+
カテゴリの最大値かつその中のトピックの最大値を調べ、
リンク追加トピックを調べる
正解カテゴリ、正解トピック、リンク追加正解カテゴリ、
リンク追加正解トピック
>:7'
>:7'
>:7'
>:7'
A >:7'+
A >:7'+
A >:7' +
A >:7' +
最初から つとも同じ
最初から つとも同じ
E
.*$>'5-AA 7- >'5-AA%;
リンク張替 かつ のとき
$>?= >= >:7'= >:7'= >:7' = >:7' %
&$
A
9',5NI:$>--@= >J''= <.7%+
トピック U, 7、5).*. 5'.7J .7, を求める
正解カテゴリ、正解トピック、
リンク追加正解カテゴリ、リンク追加正解トピック
$>:7'= >:7'= >:7' = >:7' = >--.7,%
A 9',5NI:$>--@= <.7%+
カテゴリの最大値かつその中のトピックの
最大値を調べ、リンク追加トピックを調べる
正解カテゴリ、正解トピック、
リンク追加正解カテゴリ、リンク追加正解トピック
.*$>? 8 (( 7- >? 8 (( 7- >--.7, AA %;
リンク追加正解トピックはリンク張替モード のもののまま
E
.*$>? 8 (( 7- >? AA 7- >--.7, AA %;
リンク追加正解トピックをリンク張替モード のものにする
>:7'
>:7'
>:7'
>:7'
A >:7'+
A >:7'+
A >:7' +
A >:7' +
最初から つとも同じ
最初から つとも同じ
E
.*$>? 8 (( 7- >? 8 (( 7- >--.7, AA %;
リンク追加正解トピックをリンク張替モード と の両方ものにする
>:7' A >:7'+
>:7' A >:7'+
最初から つとも同じ
最初から つとも同じ
<7 : A .$B6= >:7' %+
「6」区切りの追加正解トピック番号 を分離
<7 : A .$B6= >:7' %+
「6」区切りの追加正解トピック番号 を分離
>7?:7' A (-''&(+
正解トピック番号の最初にダミー文字列を入れる
57$2= (.1(%+
?@.$ 2
% ;
.1 の読込
総カテゴリ数を取得 $>.7CD%
@5'+
<.7 A .$B%+
&%
E
5 2+
*5$>.A+ >. A>.7CD+ >.44%;
>7?:7' A >7?:7' (6(+
.*$>7 :C>.D OA 5 >7 :C>.D OA %;
リンク張替 、 の正解トピックがあるならば
.*$>7 :C>.D OA %;
リンク張替 に正解トピックがあれば
>7?:7' A >7?:7' >7 :C>.D+
E
<7 :0 A 5$.$B== >7 :C>.D%%+
「=」区切りのトピック番号を分離
<7 :0 A 5$.$B== >7 :C>.D%%+
「=」区切りのトピック番号を分離
>L A +
>, A +
「=」をつけるかどうかの判別子
リンク張替 = で被るものがあるかの判別子
*5@ >7 :0 $<7 :0%;
リンク張替 の追加正解トピック分をまわす
*5@ >7 :0 $<7 :0%;
リンク張替 の追加正解トピック分をまわす
.*$>7 :0 AA >7 :0%;
リンク張替 の正解トピックが張替 の
正解トピック番号と同じならば
>,44+
E
E
.*$>, AA %;
.*$>L
%;
>7?:7' A >7?:7' (=(+
E
&(
>7?:7' A >7?:7' >7 :0+
>L44+
E
E
7-*$<7 :0%+
7-*$<7 :0%+
E
;
リンク張替 = とも正解トピックがないならば
>7?:7' A >7?:7' ((+
E
E
>7?:7' A (-''&(+
リンク張替後の正解トピックの数
<7?:7' A .$B6= >7?:7' %+
「6」区切りの追加正解トピック数を分離
*5$>.A+ >. A>.7CD+ >.44%;
<7?:7' 0 A 5$.$B== >7?:7' C>.D%%+
「=」区切りのトピック数を分離
>L A +
正解トピック数にカウントするかどうかの判別子
*5@ >7?:7' 0 $<7?:7' 0%;
.*$>7?:7' 0 OA %;
正解トピック番号があれば
>L44+
E
E
>7?:7' A >7?:7' (6(>L+
リンク張替後の正解トピックの数
7-*$<7?:7' 0%+
E
&#
>:7' A
>:7' A
>7?:7' +
リンク張替後正解トピック数を張替 と を結合したものにする
>7?:7' +
リンク張替後正解トピック番号を張替 と を結合したものにする
7-*$<7 :%+
7-*$<7 :%+
7-*$<.7%+
7-*$<7?:7' %+
E
E
.7
.7
.7
.7
(?A(>?(B(+
(TA(>T(B(+
(?A(>?(B(+
(A(>(B(+
カテゴリ U, 7$フラグ「?A」%
5).*. 5'.7J T-.7J$フラグ「TA」%
トピック U, 7$フラグ「?A」%
5).*. 5'.7J .7,$フラグ「A」%
.*$>? 8 (( 7- >? 8 ((%;
カテゴリ、トピック共に U, 7 50'
でないとき、M,5N 連鎖を計算
.7 (B(+
E
;
.7 (2-75((B(+
E
>:@,A+
$>:@,% A 9',5NI:F$>:7'= >:7'= <.7%+
M,5N 連鎖が計算可能かどうか調べる
.*$>:@,AA%;
計算可能のとき
>0A+
>?:A+
>*.:50A+
>-:A+
$>0= >?:= >*.:50= >-:% A
9',5NI:GH$>:7'= >:7'= >--@= <.7%+
M,5N 連鎖を計算する
&
.7
.7
.7
.7
(50A(>0(B(+
平均吸収ステップ数を出力
>?:(B(+
正解トピックまでの平均ステップ数 $?%
>*.:50(B(+ 正解トピックまでの初到達確率
>-:(B(+ 正解トピックまでの平均ステップ数 $-%
E
;
.7
.7
.7
.7
(775(>:@,(B(+
(B(+
(B(+
(B(+
E
.*$>'5-AA 7- >'5-AA%;
.*$>? 8 (( 7- >? 8 ((%;
<7 A .$B6= >:7' %+
「6」区切りの正解トピック数を分離
<7 A .$B6= >:7' %+
「6」区切りの正解トピック番号を分離
57$2= (.1(%+
?@.$ 2
% ;
.1 の読込
総カテゴリ数を取得 $>.7CD%
@5'+
<.7 A .$B%+
E
5 2+
> A ((+
*5$>.A+ >. A>.7CD+ >.44%;
.*$>7 C>.D
%;
カテゴリ . 番目に正解トピックがあるならば
< A 5$.$B== >7 C>.D%%+
「=」区切りのトピック番号を分離
*5@ > $< %;
.*$> 7 ((%;
> A > (=(+
E
> A > ( A($>. 3 4 > %+
追加正解トピックを一つの変数に格納
$フラグ「 A」付%
E
7-*$< %+
E
E
.7 > +
.7 (B(+
>?
>?
>T
>
追加正解トピックの出力
A +
A +
A +
A +
<.7 A <.7+
>.7 CD A > +
$>? = >T % A 9',5NI:$>-= <.7 %+
カテゴリ U, 7、
5).*. 5'.7J T-.7J を求める
$>? = > = >:7':-''&= >:7':-''&=
>:7' :-''&= >:7' :-''&%
A 9',5NI:$>--@= >J''= <.7 %+
トピック U, 7、
5).*. 5'.7J .7, を求める
正解カテゴリ、リンク追加正解カテゴリ、
正解トピック、リンク追加正解トピックの数
.7 (? A(>? (B(+
カテゴリ U, 7$フラグ「? A」%
.7 (T A(>T (B(+
5).*. 5'.7J T-.7J$「T A」%
.7 (? A(>? (B(+
トピック U, 7$「? A」%
.7 ( A(> (B(+
5).*. 5'.7J .7,$「 A」%
7-*$<.7 %+
7-*$>? %+
7-*$>T %+
7-*$>? %+
7-*$> %+
7-*$>:7':-''&%+
7-*$>:7':-''&%+
7-*$>:7' :-''&%+
7-*$>:7' :-''&%+
7-*$<7 %+
7-*$<7 %+
7-*$<.7%+
>:@, A+
$>:@, % A 9',5NI:F$>:7' = >:7' = <.7%+
M,5N 連鎖が計算可能かどうか調べる
.*$>:@, AA%;
計算可能のとき
>0A+
>?:A+
>*.:50A+
>-:A+
$>0= >?:= >*.:50= >-:% A
9',5NI:GH$>:7' = >:7' = >--@= <.7%+
M,5N 連鎖を計算
.7 (50 A(>0(B(+
平均吸収ステップ数
>?: AK ?5?5 J+
フラグ「?53333A」を
「?5 3333」に置換
.7 >?:(B(+
正解トピックまでの平均ステップ数 $?%
>*.:50 AK 505 505 J+
フラグ「 5053333A」を
「 505 3333」に置換
.7 >*.:50(B(+
正解トピックまでの初到達確率を出力
>-: AK -5-5 J+
フラグ「-53333A」を
「-5 3333」に置換
.7 >-:(B(+
正解トピックまでの平均ステップ数 $-%
E
;
.7 (775 (>:@, (B(+
E
E
;
.7 (725--.7,B(+
正解トピックに追加はないことを出力
E
E
.*$>'5-AA 7- >'5-AA%;
.*$>? 8 (( 7- >--.7, AA %;
<7 A .$B6= >:7' %+
「6」区切りの正解トピック数を分離
<7 A .$B6= >:7' %+
「6」区切りの正解トピック番号を分離
57$2= (.1(%+
?@.$ 2
% ;
.1 の読込
総カテゴリ数を取得 $>.7CD%
@5'+
<.7 A .$B%+
E
5 2+
> A ((+
*5$>.A+ >. A>.7CD+ >.44%;
.*$>7 C>.D
%;
カテゴリ . 番目に正解トピックがあるならば
< A 5$.$B== >7 C>.D%%+
「=」区切りのトピック番号を分離
*5@ > $< %;
.*$> 7 ((%;
> A > (=(+
E
> A > ( A($>. 3 4 > %+
追加正解トピックを一つの変数に格納
$フラグ「 A」付%
E
7-*$< %+
E
E
.7 > +
.7 (B(+
>?
>?
>T
>
追加正解トピックの出力
A +
A +
A +
A +
<.7 A <.7+
>.7 CD A > +
$>? = >T % A 9',5NI:$>-= <.7 %+
カテゴリ U, 7、
5).*. 5'.7J T-.7J を求める
$>? = > = >:7':-''&= >:7':-''&=
>:7' :-''&= >:7' :-''&%
A 9',5NI:$>--@= >J''= <.7 %+
トピック U, 7、
5).*. 5'.7J .7, を求める
正解カテゴリ、リンク追加正解カテゴリ、
正解トピック、リンク追加正解トピックの数
.7 (? A(>? (B(+
.7 (T A(>T (B(+
.7 (? A(>? (B(+
.7 ( A(> (B(+
7-*$<.7 %+
7-*$>? %+
7-*$>T %+
7-*$>? %+
カテゴリ U, 7$フラグ「? A」%
5).*. 5'.7J T-.7J
$「T A」%
トピック U, 7$「? A」%
5).*. 5'.7J .7,
$「 A」%
7-*$> %+
7-*$>:7':-''&%+
7-*$>:7':-''&%+
7-*$>:7' :-''&%+
7-*$>:7' :-''&%+
7-*$<7 %+
7-*$<7 %+
7-*$<.7%+
>:@, A+
$>:@, % A 9',5NI:F$>:7' = >:7' = <.7%+
M,5N 連鎖が計算可能かどうか調べ
る
.*$>:@, AA%;
計算可能のとき
>0A+
>?:A+
>*.:50A+
>-:A+
$>0= >?:= >*.:50= >-:% A
9',5NI:GH$>:7' = >:7' = >--@= <.7%+
M,5N 連鎖を計算
.7 (50 A(>0(B(+
平均吸収ステップ数
>?: AK ?5?5 J+
フラグ「?53333A」を
「?5 3333」に置換
.7 >?:(B(+
正解トピックまでの平均ステップ数 $?%
>*.:50 AK 505 505 J+
フラグ「 5053333A」を
「 505 3333」に置換
.7 >*.:50(B(+
正解トピックまでの初到達確率
>-: AK -5-5 J+
フラグ「-53333A」を
「-5 3333」に置換
.7 >-:(B(+
正解トピックまでの平均ステップ数 $-%
E
;
.7 (775 (>:@, (B(+
$
E
E
;
.7 (725--.7,B(+ 正解トピックに追加はないことを出力
E
E
.*$>'5-AA 7- >'5-AA%;
.*$>? 8 ((%;
.*$>? AA 7- >--.7, AA%;
.7 (725--.7,B(+
正解トピックに追加はないことを出力
E
;
<7 A .$B6= >:7' %+
「6」区切りの正解トピック数を分離
<7 A .$B6= >:7' %+
「6」区切りの正解トピック番号を分離
57$2= (.1(%+
.1 の読込
?@.$ 2
% ;
総カテゴリ数を取得 $>.7CD%
@5'+
<.7 A .$B%+
E
5 2+
> A ((+
*5$>.A+ >. A>.7CD+ >.44%;
.*$>7 C>.D
%;
カテゴリ . 番目に正解トピックがあるならば
%
< A 5$.$B== >7 C>.D%%+
「=」区切りのトピック番号を分離
*5@ > $< %;
.*$> 7 ((%;
> A > (=(+
E
> A > ( A($>. 3 4 > %+
追加正解トピックを一つの変数に格納
$フラグ「 A」付%
E
7-*$< %+
E
E
.7 > +
.7 (B(+
>?
>?
>T
>
追加正解トピックの出力
A +
A +
A +
A +
<.7 A <.7+
>.7 CD A > +
$>? = >T % A 9',5NI:$>-= <.7 %+
カテゴリ U, 7、
5).*. 5'.7J T-.7J を求める
$>? = > = >:7':-''&= >:7':-''&=
>:7' :-''&= >:7' :-''&%
A 9',5NI:$>--@= >J''= <.7 %+
トピック U, 7、
5).*. 5'.7J .7, を求める
正解カテゴリ、リンク追加正解カテゴリ、
正解トピック、リンク追加正解トピックの数
.7 (? A(>? (B(+ .7 (T A(>T (B(+
.7 (? A(>? (B(+ (
カテゴリ U, 7$フラグ「? A」%
5).*. 5'.7J T-.7J
$「T A」%
トピック U, 7$「? A」%
.7 ( A(> (B(+ 5).*. 5'.7J .7,
$「 A」%
7-*$<.7 %+
7-*$>? %+
7-*$>T %+
7-*$>? %+
7-*$> %+
7-*$>:7':-''&%+
7-*$>:7':-''&%+
7-*$>:7' :-''&%+
7-*$>:7' :-''&%+
7-*$<7 %+
7-*$<7 %+
7-*$<.7%+
>:@, A+
$>:@, % A 9',5NI:F$>:7' = >:7' = <.7%+
M,5N 連鎖が計算可能かどうか調べる
.*$>:@, AA%;
計算可能のとき
>0A+
>?:A+
>*.:50A+
>-:A+
$>0= >?:= >*.:50= >-:% A
9',5NI:GH$>:7' = >:7' = >--@= <.7%+
M,5N 連鎖を計算
.7 (50 A(>0(B(+ 平均吸収ステップ数
>?: AK ?5?5 J+
「?53333A」を
「?5 3333」に置換
.7 >?:(B(+
正解トピックまでの
平均ステップ数 $?%
>*.:50 AK 505 505 J+
「 5053333A」を
「 505 3333」に置換
.7 >*.:50(B(+ 正解トピックまでの
初到達確率
>-: AK -5-5 J+
「-53333A」を
「-5 3333」に置換
.7 >-:(B(+
正解トピックまでの
平均ステップ数 $-%
#
E
;
.7 (775 (>:@, (B(+
E
E
E
;
.7 (725--.7,B(+ 正解トピックに追加はないことを出力
E
E
.7 (B7(+
7-*$<.7%+
E
I)
'1 から 0..& 50' 評価のためのパラメータ δ $正解カテゴリの類似度最大値比較用%、
δR$正解トピックの類似度最大値比較用%、
γ $正解トピックと不正解トピックの類似度最大値比較用%
を取得
0 ',5NI: ;
'&$>-= >--@= >J''%+
57$2= ('1(%+
'1 の読込み
?@.$ 2
% ;
@5'+
.*$-BA3% ;
δの取得
>-A>:+
>-AK-BA+
&
E
.*$--@BA3% ;
δ´の取得
>--@A>:+
>--@AK--@BA+
E
.*$J''BA3% ;
γの取得
>J''A>:+
>J''AKJ''BA+
E
E
5 2+
7$>-= >--@= >J''%+
δ、δ´、γを返す
E
I)
類似度結果ファイルを読込み、0..& 50' の カテゴリ U, 7 50'、
5).*. 5'.7J T-.7 50'
を求める
0 ',5NI: ;
'&$>-= <.7% A <:+
'&$>.7= <.7%+
'&$>@= >*J= >.%+
'&$<= >= >%+
'&$>?= >T= >75T%+
'&$>.%+
57$2= (.1(%+
?@.$ 2
% ;
.1 の読込
総カテゴリ数を取得 $>.7CD%
@5'+
<.7 A .$B%+
E
5 2+
>@ A )+
>*JA +
カテゴリ類似度の最大値α $初期化%
カテゴリ類似度の最大値αをとるカテゴリ番号 $初期化%
>? A +
>T A +
>75T A +
カテゴリ U, 7 50'$初期化%
5).*. 5'.7J T-.7J 50'$初期化%
T でないフラグ $初期化%
*5$>.A+ >. A>.7CD+ >.44%;
カテゴリの数だけまわす
*5@ >.7 $<.7% ;
読込んだ類似度ファイルを調べる
.*$>.7 AK >.BA3% ;
>.7 AK >.BA+
フラグ「$番号%A」を除去し、
カテゴリ+類似度の値を抽出
.*$>@ A >.7%;
カテゴリ+類似度の最大値を更新
>@ A >.7+
>*J A >.+
α
αをとるカテゴリ番号
E
E
E
E
.*$>@ >-%;
>? A ((+
α>δのとき
カテゴリ U, 7 50' ではない
< A 5$.$B== >.7CD%%+
「=」区切りの通しトピック番号を分離
*5@ > $<% ;
フラグ「$番号%A」を除去し、番号抽出
フラグ「$番号%A」を除去し、番号抽出
> AK BA+
> AK BA+
> A .7 > 3 + 通しトピック番号からカテゴリ番号を抽出
.*$>*J AA >% ;
αをとるカテゴリが正解カテゴリのとき
>75T 4A +
5).*. 5'.7J T-.7J でないフラグ
E
E
.*$>75T % ;
>T A ((+
αをとるカテゴリが正解カテゴリなら、T ではない
E
;
>T A +
αをとるカテゴリが正解カテゴリでないなら、T
E
E
;
>? A +
>T A ((+
α>δでないとき
カテゴリ U, 7 50' に当てはまる
5).*. 5'.7J T-.7J 50' ではない
E
7-*$<.7%+
7-*$<.7%+
7-*$<%+
7$>?= >T%+ カテゴリ U, 7 50'、
5).*. 5'.7J T-.7J 50' を返す
E
I)
類似度結果ファイルを読込み、0..& 50' の トピック U, 7 50'、
5).*. 5'.7J .7, 50'
を求める
リンク張替 の追加正解トピックも調べる
0 ',5NI: ;
'&$>--@= >J''= <.7% A <:+
'&$<= >= <= >%+
'&$<:7'= <:7' = <:7'= <:7' %+
'&$>0= >0-@%+
'&$>?= >= >75%+
'&$>*J= >:*J%+
'&$>--%+
'&$>.%+
'&$>:7'= >:7'= >:7' = >:7' %+
57$2= (.1(%+
?@.$ 2
% ;
.1 の読込
総カテゴリ数を取得 $>.7CD%
@5'+
<.7 A .$B%+
E
5 2+
*5$>.A+ >. A>.7CD+ >.44%;
>:7'C>.D A +
>:7'C>.D A +
各カテゴリにいくつ正解トピックが
あるかを示す配列 $初期化%
各カテゴリにいくつ何番目のトピックが
あるかを示す配列 $初期化%
E
< A 5$.$B== >.7CD%%+
「=」区切りの通しトピック番号を分離
*5@ > $<% ;
> AK BA+ フラグ「$番号%A」を除去し、通しトピック番号抽出
> AK BA+ フラグ「$番号%A」を除去し、通しトピック番号抽出
> A .7 > 3 + 通しトピック番号からカテゴリ番号を抽出
>:7'C>D 4A +
各カテゴリに正解トピックがいくつあるかを格納
> A > ) > 3+ 正解カテゴリの中のトピックの番号
.*$>:7'C>D AA %;
>:7'C>D A >+ 各正解カテゴリの中の正解トピック番号を格納
E
;
>:7'C>D A >:7'C>D(=(>+
各正解カテゴリの中の正解トピック番号を
「=」区切りで格納
E
E
<:7' A <:7'+
<:7' A <:7'+
正解トピック数格納配列を、
リンク追加正解トピック数格納配列にコピー
正解トピック番号格納配列を、
リンク追加正解トピック番号格納配列にコピー
>? A +
トピック U, 7 50'$初期化%
> A +
5).*. 5'.7J .7,$初期化%
>75 A + 5).*. 5'.7J .7, でない候補 $初期化%
*5$>.A+ >. A>.7CD+ >.44%;
>0 A )+
>0-@ A )+
>-- A )+
全てのカテゴリについて調べる
正解トピックの最大値β $初期化%
不正解トピックの最大値β´$初期化%
リンク張替えの追加正解トピック $初期化%
.*$>:7'C>.D %; 正解が存在するカテゴリのみ調べる
< A 5$.$B== >:7'C>.D%%+
「=」区切りのトピック番号を分離
*5@ >.7 $<.7%;
>*J A >.7+
>:*J A +
通しトピック番号を示すフラグ
正解トピックか否かを示すフラグ $初期化%
.*$>.7 AK >.B-B-B-BA3% ;
>.7 AK >.B-B-B-BA+
フラグ「$番号%A」を除去し、
トピック類似度の値を抽出
>*J AK +
>*J AK BA3+
>*J A >*J ) >. 3 +
*5$>LA+ >L >:7'C>.D+ >L44%;
.*$>*J AA >C>LD%;
>:*J A +
正解トピックを示すフラグ
E
E
.*$>:*J AA %;
正解トピックであるなら
.*$>0 A >.7%; β<=トピック類似度ならば
>0 A >.7+ 正解トピックの最大値
E
E
;
.*$>0-@ A >.7%; β´<=トピック類似度
ならば
>0-@ A >.7+ 不正解トピックの最大値
>-- A >*J+
リンク張替えの追加正解
トピック
E
E
E
E
.*$>-- %;
全てが正解トピックなら、
そのカテゴリにリンクは追加しない
>:7' C>.D 4A + >:7' C>.D A >:7'
各カテゴリの正解トピックの数
$リンク追加時%
C>.D(=(>--+
正解トピックのリンク張替え追加
E
.*$>0 >--@ 5 >0-@ >--@%;
β>δ´またはβ´>δ´ならば
.*$>J'' 3 >0 >0-@%;
$
γ×β>β´ならば
>75 4A +
5).*. 5'.7J .7, 50'
でない候補
E
;
E
E
;
>? 4A +
トピック U, 7 50' の候補
E
E
E
.*$>? %;
>? A +
> A ((+
トピック U, 7 50' である
E
;
.*$>75 %;
> A((+
>? A ((+
5).*. 5'.7J .7, 50' である
E
;
>? A ((+
> A +
E
E
>:7'
>:7'
>:7'
>:7'
A (-''&(+
A (-''&(+
A (-''&(+
A (-''&(+
%
*5$>.A+ >. A>.7CD+ >.44%; 各カテゴリにおける正解トピック数、
正解トピック番号を「6」区切りで結合
>:7'
>:7'
>:7'
>:7'
A >:7'(6(>:7'C>.D+
A >:7'(6(>:7'C>.D+
A >:7' (6(>:7' C>.D+
A >:7' (6(>:7' C>.D+
E
7-*$<.7%+
7-*$<.7%+
7-*$<%+
7-*$<%+
7-*$<:7'%+
7-*$<:7'%+
7-*$<:7' %+
7-*$<:7' %+
E
7$>?= >= >:7'= >:7'= >:7' = >:7' %+
トピック U, 7 50'、5).*. 5'.7J .7, 50'、
各カテゴリの正解トピック数、正解トピック番号、
リンク張替えの各カテゴリの正解トピック数、正解トピック番号を返す
I)
カテゴリの最大値と、その中のトピックの最大値を調べ、 リンク張替 の準備をする
0 ',5NI: ;
'&$>--@= <.7% A <:+
'&$<.7= <.7%+
'&$<= >= <= >%+
'&$<:7'= <:7' = <:7'= <:7' %+
'&$>--.7,%+
'&$>'1:= >'1::7'= >'1:5= >'1:5:7'= >'1::5:N@,%+
'&$>:5%+
'&$>*J= >:*J%+
'&$>--%+
'&$>.%+
'&$>:7'= >:7'= >:7' = >:7' %+
(
57$2= (.1(%+
?@.$ 2
% ;
.1 の読込
総カテゴリ数を取得 $>.7CD%
@5'+
<.7 A .$B%+
E
5 2+
*5$>.A+ >. A>.7CD+ >.44%;
>:7'C>.D A +
>:7'C>.D A +
各カテゴリにいつく正解トピック
があるかを示す配列 $初期化%
各カテゴリにいつく何番目のトピック
があるかを示す配列 $初期化%
E
< A 5$.$B== >.7CD%%+ 「=」区切りの通しトピック番号を分離
*5@ > $<% ;
> AK BA+ フラグ「$番号%A」を除去し、通しトピック番号抽出
> A .7 > 3 + 通しトピック番号からカテゴリ番号を抽出
>:7'C>D 4A +
各カテゴリに正解トピックがいくつあるかを格納
> A > ) > 3+ 正解カテゴリの中のトピックの番号
.*$>:7'C>D AA %;
>:7'C>D A >+ 各正解カテゴリの中の正解トピック番号を格納
E
;
>:7'C>D A >:7'C>D(=(>+
各正解カテゴリの中の正解トピック番号を「=」区切りで格納
E
E
<:7' A <:7'+
<:7' A <:7'+
#
正解トピック数格納配列を、
リンク追加正解トピック数格納配列にコピー
正解トピック番号格納配列を、
リンク追加正解トピック番号格納配列にコピー
>'1: A )+
>'1::7' A +
カテゴリ+の最大値(初期化)
最大値をとるカテゴリの番号(初期化)
*5$>.A+ >. A>.7CD+ >.44%;
全てのカテゴリについて調べる
*5@ >.7 $<.7%;
.*$>.7 AK >.BA3% ;
>.7 AK >.BA+
フラグ「$番号%A」を除去し、
カテゴリ+類似度の値を抽出
.*$>.7 >'1:%;
>'1: A >.7+ カテゴリ+の最大値
>'1::7' A >.+ 最大値をとるカテゴリ+の番号
E
E
E
E
57$2= ((>'1::7'(.1(%+
$>'1::7'%.1 の読込
?@.$ 2
% ;
カテゴリ>'1::7' 番目のトピック数を取得 $>.7CD%
@5'+
<.7 A .$B%+
E
5 2+
>'1::5:N@, A +
最大カテゴリ内の全てのトピックが
閾値より大きいか調べるカウンタ
*5$>.A+ >. A>.7CD+ >.44%;
最大カテゴリの全トピックについて
調べる
>:5 A >'1::7' 3 4 >.+
*5@ >.7 $<.7%;
&
通しトピック番号
.*$>.7 AK >:5BA3% ;
>.7 AK >:5BA+ フラグ「$番号%A」を除去し、
トピック類似度の値を抽出
.*$>.7 >'1:5%;
>'1:5 A >.7+ 最大カテゴリ内のトピックの最大値
>'1:5:7' A >.+ 最大値をとるトピックの番号
E
.*$>.7 >--@%;
>'1::5:N@, 4A +
E
E
E
E
>--.7, A +
.*$>'1::5:N@, %; 最大値を取るカテゴリ内のいずれかのト
ピックが閾値より大きいことを表すフラグ
>--.7, A +
E
>:7'
>:7'
>:7'
>:7'
A (-''&(+
A (-''&(+
A (-''&(+
A (-''&(+
*5$>.A+ >. A>.7CD+ >.44%;
各、カテゴリにおける正解トピック数、
正解トピック番号を「6」区切りで結合
.*$>.AA>'1::7'%;
>:7' C>.D 4A +
リンク追加時 . 番目のカテゴリの
正解トピック数を 増やす
.*$>:7' C>.DAA%; . 番目のカテゴリに正解がなければ
>:7' C>.D A >'1:5:7'+
E
;
E
>:7' C>.D A >:7' C>.D(=(>'1:5:7'+
リンク追加時各正解カテゴリの中の
正解トピック番号を「=」区切りで格納
E
>:7'
>:7'
>:7'
>:7'
A >:7'(6(>:7'C>.D+
A >:7'(6(>:7'C>.D+
A >:7' (6(>:7' C>.D+
A >:7' (6(>:7' C>.D+
E
7-*$<.7%+
7-*$<.7%+
7-*$<.7%+
7-*$<%+
7-*$<:7'%+
7-*$<:7'%+
7-*$<:7' %+
7-*$<:7' %+
E
7$>:7'= >:7'= >:7' = >:7' = >--.7,%+
各カテゴリの正解トピック数、正解トピック番号、
リンク張替えの各カテゴリの正解トピック数、正解トピック番号を返す
I)F
M,5N 連鎖計算用に、計算可能かどうかを調べる
$いずれか一つでも正解トピックまでたどりつけるか、 不正解カテゴリからトップに戻れるか%
計算不可のときはその理由を出力
0 ',5NI:F ;
'&$>:7= >:7= <.7% A <:+
'&$>:@,%+
'&$<.7= <= >= >.%+
'&$>.= >L%+
'&$<:7%+
'&$<:7%+
'&$>55= >5= >55%+
'&$>75!,55%+
<:7 A .$B6= >:7%+
<:7 A .$B6= >:7%+
「6」区切りの正解トピック数を分離
「6」区切りの正解トピック番号を分離
57$2= (.1(%+
.1 の読込
?@.$ 2
% ;
総カテゴリ数を取得 $>.7CD%
@5'+
<.7 A .$B%+
E
5 2+
>55A+
>5A+
>55A+
>75!,55A+
トップから正解カテゴリに行けるかのフラグ $初期化%
正解カテゴリから正解トピックに行けるかのフラグ $初期化%
トップから正解トピックに行けるかのフラグ $初期化%
不正解カテゴリからトップに戻れないかのフラグ $初期化%
*5$>.A+ >. A>.7CD+ >.44%;
.*$>:7C>.D %;
全てのカテゴリについて順に調べる
. 番目のカテゴリに正解トピックがあるなら
>55A+ トップから正解カテゴリに行けるかのフラグ $初期化%
>5A+ 正解カテゴリから正解トピックに
行けるかのフラグ $初期化%
< A 5$.$B== >:7C>.D%%+ 「=」区切りの
トピック番号を分離
*5@ >.7 $<.7%;
.*$>.7 AK >.BA3% ;
>.7 AK >.BA+ フラグ「$番号%A」を除去し、
カテゴリ+類似度の値を抽出
.*$>.7 %;
>55 4A + トップから正解カテゴリに行ける
E
E
*5$>LA+ >L >:7C>.D+ >L44%;
>. A +
>. A >C>LD 4 >. 3 + 正解トピック番号を
通しトピック番号にする
.*$>.7 AK >.BA3%;
>.7 AK >.BA+
フラグ「$番号%A」を除去し、
トピック類似度の値を抽出
.*$>.7 %;
>5 4A+ 正解カテゴリから
正解トピックに行ける
E
E
E
E
.*$>55 7- >5 %;
>55 4A +
トップから正解トピックに行ける
E
E
;
*5@ >.7 $<.7%;
.*$>.7 AK 0>.BA3% ;
>.7 AK 0>.BA+
フラグ「0$番号%A」を除去し、
バック類似度の値を抽出
.*$>.7 A %;
>75!,55 4A +
不正解カテゴリから
トップに戻れない
E
E
E
E
E
.*$>55 7- >75!,55 AA %;
いずれかの正解トピックまでいけて、
かつ不正解カテゴリからトップに戻れる
>:@, A +
M,5N 連鎖計算可能
E
;
.*$>55 A %;
>:@, A >:@,(77555(+
E
.*$>75!,55 %;
>:@, A >:@,(775!,55(+
E
E
7-*$<.7%+
7-*$<.7%+
7-*$<:7%+
7-*$<:7%+
7-*$<%+
7$>:@,%+
M,5 連鎖計算可能性もしくは不可能なら原因を返す
E
I)G
カテゴリ、トピックとも U, 7 50' に当てはまらないとき M,5N 連鎖が計算可能か調べ、計算可能であれば
平均吸収ステップ数、各正解トピックへの平均ステップ数を計算する 計算が不可のときは、その理由を出力する
I)H
5).*. 5'.7J .7, 50' に当てはまるとき
M,5N 連鎖が計算可能か調べ、計算可能であればリンクを張替え、 平均吸収ステップ数、各正解トピックへの平均ステップ数を計算する 計算が不可のときは、その理由を出力する
0 ',5NI:GH ;
'&$>:7= >:7= >--@= <.7% A <:+
'&$<:7%+
'&$<:7%+
'&$<= >= <'= >'%+
'&$>.= >L= >,= >%+
'&$<= >= >%+
'&$>.7= <.7= <.7%+
'&$>7%+
'&$< = <: = <0 = <.0 = < = <. %+
'&$>'%+
'&$>0= >?:= >*.:50= >-:%+
'&$>'.1.V%+
'&$>'.15..57%+
'&$<*= >?:= >-:%+
<:7 A .$B6= >:7%+
<:7 A .$B6= >:7%+
「6」区切りの正解トピック数を分離
「6」区切りの正解トピック番号を分離
57$2= (.1(%+
.1 の読込
?@.$ 2
% ;
総カテゴリ数を取得 $>.7CD%
@5'+
<.7 A .$B%+
E
5 2+
>'.1.V A +
$
>'.1.V A <.7 ) >.7CD 3 ) 4 +
<.7 ) の数 ) 0 の数 ) インデクス、
パラグラフ、正解トピック 4 トップ、ゴール
*5$>.A+ >. >'.1.V+ >.44%;
行列の器を作成 $二次元配列、各要素に を代入%
*5$>LA+ >L >'.1.V+ >L44%;
> C>.DC>LD A +
E
E
> C>'.1.V)DC>'.1.V)D A +
吸収状態の確率
> A +
*5$>.A+ >. A>.7CD+ >.44%;
カテゴリ+の類似度を行列
に入れる $負の値は のまま%
< A 5$.$B== >:7C>.D%%+ 「=」区切りのトピック番号を分離
57$2= ((>.(.1(%+
?@.$ 2
% ;
カテゴリ . 番目のトピックの数を取得 $>.7CD%
@5'+
<.7 A .$B%+
E
5 2+
>C>.D A >.7CD+
> 4A >C>.D+
カテゴリ . 番目のトピックの数
カテゴリ . 番目までのトピックの数
>7 A +
*5@ >.7 $<.7%;
.*$>.7 AK >.BA3% ;
>.7 AK >.BA+
フラグ「$番号%A」を除去し、
カテゴリ+類似度の値を抽出
.*$>.7 %;
類似度が正ならば
%
> CDC>.D A >.7+ トップ→カテゴリ . への
類似度をいれる
E
E
.*$>.7 AK 0>.BA3% ;
>.7 AK 0>.BA+
フラグ「0$番号%A」を除去し、
バック類似度の値を抽出
.*$>.7 %;
類似度が正ならば
> C>.DCD A >.7+ カテゴリ . →トップ $バック% への
類似度をいれる
E
E
*5$>LA+ >L A>C>.D+ >L44%;
> A >. 3 4 >L+
カテゴリ . の L 番目のトピック番号
.*$>.7 AK >3% ;
>.7 AK >BA+ フラグ「$番号%A」を除去し、
トピックの類似度の値を抽出
.*$>.7 %;
類似度が正ならば
> C>.DC>.7CD 4 > ) >C>.D 4 >LD A >.7+
カテゴリ . →カテゴリ . に属する
トピックへの類似度をいれる
E
.*$>:7C>.D AA 7- >.7 >--@%;
. 番目のカテゴリが不正解で属す
るトピックがδ´より小さいなら
>7 4A +
E
E
> C>.7CD 4 > ) >C>.D 4 >LDC>.D A +
カテゴリ . に属するトピック→
(
カテゴリ . への類似度をいれる
*5@ > $<%;
.*$>:7C>.D 7- >
AA >L%;
カテゴリ . が正解カテゴリのとき
かつカテゴリ . のj番目の
トピックが正解のとき
> C>.7CD 4 > ) >C>.D 4 >LDC>'.1.V)D
A +
カテゴリ . に属するトピック→
ゴールへの類似度をいれる
> C>.7CD 4 > ) >C>.D 4 >LDC>.D A +
カテゴリ . に属するトピック→
カテゴリ . への類似度を にする
E
E
E
E
.*$>7 AA >C>.D%; 不正解カテゴリ下の全てのトピックが閾値以下
ならば、そのトピックへの推移は 、
そのトピックからの推移も にする
> C>.DCD A + カテゴリ . →トップへの類似度をいれる
*5$>LA+ >L A>C>.D+ >L44%;
> C>.DC>.7CD 4 > ) >C>.D 4 >LD A +
カテゴリ . →カテゴリ . に属する
トピックへの類似度をいれる
> C>.7CD 4 > ) >C>.D 4 >LDC>.D A +
カテゴリ . に属するトピック→
カテゴリ . への類似度をいれる
E
E
7-*$<%+
7-*$<.7%+
E
*5$>.A+ >. >'.1.V+ >.44%; 行列の各成分を類似度から確率にする
#
>' A +
*5$>LA+ >L >'.1.V+ >L44%;
>' 4A > C>.DC>LD+
. 行目の各列成分の和
E
.*$>' OA %;
*5$>LA+ >L >'.1.V+ >L44%;
> C>.DC>LD A >'+
. 行目の各列成分を確率にする
E
E
E
*5$>.A+ >. >'.1.V+ >.44%;
行列 ) の作成
*5$>LA+ >L >'.1.V+ >L44%;
>: C>.DC>LD A +
初期化
.*$>.AA>L%;
>: C>.DC>LD A ) > C>.DC>LD+
E
;
>: C>.DC>LD A $)% 3 > C>.DC>LD+
E
E
E
*5$>.A+ >. >'.1.V+ >.44%;
行列 ) をコピー
*5$>LA+ >L >'.1.V+ >L44%;
>0 C>.DC>LD A +
初期化
>0 C>.DC>LD A >: C>.DC>LD+
&
E
E
*5$>.A+ >. >'.1.V)+ >.44%;
分解
*5$>LA>.4+ >L >'.1.V)+ >L44%;
>0 C>LDC>.D A >0 C>.DC>.D+
*5$>,A>.4+ >, >'.1.V)+ >,44%;
>0 C>LDC>,D )A >0 C>.DC>,D 3 >0 C>LDC>.D+
E
E
E
*5$>,A+ >, >'.1.V)+ >,44%;
逆行列を求める
*5$>.A+ >. >'.1.V)+ >.44%; 初期化
.*$>.AA>,%;
>.0 C>.DC>,D A +
E
;
>.0 C>.DC>,D A +
E
E
*5$>.A+ >. >'.1.V)+ >.44%; 解を求める $%
*5$>LA>.4+ >L >'.1.V)+ >L44%;
>.0 C>LDC>,D )A >.0 C>.DC>,D 3 >0 C>LDC>.D+
E
E
*5$>.A>'.1.V)+ >.
A+ >.))%; 解を求める $%
*5$>LA>.4+ >L >'.1.V)+ >L44%;
>.0 C>.DC>,D )A >0 C>.DC>LD 3 >.0 C>LDC>,D+
E
>.0 C>.DC>,D A >0 C>.DC>.D+
E
E
>0 A +
平均吸収ステップ数の初期化
*5$>.A+ >. >'.1.V)+ >.44%;
>0 4A >.0 CDC>.D+
E
>0 )A +
正解トピック→ゴールの ステップを除く
>?: A ((+
>-: A ((+
>*.:50 A ((+
*5$>A+ > A>.7CD+ >44%; 各正解トピックまでの
平均ステップ数を求める
.*$>:7C>D
%;
カテゴリ 番目に正解
トピックがあるならば
<' A 5$.$B== >:7C>D%%+
「=」区切りのトピック番号を分離
*5@ >' $<'% ;
.*$>?: 7 ((%;
>?: A >?:(=(+
E
.*$>-: 7 ((%;
>-: A >-:(=(+
E
.*$>*.:50 7 ((%;
>*.:50 A >*.:50(=(+
E
>?: A >?:(?5($> 3 4 >'%(A(+
各正解トピックへのステップ数
$?% のフラグ「?5$番号%A」
>-: A >-:(-5(
$> 3 4 >'%(A(+
各正解トピックへのステップ数
$-% のフラグ「-5$番号%A」
>*.:50 A >*.:50( 505($> 3 4 >'%(A(+
各正解トピックへの初到達確率の
フラグ「 505$番号%A」
>'.15..57 A +
初期化
>'.15..57 A 4 >.7CD+
トップ+
各カテゴリの位置
*5$>.A+ >. > +>.44%;
>'.15..57 4A >C>.D+
番目前のカテゴリの
トピックの総数
E
>'.15..57 4A >'+
番目での位置
*5$>.A+ >. >'.1.V)+ >.44%;
各状態から正解トピックまでの
初到達確率を求める
>*C>.D A +
初到達確率の初期化
*5$>LA+ >L >'.1.V)+ >L44%;
>*C>.D 4A >.0 C>.DC>LD
3 > C>LDC>'.15..57D+
E
E
平均ステップ数 $?% の初期化
平均ステップ数 $-% の初期化
>?: A +
>-: A +
*5$>LA+ >L >'.1.V)+ >L44%;
平均ステップ数を求める
>?: 4A >.0 CDC>LD 3 >*C>LD+
E
.*$>?: OA %;
>-: A >?:>*CD+
E
>?: A >?:>?:+
返り値の平均ステップ数 $?% の変数に値を結合
>*.:50 A >*.:50>*CD+
返り値の初到達確率の変数に値を結合
>-: A >-:>-:+
返り値の平均ステップ数 $-% の変数に値を結合
E
7-*$<'%+
7-*$<*%+
7-*$< %+
7-*$<. %+
E
E
7-*$<.7%+
7-*$<.7%+
7-*$<:7%+
7-*$<:7%+
7-*$< %+
7-*$<: %+
7-*$<0 %+
7-*$<.0 %+
7$>0= >?:= >*.:50= >-:%+
平均吸収ステップ数、各正解トピックへの
平均ステップ数 $?%、初到達確率、
平均ステップ数 $-% を返す
E
@.
0..& 50'、M,5N 連鎖 $平均吸収ステップ数% の 度数を調べるプログラム
最終更新日
$ 実行方法
@. 引数
% $ 引数 =
% $ 引数 のヒストグラム=
% $ 引数 $.7,A 7- リンク張替前後計算可%
% $ 2
',5N1
% $
',5N1
% $
',5N1
% $ @.1
% $
@.1
% $
@.1
% $
@.1
% $
@.1
% $
@.1
% $
@.1
% $
@.1
% $
@.1
% $>'5-% A <#+
.*$>'5- AA %;
0..& 50' の結果を集計
9@.+
E
.*$>'5- AA %;
M,5N 連鎖による平均ステップ数の集計
9@.+
E
.*$>'5- AA %;
M,5N 連鎖によるリンク張替前後の平均ステップ数の集計
9@.+
E
0 @. ;
'&$>2222% A +
'&$>222% A +
?A=@-A=?A=.7,A
?A=@-A=?A=.7,A
'&$>222% A +
'&$>22% A +
?A=@-A=?A=.7,A
?A=@-A=?A=.7,A
'&$>222%
'&$>22%
'&$>22%
'&$>2%
A
A
A
A
+
+
+
+
?A=@-A=?A=.7,A
?A=@-A=?A=.7,A
?A=@-A=?A=.7,A
?A=@-A=?A=.7,A
'&$>222% A +
'&$>22% A +
?A=@-A=?A=.7,A
?A=@-A=?A=.7,A
'&$>22% A +
'&$>2% A +
?A=@-A=?A=.7,A
?A=@-A=?A=.7,A
'&$>22%
'&$>2%
'&$>2%
'&$>%
A
A
A
A
+
+
+
+
?A=@-A=?A=.7,A
?A=@-A=?A=.7,A
?A=@-A=?A=.7,A
?A=@-A=?A=.7,A
?@.$ 2
%;
@5'+
'&$<.7% A .$B%+
>.7CD
>.7CFD
>.7CGD
>.7CHD
AK
AK
AK
AK
?BAJ+
TBAJ+
?BAJ+
BAJ+
U, 7 $J5&%
5).*. 5'.7J T-.7J
U, 7 $5.%
5).*. 5'.7 .7,
.*$>.7CD 8 (( 7- >.7CFD 8 (( 7>.7CGD 8 (( 7- >.7CHD 8 ((%; >2222 44+ E
.*$>.7CD 8 (( 7- >.7CFD 8 (( 7>.7CGD 8 (( 7- >.7CHD AA %; >222 44+ E
.*$>.7CD 8 (( 7- >.7CFD 8 (( 7>.7CGD AA 7- >.7CHD 8 ((%; >222 44+ E
.*$>.7CD 8 (( 7- >.7CFD 8 (( 7>.7CGD AA 7- >.7CHD AA %; >22 44+ E
.*$>.7CD 8 (( 7- >.7CFD AA 7>.7CGD 8 (( 7- >.7CHD 8 ((%;
.*$>.7CD 8 (( 7- >.7CFD AA 7>.7CGD 8 (( 7- >.7CHD AA %;
.*$>.7CD 8 (( 7- >.7CFD AA 7>.7CGD AA 7- >.7CHD 8 ((%;
.*$>.7CD 8 (( 7- >.7CFD AA 7>.7CGD AA 7- >.7CHD AA %;
$
>222 44+ E
>22 44+ E
>22 44+ E
>2 44+ E
.*$>.7CD AA 7- >.7CFD 8 (( 7>.7CGD 8 (( 7- >.7CHD 8 ((%; >222 44+ E
.*$>.7CD AA 7- >.7CFD 8 (( 7>.7CGD 8 (( 7- >.7CHD AA %; >22 44+ E
.*$>.7CD AA 7- >.7CFD 8 (( 7>.7CGD AA 7- >.7CHD 8 ((%; >22 44+ E
.*$>.7CD AA 7- >.7CFD 8 (( 7>.7CGD AA 7- >.7CHD AA %; >2 44+ E
.*$>.7CD AA 7- >.7CFD AA 7>.7CGD 8 (( 7- >.7CHD 8 ((%;
.*$>.7CD AA 7- >.7CFD AA 7>.7CGD 8 (( 7- >.7CHD AA %;
.*$>.7CD AA 7- >.7CFD AA 7>.7CGD AA 7- >.7CHD 8 ((%;
.*$>.7CD AA 7- >.7CFD AA 7>.7CGD AA 7- >.7CHD AA %;
E
.7
.7
.7
.7
.7
.7
.7
.7
.7
.7
.7
.7
.7
.7
.7
.7
(1111B(>2222(B7(+
(1115B(>222(B7(+
(1151B(>222(B7(+
(1155B(>22(B7(+
(1511B(>222(B7(+
(1515B(>22(B7(+
(1551B(>22(B7(+
(1555B(>2(B7(+
(5111B(>222(B7(+
(5115B(>22(B7(+
(5151B(>22(B7(+
(5155B(>2(B7(+
(5511B(>22(B7(+
(5515B(>2(B7(+
(5551B(>2(B7(+
(5555B(>(B7(+
E
0 @. ;
.7
.7
.7
.7
M,5N 連鎖による平均ステップ数の集計
(0$0*5%B(+
(0$*%B(+
(5$0*5%B(+
(5$*%B7(+
?@.$ 2
%;
@5'+
%
>22 44+ E
>2 44+ E
>2 44+ E
> 44+ E
'&$<.7% A .$B%+
'&$>0% A +
'&$>0 % A +
'&$>% A +
'&$> % A +
張替え前吸収ステップ数が計算されてるかのフラグ
張替え後吸収ステップ数が計算されてるかのフラグ
張替え前平均ステップ数が計算されてるかのフラグ
張替え後平均ステップ数が計算されてるかのフラグ
'&$>50% A ((+
'&$>50 % A ((+
'&$<5= >5%+
'&$<5 = >5 %+
張替え前平均吸収ステップ数の値
張替え後平均吸収ステップ数の値
張替え前平均ステップ数の値
張替え後平均ステップ数の値
*5@ >.7 $<.7%;
.*$>.7 AK 50BAJ%;
吸収ステップ数(張替前)
>.7 AK 50BAJ+
>0 A +
>50 A >.7+
E
.*$>.7AK50 BAJ%;
吸収ステップ数(張替後)
>.7 AK 50 BAJ+
>0 A +
>50 A >.7+
E
.*$>.7AK5CP D3WBAJ%; 正解トピックへのステップ数
(張替前)
>.7 AK 5CP D3WBAJ+
<5 A .$B== >.7%+
> A +
E
.*$>.7AK5 3WBAJ%;
正解トピックへのステップ数
(張替後)
>.7 AK 5 3WBAJ+
<5 A .$B== >.7%+
> A +
E
(
E
.*$>0 AA 5 >0 AA 5 > AA 5 > AA %;
いずれかの値が計算されているならば
.*$>0 AA %;
張替前吸収ステップ数が計算されているならば
.7 >50+
E
;
.7 ((+
E
.7 (B(+
.*$>0 AA %;
張替後吸収ステップ数が計算されているならば
.7 >50 +
E
;
.7 ((+
E
.7 (B(+
.*$> AA %;
張替前ステップ数が計算されているならば
*5@ >5 $<5%;
.7 >5+
.7 (BB7(+
.7 (BB(+
E
E
;
.7 ((+
#
E
.7 (B(+
.*$> AA %;
張替後ステップ数が計算されているならば
*5@ >5 $<5 %;
.7 >5 +
.7 (B7(+
.7 (BBB(+
E
E
;
.7 ((+
E
.7 (B7(+
E
E
E
0 @. ;
.7
.7
.7
.7
M,5N 連鎖によるリンク張替前後の平均ステップ数の集計
(0$0*5%B(+
(0$*%B(+
(5$0*5%B(+
(5$*%B7(+
?@.$ 2
%;
@5'+
'&$<.7% A .$B%+
'&$>0% A +
'&$>0 % A +
'&$>% A +
'&$> % A +
張替え前吸収ステップ数が計算されてるかのフラグ
張替え後吸収ステップ数が計算されてるかのフラグ
張替え前平均ステップ数が計算されてるかのフラグ
張替え後平均ステップ数が計算されてるかのフラグ
&
'&$>50% A ((+
'&$>50 % A ((+
'&$<5= >5%+
'&$<5 = >5 %+
張替え前平均吸収ステップ数の値
張替え後平均吸収ステップ数の値
張替え前平均ステップ数の値
張替え後平均ステップ数の値
*5@ >.7 $<.7%;
.*$>.7 AK 50BAJ%;
吸収ステップ数(張替前)
>.7 AK 50BAJ+
>0 A +
>50 A >.7+
E
.*$>.7AK50 BAJ%;
吸収ステップ数(張替後)
>.7 AK 50 BAJ+
>0 A +
>50 A >.7+
E
.*$>.7AK5CP D3WBAJ%;
正解トピックへのステップ数
(張替前)
>.7 AK 5CP D3WBAJ+
<5 A .$B== >.7%+
> A +
E
.*$>.7AK5 3WBAJ%;
正解トピックへのステップ数
(張替後)
>.7 AK 5 3WBAJ+
<5 A .$B== >.7%+
> A +
E
E
.*$>0 AA 7- >0 AA 7- > AA 7- > AA %;
全ての値が計算されているならば
.7 >50(B(+
.7 >50 (B(+
張替前吸収ステップ数
張替後吸収ステップ数
.7 (B7(+
*5@ >5 $<5%;
.7 (BB(+
.7 >5+
.7 (BB7(+
E
*5@ >5 $<5 %;
.7 (BBB(+
.7 >5 +
.7 (B7(+
E
E
E
E
-7 @
類似度ファイルからガーデンパスを調べるプログラム 最終更新日
SS
$ 実行方法
-7 @ %
$ 2
25.71
%
$ -7 @1 %
> :' A 9-7 @S:+
パラメータを取得
?@.$ 2
% ;
標準入力 $類似度結果ファイル% の読込み
@5'+
<.7 A .$B%+
> A 9-7 @S:$<.7%+ 不正解カテゴリ+−正解カテゴリ+
.*$> > :'%;
.7 >.7CD(B(+
番号を出力
.7 >.7CD(B(+
インデクスを出力
.7 ( A(> +
不正解カテゴリ+−正解カテゴリ+
.7 (B7(+
E
E
S)
'1 から -7 @ 評価のためのパラメータを取得 0 -7 @S: ;
'&$> :'%+
57$2= ('1(%+
'1 の読込み
?@.$ 2
% ;
@5'+
.*$-7 @BA3% ;
パラメータの取得
> :'A>:+
> :'AK-7 @BA+
E
E
5 2+
7$> :'%+
パラメータを返す
E
S)
類似度結果ファイルを読込み、
不正解カテゴリの最大値と正解カテゴリの最大値の差が パラメータより大きくなるアーティクルを求める
0 -7 @S: ;
'&$<.7% A <:+
'&$>.7= <.7%+
'&$>@= >0%+
'&$<= >= >%+
'&$>5%+
'&$>.%+
'&$> %+
57$2= (.1(%+
?@.$ 2
% ;
.1 の読込
総カテゴリ数を取得 $>.7CD%
@5'+
<.7 A .$B%+
E
5 2+
>@ A )+
>0 A )+
>5 A +
正解カテゴリ+類似度の最大値α $初期化%
不正解カテゴリ+類似度の最大値α $初期化%
正解カテゴリかどうかのフラグ $初期化%
< A 5$.$B== >.7CD%%+
「=」区切りの通しトピック番号を分離
*5$>.A+ >. A>.7CD+ >.44%;
カテゴリの数だけまわす
>5 A +
正解カテゴリかどうかのフラグ $初期化%
*5@ >.7 $<.7% ;
読込んだ類似度ファイルを調べる
.*$>.7 AK >.BA3% ;
>.7 AK >.BA+ フラグ「$番号%A」を除去し、
カテゴリ+類似度の値を抽出
*5@ > $<% ;
> AK BA+ フラグ「$番号%A」を除去し番号抽出
> A .7 > 3 +
.*$> AA >.%;
通しトピック番号から
カテゴリ番号を抽出
. 番目が正解カテゴリならば
>5 4A +
E
E
.*$>5 7- >@ A >.7%;
. 番目が正解カテゴリで
カテゴリ+類似度の最大値を更新
>@ A >.7+ 正解カテゴリ+の最大値
E
.*$>5 AA 7- >0 A >.7%;
. 番目が不正解カテゴリで
カテゴリ+類似度の最大値を更新
>0 A >.7+
E
E
E
E
不正解カテゴリ+の最大値
> A >0 )>@+
不正解カテゴリ+−正解カテゴリ+
7$> %+
E
$