开始使用免费开始使用

在 spaCy 中匹配单个术语

RegEx 模式并不容易阅读、编写和调试。不过别担心,spaCy 提供了可读且可用于生产环境的替代方案 —— Matcher 类。Matcher 类可以把预定义的规则与指定 Doc 容器中的词元序列进行匹配。本练习中,您将练习使用 Matcher 查找单个单词。

您可以在 example_text 中访问相应文本,并分别使用 nlpdoc 来访问 spaCy 模型以及 example_textDoc 容器。

本练习是课程的一部分

使用 spaCy 的自然语言处理

查看课程

练习说明

  • 初始化一个 Matcher 类。
  • 定义一个模式,用于在 example_text 中匹配小写的 witch
  • 将模式添加到 Matcher 并执行匹配。
  • 遍历匹配结果,打印起始与结束词元索引,以及匹配文本的 span。

交互式实操练习

通过完成这段示例代码来试试这个练习。

nlp = spacy.load("en_core_web_sm")
doc = nlp(example_text)

# Initialize a Matcher object
matcher = Matcher(nlp.____)

# Define a pattern to match lower cased word witch
pattern = [{"lower" : ____}]

# Add the pattern to matcher object and find matches
matcher.add("CustomMatcher", [____])
matches = matcher(____)

# Print start and end token indices and span of the matched text
for match_id, start, end in matches:
    print("Start token: ", ____, " | End token: ", ____, "| Matched text: ", doc[____:____].text)
编辑并运行代码