2008-10-02 9 views
9

Was sind einige gute Algorithmen für die automatische Beschriftung von Text mit der Stadt/Region oder Herkunft? Das heißt, wenn ein Blog über New York ist, wie kann ich das programmatisch sagen? Gibt es Pakete/Papiere, die dies mit einiger Sicherheit behaupten?Methoden für Geotagging oder Geolabelling Text Inhalt

Ich habe einige Tfidf-basierte Ansätze, Eigennamen Kreuzungen, aber bis jetzt, keine spektakulären Erfolge, und ich würde Ideen schätzen!

Die allgemeinere Frage bezieht sich auf die Zuordnung von Texten zu Themen, mit einer Liste von Themen.

Einfache/naive Ansätze bevorzugt auf Bayesian Ansätze, aber ich bin offen.

Antwort

12

Sie suchen ein named entity recognition System, oder kurz NER. Es gibt severalgoodtoolkits verfügbar, um Ihnen zu helfen. LingPipe insbesondere hat eine sehr decent tutorial. CAGEclass scheint sich an geografischen Ortsnamen um NER zu orientieren, aber ich habe es noch nicht benutzt.

Here's ein schöner Blog-Eintrag über die Schwierigkeiten der NER mit geographischen Orten Namen.

Wenn Sie mit Java arbeiten, empfehle ich die Verwendung der LingPipe NER-Klassen. OpenNLP hat auch einige, aber ersteres hat eine bessere Dokumentation.

Wenn Sie nach einem theoretischen Hintergrund suchen, haben Chavez et al. (2005) ein interessantes System erstellt und dokumentiert.

+0

Danke für den Rat. Dies ist ein hartes, schweres Problem, und Ihre Antwort, die ich als "Look up NER" zusammenfasse, handelt von den besten, die es gibt, wahrscheinlich :) –

+2

Haben Sie eine einfache Lösung für diese Frage gefunden? Da bin ich auch auf der Suche nach der gleichen Art von Anwendung .. Ich habe meine eigene Trie Datenstruktur implementiert und ich kann auch leicht nachschlagen, aber das Problem ist das Sammeln von Datensätzen .. Ich muss alle Daten im Wörterbuch zu bekommen ... Bitte teilen Ihre Gedanken.. –

2

Latent Semantic Mapping scheint wie potenziell eine gute Passform. Das ist ungefähr so ​​naiv wie ein Algorithmus, den Sie wahrscheinlich finden werden.