spacy 中的数学表达式

丁先生

使用 python 和 spacy(德语)分析数学任务,包括数学表达式:是否可以标记这些数学表达式?例如使用 {}:

Two cyclists {A} and {B}, {120 miles} apart, approach each other, each pedaling at {10 mph}. 

现在(没有 {})A 和 B 有不同的标签(德语:NOUN 和 X)。

格达拉斯

是的,绝对有可能做到这一点。首先,您应该定义一个新的 'math' 属性,表明该标记与数学有关。

之后,您向 spacy 管道添加一个新组件,该组件应实现以下 2 个:

  1. 将数学标记合并为一个数学标记
  2. 将此标记的 math 属性设置为 true

以下代码应该可以解决您的问题:

import spacy
from spacy.tokens import Token
Token.set_extension('math', default=False)
nlp  = spacy.load('en')

def math_expressions(doc):
    flag_start = False
    to_merge = []
    for index, token in enumerate(doc):
        if (token.text == "{"):
            start = index
            flag_start = True
        if (flag_start and token.text == "}"):
            flag_start = False
            to_merge.append(doc[start:index+1])
    for span in to_merge:
        token = span.merge()
        token._.set('math', True)
    return doc


nlp.add_pipe(math_expressions, after='ner')

doc = nlp('Two cyclists {A} and {B}, {120 miles} apart, approach each other, each pedaling at {10 mph}.')
for token in doc:
    if (token._.math):
        print(token)

希望能帮助到你!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

spaCy 的正则表达式与 Python 的正则表达式不同

来自分类Dev

在Qt中评估数学表达式

来自分类Dev

数学表达式中的类型计算

来自分类Dev

评估cron中的数学表达式

来自分类Dev

评估 R 中的数学表达式

来自分类Dev

Spacy中的模式

来自分类Dev

如何使用正则表达式使用Spacy短语匹配器提取IP地址

来自分类Dev

Google Colab中的Spacy取代

来自分类Dev

在 Spacy 中更改单个实体

来自分类Dev

MathML的数学表达式

来自分类Dev

评估数学表达式

来自分类Dev

在JSON中使用正则表达式时正确进行转义(尝试创建spaCy模式匹配文件)

来自分类Dev

ExprTk中的简单数学表达式

来自分类Dev

如何在Angularjs中渲染Wiris数学表达式

来自分类Dev

在Haskell中编写数学表达式的惯用方式

来自分类Dev

Eigen C ++中数学表达式的内联计算

来自分类Dev

在python中打印数学表达式

来自分类Dev

来自dart中字符串的数学表达式

来自分类Dev

我想在文件中写数学表达式

来自分类Dev

计算字符数组中给出的数学表达式

来自分类Dev

在C#中解析数学表达式

来自分类Dev

Expr未解析Bash中的数学表达式

来自分类Dev

如何在 es 中评估简单的数学表达式?

来自分类Dev

在 gawk + gensub 中解析数学表达式

来自分类Dev

使用 cat() 的句子中的数学表达式?

来自分类Dev

如何解析 C 中的数学表达式

来自分类Dev

动态创建的滑块中的数学表达式

来自分类Dev

spaCy中的DocBin.merge方法

来自分类Dev

从spacy模型中删除训练数据