Koostage NLP abil biomeditsiiniliste teadmiste graafik

Allikasõlm: 1401511

Olen juba näidanud, kuidas luua Wikipedia lehelt teadmiste graafik. Kuna postitus pälvis aga palju tähelepanu, otsustasin uurida teisi valdkondi, kus teadmiste graafiku koostamiseks on mõttekas kasutada NLP tehnikaid. Minu arvates on biomeditsiini valdkond suurepärane näide, kus andmete esitamine graafikuna on mõttekas, kuna analüüsite sageli geenide, haiguste, ravimite, valkude ja muu vahelisi koostoimeid ja seoseid.

Alamgraafiku näide, mis näitab askorbiinhappe seoseid teiste biomeditsiiniliste kontseptsioonidega. Pilt autorilt.

Ülaltoodud visualiseeringus on meil askorbiinhape, tuntud ka kui C-vitamiin, ja mõned selle seosed teiste mõistetega. Näiteks näitab see, et C-vitamiini saab kasutada kroonilise gastriidi raviks.

Nüüd võiks domeeniekspertide meeskond lasta teie jaoks kaardistada kõik need seosed ravimite, haiguste ja muude biomeditsiiniliste kontseptsioonide vahel. Kuid kahjuks ei saa paljud meist endale lubada palgata arstide meeskonda, kes meie eest tööd teeks. Sel juhul võime nende suhete automaatseks ekstraheerimiseks kasutada NLP-tehnikaid. Hea osa on see, et saame kasutada NLP-konveierit kõigi sealsete uurimistööde lugemiseks, ja halb on see, et kõik saadud tulemused ei ole täiuslikud. Arvestades aga, et minu kõrval pole teadlaste meeskonda, kes on valmis seoseid käsitsi eraldama, kasutan NLP tehnikaid, et koostada oma biomeditsiiniliste teadmiste graafik.

Kasutan selles ajaveebipostituses ühte uurimistööd, et juhendada teid kõigi biomeditsiiniliste teadmiste graafiku koostamiseks vajalike sammudega – Naha regenereerimise ja juuste kasvu koetehnoloogia.

Lehe kirjutas Mohammadreza Ahmadi. Artikli PDF-versioon on saadaval CC0 1.0 litsentsi all. Teeme teadmiste graafiku koostamiseks läbi järgmised sammud:

  • PDF-dokumendi lugemine OCR-iga
  • Teksti eeltöötlus
  • Biomeditsiinilise kontseptsiooni äratundmine ja sidumine
  • Suhte väljatõmbamine
  • Väline andmebaasi rikastamine

Selle postituse lõpuks koostate järgmise skeemiga graafiku.

Biomeditsiinilise graafiku skeem. Pilt autorilt.

Graafiku salvestamiseks kasutame graafide andmebaasi Neo4j, millel on märgistatud atribuutide graafiku mudel. Igal artiklil võib olla üks või mitu autorit. Jagame artikli sisu lauseteks ja kasutame NLP-d nii meditsiiniliste üksuste kui ka nende suhete eraldamiseks. Võib olla veidi intuitiivne, et suhete asemel salvestame olemitevahelised suhted vahesõlmedena. Kriitiline tegur selle otsuse taga on see, et tahame omada kontrolljälge lähteteksti kohta, millest seos eraldati. Sildistatud atribuutide graafiku mudeliga ei saa teil olla seost, mis osutab teisele suhtele. Sel põhjusel muudame meditsiiniliste mõistete vahelise seose vahepealseks sõlmeks. See võimaldab ka domeenieksperdil hinnata, kas seos ekstraheeriti õigesti või mitte.

Teel demonstreerin ka rakendusi, kuidas konstrueeritud graafikut kasutada salvestatud teabe otsimiseks ja analüüsimiseks.

Sukeldume otse sellesse!

Kui see põhjalik hariv sisu on teile kasulik, tellige meie AI-uuringute meililist hoiatada, kui avaldame uut materjali.

PDF-dokumendi lugemine OCR-iga

Nagu mainitud, on uurimistöö PDF-versioon avalikkusele kättesaadav CC0 1.0 litsentsi alusel, mis tähendab, et saame selle Pythoniga hõlpsasti alla laadida. Me hakkame kasutama pütesserakt teek, et PDF-ist teksti eraldada. Minu teada on pytesseract'i teek OCR-i jaoks üks populaarsemaid teeke. Kui soovite järgida koodinäiteid, olen koostanud a Google Colabi märkmik, nii et te ei pea ise koodi kopeerima-kleepima.

import requests
import pdf2image
import pytesseract pdf = requests.get('https://arxiv.org/pdf/2110.03526.pdf')
doc = pdf2image.convert_from_bytes(pdf.content) # Get the article text
article = []
for page_number, page_data in enumerate(doc): txt = pytesseract.image_to_string(page_data).encode("utf-8") # Sixth page are only references if page_number < 6: article.append(txt.decode("utf-8"))
article_txt = " ".join(article)

Teksti eeltöötlus

Nüüd, kui artikli sisu on saadaval, jätkame ja eemaldame tekstist jaotiste pealkirjad ja jooniste kirjeldused. Järgmisena jagame teksti lauseteks.

import nltk
nltk.download('punkt') def clean_text(text): """Remove section titles and figure descriptions from text""" clean = "n".join([row for row in text.split("n") if (len(row.split(" "))) > 3 and not (row.startswith("(a)")) and not row.startswith("Figure")]) return clean text = article_txt.split("INTRODUCTION")[1]
ctext = clean_text(text)
sentences = nltk.tokenize.sent_tokenize(ctext)

Biomeditsiinilise nimega üksuse linkimine

Nüüd tuleb põnev osa. Neile, kes pole NLP-s ja nimega üksuste tuvastamise ja linkimise kasutajad, alustame mõne põhitõega. Nimega olemi tuvastamise tehnikaid kasutatakse asjakohaste üksuste või mõistete tuvastamiseks tekstis. Näiteks biomeditsiini valdkonnas tahame tekstis tuvastada erinevaid geene, ravimeid, haigusi ja muid mõisteid.

Biomeditsiiniliste kontseptsioonide ekstraheerimine. Pilt autorilt.

Selles näites tuvastas NLP-mudel tekstis geenid, haigused, ravimid, liigid, mutatsioonid ja rajad. Nagu mainitud, nimetatakse seda protsessi nimega olemi tuvastamiseks. Nimetatud olemi tuvastamise täiendus on nn nimega olemi linkimine. Nimetatud olemi linkimise tehnika tuvastab tekstis asjakohased mõisted ja püüab neid sihtteadmiste baasiga seostada. Biomeditsiini valdkonnas on mõned sihtteadmiste baasid:

Miks me peaksime siduma meditsiiniüksused sihtteadmiste baasiga? Peamine põhjus on see, et see aitab meil tegeleda olemi täpsustustega. Näiteks me ei soovi, et graafikul oleks eraldi üksused, mis esindavad askorbiinhapet ja C-vitamiini, kuna domeenieksperdid võivad teile öelda, et need on samad asjad. Teisene põhjus on see, et kontseptsioonide kaardistamisel sihtteadmiste baasiga saame oma graafikumudelit rikastada, hankides teavet kaardistatud mõistete kohta sihtteadmiste baasist. Kui kasutame uuesti askorbiinhappe näidet, saaksime CHEBI andmebaasist hõlpsasti lisateavet hankida, kui me seda juba teame. CHEBI id.

Askorbiinhappe rikastamise andmed on saadaval CHEBI veebisaidil. Kogu veebisaidi sisu on saadaval all CC BY 4.0 litsents. Pilt autorilt.

Olen juba mõnda aega otsinud korralikku avatud lähtekoodiga eelkoolitatud biomeditsiinilise nimega üksust. Paljud NLP mudelid keskenduvad ainult teatud meditsiiniliste mõistete, näiteks geenide või haiguste alamhulga ekstraheerimisele. Veelgi harvem on leida mudel, mis tuvastab enamiku meditsiinilisi mõisteid ja seob need sihtteadmiste baasiga. Õnneks olen komistanud BERN[1], neuraalsete biomeditsiiniliste üksuste tuvastamise ja mitut tüüpi normaliseerimistööriist. Kui ma õigesti aru saan, on see täppishäälestatud BioBerti mudel, millel on erinevad nimega üksuste sidumise mudelid, mis on integreeritud kontseptsioonide kaardistamiseks biomeditsiiniliste sihtide teadmistebaasidega. Lisaks sellele pakuvad nad ka tasuta REST-i lõpp-punkti, nii et me ei pea tegelema sõltuvuste ja mudeli tööle saamisega. Eespool kasutatud biomeditsiiniline olemituvastuse visualiseerimine loodi BERN-i mudeli abil, nii et teame, et see tuvastab tekstis geene, haigusi, ravimeid, liike, mutatsioone ja radu.

Kahjuks ei määra BERN-i mudel kõigile mõistetele sihtteadmistebaasi ID-sid. Seega olen koostanud skripti, mis esmalt vaatab, kas kontseptsioonile on antud selge ID, ja kui seda ei ole, kasutab see id-na olemi nime. Arvutame välja ka lausete teksti sha256, et hiljem, kui teeme seose ekstrakti, oleks konkreetseid lauseid lihtsam tuvastada.

import hashlib def query_raw(text, url="https://bern.korea.ac.kr/plain"): """Biomedical entity linking API""" return requests.post(url, data={'sample_text': text}).json() entity_list = []
# The last sentence is invalid
for s in sentences[:-1]: entity_list.append(query_raw(s)) parsed_entities = []
for entities in entity_list: e = [] # If there are not entities in the text if not entities.get('denotations'): parsed_entities.append({'text':entities['text'], 'text_sha256': hashlib.sha256(entities['text'].encode('utf-8')).hexdigest()}) continue for entity in entities['denotations']: other_ids = [id for id in entity['id'] if not id.startswith("BERN")] entity_type = entity['obj'] entity_name = entities['text'][entity['span']['begin']:entity['span']['end']] try: entity_id = [id for id in entity['id'] if id.startswith("BERN")][0] except IndexError: entity_id = entity_name e.append({'entity_id': entity_id, 'other_ids': other_ids, 'entity_type': entity_type, 'entity': entity_name}) parsed_entities.append({'entities':e, 'text':entities['text'], 'text_sha256': hashlib.sha256(entities['text'].encode('utf-8')).hexdigest()})

Olen kontrollinud nimetatud üksuse linkimise tulemusi ja ootuspäraselt pole see täiuslik. Näiteks ei määratle see tüvirakke meditsiinilise kontseptsioonina. Teisest küljest tuvastas see ühe üksuse nimega "süda, aju, närvid ja neer". Siiski on BERN endiselt parim avatud lähtekoodiga biomeditsiiniline mudel, mida ma oma uurimise käigus leida võisin.

Koostage teadmiste graafik

Enne seose eraldamise tehnikate vaatamist koostame biomeditsiiniliste teadmiste graafiku, kasutades ainult üksusi ja uurime võimalikke rakendusi. Nagu mainitud, olen ette valmistanud a Google Colabi märkmik mida saate kasutada selles postituses olevate koodinäidete järgimiseks. Graafiku salvestamiseks kasutame Neo4j-d. Te ei pea tegelema kohaliku Neo4j keskkonna ettevalmistamisega. Selle asemel saate kasutada tasuta Neo4j liivakasti eksemplari.

Neo4j liivakast

Alusta Tühi projekt liivakastis ja kopeerige ühenduse üksikasjad Colabi märkmikusse.

Neo4j liivakasti ühenduse üksikasjad. Pilt autorilt.

Nüüd saate Neo4j ühenduse sülearvutis ette valmistada.

from neo4j import GraphDatabase
import pandas as pd host = 'bolt://3.236.182.55:7687'
user = 'neo4j'
password = 'hydrometer-ditches-windings'
driver = GraphDatabase.driver(host,auth=(user, password)) def neo4j_query(query, params=None): with driver.session() as session: result = session.run(query, params) return pd.DataFrame([r.values() for r in result], columns=result.keys())

Alustame autori ja artikli importimisest graafikusse. Artikli sõlm sisaldab ainult pealkirja.

author = article_txt.split("n")[0]
title = " ".join(article_txt.split("n")[2:4]) neo4j_query("""
MERGE (a:Author{name:$author})
MERGE (b:Article{title:$title})
MERGE (a)-[:WROTE]->(b)
""", {'title':title, 'author':author})

Kui avate Neo4j brauseri, peaksite nägema järgmist graafikut.

Pilt autorilt.

Saate importida laused ja mainitud olemid, käivitades järgmise Cypher-päringu:

neo4j_query("""
MATCH (a:Article)
UNWIND $data as row
MERGE (s:Sentence{id:row.text_sha256})
SET s.text = row.text
MERGE (a)-[:HAS_SENTENCE]->(s)
WITH s, row.entities as entities
UNWIND entities as entity
MERGE (e:Entity{id:entity.entity_id})
ON CREATE SET e.other_ids = entity.other_ids, e.name = entity.entity, e.type = entity.entity_type
MERGE (s)-[m:MENTIONS]->(e)
ON CREATE SET m.count = 1
ON MATCH SET m.count = m.count + 1
""", {'data': parsed_entities})

Koostatud graafiku kontrollimiseks saate käivitada järgmise Cypheri päringu:

MATCH p=(a:Article)-[:HAS_SENTENCE]->()-[:MENTIONS]->(e:Entity)
RETURN p LIMIT 25

Kui olete andmed õigesti importinud, peaksite nägema sarnast visualiseerimist.

Olemi väljavõte salvestatakse graafikuna. Pilt autorilt.

Teadmiste graafiku rakendused

Isegi ilma seose eraldamise vooluta on meie graafikul juba paar kasutusjuhtu.

Otsingumootor

Võiksime oma graafikut kasutada otsingumootorina. Näiteks võite kasutada järgmist Cypher-päringut, et leida lauseid või artikleid, mis mainivad konkreetset meditsiinilist olemit.

MATCH (e:Entity)<-[:MENTIONS]-(s:Sentence)
WHERE e.name = "autoimmune diseases"
RETURN s.text as result

Tulemused

Pilt autorilt.

Koosesinemise analüüs

Teine võimalus on koosesinemise analüüs. Saate määratleda meditsiiniliste üksuste koosesinemise, kui need esinevad samas lauses või artiklis. Leidsin artikli[2], mis kasutab meditsiiniliste kaasnähtude võrgustikku, et ennustada uusi võimalikke seoseid meditsiiniliste üksuste vahel.

Linki ennustamine MeSH kaasesinemise võrgus: esialgsed tulemused – PubMed

Võite kasutada järgmist Cypher-päringut, et leida olemeid, mis esinevad sageli samas lauses.

MATCH (e1:Entity)<-[:MENTIONS]-()-[:MENTIONS]->(e2:Entity)
MATCH (e1:Entity)<-[:MENTIONS]-()-[:MENTIONS]->(e2:Entity)
WHERE id(e1) < id(e2)
RETURN e1.name as entity1, e2.name as entity2, count(*) as cooccurrence
ORDER BY cooccurrence
DESC LIMIT 3

Tulemused

üksus1 üksus2 kokkusattumine
nahahaigused diabeetilised haavandid 2
kroonilised haavad diabeetilised haavandid 2
nahahaigused kroonilised haavad 2

Ilmselgelt oleksid tulemused paremad, kui analüüsiksime tuhandeid või rohkemgi artikleid.

Kontrollige autoriteadmisi

Seda graafikut saate kasutada ka autori teadmiste leidmiseks, uurides meditsiinilisi üksusi, millest nad kõige sagedamini kirjutavad. Selle teabe põhjal saate soovitada ka tulevast koostööd.

Käivitage järgmine Cypheri päring, et kontrollida, milliseid meditsiinilisi üksusi meie üks autor uurimistöös mainis.

MATCH (a:Author)-[:WROTE]->()-[:HAS_SENTENCE]->()-[:MENTIONS]->(e:Entity)
RETURN a.name as author, e.name as entity,
MATCH (a:Author)-[:WROTE]->()-[:HAS_SENTENCE]->()-[:MENTIONS]->(e:Entity)
RETURN a.name as author, e.name as entity, count(*) as count
ORDER BY count DESC
LIMIT 5

Tulemused

autor üksus loe
Mohammadreza Ahmadi kollageen 9
Mohammadreza Ahmadi põletus 4
Mohammadreza Ahmadi nahahaigused 4
Mohammadreza Ahmadi kollagenaasi ensüümid 2
Mohammadreza Ahmadi Bulloosi epidermolüüs 2

Suhte väljatõmbamine

Nüüd püüame välja tuua seosed meditsiiniliste mõistete vahel. Minu kogemuse põhjal on seose ekstraheerimine vähemalt suurusjärgu võrra raskem kui nimega olemi ekstraheerimine. Kui te ei peaks nimega olemi linkimisel ideaalseid tulemusi ootama, võite kindlasti oodata relatsiooni eraldamise tehnikas mõningaid vigu.

Olen otsinud saadaolevaid biomeditsiiniliste seoste ekstraheerimise mudeleid, kuid ei leidnud midagi, mis toimiks koheselt või ei nõuaks peenhäälestamist. Tundub, et suhete kaevandamise valdkond on tipptasemel ja loodetavasti saame sellele tulevikus rohkem tähelepanu pöörata. Kahjuks ei ole ma NLP-ekspert, mistõttu vältisin enda mudeli peenhäälestamist. Selle asemel kasutame paberil põhinevat nullkaadri relatsiooni ekstrakti FewReli nullkaadri piirangu uurimine[3]. Kuigi ma ei soovitaks seda mudelit tootmisse panna, on see lihtsaks demonstratsiooniks piisavalt hea. Mudel on saadaval aadressil Kallistav Nägu, nii et me ei pea tegelema koolituse ega mudeli seadistamisega.

from transformers import AutoTokenizer
from zero_shot_re import RelTaggerModel, RelationExtractor model = RelTaggerModel.from_pretrained("fractalego/fewrel-zero-shot")
tokenizer = AutoTokenizer.from_pretrained("bert-large-uncased-whole-word-masking-finetuned-squad")
relations = ['associated', 'interacts']
extractor = RelationExtractor(model, tokenizer, relations)

Nullpildi relatsiooni ekstraktijaga saate määrata, milliseid seoseid soovite tuvastada. Selles näites olen kasutanud seotud ja interaktiivne suhted. Olen proovinud ka spetsiifilisemaid suhtetüüpe, nagu ravi, põhjused ja muud, kuid tulemused ei olnud suurepärased.

Selle mudeliga peate määratlema, milliste olemipaaride vahel soovite seoseid tuvastada. Nimetatud olemi linkimise tulemusi kasutame seose ekstraheerimise protsessi sisendina. Esiteks leiame kõik laused, kus on mainitud kahte või enamat olemit, ja seejärel käivitame need seoste eraldamise mudeli kaudu, et eraldada seosed. Olen määratlenud ka läviväärtuse 0.85, mis tähendab, et kui mudel ennustab seost olemite vahel tõenäosusega, mis on väiksem kui 0.85, siis ignoreerime ennustust.

import itertools
# Candidate sentence where there is more than a single entity present
candidates = [s for s in parsed_entities if (s.get('entities')) and (len(s['entities']) &gt; 1)]
predicted_rels = []
for c in candidates: combinations = itertools.combinations([{'name':x['entity'], 'id':x['entity_id']} for x in c['entities']], 2) for combination in list(combinations): try: ranked_rels = extractor.rank(text=c['text'].replace(",", " "), head=combination[0]['name'], tail=combination[1]['name']) # Define threshold for the most probable relation if ranked_rels[0][1] &gt; 0.85: predicted_rels.append({'head': combination[0]['id'], 'tail': combination[1]['id'], 'type':ranked_rels[0][0], 'source': c['text_sha256']}) except: pass # Store relations to Neo4j
neo4j_query("""
UNWIND $data as row
MATCH (source:Entity {id: row.head})
MATCH (target:Entity {id: row.tail})
MATCH (text:Sentence {id: row.source})
MERGE (source)-[:REL]-&gt;(r:Relation {type: row.type})-[:REL]-&gt;(target)
MERGE (text)-[:MENTIONS]-&gt;(r)
""", {'data': predicted_rels})

Talletame graafikus nii seosed kui ka lähteteksti, mida kasutatakse selle seose eraldamiseks.

Ekstraheeritud seosed, mis on salvestatud graafikule. Pilt autorilt.

Olemite ja lähteteksti vahelisi ekstraktitud seoseid saate uurida järgmise Cypher-päringuga:

MATCH (s:Entity)-[:REL]->(r:Relation)-[:REL]->(t:Entity), (r)<-[:MENTIONS]-(st:Sentence)
RETURN s.name as source_entity, t.name as target_entity, r.type as type, st.text as source_text

Tulemused

Pilt autorilt.

Nagu mainitud, pole NLP-mudel, mida olen suhete eraldamiseks kasutanud, täiuslik ja kuna ma ei ole arst, siis ma ei tea, kui palju seoseid see vahele jäi. Need, mille ta tuvastas, tunduvad siiski mõistlikud.

Väline andmebaasi rikastamine

Nagu ma varem mainisin, saame oma graafiku rikastamiseks siiski kasutada väliseid andmebaase, nagu CHEBI või MESH. Näiteks sisaldab meie graafik meditsiinilist olemit Bulloosi epidermolüüs ja me teame ka selle MeSH id.

Epidermolysis bullosa MeSH-id saate hankida järgmise päringuga:

MATCH (e:Entity)
WHERE e.name = "Epidermolysis bullosa"
RETURN e.name as entity, e.other_ids as other_ids

Saadaoleva teabe leidmiseks võite MeSH-i üle vaadata:

MeSH lingitud andmed

Ekraanipilt autorilt. Andmed pärinevad USA riiklikust meditsiiniraamatukogust.

Siin on ekraanipilt saadaolevast teabest MeSH veebisaidil Epidermolysis bullosa kohta. Nagu mainitud, ei ole ma arst, mistõttu ma ei tea täpselt, kuidas oleks parim viis selle teabe graafikus modelleerimiseks. Siiski näitan teile, kuidas seda teavet Neo4j-s hankida, kasutades protseduuri apoc.load.json, et hankida teave lõpp-punktist MeSH REST. Seejärel võite paluda domeenieksperdil seda teavet modelleerida.

Cypheri päring teabe toomiseks MeSH REST-i lõpp-punktist on järgmine:

MATCH (e:Entity)
WHERE e.name = "Epidermolysis bullosa"
WITH e, [id in e.other_ids WHERE id contains "MESH" | split(id,":")[1]][0] as meshId
CALL apoc.load.json("https://id.nlm.nih.gov/mesh/lookup/details?descriptor=" + meshId) YIELD value
RETURN value

Teadmiste graafik masinõppe andmesisendina

Viimase mõttena räägin teile kiiresti, kuidas saaksite kasutada biomeditsiiniliste teadmiste graafikut masinõppe töövoo sisendina. Viimastel aastatel on sõlmede manustamise valdkonnas tehtud palju uuringuid ja edusamme. Sõlme manustamismudelid muudavad võrgutopoloogia manustamisruumiks.

Autoriõigus © 2017 Manan Shah, SNAP Group. Pilt on saadaval MIT-i litsentsi all https://github.com/snap-stanford/cs224w-notes.

Oletame, et koostasite biomeditsiiniliste teadmiste graafiku, mis sisaldab meditsiinilisi üksusi ja mõisteid, nende seoseid ja rikastamist erinevatest meditsiiniandmebaasidest. Võite kasutada sõlme manustamise tehnikaid, et õppida tundma sõlme esitusi, mis on fikseeritud pikkusega vektorid, ja sisestada need oma masinõppe töövoogu. Seda lähenemisviisi kasutavad mitmesugused rakendused, alustades ravimi taaskasutamisest kuni ravimi kõrvaltoimete või kõrvaltoimete prognoosimiseni. Leidsin uurimistöö, mis kasutab uute haiguste võimalike ravivõimaluste prognoosimine[4].

Järeldus

Biomeditsiini valdkond on suurepärane näide teadmiste graafikute rakendamisest. Rakendusi on palju, alates lihtsatest otsingumootoritest ja lõpetades keerukamate masinõppe töövoogudega. Loodetavasti tekkis teil seda blogipostitust lugedes mõned ideed, kuidas saaksite oma rakenduste toetamiseks kasutada biomeditsiiniliste teadmiste graafikuid. Võite alustada a tasuta Neo4j liivakast ja alustage uurimist juba täna.

Nagu alati, on kood saadaval aadressil GitHub.

viited

[1] D. Kim et al., "Närvi nimega olemi tuvastamise ja mitmetüübilise normaliseerimise tööriist biomeditsiinilise teksti kaevandamiseks" IEEE juurdepääs, vol. 7, lk 73729–73740, 2019, doi: 10.1109/ACCESS.2019.2920708.

[2] Kastrin A, Rindflesch TC, Hristovski D. Lingi ennustus MeSH-i koosesinemise võrgus: esialgsed tulemused. Stud Health Technol Inform. 2014;205:579–83. PMID: 25160252.

[3] Cetoli, A. (2020). FewReli nullkaadri piirangu uurimine. sisse 28. rahvusvahelise arvutuslingvistika konverentsi materjalid (lk 1447–1451). Rahvusvaheline Arvutuslingvistika Komitee.

[4] Zhang, R., Hristovski, D., Schutte, D., Kastrin, A., Fiszman, M., & Kilicoglu, H. (2021). Uimastite taaskasutamine COVID-19 jaoks teadmiste graafiku täitmise kaudu. Journal of Biomedical Informatics, 115, 103696.

See artikkel oli algselt avaldatud Andmeteaduse poole ja avaldati autori loal uuesti TOPBOTSis.

Kas teile meeldib see artikkel? Registreeruge, et saada rohkem AI värskendusi.

Anname teile teada, kui avaldame rohkem tehnilist haridust.

Postitus Koostage NLP abil biomeditsiiniliste teadmiste graafik ilmus esmalt TOPBOOTID.

Ajatempel:

Veel alates TOPBOOTID