ltp icon indicating copy to clipboard operation
ltp copied to clipboard

添加add words 之后出现bug

Open BigHyf opened this issue 2 years ago • 4 comments

ltp = LTP("LTP/base2") ltp.add_words(words=['SCSG','IP地址']) ltp.pipeline(['SCSGIP地址'], tasks=["cws"])

这种情况下报错 KeyError: 4

BigHyf avatar Sep 17 '22 17:09 BigHyf

image

hackerchenzhuo avatar Sep 17 '22 17:09 hackerchenzhuo

这是由于 tokenizer 在 tokenize 的时候对 SCSGIP 将 SCSGIP 考虑成一个整体导致的,无法强行拆分。

也许你可以尝试一下 legacy 模型。

AlongWY avatar Sep 18 '22 01:09 AlongWY

请问这个的原因是什么呢,为什么针对base2,添加了两个words却刚好无法分词

hackerchenzhuo avatar Sep 18 '22 02:09 hackerchenzhuo

对于英文来说,tokenizer 会把没有空格的一段英文字母当做一整个单词,也就是说 SCSGIP 会被视为一整个单词,并不单单是base2的问题,基于transformers的nerual模型都会出现这个问题

AlongWY avatar Sep 19 '22 02:09 AlongWY