fullngram.java

来自「Boosting算法软件包」· Java 代码 · 共 47 行

JAVA
47
字号
package jboost.examples.ngram;import java.util.Arrays;/** * Full ngrams are all ngrams up to a given length. * * @author Rob Schapire (rewritten by Aaron Arvey) */public class FullNgram extends AbstractNgram {    /** current ngram length */    private int n = 1;             /** window size */    private int size;    /**     * Constructor.  The ngrams will be constructed from the     * string s and will have length up to the given size.     * @param s string from which ngrams are constructed     * @param n maximum size of all ngrams returned     */    public FullNgram(String s, int size) {	super(s);	this.size = size;	boolean[] pat = new boolean[] {true};	enumer = new PatternNgram(words, pat);    }    public boolean hasMoreElements() {	if (n > size)	    return false;	n += 1;	while (!enumer.hasMoreElements() && n <= size) {	    boolean[] pat = new boolean[n];	    Arrays.fill(pat, true);	    enumer = new PatternNgram(words, pat);	    n += 1;	}	return (n <= size);    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?