5

Ich bin der "Programmierer" eines Schülerteams, der die Zufriedenheit und allgemeine Probleme meines Gymnasiums untersuchen will. Wir haben einen Fragebogen, der auf einer Skala von 1-6 aufgebaut ist und interpretieren diese Antworten mit einer Diagrammsoftware, die ich in Python geschrieben habe.Wie kann ich Textanalyse verwenden, um Antworten auf Fragebögen zu untersuchen?

Jetzt gibt es eine <textarea> am Ende unseres Fragebogens, die man verwenden kann, wie er will. Ich denke derzeit darüber nach, wie man diese Daten nutzbar machen kann (wir wollen nicht mehr als 800 Antworten lesen).

Wie kann ich Textanalyse in Python verwenden, um zu untersuchen, was Schüler schreiben? Ich war eine Art und Weise zu denken jeder Satzes „Tag“, die unten geschrieben wird, wie:

I don't like being in school. [wellbeing][negative] 
I have way too much homework. [homework][much] 
I think there should be more interesting projects. [projects][more] 

Gibt es brauchbare Ansätze, die zu erhalten? Ist es sinnvoll, einen vorhandenen Tokenizer zu verwenden?

Danke für Ihre Hilfe!

+0

800 Antworten wird Ihnen nicht genug geben, um NLP mit zu tun. Sie sind besser dran, die Antworten manuell zu lesen. Sie können einen naiven Bayes-Klassifikator mit 600 trainieren und auf 200 überprüfen, aber das wird Ihnen nur 2 Dimensionen bringen - und während dies für mehr Tags möglich ist, werden Sie viel mehr Einträge benötigen. – kreativitea

+0

Es hilft, wenn Sie uns sagen, sind die Boxkommentare völlig frei, oder gibt es eine Reihe von bekannten Themen, auf denen sie sein werden? (oder verwenden Sie Clustering, um das zu beantworten, oder einfach nur einfach alt Grep, oder nur Augapfel es selbst) – smci

Antwort

2

gut, ich werfe nur in Ideen here..but einen Ansatz, den ich aus denken kann,

  1. einen Cluster-Algorithmus zu verwenden, zuerst die Antworten gruppieren. etwas wie K-bedeutet oder Sie können Themenmodellierung mit etwas wie LDA tun.

  2. Dann können Sie Ihre Tagging-Ansatz verwenden, indem Sie Textanalyse tun häufige/verwandte Keywords in jedem der Cluster/Thema erzeugen Sie aus Schritt erhalten 1.

Warum Schritt 1 eine gute Idee wäre, ? Nun, meiner Meinung nach - bei der Textanalyse, wenn Sie willkürlich Sätze markieren, könnten Sie viele Tags generieren - viele davon wären im Kontext ähnlich. Daher kann Ihre Benutzerfreundlichkeit beeinträchtigt sein, sodass Sie immer noch viele Tags für jeden Satz analysieren müssen.

Mithilfe einer Clustering/Topic-Modellierung kann auch das Kontextproblem auf eine bestimmte Ebene reduziert werden. Daher meiner Meinung nach brauchbarer.

0

Das hört sich sehr nach KI-Programmierung an, nur weil sie Fragen und Antworten "markieren". Vielleicht werfen Sie einen Blick auf http://pyaiml.sourceforge.net/ und die künstliche Intelligenz Auszeichnungssprache. Ich habe nicht viel Erfahrung damit, aber Sie können es möglicherweise an Ihre Bedürfnisse anpassen, anstatt es von Grund auf neu zu machen.

1

"NLTK Sentiment Analysis" ist ein guter Ort, um mit der Suche zu beginnen. Das Natural Language Toolkit ist das Paket für die Textanalyse in Python, aber es ist nicht gerade einfach, weil die Aufgabe ziemlich komplex ist. Die ersten Ergebnisse hatten einige überzeugende Demos, aber ich habe sie nicht im Detail betrachtet.

+0

Ich denke, das könnte genau das Richtige für mich sein! Vielen Dank! –

1

Ich werde nicht ganz auf Ihre Frage antworten. Aber wenn ich verstehe, haben Sie eine klassische Umfrage (mit Kontrollkästchen, ...) mit einer kleinen Textbereich Frage am Ende ...

So haben Sie etwa 800 Antworten mehr. Aber ich denke, die Antworten werden nicht zu lang sein. Normalerweise wird es ein paar Zeilen oder sogar ein paar Worte ... Ich denke, dass eine manuelle QDA-Software besser sein wird als ein Algorithmus, der nicht perfekt sein wird. Zum Beispiel können Sie das Open Source RQDA (R-Projektpaket) oder kommerzielle Software wie Nvivio ...

Dank

Verwandte Themen