Вы делаете анализ текста.
Я знаю, что вы хотите построить модель для этого, но вы не можете сделать это без целевых данных (примеров текстов и списков названий школ в этих текстах), которых, я думаю, у вас нет. Я предлагаю вам сделать это самостоятельно, без самоучки модели.
Ваш лучший выбор - регулярные выражения.
import re
sub_patterns = ['[A-Z][a-z]* University',
'University of [A-Z][a-z]*',
'Ecole [A-Z][a-z]*']
pattern = '({})'.format('|'.join(sub_patterns))
matches = re.findall(pattern, mystring)
Я использовал текст с этого сайта и получаю:
matches
['University of Cambridge',
'University of Oxford',
'Harvard University',
'Columbia University',
'Princeton University',
'University of Chicago',
'Stanford University',
'Yale University',
'University of California',
'Humboldt University',
'Cornell University',
'University of Pennsylvania',
'University of London',
'Uppsala University',
'University of Edinburgh',
'Heidelberg University',
'University of California',
'York University',
'University of Michigan',
'Hopkins University',
'University of Vienna',
'University of G',
'State University',
'University of Bologna',
'Leipzig University',
'Maximilian University',
'University of Southern',
'University of Tokyo',
'Leiden University',
'Lund University',
'Charles University',
'University of Copenhagen',
'Ecole Normale',
'University of Manchester',
'Ecole Polytechnique',
'University of Bonn',
'University of Texas',
'Duke University',
'Mellon University',
'Azhar University',
'University of Helsinki',
'University of Virginia',
'Hebrew University',
'University of Toronto',
'University of Illinois',
'Sapienza University',
'University of Zurich',
'University of Washington',
'University of Minnesota',
'Georgetown University',
'University of Wisconsin',
'Gill University',
'University of Glasgow',
'University of Oslo',
'Peking University',
'State University',
'Brown University',
'University of T',
'Jagiellonian University',
'State University',
'Free University',
'Kyoto University',
'University of Padua',
'Waseda University',
'University of Florida',
'University of Geneva',
'State University',
'University of Jena',
'Keio University',
'University of Arizona',
'University of Maryland',
'Stockholm University',
'Boston University',
'University of Strasbourg',
'University of Tartu',
'Rutgers University',
'University of Warsaw',
'Utrecht University',
'University of North',
'Rockefeller University',
'Luther University',
'Tsinghua University',
'University of St',
'University of Amsterdam',
'Northwestern University',
'University of Notre',
'Technical University',
'University of Coimbra',
'Indiana University']
Как видите, Massachusetts Institute of Technology
не появляется, мы получаем Ecole Normale
вместо Ecole Normale Superieure
, University of G
вместо University of Göttingen
(потому что ö не в [az]), и есть другие ошибки .
Это совершенно нормально, поскольку написанные мной шаблоны еще недостаточно хороши. Теперь ваша задача - создать хорошие шаблоны для ваших данных.
Вам также, вероятно, понадобится предварительная обработка текста, чтобы упростить эту задачу, например, преобразование текста в строчные символы ascii.