以编程方式确定对话的主题

时间:2011-12-05 21:51:51

标签: javascript node.js irc chatbot

这可能是一个非常难以回答的问题,但无论如何这是我的问题。

我想知道确定对话主题的最佳方法是什么。对话发生在IRC上。我过去曾写过聊天机器人,这个机制很好地解释了这个主题,但并不像我想的那样准确。

在过去,我不得不制作常用单词列表,例如“the”和“a”,然后从主题数组中过滤它们。我不知道这是否是正确的方法。

我想知道是否有某种频率算法可以让我弄清楚当前话题是什么词。

对于如何实现这一目标的任何建议将不胜感激。感谢。

2 个答案:

答案 0 :(得分:1)

有一种叫做Zipf's Law的东西。 它只能准确地应用于人类写的文本,并且必须有一定的长度。

通过这种算法运行文本的结果将是一组关键字(原始文本的5%-7%),它们密切描述了文本主题。

答案 1 :(得分:1)

自然语言处理可能非常困难,但您仍然可以通过基础知识获得一些结果。 Daniel Gabriel关于使用Zipf定律的建议很好。

像Manning和Schütze的Foundations of Statistical Natural Language Processing这样的概述书可能会有所帮助 - 它解释了许多常用技巧,并将指向更专业的资源。

(他们的Introduction to Information Retrieval也非常出色,并且在网站上有免费的PDF。)