Class: WebStat::Tag

Inherits:
Object
  • Object
show all
Defined in:
lib/web_stat/tag.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(article, userdic: nil) ⇒ Tag

Returns a new instance of Tag.



6
7
8
9
# File 'lib/web_stat/tag.rb', line 6

def initialize(article, userdic: nil)
  @natto_mecab = Natto::MeCab.new(userdic: userdic)
  @article = article
end

Instance Attribute Details

#articleObject

Returns the value of attribute article.



4
5
6
# File 'lib/web_stat/tag.rb', line 4

def article
  @article
end

#natto_mecabObject

Returns the value of attribute natto_mecab.



4
5
6
# File 'lib/web_stat/tag.rb', line 4

def natto_mecab
  @natto_mecab
end

Instance Method Details

#nouns(part_of_speech: "固有名詞") ⇒ Object

Keyword extraction

Parameters:

  • part_of_speech (defaults to: "固有名詞")

    ex) 名詞, 固有名詞 etc… only Japanese



13
14
15
16
17
18
19
20
21
22
23
# 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