7

オブジェクトの大規模なリスト(数千または数万)があり、それぞれに少数のタグが付けられているとします。数十または数百の可能なタグがあり、それらの使用法は一般的なべき法則に従います。一部のタグは非常に頻繁に使用されますが、ほとんどはまれです。実際、最も頻繁に使用される数十個のタグを除くすべてのタグは、通常は無視できます。

ここで問題となるのは、これらのタグ間の関係をどのように視覚化するかです。タグクラウドは、それらの頻度だけを視覚化したものですが、どのタグが他のどのタグと一緒に発生するかを無視します。タグ:barは、:fooとタグ付けされたオブジェクトでのみ発生するとします。それは視覚的に明らかなはずです。同様に、一緒に発生する傾向がある3つのタグについても同様です。

各タグをバブルにして、部分的に重ね合わせることができます。技術的にはそれはベン図ですが、そのように扱うのは扱いにくいかもしれません。たとえば、Googleチャートはベン図を作成できますが、3セット以下(タグ)のみです 。http
://code.google.com/apis/chart/docs/gallery/venn_charts.html3 セットに制限されている理由それはもうそれであり、それは恐ろしいように見えます。Wikipediaページの「より多くのセットへの拡張」を参照してください:http: //en.wikipedia.org/wiki/Venn_diagrams

しかし、それはすべての可能な交差点が空でない場合のみです。共起するタグが3つ以下の場合(おそらく、まれなタグを破棄した後)、ベン図のコレクションが機能する可能性があります(バブルのサイズはタグの頻度を表します)。

または、共起の頻度を表すために、視覚的に厚いまたは薄いエッジを持つグラフ(頂点やエッジなど)。

ツールやライブラリへのアイデアやポインタはありますか?理想的にはjavascriptでこれを行いますが、RやMathematicaなど、実際には何でもかまいません。興味のある方がいらっしゃいましたら、実際のデータを共有させていただきます(それが何を表しているのかを教えていただければ笑うでしょう)。

補遺:私が最初に考えていたアプリケーションはTagTimeでしたが、これは自分のおいしいブックマークを視覚化する問題にもよく対応していると思います。

4

4 に答える 4

5

あなたの質問を正しく理解していれば、ここで画像マトリックスがうまく機能するはずです。私が念頭に置いている実装は、タグ付けされたアイテムが行であり、各タグの種類が個別の列である nxm マトリックスです。マトリックス内のすべてのセルは、完全に「1」と「0」で構成されます。つまり、特定のアイテムに特定のタグが付いているか、付いていないかのいずれかです。

以下のマトリックス (このウィンドウにうまく収まるように 90 度回転させました。つまり、列は実際にタグ付けされたアイテムを表し、各行はすべてのアイテムに特定のタグが存在するかどうかを示します)、シナリオをシミュレートしました。8 個のタグ200 個のタグ付きアイテムがあります。、「0」は青色「1」は薄い黄色です。

このマトリックスのすべての値はランダムに選択されました (タグ付けされた各アイテムは、青と黄の 2 つのトークン (それぞれタグなしとタグなし) で構成されるボックスから 8 回引き出されたものです)。データに 1 つある場合、実装が非常に簡単なこの手法は、それを見つけるのに役立ちます。

Rを使用して、基本グラフィックのみを使用して (外部パッケージやライブラリは使用せず)、シミュレートされたデータを生成およびプロットしました。

# create the matrix
A = matrix(data=r1, nrow=1, ncol=8)

# populate it with random data
for (i in seq(0, 200, 1)){r1 = sample(0:1, 8, replace=TRUE); A = rbind(A, r1)}

# now plot it
image(z=A, ann=F, axes=F, col=topo.colors(12))

代替テキスト

于 2010-07-13T06:42:33.340 に答える
2

あなたがウェブをターゲットにしているなら、私はこのようなものを作成します。ノードを接続するエッジは、色が濃くなったり暗くなったりする可能性があります。あるいは、ノードを接続する力が強くなるため、ノードの距離が近くなる可能性があります。円の中にタグ名も追加します。

これに非常に適したライブラリには、次のものがあります。

調べる価値のある他の楽しいjavascriptライブラリは次のとおりです。

于 2010-07-12T12:47:45.823 に答える
2

これは古いスレッドですが、今日出会ったばかりです。

自己組織化マップの使用を検討することもできます。

これは、世界の貧困に関する自己組織化マップの例です。それはあなたがあなたの「オブジェクト」と呼ぶものを配置するためにあなたがあなたの「タグ」と呼ぶものの39を使用しました。

http://www.cis.hut.fi/research/som-research/povertymap.gif 世界の貧困のための自己組織化マップ

于 2011-09-14T20:07:30.023 に答える
1

私はそれをテストしなかったので、それが機能することを確認してください。

ダグが彼の回答で示唆しているようにマトリックスを作成できますが、ドキュメントを行として、タグを列として持つ代わりに、タグが行と列である正方マトリックスを使用します。セル T1;T2 の値は、T1 と T2 の両方でタグ付けされたドキュメントの数になります ([T1;T2] は [T2;T1] と同じ値になるため、対称行列が得られることに注意してください)。 .
これが完了すると、各行 (または列) は、T 次元の空間にタグを配置するベクトルになります。この空間で互いに近くにあるタグは、しばしば一緒に発生します。共起を視覚化するには、方法を使用して空間の次元を減らすか、任意のクラスタリング方法を使用できます。たとえば、kohonen 自己組織化マップを使用して T 次元空間を 2D 空間に射影すると、各セルがタグ空間の抽象ベクトルを表す 2D 行列が得られます (ベクトルが存在する必要がないことを意味します)。あなたのデータセットで)。このベクトルは、ソース空間のトポロジー制約を反映しており、いくつかのタグの重要な共起を反映する「モデル」ベクトルと見なすことができます。さらに、このマップ上で互いに近いセルは、ソース空間で互いに近いベクトルを表します。
マトリックスの最終的な視覚化はさまざまな方法で行うことができますが、前の処理の結果を最初に確認せずにアドバイスすることはできません.

于 2011-05-24T11:46:22.583 に答える