Как автоматически определять значение / расширение аббревиатуры

Как вы можете обнаружить / узнать значение (расширение) аббревиатуры, используя методы NLP / Information Extraction (IE)?

Мы хотим обнаружить в свободном тексте, используется ли слово или его аббревиатуру, и сопоставить его с той же сущностью / токеном.

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

Есть идеи?

2 ответа

Решение

Читая ваш вопрос и комментарии, я понимаю, что вы хотите создать отображение от аббревиатуры к ее расширению.

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

Простой алгоритм определения аббревиатурных определений в биомедицинском тексте А.С. Шварца и М.А. Херста делает именно это, рассматривая паттерны. Реализация Java доступна здесь.

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

Wordnet содержит аббревиатуру от множества слов, которые вы можете использовать на разных языках программирования: http://wordnet.princeton.edu/wordnet/

Или получить от Freebase. Посмотрите это: Как можно найти похожие имена, используя Интернет?

Другие вопросы по тегам