У меня есть приложение, которое очищает результаты футбола из разных источников в Интернете.На разных сайтах названия команд не совпадают - например, «Манчестер Юнайтед» на одном сайте может называться «Манчестер Юнайтед», на втором - «Манчестер Юнайтед», на третьем - «Манчестер Юнайтед».Мне нужно сопоставить все возможные деривации с одним именем («Манчестер Юнайтед») и повторить процесс для каждой из 20 команд лиги («Арсенал», «Ливерпуль», «Манчестер Сити» и т. Д.).Очевидно, я не хочу, чтобы какие-либо плохие совпадения [например, «Ман Сити» отображались в «Манчестер Юнайтед»].
Сейчас я указываю регулярные выражения для всех возможных комбинаций - например, «Манчестер Юнайтед» будет «человеком»(Chester) (и | (Utd) | (объединенная)) (к) '?;это хорошо для пары сайтов, но становится все более громоздким.Я ищу решение, которое бы не указывало эти регулярные выражения.Например, должен быть способ «забить» Манчестер Юнайтед, чтобы он получал высокий балл против «Манчестер Юнайтед», но низкий / нулевой балл против «Ливерпуля» [например];Я бы проверил образец текста со всеми возможными решениями и выбрал бы тот, у которого был самый высокий балл.
Мне кажется, что решение может быть похоже на классический пример нейронной сети, обучаемой распознавать почерк [т.е.существует фиксированный набор возможных результатов и уровень шума во входных выборках]
У кого-нибудь есть идеи?
Спасибо.