У меня есть огромный список полных имен людей, которые я должен искать в огромном тексте.
В тексте может присутствовать только часть имени. Кроме того, возможны орфографические ошибки, неправильный тип или сокращенные. В тексте нет токенов, поэтому я не знаю, где в тексте начинается имя человека. И я не знаю, появится ли имя или нет в тексте.
Пример:
В моем списке есть «Барак Хусейн Обама», поэтому я должен проверить, не встречается ли это имя в следующих текстах:
- ... Кандидат Барак Обама был избран президентом США ... (неполно)
- ... Кандидат Барак Хусейн был избран президентом Соединенных Штатов ... (неполно)
- ... Кандидат Барак Х. О. был избран президентом Соединенных Штатов ... (сокращенно)
- ... Кандидат Барак ОбаНа был избран президентом Соединенных Штатов ... (с ошибкой)
- ... Кандидат Барак Овама был избран президентом Соединенных Штатов ... (неправильно введено, B стоит рядом с V)
- ... Кандидат Джон Маккейн проиграл выборы ... (имя Обамы не встречается)
Конечно, для этого нет детерминированного решения, но ...
Что является хорошей эвристикой для такого поиска?
Если бы вам пришлось, как бы вы это сделали?