【发布时间】:2021-10-28 08:06:34
【问题描述】:
我正在对来自公共电报组的消息进行主题建模分析,对这个领域非常陌生,所以只是学习。
我一直在关注此示例 (https://towardsdatascience.com/topic-modeling-with-bert-779f7db187e6),并尝试将 HDBSCAN 聚类算法替换为 BERT 文档 util.community_detection (https://www.sbert.net/docs/package_reference/util.html) 中的算法。
当我在此示例中输出集群的结果(4899 条 Telegram 消息)时,我得到如下所示的内容。
- 主题:只是一个集群标签
- 文档:该集群中的所有消息组合在一起
- 0:通过 tf-idf 找到的热门关键字
我关心的问题是,显然有大量消息彼此基本相同,我已将它们标记为黄色。举几个例子,
- 集群 3:这只是一堆“你好”及其变体
- Cluster 5:这只是一堆“好的”,人们说是/好的
- 第 7 组:人们只是表示感谢和变化
- 第 9 组:“gas”一词的一些变体和拼写错误
- 第 19 组:只是“siap”,我认为它的意思是“对不起,如果我已经发布了”
对于人类读者,我觉得这种类型的文本应该完全从分析中排除,问题是我如何检测它。
由于它们已经由聚类算法分组在一起,因此该算法必须有方法来衡量聚类中这些消息之间的“相似性”。但我似乎无法在任何地方找到这些值或它的名称。例如 HDBSCAN 算法 (https://hdbscan.readthedocs.io/en/latest/basic_hdbscan.html#),我浏览了几次文档,没有发现任何此类属性或度量暴露,我在这里遗漏了什么吗?
我的假设是,对于只是一个词或一个短语一遍又一遍重复的情况,这个相似度值一定是超超高的,我只想说“内部相似度高于这个阈值的簇被扔掉了”。
任何帮助和建议将不胜感激,谢谢!
【问题讨论】:
标签: nlp cluster-analysis telegram