繁体   English   中英

从spacy.matcher导入Matcher时出错

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM