如何使用动词时态/语气制作稀疏匹配器模式?

2024-05-22

我一直在尝试使用动词时态和情绪为 spacy 匹配器创建一个特定的模式。
我发现了如何使用 model.vocab.morphology.tag_map[token.tag_] 访问使用 spacy 解析的单词的形态特征,当动词处于虚拟语气模式(我感兴趣的模式)时,它会打印出这样的内容:

{'Mood_sub':正确,'Number_sing':正确,'Person_third':正确,'Tense_pres':正确,'VerbForm_fin':正确,74:100}

但是,我想要一种像这样的模式来重新标记特定的动词短语: 模式 = [{'TAG':'Mood_sub'}, {'TAG':'VerbForm_ger'}]

对于像“Que siga aprendiendo”这样的西班牙语短语,“siga”的标签中具有“Mood_sub”= True,而“aprendiendo”的标签中具有“VerbForm_ger”= True。但是,匹配器未检测到此匹配。

谁能告诉我这是为什么以及如何解决它?这是我正在使用的代码:

model = spacy.load('es_core_news_md')
text = 'Que siga aprendiendo de sus alumnos'
doc = model(text)
pattern = [{'TAG':'Mood_sub'}, {'TAG':'VerbForm_ger'}] 
matcher.add(1, None, pattern)
matches = matcher(doc)
for i, start, end in matches:
    span = doc[start:end]
    if len(span) > 0:
       with doc.retokenize() as retokenizer:
            retokenizer.merge(span)

The morphspacy v2 中尚未完全实现支持,因此无法使用直接变形值,例如Mood_sub.

相反,我认为最好的选择是Matcher是使用REGEX超过合并/扩展TAG价值观。它不会特别优雅,但它应该可以工作:

import spacy
from spacy.matcher import Matcher

nlp = spacy.load('es_core_news_sm')
doc = nlp("Que siga aprendiendo de sus alumnos")
assert doc[1].tag_ == "AUX__Mood=Sub|Number=Sing|Person=3|Tense=Pres|VerbForm=Fin"
matcher = Matcher(nlp.vocab)
matcher.add("MOOD_SUB", [[{"TAG": {"REGEX": ".*Mood=Sub.*"}}]])
assert matcher(doc) == [(513366231240698711, 1, 2)]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用动词时态/语气制作稀疏匹配器模式? 的相关文章

  • gensim如何计算doc2vec段落向量

    我正在看这篇论文http cs stanford edu quocle paragraph vector pdf http cs stanford edu quocle paragraph vector pdf 它指出 段落向量和词向量被平
  • 是否可以将 SpaCy 安装到 Raspberry Pi 4 Raspbian Buster

    我一整天都在安装 SpaCy sudo pip install U spacy Looking in indexes https pypi org simple https www piwheels org simple Collectin
  • openNLP 与 Solr 集成时出现异常

    我正在尝试将 openNLP 与 Solr 6 1 0 集成 我配置了架构和 solrconfig 文件 详细信息请参见 wiki 链接 https wiki apache org solr OpenNLP https wiki apach
  • 区分大小写的实体识别

    我的关键字全部以小写形式存储 例如 折扣耐克鞋 我正在尝试对其执行实体提取 我遇到的问题是 spaCy 在 NER 方面似乎区分大小写 请注意 我不认为这是 spaCy 特有的 当我跑步时 doc nlp u i love nike sho
  • 旧版本的 spaCy 在尝试安装模型时抛出“KeyError: 'package'”错误

    我在 Ubuntu 14 04 4 LTS x64 上使用 spaCy 1 6 0 和 python3 5 为了安装 spaCy 的英文版本 我尝试运行 这给了我错误消息 ubun ner 3 NeuroNER master src pyt
  • 如何将标记化中的多单词名称保留在一起?

    我想使用 TF IDF 特征对文档进行分类 一种方法是 from sklearn feature extraction text import TfidfVectorizer import string import re import n
  • PHP 和 NLP:嵌套括号(解析器输出)到数组?

    想要将带有嵌套括号的文本转换为嵌套数组 以下是 NLP 解析器的输出示例 TOP S NP PRP I VP VBP love NP NP DT a JJ big NN bed PP IN of NP NNS roses 原文 我喜欢一大床
  • 给定文档,选择相关片段

    当我在这里提出问题时 自动搜索返回的问题的工具提示给出了问题的前一点 但其中相当一部分没有给出任何比理解问题更有用的文本 标题 有谁知道如何制作一个过滤器来删除问题中无用的部分 我的第一个想法是修剪仅包含某个列表中的单词的任何前导句子 例如
  • 如何使用动词时态/语气制作稀疏匹配器模式?

    我一直在尝试使用动词时态和情绪为 spacy 匹配器创建一个特定的模式 我发现了如何使用 model vocab morphology tag map token tag 访问使用 spacy 解析的单词的形态特征 当动词处于虚拟语气模式
  • 获取 NLTK 索引的所有结果

    我正在使用 NLTK 来查找单词的一致性 但我不知道如何获取所有结果并将它们放入list or set 例如 text concordance word 仅打印前 25 个结果 TL DR text concordance lines 10
  • Java文本输出中的UTF-8编码问题

    我一直致力于测试高棉语 Unicode Wordbreaker 的各种解决方案 高棉语单词之间没有空格 这使得拼写检查和语法检查变得困难 以及从旧高棉语转换为高棉语 Unicode 我得到了一些源代码 现在在线 http www white
  • nltk 标记化和缩写

    我用 nltk 对文本进行标记 只是将句子输入到 wordpunct tokenizer 中 这会拆分缩写 例如 don t 到 don t 但我想将它们保留为一个单词 我正在改进我的方法 以实现更精确的文本标记化 因此我需要更深入地研究
  • Java 中的自然语言处理 (NLP) [重复]

    这个问题在这里已经有答案了 可能的重复 Java 有没有好的自然语言处理库 https stackoverflow com questions 870460 java is there a good natural language pro
  • spacy 如何使用词嵌入进行命名实体识别 (NER)?

    我正在尝试使用以下方法训练 NER 模型spaCy识别位置 人 名和组织 我试图理解如何spaCy识别文本中的实体 但我无法找到答案 从这个问题 https github com explosion spaCy issues 491在 Gi
  • 文本摘要评估 - BLEU 与 ROUGE

    根据两个不同摘要系统 sys1 和 sys2 的结果和相同的参考摘要 我使用 BLEU 和 ROUGE 对它们进行了评估 问题是 sys1 的所有 ROUGE 分数均高于 sys2 ROUGE 1 ROUGE 2 ROUGE 3 ROUGE
  • Python NLP 英式英语与美式英语

    我目前正在用Python 进行NLP 工作 然而 在我的语料库中 既有英式英语也有美式英语 实现 实现 我正在考虑将英式英语转换为美式英语 但是 我没有找到一个好的工具 包来做到这一点 有什么建议么 我也找不到包 但试试这个 请注意 我必须
  • 如何使用Bert进行长文本分类?

    我们知道 BERT 有 token 的最大长度限制 512 因此如果一篇文章的长度远大于 512 例如文本中有 10000 个 token 如何使用 BERT 您基本上有三个选择 您可以剪掉较长的文本并仅使用前 512 个令牌 最初的 BE
  • Spacy提取特定名词短语

    我可以在 python 中使用 spacy 来查找具有特定邻居的 NP 吗 我想要文本中前后都有动词的名词短语 您可以合并名词短语 这样它们就不会单独标记化 分析依存解析树 查看相邻标记的 POS gt gt gt import spacy
  • spacy 是否将令牌列表作为输入?

    我想使用 spacy 的 POS 标记 NER 和依存解析 而不使用单词标记化 事实上 我的输入是代表一个句子的标记列表 我想尊重用户的标记化 无论是使用 spacy 还是任何其他 NLP 包 这是否可能 现在 我使用这个基于 spacy
  • 无法在配备arm M1的Macbook上安装spaCy

    尝试使用 pip 在 M1 Mac 上安装 spaCy pip install spacy apple 出现错误 pip subprocess to install build dependencies did not run succes

随机推荐