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 日本語 本語で 語です
[ツッコミを入れる]