2009-10-31 7 views
6

Ich suche Namen und Orte von sehr kurzen Ausbrüchen von Text BeispielSoll ich LingPipe oder NLTK zum Extrahieren von Namen und Orten verwenden?

 
"cardinals vs jays in toronto" 
" Daniel Nestor and Nenad Zimonjic play Jonas Bjorkman w/ Kevin Ullyett, paris time to be announced" 
"jenson button - pole position, brawn-mercedes - monaco". 

Diese Daten sind zur Zeit in einer MySQL-Datenbank zu extrahieren, und ich (ziemlich) hat einen separaten Eintrag für jeden Sportler, obwohl Namen werden manchmal falsch geschrieben, etc.

Ich möchte die Athleten und Standorte extrahieren. Ich arbeite normalerweise in PHP, konnte aber keine Bibliothek für Entity-Extraktion finden (und ich möchte in Zukunft vielleicht näher auf einige NLP und ML zugreifen).

Von dem, was ich gefunden habe, scheinen LingPipe und NLTK am meisten zu empfehlen, aber ich kann nicht herausfinden, ob entweder wirklich mein Zweck erfüllt, oder ob etwas anderes besser wäre.

Ich habe weder in Java noch in Python programmiert, also hoffe ich, bevor ich anfange, neue Sprachen zu lernen, einen Ratschlag darüber zu bekommen, welche Route ich befolgen sollte, oder andere Empfehlungen.

+0

"... ein separater Tisch für jeden Athleten ..." vielleicht meinen Sie einen _record_ für jeden Athleten? (das wäre sonst eine Menge Tische ...) – mjv

+0

yeah! Sprachen/Module wäre das kleinste meiner Probleme, wenn ich einen separaten Tisch für jeden Athleten hätte! Danke, dass du darauf hingewiesen hast. – pedalpete

Antwort

4

Was Sie beschreiben, ist named entity recognition. Daher würde ich empfehlen, die anderen questions zu diesem Thema zu überprüfen, wenn Sie sie nicht schon gesehen haben. This sieht aus wie die nützlichste Antwort für mich.

Ich kann nicht wirklich kommentieren, ob NLTK oder LingPipe für diese Aufgabe am besten geeignet ist, obwohl aus der Betrachtung der Antworten es scheint, gibt es einige andere Ressourcen in Java geschrieben.

Ein Vorteil von NLTK ist, dass Python als Sprache sehr zugänglich ist. Der andere Vorteil ist, dass die NLTK book (die kostenlos verfügbar ist) gleichzeitig eine Einführung in Python und NLTK bietet, was für Sie nützlich wäre.