From 2c8904d0461933df75d6f77b9cfbb57b319f1c25 Mon Sep 17 00:00:00 2001
From: Franck Dary <franck.dary@lis-lab.fr>
Date: Wed, 27 Oct 2021 13:29:57 +0200
Subject: [PATCH] corrected error in readtrace concerning redone stats

---
 readTrace.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/readTrace.py b/readTrace.py
index 2cb5597..0b59251 100755
--- a/readTrace.py
+++ b/readTrace.py
@@ -177,6 +177,7 @@ class History() :
       "nbArcs" : 0,
       "nbMissedArcs" : 0,
       "nbActions" : 0,
+      "nbActionsNormal" : 0,
       "nbActionsParser" : 0,
       "nbErr" : 0,
       "nbErrParser" : 0,
@@ -206,9 +207,14 @@ class History() :
       globalStats["nbWords"] += len(sentence[0])
       globalStats["nbArcs"] += len(sentence[0]) - 1
       for block in sentence[1] :
+        
         for i in range(len(block.versions)) :
           version = block.versions[i]
           stats = block.stats[i]
+          if i == 0 :
+            globalStats["nbActions"] += len(version)
+          if block.state == getBackerState() :
+            continue
           for step in version :
             step.distance = abs(step.actionScore-step.oracleScore)
             step.oracleIndex = [a[1] for a in step.scores].index(step.oracleAction)
@@ -227,7 +233,7 @@ class History() :
               stats["maxDist"] = max(stats["maxDist"], step.distance)
               stats["maxIndex"] = max(stats["maxIndex"], step.oracleIndex)
           if i == 0 :
-            globalStats["nbActions"] += len(version)
+            globalStats["nbActionsNormal"] += len(version)
             globalStats["nbErr"] += stats["nbErr"]
             if len(block.versions) > 1 :
               globalStats["nbErrFound"] += stats["nbErr"]
@@ -276,8 +282,8 @@ class History() :
         b = oldB + 1
         if backOnErr :
           globalStats["backOnErr"] += 1
-    if globalStats["nbActions"] > 0 :
-      globalStats["actionAccuracy"] = 100.0*(globalStats["nbActions"]-globalStats["nbErr"])/globalStats["nbActions"]
+    if globalStats["nbActionsNormal"] > 0 :
+      globalStats["actionAccuracy"] = 100.0*(globalStats["nbActionsNormal"]-globalStats["nbErr"])/globalStats["nbActionsNormal"]
     if globalStats["nbActionsParser"] > 0 :
       globalStats["actionAccuracyParser"] = 100.0*(globalStats["nbActionsParser"]-globalStats["nbErrParser"])/globalStats["nbActionsParser"]
     if globalStats["nbArcs"] > 0 :
-- 
GitLab