2012-09-06 12 views
13

ersten bis sorry für meine nicht so perfekt Englisch empfehlen ... Ich bin aus Deutschland;)Liste der Natural Language Processing-Tools in Bezug auf die Sentiment-Analyse - welches Sie

Also, für ein Forschungsprojekt von mir (Bachelorarbeit) Ich muss das Tweetstimme über bestimmte Firmen und Marken analysieren. Zu diesem Zweck muss ich mein eigenes Programm skripten/eine Art modifizierten Quellcode verwenden (keine APIs - ich muss verstehen, was passiert).

Nachfolgend finden Sie eine Liste einiger der NLP-Anwendungen, die ich gefunden habe. Meine Frage ist jetzt welche und welchen Ansatz würden Sie empfehlen? Und welche braucht man nicht lange um den Code anzupassen?

Zum Beispiel: Wenn ich twitter für den Musikplayer> iPod < und jemand schreibt: "Es ist ein schrecklicher Tag, aber zumindest mein iPod macht mich glücklich" oder noch härter: "Es ist ein schrecklicher Tag, aber zumindest mein iPod macht es wieder "

Welche Software ist schlau genug zu verstehen, dass der Fokus auf dem iPod liegt und nicht auf dem Wetter?

Auch welche Software ist skalierbar/ressourceneffizient (Ich möchte mehrere Tweets analysieren und nicht Tausende von Dollars ausgeben)?

Maschinelles Lernen und Data Mining

Weka - ist eine Sammlung von Algorithmen des maschinellen Lernens für Data Mining. Es ist eines der beliebtesten Frameworks zur Textklassifizierung. Es enthält Implementierungen einer Vielzahl von Algorithmen einschließlich Naive Bayes und Support Vector Machines (SVM, aufgelistet unter SMO) [Hinweis: Andere häufig verwendete Nicht-Java-SVM-Implementierungen sind SVM-Light, LibSVM und SVMTorch]. Ein verwandtes Projekt ist Kea (Keyphrase Extraction Algorithm), ein Algorithmus zum Extrahieren von Schlüsselwörtern aus Textdokumenten.

Apache Lucene Mahout - Ein Inkubatorprojekt zur Erstellung hochskalierbarer verteilter Implementierungen gängiger Maschinenlernalgorithmen auf dem Hadoop-Map-Reduce-Framework.

NLP-Tools

LingPipe - (nicht technisch ‚Open-Source, siehe unten) Alias-Ich LingPipe ist eine Suite von Java-Tool für die linguistische Verarbeitung von Text einschließlich Entity-Extraktion, Spricht Tagging (po), Clustering, Klassifizierung, etc ... Es ist eines der ausgereiftesten und am weitesten verbreiteten Open Source NLP Toolkits in der Industrie. Es ist für seine Geschwindigkeit, Stabilität und Skalierbarkeit bekannt. Eine der besten Eigenschaften ist die umfangreiche Sammlung gut geschriebener Tutorials, die Ihnen den Einstieg erleichtern. Sie haben eine Liste von Links zum Wettbewerb, sowohl akademische als auch industrielle Werkzeuge. Schaut euch unbedingt ihren Blog an. LingPipe wird unter einer lizenzfreien kommerziellen Lizenz veröffentlicht, die den Quellcode enthält, aber es ist technisch nicht "Open-Source".

OpenNLP - beherbergt eine Vielzahl von Java-basierten NLP-Tools, die Satzerkennung durchführen, tokenization, part-of-speech tagging, Chunking und Parsing, Named-Entity-Erkennung, und Co-Referenzanalyse der Maxent maschinelles Lernen mit Paket.

Stanford-Parser und Wortbestandteil-Tagger - Java-Pakete für Satz-Parsing und Wortgruppen-Tags aus der Stanford-NLP-Gruppe.Es verfügt über Implementierungen von probabilistischen Parsern für natürliche Sprache, sowohl hochoptimierte PCFG- und lexikalische Abhängigkeitsparser, als auch einen lexikalisierten PCFG-Parser. Es hat eine vollständige GNU GPL-Lizenz.

OpenFST - Ein Paket zur Manipulation gewichteter Automaten mit endlichem Zustand. Diese werden häufig verwendet, um ein Wahrscheinlichkeitsmodell darzustellen. Sie werden verwendet, um Text für die Spracherkennung, OCR-Fehlerkorrektur, maschinelle Übersetzung und eine Vielzahl anderer Aufgaben zu modellieren. Die Bibliothek wurde von Mitwirkenden von Google Research und NYU entwickelt. Es ist eine C++ - Bibliothek, die schnell und skalierbar sein soll.

NTLK - Das Toolkit für natürliche Sprachen ist ein Werkzeug zum Lehren und Recherchieren von Klassifikation, Clustering, Sprachmarkierung und Parsing und mehr. Es enthält eine Reihe von Lernprogrammen und Datensätzen für Experimente. Es wurde von Steven Bird von der University of Melbourne geschrieben.

Meinungsfinder - Ein System, das Subjektivitätsanalysen durchführt und automatisch erkennt, wann Meinungen, Gefühle, Spekulationen und andere private Zustände im Text vorhanden sind. Insbesondere zielt OpinionFinder darauf ab, subjektive Sätze zu identifizieren und verschiedene Aspekte der Subjektivität in diesen Sätzen zu markieren, einschließlich der Quelle (Inhaber) der Subjektivität und Wörter, die in Phrasen enthalten sind, die positive oder negative Gefühle ausdrücken.

Tawlk/osae - Eine Python-Bibliothek für die Klassifizierung von Stimmungen in sozialen Texten. Das Endziel ist eine einfache Bibliothek, die "einfach funktioniert". Es sollte eine einfache Eintrittsbarriere haben und gründlich dokumentiert werden. Wir haben beste Genauigkeit mit Stoppwörtern mit Tweets auf negwords.txt und poswords.txt

GATE gesammelt Filterung acheived - GATE ist über 15 Jahre alt und ist im aktiven Einsatz für alle Arten von Rechenaufgabe menschliche Sprache beteiligt ist. GATE zeichnet sich durch eine Textanalyse aller Formen und Größen aus. Von großen Konzernen bis hin zu kleinen Start-ups, von mehreren Millionen Forschungskonsortien bis hin zu Studentenprojekten - unsere Nutzergemeinschaft ist das größte und vielfältigste aller Systeme dieser Art und verteilt sich auf alle Kontinente außer einem der Kontinente1.

textir - Eine Reihe von Tools für Text- und Sentiment-Mining. Dazu gehören die "mnlm" -Funktion für die spärliche multinomiale logistische Regression, "pls", eine prägnante partielle Kleinste-Quadrate-Routine, und die "Themen" -Funktion für die effiziente Schätzung und Dimensionsauswahl in latenten Topic-Modellen.

NLP Toolsuite - Das JULIE Lab bietet hier eine umfassende NLP-Tool-Suite für die Anwendungszwecke der semantischen Suche, Informationsextraktion und Text-Mining. Der Großteil unserer ständig wachsenden Tool-Suite basiert auf maschinellen Lernmethoden und ist somit domain- und sprachunabhängig.

...

Auf einer seitlichen Anmerkung: Würden Sie die Twitter-Streaming oder die get-API empfehlen?

Wie zu mir, ich bin ein Fan von Python und Java;)

Vielen Dank für Ihre Hilfe !!!

Antwort

3

Ich bin nicht sicher, wie viel ich helfen kann, aber ich habe schon mit handgerollten NLP gearbeitet. Ein paar Probleme kommen mir in den Sinn - nicht alle Produkte sind sprachunabhängig (menschliche Sprache also keine Computersprache). Wenn Sie planen, deutsche Tweets zu analysieren, wird es wichtig sein, dass Ihr ausgewähltes Produkt mit der deutschen Sprache umgehen kann. Offensichtlich ich weiß, aber leicht zu vergessen.Dann gibt es die Tatsache, dass es Twitter gibt, wo Kontraktionen und Akronyme reichlich vorhanden sind, und die Sprachstruktur wird durch die Zeichengrenze eingeschränkt, was bedeutet, dass die Grammatik nicht immer der erwarteten Struktur der Sprache entspricht.

In Englisch kann das Ziehen von Substantiven aus einem Satz etwas vereinfacht werden, wenn Sie jemals eigenen Code schreiben müssen. Eigennamen haben Anfangsbuchstaben und eine Reihe solcher Wörter (möglicherweise einschließlich "von") ist ein Beispiel für eine Nominalphrase. Ein Wort, dem "a/an/mein/sein/ihr/das/dieses/diese/jene vorangeht", wird entweder ein Adjektiv oder ein Substantiv sein. Danach wird es leider härter.

Es gibt Regeln, die helfen, Pluralformen zu identifizieren, aber es gibt auch viele Ausnahmen. Ich spreche hier natürlich von Englisch, mein sehr schlechtes Deutsch hilft mir nicht, diese Grammatik zu verstehen, fürchte ich.

Verwandte Themen