Module: SegmentWithDocid

Extended by:
Annotation
Defined in:
lib/rbbt/ner/segment/docid.rb

Instance Method Summary collapse

Instance Method Details

#maskObject



12
13
14
15
16
17
18
19
20
# File 'lib/rbbt/ner/segment/docid.rb', line 12

def mask
  return self if masked?
  raise "Cannot mask an array of elements, they must be masked individually" if Array === self
  raise "Cannot mask a segment with no docid" if not self.respond_to? :docid or docid.nil?
  raise "Cannot mask a segment with no offset" if offset.nil?
  textual_position = ["MASKED", length] * ":"
  self.replace(textual_position)
  self
end

#masked?Boolean

Returns:

  • (Boolean)


8
9
10
# File 'lib/rbbt/ner/segment/docid.rb', line 8

def masked?
  self[0..5] == "MASKED"
end

#masked_lengthObject



38
39
40
# File 'lib/rbbt/ner/segment/docid.rb', line 38

def masked_length
  self.split(":").last.to_i
end

#segment_lengthObject



42
43
44
# File 'lib/rbbt/ner/segment/docid.rb', line 42

def segment_length
  masked? ? masked_length : str_length
end

#str_lengthObject



34
35
36
# File 'lib/rbbt/ner/segment/docid.rb', line 34

def str_length
  self.length
end

#unmaskObject



28
29
30
31
32
# File 'lib/rbbt/ner/segment/docid.rb', line 28

def unmask
  return self unless masked?
  self.replace(unmasked_text)
  self
end

#unmasked_textObject



22
23
24
25
26
# File 'lib/rbbt/ner/segment/docid.rb', line 22

def unmasked_text
  return self unless masked?
  tag, length = self.split(":")
  Document.setup(docid).text[offset.to_i..(offset.to_i+length.to_i-1)]
end