我有一个文本并将其拆分为由空格分隔的单词。
我正在对单位进行分类,如果它出现在同一个词中(例如:“100m”、“90kg”、“140°F”、“US$500”),它们就可以工作,但如果它们出现,我就会遇到问题单独出现,每个部分都在一个单词中(例如:'100 °C'、'US$ 450'、'150 km')。
分类器算法可以理解单元在右边,缺失值在左边还是右边。
我的问题是如何遍历列表中的所有单词,为分类器提供正确的单词。
这只是一个代码示例。我尝试了很多方法。
for(String word: words){
String category = classifier.classify(word);
if(classifier.needPreviousWord()){
// ?
}
if(classifier.needNextWord()){
// ?
}
}
换句话说,我需要遍历所有单词分类的列表,如果需要测试前一个单词,请提供最后一个单词和单位。如果需要下一个词,请提供单位和下一个词。看起来很简单,但我不知道该怎么做。
最佳答案
不要在你的 for 循环中使用隐式迭代器,而是显式的。然后你可以随意来回。
Iterator<String> i = words.iterator();
while (i.hasNext()) {
String category = classifier.classify(i.next());
if(classifier.needPreviousWord()){
i.previous();
}
if(classifier.needNextWord()){
i.next();
}
}
这还不完整,因为我不知道你的分类器到底做了什么,但它应该让你知道如何继续。
关于java - 为空格分隔的单词实现分类器算法的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6991933/