spacy中文分词添加自定义词典

一、问题

在分词的过程中会碰到一些新的潮流词汇在无法正确的进行分词。如下图所示:
在这里插入图片描述

二、解决方法

  • 换一个容易找到解决方法的库如jieba。
  • 使用pkuseg_update_user_dict(详情可以查询官网:https://spacy.io/usage/v2-3)
    在这里插入图片描述
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Spacy是一个强大的自然语言处理库,它支持各种语言,包括中文。在Spacy中,我们可以通过训练模型来识别和提取命名实体。下面是一些关于如何在Spacy自定义中文命名实体的步骤: 1. 准备数据集:首先,需要准备一个包含中文文本和对应命名实体的数据集。这个数据集应该是一个json格式的文件,每个文本都应该包含一个“text”字段和一个“entities”字段,entities字段应该是一个列表,其中每个元素都是一个字典,包含“start”和“end”字段,分别表示命名实体在文本中的起始位置和结束位置,以及“label”字段,表示命名实体的类型。 2. 数据预处理:将数据集转换为Spacy可接受的格式。可以使用Spacy提供的工具函数,如spacy.gold.biluo_tags_from_offsets(),将实体坐标转换为BILUO(Beginning, Inside, Last, Unit, Outside)标签。还需要将数据集分为训练集、验证集和测试集。 3. 定义模型:Spacy提供了一个基于卷积神经网络和条件随机场(CRF)的命名实体识别模型,可以通过调用spacy.blank()函数创建一个空模型,并使用add_pipe()方法添加组件。 4. 训练模型:使用Spacy提供的训练函数,对模型进行训练。训练过程中需要指定训练数据、验证数据、迭代次数、批处理大小等参数。训练过程可以耗费较长时间,因此建议在GPU上进行训练。 5. 测试模型:在测试集上测试模型的性能。可以使用Spacy提供的evaluate()函数,计算模型的准确率、召回率和F1分数等指标。 6. 使用模型:将训练好的模型应用于新的中文文本,使用模型的nlp()方法对文本进行处理,并使用ents属性获取提取的命名实体。 需要注意的是,Spacy自带的中文模型性能较差,因此建议使用自定义模型进行中文命名实体识别。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值