Frage

Ich versuche, einen Bayes-Klassifikator mit positiven / negativen Worten zu trainieren, von einem Gefühl zu extrahieren. Beispiel:

Ich liebe diesen Film :))

Ich hasse es, wenn es regnet :(

Die Idee ist, ich extrahieren positive oder negative Sätze auf der Grundlage der emoctions verwendet, aber um einen Klassifikator zu trainieren und bleiben sie in die Datenbank.

Das Problem ist, dass ich mehr als 1 Million solche Sätze haben, also wenn ich es trainieren Wort für Wort, wird die Datenbank für einen Wurf gehen. Ich möchte alle nicht relevant Wort Beispiel ‚I‘ entfernen, ‚das‘, ‚wenn‘, "es ist so, dass Anzahl, wie oft muß ich eine Datenbankabfrage macht weniger ist.

Bitte helfen Sie mir dieses Problem bei der Lösung von mir vorschlagen bessere Möglichkeiten, es zu tun

Danke

Andere Tipps

Es gibt zwei Ansätze:

  1. Compile eine Stoppliste .
  2. POS-Tag die Sätze und die Teile der Rede werfen, dass Sie denken, sind nicht interessant.

In beiden Fällen bestimmen, welche Wörter / POS-Tags relevant sind, können mit einer Maßnahme durchgeführt werden wie PMI .

Wohlgemerkt: Standard Stopplisten von Information Retrieval kann oder nicht Arbeit in Sentiment-Analyse. Vor kurzem las ich ein Papier (kein Hinweis, sorry), wo es wurde behauptet, dass! und?, häufig in Suchmaschinen entfernt, sind wertvolle Hinweise für Sentiment-Analyse. (So ??kann 'I', insb. Wenn Sie auch eine neutrale Kategorie haben.)

Bearbeiten : Sie können auch sicher wegwerfen alles, was nur einmal im Trainingssatz auftritt (so genannten hapax legomena ). Worte, die einmal vorkommen wenig Informationswert für Ihre Klassifikator, kann aber viel Platz in Anspruch nehmen.

Um Datenmenge zu reduzieren, die aus der Datenbank abgerufen werden, können Sie in Ihrer Datenbank ein Wörterbuch erstellen - eine Tabelle, die Worte * Zahlen abbildet ** - und als abrufen nur eine Reihe Vektor für die Ausbildung und einen kompletten Satz für die manuelle Markierung ein Gefühl.

| * Keine wissenschaftliche Veröffentlichung kommt mir in den Sinn, aber vielleicht ist es genug, nur zu verwenden, Stämme oder Lemmata statt Worte. Es würde die Größe des Wörterbuchs reduzieren.

| ** Wenn dieser Vorgang Datenbank tötet, Sie einen Wörterbuch in einer lokalen Anwendung erstellen können -, die einen Text Indexiermaschine verwendet (zum Beispiel Apache Lucene) - und speichern nur das Ergebnis in Ihrer Datenbank.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top