• 沒有找到結果。

地理條件計算

第三章 研究方法

第四節 地理條件計算

目前 Facebook 的貼文中,使用者可為自己的文章標註地點,而個人頁面的 地方也可找到使用者過往的打卡紀錄,所以在人與文章上面都會有關於本研究所 需要的地理資料。觀察這些打卡地點,距離的遠近是直觀的因素之一,若打卡的

資料點距離使用者越近,則使用者可能會對有這些標註地點的文章更有興趣。但 除此之外,這麼大量的資料集一定有除了僅有兩點間的遠近關係以外的現象,由 第二章之文獻探討可知,這些打卡的資料我們有兩個面向可以去探討,分別是距 離與打卡資料的叢聚關係。若能將這些資料作分群,便能觀察出哪些點是屬於同 一個群體,證明這些劃分在同一群的打卡點有一定某個相似的特性。

以下介紹怎麼將使用者與文章的資料轉化成權重分數,本研究在這些打卡紀 錄方面使用兩條件來影響搜尋結果排名,一為先對目前資料進行叢聚分析計算,

將幾個密集度比較高的區域劃分起來。如此,這些在同樣區域內的打卡紀錄被歸 類為相似度高。劃分完後,分別依照不同情況對於兩點間的相似度與距離作計算,

以下各小節將對資料處理與採用的技術進行更詳細的介紹。

(一) DBSCAN (Density-based spatial clustering of applications with noise)叢聚 技術

首先在面對許多 GPS 資料時,必須先對這些資料進行叢聚計算,便可知道哪 幾個資料的相似度為高,應證本研究相似度高即較相信搜尋結果之論點。目前已 經有許多學者提出許多關於叢聚分析的技術,例如分割式與階層式叢聚。本研究 由於現今使用者的習慣仍然會只在某幾個區域有打卡的行為,且以探討熱門區域 之不同特性為主,所以對於資料中的雜質除了單純考慮距離外不會作過多考慮,

這時就需要一個考慮以密度為主的叢聚技術且能忽略雜質因素的演算法。其中 DBSCAN 演算法有著不需要事先預知要分幾群、排除雜質資料以及不規則分布 形狀幾種優點(Thang et al., 2011)(Ali et al., 2010),所以本研究採用 DBSCAN 對於 所有 GPS 資料作第一步叢聚動作。

此演算法必須先設定兩個參數,一為鄰近區域的半徑(Eps),另一個為存在於 該鄰近區域的最小點數(MinPts),只要在鄰近區域的半徑(Eps)內之資料點數大於 MinPts,即形成群聚,接著往外擴展群聚範圍。而最後對每個資料點會產生三種 情況,核心點、邊緣點以及雜訊點。簡單來說,若是半徑設為 5 而最小點數設為

3,那現在在計算第一個點時在它半徑單位 5 內若有超過 3 個別的點在範圍內的 話,此點被歸類為核心點。若是沒有超過 3 個點在範圍內的話但座落在核心點範 圍內,此點被歸內為邊緣點。若範圍內沒有超過規定的值且也不屬於核心點範圍 中的點則為雜訊點。

圖 3.4 DBSCAN 各點的定義

此外,若某核心點也在別的核心點之範圍內,便會持續擴大這個群體的範圍,

直到最後旁邊只剩邊緣點為止。

圖 3.5 核心點持續計算產生的區域

然而,此演算法最大的缺點為必須自己定義半徑以及最小點數,且定義出來 的值會嚴重影響最後分群的結果。

本研究採用 DBSCAN 分群技術主要原因為不用事先定義分幾群以及他能呈 現不規則的分群結果。藉由這樣的分群,可將資料庫中所有的 GPS 地點分成不

同群體,

(二) Google Distance Matrix API

本研究考慮兩點間的距離遠近因素,所以使用 Google Distance Matrix API 進行兩點間的距離計算。此 API 可將輸入的兩點之經緯度,直接計算出兩者間 的距離與預計到達時間。優點為它是利用 Google Map 上的道路來計算,而並非 單純直線距離,如此便可以將中間可能有地形上的干擾因素排除,而就是實際上 使用者間流動之距離差異。

圖 3.6 輸入地址或經緯度即可算出距離與預估時間

(三) 餘弦相似度(Cosine Similarity)

因為 DBSCAN 的分群結果,便可以知道每個使用者在每個區域內有多少打 卡數量。當一個使用者在一個區域內提供了大量的紀錄,便可知道或猜測此使用 者對於這個熱門區域有一定的了解甚至是喜愛。所以當搜尋者在考慮結果時,依 自己本身在各個區域內的打卡習慣,便可能考慮與自己在同樣有興趣的區域內留 下越多紀錄的使用者,較能相信他們提供的訊息。本研究使用餘弦相似度來計算 最後兩使用者間的相似程度,首先必須將各個使用者在分群結果內的打卡數量計 算出來,便可比較使用者之間的差異性。舉例來說,DBSCAN 的分群結果為 r1、

r2、r3、r4、r5,有四個使用者分別在這五個區域內打過卡,下列表格為各個區 域內的打卡數量。

圖 3.7 使用者在各個區域內打卡數表格

當要計算 user i 與 user j 的相似度時,便將(1.0.2.5.0)、(0.10.0.1.0)提取出來利 用餘弦相似度的公式產生結果:

圖 3.8 餘弦相似度計算

(四) 權重值計算

本研究採用兩種方式利用打卡資料來增強原本的社會搜尋系統,兩點距離以 及使用者相似度計算。由文獻探討來看,人們迫於立即的需求會更相信與使用者 所在位置距離越近的文章。但考慮到一種情況,單純考慮某個在高雄的使用者,

高雄到台北的距離是高雄到台中的兩倍,計算上會將它們的差異歸類為兩倍,但 事實上使用者對於自己不熟悉的地方的感覺應該都是差不多的,這也是本研究不 只考慮距離因素的理由。而本研究將所有打卡地點分群的目的也在此,分群的所 有結果即為各自的熱門生活圈,如果某個點在某個區域內則定義為在當地,對於 其他的區域都定義為不熟悉。對於當地來說,使用者可能會比較考慮距離自己遠 近的條件,而對於非當地來說,則得藉由計算使用者相似度來衡量。所以在權重 值計算方面,本研究將如果兩個點皆在同個群聚內的情況下考慮距離遠近的條件 權重放到最大,相反地兩個點沒有在同個區域內的話距離權重將會大大地減少。

Wl(user A , B) =

α * Wd(user A , B ) + Wsi(user A , B ) (3.4)

RelA B =( Wl + Ws )* TFIDFj (3.5) 其中α為距離權重常數,若搜尋者與某篇文章地點相屬同一個群聚,此常數 設為 1,若為不同群聚但相同縣市則設為 0.7,若為完全不同縣市則設為 0.2,意 即其影響力會隨不同區域的相異性而擴大。整個算式(3.7)表示為使用者 A 對於 某篇文章 B 的地理關係。式(3.8)為結合社會關係與地理條件的計算所產生的社會 關係權重。

(五) 詳細實驗流程

首先搜尋行為的進行,從搜尋者本身撈取其塗鴉牆的資料,針對每個文章擷 取出其作者與被打卡之地點,對這些所有地點資料進行 DBSCAN 分群技術得到 不同群聚點。接著計算搜尋者與這些文章之作者的社會關係與打卡相似度,也詢 問搜尋者本身所在的地點位置。最後將所有資訊以公式計算出數值高低進行排 名。

第五節 實驗設計與評估方式

在本節中將說明本研究之實驗設計與驗證方式,主要會找 10 位使用者進行 本實驗所提出的搜尋系統。由於本研究以個人打卡紀錄來改善原本只考慮人際關 係的排名,所以這些使用者也必須是至少擁有智慧型手機,並會在 Facebook 上 面提供一定量之個人打卡點的人,我將它設定為至少一個月會有一次的打卡行為,

且累積至少三十 次的紀錄以 上。下列將實驗設計與評估方式兩部分進行說 明。

(一) 實驗設計

本研究主要是為了改進社會搜尋結果滿意度,由於跟一般搜尋系統並不相同,

搜尋結果為每個人的社群貼文內容,對每個人心目中的價值皆不相等,排名第一 名並不一定是最充實或最正確的內容,往往決定於搜尋者當下的需求或感覺。所 以本研究採用比較排名的評估法,對兩種搜尋模式的排名進行比較,一個為僅加 入考慮社會關係與互動程度之搜尋,另一個則在此方法上加入打卡紀錄之相似度 與打卡紀錄的條件之搜尋。實驗設計分為兩輪的搜尋,總共有十次對於兩系統輸 入相同字詞的搜尋動作。每次搜尋結果後都會要求使用者對於各系統的結果進行 排名,這時系統會列出搜尋結果前五項的內容而先不排名,受測者先針對此五項 內容進行自己心目中的排名,然後系統再根據兩類別的搜尋系統各列出前五名的 結果。實驗最後將依照受測者自己的排名與系統兩種排名進行比對比較相似度,

所以最後每位受測者對每個系統將產生總共 20 個實驗結果。

圖 3.9 實驗設計-搜尋結果與填寫排名

(二) 評估與驗證方式

在實驗評估階段需建立一套可標準衡量之方法,在傳統的文字檢索中,通常 都是使用查全率(Recall)與查準率(Precision)。但由於此兩項衡量值需要定義文件 的相關與不相關性,換句話說就是文件有沒有達成查詢條件的屬性。傳統文件檢 索以字詞出現數量來定義,但在社會搜尋之研究中卻很難去定義任何搜尋結果有 沒有真的正確,因為這完全依照使用者自己的感覺與判斷。所以本研究讓使用者 對於本系統之搜尋排名結果進行自己的排名,便可以知道系統與使用者心目中的 排名相似度。

在統計上有數種分析兩變數間相依關係的方法,其中 Kendall 的相關係數

(Kendall tau rank correlation coefficient)並不需要去探討屬性值之間的差異,它 是直接針對值之間的比較排行高低建立一個排行列表,便可以針對兩屬性的排名 計算其相似性,以下為此相關係數之公式。

(3.10) 其中 n 為物件數,P 為在兩個排名間,某個物件的排名放在另一個排名列表

(3.10) 其中 n 為物件數,P 為在兩個排名間,某個物件的排名放在另一個排名列表

相關文件