文档主题推断
sh run_inference_demo.sh # 运行文档主题推断的demo
参数说明
—model_dir
选择不同领域的的主题模型。—conf_file
模型配置文件,可选的配置有lda.conf和slda.conf,分别代表LDA和SentenceLDA。
执行程序后,通过标准流方式进行输入,每行为一个文档,程序输出每个文档的主题分布,若要选择新闻语料的SentenceLDA模型,则可以执行以下命令:
./inference_demo --model_dir="./model/news" --conf_file="slda.conf"
运行示例
执行脚本后会有如下提示,输入相应的文档(UTF-8编码),程序会自动输出稀疏化的主题分布。
请输入需要推断主题分布的文档:
在百度AI开发者大会上,AI开发者和生态合作伙伴们将了解到的百度AI技术,不仅涉及语音、图像、自然语言处理及大数据用户画像等基础领域,还包括智能驾驶、人机对话式操作系统、智能云计算等新兴应用技术。
文档主题分布:
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 Sampling和Metropolis-Hastings两种采样算法,默认使用效率较高的Metropolis-Hastings算法。
如果有调研需求需要使用Gibbs Sampling代码,可以修改src/demo/inference_demo.cpp
中的InferenceEngine
的初始化代码,将SamplerType::MetropolisHastings
修改为SamplerType::GibbsSampling
即可切换采样算法。