module PROIEL::Valency::Obliqueness
Constants
- OBLIQUENESS_HIERARCHY
Public Class Methods
sort_arguments(arguments)
click to toggle source
Sorts arguments by obliqueness
# File lib/proiel/valency/obliqueness.rb, line 10 def self.sort_arguments(arguments) arguments.sort_by { |argument| obliqueness_of_argument(argument) } end
sort_frames(frames)
click to toggle source
Sorts frames by obliqueness
# File lib/proiel/valency/obliqueness.rb, line 3 def self.sort_frames(frames) # Sort frames by obliqueness, then by inspecting them so that we get # a stable, reproducible order. frames.sort_by { |frame| [obliqueness_of_arguments(frame[:arguments]).sort, frame.inspect] } end
Private Class Methods
obliqueness_of_argument(argument)
click to toggle source
# File lib/proiel/valency/obliqueness.rb, line 22 def self.obliqueness_of_argument(argument) obliqueness_of_relation(argument[:relation]) * 2 + (argument[:lemma].nil? ? 0 : 1) end
obliqueness_of_arguments(arguments)
click to toggle source
# File lib/proiel/valency/obliqueness.rb, line 16 def self.obliqueness_of_arguments(arguments) arguments.map do |argument| obliqueness_of_argument(argument) end end
obliqueness_of_relation(relation)
click to toggle source
# File lib/proiel/valency/obliqueness.rb, line 28 def self.obliqueness_of_relation(relation) OBLIQUENESS_HIERARCHY.index(relation) || OBLIQUENESS_HIERARCHY.length end