baidu / Familia

A Toolkit for Industrial Topic Modeling
BSD 3-Clause "New" or "Revised" License
2.64k stars 597 forks source link

使用slda_infer_demo.py 出现错误 #82

Closed luoqishuai closed 5 years ago

luoqishuai commented 5 years ago

输入:中新社北京8月3日电(记者陈溯)中国农业农村部3日发布疫情信息,辽宁省沈阳市沈北新区发生一起非洲猪瘟疫情。据了解,这是中国首次发生非洲猪瘟疫情。当天,农业农村部兽医局负责人表示,非洲猪瘟不是人畜共患传染病,该病毒不会感染人。辽宁省沈阳市沈北新区某养殖户的生猪1日发生疑似非洲猪瘟疫情,存栏383头,发病47头,死亡47头。疫情发生后,农业农村部根据《非洲猪瘟疫情应急预案》启动Ⅱ级应急响应。当地按照要求,启动应急响应机制,采取封锁、扑杀、无害化处理、消毒等处置措施。现已对疫区发布了封锁令,并暂停沈阳市全市生猪调出,同时向国际组织通报这起非洲猪瘟疫情。目前,该起疫情已得到有效控制。当天,农业农村部兽医局负责人介绍,非洲猪瘟对生猪生产危害重大,发病率通常在40%—85%之间,发病率和死亡率最高可达100%。中国是生猪养殖和产品消费大国,生猪的养殖量和存栏量均占全球总量一半以上,同时猪肉是居民主要肉品蛋白质来源,猪肉消费占到总肉类消费的60%以上,加之生猪养殖规模化程度低,生猪调运频次高、数量多,若在国内扩散蔓延,将对中国的生猪养殖业造成不可估量的损失。1921年,肯尼亚首次报道发生非洲猪瘟疫情,上世纪60年代传入欧洲,70年代传入南美洲,2007传入高加索地区和俄罗斯。2017年以来,俄罗斯远东地区发生数起非洲猪瘟疫情。自该病2007年传入俄罗斯以来,中国农业农村部先后印发了《非洲猪瘟防治技术规范(试行)》和《非洲猪瘟疫情应急预案》。2017年,俄罗斯远东地区伊尔库茨克州发生非洲猪瘟疫情后,农业农村部也即发通知,要求各地高度警惕疫情风险,切实做好风险防范工作。前述负责人表示,目前在世界范围内没有研发出可以有效预防非洲猪瘟的疫苗,但高温、消毒剂可以有效杀灭病毒,所以做好养殖场生物安全防护是防控非洲猪瘟的关键。提醒生猪养殖者,要严禁从疫区调运生猪,注意做好日常消毒工作。(完)原标题:农业农村部发布非洲猪瘟Ⅱ级疫情预警暂停沈阳全市生猪调出 输出:[(282, 0.45416666666666666), (1658, 0.1375), (1015, 0.09375), (109, 0.051388888888888894), (1489, 0.03819444444444445), (752, 0.03819444444444445), (217, 0.029166666666666667), (1214, 0.020833333333333336), (951, 0.02013888888888889), (1039, 0.015972222222222224), (969, 0.01388888888888889), (634, 0.010416666666666668), (1295, 0.009027777777777779), (765, 0.009027777777777779), (179, 0.008333333333333333), (1785, 0.0076388888888888895), (395, 0.00625), (1396, 0.00625), (1102, 0.00625), (1206, 0.004166666666666667), (345, 0.0034722222222222225), (243, 0.002777777777777778), (596, 0.002777777777777778), (1274, 0.0020833333333333333), (1524, 0.001388888888888889), (12, 0.001388888888888889), (1888, 0.001388888888888889), (1000, 0.001388888888888889), (1093, 0.0006944444444444445), (1081, 0.0006944444444444445), (1021, 0.0006944444444444445), (1878, 0.0006944444444444445)] 请问这些输出 是什么,怎么才能转换成中文? 一开始我以为是主题id, 但是一篇文档不能有这么多个主题吧. 然后我怀疑这是 词语id, 他们对应着词语 我找到\Familia\model\news\vocab_info.txt 然后,,找到每个id对应的词.... 然后输出 一篇文档的主题词 宣传 研究院 编制 积累 执法 路段 区域 包装 降低 加速 民众 解读 跨境 结算 下调 长征 出台 家中 扶持 学者 经理 澳大利亚 利息

宣传 长征 研究院 经济 执法 加速 训练 积累 创建 编制 路段 解读 读者 眼睛 巡视 资质 组合 精神 将来 结算 作战 小康 跨境 岗位 进展 背景 挑战 区域 学者 金融 性质 包装 综合 找到 研究员 危险 当天 文章 人才 金额 常委会

但是我输入的都是猪瘟 相关的文章,里面并没有这些词 请问 我哪里理解错了? 怎么才能输入一篇文档,然后得到该文档对应的主题词

lianrzh commented 5 years ago

这些输出对应的是主题id,每个主题对应有一个权重,按照你的需求,可以选取权重最大的topk个主题用于表示对应的文档,k的数目根据你具体需求来进行设定。

luoqishuai commented 5 years ago

@lianrzh 可是python/demo 中没有返回正确主题id对应的词的python代码吧? 我用topic_word_demo.py 代码,输入主题id, 和我用slda模型跑出来的主题id 对应不上 譬如 slda 跑出来的主题id是1832 ,这个id在topic_words.slda.txt对应的词是: 食品 药品 监督 监管 管理 管理局 总局 国家 部门 安全法 然而,topic_word_demo.py 输入主题id,对应的词是 黄晓明 angelababy 晓明 冰冰 邓超 片场 孙俪 采洁 剧照 景甜
请问,我是要自己读取 topic_words.slda.txt,然后输出对应的词吗

luoqishuai commented 5 years ago

实验文本为: 防控非洲猪瘟市食品药品监督管理局召开防控非洲猪瘟推进会12月27日,市食品药品监督管理局召开防控非洲猪瘟推进会,传达贯彻全省非洲猪瘟防控工作视频调度会议精神,对非洲猪瘟防控工作进行动员部署。市畜牧兽医局、市食药监局联合开展非洲猪瘟防控专项检查行动为强化生猪产品质量安全监管工作,规范猪肉市场经营行为,12月26日下午,市畜牧兽医局联合市食品药品监督管理局,在陆城范围内开展非洲猪瘟疫防控专项检查行动,严防非洲猪瘟疫情发生。

lianrzh commented 5 years ago

@luoqishuai 这个是因为topic_word_demo.py里面使用的是topic_words.lda.txt的文件,由于twe是基于lda进行训练的,因此,如果你需要查看topic_words.slda.txt的主题词,建议简单写个脚本进行读取。

luoqishuai commented 5 years ago

@lianrzh 嗯嗯,谢谢大佬