Class: Treebank::EllipticWord

Inherits:
Object
  • Object
show all
Defined in:
lib/treebank/elliptic_word.rb

Instance Method Summary collapse

Constructor Details

#initialize(word_node, sentence) ⇒ EllipticWord

Returns a new instance of EllipticWord.



3
4
5
6
# File 'lib/treebank/elliptic_word.rb', line 3

def initialize(word_node, sentence)
  @node = word_node
  @sentence = sentence
end

Instance Method Details

#parse_elliptic_headObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/treebank/elliptic_word.rb', line 8

def parse_elliptic_head
  return unless match = @node['relation'].match(regexp)

  label, elliptic_string, elliptic_label = match.captures
  elliptic_head = @node['head']

  unless head = @sentence.elliptic_nodes[elliptic_string]
    new_node = create_new_node(elliptic_head, elliptic_label, elliptic_string)
    head = new_node['id']
  end

  @node['relation'] = label
  @node['head'] = head
end