【NLP】序列标注问题?如何处理词中间的“的”等不相干符号?BIESO标注结构?未解决
【问题描述】
如何对以下序列进行标注,并完成NER的命名实体识别任务?
“通过检测烟雾的浓度来实现blabla……” 想要提取的是“检测烟雾浓度”这个词。
【字级别标注】
(1)——通(O)过(O)检(B)测(I)烟(I)雾(E)的(O)浓(B)度(E)来(O)实(O)现(O)blabla……
以上标注只能识别出“检测烟雾”和“浓度”这两个词,将目标“检测烟雾浓度”分开了,所以不对。
(2)——通(O)过(O)检(B)测(I)烟(I)雾(I)的(O)浓(I)度(E)来(O)实(O)现(O)blabla……
据说这种标注方式,即把“I”后面接除了“I”或者"E"之外的字母,是不允许的。因为CRF的约束条件中,就约束了BIESO这几个标签的前后关系,其中'I'后面不能接"O"或者“S”?
所以,需要改动CRF的约束条件?这部分没想明白,应该要去深入了解一下CRF原理。
【词级别标注】
首先是对句子分词:
通过| 检测| 烟雾| 的| 浓度| 来| 实现| blabla
标注:
(1)——通过(O)| 检测(B)| 烟雾(E)| 的(O)| 浓度(S)| 来(O)| 实现(O)| blabla(O)
和字级别的标注问题一样,把检测烟雾和浓度分开了,不是想要的结果。
(2)——通过(O)| 检测(B)| 烟雾(I)| 的(O)| 浓度(E)| 来(O)| 实现(O)| blabla(O)
和字级别的标注问题一样,BIE标签顺序中,“I”后面智能接“I”/“E”,不能接“O”。???
【参考】
【https://www.cnblogs.com/jiangxinyang/p/9368482.html】【这篇讲得很好 但和我的问题不相关】
【实践/解决】
【待补充】