任何人都可以在 Smalltalk 中展示用于自然语言处理的 tf-idf 算法的简单实现或使用示例吗?我在一个名为NaturalSmalltalk的包中找到了一个实现,但它似乎对我的需要来说太复杂了。Python 中的一个简单实现就是这样。
我注意到Hapax中还有另一个 tf-idf ,但它似乎与软件系统词汇分析有关,我没有找到如何使用它的示例。
TextLint是一个基于PetitParser的系统,用于解析和匹配自然语言中的模式。它没有提供您所要求的内容,但扩展模型以计算词频应该不会太难。
我是 Visualworks 的原始 Hapax 包的作者。Hapax 是一个通用的信息检索包,它应该能够处理任何类型的文本文件。我只是碰巧用它来分析源代码文件。
您正在寻找的类是TermDocumentMatrix
,应该有两种方法globalWeighting:
,您可以根据需要localWeighting:
向其中传递和的实例。通常,当提到 tfidf 时,人们的意思是它包括对数项频率。InverseDocumentFrequency
LogTermFrequency
TermFrequency
应该有使用小型示例语料库演示 TDM 类的最佳测试。如果测试尚未移植到 Squeak,请告诉我,以便我为您提供示例。