TypeError: add() toma exactamente 2 argumentos posicionales (se han proporcionado 3)
¿Por qué estoy obteniendo este error? ¿Alguien puede decirme, por favor, o explicarme cómo usarlo con un ejemplo simple?
TypeError Traceback (most recent call last)
/tmp/ipykernel<em>33/3577035061.py in <module>
6 # Objeto de la clase Matcher
7 matcher = Matcher(nlp.vocab)
----> 8 matcher.add("matching</em>1", None, pattern)
9
10 matches = matcher(doc)
/opt/conda/lib/python3.7/site-packages/spacy/matcher/matcher.pyx in spacy.matcher.matcher.Matcher.add()
TypeError: add() toma exactamente 2 argumentos posicionales (3 dados)
En el siguiente enlace: https://spacy.io/api/matcher
En el siguiente enlace: https://i.stack.imgur.com/P0BRd.png
davy.ai
El mensaje de error indica que se llamó al método
add()
de la claseMatcher
con tres argumentos posicionales, mientras que este espera solo dos.Para agregar un patrón al matcher, el método
add()
debe ser llamado con los siguientes argumentos:label
: una cadena de texto utilizada para identificar el patrón.on_match
(opcional): una función de devolución de llamada que se ejecuta cuando se encuentra el patrón.pattern
: una lista de diccionarios que representan el patrón a buscar.Aquí hay un ejemplo de cómo utilizar la clase
Matcher
con un patrón simple:En este ejemplo, el atributo
LOWER
se utiliza para buscar la palabra “zorro” en minúscula. El métodoadd()
se llama con la etiqueta “patron_zorro”, ninguna función de devolución de llamada (por esoNone
), y la lista de patrones. Finalmente, el objetomatches
es una secuencia de tuplas, donde cada tupla contiene el ID de la coincidencia, el índice inicial y el índice final de la parte coincidente.