【问题标题】:Spacy pattern matcher. What does "IN" mean?Spacy 模式匹配器。 “IN”是什么意思?
【发布时间】:2020-11-23 00:47:12
【问题描述】:

如何解释添加到 spacy 匹配器的以下模式?

patterns = [
        [{
            "POS": "ADJ",
            "IS_PUNCT": False
        }],
        [{
            "POS": {
                "IN": ["ADJ", "NOUN"]
            },
            "OP": "*",
            "IS_PUNCT": False
        }, {
            "POS": "NOUN",
            "IS_PUNCT": False
        }],

【问题讨论】:

  • POS 标签字符串是"ADJ""NOUN"

标签: python nlp spacy


【解决方案1】:

首先,您需要了解每个字典代表一个 spacy 令牌。第一个列表将匹配具有POS 标记为ADJ 且不是标点符号的令牌。第二个列表将匹配具有POS 标记为ADJ 或“名词”的令牌。 IN 是比较属性,用于检查值是否在列表中。 OP 关键字是量词,特别是 * 允许模式匹配零次或多次,就像在正则表达式中一样。从这些示例中您可以了解其他示例,您可以阅读更多关于匹配here 的信息。

【讨论】:

  • 模式列表中的第二个元素是否表明它应该是 [ADJ OR NOUN] 后跟另一个名词?
  • 没有。它是单独的字典,因此它将被 spacy 视为单独的标记。另外,如果第一个令牌匹配[ADJNOUN]并且令牌是NOUN,则第二个字典令牌也将单独匹配。
【解决方案2】:

here 所述,如果第二个令牌的 POS 是给定列表的成员,则“IN”匹配。相当于python中的'in'关键字。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    相关资源
    最近更新 更多