2009-10-31 10 views
6

Я ищу, чтобы извлечь имена и места из очень коротких очередей из текста, напримерДолжен ли я использовать LingPipe или NLTK для извлечения имен и мест?

 
"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". 

Эти данные в настоящее время в базе данных MySQL, и я (в значительной степени) имеют отдельную запись для каждого спортсмена, хотя имена иногда ошибочны и т. д.

Я хотел бы извлечь атлетов и мест. Я обычно работаю на PHP, но не смог найти библиотеку для извлечения сущности (и я могу захотеть углубиться в некоторые NLP и ML в будущем).

Из того, что я нашел, LingPipe и NLTK, по-видимому, являются наиболее рекомендуемыми, но я не могу понять, будет ли он действительно соответствовать моей цели, или если что-то еще будет лучше.

Я не запрограммировал ни на Java, ни на Python, поэтому, прежде чем я начну изучать новые языки, я надеюсь получить некоторые советы о том, какой маршрут мне следует, или о других рекомендациях.

+0

«... отдельный стол для каждого спортсмена ...», может быть, вы имеете в виду _record_ для каждого спортсмена? (это было бы ужасно много столов в противном случае ...) – mjv

+0

да! языки/модули были бы наименьшими из моих проблем, если бы у меня была отдельная таблица для каждого спортсмена! Спасибо что подметил это. – pedalpete

ответ

4

Что вы описываете, это named entity recognition. Поэтому я бы рекомендовал проверить другой questions по этой теме, если вы еще не видели их. This выглядит как самый полезный для меня ответ.

Я не могу действительно прокомментировать, подходит ли NLTK или LingPipe для этой задачи, хотя, глядя на ответы, похоже, что существует немало других ресурсов, написанных на Java.

Одним из преимуществ перехода на NLTK является то, что Python очень доступен в качестве языка. Другим преимуществом является то, что NLTK book (который доступен бесплатно) предлагает введение одновременно как Python, так и NLTK, что было бы полезно для вас.