任何人都可以在Smalltalk中为自然语言处理显示tf-idf算法的简单实现或用法示例吗? 我在名为NaturalSmalltalk的软件包中找到了一个实现,但它似乎对我的需求来说太复杂了。 Python中的一个简单实现就像this one。
我注意到Hapax中还有另一个tf-idf,但它似乎与软件系统词汇表的分析有关,我没有找到如何使用它的例子。
答案 0 :(得分:1)
TextLint是一个基于PetitParser的系统,用于解析和匹配自然语言中的模式。它并不能满足您的要求,但扩展模型以计算字频率应该不会太难。
答案 1 :(得分:1)
我是Visualworks原始Hapax包的作者。 Hapax是一个通用信息检索包,它应该能够使用任何类文本文件。我只是碰巧使用它来分析源代码文件。
您要查找的课程是TermDocumentMatrix
,应该有两个方法globalWeighting:
和localWeighting:
,您可以将InverseDocumentFrequency
和LogTermFrequency
的实例传递给它们}或TermFrequency
取决于您的需求。通常,当提到tfidf时,人们的意思是包括对数项频率。
应该使用一个小的示例语料库来演示TDM类的最佳测试。如果测试没有移植到Squeak,请告诉我,我可以为您提供一个示例。