Sagen wir, wir wollen chicagomusiccompass.com abschaffen.
Wie Sie sehen können, gibt es mehrere Karten, von denen jede ein Ereignis darstellt. Schauen wir uns nun den nächsten an:
Beachten Sie, dass der Name des Ereignisses lautet:
jazmin bean: the traumatic livelihood tour
Die Frage lautet also: Wie extrahieren wir den Namen des Künstlers aus dem Text?
Als Mensch kann ich „leicht“ erkennen, dass Jasmin Bean der Künstler ist – schauen Sie sich einfach ihre Wiki-Seite an. Aber Code zu schreiben, um diesen Namen zu extrahieren, kann schwierig sein.
Wir könnten denken: „Hey, alles vor dem : sollte der Name des Künstlers sein“, was klug erscheint, oder? In diesem Fall funktioniert es, aber was ist mit diesem:
happy hour on the patio: kathryn & chris
Hier wird die Reihenfolge umgedreht. Wir könnten weiterhin Logik hinzufügen, um verschiedene Fälle zu behandeln, aber bald werden wir eine Menge Regeln haben, die fragil sind und wahrscheinlich nicht alles abdecken.
Hier kommen Named Entity Recognition (NER)-Modelle zum Einsatz. Sie sind Open Source und können uns dabei helfen, Namen aus Texten zu extrahieren. Es wird nicht jeder Fall erfasst, aber meistens besorgen sie uns die Informationen, die wir brauchen.
Mit diesem Ansatz wird die Extraktion viel einfacher. Ich entscheide mich für Python, weil die Community rund um maschinelles Lernen in Python einfach unschlagbar ist.
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"])
Was die Ausgabe generiert:
jazmin bean => person
Schauen wir uns nun den anderen Fall an:
happy hour on the patio: kathryn & chris
Ausgabe:
kathryn => person chris => person
source-GLiNER
Großartig, oder? Keine mühsame Logik mehr zum Extrahieren von Namen, verwenden Sie einfach ein Modell. Natürlich wird es nicht jeden möglichen Fall abdecken, aber für mein Projekt funktioniert dieses Maß an Flexibilität ganz gut. Wenn Sie mehr Genauigkeit benötigen, können Sie jederzeit:
Als Softwareentwickler wird dringend empfohlen, über die Tools im Bereich maschinelles Lernen auf dem Laufenden zu bleiben. Nicht alles kann nur mit einfacher Programmierung und Logik gelöst werden – einige Herausforderungen lassen sich besser mit Modellen und Statistiken bewältigen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3