Как мне интерпретировать следующий шаблон, добавленный к пространственному сопоставителю?

patterns = [
        [{
            "POS": "ADJ",
            "IS_PUNCT": False
        }],
        [{
            "POS": {
                "IN": ["ADJ", "NOUN"]
            },
            "OP": "*",
            "IS_PUNCT": False
        }, {
            "POS": "NOUN",
            "IS_PUNCT": False
        }],
1
CuriousMan 22 Ноя 2020 в 19:11

2 ответа

Лучший ответ

Прежде всего вам нужно понять, что каждый словарь представляет собой один объемный токен. Первый список будет соответствовать токену, в котором POS помечено как ADJ и не является пунктуацией. Второй список будет соответствовать токену, у которого POS помечено как ADJ или 'NOUN'. IN - атрибуты сравнения, которые проверяют, находится ли значение в списке или нет. Ключевое слово OP является квантификатором, в частности * позволяет совпадать с шаблоном ноль или более раз, как в регулярном выражении. Из этих примеров вы можете понять другие, а также узнать больше о сопоставлении здесь.

2
Sharmiko 22 Ноя 2020 в 16:47

Как описано здесь, 'IN' соответствует, если POS второго токена входит в данный список. Это сопоставимо с ключевым словом in в Python.

2
chefhose 22 Ноя 2020 в 16:45