aac-metrics 0.1.3 → 0.1.4

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: 57db00976963f424efaab981a2b5066280b2de8dd8d3b241301ba3880fe1ce5c
4
- data.tar.gz: fc386c30321ad3f94f03b00bfde72c19ea20dfebf400f6cc8322c841c5b5950b
3
+ metadata.gz: 5a2c7146372a916bfc65d6d4d50dda6b2a7a27aaf16fc59f3786e7dc38d87f49
4
+ data.tar.gz: ea1f5629b498e2f79e4bd9cd5d5d03085f4088da10f351fc1f52187b05744cda
5
5
  SHA512:
6
- metadata.gz: 4b9778b4e5a1dce3c1571bdd3038025b7ca6acec1dc9359cc4a04c5183dfd6640fd11fc06651d3059a5561f20d5f22974e6fa35c72d6b6273ee326b38c09612b
7
- data.tar.gz: a2762f3a27e48b3445495d0ff16e46da23d80bd4d8e4a08f347df957fd3b595bc93f7697c769b92ba61bd633d57ec07b8df83c0bc2a1d374b763e48be9506724
6
+ metadata.gz: 178c2851f81ecb92e0d97a77a9553ecabcc97baca6fc4d717e8ea2b081e7318cbeb5552a876af896618d979dd7ff4277b2a24c5e32cd6359345f8a760b36eee3
7
+ data.tar.gz: 63d7a6cf112e6fc53f7630cf478a37d57374d4b52c934d2c215614b307555486bb34de34316b7255daa2884d51e887c0f380abfdeb85218035d5c4c34df2d68a
@@ -256,14 +256,17 @@ module AACMetrics::Metrics
256
256
  compare_words = []
257
257
  compare_buttons = {}
258
258
  comp_efforts = {}
259
+ comp_levels = {}
259
260
  compare[:buttons].each do |btn|
260
261
  compare_words << btn[:label]
261
262
  compare_buttons[btn[:label]] = btn
262
263
  comp_efforts[btn[:label]] = btn[:effort]
264
+ comp_levels[btn[:label]] = btn[:level]
263
265
  end
264
266
 
265
267
  sortable_efforts = {}
266
268
  target_efforts = {}
269
+ target_levels = {}
267
270
  target_words = []
268
271
  # Track effort scores for each button in the set,
269
272
  # used to sort and for assessing priority
@@ -272,6 +275,7 @@ module AACMetrics::Metrics
272
275
  res[:buttons].each{|b|
273
276
  target_words << b[:label]
274
277
  target_efforts[b[:label]] = b[:effort]
278
+ target_levels[b[:label]] = b[:level]
275
279
  sortable_efforts[b[:label]] = b[:effort]
276
280
  comp = compare_buttons[b[:label]]
277
281
  if comp
@@ -414,7 +418,6 @@ module AACMetrics::Metrics
414
418
  res[:cores][list['id']] = {name: list['name'], list: list['words'], average_effort: list_effort, comp_effort: comp_effort}
415
419
  end
416
420
  target_effort_tally = (target_effort_tally / core_lists.to_a.length) * 5.0
417
-
418
421
  comp_effort_tally = (comp_effort_tally / core_lists.to_a.length) * 5.0
419
422
 
420
423
  # TODO: Assemble or allow a battery of word combinations,
@@ -422,27 +425,41 @@ module AACMetrics::Metrics
422
425
  # as well as an average level of effort across combinations.
423
426
  res[:sentences] = []
424
427
  sentences.each do |words|
425
- puts " #{words.join(' ')}"
426
- BOARD_CHANGE_PROCESSING_EFFORT
427
428
  target_effort_score = 0.0
428
429
  comp_effort_score = 0.0
429
430
  words.each_with_index do |word, idx|
430
431
  synonym_words = [word] + (synonyms[word] || [])
431
432
  effort = target_efforts[word] || target_efforts[word.downcase]
433
+ level = target_levels[word] || target_levels[word.downcase]
432
434
  if !effort
433
- synonym_words.each{|w| effort ||= target_efforts[w] }
435
+ synonym_words.each do |w|
436
+ if !effort && target_efforts[w]
437
+ effort = target_efforts[w]
438
+ level = target_levels[w]
439
+ end
440
+ end
434
441
  end
435
442
  effort ||= spelling_effort(word)
436
- effort += (idx == 0) ? 0.0 : BOARD_CHANGE_PROCESSING_EFFORT
443
+ if level && level > 0 && idx > 0
444
+ effort += BOARD_CHANGE_PROCESSING_EFFORT
445
+ end
437
446
  ee = effort
438
447
  target_effort_score += effort
439
448
 
440
449
  effort = comp_efforts[word] || comp_efforts[word.downcase]
450
+ level = comp_levels[word] || comp_levels[word.downcase]
441
451
  if !effort
442
- synonym_words.each{|w| effort ||= comp_efforts[w] }
452
+ synonym_words.each do |w|
453
+ if !effort && comp_efforts[w]
454
+ effort = comp_efforts[w]
455
+ level = comp_levels[w]
456
+ end
457
+ end
443
458
  end
444
459
  effort ||= spelling_effort(word)
445
- effort += (idx == 0) ? 0.0 : BOARD_CHANGE_PROCESSING_EFFORT
460
+ if level && level > 0 && idx > 0
461
+ effort += BOARD_CHANGE_PROCESSING_EFFORT
462
+ end
446
463
  comp_effort_score += effort
447
464
  end
448
465
  target_effort_score = target_effort_score / words.length