Как сказал вам @ Jindřich, вы, несомненно, должны взглянуть на связывание сущностей, иногда также на устранение неоднозначности (именованных) сущностей или «викификацию». Многое было сделано по этой теме в академических кругах (взгляните на задачи TA C, KBP, NEEL).
Многие программы делают это, и это лишь некоторые из них:
Имейте в виду, что результаты сильно зависят от типа текста, который вы обрабатываете, и что вам, вероятно, потребуется оценить надежность программного обеспечения перед их использованием.