2017-12-02 6 views
1

Ich versuche Orten von Blobs von Text zu extrahieren (NER/IE) und haben viele Lösungen, die alle versuchten, die viel zu innaccurate spacigen sind, Stanford etc etc.beste Ansatz für kundenspezifische Information Extraction (NER)

Alle wirklich sind nur ungefähr 80-90% genau auf meinem Dataset (Spacy war wie 70%), ein anderes Problem, das ich habe, hat keine Wahrscheinlichkeit, die irgendetwas für diese Wesen bedeutet, also weiß ich nicht Vertrauen und kann dementsprechend nicht fortfahren .

Ich versuchte einen super naiven Ansatz der Aufspaltung meiner Blobs in einzelne Wörter und dann Extrahieren von umgebenden Kontext als Features, auch eine location placename lookup (30/40 k location Ortsnamen) als Feature auch. Dann habe ich nur einen Klassifikator (XGDBoost) verwendet und die Ergebnisse waren viel besser, nachdem ich den Klassifikator auf etwa 3k manuell beschriftete Datenpunkte trainiert hatte (100k insgesamt nur 3k wo Standorte). 95% Genauigkeit für Staaten/Länder und ca. 85% für Städte.

Diese Herangehensweise ist offensichtlich nervig, aber warum übertrifft sie alles, was ich versucht habe? Ich denke, dass die Blackbox-Herangehensweise an NER einfach nicht für mein Datenproblem funktioniert, ich habe ein spaciges Custom Training versucht und es schien einfach nicht so, als würde es funktionieren. Kein Vertrauen in die Entität zu haben, ist eine Art Mörder, auch weil die Wahrscheinlichkeit, dass sie dir dafür geben, fast bedeutungslos ist.

Kann ich dieses Problem etwas besser angehen, um meine Ergebnisse noch zu verbessern? flache NLP für wie 2/3/4-Gramm? Ein weiteres Problem, das ich mit meinem Ansatz habe, ist die Ausgabe des Klassifikators, nicht irgendeine sequentielle Einheit, ihre buchstäblich nur klassifizierten Wortblobs, die irgendwie in eine Entität gruppiert werden müssen, dh: -> San Francisco, CA ist nur 'Stadt', 'Stadt ‘, '0', 'Staat' mit keinem Konzept von ihnen der gleichen Einheit

spacigen Beispiel dafür sind:

Beispiel Blob:

About Us - Employment Opportunities Donate Donate Now The Power of Mushrooms Enhancing Response Where We Work Map Australia Africa Asia Pacific Our Work Agriculture Anti - Trafficking and Gender - based Violence Education Emergency Response Health and Nutrition Rural and Economic Development About Us Who We Are Annual Report Newsletters Employment Opportunities Video Library Contact Us Login My Profile Donate Join Our Email List Employment Opportunities Annual Report Newsletters Policies Video Library Contact Us Employment Opportunities Current Career Opportunity Internships Volunteer Who We Are Our History Employment Opportunities with World Hope International Working in Service to the Poor Are you a professional that wants a sense of satisfaction out of your job that goes beyond words of affirmation or a pat on the back ? You could be a part of a global community serving the poor in the name of Jesus Christ . You could use your talents and resources to make a significant difference to millions . Help World Hope International give a hand up rather than a hand out . Career opportunities . Internship opportunities . Volunteer Why We Work Here World Hope International envisions a world free of poverty . Where young girls aren ’ t sold into sexual slavery . Where every child has enough to eat . Where men and women can earn a fair and honest wage , and their children aren ’ t kept from an education . Where every community in Africa has clean water . As an employee of World Hope International , these are the people you will work for . Regardless of their religious beliefs , gender , race or ethnic background , you will help shine the light of hope into the darkness of poverty , injustice and oppression . Find out more by learning about the of World Hope International and reviewing a summary of our work in the most recent history annual report . Equal Opportunity Employer World Hope International is both an equal opportunity employer and a faith - based religious organization . We hire US employees without regard to race , color , ancestry , national origin , citizenship , age , sex , marital status , parental status , membership in any labor organization , political ideology or disability of an otherwise qualified individual . We hire national employees in our countries of operation pursuant to the law of the country where we hire the employees . The status of World Hope International as an equal opportunity employer does not prevent the organization from hiring US staff based on their religious beliefs so that all US staff share the same religious commitment . Pursuant to the United States Civil Rights Act of 1964 , Section 702 (42 U . S . C . 2000e 1 (a)) , World Hope International has the right to , and does , hire only candidates whose beliefs align with the Apostle ’ s Creed . Apostle ’ s Creed : I believe in Jesus Christ , Gods only Son , our Lord , who was conceived by the Holy Spirit , born of the Virgin Mary , suffered under Pontius Pilate , was crucified , died , and was buried ; he descended to the dead . On the third day he rose again ; he ascended into heaven , he is seated at the right hand of the Father , and he will come again to judge the living and the dead . I believe in the Holy Spirit , the holy catholic church , the communion of saints , the forgiveness of sins , the resurrection of the body , and the life everlasting . AMEN . Christian Commitment All applicants will be screened for their Christian commitment . This process will include a discussion of : The applicant ’ s spiritual journey and relationship with Jesus Christ as indicated in their statement of faith The applicant ’ s understanding and acceptance of the Apostle ’ s Creed . Statement of Faith A statement of faith describes your faith and how you see it as relevant to your involvement with World Hope International . It must include , at a minimum , a description of your spiritual disciplines (prayer , Bible study , etc .) and your current fellowship or place of worship . Applicants can either incorporate their statement of faith into their cover letter content or submit it as a separate document . 519 Mt Petrie Road Mackenzie , Qld 4156 1 - 800 - 967 - 534 (World Hope) + 61 7 3624 9977 CHEQUE Donations World Hope International ATTN : Gift Processing 519 Mt Petrie Road Mackenzie , Qld 4156 Spread the Word Stay Informed Join Email List Focused on the Mission In fiscal year 2015 , 88 % of all expenditures went to program services . Find out more . Privacy Policy | Terms of Service World Hope Australia Overseas Aid Fund is registered with the ACNC and all donations over $ 2 are tax deductible . ABN : 64 983 196 241 © 2017 WORLD HOPE INTERNATIONAL . All rights reserved .' 

und die Ergebnisse:

('US', 'GPE') 
('US', 'GPE') 
('US', 'GPE') 
('the', 'GPE') 
('United', 'GPE') 
('States', 'GPE') 
('Jesus', 'GPE') 
('Christ', 'GPE') 
('Pontius', 'GPE') 
('Pilate', 'GPE') 
('Faith', 'GPE') 
('A', 'GPE') 

Antwort

0

Selbst die besten Deep Learning-basierten NER-Systeme erreichen heutzutage nur eine F1 von 92.0. Deep-Learning-basierte Systeme (CNN-BiLSTM-CRF) sollten den einfachen CRF-Sequenz-Tagger von Stanford CoreNLP übertreffen. In letzter Zeit gab es noch mehr Fortschritte bei der Integration von Sprachmodellen. Vielleicht möchten Sie sich AllenNLP ansehen.

Aber wenn Sie super hohe Genauigkeit wie 99,0% wollen, werden Sie vorerst regelbasierte Ansätze integrieren.

Ich denke, regelbasierte Verarbeitung könnte hilfreich sein.Zum Beispiel können Sie ein Muster schreiben, das besagt, dass "Stadtstadt O, Staat" zu einer Einheit zusammengeführt werden soll. Außerdem sollten Sie in Betracht ziehen, Entitäten zu verwerfen, die nicht in Ihrem Verzeichnis mit Orten/Orten erscheinen. Oder verwerfen Sie Entitäten, die sich nicht in einem Standortwörterbuch befinden, sondern in einem anderen Typ sind. Aber ich finde es schwer zu glauben, dass viele unbekannte String-Sequenzen Ortsnamen sind, die Sie extrahieren möchten. Ich würde denken, dass Personennamen am ehesten außerhalb von Wörterbüchern sind.

UIUCs NLP-Tools enthalten einige Wörterbücher, wenn Sie ihre Software herunterladen.

Wenn Sie StanfordCoreNLP ausführen, ermöglicht die Verwendung der Annotatoren ner,regexner,entitymentions die automatische Zusammenfassung aufeinanderfolgender NE-Tags in Entitäten. Ausführliche Informationen zur Pipeline finden Sie hier:

Denken Sie auch daran, dass die Out-of-the-Box-Versionen dieser Systeme normalerweise auf Nachrichtenartikel der letzten 15 Jahre trainiert werden. Umschulung von Daten näher an Ihrem Set ist von wesentlicher Bedeutung. Letztendlich ist es vielleicht am besten, wenn Sie nur einige Regeln schreiben, die eine wörterbuchbasierte Extraktion durchführen.

Sie können in Stanford CoreNLPs TokensRegex- und RegexNER-Funktionen nachsehen, wie Sie Stanford CoreNLP für diesen Zweck verwenden können.

TokensRegex: https://nlp.stanford.edu/software/tokensregex.html RegexNER: https://nlp.stanford.edu/software/regexner.html

+0

Ja, danke für Ihre Eingabe. Ich fühle mich wohler, meinen Ansatz jetzt voranzutreiben. Für Städte/Standorte Ihr Recht zu sagen, dass die große Mehrheit der Städte, die daran interessiert sind, in einem leicht kompilierbaren Gazzetter sein sollten und ich denke mit einem regelbasierten Ansatz Gruppierung sollte gut funktionieren. Diese Frage war eher eine Plausibilitätsprüfung, dass ich meine Zeit nicht verschwendete oder dass es keinen offensichtlich besseren Ansatz gab. Vielen Dank, krank, werfen Sie einen Blick auf die Ressourcen, die Sie vorgeschlagen haben. –

0

Können Sie eine Beispielausgabe von spaCy für Ihre Daten angeben? Länder und Städte schneiden im Allgemeinen gut ab. Verwenden Sie das v2-Modell oder die v1?

Edit: In Ihrem Text ist der Kontext oft irrelevant, weshalb es gut ist, den Text in einzelne Wörter zu zerlegen. Das ist eine wahrheitsgetreuere Darstellung der Daten als alles in einen "Blob" zu schreiben.

Sie sollten wahrscheinlich versuchen, die Daten besser zu segmentieren (wahrscheinlich durch Verbesserung Ihrer HTML-Extraktion). Sie sollten den Text wahrscheinlich auch wahrheitsgemäß erfassen, entweder mit einem regelbasierten Prozess oder einem anderen Modell.

Sie erhalten die besten Ergebnisse, wenn Sie Ihren eigenen Klassifikator trainieren. Das können Sie mit spaCy oder etwas anderem tun. Egal wie, das Training Ihrer eigenen Daten ist wichtiger als das von Ihnen verwendete Modell.

+0

Ich glaube, mein Problem mit spacigen ist der Blobs sind nicht traditionelle Absätze, die geschrieben werden würden, im Versuch, Einheiten von Webseiten zu extrahieren, so dass die Blobs ein zerhackt einer faire ammount sind. Ich habe die Ausgabe von en_core_web_sm, die gleichen Ergebnisse für lg/md und yeah mit v2 hinzugefügt, aber es ist nur meine Daten sind wahrscheinlich nicht ideal für das, was die Modelle vortrainiert sind. Speziell viele Webseiten verwenden viele Wörter, von denen ich mir vorstelle, dass sie viele Probleme verursachen. sollte ich versuchen, die modelle neu zu schulen oder was würdest du mir raten? –

+0

Ja, ich könnte jeden Knoten als eigenes Dokument mit Spacy versuchen, anstatt alle Knotentexte zu gruppieren und das Gehäuse ist in der Tat ein großes Problem. Würden Sie sagen, dass das Ignorieren von Pos-Tags und anderen Konzepten, die spacy verwenden, erhebliche Auswirkungen auf meine Daten haben würde fehlt der Kontext? Ich neige zu meiner naiven Herangehensweise, weil es sich anfühlt, als hätte ich mehr Entscheidungsgewalt in dem Ergebnis, als aus Spacys Modellen zu bauen. Vielen Dank für Ihre Antworten, es ist großartig, einen Rat zu bekommen. –

Verwandte Themen