class WebStat::Tag
Attributes
article[RW]
natto_mecab[RW]
Public Class Methods
new(article, userdic: nil)
click to toggle source
# File lib/web_stat/tag.rb, line 6 def initialize(article, userdic: nil) @natto_mecab = Natto::MeCab.new(userdic: userdic) @article = article end
Public Instance Methods
nouns(part_of_speech: "固有名詞")
click to toggle source
Keyword extraction @param part_of_speech ex) 名詞, 固有名詞 etc… only Japanese
# File lib/web_stat/tag.rb, line 13 def nouns(part_of_speech: "固有名詞") words = Hash.new @natto_mecab.parse(@article) do |n| features = n.feature.split(",") if include_recursive?(features, Array(part_of_speech)) words[n.surface] = 1 unless words[n.surface] words[n.surface] += 1 end end words.keys end
Private Instance Methods
include_recursive?(target, list)
click to toggle source
A array include? B array. @param target A array @param list B array
# File lib/web_stat/tag.rb, line 29 def include_recursive?(target, list) list.map { |v|target.include?(v) }.all? end