spacy包使用

    从52nlp官网上截取了这段话:spaCy是一个Python自然语言处理工具包,诞生于2014年年中,号称“Industrial-Strength Natural Language Processing in Python”,是具有工业级强度的Python NLP工具包。spaCy里大量使用了 Cython 来提高相关模块的性能,这个区别于学术性质更浓的Python NLTK,因此具有了业界应用的实际价值。

   1.安装

    pip install spacy

    python -m spacy download en #下一半中途失败,参考网上教程更改DNS为8.8.8.8,成功

     

  2.使用

    spacy.load('en')

    这条语句报错:IOError: [E050] Can't find model 'en'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.很迷

    参考博客,改为spacy.load('en_core_web_sm'),解决

    要注意的是 输入的句子要用Unicode编码,譬如s = u"hello world",注意加前面这个u

3.代码

应该是组合成段落后,它再进行分词已经不再是400000个词了,应该是变多了

解决办法:将每个词作为一个文档,判断每个词是否被分词,若被分了或者没分但是非想要词性,则删除。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Spacy是一个流行的自然语言处理库,它允许用户训练自己的定制化模型,特别是通过它的管道(Pipeline)系统和`TrfTransformer`模块。以下是使用Spacy训练模型的基本步骤: 1. **安装和加载预训练模型**:首先,确保已经安装了Spacy和相关的语言模型。例如,如果你想要处理英文文本,可以下载`en_core_web_sm`。 ```bash pip install spacy python -m spacy download en_core_web_sm ``` 2. **数据准备**:你需要标记好语料库,通常括句子级别的标注,如命名实体识别(NER)、依存句法分析等。你可以使用Spacy的数据集,或者自定义CSV、JSON文件。 3. **创建训练数据**:将数据转换成Spacy可以理解的格式,通常是`Doc`对象列表,其中含标签信息。 4. **定义模型配置**:创建`TrfTransformer`的配置,可以选择模型架构(比如BERT、RoBERTa等),以及超参数,如学习率、批次大小等。 ```python from spacy.pipeline import create_pipe from spacy.training.example import Example # 创建空的训练器和模型 nlp = spacy.blank("en") ner = create_pipe("ner") nlp.add_pipe(ner) ``` 5. **添加训练器到模型**:将训练器添加到模型上,并设置训练目标(如NER)。 6. **训练模型**: ```python optimizer = nlp.begin_training() for i in range(n_iter): losses = {} batches = get_train_batches() for batch in batches: texts, annotations = zip(*batch) examples = [Example.from_dict(nlp.make_doc(text), annotations) for text in texts] nlp.update(examples, sgd=optimizer, drop=0.5, losses=losses) ``` 7. **评估和保存模型**:训练完成后,你可以用新的数据评估模型性能,然后保存以便后续使用。 ```python eval_data = [...] # 新的数据集 evaluator = spacy eval ... # 创建评估器 scores = evaluator.score(...) nlp.to_disk(output_dir) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值