从 nlp 对象制作列表不起作用,而 spacy 讲座采用该方法
making a list from nlp object is not working while the spacy lecture goes with that approach
我正在尝试跟进 spacy.io 的讲座。
但是,我运行遇到了一个st运行ge问题。
首先分享link官方spacy网页的代码
https://course.spacy.io/en/chapter3
在他们提供的示例代码中,
import spacy
from spacy.matcher import PhraseMatcher
from spacy.tokens import Span
nlp = spacy.load("en_core_web_sm")
animals = ["Golden Retriever", "cat", "turtle", "Rattus norvegicus"]
animal_patterns = list(nlp.pipe(animals))
print("animal_patterns:", animal_patterns)
matcher = PhraseMatcher(nlp.vocab)
matcher.add("ANIMAL", None, *animal_patterns)
当我在我的 jupyter 上 运行 时,
错误信息如下。
--------------------------------------------------------------------------- TypeError Traceback (most recent call
last) in
5 nlp = spacy.load("en_core_web_sm")
6 animals = ["Golden Retriever", "cat", "turtle", "Rattus norvegicus"]
----> 7 animal_patterns = list(nlp.pipe(animals))
TypeError: 'list' object is not callable
对我来说好像
由于 nlp 不是可迭代对象,因此无法从中创建列表。
我该如何解决这个问题?以及为什么他们将其作为示例显示,即使它根本不是工作代码?
这段代码是基于 python 2.x 吗?
谢谢
您的 list
构造函数似乎不见了。
这可能是因为像 list = something
这样的操作
无论如何,这应该可以解决它。
import spacy
from spacy.matcher import PhraseMatcher
from spacy.tokens import Span
nlp = spacy.load("en_core_web_sm")
animals = ["Golden Retriever", "cat", "turtle", "Rattus norvegicus"]
list = [].__class__
animal_patterns = list(nlp.pipe(animals))
print("animal_patterns:", animal_patterns)
matcher = PhraseMatcher(nlp.vocab)
matcher.add("ANIMAL", None, *animal_patterns)
我正在尝试跟进 spacy.io 的讲座。
但是,我运行遇到了一个st运行ge问题。
首先分享link官方spacy网页的代码
https://course.spacy.io/en/chapter3
在他们提供的示例代码中,
import spacy
from spacy.matcher import PhraseMatcher
from spacy.tokens import Span
nlp = spacy.load("en_core_web_sm")
animals = ["Golden Retriever", "cat", "turtle", "Rattus norvegicus"]
animal_patterns = list(nlp.pipe(animals))
print("animal_patterns:", animal_patterns)
matcher = PhraseMatcher(nlp.vocab)
matcher.add("ANIMAL", None, *animal_patterns)
当我在我的 jupyter 上 运行 时,
错误信息如下。
--------------------------------------------------------------------------- TypeError Traceback (most recent call last) in 5 nlp = spacy.load("en_core_web_sm") 6 animals = ["Golden Retriever", "cat", "turtle", "Rattus norvegicus"] ----> 7 animal_patterns = list(nlp.pipe(animals))
TypeError: 'list' object is not callable
对我来说好像 由于 nlp 不是可迭代对象,因此无法从中创建列表。
我该如何解决这个问题?以及为什么他们将其作为示例显示,即使它根本不是工作代码? 这段代码是基于 python 2.x 吗?
谢谢
您的 list
构造函数似乎不见了。
这可能是因为像 list = something
这样的操作
无论如何,这应该可以解决它。
import spacy
from spacy.matcher import PhraseMatcher
from spacy.tokens import Span
nlp = spacy.load("en_core_web_sm")
animals = ["Golden Retriever", "cat", "turtle", "Rattus norvegicus"]
list = [].__class__
animal_patterns = list(nlp.pipe(animals))
print("animal_patterns:", animal_patterns)
matcher = PhraseMatcher(nlp.vocab)
matcher.add("ANIMAL", None, *animal_patterns)