Должен ли я использовать LingPipe или NLTK для извлечения имен и мест?

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

 "кардиналы против сойки в Торонто"
 "Даниэль Нестор и Ненад Зимонич играют Джонаса Бьоркмана с Кевином Ульеттом, время Парижа будет объявлено позднее"
"Дженсон Баттон - поул, Браун-Мерседес - Монако".

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

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

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

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

1 ответ

Решение

То, что вы описываете, называется распознаванием сущностей. Поэтому я бы порекомендовал проверить другие вопросы по этой теме, если вы их еще не видели. Это выглядит как самый полезный ответ для меня.

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

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

Другие вопросы по тегам