class PragmaticSegmenter::Segmenter

This class segments a text into an array of sentences.

Attributes

doc_type[R]
language[R]
text[R]

Public Class Methods

new(text:, language: 'en', doc_type: nil, clean: true) click to toggle source
# File lib/pragmatic_segmenter/segmenter.rb, line 10
def initialize(text:, language: 'en', doc_type: nil, clean: true)
  return unless text
  @language = language
  @language_module = Languages.get_language_by_code(language)
  @doc_type = doc_type

  if clean
    @text = cleaner.new(text: text, doc_type: @doc_type, language: @language_module).clean
  else
    @text = text
  end
end

Public Instance Methods

segment() click to toggle source
# File lib/pragmatic_segmenter/segmenter.rb, line 23
def segment
  return [] unless @text
  processor.new(language: @language_module).process(text: @text)
end

Private Instance Methods

cleaner() click to toggle source
# File lib/pragmatic_segmenter/segmenter.rb, line 36
def cleaner
  @language_module::Cleaner
rescue
  Cleaner
end
processor() click to toggle source
# File lib/pragmatic_segmenter/segmenter.rb, line 30
def processor
  @language_module::Processor
rescue
  Processor
end