Welcher Deep-Learning-Textklassifizierer ist gut für Gesundheitsdaten?


7

Ich habe einen Datensatz wie diesen:

postID  Sentence                                         drugYesOrNo
1       He went out with his friends    
2       He behaved nicely while talking with me 
3       He stopped using drugs after a while                 1
4       He did not meet any friend during last week 
1       He slowly cut usage of drugs                         1
2       He smiled like he is good   
3       He did not seem happy with his situation    

Wie Sie sehen, gibt es zwei Funktionen. Das erste Merkmal ist unser Satz und das zweite Merkmal zeigt, dass dieser Satz ein Zeichen dafür ist, dass der Patient seine Droge abgesetzt hat oder nicht.

Die erste Spalte zeigt den Satz, der Teil eines Absatzes ist. Zum Beispiel sind HIER Satz 1-4 ein Absatz, in dem wir sie aufgeteilt haben, um zu sehen, welcher Satz genau das Absetzen von Drogen zeigt . Satz 3 im ersten Absatz zeigt dies.

Im zweiten Fall ist Satz 1-3 Teil eines Absatzes. hier zeigt Satz eins, dass diese Person aufgehört hat, Drogen zu nehmen (was nicht gut ist, sollte die Person weitermachen)

Mein Ziel ist es daher, einen Textklassifizierer für tiefes Lernen auf meine Textdaten anzuwenden und ein Modell zu erstellen. Wenn ich also einen neuen Absatz erhalten habe, kann ich vorhersagen, ob die Person ihre Drogen abgesetzt hat oder nicht.

Erste Frage: Mit dieser Fallstudie kann welcher Deep-Learning-Textklassifizierer am besten funktionieren.

Zweitens haben wir, wie Sie sehen, den Absatz in eine Reihe von Sätzen geschnitten. In Wirklichkeit werden wir jedoch einen Absatz geben, um das Modell zu testen. Was ist Ihrer Meinung nach der beste Ansatz, um damit umzugehen?

Mir fiel ein, dass wir beim Testen und Empfangen eines Absatzes den Absatz erneut in Sätze aufteilen und diese Sätze dem Modell geben, aber ich bin mir nicht sicher, ob dies ein guter Ansatz ist.

Wir haben 900 dieser Sätze. Ich bin mir nicht sicher, ob es bei so vielen Daten falsch sein wird, einen Deep-Learning-Klassifikator darauf anzuwenden.

Ich weiß es zu schätzen, wenn Sie mir Ihren Standpunkt mitteilen :)

Update nach dem Lesen von Kommentaren

Ich habe ein paar Leute gebeten, einen solchen Datensatz für mich zu erstellen. Ich meine, einen Absatz betrachten, aufteilen und dann sagen, welcher Satz diese Bedeutung hat (Drogen stoppen oder nicht). Was wäre, wenn ich sie nicht bitten würde, explizit zu sagen, welcher Satz diese Bedeutung hat, und nur darauf hinzuweisen, welcher Absatz diese Bedeutung hat (Drogen stoppen oder nicht). Denken Sie, dass es eine gute Idee war, genau zu kennzeichnen, welcher Satz diese Bedeutung hat, und nicht welcher Absatz diese Bedeutung hat? Ich hoffe ich bin klar genug :)

Antworten:


5

Ja, Sie sollten den Absatz in Sätze aufteilen und diese Sätze dem Modell geben. Ihre tiefe Struktur sollte so sein:

In der ersten Ebene müssen Sie eine Worteinbettungsebene einfügen, um einen Satz als Folge von Vektoren darzustellen. In der zweiten Ebene müssen Sie LSTM einfügen, um Ihren Sequenzvektor als einzelnen Vektor modellieren zu können. Jetzt können Sie aufeinanderfolgende Ebenen mit linearen, Relu- oder Sigmoid-Aktivierungsfunktionen hinzufügen, um Ihr Modell zu vertiefen. In der letzten Ebene müssen Sie die Sigmoid-Aktivierungsfunktion verwenden, um eine binäre Klassifizierung durchzuführen.


Danke für deine Antwort. Denken Sie, dass 1000 Absätze oder fast 5000 Sätze für LSTM ausreichen, um ein gutes Ergebnis zu erzielen?
Sariii

Bitte. Ja, es scheint genug zu sein.
Pythoninker

Warum Sie nicht vorgeschlagen haben, die Absätze nicht als Satzreihenfolge zu betrachten, sondern als Absatz. In diesem Fall haben wir also einen Absatz und übergeben den gesamten Absatz an das Modell. Wenn es dann einen Satz in dem Absatz gab, der zeigt, dass der Patient aufgehört hat, Drogen zu nehmen, ist er 1, andernfalls ist er 0. Ich meine, denken Sie, dass eine solche Aufteilung, die zeigt, welcher Satz diese Informationen enthält, dem Modell helfen kann, genau vorherzusagen? Entschuldigung, ich möchte nur sicher gehen und es wird logische Arbeit zu tun. :)
Sariii

Um genauer zu sein, müssen Sie einen Absatz, wenn Sie ihn bearbeiten, in Unterabsätze aufteilen, damit jeder Unterabsatz nur dem Etikett entspricht (mit oder ohne Drogen). Anschließend müssen Sie jeden Unterabsatz als einzelne Beobachtung an das Modell übergeben.
Pythoninker

Ich glaube, ich habe nicht verstanden, was du genau meinst: | man kann auch auf persisch sagen ich komme auf den punkt;). Zurück zur Frage, ich habe ein paar Leute gebeten, einen solchen Datensatz für mich zu erstellen. Ich meine, einen Absatz betrachten, teilen und dann sagen, welcher Satz diese Bedeutung hat. Was wäre, wenn ich sie nicht bitten würde, explizit zu sagen, welcher Satz diese Bedeutung hat, und nur darauf hinzuweisen, welcher Absatz diese Bedeutung hat (Drogen stoppen oder nicht). Denken Sie, dass es eine gute Idee war, genau zu sagen, welcher Satz diese Bedeutung hat, und nicht welcher Absatz diese Bedeutung hat? Ich hoffe ich bin klar genug :)
Sariii
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.