NLP 笔记:Latent Dirichlet Allocation (介绍篇)

1 问题介绍

  • 假设我们有一堆新闻,每个新闻都有≥1个主题
  • 我们现在只知道新闻的内容,我们希望一个算法,帮我们把这些新闻分类成主题
  • 人类可以根据每个每个文章里面的单词判断主题,那计算机怎么做呢?
    • ------>LDA(Latent Dirichlet Allocation)

2 方法介绍 (生成文本角度)

  • LDA 创建一个"几何的"方法:假设我们有三个topic,他就创建一个三角,每个角是一个主题,然后将文件放进去,每个文件靠近他属于的那个角
    • 如果一个文件包括两个主题,那么他在三角形的边上;如果一个文件三个主题都囊括了,那就在三角形的中间

那么问题是,如何知道文件应该放在哪里呢?

我们可以把LDA看成是一个生产文件的机器,不同的配置下,他会生成不同的文件

  • 最好的setting,可以生成最接近于原始文件的内容,这个setting对应的主题,就是原始文件最有可能的主题

3方法介绍 (概率图角度)

  • 这个是LDA的概率图
    • 根据两个多项分布,获得一堆主题和一堆文字
    • 把单词连在一块就是文件

这就是生成文字W和主题Z的概率,后面四个是参数。'

我们先按下不表,首先介绍一下迪利克雷分布

4 迪利克雷分布

4.1 场景假设:一个聚会

假设有一个聚会,黄色点是人,人可以出现在三角的任何位置

  • 现在在三个角上放了东西,人就往三个角移动了,这样就形成了迪利克雷分布

4.2 迪利克雷分布可视化

每个角的内容对应一个α

4.3 回到topic

此时每一个点是一个三维向量,表示分别是三个主题的一个的概率

4.4 概率的概率

  • 换言之,迪利克雷分布是"分布的分布"
  • 三角中的每一个点,就是一个多项分布

4.5 更多的topic时的迪利克雷分布

5 回到概率分布角度的LDA

这两个迪利克雷分布分别是:已知单词,问他是哪个topic;和已知topic,问他是哪个单词

5.1 LDA如何生成document

5.1.1 生成topic

  • 采样迪利克雷分布得到一个点(每个topic的概率)
    • ------>得到multinomial 分布
    • 然后采样这个多项分布,生成topic

5.1.2 根据topic 生成对应的word

这时候就需要另一个迪利克雷分布了

  • 每个topic对应了一个词汇分布(多项式分布)

把得到的词连起来,最终生成一个文件

5.2 找到最相似的article

最详细的article对应的两个迪利克雷分布,就是可能的topic对应的分布

5.3 总结

一个迪利克雷分布+多项式分布生成topic,另一个生成对应的单词

5.4 文件的长度

长度根据泊松分布采样

参考内容:Latent Dirichlet Allocation (Part 1 of 2) (youtube.com)

相关推荐
茯苓gao25 分钟前
嵌入式开发笔记:CAN与CAN FD完全指南——从帧格式差异到MCU选型实战
网络·笔记·stm32·嵌入式硬件·学习·汽车
FellAveal1 小时前
【Go语言入门学习笔记】Part19.速率控制、原子计数器、互斥锁(Mutex)、状态协程
笔记·学习·golang
极地野狼 音乐哔哔2 小时前
AI Agent 30天速成|Day4 笔记
人工智能·笔记
oier_Asad.Chen3 小时前
【洛谷题解/AcWing题解】洛谷P4011 孤岛营救问题/AcWing1131拯救大兵瑞恩
数据结构·笔记·学习·算法·动态规划·图论·宽度优先
xxwl5854 小时前
Git 完整学习笔记:从入门到团队协作
笔记·git·学习
罗西的思考4 小时前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 — (14)— Teacher
人工智能·笔记·深度学习·算法·机器学习
你想知道什么?6 小时前
决策树-学习笔记
笔记·学习·决策树
hongmai6668887 小时前
ESP32-C5-WROOM-1-N16R8:双频Wi-Fi 6与多协议融合,重新定义物联网连接新标准
笔记·嵌入式硬件·物联网·智能路由器·risc-v
风曦Kisaki7 小时前
Kubernetes(K8s)笔记Day04:控制器(ReplicaSet 与Deployment),滚动更新及回滚,滚动更新策略,Pod 的 DNS 策略
linux·运维·笔记·docker·容器·kubernetes
星恒随风7 小时前
C++ STL 详解:set 与 multiset 的使用、区间查询和算法应用
开发语言·c++·笔记·学习·算法