0

我希望你能帮助我解决这个问题。我打算做什么:给定一个正确的文本,我想计算没有停用词的每个词干化标记 ngram 的频率(换句话说,停用词已经被删除)。

这是这种情况:我正在使用 ShingleAnalyzerWrapper + StandardAnalyzer 使用 IndexWriter 索引一些文本,并且当我向 IndexWriter 添加文档时(如下所示: indexwriter.addDocument(doc, analyzer); 其中分析器再次是 ShingleAnalyzerWrapper + StandardAnalyzer )。

但问题是:当我得到术语频率和术语时,停用词似乎被下划线取代。

这是输入:
String text = "to i want to to i want to linked";
String text2 = "super by hard easy";

这是输出:
term: |freq:6
term:
_|freq:2
term:_ hard|freq:1
term:_ i|freq:2
term:_ link|freq:1
term:easy|freq:1
term :hard|freq:1
term:hard easy|freq:1
term:i|freq:2
term:i want|freq:2
term:link|freq:1
term:super|freq:1
term:super _|freq: 1
学期:想要|频率:2
学期:想要 _|频率:2

如果有什么不清楚的地方,请问我,这样我会尽量让自己更清楚

谢谢您的帮助

4

1 回答 1

0

请参阅http://www.lucidimagination.com/search/document/e5681676403a007b/can_i_omit_shinglefilter_s_filler_tokens了解一些解决方案。

在这种情况下,您似乎可能想要禁用停止过滤器上的位置增量,因为您不想在停止词所在的位置引入“洞”,您想假装它们从未存在过。

于 2011-05-12T15:27:17.367 回答