N-gram ってなに…。
def ngram(target, n)
analyzed = []
keywords = target.split(//u)
keywords.size.times do |i|
keyword = keywords[i, n].delete_if { |i| i.nil? || i.blank? || i.match(/^\s+$/) }
next if keyword.size < n
analyzed << keyword.join
end
analyzed.join(" ")
end
なんか作ってくださいって言われたので作った。文字列を n 文字で分割したものを作ればいいのかなくらいしか理解してない!無知でほんとうにごめんなさい。
他の人の作ったメソッドを見てみると、もっと長かったり、いろいろなことをしてたので、これじゃダメなのかなーと思いました。
あと、Ruby 久しぶりすぎて、delete_if のあたりとか一発でできるメソッドありそう…。