【发布时间】:2017-02-08 14:37:39
【问题描述】:
我正在使用 Apache Mahout 创建 TFIDF 向量。我将 EnglishAnalyzer 指定为文档标记的一部分,如下所示:
DocumentProcessor.tokenizeDocuments(documentsSequencePath, EnglishAnalyzer.class, tokenizedDocumentsPath, configuration);
这为我称为business.txt 的文档提供了以下向量。我很惊讶在那里看到无用的词,例如have、on、i、e.g.。我的其他文件之一加载更多。
对我来说,提高所找到字词质量的最简单方法是什么?我知道 EnglishAnalyzer 可以传递一个停用词列表,但构造函数是通过反射调用的,所以看起来我不能这样做。
我应该编写自己的分析器吗?我对如何编写标记器、过滤器等感到有点困惑。我可以重复使用 EnglishAnalyzer 和我自己的过滤器吗?以这种方式子类化 EnglishAnalyzer 似乎是不可能的。
# document: tfidf-score term
business.txt: 109 comput
business.txt: 110 us
business.txt: 111 innov
business.txt: 111 profit
business.txt: 112 market
business.txt: 114 technolog
business.txt: 117 revolut
business.txt: 119 on
business.txt: 119 platform
business.txt: 119 strategi
business.txt: 120 logo
business.txt: 121 i
business.txt: 121 pirat
business.txt: 123 econom
business.txt: 127 creation
business.txt: 127 have
business.txt: 128 peopl
business.txt: 128 compani
business.txt: 134 idea
business.txt: 139 luxuri
business.txt: 139 synergi
business.txt: 140 disrupt
business.txt: 140 your
business.txt: 141 piraci
business.txt: 145 product
business.txt: 147 busi
business.txt: 168 funnel
business.txt: 176 you
business.txt: 186 custom
business.txt: 197 e.g
business.txt: 301 brand
【问题讨论】: