zoukankan      html  css  js  c++  java
  • 主题模型

    首先,需要对英文文本做一些预处理工作,譬如去停用词,对文本进行tokenize,stemming以及过滤掉低频的词

    然后,通过这些文档抽取一个“词袋(bag-of-words)“,将文档的token映射为id,然后就可以  将字符串 转换为用id表示的文档向量

    {‘a’: 0, ‘damaged’: 1, ‘gold’: 3, ‘fire’: 2, ‘of’: 5, ‘delivery’: 8, ‘arrived’: 7, ‘shipment’: 6, ‘in’: 4, ‘truck’: 10, ‘silver’: 9}

    [[(0, 1), (1, 1), (2, 1), (3, 1), (4, 1), (5, 1), (6, 1)], [(0, 1), (4, 1), (5, 1), (7, 1), (8, 1), (9, 2), (10, 1)], [(0, 1), (3, 1), (4, 1), (5, 1), (6, 1), (7, 1), (10, 1)]]

    有了这些信息,我们就可以基于这些“训练文档”计算一个TF-IDF“模型”,用tf-idf值表示的文档向量:

    有了tf-idf值表示的文档向量,我们就可以训练一个LSI模型,我们设置topic数为2:

    lsi的物理意义不太好解释,不过最核心的意义是将训练文档向量组成的矩阵SVD分解,并做了一个秩为2的近似SVD分解,有了这个lsi模型,我们就可以将文档映射到一个二维的topic空间中:

    把文档建立成索引

    最后就是计算其和index中doc的余弦相似度了

    lda模型中的每个主题单词都有概率意义,其加和为1,值越大权重越大,物理意义比较明确,不过反过来再看这三篇文档训练的2个主题的LDA模型太平均了,没有说服力。

  • 相关阅读:
    spring data jpa 自定义sql 左链接查询
    添加用户具有root权限
    windows rabbitmq 安装
    mongodb 启动
    windows 下杀死tomcat进程
    配置ZooKeeper集群11
    配置ZooKeeper集群
    jquery 上传回显图片预览
    Python internals: Symbol tables, part 1(转)
    Python 学习笔记
  • 原文地址:https://www.cnblogs.com/ldphoebe/p/5660111.html
Copyright © 2011-2022 走看看