code: def build_evaluation_table(evaluation, verbose, counts, enhanced):
      text = []
  
      # Print the evaluation
      if not verbose and not counts:
          text.append(
              "LAS F1 Score: {:.2f}".format(100 * evaluation["LAS"].f1)
          )
          text.append(
              "MLAS Score: {:.2f}".format(100 * evaluation["MLAS"].f1)
          )
          text.append(
              "BLEX Score: {:.2f}".format(100 * evaluation["BLEX"].f1)
          )
          if enhanced:
              text.append(
                  "ELAS F1 Score: {:.2f}".format(
                      100 * evaluation["ELAS"].f1
                  )
              )
              text.append(
                  "EULAS F1 Score: {:.2f}".format(
                      100 * evaluation["EULAS"].f1
                  )
              )
      else:
          if counts:
              text.append(
                  "Metric     | Correct   |      Gold | Predicted | Aligned"
              )
          else:
              text.append(
                  "Metric     | Precision |    Recall |  F1 Score | AligndAcc"
              )
          text.append(
              "-----------+-----------+-----------+-----------+-----------"
          )
          metrics = [
              "Tokens",
              "Sentences",
              "Words",
              "UPOS",
              "XPOS",
              "UFeats",
              "AllTags",
              "Lemmas",
              "UAS",
              "LAS",
              "CLAS",
              "MLAS",
              "BLEX",
          ]
          if enhanced:
              metrics += ["ELAS", "EULAS"]
          for metric in metrics:
              if counts:
                  text.append(
                      "{:11}|{:10} |{:10} |{:10} |{:10}".format(
                          metric,
                          evaluation[metric].correct,
                          evaluation[metric].gold_total,
                          evaluation[metric].system_total,
                          evaluation[metric].aligned_total
                          or (
                              evaluation[metric].correct
                              if metric == "Words"
                              else ""
                          ),
                      )
                  )
              else:
                  text.append(
                      "{:11}|{:10.2f} |{:10.2f} |{:10.2f} |{}".format(
                          metric,
                          100 * evaluation[metric].precision,
                          100 * evaluation[metric].recall,
                          100 * evaluation[metric].f1,
                          "{:10.2f}".format(
                              100 * evaluation[metric].aligned_accuracy
                          )
                          if evaluation[metric].aligned_accuracy
                          is not None
                          else "",
                      )
                  )
  
      return "\n".join(text)
  
imports: from __future__ import division
  from __future__ import print_function
  import argparse
  import io
  import sys
  import unicodedata
  import unittest
label_desc: Use image node_id 8 for calling a global function with example usage: build_evaluation_table(evaluation, verbose, counts, enhanced) and returns: str