Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Topic Modeling with Python: What do Customers Care about Digital Banking Apps?

tlyu0419
June 05, 2024
46

Topic Modeling with Python: What do Customers Care about Digital Banking Apps?

網路銀行App 的使用體驗是銀行在發展數位金融的一項成功關鍵,直接影響到客戶對於企業的忠誠度。然而要分析使用體驗並不是件容易的事情
雖然 Google Play/Apple Store 的應用市集已經提供 APP 的滿意度分數了,而滿意度卻過度的簡化了使用體驗背後所包含的訊息,無法藉此找到對 APP 的優化建議
在這次的演講中我將以台灣 19 間銀行的 APP 在 Google Play 上的 31,474 筆評論資料為例,示範透過 Python 進行主題模型(Topic modeling) 的方法以及實務的分析經驗。最終從文本中萃取出不同的討論主題,提供公司具有商業意義的分析洞察與建議

tlyu0419

June 05, 2024
Tweet

Transcript

  1. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 •

    網路銀行App 的使用體驗是銀行在發展數位金融的一項成功 關鍵,直接影響到客戶對於企業的忠誠度。然而要分析使用 體驗並不是件容易的事情。 • 雖然 Google Play/Apple Store 的應用市集已經提供 APP 的滿意度分數了,而滿意度卻過度的簡化了使用體驗背後所 包含的訊息,無法藉此找到對 APP 的優化建議 • 在這次的演講中我將以台灣 19 間銀行的 APP 在 Google Play 上的 31,474 筆評論資料為例,示範透過 Python 進行 主題模型(Topic modeling) 的方法以及實務的分析經驗。最 終從文本中萃取出不同的討論主題,提供公司具有商業意義 的分析洞察與建議 NCCU PyDay June 2, 2024 Topic Modeling with Python: What do Customers Care about Digital Banking Apps? #Python #Topic Modeling #數位金融 游騰林(tlyu0419) 騰林是來自國泰金控的資料科學家,先後在電信業和 金融業服務,有超過 8 年的數據分析、機器/深度學 習模型的實務經驗 喜歡透過資料科學技術動手解決現實世界中的問題多 過於理論研究。閒暇之餘也會在各大技術年會分享實 踐後的踩坑經驗 心中理想的工作形態是擔任顧問,透過分享資料科學 的專案經驗與技術,協助企業提升經營成效
  2. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Outline

    • (10M) 業務場景 • 應用場景 • 探索性分析 • (90M) Topic Modeling • LDA • Word2vec • Transformer • (10M) 文本分析技巧 • (10M) QA 6
  3. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 •

    企業在進行產品開發時通常會以敏捷開發的方式對產品進行迭代優化 • 由需求單位提需求給開發單位對功能做開發/優化 敏捷開發與產品迭代 7 Ref: 如何进行敏捷开的迭代跟进_云效(Apsara Devops)-阿里云帮助中心
  4. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 •

    企業在進行產品開發時通常會以敏捷開發的方式對產品進行迭代優化 • 由需求單位提需求給開發單位對功能做開發/優化 敏捷開發與產品迭代 8 Ref: 如何进行敏捷开的迭代跟进_云效(Apsara Devops)-阿里云帮助中心 • 公司發展政策 • 產品發展規劃 • 市場環境變化 • 客戶使用回饋 • …
  5. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 市場環境變化

    9 Ref:美股複委託電子下單割喉戰! 一表看5券商手續費讓利助攻 市場每時每刻都有事情在發生, 如何 即時、精準且省力的產出 商業洞察會是重要的工作
  6. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 客戶使用回饋

    10 客戶至公司經營的社群平台反饋使用狀況與建議 公司可以根據客戶反饋的意見進行回應&處理 Facebook/ Instagram / Line / Google Map / Youtube / …
  7. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 客戶進線客服中心

    我待過 3 間公司的客服進線量(都不是小數目) • 公司A: 30萬通電話/月 • 公司B: 10萬通電話/月 • 公司C: 2萬通電話/月 11 公司每天都有相當多客戶會進線客服中心 透過分析進線問題能找出系統/流程中的斷點 實際在進行分析前會需要先經過語音辨識與個資遮罩 後面才交由分析人員進行分析,轉換為後續的工項
  8. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 資料搜集方式

    (沒有什麼學問的) 爬蟲程式 1. 依序開啟要收集資料的網站 2. 點擊 ”查看所有留言” 3. 從”關聯性最高”切換為 “最新” 4. 透過 AutoGUI 移動滑鼠至 modal 正中央 5. 透過 AutoGUI 持續送出滾動滑鼠的指令,直到 沒有更多資料時停止 6. 保存網頁原始碼並進行剖析 7. 將資料存為 DataFrame 格式 13
  9. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 資料樣貌

    • 銀行APP留言資料樣貌 • 31,474 rows * 6 columns • 欄位說明 • index: 流水編號 • app_name: 銀行APP名稱 • name: 客戶暱稱 • dtm: 留言日期 • score: 滿意度分數 • text: 留言內容 • 資料清理 • 移除太久遠的資料 (20220101 前的資料) • 移除後剩 28,326 筆資料 14
  10. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Top5

    網銀APP 滿意度分數變化 • 滿意度分數的變化 • 分數變化的背後到底發生了什麼事? 15
  11. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Top5

    網銀APP 滿意度分數變化 異常變化的資料在抱怨什麼事情 Richard: 202308 / 中國信託: 202203 國泰: 202401 / 富邦: 202307 玉山: 202210 16 Code
  12. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Top5

    網銀APP 滿意度分數變化 • 有 Domain 的話能知道這些事情 • 但作為資料科學家有機會導入數據 技術進行分析嗎? 17
  13. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Outline

    • (10M) 業務場景 • 應用場景 • 探索性分析 • (90M) Topic Modeling • LDA • Word2vec • Transformer • (10M) 文本分析技巧 • (10M) QA 18
  14. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Topic

    Modeling 的典範&轉移 19 • 1>2: 克服了詞的語義的議題 • 2>3: 克服了詞語順序的議題 LDA (2003) 詞向量 (2013) Transformer (2017) LDA 是早期的主題模型方 法。分析時需要先將文本 斷詞並轉為詞袋的形式, 再從文檔中自動挖掘潛在 的主題 透過詞之間的共現關係將 關鍵詞投影至稠密的向量 空間中,並接續進行下游 的分群任務 透過 self-attention 的機制, 讓模型能同時考慮到文本序 列中所有元素的資訊,將 句 子/文本 直接轉換為文本向量, 並接續進行下游的分群任務
  15. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 LDA

    的分析流程 20 原始文本 斷詞 詞頻矩陣 LDA 解析 透過斷詞器將每份文本 切割成單獨的詞彙 list 將文本轉換為記錄每個詞彙 在不同文檔中出現次數的矩陣 利用 LDA 模型 分析文檔集合中的 主題以及主題下有哪些代表關鍵詞 解析與應用 LDA 的產出 可以搭配視覺化工具做輔助 以文本為單位 一份文本一筆資料 如果 LDA 的結果不理想, 需要回到斷詞的階段進行優化
  16. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 斷詞

    21 Ref: fxsjy/jieba: 结巴中文分词 • 透過 jieba.lcut() 可以對文 本做斷詞 • 當斷詞結果不理想時,可以 使用 jieba.add_word() 新 增關鍵詞,優化斷詞結果
  17. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 詞頻矩陣

    22 Ref: 4 — Bag of Words Model in NLP. • sklearn 中的 CountVectorizer 能對文本中的詞彙進行計數並轉換 為向量形式 • 但是轉換結果好像少了一些東西(? • 為什麼?
  18. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 CountVectorizer

    重要參數 • token_pattern: 定義什麼是構成一個詞彙的正則表達式 • stop_words: 停用詞列表,用於過濾掉常見且無信息量的詞彙 • ngram_range: 指定要提取的詞彙的n-gram範圍 • min_df/max_df: 規定詞彙至少/多在多少文檔出現才納入詞頻矩陣 • max_features: 指定詞頻矩陣中的最大詞彙數量 23 Ref: CountVectorizer — scikit-learn 1.5.0 documentation
  19. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 轉換詞頻矩陣

    24 原始 min_df 的預設值為1, 轉換出來的矩陣高達 2.5萬個維度 既佔用記憶體又浪費運算時間
  20. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 1.

    I like to eat broccoli and bananas. 2. I ate a banana and spinach smoothie for breakfast. 3. Chinchillas and kittens are cute. 4. My sister adopted a kitten yesterday. 5. Look at this cute hamster munching on a piece of broccoli. Sentences 1 and 2: 100% Topic A Sentences 3 and 4: 100% Topic B Sentence 5: 60% Topic A, 40% Topic B Topic A: 30% broccoli, 15% bananas, 10% breakfast, 10% munching, … (at which point, you could interpret topic A to be about food) Topic B: 20% chinchillas, 20% kittens, 20% cute, 15% hamster, … (at which point, you could interpret topic B to be about cute animals) LDA 25 Ref: 了解LDA,看完这篇文章就够啦 - 知乎 LDA 計算流程 by gemini
  21. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 怎麼優化LDA的結果

    – ngram 26 Ref: N-gram Language Modeling in Natural Language Processing 透過 ngram 可以組合出更具有意義的詞彙 切成“龜”時我們不清楚在討論什麼 而 ngram 後可以看到“龜速”的詞較能掌握意義 但也要留意ngram 容易讓維度數量爆炸 要搭配 min_df 一起使用
  22. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 怎麼優化LDA的結果

    – 自定義詞典 27 後面再跟大家說這個詞典是怎麼來的 這邊先觀察怎麼應用即可~
  23. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 新舊斷詞結果比較

    28 相較於 ngram 的暴力解決方案 透過 統計/模型 找出新詞較能有目的性的改善斷詞結果
  24. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 怎麼優化LDA的結果

    – stopwords 29 原先模型會將一些無意義的詞當成區分 主題的重要關鍵詞,我們可以新增停用 詞,讓分析結果更有意義
  25. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 比較不同版本的

    LDA 結果 30 1. 原版的 LDA 結果 2. 透過 ngram 進行優化 3. 透過新增關鍵詞優化 4. 增加停用詞做優化 Code
  26. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 找

    LDA 的 主題數量 • 評估指標 • Perplexity(困惑度) 是對新文檔中詞彙的預測的 困難程度 • 我們希望 perplexity 越低越好,因為這意味著模 型更能適應新文檔的詞彙分佈 • 主題數選擇 • 雖然 2 - 4 個主題時的困惑度最低,但考量 Domain 後不會選 2-4 個主題的結果 • 因此可以選擇次低的 6個主題的選擇 31 困惑度最低 困惑度次低
  27. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 LDA視覺化

    32 Ref: 掌握主题模型:用Python实现LDA并通过pyLDAvis.gensim打造直观可视化 Demo • LDA 視覺化利器 - pyLDAvis • MDS投影 幫助用戶理解主題之間的相似性和差 異性 • 互動式界面 展示了每個主題的詞彙分佈,讓用戶 更直觀地理解主題的內容。 • 詞彙權重 • 詞彙在主題中的概率 表示該詞彙在特定主題中出現的頻率。 如果一個詞彙在某個主題中的概率很 高,這意味著它對於該主題非常重要 • 詞彙的lift值 lift值是該詞彙在特定主題中的概率與 在所有文檔中出現的概率之比。一個 高lift值意味著該詞彙與特定主題強烈 相關,而且在其他主題中不那麼常見
  28. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 LDA流派總結

    33 • 優點 • 簡單: 容易上手,斷詞後即可快速進行主題分析 • 可解釋性: 每個主題都能直接看到一組重要關鍵詞 • 視覺化: 有成熟的視覺化工具能使用 • 缺點 • 需要先對語料庫進行斷詞,而斷詞本身並不是件單純的工作 開心 / 不開心 / 開不開心 / 開心不開心 • 在轉換為詞頻矩陣時丟掉了詞語之間的順序和語義 • 分析結果同時受到斷詞,詞袋模型以及LDA超參的影響, 效果不理想的時候,不容易釐清到底問題是出在哪個環節 • 怎麼對這個流派做優化? • 斷詞效度 • 停用詞
  29. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Outline

    • (10M) 業務場景 • 應用場景 • 探索性分析 • (90M) Topic Modeling • LDA • Word2vec • Transformer • (10M) 文本分析技巧 • (10M) QA 34
  30. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 詞向量&分群

    35 原始文本 斷詞 詞向量 分群 解析 透過斷詞器將每份文本 切割成單獨的詞彙 list 訓練 word2vec模型 將詞彙映射到向量空間 根據文本向量的相似性 將文本分為不同的主題 找出分群下的代表關鍵詞 並進行解析與應用 以文本為單位 一份文本一筆資料 如果 分群 的結果不理想, 需要回到斷詞的階段提升詞向量的品質
  31. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 word2vec

    36 Ref: 讓電腦聽懂人話: 直觀理解 Word2Vec 模型. Word2vec 計算流程 by gemini CBOW 在大型數據集上表現得更快且更有效, 因為它只需要計算一次上下文詞的向量平均值 Skip-gram 將每個目標詞視為一個獨立的觀察值, 並且在訓練過程中更新了每個詞的向量,較能處理罕 見詞或專業術語
  32. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 訓練詞向量

    37 • vector_size: 詞向量的維度數量。較大的維度可以捕捉更多的 語義信息,但也需要更多的記憶體和計算資源 • window: 在訓練過程中,模型將考慮目標詞周圍的詞的範圍。 較大的窗口值允許更多的上下文信息,但也容易導致過度擬合 • sg: 1 為 skip-gram; 0 為 CBOW. • negative: 負採樣時要考慮的“噪聲”詞的數量。較大的值可 以提高模型的準確性,但也容易導致過擬合 • Epochs:訓練過程中的迭代次數。較大的值可以提高模型的性 能,但也容易導致過擬合
  33. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 視覺化詞向量

    38 這邊僅取 Top 100 個詞來做視覺化 實際上每個詞在 embedding 空間中都有位置
  34. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 詞向量運算

    • 語料庫 • 維基百科 • 新聞資料 • 知乎問答 • … • 詞向量運算 • 以某個詞為核心,找臨近的詞 • 透過詞語關係做推論 king + woman − man ≈ queen 39 Ref: Lab 5: word2vec 理想上的詞向量分佈
  35. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 詞向量運算2

    41 計算詞與詞之間的相似度 練習: 1. 找出 Top 5 銀行APP 中哪個和 “錯誤”的距離最近? 2. 找出 Top 5 銀行APP 中哪個和 “方便”的距離最近? Note: Top 5 銀行APP 為 國泰, 富邦, 玉山, 中信, Richard Code
  36. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 不同超參數對訓練結果的影響

    42 sg: cbow negative=5 epochs=5 sg: skipgram negative=20 epochs=5 sg: skipgram negative=5 epochs=5 sg: skipgram negative=5 epochs=20
  37. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 怎麼透過詞向量取得文本向量

    43 大家 一起來 討拍 PyDay [−0.48, …, 0.38] [0.15, …, −0.31] [−0.03, …, 0.06] [0.12, …, −0.15] (0.12-0.48+0.15-0.03)/4 = *-0.06* (-0.15+0.38-0.31+0.06)/4 = *-0.02* [-0.06, -0.02] 優點: 簡單快速 缺點: 損失順序的資訊
  38. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Kmeans

    • 取得文本向量後就可以接分群模型進行解析 44
  39. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Kmeans

    分群結果 45 看起來錯別字和斷詞還是挺重要的
  40. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Kmeans

    分群解析 46 • 計算各個分群中,詞的出現次數 作為群的代表關鍵詞 後續可以透過移除停用詞的方式進行分群 避免分群模型的分群邏輯跟我們的期待有落差 [,, 。, , !, ~, …]
  41. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Kmeans

    分群解析優化 47 想再進一步提升 word2vec 流派分群效度 的人,可以接著嘗試先移除停用詞後再進 行分群&解析,減少干擾因素 原始的分群關鍵詞 事後移除停用詞
  42. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 找最佳分群組數

    • 透過 WSS 分數觀察在增加分群數時 組內距離總合是否持續(明顯)降低 • 若分數未明顯下降表示不需要繼續細分 48
  43. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Word2vec

    流派總結 • 優點 • 解決了詞袋模型中維度災難的問題 • 降低維度也減少了模型過擬合的風險 • 簡單暴力(沒有考量到句子中不同詞的順序關係) • 缺點 • 訓練詞向量模型通常需要大量文本來學習詞的語義關係, 而留言(短文本)提供的上下文資訊有限,不容易訓練出好的向量 • 文本向量的品質容易受到斷詞、停用詞的影響 • 怎麼對這個流派做優化? • 移除停用詞 • 斷詞還是挺重要的 • 錯別字可能需要處理 49
  44. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Outline

    • (10M) 業務場景 • 應用場景 • 探索性分析 • (90M) Topic Modeling • LDA • Word2vec • Transformer • (10M) 文本分析技巧 • (10M) QA 50
  45. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 transformer

    + 分群模型 51 原始文本 文本向量 降維 分群 解析 使用Transformer模型 直接將文本轉為向量 (非必要) 將高維的 文本向量降維到較低維度 根據文本向量的相似性 將文本分為不同的主題 找出分群下的代表關鍵詞 並進行解析與應用 以文本為單位 一份文本一筆資料 如果 分群 的結果不理想, 需要找其他更合適的 LLM 模型
  46. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Transformer

    的突破 52 Ref: 如何最简单、通俗地理解Transformer? Transformer 使用注意力機制來捕捉詞在不同位置 的上下文相關性,讓模型能根據詞在文本中的位 置和周圍的詞來賦予不同的權重,從而獲得更精 確的文本向量表示
  47. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Self-attention

    流程 • Self-attention 流程 1. 準備輸入 2. 初始化權重 3. 獲取key, query 和 value 4. 為第1個輸入計算注意力分數 5. 計算 softmax 6. 將分數乘以 values 7. 對權重化後的 values 求和,得到 輸出 1 8. 對其餘的輸入,重複第 4 – 7 步 53 Ref: basic_self-attention .ipynb - Colab NLP(二十九)一步一步, 理解 Self-Attention
  48. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 分群

    55 因為轉embedding 的時間較久, 這邊就先幫大家把文本轉embedding
  49. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 降維的必要性

    • 降維的優缺點 • 優點 • 減少特徵數量,節省記憶體的用量 • 提升模型運算的速度 • 缺點 • 資料在壓縮時會損失部分資訊 • 一定得降維的時刻 • 文本的資料量本身就非常多 • 轉 embedding 後的矩陣肥大到 電腦跑不動/跑太久(2048, 4096 dims) 56 Ref: 数据分析常识- 高纬度诅咒(curse of dimensionality) 10維 50維 100維 500維 1000維 5000維 問題來了!! 但如果模型跑的動,降維會比較好嗎?
  50. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 降維

    - umap 57 Ref: [译]理解 UMAP(1):UMAP是如何工作的 & UMAP 与 tSNE的原理对比
  51. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 解析

    • 經過 LLM 能將文本轉 為文本向量(emb) • 將 文本向量投入 分群 模型取得分群結果 (st_umap_cluster) • 那麼要怎麼理解不同 分群的結果呢? • 一則一則看 58 雖然 Transformer 的流派可以直接將文本轉為向量, 並接著做分群任務,但是在解釋分群結果時還是進行 斷詞的工作,然後設法找出不同分群的意義
  52. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 解析方式2

    • 先斷詞接著看詞頻 • 透過embedding 的距離找代表關鍵詞 59 分群群中心 通常這個方式還是會有許多雜訊 實務上可以搭配詞頻進行分數的加權
  53. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 解析方式3

    – class base tf-idf • tf-idf 是以文章為單位找重要關鍵詞 • class base 的 tf-idf 則是以類別為單位,串接同類別的文 章,並調整 idf 的邏輯,最終找出不同分群的代表關鍵詞 60 Ref: BERTopic: Neural topic modeling with a class-based TF-IDF procedure
  54. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 解析方式4

    – Graph • Graph 技術輔助理解 Cluster 的內容 • 透過文本中詞的共現關係建立 connection • 接著將connection 轉為 edge table • 計算 Graph 的中心性&視覺化 61 Ref: 用python分析《三国演义》中的社交网络-腾讯云开发者社区-腾讯云 尚未實作出這個方法,僅為後續想嘗試的方向 (但應該還是會有遇到不少瓶頸需要突破)
  55. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 實作

    • 嘗試分別對 原始 embedding 和 降維後的 embedding 分為 20群 • 使用tf-icf的方式找出不同分群下的重要關鍵詞 62 Code
  56. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Transformer

    流派總結 • 優點 • 解決了詞袋模型中維度災難的問題,降低維度也減少了模型過擬合的風險 • 可以比較快拿到文本向量,是現在的主流方式 • 讓進行文本分群的流程比較分離 • 缺點 • 太特殊的場景不一定會比較好,可能還是得試舊方式 • 解釋時找的關鍵詞是事後外掛的,跟模型在分群時觀察的東西可能會脫鉤 • 怎麼對這個流派做優化? • 替換LLM 模型 63
  57. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 Outline

    • (10M) 業務場景 • 應用場景 • 探索性分析 • (90M) Topic Modeling • LDA • Word2vec • Transformer • (10M) 文本分析技巧 • (10M) QA 64
  58. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 訓練專屬領域的詞典

    • 互联网时代的社会语言学:基于SNS的文本数据挖掘 | Matrix67: The Aha Moments • 基于互信息和左右熵的新词发现算法——python实现 • ownthink/Jiagu: Jiagu深度学习自然语言处理工具 知识图谱关系抽取 中文分词 词性标注 命名实体识别 情感分析 新 词发现 关键词 文本摘要 文本聚类 • google/sentencepiece: Unsupervised text tokenizer for Neural Network-based text generation. 65
  59. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 長文本

    • Hugging face 上的 LLM 大多有限制文本長度在 256/512個 Token • 當文本的長度超過限制時需要先進行分段,再設法 Pooling 為文本向量 • 但問題又來了,應該怎麼Polling呢? • Avg pooling? • Weighted pooling? 66
  60. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 該怎麼選大型語言模型?

    • https://huggingface.co/models 67 使用時記得再確認該模型是否支援中文 Pretrained Models — Sentence-Transformers documentation
  61. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 參考資料

    68 • When Is “Nearest Neighbor” Meaningful? • 高维度究竟有什么危害?深入讨论维度诅咒(Curse of Dimensionality)的三大 特点 - 知乎 (zhihu.com) • 維度詛咒有哪些影響? Gemini (google.com)
  62. 游騰林 TENG-LIN YU | Mail: [email protected] NCCU - 資料視覺化工作坊 附件

    • 國泰世華網路銀行CUBE • 中國信託行動銀行 Home Bank • 富邦行動銀行 • 兆豐銀行 • 元大銀行 Yuanta Commercial Bank • 第一銀行 第e行動 • 永豐行動銀行 • 華南銀行+ • 玉山行動銀行 • 合作金庫銀行 • 凱基銀行 • 台新銀行-行動銀行 • 台新銀行-Richart • 新光銀行 • LINE Bank Taiwan • DBS digibank TW 星展行動銀行 (台灣) • 將來銀行 NEXT BANK • 樂天國際商業銀行 • 臺灣銀行-網路銀行隨身版 69