首页 > 解决方案 > 标记数据框中的实体

问题描述

我正在寻找一种方法来直接在我的数据框中使用关联的标签标记我的实体。

我的标记化适用​​于省略,例如:

["d'Angers"] => ["d'", "Angers"] 
["l'impératrice" ] => ["l'", "impératrice"]

输入数据框

Sentence  Mention  Tag
3   Vincennes   B-LOCATION
3   .   O

4   Confirmation    O
4   des O
4   privilèges  O
4   de  O
4   la  O
4   ville   O
4   d'Aire  O
4   1   O
4   ,   O
4   au  O
4   bailliage   B-ORGANISATION
4   d'Amiens    I-ORGANISATION
4 .

5 Projet O
5 de O
5 " O
5 tour O
5 de O
5 l'impératrice B-TITLE
5 Eugénie B-PERSON
5 .

6 session
6 à O
6 l'ONU B-ORGANISATION
6 du
6 17
6 mai
6 .

预期输出

Sentence  Mention  Tag
3   Vincennes   B-LOCATION
3   .   O

4   Confirmation    O
4   des O
4   privilèges  O
4   de  O
4   la  O
4   ville   O
4   d'Aire  O
4   1   O
4   ,   O
4   au  O
4   bailliage   B-ORGANISATION
4   d' I-ORGANISATION
4   Amiens    I-ORGANISATION
4 . 

5 Projet O
5 de O
5 " O
5 tour O
5 de O
5 l' O
5 impératrice B-TITLE
5 Eugénie B-PERSON
5 .

6 session
6 à O
6 l' O
6 ONU B-ORGANISATION
6 du
6 17
6 mai
6 .

困难在于能够保持与标记化提及相关联的标签。如果有人有任何线索,请提前致谢。

标签: pythonpython-3.xpandasnlp

解决方案


您可以split使用后向正则表达式和explode

(df.assign(Mention=df['Mention'].str.split("(?<=')"))
   .explode('Mention')
)

输出:

    Sentence       Mention             Tag
0          3     Vincennes      B-LOCATION
1          3             .               O
2          4  Confirmation               O
3          4           des               O
4          4    privilèges               O
5          4            de               O
6          4            la               O
7          4         ville               O
8          4            d'               O
8          4          Aire               O
9          4             1               O
10         4             ,               O
11         4            au               O
12         4     bailliage  B-ORGANISATION
13         4            d'  I-ORGANISATION
13         4        Amiens  I-ORGANISATION
14         4             .            None
15         5        Projet               O
16         5            de               O
17         5             "               O
18         5          tour               O
19         5            de               O
20         5            l'         B-TITLE
20         5   impératrice         B-TITLE
21         5       Eugénie        B-PERSON
22         5             .            None
23         6       session            None
24         6             à               O
25         6            l'  B-ORGANISATION
25         6           ONU  B-ORGANISATION
26         6            du            None
27         6            17            None
28         6           mai            None
29         6             .            None

推荐阅读