30 lines
928 B
Python
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)
|