![](/img/trans.png)
[英]ImportError: [E048] Can't import language en from spacy.lang: No module named 'spacy.matcher' How do i fix this?
[英]error while importing Matcher from spacy.matcher
我试图使用spacy以便从文本中获取专有名称,但是当我运行代码时,我得到了
Traceback (most recent call last):
File "C:/Users/L/Desktop/spacy.py", line 2, in <module>
import spacy
File "C:\Users\L\Desktop\spacy.py", line 3, in <module>
from spacy.matcher import Matcher
ModuleNotFoundError: No module named 'spacy.matcher'; 'spacy' is not a package
我使用pip安装了spacy及其受过训练的模型
pip install spacy
python -m spacy download en_core_web_sm
这是我正在处理的代码
import spacy
from spacy.matcher import Matcher
# load pre-trained model
nlp = spacy.load('en_core_web_sm')
# initialize matcher with a vocab
matcher = Matcher(nlp.vocab)
def extract_name(resume_text):
nlp_text = nlp(resume_text)
# First name and Last name are always Proper Nouns
pattern = [{'POS': 'PROPN'}, {'POS': 'PROPN'}]
matcher.add('NAME', None, *pattern)
matches = matcher(nlp_text)
for match_id, start, end in matches:
span = nlp_text[start:end]
return span.text
text ="some text"
fullName = extract_name(text)
任何人都可以帮助解决此错误。
问题是您在尝试使用包spacy
调用了文件spacy.py
。 切勿将脚本的名称与现有模块的名称相同。
解决方案:将文件重命名为其他名称(例如“ main.py”或“ app.py”)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.