¿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:
- 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 requierespacy>=3.0
- 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 conspacy==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?
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 requierespacy>=3.0
. También has intentado usarthinc 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 conspacy==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.