java
public class Main {
public static void main(String[] args) {
GramModel model = new GramModel();
List<List<String>> trainingData = Arrays.asList(
Arrays.asList("the", "cat", "sat", "on", "the", "mat"),
Arrays.asList("the", "dog", "ate", "my", "homework")
);
model.train(trainingData);
System.out.println("P(mat) = " + model.getWordProbability("mat"));
System.out.println("P(mat|the) = " + model.getBigramProbability("the", "mat"));
System.out.println("P(mat|the,cat) = " + model.getTrigramProbability("the", "cat", "mat"));
}
}