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

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

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

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

我想知道是否有某种频率algorithm,可以让我找出当前的话题。

任何build议,如何能够实现将不胜感激。 谢谢。

有什么叫Zipf的法则 。 它只能准确地应用于人类写的文本,而且必须有一定的篇幅。

通过这种algorithm运行文本的结果将是一组关键字(原始文本的5%-7%),紧密地描述文本的主题。

自然语言处理可能是非常困难的,但你仍然可以得到一些基本面的结果。 丹尼尔·加布里埃尔(Daniel Gabriel)提出的使用齐夫定律的build议是很好的。

像Manning和Schütze的“统计自然语言处理基础 ”这样的综述书可能会有所帮助 – 它解释了许多常见的技术,并会指向更多的专业资源。

(他们的信息检索介绍也非常好,在网站上有免费的PDF。)