用 Java 构建/运行流式 Weka 文本分类器
我们一直在使用 Weka Explorer GUI 构建一些分类器模型。现在测试已完成,我们希望在 Java 应用程序中实现此模型,以便它可以接收新消息。
因此,对于新消息,我们需要对消息进行标记,将消息中的标记与用于为模型构建词向量的标记进行匹配,然后将此词向量解析到模型中。
我们应该如何进行这个过程?有可用的例子吗?
我们如何处理新的标记(即出现在新文本消息中的单词,这些单词不属于用于构建模型的单词向量的一部分)?
对于分类器预处理/标记化,我们使用 NGram Tokenizer、Stemmer 和 IDF Transform。因此,我们需要弄清楚如何执行这些步骤,然后才能根据要分类的文本创建新实例。
另一方面,在资源管理器中构建分类器时,在更多选项下有一个按钮可以选择“输出分类器代码”,这听起来像是输出 Java 源代码来构建和使用模型,但是此选项被禁用。使用许多不同的分类器(RF、NB)进行测试,结果没有改变。我猜它没有针对这些实施?
干杯!
We have been using the Weka Explorer GUI to build a few classifier models. Now Testing is complete we would like to implement this model within a Java application so it can take new messages.
So for new messages we need to tokenize the message, match up tokens in the message with tokens used to build the word vector for the model and then parse this word vector to the model.
How should we go about this process? Are there any examples available?
How do we deal with new tokens (i.e. words that appear in new text messages which are not a part of the word vector used to build the model)?
For the classifier preprocessing/tokenising we are using the NGram Tokenizer, Stemmer and IDF Transform. So we need to figure out how to do these steps before we can create a new instancebased on the text we would like to classify.
As a side When building a classifier in the explorer, under more options there is a button to choose 'output classifier code' which sounds like it outputs Java source code to build and use the model however this option is disabled. Tested with a number of different classifiers (RF, NB) and it doesnt change. I'm guessing its not implemented for these?
Cheers!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
据我所知,当新的训练样本到达时,您需要重新训练 weka 分类器。我不知道 Wekka 中有在线分类算法。
附: Weka 基于 Java,因此您可以在应用程序中使用它的库。这是一个很好的例子: http://weka.wikispaces.com/Use +WEKA+在+您的+Java+代码中。
To my best knowledge you need to retrain weka classifier when a new training sample arrives. I am not aware of an online classification algorithm in Wekka.
ps. Weka is Java based, so you can use its libs in your application. Here is a good example: http://weka.wikispaces.com/Use+WEKA+in+your+Java+code.