Извлечение данных определенного типа из неструктурированного текста, а именно из институтов - PullRequest
0 голосов
/ 14 мая 2019

Мне нужно извлечь названия институтов из приведенных данных.Названия институтов будут выглядеть одинаково (Университет Анны, Институт Технологии Машса, Школа Инженерии Банглора, Колледж Моделирования).Будет много похожих данных.Я хочу извлечь их из текста.Как я могу создать модель для извлечения этих имен из данных (мне нужно извлечь из резюме резюме)

Я пытался добавить новый NER в пространстве, но даже после обучения потери не уменьшаются и прогнозы неверны.Вот почему я хочу сделать новую модель только для этого.

Ответы [ 2 ]

1 голос
/ 14 мая 2019

Вы делаете анализ текста.

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

Ваш лучший выбор - регулярные выражения.

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.

0 голосов
/ 17 мая 2019

Проблема, с которой вы сталкиваетесь, решается с помощью специализированных инструментов поиска и анализа текста.Использование фонетического анализа и индексов.

Одним из популярных инструментов анализа текста является Elasticsearch.Вы индексируете свои документы и ищите их, используя REST api.

Google также предоставляет такие инструменты для анализа и индексации текста.

Также такие современные инструменты СУБД, как Oracle и PostgresSQL, предоставляют такие функции.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...