Class: TextNlp::StopList

Inherits:
Object
  • Object
show all
Defined in:
lib/text_nlp/stop_list.rb

Class Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ StopList

Returns a new instance of StopList.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/text_nlp/stop_list.rb', line 11

def initialize(options = {})
  @cache = {}
  options = {:expressions => []}.merge(options)
  expressions = options[:expressions]
  if (options.key?(:name))
    File.foreach(File.join(StopList.directory,"#{options[:name]}.txt")) { |e| expressions << e }
  end
  if (options.key?(:names))
    options[:names].each do |name|
      File.foreach(File.join(StopList.directory,"#{name}.txt")) { |e| expressions << e }
    end
  end
  if (options.key?(:file))
    File.foreach(options[:file]) { |e| expressions << e }
  end
  if (options.key?(:files))
    options[:files].each do |file|
      File.foreach(file) { |e| expressions << e }
    end
  end
  expressions.each { |e| @cache[e.normalize] = true }
  @expressions = TextNlp::Expressions.new(expressions)
end

Class Attribute Details

.directoryObject

Returns the value of attribute directory.



7
8
9
# File 'lib/text_nlp/stop_list.rb', line 7

def directory
  @directory
end

Instance Method Details

#sizeObject



39
40
41
# File 'lib/text_nlp/stop_list.rb', line 39

def size
  @expressions.values.size
end

#transform(text) ⇒ Object



35
36
37
# File 'lib/text_nlp/stop_list.rb', line 35

def transform(text)
  @expressions.expressionize(text).map { |expr| @cache.key?(expr) ? nil : expr }.compact.join(' ')
end