先安装spacy

pip install spacy

再安装语言模型

由于网络问题,建议直接在发布 · explosion/spacy-models --- Releases · explosion/spacy-models

下载到本地,再通过pip install 地址安装

模型名称 大小 准确率 速度 适用场景
zh_core_web_sm 45 MB 一般 最快 快速原型开发
zh_core_web_md 120 MB 较好 中等 通用场景(推荐)
zh_core_web_trf 450 MB 最好 较慢 高精度需求

今天的学习任务是使用Spacy对中文新闻文本进行分词、词性标注和实体识别

import spacy
def process_chinese_text(text):
    nlp=spacy.load("zh_core_web_md")
    doc=nlp(text)
    #将文本text传递给加载的模型nlp,并将处理的结果存储在doc变量中
    print("===分词与词性标注")
    for token in doc:
        #遍历doc中的每一个token(词语)
        #<8表示文本输出占用的宽度为最少为8个字符 <表示左对齐
        print(f"{token.text:<8}|{token.pos_:<4}|{spacy.explain(token.pos_)}")
        #打印每个 token 的文本、词性标签和词性标签的解释
    print("===命名实体识别===")
    for ent in doc.ents:
        print(f"{ent.text:<8}|{ent.label_:<6}|{spacy.explain(ent.label_)}")
        #打印每个命名实体的文本、实体标签和实体标签的解释
    #接收doc中的每一个命名实体ent,命名实体识别NER用于识别文中的专有名词,人名地名组织名等等
if __name__ == '__main__':
    news_text="""
      北京时间2023年7月15日,华为公司宣布将在上海市建立新的人工智能研究中心。  
    该中心将投资50亿元人民币,重点研发自然语言处理技术。首席执行官任正非表示,  
    这项投资将推动中国在人工智能领域的发展。 
    """
    process_chinese_text(news_text)



Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐