Class: LangExtract::Core::Extraction
- Inherits:
-
Object
- Object
- LangExtract::Core::Extraction
- Defined in:
- lib/langextract/core/data.rb
Instance Attribute Summary collapse
-
#alignment_status ⇒ Object
readonly
Returns the value of attribute alignment_status.
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
-
#char_interval ⇒ Object
readonly
Returns the value of attribute char_interval.
-
#description ⇒ Object
readonly
Returns the value of attribute description.
-
#document_id ⇒ Object
readonly
Returns the value of attribute document_id.
-
#extraction_class ⇒ Object
readonly
Returns the value of attribute extraction_class.
-
#extraction_index ⇒ Object
readonly
Returns the value of attribute extraction_index.
-
#group_id ⇒ Object
readonly
Returns the value of attribute group_id.
-
#text ⇒ Object
readonly
Returns the value of attribute text.
-
#token_interval ⇒ Object
readonly
Returns the value of attribute token_interval.
Class Method Summary collapse
Instance Method Summary collapse
- #grounded? ⇒ Boolean
-
#initialize(text:, extraction_class: nil, description: nil, attributes: {}, char_interval: nil, token_interval: nil, alignment_status: AlignmentStatus::UNGROUNDED, extraction_index: nil, group_id: nil, document_id: nil) ⇒ Extraction
constructor
A new instance of Extraction.
- #to_h ⇒ Object
Constructor Details
#initialize(text:, extraction_class: nil, description: nil, attributes: {}, char_interval: nil, token_interval: nil, alignment_status: AlignmentStatus::UNGROUNDED, extraction_index: nil, group_id: nil, document_id: nil) ⇒ Extraction
Returns a new instance of Extraction.
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/langextract/core/data.rb', line 103 def initialize(text:, extraction_class: nil, description: nil, attributes: {}, char_interval: nil, token_interval: nil, alignment_status: AlignmentStatus::UNGROUNDED, extraction_index: nil, group_id: nil, document_id: nil) raise ArgumentError, "text is required" if text.nil? raise ArgumentError, "invalid alignment status" unless AlignmentStatus.valid?(alignment_status) @extraction_class = extraction_class @text = text @description = description @attributes = HashCoercion.stringify_keys(attributes).freeze @char_interval = char_interval @token_interval = token_interval @alignment_status = alignment_status @extraction_index = extraction_index @group_id = group_id @document_id = document_id freeze end |
Instance Attribute Details
#alignment_status ⇒ Object (readonly)
Returns the value of attribute alignment_status.
99 100 101 |
# File 'lib/langextract/core/data.rb', line 99 def alignment_status @alignment_status end |
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
99 100 101 |
# File 'lib/langextract/core/data.rb', line 99 def attributes @attributes end |
#char_interval ⇒ Object (readonly)
Returns the value of attribute char_interval.
99 100 101 |
# File 'lib/langextract/core/data.rb', line 99 def char_interval @char_interval end |
#description ⇒ Object (readonly)
Returns the value of attribute description.
99 100 101 |
# File 'lib/langextract/core/data.rb', line 99 def description @description end |
#document_id ⇒ Object (readonly)
Returns the value of attribute document_id.
99 100 101 |
# File 'lib/langextract/core/data.rb', line 99 def document_id @document_id end |
#extraction_class ⇒ Object (readonly)
Returns the value of attribute extraction_class.
99 100 101 |
# File 'lib/langextract/core/data.rb', line 99 def extraction_class @extraction_class end |
#extraction_index ⇒ Object (readonly)
Returns the value of attribute extraction_index.
99 100 101 |
# File 'lib/langextract/core/data.rb', line 99 def extraction_index @extraction_index end |
#group_id ⇒ Object (readonly)
Returns the value of attribute group_id.
99 100 101 |
# File 'lib/langextract/core/data.rb', line 99 def group_id @group_id end |
#text ⇒ Object (readonly)
Returns the value of attribute text.
99 100 101 |
# File 'lib/langextract/core/data.rb', line 99 def text @text end |
#token_interval ⇒ Object (readonly)
Returns the value of attribute token_interval.
99 100 101 |
# File 'lib/langextract/core/data.rb', line 99 def token_interval @token_interval end |
Class Method Details
.from_h(hash) ⇒ Object
142 143 144 145 146 147 148 149 150 151 152 153 154 155 |
# File 'lib/langextract/core/data.rb', line 142 def self.from_h(hash) new( extraction_class: HashCoercion.read(hash, :extraction_class, :class, :type), text: HashCoercion.read(hash, :text, :extraction_text).to_s, description: HashCoercion.read(hash, :description), attributes: HashCoercion.read(hash, :attributes) || {}, char_interval: interval_from_hash(HashCoercion.read(hash, :char_interval), CharInterval), token_interval: interval_from_hash(HashCoercion.read(hash, :token_interval), TokenInterval), alignment_status: HashCoercion.read(hash, :alignment_status) || AlignmentStatus::UNGROUNDED, extraction_index: HashCoercion.read(hash, :extraction_index), group_id: HashCoercion.read(hash, :group_id), document_id: HashCoercion.read(hash, :document_id) ) end |
.interval_from_hash(value, interval_class) ⇒ Object
157 158 159 160 161 162 |
# File 'lib/langextract/core/data.rb', line 157 def self.interval_from_hash(value, interval_class) return value if value.is_a?(interval_class) return nil if value.nil? interval_class.from_h(value) end |
Instance Method Details
#grounded? ⇒ Boolean
123 124 125 |
# File 'lib/langextract/core/data.rb', line 123 def grounded? char_interval && ![AlignmentStatus::UNGROUNDED, AlignmentStatus::ERROR].include?(alignment_status) end |
#to_h ⇒ Object
127 128 129 130 131 132 133 134 135 136 137 138 139 140 |
# File 'lib/langextract/core/data.rb', line 127 def to_h { "extraction_class" => extraction_class, "text" => text, "description" => description, "attributes" => attributes, "char_interval" => char_interval&.to_h, "token_interval" => token_interval&.to_h, "alignment_status" => alignment_status, "extraction_index" => extraction_index, "group_id" => group_id, "document_id" => document_id } end |