Sha256: ef95347f2b93878fce273122b0e6a932ab7c7837d7180a70033bc92a18e61452

Contents?: true

Size: 624 Bytes

Versions: 1

Compression:

Stored size: 624 Bytes

Contents

# encoding: UTF-8

class TextNlp
  class Synonyms
   
    def initialize(synonyms = [])
      @synonyms = {}
      @expressions = Expressions.new
      synonyms.each do |synos|
        name = synos.shift
        register(name,synos)
      end
    end
    
    def register(name,synonyms)
      normalized_name = name.normalize
      synonyms.each do |synonym|
        @expressions << synonym
        @synonyms[synonym.normalize] = normalized_name
      end
    end
    
    def translate(text)
      @expressions.expressionize(text).map { |expr| @synonyms.key?(expr) ? @synonyms[expr] : expr }.join(' ')
    end
  
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
text_nlp-0.0.2 lib/text_nlp/synonyms.rb