2013-02-12 :-(
_ [N-gram]N-gram 的ななにか
ruby
#!/usr/bin/ruby -Ku
require 'pp'
def ngram(gram = 2, text)
  len = text.length - 1
  0.upto(len) {|i|
    if i + gram > text.length
      return
    end
    
    puts text[i, gram]
  }
end
def main(argv)
  gram = 2
  text = "hoge"
  ngram(gram, text)
  gram = 3
  text = "日本語です"
  ngram(gram, text)
end
main(ARGV)
java
import java.util.*;
class Ngram {
    private void ngram(int gram, String text) {
        int len = text.length();
        for(int i = 0; i < len; i++) {
            int beginIndex;
            int endIndex;
            
            beginIndex = i;
            endIndex = beginIndex + gram;
            if(endIndex > len) {
                return;
            }
            
            String s = text.substring(beginIndex, endIndex);
            System.out.println(s);
        }
    }
    
    public static void main(String[] args) {
        Ngram ngram = new Ngram();
        String text;
        int gram;
        
        text = "hoge";
        gram = 2;
        ngram.ngram(gram, text);
        
        text = "日本語です";
        gram = 3;
        ngram.ngram(gram, text);
        
    }
}
結果は両方とも同じ。
ho og ge 日本語 本語で 語です
[ツッコミを入れる]








