es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo usar thinc.types con la versión 2 de Spacy?

Estoy utilizando spacy versión==2.2.4 para el reconocimiento de entidades nombradas y deseo utilizar la misma versión para probar el pipeline personalizado de extracción de relaciones en spacy. Pero desafortunadamente, me encuentro con el siguiente problema al ejecutar el modelo de extracción de relaciones personalizado con la versión de spacy mencionada anteriormente.

ModuleNotFoundError: No module named 'thinc.types'

He utilizado el enlace spacy github para entrenar el pipeline personalizado de extracción de relaciones. Para el entrenamiento, he utilizado spacy==3.1.4.

Ahora, necesito conectar dos modelos diferentes, donde el reconocimiento de entidades nombradas está entrenado en spacy versión 2 y el modelo de extracción de relaciones de spacy funciona correctamente con la versión 3.

Realicé algunas pruebas de depuración y aquí están mis resultados:

  1. Leí en [spacy github issue 7219](https://github.com/explosion/spaCy/issues/7219 “ModuleNotFoundError: No module named ‘thinc.types’ #7219”) que, para usar el modelo de extracción de relaciones con spaCy v2, se debe usar spacy-transformers==0.6.2. Hice exactamente lo mismo pero sin éxito. Hay un enlace [pypi sobre spacy](https://pypi.org/project/spacy-transformers/ “compatibilidad de spacy transformers con la versión de spacy”) transformers que dice que spacy transformers requiere spacy>=3.0
  2. No me detuve en mi investigación allí y fui a otro [spacy github issue 7910](https://github.com/explosion/spaCy/discussions/7910 “spacy y versión de thinc”) que indica que se debe usar la versión thinc 8.0.3. Esta versión no es compatible con spacy==2.2.4

Estoy enfrentando problemas para utilizar spaCy v2 para probar el pipeline personalizado de extracción de relaciones en spaCy. Si no es posible, una solución sería utilizar la misma versión de spacy en ambos extremos. Podría implementar esto fácilmente, pero hay otro desafío que surge, que es utilizar neuralcoref en el medio, lo cual no se puede instalar con spacy v3. Cualquier solución a este problema ayudaría a resolverlo.

También estoy pensando en utilizar diferentes entornos para (NER + Coreferencia) y (Extracción de Relaciones). ¿Suena como una buena solución?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Problema al usar spacy v2 para probar una tubería personalizada de extracción de relaciones en spacy

    Como experto en TI especializado en Python, spacy, named-entity-recognition, spacy-transformers y coreference-resolution, te enfrentas a un problema al ejecutar un modelo de extracción de relaciones personalizado con la versión 2.2.4 de spacy. El error que encontraste es ModuleNotFoundError: No module named 'thinc.types'.

    Has utilizado el siguiente enlace de spacy github para entrenar la tubería personalizada de extracción de relaciones, y para el entrenamiento has utilizado spacy==3.1.4. Ahora, necesitas conectar dos modelos diferentes, mientras que el reconocimiento de entidades nombradas está entrenado en spacy versión 2, mientras que el modelo de extracción de relaciones de spacy funciona bien con la versión 3.

    Has intentado usar spacy-transformers==0.6.2 para utilizar el modelo de extracción de relaciones con spaCy v2 según la issue 7219 en el repositorio de spacy en Github, pero no funcionó. El enlace de PyPI sobre la compatibilidad de spacy transformers menciona que spacy transformers requiere spacy>=3.0. También has intentado usar thinc version 8.0.3 según la issue 7910 en el repositorio de spacy en Github, pero encontraste que esta versión no es compatible con spacy==2.2.4.

    Una de las soluciones podría ser usar la misma versión de spacy en ambos extremos. Sin embargo, también necesitas usar neuralcoref en el medio, que no se puede instalar con spaCy v3. Por lo tanto, no puedes usar esta solución. Otra solución podría ser utilizar diferentes entornos para (NER + Coreference) y (Extracción de Relaciones).

    En resumen, el problema de usar spacy v2 para probar una tubería personalizada de extracción de relaciones en spacy se debe a problemas de compatibilidad entre las versiones de spacy y thinc.

Comments are closed.