GOATS/archives/iobes_slot.py
2024-05-08 23:36:04 +02:00

30 lines
928 B
Python

import pandas as pd
# Wczytanie danych z pliku TSV
data = pd.read_csv("combined_df.tsv", sep="\t")
# Inicjalizacja pustej listy do przechowywania tagów IOBES
tags = []
# Iteracja po każdym wierszu danych
for index, row in data.iterrows():
# Podział akcji na pojedyncze słowa
words = row['act'].split()
# Początkowy tag IOBES to 'O' dla każdego słowa
current_tags = ['O'] * len(words)
# Ustawienie tagu 'B' dla pierwszego słowa
current_tags[0] = 'B'
# Ustawienie tagu 'E' dla ostatniego słowa
current_tags[-1] = 'E'
# Ustawienie tagu 'I' dla pozostałych słów, jeśli są
if len(words) > 2:
current_tags[1:-1] = ['I'] * (len(words) - 2)
# Dodanie tagów do listy
tags.extend(current_tags)
# Dodanie kolumny z tagami do danych
data['tags'] = tags
# Zapisanie danych z tagami do nowego pliku TSV
data.to_csv("nazwa_pliku_z_tagami.tsv", sep="\t", index=False)