安装依赖
pip install paddlepaddle
pip install paddlehub
使用
使用 lac 进行词性标注
import paddlehub as hub
lac = hub.Module(name='lac')
test_text =["被告人李杨洋应于2019年8月30日赔偿原告平安在线责任有限公司2000万元。"]
inputs = {"text": test_text}
results = lac.lexical_analysis(data=inputs)
输出结果:
[{'word': ['被告人', '李杨洋', '应', '于', '2019年8月30日', '赔偿', '原告', '平安在线责任有限公司', '2000万元', '。'], 'tag': ['n', 'PER', 'v', 'p', 'TIME', 'v', 'n', 'ORG', 'm', 'w']}]
得到命名实体识别结果
import paddlehub as hub
import numpy as np
def get_model():
lac = hub.Module(name='lac')
return lac
def get_lac(text):
inputs = {"text": [text]}
lac = get_model()
res = lac.lexical_analysis(data=inputs)
tag = res[0]['tag']
word = res[0]['word']
return tag, word
def get_entity(text, label):
'''
label参数可以为
'PER' : 人名
'LOC' : 地名
'ORG' : 机构名
'TIME' : 时间
'''
res = []
tag, word = get_lac(text)
tag = np.array(tag)
indexs = np.where(tag == label)[0]
for index in indexs:
res.append(word[index])
return res
print(get_entity('上海自来水来自海上', 'LOC'))
输出结果:
['上海']
网友评论