From d65a4f6067f5b32c4a483acdb909ff88cc6475b4 Mon Sep 17 00:00:00 2001 From: Franck Dary <franck.dary@lis-lab.fr> Date: Wed, 27 Oct 2021 09:11:16 +0200 Subject: [PATCH] Improved latex tab generator --- outputs/pvalues/res2latex.py | 93 +++++++++++++++++++----------------- outputs/stats2latex.py | 14 ++++-- 2 files changed, 60 insertions(+), 47 deletions(-) diff --git a/outputs/pvalues/res2latex.py b/outputs/pvalues/res2latex.py index 7712509..b1957b5 100755 --- a/outputs/pvalues/res2latex.py +++ b/outputs/pvalues/res2latex.py @@ -2,63 +2,70 @@ import sys -metrics = [] def toIgnore(model) : return "bt2" in model def modelName(model) : if "bt1" in model.lower() : - return "RL_BT1" + return "RL\_BT1" if "no" in model.lower() : - return "RL_NOBT" + return "RL\_NOBT" if "oracle" in model.lower() : - return "SUPERVISED" + return "SL" + print("ERROR %s not found"%model) + exit(1) return "NOT FOUND" def nicePValue(p) : if p == "_" : - return p + return "\_" return "%.3f"%p -for line in open(sys.argv[1]) : - line = line.strip() - if len(line) == 0 : - continue - splited = line.split() - if len(splited) == 1 : - metrics.append([splited[0], []]) - continue - metrics[-1][1].append([]) - metrics[-1][1][-1].append(splited[1]) - metrics[-1][1][-1].append(splited[2]) - metrics[-1][1][-1].append(splited[4]) - if len(splited) == 9 : - metrics[-1][1][-1].append(splited[8].split('=')[-1]) - else : - metrics[-1][1][-1].append("_") +for filename in sys.argv[1:] : + metrics = [] + for line in open(filename) : + line = line.strip() + if len(line) == 0 or "------" in line : + continue + splited = line.split() + if len(splited) == 1 : + metrics.append([splited[0], []]) + continue + metrics[-1][1].append([]) + metrics[-1][1][-1].append(splited[1]) + metrics[-1][1][-1].append(splited[2]) + metrics[-1][1][-1].append(splited[4]) + if len(splited) == 9 : + metrics[-1][1][-1].append(splited[8].split('=')[-1]) + else : + metrics[-1][1][-1].append("\_") + + asTab = [["\\textbf{Model}"] + ["\\textbf{%s}"%[m[0],"p"][i] for m in metrics for i in [0,1]]] + models = {} + for metric in metrics : + for i in range(len(metric[1])) : + model = metric[1][i][0] + if model not in models : + models[model] = [] + models[model].append([metric[1][i][1:]]) + for model in models : + if toIgnore(model) : + continue + asTab.append([modelName(model)]) + asTab[-1] += [models[model][i][0][j] for i in range(len(metrics)) for j in [0,2]] -asTab = [["\\textbf{Model}"] + ["\\textbf{%s}"%[m[0],"p"][i] for m in metrics for i in [0,1]]] -models = {} -for metric in metrics : - for i in range(len(metric[1])) : - model = metric[1][i][0] - if model not in models : - models[model] = [] - models[model].append([metric[1][i][1:]]) -for model in models : - if toIgnore(model) : - continue - asTab.append([modelName(model)]) - asTab[-1] += [models[model][i][0][j] for i in range(len(metrics)) for j in [0,2]] - -print("""\\begin{table}[] -\\begin{tabular}{|l|l|l|l|} + print("""\\begin{table} +\centering +\\tabcolsep=0.8mm +\\begin{tabular}{|l|l|l|l|l|} \hline""") -for line in asTab : - print(" & ".join(line), "\\\\ \hline") -print("""\end{tabular} -\caption{} -\label{tab:my-table} -\end{table}""") + for line in asTab : + print(" & ".join(line), "\\\\ \hline") + print("""\end{tabular} +\caption{%s on UD\_French-GSD} +\label{tab:res_%s} +\end{table} + +"""%(filename.split('.')[0],filename.split('.')[0])) diff --git a/outputs/stats2latex.py b/outputs/stats2latex.py index 575ad60..288ef9e 100755 --- a/outputs/stats2latex.py +++ b/outputs/stats2latex.py @@ -8,6 +8,12 @@ def toIgnore(model) : return "bt2" in model def modelName(model) : + if "tagger" in model.lower() : + return "TAGGER" + if "tagparser" in model.lower() : + return "TAPARSER" + if "parser" in model.lower() : + return "PARSER" if "bt1" in model.lower() : return "RL\_BT1" if "no" in model.lower() : @@ -34,10 +40,10 @@ targetValues = {"nbActions" : ("\#Actions",prettyInt), "nbBack" : ("\#Backs",prettyInt), "backPrecision" : ("bPrec",percent), "backRecall" : ("bRec",percent), - "nbRedoneCorrectCorrect" : ("\%C$\\rightarrow$C",percent), - "nbRedoneErrErr" : ("\%E$\\rightarrow$E",percent), - "nbRedoneCorrectErr" : ("\%C$\\rightarrow$E",percent), - "nbRedoneErrCorrect" : ("\%E$\\rightarrow$C",percent)} + "nbRedoneCorrectCorrect" : ("C$\\rightarrow$C",percent), + "nbRedoneErrErr" : ("E$\\rightarrow$E",percent), + "nbRedoneCorrectErr" : ("C$\\rightarrow$E",percent), + "nbRedoneErrCorrect" : ("E$\\rightarrow$C",percent)} for t in targetValues : old = targetValues[t] targetValues[t] = ("\\texttt{%s}"%old[0],old[1]) -- GitLab