1 / 28

PTT2 Life Analysis of A Person in PTT2

PTT2 Life Analysis of A Person in PTT2 . 資工四 B94902003 黃竣瑋 資工四 B94902032 陳縕儂 資工四 B94902095 陳晉暉 資工四 B94902097 呂哲安. PTT2 manager ( wens ). Parser Controller. files. PTT2. Crawler. parser. parser. parser. User Interface. Programs. Programs. Programs. Database. User.

taji
Download Presentation

PTT2 Life Analysis of A Person in PTT2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PTT2 LifeAnalysis of A Person in PTT2 資工四 B94902003 黃竣瑋 資工四 B94902032 陳縕儂 資工四 B94902095 陳晉暉 資工四 B94902097 呂哲安

  2. PTT2 manager (wens) Parser Controller files PTT2 Crawler parser parser parser User Interface Programs Programs Programs Database User System Structure

  3. Parallel Skill • MapReduce (Hadoop) • 計算高維度的K-means • OpenMP • Insert data into DB • testing model weight (bayesian原理) • 尋找IP location • 對推文時間作sort

  4. System Component • BBS Crawler • Parser Controller • Program Components • User Interface

  5. System Component • BBS Crawler • Parser Controller • Program Components • User Interface

  6. BBSCrawler (1) • 給定板名即可自動抓下所有板名內的文章 • Telnet Protocol • 將telnet回傳的封包內容的command和content分開,同時對telnet作回應。 • Terminal • 模擬BBS上buffer畫面,包含判斷content中對游標下的command及畫面的改變。 • Robot • 判斷此時的state • Crawler • 做每個詳細的動作

  7. Crawler data Robot Terminal Telnet Protocol PTT2 BBSCrawler (2)

  8. System Component • BBS Crawler • Parser Controller • Program Components • User Interface

  9. Parser Controller • Function • Parsing all files to extract • 標題、作者、po文時間、內文、po文ip、推文時間、推文者、推文內容等資訊 • Inserting into database • Parallel Programming • 每一篇文章都給一個thread去parse information

  10. System Component • BBS Crawler • Parser Controller • Program Components • User Interface

  11. Program Components • 個人分析 • 十大名言 • 凡來過必留下痕跡 • 凡PO過必留下IP

  12. 個人分析 (1) • 分析板主文章決定六種指數並以此找尋相似的人 • 變態、貪吃、氣質、黑特、宅宅、陽光 • Using corpus in PTT to generate LM • Text Normalization • Text Segmentation • Stopword Removing • Training LM • Classification(bayesian理論) • 利用LM中的機率計算所有文章對於六個model的weight,以估計個人的六項指數

  13. 個人分析 (2) • Parallel Programming • 使用OpenMP用6個threads將之平行放進language model去testing • 效能比較(對一篇文章產生六個weight) • Sequential • 0.384u 0.016s 0:00.40 97.5% • Parallel with p = 6 • 0.320u 0.032s 0:00.21 166.6%  speedup ≈ 2

  14. Program Program LM1 LM2 LM3 LM4 LM5 LM6 LM1 LM2 LM3 LM4 LM5 LM6 個人分析 (3)

  15. 個人分析 (4)

  16. 個人分析 (5) • 星座分析 • 在板內尋找生日文,並從中獲得日期的資訊,以此判斷板主的星座

  17. 十大名言 (1) • 找尋板主較常用的句子,並且列出與此句相似的前幾名句子 • K-meanspreproccessing • 計算sentence中character的unigram及bigram • 移除機率太小的將維度降至約10000維 • 每一句當作一space的vector

  18. 十大名言 (2) - K-means • Step 1. Random決定K個center • Step 2. 計算每個點最近的center並歸到同一群 • 距離為cosine similarity • Step 3. 同一群中取平均值當作新的center • Step 4. 重複Step 2.和Step 3.,最後計算出K個cluster • Step 5. 群組排序

  19. 十大名言 (3) • Parallel Programming • 用MapReduce(Hadoop)將每個點都平行分下去計算與center的距離 • 效能比較 (約10000句,每句10000維) • Sequential (perl) • 等了3小時以上都無法跑完 • Parallel with Mapper = 4 & Reducer = 2 • 約15~20分鐘 時間的下降非常明顯(speedup很大)

  20. 十大名言 (4)

  21. 凡來過必留下痕跡(1) • 個板中從開板至今所有推文者所出現的時間及頻率 • Interval • 同一個人兩次推文時間相差超過此數則顯示中斷點 • Density period • 以多少時間為單位來計算推文數 • Parallel Programming • 對所有使用者出現在板上的所有時間作sorting時使用到平行的技術。

  22. 凡來過必留下痕跡(2)

  23. 凡PO過必留下IP (1) • 板主po文的IP位置跟時間的對照,呈現在UI並表現時間與空間的概念 • 根據IP去查找板主在地圖上的位置

  24. 凡PO過必留下IP(2) • Parallel Programming • 對於每一個IP去查詢對應到的地點時,需要耗費較長的時間,因此使用OpenMP,以平行化的方式去算每個IP對應到的位置。 • 效能比較 • Sequential • .496u 2.060s 0:52.53 14.3% • Parallel with p = 16 • 4.680u 1.820s 0:09.12 71.2% 可從50多秒下降到10秒內

  25. 凡PO過必留下IP(3)

  26. System Component • BBS Crawler • Parser Controller • Program Components • User Interface

  27. Demo ^.<

  28. Thank you for your listening! 

More Related