• 拓端tecdat|R语言文本主题模型之潜在语义分析(LDA:Latent Dirichlet Allocation)


    文本分析:主题建模

    1. library(tidyverse)
    2. theme_set( theme_bw())

    目标

    • 定义主题建模
    • 解释Latent Dirichlet以及此过程的工作原理
    • 演示如何使用LDA从一组已知主题中找到主题结构
    • 演示如何使用LDA从一组未知主题中找到主题结构
    • 确定k
    • 选择适当参数的方法

    主题建模

    通常,当我们在线搜索信息时,有两种主要方法:

    1. 关键字 - 使用搜索引擎并输入与我们想要查找的内容相关的单词
    2. 链接。链接的页面可能共享相似或相关的内容。

    相关视频:文本挖掘:主题模型(LDA)及R语言实现分析游记数据

    文本挖掘:主题模型(LDA)及R语言实现分析游记数据

    时长12:59


     

    另一种方法是通过主题搜索和探索文档。广泛的主题可能与文章中的各个部分(国家事务,体育)有关,但这些部分内或之间可能存在特定主题。

    为此,我们需要有关每篇文章主题的详细信息。对该语料库进行手工编码将非常耗时,更不用说在开始编码之前需要知道文档的主题结构。

    在本次项目中,我们可以使用概率主题模型,分析原始文本文档中的单词的统计算法来揭示语料库和单个文档本身的主题结构。在分析之前,它们不需要对文档进行任何手工编码或标记 - 相反,算法来自对文本的分析。

    潜在Dirichlet分配

    LDA假定语料库中的每个文档都包含在整个语料库中的混合主题。主题结构是隐藏的 - 我们只能观察文档和文字,而不是主题本身。因为结构是隐藏的(也称为潜在的),所以该方法试图在给定已知单词和文档的情况下推断主题结构。

    食物和动物

    假设您有以下句子:

    1. 我早餐吃了香蕉和菠菜。
    2. 我喜欢吃西兰花和香蕉。
    3. 龙猫和小猫很可爱。
    4. 我姐姐昨天收养了一只小猫。
    5. 看看这只可爱的仓鼠嚼着一块西兰花。

    Latent Dirichlet分配是一种自动发现这些句子所包含的主题的方法。例如,给定这些句子并询问2个主题,LDA可能会产生类似的东西

    • 句子1和2:100%主题A.
    • 句子3和4:100%主题B.
    • 句子5:60%主题A,40%主题B.
    • 主题A:30%西兰花,15%香蕉,10%早餐,10%咀嚼,......
    • 主题B:20%龙猫,20%小猫,20%可爱,15%仓鼠,......

    您可以推断出主题A是关于食物的主题,主题B是关于可爱动物的主题。但是,LDA没有以这种方式明确地确定主题。它所能做的就是告诉你特定单词与主题相关的概率。

    LDA文档结构

    LDA将文档表示为以某些概率单词的主题组合。它假设文档以下列方式生成:在编写每个文档时,您

    • 确定单词数N.
    • 为文档选择主题(根据K个主题)
    • 例如,假设我们上面有两个食物和可爱的动物主题。
    • 通过以下方式生成文档中的每个单词:
    • 首先选择一个主题(根据您在上面采样的分配;例如,您可以选择1/3概率的食物主题和2/3概率的可爱动物主题)。
    • 然后使用主题生成单词本身(根据主题分配)。例如,食物主题可能输出概率为30%的“西兰花”,概率为15%的“香蕉”,依此类推。

    我们怎么能在前面的例子中生成句子?生成文档D时:

    • D 将是一半关于食物和一半关于可爱动物。
    • 选择5为D的单词数
    • 从食物主题中选择第一个词,然后给出“西兰花”这个词。
    • 选择第二个词来自可爱的动物主题,如“熊猫”。
    • 选择第三个词来自可爱的动物主题,如“可爱”。
    • 选择第四个词来源于食物主题,如“樱桃”。
    • 从食物主题中选出第五个词,如“吃”。

    因此,在LDA模型下生成的文件将是“可爱的熊猫吃樱桃和西兰花”(LDA使用的是词袋模型&#x

  • 相关阅读:
    HashMap JDK1.8
    最新!两步 永久禁止谷歌浏览器 Google Chrome 自动更新
    优化模型验证关键代码21:将VRP的三小标决策变量xijk转化为对应的路径序列及各节点的开始服务时间
    深入理解Kotlin协程
    利用ETLCloud自动化流程实现业务系统数据快速同步至数仓
    如何列出 Ubuntu 和 Debian 上已安装的软件包
    sd-wan专线异地组网|分支机构与总部间外贸MES系统高速访问解决方案
    设计模式笔记
    【前端验证】通关寄存器与ral_model —— 在uvm验证平台中连接ral_model并发起读写操作
    Dockerfile设置时区失效
  • 原文地址:https://blog.csdn.net/tecdat/article/details/127591590