Определение пользовательских имен - PullRequest
1 голос
/ 07 марта 2020

Это проект на очень ранней стадии, и я пытаюсь найти идеи о том, с чего начать.
Буду очень признателен за любую помощь или указатели!

Моя проблема:
У меня есть текст с одной стороны и список именованных элементов GraphDB с другой (обычно это либо аббревиатура, либо выражение из нескольких слов). Мои тексты не аннотированы.
Я хочу обнаруживать, когда имя явно используется в тексте. Хитрость в том, что это не обязательно будет идеальное совпадение строк (например, аббревиатуру можно использовать для сокращения выражения из нескольких слов или небольшую часть можно пропустить). Таким образом, простой поиск строки не будет иметь 100% -ного отзыва (даже если его можно использовать в качестве начального).

Если у меня только что был ввод, и я хотел, чтобы он соответствовал одному из имен, я сделал бы простое вычисление edit distance и все. Что меня беспокоит, так это то, что я должен сделать это для всего текста, и я не знаю, как решить проблему.
Я не могу разбить все в N-граммах, потому что мои именованные сущности могут быть одним словом или длиной до семи слов ... Или я могу?
У меня есть тысячи элементов Graph, поэтому я не думаю, что NER можно применить здесь ... Или это возможно?

Примером может быть:
Мой список имен: ['База данных графиков', 'Менеджер', 'Номер сотрудника 1 ']
Текст:

Каждое утро Диспетчер просматривает База данных графиков искать обновления. Каждый вечер Сотрудник 1 обновляет GraphDB .

Я хочу, чтобы в этом блоке текста сопоставьте 4 выделенные части с соответствующими элементами в списке.



У меня небольшой опыт в области машинного обучения, но я никогда не занимался НЛП. Чтобы быть ясным, меня не волнует значение этих слов, я просто хочу иметь возможность обнаружить их.

Спасибо

...