python有NER的词形特征库吗?

Is there any word shape feature library for NER in python?

作为 python 的初学者,我正在尝试构建自己的命名实体识别器,并且众所周知,字形特征在 NER 中尤为重要。是否有定义这些功能的已知库?例如,这些特征的一个版本用 x 表示小写字母,用 X 表示大写字母,用 d 表示数字并保留标点符号,映射 DC10-30 XX-dd-ddI.M.FX.X.X

因此,我寻找一个可以通过应用这些广为人知的功能来改进我的识别器的库。如果没有这样的库,我如何提取像

这样的词的词形特征
wordshape("D-Day") = X-Xxx

提前致谢。

你可以用regex(正则表达式)解决这个问题。 Python 正则表达式的标准库是 re.

下面的函数可以实现你想要的

def wordshape(text):
    import re
    t1 = re.sub('[A-Z]', 'X',text)
    t2 = re.sub('[a-z]', 'x', t1)
    return re.sub('[0-9]', 'd', t2)

>>> wordshape("DC10-30")
'XXdd-dd'
>>> wordshape("D-Day")
'X-Xxx'
>>> wordshape('I.M.F')
'X.X.X'