文档主题推断

  1. sh run_inference_demo.sh # 运行文档主题推断的demo

参数说明

  • —model_dir 选择不同领域的的主题模型。
  • —conf_file 模型配置文件,可选的配置有lda.conf和slda.conf,分别代表LDA和SentenceLDA。
    执行程序后,通过标准流方式进行输入,每行为一个文档,程序输出每个文档的主题分布,若要选择新闻语料的SentenceLDA模型,则可以执行以下命令:
  1. ./inference_demo --model_dir="./model/news" --conf_file="slda.conf"

运行示例

执行脚本后会有如下提示,输入相应的文档(UTF-8编码),程序会自动输出稀疏化的主题分布。

  1. 请输入需要推断主题分布的文档:
  2. 在百度AI开发者大会上,AI开发者和生态合作伙伴们将了解到的百度AI技术,不仅涉及语音、图像、自然语言处理及大数据用户画像等基础领域,还包括智能驾驶、人机对话式操作系统、智能云计算等新兴应用技术。
  3. 文档主题分布:
  4. 848:0.566667 1943:0.176190 804:0.085714 1664:0.023810 1624:0.023810 373:0.019048 1207:0.019048 423:0.014286 861:0.014286 51:0.014286 422:0.009524 983:0.004762 1789:0.004762 1578:0.004762 1062:0.004762 990:0.004762 913:0.004762 140:0.004762
  • NOTE: 为了便于直观展示,默认输出为稀疏结果(忽略先验的作用),如需获得带先验的稠密主题分布需将src/demo/inference_demo.cpp代码中的sparse_topic_dist改为dense_topic_dist
    此时推断的主题是用编号的方式表示,为了进一步了解这一主题编号代表的主题含义,可以运行模型展现demo了解隐含主题的含义。

采样算法

Familia 支持Gibbs SamplingMetropolis-Hastings两种采样算法,默认使用效率较高的Metropolis-Hastings算法。

如果有调研需求需要使用Gibbs Sampling代码,可以修改src/demo/inference_demo.cpp中的InferenceEngine的初始化代码,将SamplerType::MetropolisHastings修改为SamplerType::GibbsSampling 即可切换采样算法。