[1] SuikaWiki4 は、 SuikaWiki の4つ目のメジャー・バージョンでした。
文書の tfidf データ & 転置索引データを更新する
要・ID ロック (文書 XML キャッシュデータ作成のため)
要・ID ロック (文書 tfidf データ更新のため)
要・転置索引ロック
ちょっと遅い
要・ID ロック (グラフノード対応情報取得のため)
要・グラフロック (グラフノード追加のため)
- 各 Wiki page (ID ベース) に関連 Wiki page (ID ベース) のリンクを出す
- 各 Wiki page (名前ベース) に含む Wiki page (名前ベース) のリンクを出す
- Wiki page ID からノード ID を引く
- ノード ID から隣接ノード ID を引く
- 隣接ノード ID から Wiki page ID を引く
- Wiki page 名から転置索引を開く
- 転置索引から Wiki page ID を得る
- Wiki page ID に対応するノード ID を決定する (要・グラフロック)
- 空きノードがあれば、その ID にする
- 空きノードがなければ、グラフにノードを追加し、そのうちの1つの ID にする
- Wiki page 内容から文書 tfidf データを作成する (要・ID ロック) → 実装済み
- tfidf 転置索引を更新する (要・転置索引ロック) → 実装済み
(最後の2ステップは少し遅い)
- Wiki page 内容から文書 tfidf データを更新する (要・ID ロック) → 実装済み
- tfidf 転置索引を更新する (要・転置索引ロック) → 実装済み
(少し遅い)
- ある Wiki page ID について
- Wiki page ID に対応するノード ID を決定する
- ノードの満足値を決定する
- 2ノード間の満足・不満足判定を行い、満足率を求める
- 満足値が閾値を下回らない場合、停止する
- ノード移動を行う (要・グラフロック、要・ID ロック)
- 隣接ノード幅優先探索、最大 20 ノードくらい?、見つからなければ停止する
- ID・ノード関連付け情報を更新する
- ある 2 Wiki page IDs について、
- tfidf データを読み込み、学習を行い、
- 語重みベクトルを更新する (要・語重みロック)
$db->id_tfidf isa SWE::DB::IDText
CVS: なし
キーは文書 ID、値は SWE::Data::FeatureVector を直列化した文字列。
$db->name_inverted_index isa SWE::DB::HashedIndex
CVS: なし
キーは語、値は文書 ID と文書の TF・IDF 値のハッシュ。
[2]
sw
sw4 ids 12956 + sw3 14175
- 27131