SNS 上のデータを利用したユーザの目的スポットの抽出手法
基礎設計室 新宮 貴暉

1. はじめにに変換する。

Twitter はテキストや画像、動画を投稿できるソーシャ
ル・ネットワーキング・サービス（SNS）である。個人の体

2.3. コサイン類似度とは験から災害情報に至るまで、様々なツイートが日々投稿

コサイン類似度とは、ベクトルの向きがどれだけ似ていされている。本稿では、ツイートのテキスト(本文)と位置るかを測る指標である。ベクトルa, b について、ベクトル情報から、事前に定めた目的と合致するスポットを抽出間の角をθ とするとき、コサイン類似度cosθ は次式(1)でする手法を提案する。

表される。

2. 提案手法
2.1. スポット抽出の概要
次の 4 ステップで目的別スポットの抽出を行う。

cos θ =

a ・ b (内積)|a||b|(大きさ × 大きさ)

(1)

コサイン類似度は[-1,1]の値を取り、ベクトルの向きが近いほど値は 1 に近づく。

1. ツイートのテキストのベクトル化
2. ツイートの位置情報（緯度と経度）について、ユークリ
ッド距離を用いてクラスタリング

2.4. クラスタリングとは
クラスタリングとは、何らかの規則の基でデータをグル

3. 2 で得られたクラスタをツイートのテキストについて、コープ分けすることである。データの分析や分類に用いらサイン類似度を用いてクラスタリングれる手法である。図 2 に例を示す。例では座標間の距離

4. クラスタに含まれるツイートのテキストを用いて、目的に基づいてクラスタリングが行われており、3 つのクラスタのクラスタを抽出が形成されている。

この 4 ステップにより、人が密集し、かつ同様の目的を持って集まる地点をユーザの目的別に抽出する。

2.2. テキストのベクトル化とはテキストのベクトル化とは、図１に示すように文章をベクトル（数値）に変換することであり、コンピュータが人間の言葉の処理（自然言語処理）を行うために欠かせない技術である。
↓↓↓

図１. テキストのベクトル化の例

本研究では、2018 年に Google が発表した BERT [1](Bidirectional Encoder Representations from Transformers)という自然言語処理モデルを用いる。これは最近話題となっている chatGPT [2] と同じ Transformer [3] という自然言語処理技術を基としている。今回、東北大学が公開している日本語 Wikipedia 全文で学習済み BERT
[4] を用いて、ツイートの本文を 768 次元の特徴ベクトル

図 2. クラスタリングの例

本研究では、DBSCAN [5] (Density-based spatial clus-る。そして、形成したクラスタに含まれるテキストのベクト

tering of applications with noise)というクラスタリング手法

ルを cos 類似度に基づいて DBSCAN によりクラスタリンを用いる。距離の閾値 ε と個数の閾値 MinPts（どちらもグする。結果として位置情報で密集かつ、テキストの類ユーザが与えるパラメータ）を用いて、次に示す条件の似度があるクラスタが形成される。そこで本稿では、形成基でクラスタを形成し、定義する。

されたクラスタを人が何らかの目的をもって密集している地点であるとみなし、ユーザの目的と合致したスポットの(1) 任意のデータ dt から距離 ε 以内の近傍Nε (dt)に抽出に用いる。

MinPts 以上のデータが含まれている(|Nε (dt) | ≥ Minpts)とき、dt をコア点とする。

2.5. ユーザの目的スポットの抽出
ユーザの目的に合致したクラスタの抽出は、事前に作(2) データdt1 , dt2 , …, dtnがコア点であり、dti の ε-近傍成した単語リスト（以降、手がかり語とする）がツイートのNε (dti ) にdti+1 が 含まれている(dti+1 ∈ Nε (dti ) )なら ば、本文中に出現するかを確かめることで行う。今回ユーザ

dt1 , dt2 , …, dtn は同一のクラスタに分類される。またクラスの目的として、令和３年島根県観光動態調査結果[6]より、タ内の任意の点について、dti から到達可能であるという。

「食事」、「土産」、「健康・温泉」、「歴史・景観」の 4 つを用意した。事前に収集した手がかり語数とその例を表 1

図 3 に DBSCAN の例を示す。例ではdt1 , dt2 , dt3 はコア点であり、dt1 からdt5 に到達可能であるという。また、dt6に示す。収集には WikipediaAPI と Weblio 類語辞典 を用いた。のようにどのクラスタにも属さないデータをノイズ（外れ値）

表 1. 各手がかり語の個数という。このように DBSCAN は任意の形状のクラスタを形

目的単語数単語例成可能であり、ノイズを分離できるという特徴がある。

食事3167

アジフライ

土産60買う

健康・温泉

48

温泉

歴史・景観

100景色

3. 実験
ここでは実際にスポットの抽出を行う。データセットには松江駅、出雲市駅、米子駅から半径 10 km 以内で投稿されたツイートを用いた。2.4 節で示したクラスタリング
手法により、松江駅周辺で 793 クラスタ、出雲市駅周辺で 474 クラスタ、米子駅周辺で 755 クラスタが形成された。
今回用いた DBSCAN のパラメータを表 2、目的別に抽出したクラスタの例を表 3, 4, 5 に示す。例としては手がかり語の出現数が多かったクラスタを示した。クラスタの名
表 2. DBSCAN のパラメータ

図 3 . DBSCAN の例

データ

εMinPts

類似度関数グを行う。まず位置情報（緯度と経度の 2 次元）をユーク

位置情報0.0001

10

ユークリッド距離

リッド距離に基づいて、DBSCAN によりクラスタリングす

テキスト

0.1

10

コサイン類似度

本手法では、位置情報とテキストを用いたクラスタリン

称についてはツイートの内容と位置情報を基に決定してrIPS 2017, pp.5998-6008, 2017いる。また、同一のスポットが複数のクラスタで抽出される場合があるが今回は除いている。

[4] 東北大学乾・鈴木研究室，“Pretrained Japanese BE
RT models”，https://github.com/cl-tohoku/bert-japanese/

4. 考察（参照 2022 年 6 月 20 日）

クラスタリングの結果として、各駅の半径 10km 以内で十分な量のクラスタが形成された。また、概ね目的にあ[5] Ester, M. et al., “A Density-Base-d Algorithm for Dis-ったクラスタが抽出されていたように考えられる。しかし本

covering Clusters in Large Spatial Databases with Noise”,

手法では、特定ユーザが頻繁にツイートをする地点（美in Proc. KDD-96, pp.226-231, 1996.

容院、民家など）や、地名に「鍋」等の手がかり語が含まれている地点（朝鍋ダム、温泉駅など）も抽出されてしま[6] 島根県商工労働部観光振興課，“令和 3 年島根県っていた。これは手がかり語を用いて目的別のスポットを観光動態調査結果”， https://www.pref.shimane.lg.jp/to抽出したことが原因であり、別手法の提案など改善が必

urism/tourist/kankou/chosa/kanko_dotai_chosa/R3kankod

要である。

otai.data/2021kankoudoutaityousakekka.pdf（参照 2022
年 5 月 15 日）

5. まとめと課題
本稿では位置情報付きツイートを利用してクラスタを形成し、手がかり語を用いて目的別にクラスタを抽出した。
本手法では、目的に合致したクラスタが抽出されていた
一方、民家や美容院など目的とは関係のないクラスタも抽出されていた。
本稿で用いた手がかり語や、クラスタの評価は客観的なものではないという問題点がある。クラスタの多項分類手法や他の評価指標を取り入れ、抽出されたクラスタの確かさの裏付けを行うことが課題である。

6. 参考文献[1] Devlin, J. et al., “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding”, Proceedings of the 2019 Conference of the North American
Chapter of the Association for Computational Linguistics:
Human Language Technologies, Volume 1 (Long andShort Papers), pp.4171-4186, 2019.

[2] openai, “Introducing ChatGPT”, https://openai.com/blog/chatgpt/ (参照 2023 年 6 月 19 日)[3] Vaswani, A. et al., “Attention Is All You Need”, Neu-表 3 抽出した松江駅周辺のクラスタ

目的

クラスタ

食事

松江駅

土産

歴史・景観

健康・温泉

松江駅

松江城

松江しんじ湖せおカレー

バーガーキンジョイフル

個人ユーザのグ 松江南店

松江東朝日店

投稿（民家）

宍道湖 しじ島根県物産観出雲そば きみ館

光館

がる

個人ユーザの宍道湖夕日ス

八重垣神社

松江水郷祭

投稿（民家）

ポット とるぱ

玉造温泉駅

玉造温泉 松玉造温泉

玉造温泉ゆ〜乃湯（全域）ゆ

奥出雲そば処手打ち出雲そ

出雲大社

一福

ば えにし

手打ち出雲そ奥出雲そば処

手打ち・出雲献上そば 羽ば えにし

一福

そば処 田中

根屋

イオン松江

温泉駅

表 4 抽出した出雲市駅周辺のクラスタ

目的

クラスタ

食事

美容室

土産

出雲市駅

出雲市駅

屋
歴史・景観

出雲大社

島根県古代出

出雲大社

出雲大社

個人ユーザの拝殿・御本殿・雲歴史博物館

神楽殿

熱溜の大鳥居投稿（民家）

出雲平成温泉

しっとりつるつ

出雲大社

えんや温泉

駅前の店

個人ユーザのマクドナルド（店舗複数）

投稿（民家）

米子南店

すなば珈琲

個人ユーザの美容室

八足門
健康・温泉

出雲駅前温泉

る北山温泉

らんぷの湯

表 5 抽出した米子駅周辺のクラスタ

目的

クラスタ

食事

朝鍋ダム

土産

あそび Cafe コ

美容室

お菓子の壽城投稿（民家）

ロン
歴史・景観

個人ユーザの美容室

お菓子の壽城めがねのスエ米子城跡

ツグ plus(久米城)

日帰り温泉 オ

個人ユーザの皆生温泉 おーシャン

投稿（民家）ーゆランド

投稿（民家）
健康・温泉

皆生温泉 汐の湯

皆生ホテル