spacy - 使用 spacy.matcher.matcher.Matcher.add() 方法的问题
问题描述
尝试使用 spacy 时出现错误matcher
:
~\Anaconda3\lib\site-packages\spacy\matcher\matcher.pyx in spacy.matcher.matcher.Matcher.add()
TypeError: add() takes exactly 2 positional arguments (3 given)
是否有任何替代功能spacy.matcher.matcher.Matcher.add()
?
解决方案
在 v3.0
中更改 从 spaCy v3.0 开始,Matcher.add
将模式列表作为第二个参数(而不是可变数量的参数)。on_match
回调成为可选的关键字参数。
patterns = [[{"TEXT": "Google"}, {"TEXT": "Now"}], [{"TEXT": "GoogleNow"}]]
- matcher.add("GoogleNow", on_match, *patterns)
+ matcher.add("GoogleNow", patterns, on_match=on_match)
示例用法:
from spacy.matcher import Matcher
matcher = Matcher(nlp.vocab)
pattern = [{"LOWER": "hello"}, {"LOWER": "world"}]
matcher.add("HelloWorld", [pattern])
doc = nlp("hello world!")
matches = matcher(doc)
推荐阅读
- fft - Reconstruction of shape from elliptic Fourier descriptors
- ios - iOS UITextView with html contents, tap on image and zoom
- python - Tensorflow Slim in Google Colab: `train_dir` is missing
- asp.net - Is the best way to update sections of a dynamic webpage - by rewriting the file every time?
- python - 如何使用 Pydub 和 OpenCV 库同时播放和音频以及运行网络摄像头?
- html - 使用 Jquery 更改选项后将输入值设置为空
- android - Dagger Hilt 错误:@HiltAndroidApp 有一个值。你忘记应用 Gradle 插件了吗?(dagger.hilt.android.plugin)
- firebase - Firestore 从集合字段中获取一个值然后返回(Kotlin)
- scipy - Scipy Optimizer 长短约束错误
- r - 忽略 keras 中 R 的缺失目标值的损失函数