aac-metrics 0.1.3 → 0.1.5
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 +4 -4
- data/lib/aac-metrics/metrics.rb +25 -7
- data/sets/fringe.en.json +2112 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cdca6a6f1a0e5d01566d0e756115a550cbe48ec89ae0bacafb50c33070dbfd00
|
4
|
+
data.tar.gz: a86ccc6326629f57a9be59410d5768c8003141b7157b98e66337e73c98e3ae80
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 874df2c0b4f3aeedacd81d278911c3d999a6b305e7c7754b865df3a32ae2546e0b0f7aa8c33517178ea767f12fc3383777e59a7a57d56f2571b18ce0af65034c
|
7
|
+
data.tar.gz: 297b9e01205d0154b98f898fabf5804e541a6617f0177d80e24bd31c1b8e2c81e70d8cf068f44306bc431ff43f6f1b327c267d058a82778065ec48cad652179e
|
data/lib/aac-metrics/metrics.rb
CHANGED
@@ -252,18 +252,22 @@ module AACMetrics::Metrics
|
|
252
252
|
compare = AACMetrics::Metrics.analyze(compset, false)
|
253
253
|
res[:comp_boards] = compare[:total_boards]
|
254
254
|
res[:comp_buttons] = compare[:total_buttons]
|
255
|
+
res[:comp_grid] = compare[:grid]
|
255
256
|
|
256
257
|
compare_words = []
|
257
258
|
compare_buttons = {}
|
258
259
|
comp_efforts = {}
|
260
|
+
comp_levels = {}
|
259
261
|
compare[:buttons].each do |btn|
|
260
262
|
compare_words << btn[:label]
|
261
263
|
compare_buttons[btn[:label]] = btn
|
262
264
|
comp_efforts[btn[:label]] = btn[:effort]
|
265
|
+
comp_levels[btn[:label]] = btn[:level]
|
263
266
|
end
|
264
267
|
|
265
268
|
sortable_efforts = {}
|
266
269
|
target_efforts = {}
|
270
|
+
target_levels = {}
|
267
271
|
target_words = []
|
268
272
|
# Track effort scores for each button in the set,
|
269
273
|
# used to sort and for assessing priority
|
@@ -272,6 +276,7 @@ module AACMetrics::Metrics
|
|
272
276
|
res[:buttons].each{|b|
|
273
277
|
target_words << b[:label]
|
274
278
|
target_efforts[b[:label]] = b[:effort]
|
279
|
+
target_levels[b[:label]] = b[:level]
|
275
280
|
sortable_efforts[b[:label]] = b[:effort]
|
276
281
|
comp = compare_buttons[b[:label]]
|
277
282
|
if comp
|
@@ -414,7 +419,6 @@ module AACMetrics::Metrics
|
|
414
419
|
res[:cores][list['id']] = {name: list['name'], list: list['words'], average_effort: list_effort, comp_effort: comp_effort}
|
415
420
|
end
|
416
421
|
target_effort_tally = (target_effort_tally / core_lists.to_a.length) * 5.0
|
417
|
-
|
418
422
|
comp_effort_tally = (comp_effort_tally / core_lists.to_a.length) * 5.0
|
419
423
|
|
420
424
|
# TODO: Assemble or allow a battery of word combinations,
|
@@ -422,27 +426,41 @@ module AACMetrics::Metrics
|
|
422
426
|
# as well as an average level of effort across combinations.
|
423
427
|
res[:sentences] = []
|
424
428
|
sentences.each do |words|
|
425
|
-
puts " #{words.join(' ')}"
|
426
|
-
BOARD_CHANGE_PROCESSING_EFFORT
|
427
429
|
target_effort_score = 0.0
|
428
430
|
comp_effort_score = 0.0
|
429
431
|
words.each_with_index do |word, idx|
|
430
432
|
synonym_words = [word] + (synonyms[word] || [])
|
431
433
|
effort = target_efforts[word] || target_efforts[word.downcase]
|
434
|
+
level = target_levels[word] || target_levels[word.downcase]
|
432
435
|
if !effort
|
433
|
-
synonym_words.each
|
436
|
+
synonym_words.each do |w|
|
437
|
+
if !effort && target_efforts[w]
|
438
|
+
effort = target_efforts[w]
|
439
|
+
level = target_levels[w]
|
440
|
+
end
|
441
|
+
end
|
434
442
|
end
|
435
443
|
effort ||= spelling_effort(word)
|
436
|
-
|
444
|
+
if level && level > 0 && idx > 0
|
445
|
+
effort += BOARD_CHANGE_PROCESSING_EFFORT
|
446
|
+
end
|
437
447
|
ee = effort
|
438
448
|
target_effort_score += effort
|
439
449
|
|
440
450
|
effort = comp_efforts[word] || comp_efforts[word.downcase]
|
451
|
+
level = comp_levels[word] || comp_levels[word.downcase]
|
441
452
|
if !effort
|
442
|
-
synonym_words.each
|
453
|
+
synonym_words.each do |w|
|
454
|
+
if !effort && comp_efforts[w]
|
455
|
+
effort = comp_efforts[w]
|
456
|
+
level = comp_levels[w]
|
457
|
+
end
|
458
|
+
end
|
443
459
|
end
|
444
460
|
effort ||= spelling_effort(word)
|
445
|
-
|
461
|
+
if level && level > 0 && idx > 0
|
462
|
+
effort += BOARD_CHANGE_PROCESSING_EFFORT
|
463
|
+
end
|
446
464
|
comp_effort_score += effort
|
447
465
|
end
|
448
466
|
target_effort_score = target_effort_score / words.length
|