У меня есть DF, который имеет результаты классификатора NER, такие как:
df =
s token pred tokenID
17 hakawati B-Loc 3
17 theatre L-Loc 3
17 jerusalem U-Loc 7
56 university B-Org 5
56 of I-Org 5
56 texas I-Org 5
56 here L-Org 6
...
5402 dwight B-Peop 1
5402 d. I-Peop 1
5402 eisenhower L-Peop 1
В этом кадре данных есть много других столбцов, которые не имеют отношения к делу.Теперь я хочу сгруппировать токены в зависимости от их предложения (= s) и их прогнозируемых тегов, чтобы объединить их в одну сущность:
df2 =
s token pred
17 hakawati theatre Location
17 jerusalem Location
56 university of texas here Organisation
...
5402 dwight d. eisenhower People
Обычно я бы делал это, просто используя строку типа data_map = df.groupby(["s"],as_index=False, sort=False).agg(" ".join)
и используя функцию переименования.Однако, поскольку данные содержат различные типы строк (B, I, L - Loc / Org ..), я не знаю, как именно это сделать.
Любые идеи приветствуются.
Есть идеи?