Wikipedia
In natural language processing, latent Dirichlet allocation (LDA) is a generative statistical model that allows sets of observations to be explained by unobserved groups that explain why some parts of the data are similar
LDA模型的作者之一是前百度人工智能首席科学家吴恩达(Andrew Ng), 网上可以找到大量他在Standford和Coursera录制的机器学习课程。通常来说, LDA可以用于从海量的文本中,根据统计模型,自动提取出由关键词组成的热门主题,让我们快速知道,这些大量无规则的文本中,主要讲述了什么内容。
下面我们尝试一下,LDA模型可以在主题分析模型中做到什么程度。
我们采用12345项目中的电话工单数据作为测试数据,测试数据如下。每一条工数据都代表12345热线服务中接到的电话诉求,总共有一万多条数据。
测试数据我们需要对这些海量数据分词处理,将词组向量化,生成词包,生成语料库,训练LDA主题模型。技术细节就不再赘叙了,有兴趣可以参考Gensim这个算法包,里面有详细的LDA模型实现细节和代码示例,可以大大简化工作量。
传送门直接跳到分析结果, 我们输出了前20的热点主题:
LDA主题LDA模型生成的主题比较容易理解, 其中:
第一个是关于小区车辆安全隐患的诉求。
第二个是拆迁问题的投诉。
第三个是拆除违章建筑的投诉。
第八个是要求取缔流动摊贩占道经营。
反映出12345的工单主要都是在民生方面的诉求,和12345市民热线本身的定位非常符合。
模型的优化:
从结果中可以看出,有一些词没有特别大的意义,但在结果中占比较高,影响到了主题模型的权重判断,因此在分词,抽取关键词,生成词包的过程中,可以维护一个停用词列表,将不想投入模型计算的一些高频词过滤掉,提高模型提取的准确率。
网友评论