作为python的初学者,我正在尝试构建自己的命名实体识别器,众所周知,字形特征在NER中尤为重要。是否有任何已知的库可以定义这些功能?例如,这些特征的一个版本表示x的大写字母和X的大写字母,d的数字和保留的标点符号,地图 DC10-30 到 XX-dd-dd 和 IMF 到 XXX 。
因此,我寻找一个可以通过应用这些众所周知的功能来改进我的识别器的库。如果没有这样的库,我怎样才能提取像
wordshape("D-Day") = X-Xxx
提前致谢。
答案 0 :(得分:1)
您可以使用正则表达式(正则表达式)解决此问题。正则表达式的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'