stealth-clu 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e55190619ceeaca0ad9383dfae313f0ac0d0c5c1b0a79b25ee73cae587ed312a
4
- data.tar.gz: 592c902a0613c7a16b4ee2ab65191a7239313ea3a663cfbfde6d18aa1a053c20
3
+ metadata.gz: 389e589573195e0c32511a9c5fec8354df91aad528cb5f5e00216fe41816406c
4
+ data.tar.gz: 3d0fff4390f665a733c4fff94aa42bb8701d2c0c54c666dd0737f8a95bc494ff
5
5
  SHA512:
6
- metadata.gz: a45dc6113768ca60904a4cbc2572eb6a05fa644fb305ce4bd5be307d2549ef773306289176967dc438a6d83bbdb4adae79f8638e34a402fbf3b55c6dae7cd157
7
- data.tar.gz: b5ec3ad781eaf03224efe08321cfb39a7575b68a877f9d3d2d7b4ae828d4d26ce86bb39b68cb828f0dc01b7b5664a5e70d46729658f2702eeb88f8509473593a
6
+ metadata.gz: 2c5ee1cd1199cd39392244666e5b353a429ab04821847675e5a7b92167d5570bca83d5bf58340e7b4b71fb714289b61bf03ae4e649740edc0ec306deeea09c87
7
+ data.tar.gz: 4046b209fdd14f07ea3572ac6a5a213d9d02511383b2d449d9a5b9191e04ed290d4cb19301b0fd1390a0f837f0fea4a9849348dd78abff416fcb66445a1e9bbb
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- stealth-clu (1.0.0)
4
+ stealth-clu (1.0.1)
5
5
  http (~> 4)
6
6
  stealth (>= 2.0.0.beta)
7
7
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
@@ -89,27 +89,44 @@ module Stealth
89
89
  # https://learn.microsoft.com/en-us/azure/ai-services/language-service/named-entity-recognition/concepts/entity-resolutions
90
90
  def entities
91
91
  return {} if raw_entities.blank?
92
+
92
93
  _entities = {}
93
94
 
94
95
  raw_entities.each do |entity|
95
96
  category = entity["category"]
96
97
  mapped_category = ENTITY_MAP[category] || category
97
98
 
99
+ values = case mapped_category.to_sym
100
+ when :number, :percentage
101
+ entity["resolutions"]&.map { |res| res["value"] }
102
+ when :phone, :email, :url, :key_phrase, :name
103
+ [entity["text"]]
104
+ when :currency, :age, :dimension, :temp
105
+ entity["resolutions"]&.map do |res|
106
+ { "number" => res["value"], "units" => res["unit"] }
107
+ end
108
+ when :ordinal
109
+ entity["resolutions"]&.map do |res|
110
+ { "offset" => res["offset"].to_i, "relativeTo" => res["relativeTo"] }
111
+ end
112
+ when :geo
113
+ [{ "value" => entity["text"], "type" => "location" }]
114
+ when :datetime
115
+ [entity]
116
+ else
117
+ # Fallback: return text if no resolution
118
+ resolution_values = entity["resolutions"]&.map { |res| res["value"] }
119
+ resolution_values.presence || [entity["text"]]
120
+ end
121
+
122
+ next if values.blank?
98
123
  _entities[mapped_category.to_sym] ||= []
99
- _entities[mapped_category.to_sym] << entity
124
+ _entities[mapped_category.to_sym].concat(values)
100
125
  end
101
126
 
102
127
  _entities
103
128
  end
104
129
 
105
- # def sentiment_score
106
- # parsed_result&.dig('prediction', 'sentiment', 'score')
107
- # end
108
-
109
- # def sentiment
110
- # parsed_result&.dig('prediction', 'sentiment', 'label')&.to_sym
111
- # end
112
-
113
130
  private
114
131
 
115
132
  def top_intent
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stealth-clu
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emilie Morissette
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-09-17 00:00:00.000000000 Z
11
+ date: 2025-09-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: stealth