Module: TWFilter::Evidence

Defined in:
lib/twfilter/evidence.rb,
sig/twfilter.rbs

Class Method Summary collapse

Class Method Details

.count(text) ⇒ ::Integer

Parameters:

  • (::String)

Returns:

  • (::Integer)


6
# File 'lib/twfilter/evidence.rb', line 6

def count(text) = terms.sum { |term| text.scan(term).length }

.hits(text) ⇒ ::Array[::String]

Parameters:

  • (::String)

Returns:

  • (::Array[::String])


13
# File 'lib/twfilter/evidence.rb', line 13

def hits(text) = terms.select { |term| text.include?(term) }

.markers(text) ⇒ ::Array[::String]

Parameters:

  • (::String)

Returns:

  • (::Array[::String])


15
# File 'lib/twfilter/evidence.rb', line 15

def markers(text) = Tables.rows("taiwan_markers.txt").select { |term| text.include?(term) }

.per_100(text) ⇒ ::Float

Parameters:

  • (::String)

Returns:

  • (::Float)


8
9
10
11
# File 'lib/twfilter/evidence.rb', line 8

def per_100(text)
  han = Han.count(text)
  han.zero? ? 0.0 : count(text) * 100.0 / han
end

.reset!Object



17
# File 'lib/twfilter/evidence.rb', line 17

def reset! = @terms = nil

.terms::Array[::String]

Returns:

  • (::Array[::String])


19
20
21
22
23
24
25
26
# File 'lib/twfilter/evidence.rb', line 19

def terms
  @terms ||= (Tables.rows("taiwan_lexicon.txt") +
    Tables.rows("taiwan_particles.txt") +
    Tables.rows("taiwan_markers.txt") +
    Tables.rows("taiwan_grammar.txt"))
    .uniq
    .freeze
end