Usando PhraseMatcher en SpaCy para encontrar múltiples tipos de coincidencias

La documentación y las muestras de SpaCy muestran que la clase PhraseMatcher es útil para unir secuencias de tokens en documentos. Uno debe proporcionar un vocabulario de secuencias que coincidan.

En mi solicitud, tengo documentos que son colecciones de tokens y frases. Hay entidades de diferentes tipos. Los datos son remotamente lenguaje natural (los documentos son más bien un conjunto de palabras clave con orden semi-aleatorio). Estoy tratando de encontrar coincidencias de múltiples tipos.

Por ejemplo:

yellow boots for kids

¿Cómo puedo encontrar las coincidencias para colores (por ejemplo, amarillo), para tipos de productos (por ejemplo, botas) y para la edad (por ejemplo, niños) usando SpaCy's PhraseMatches? ¿Es este un buen caso de uso? Si la entidad diferente coincide con la superposición (por ejemplo, el color coincide en la lista de colores y en la lista de materiales), ¿es posible producir todos los casos únicos?

Realmente no puedo usar un etiquetador de secuencia ya que los datos están estructurados libremente y están plagados de ambigüedades. Tengo una lista de entidades (por ejemplo, colores, ager, tipos de productos) y listas de valores asociados.

Una idea sería crear instancias de múltiples objetos PhraseMatcher, uno para cada entidad, hacer las coincidencias por separado y luego combinar los resultados. Cada tipo de entidad obtendrá su propio vocabulario. Esto suena sencillo pero puede no ser eficiente, especialmente la parte de fusión. Las listas de valores son bastante grandes. Antes de seguir esta ruta, me gustaría saber si es una buena idea o si hay formas más simples de hacerlo con SpaCy.

Respuestas a la pregunta(1)

Su respuesta a la pregunta