无论如何,SpaCy 是否可以用其标签替换 SpaCy NER 检测到的实体?例如: 我在玩我的 Apple Macbook 时正在吃一个苹果。
我已经用 SpaCy 训练了 NER 模型来检测“水果”实体,并且该模型成功地将第一个“苹果”检测为“水果”,而不是第二个“苹果”。
我想通过用标签替换每个实体来对我的数据进行后处理,所以我想用“水果”替换第一个“苹果”。句子将是“我在玩我的 Apple Macbook 时正在吃水果。 ”
如果我只是使用正则表达式,它也会用“FRUITS”替换第二个“Apple”,这是不正确的。有什么聪明的方法可以做到这一点吗?
谢谢!
我有已经以 SpaCy 格式标记的数据。例如:
("Who is Shaka Khan?", {"entities": [(7, 17, "PERSON")]}),
("I like London and Berlin.", {"entities": [(7, 13, "LOC"), (18, 24, "LOC")]})
Run Code Online (Sandbox Code Playgroud)
但我想尝试使用任何其他 NER 模型来训练它,例如 BERT-NER,它需要 IOB 标记。是否有从 SpaCy 数据格式到 IOB 的转换代码?
谢谢!
我有一个 YAML 脚本,用户可以在其中定义一些参数。他们还可以在 YAML 文件中声明他们想要应用的自定义函数。例如:
processes:
args1: 10
args2: 5
funct: np.sum
Run Code Online (Sandbox Code Playgroud)
该 YAML 将被传递给如下函数:
def custom_func(args1, args2, funct):
return funct(args1, args2)
Run Code Online (Sandbox Code Playgroud)
对于上面的 YAML 示例,我希望custom_func()执行np.sum(10,5). 如何使 YAML 文件中的数据解析为 Callable?eval()可能可以完成这项工作,但可能存在安全问题。有没有什么正确的方法呢?谢谢!
我有这段代码:
kwargs_input = {"name": "lala", "age": 25, "postcode": 17867}
def print_kwargs(**kwargs):
for k,v in kwargs.items():
print(k,v)
def func_print(name="lolo", age=56, **kwargs):
print_kwargs(**kwargs)
print(func_print(**kwargs_input))
Run Code Online (Sandbox Code Playgroud)
它打印:
postcode 17867
None
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
name和age不打印?我期望使用传递的参数来覆盖名称( lolo)和年龄( )的默认值56**kwargs_input ) 的默认值。那可能吗?None?我有这些字符串,例如:
['2300LO/LCE','2302KO/KCE']
我想要这样的输出:
['2300LO','2300LCE','2302KO','2302KCE']
我如何在 Python 中使用 Regex 来做到这一点?
谢谢!