Фон

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



Подход

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

Антракт

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

Следите за обновлениями.

[1]: https://en.wikipedia.org/wiki/Dependency_grammar