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.

Spacy: Detectar si la entidad está entre comillas

Necesito detectar si una entidad dada está rodeada de comillas, ya sean comillas simples o dobles. ¿Cómo debería hacer esto?

Mi primera idea fue agregar una extensión personalizada al span:

def is_quoted(span):
   prev_token = span.doc[span.start - 1]
   next_token = span.doc[span.end + 1]

return prev_token in ["\"", "\'"] and next_token in ["\"", "\'"]

Span.set_extension("is_quoted", getter=is_quoted)

¿Pero esta sería realmente la forma más eficiente de hacerlo? Solo quiero hacer esto en entidades.

¿O es mejor escribir un matcher personalizado con una regex específica? Pero esto se ejecutaría en todo mi documento.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Spacy, aquí hay algunas formas en las que puedes detectar si una entidad dada está rodeada de comillas:

    1. Usando una extensión personalizada: Podrías agregar una extensión personalizada al fragmento de la entidad que verifique si los tokens anteriores y siguientes son comillas simples o dobles. Este enfoque limitaría la verificación solo a las entidades y no al documento completo. Sin embargo, es posible que no sea el enfoque más eficiente, ya que aún requeriría iterar a través de cada fragmento de entidad.
    2. Escribiendo un matcher personalizado con expresiones regulares: Otro enfoque sería escribir un matcher personalizado que busque entidades rodeadas de comillas simples o dobles utilizando expresiones regulares. Este enfoque se ejecutaría en todo el documento, pero podría ser más eficiente que usar una extensión personalizada para cada fragmento de entidad.

    En última instancia, el enfoque que elijas dependerá de tu caso de uso específico y las restricciones de rendimiento.

Comments are closed.