"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ETL: extraer el nombre de una persona del texto

ETL: extraer el nombre de una persona del texto

Publicado el 2024-11-07
Navegar:891

Digamos que queremos eliminar chicagomusiccompass.com.

Como puedes ver, tiene varias tarjetas, cada una de las cuales representa un evento. Ahora, veamos el siguiente:

ETL: Extracting a Person

Observa que el nombre del evento es:


jazmin bean: the traumatic livelihood tour


Así que ahora la pregunta es: ¿Cómo extraemos el nombre del artista del texto?

Como ser humano, puedo decir "fácilmente" que jazmin bean es el artista; simplemente consulte su página wiki. Pero escribir código para extraer ese nombre puede resultar complicado.

Podríamos pensar: "Oye, cualquier cosa antes de : debería ser el nombre del artista", lo cual parece inteligente, ¿verdad? Funciona para este caso, pero ¿qué pasa con este?


happy hour on the patio: kathryn & chris


Aquí, el orden está invertido. Podríamos seguir agregando lógica para manejar diferentes casos, pero pronto terminaremos con un montón de reglas que son frágiles y probablemente no cubrirán todo.

Ahí es donde los modelos de reconocimiento de entidades nombradas (NER) resultan útiles. Son de código abierto y pueden ayudarnos a extraer nombres del texto. No detectará todos los casos, pero la mayoría de las veces nos proporcionarán la información que necesitamos.

Con este enfoque, la extracción se vuelve mucho más fácil. Me decanto por Python porque la comunidad en torno al aprendizaje automático en Python es simplemente inmejorable.


from gliner import GLiNER

model = GLiNER.from_pretrained("urchade/gliner_base")

text = "jazmin bean: the traumatic livelihood tour"
labels = ["person", "bands", "projects"]
entities = model.predict_entities(text, labels)

for entity in entities:
    print(entity["text"], "=>", entity["label"])


Que genera la salida:


jazmin bean => person


Ahora, echemos un vistazo a ese otro caso:


happy hour on the patio: kathryn & chris


Producción:


kathryn => person
chris => person


fuente-GLiNER

Impresionante, ¿verdad? No más lógica tediosa para extraer nombres, solo use un modelo. Claro, no cubrirá todos los casos posibles, pero para mi proyecto, este nivel de flexibilidad funciona bien. Si necesita más precisión, siempre puede:

  • Prueba con un modelo diferente
  • Contribuir al modelo existente
  • Bifurca el proyecto y modifícalo para que se ajuste a tus necesidades

Conclusión

Como desarrollador de software, es muy recomendable mantenerse actualizado con las herramientas en el espacio de aprendizaje automático. No todo se puede resolver simplemente con programación y lógica; algunos desafíos se abordan mejor utilizando modelos y estadísticas.

Declaración de liberación Este artículo se reproduce en: https://dev.to/garciadiazjaime/etl-extracting-a-persons-name-from-text-ahl?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3