百度 LAC 的 python 使用

安装依赖

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'))

输出结果:

['上海']

你可能感兴趣的:(百度 LAC 的 python 使用)