Фон
В прошлом посте я собрал тексты и подчистил их, чтобы убрать несоответствие в использовании терминов. Теперь мы подошли к шагу использования библиотеки НЛП для анализа этого текста.
Подход
4. Постройте график, используя предложение
Немного предыстории обработки естественного языка (NLP).
Чтобы анализировать текст, нам нужны способы разбить предложение (я) на части, которые могут быть обработаны любым алгоритмом машинного обучения. В отличие от табличных данных, текст не является непрерывной переменной и не имеет красивого и плавного распределения. Нам нужен какой-то способ обойти это.
Наиболее распространенным подходом до появления архитектуры глубокого обучения/преобразования было представление Bag of Words. Идея довольно проста: подсчитать количество определенных слов, которые имеют значительную дифференциальную мощность. Последней тенденцией является применение сложной модели преобразователя для различных задач, таких как анализ настроений, классификация текста, чат-боты и виртуальные помощники, извлечение текста, машинный перевод, суммирование текста или распознавание речи. Но это не то, чем я хочу здесь заниматься. Я сосредоточен на извлечении взаимосвязей/взаимодействий между различными биомедицинскими объектами. Требование отличается от вышеупомянутых задач.
Для этого я использую возможности библиотеки Stanza NLP для выполнения обычной обработки текста и использования вывода для построения графика. Ниже приведен сценарий, в котором я готовлю необработанное предложение для этой цели.
Предположим, у меня есть следующее примерное предложение.
'CDKN2A, also known as cyclin-dependent kinase inhibitor 2A, is a gene which in humans is located at chromosome 9, band p21.3.'
Если я запускаю стандартный конвейер Stanza без сопоставления необработанных токенов, он выведет что-то вроде ниже.
-------------- Tokens -------------- CDKN2A NOUN , PUNCT also ADV known VERB as ADP cyclin NOUN - PUNCT dependent ADJ kinase NOUN inhibitor NOUN 2A NOUN , PUNCT is VERB a DET gene NOUN which PRON in ADP humans NOUN is AUX located VERB at ADP chromosome NOUN 9 NUM , PUNCT band NOUN p21.3 NOUN . PUNCT -------------- Entity -------------- CDKN2A cyclin-dependent kinase inhibitor 2A humans chromosome 9
Вы заметите, что некоторые токены не соответствуют извлеченным объектам. Именно поэтому мне нужна вспомогательная функция spanner.
Запуск другого скрипта с использованием вспомогательной функции «spanner» даст следующее.
Вы заметите, что жетоны соответствуют биомедицинским объектам. И следующий вывод также указывает, от какого токена зависит текущий токен. Это результат разбора зависимостей, который отражает грамматические правила построения осмысленного предложения. [1]. Эта зависимость будет использоваться для построения графика предложения.
---------------------------- Tokens ---------------------------- CDKN2A is dependent on known also is dependent on known known is dependent on p21.3 as is dependent on gene cyclin-dependent kinase inhibitor 2A is dependent on gene is is dependent on gene a is dependent on gene gene is dependent on known which is dependent on located in is dependent on humans humans is dependent on located is is dependent on located located is dependent on gene at is dependent on p21.3 chromosome 9 is dependent on band band is dependent on p21.3 p21.3 is dependent on located ---------------------------- Entity ---------------------------- CDKN2A cyclin-dependent kinase inhibitor 2A humans
Антракт
До сих пор я рассказывал, как разбить предложение на компоненты, которые можно использовать для построения графика. В следующем посте я расскажу, как использовать график для извлечения отношений, которые являются ключом к пониманию взаимодействия между двумя биомедицинскими объектами.
Следите за обновлениями.