Digamos que queremos eliminar chicagomusiccompass.com.
Como puedes ver, tiene varias tarjetas, cada una de las cuales representa un evento. Ahora, veamos el siguiente:
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:
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.
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