Wolfram言語

電子メールの送信者間の関係を分析する

メールボックスの送信者グラフは,単一の送信者を表す頂点と,2人の送信者が(片方がもう片方に直接返信していてもなくても)同じ会話スレッドに参加していることを表す辺からなる.グラフは,両方の送信者が参加しているスレッド数で辺に重みを付けることで,同じスレッドに参加しがちな送信者を示す.この例では,ここから取ったメーリングリストのアーカイブを使っている.

ダウンロードされたMBOXがfileに保存されていると仮定して,まず,先の例で説明したように会話グラフを作成する.

完全なWolfram言語入力を表示する

"MBOX"から全送信者を抽出して送信者グラフの頂点を得る.

メッセージスレッドを分割し,各スレッドをメッセージIDのリストに変換する.

各メッセージIDを送信者アドレスに変換する.各スレッドで重複するものは削除する.

各スレッドの送信者ペアを求め,求まったペアを辺の平坦なリストとして返す.

計算した頂点と重複しない辺でグラフを作る.

VertexDegreeを使って各頂点にラベルを付ける関数を定義する.あるユーザと同じスレッドに参加しているユーザ数が多いほど,そのユーザの頂点が大きくなるようにする.

完全なWolfram言語入力を表示する

辺の太さをそれが現れるスレッド数と比例するようにする.

これらの特性を前のグラフに加えて完全な送信者グラフを得る.

関連する例

de en es fr ko pt-br zh