„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > ETL: Extrahieren des Namens einer Person aus Text

ETL: Extrahieren des Namens einer Person aus Text

Veröffentlicht am 07.11.2024
Durchsuche:664

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:

ETL: Extracting a Person

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:

  • Probieren Sie ein anderes Modell aus
  • Beitrag zum bestehenden Modell
  • Forken Sie das Projekt und passen Sie es an Ihre Bedürfnisse an

Abschluss

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.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/garciadiazjaime/etl-extracting-a-persons-name-from-text-ahl?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

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