You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.5 KiB

  1. import os
  2. import pandas as pd
  3. import utils
  4. pm_sent_no = 'pm_sent_number'
  5. pm_sent = 'Sätze der Pressemitteilung'
  6. judgement_sent_no = 'judgement_sent_number'
  7. judgement_sent = 'Dazu passende Sätze des Urteils'
  8. keywords = 'Schlagworte'
  9. comments = 'Anmerkung'
  10. duration = 'Wie lange hast Du für die Bearbeitung dieses Urteils gebraucht?'
  11. bad_pm = 'Ist diese Pressemitteilung eine schlechte Darstellung / Zusammenfassung des Urteils?'
  12. current_dir = 'pm_summary/'
  13. def prepare_file(path):
  14. """
  15. Liest eine Datei aus und überführt sie in ein einheitliches Format.
  16. :param path: Pfad zur Datei.
  17. :return: dictionary, in dem die Ergebnisse stehen. Für jeden Satz der PM gibt es ein Unterdict (Zahl als key).
  18. """
  19. res = {}
  20. raw_data = pd.read_excel(path, names=[pm_sent_no, pm_sent], header=None)
  21. for index, row in raw_data.iterrows():
  22. current_sentence = {pm_sent_no: row[pm_sent_no], pm_sent: row[pm_sent]}
  23. res[current_sentence[pm_sent_no]] = current_sentence
  24. return res
  25. def get_all_pm_files():
  26. """
  27. Returns the list of all annotated pm-files
  28. :return: [(pm_filename, file_data)*]
  29. """
  30. file_path_base = utils.server_path(current_path=current_dir,
  31. path='../rouge_evalauation/evaluated_data/extractive_judgments')
  32. res = []
  33. for judgment in os.listdir(file_path_base):
  34. if '.xlsx' in judgment:
  35. filename = file_path_base + '/' + judgment
  36. res.append((judgment, prepare_file(filename)))
  37. return res