单个课程就足够了.你只需要该类中的变量:
public class Ngram
{
public int n;
public int ambiguousWordPosition;
public String sentence;
public Ngram(int n, int ambiguousWordPosition, String sentence)
{
this.n = n;
this.ambiguousWordPosition = ambiguousWordPosition;
this.sentence = sentence;
}
}
然后你可以消除歧义:
public ArrayList> disambiguate(String word)
{
ArrayList> outer = new ArrayList>();
String[] words = sentence.split("\\s+");
int cutoff = n-1;
for (int i = 0; i < words.length - cutoff; i++) {
if(words[i + ambiguousWordPosition].equals(word)) {
ArrayList inner = new ArrayList();
for(int j = i; j < i + cutoff; j++){
inner.add(words[j]);
}
outer.add(inner);
}
}
return outer;
}
注意:将其视为伪代码.我自己没有测试过,但你应该能够理解它