Class: Classifier::WordList

Inherits:
Object show all
Defined in:
lib/classifier/lsi/word_list.rb

Overview

This class keeps a word => index mapping. It is used to map stemmed words to dimensions of a vector.

Instance Method Summary collapse

Constructor Details

#initializeWordList

Returns a new instance of WordList.



10
11
12
# File 'lib/classifier/lsi/word_list.rb', line 10

def initialize
  @location_table = Hash.new
end

Instance Method Details

#[](lookup) ⇒ Object

Returns the dimension of the word or nil if the word is not in the space.



21
22
23
24
# File 'lib/classifier/lsi/word_list.rb', line 21

def [](lookup)
  term = lookup
  @location_table[term]
end

#add_word(word) ⇒ Object

Adds a word (if it is new) and assigns it a unique dimension.



15
16
17
18
# File 'lib/classifier/lsi/word_list.rb', line 15

def add_word(word)
  term = word
  @location_table[term] = @location_table.size unless @location_table[term]
end

#sizeObject

Returns the number of words mapped.



31
32
33
# File 'lib/classifier/lsi/word_list.rb', line 31

def size
  @location_table.size
end

#word_for_index(ind) ⇒ Object



26
27
28
# File 'lib/classifier/lsi/word_list.rb', line 26

def word_for_index(ind)
  @location_table.invert[ind]
end