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)
|