Tło

W ostatnim poście zebrałem teksty i uporządkowałem je, aby usunąć niekonsekwencję w użyciu terminów. Teraz dochodzimy do etapu wykorzystania biblioteki NLP do analizy tych tekstów.



Zbliżać się

4. Zbuduj graf używając zdania

Trochę wiedzy na temat przetwarzania języka naturalnego (NLP).

Aby przeanalizować tekst, potrzebujemy sposobów podzielenia zdania na części, które mogą być przetwarzane przez dowolny algorytm uczenia maszynowego. W przeciwieństwie do danych tabelarycznych tekst nie jest zmienny w sposób ciągły i nie ma ładnego i gładkiego rozkładu. Musimy się jakoś obejść.

Najpopularniejszym podejściem przed pojawieniem się architektury głębokiego uczenia się/transformatora była reprezentacja Bag of Words. Pomysł jest całkiem prosty: policz liczbę konkretnych słów, które mają znaczącą siłę różnicującą. Najnowszym trendem jest stosowanie złożonego modelu transformatora do różnych zadań, takich jak analiza nastrojów, klasyfikacja tekstu, chatboty i wirtualni asystenci, ekstrakcja tekstu, tłumaczenie maszynowe, podsumowywanie tekstu lub rozpoznawanie mowy. Ale nie to chcę tutaj robić. Skupiam się na wydobywaniu relacji/interakcji pomiędzy różnymi podmiotami biomedycznymi. Wymaganie różni się od powyższych zadań.

Aby to zrobić, wykorzystuję możliwości biblioteki Stanza NLP do przeprowadzenia zwykłego przetwarzania tekstu i wykorzystania wyników do budowy wykresu. Poniżej znajduje się skrypt, w którym przygotowuję surowe zdanie w tym celu.

Załóżmy, że mam następujące przykładowe zdanie.

'CDKN2A, also known as cyclin-dependent kinase inhibitor 2A, is a gene which in humans is located at chromosome 9, band p21.3.'

Jeśli korzystam ze standardowego potoku Stanza bez zestawiania surowych tokenów, wyświetli się coś takiego jak poniżej.

-------------- 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

Zauważysz, że niektóre tokeny nie są zgodne z wyodrębnionymi bytami. I dlatego potrzebuję funkcji pomocniczej „klucz”.

Uruchomienie innego skryptu przy użyciu funkcji pomocniczej „spanner” spowoduje wykonanie następujących czynności.

Zauważysz, że żetony odpowiadają podmiotom biomedycznym. Poniższe dane wyjściowe wskazują również, od którego tokenu zależy bieżący token. Jest to wynik analizy zależności, która odzwierciedla reguły gramatyczne rządzące konstruowaniem sensownego zdania. [1]. Zależność ta zostanie wykorzystana do skonstruowania wykresu zdania.

---------------------------- 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

Przerwa

Jak dotąd opisałem, jak podzielić zdanie na elementy, które można wykorzystać do zbudowania wykresu. W następnym poście omówię, jak wykorzystać wykres do wyodrębnienia zależności, która jest kluczem do zrozumienia interakcji pomiędzy dwoma podmiotami biomedycznymi.

Czekać na dalsze informacje.

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