Membangun Grafik Pengetahuan Biomedis Dengan NLP

Node Sumber: 1401511

Saya sudah menunjukkan caranya buat grafik pengetahuan dari halaman Wikipedia. Namun, karena pos tersebut mendapat banyak perhatian, saya memutuskan untuk menjelajahi domain lain di mana menggunakan teknik NLP untuk membangun grafik pengetahuan masuk akal. Menurut pendapat saya, bidang biomedis adalah contoh utama di mana mewakili data sebagai grafik masuk akal karena Anda sering menganalisis interaksi dan hubungan antara gen, penyakit, obat-obatan, protein, dan banyak lagi.

Contoh subgraf yang menunjukkan hubungan asam askorbat dengan konsep biomedis lainnya. Gambar oleh penulis.

Dalam visualisasi di atas, kita memiliki asam askorbat, juga dikenal sebagai vitamin C, dan beberapa hubungannya dengan konsep lain. Misalnya, ini menunjukkan bahwa vitamin C dapat digunakan untuk mengobati gastritis kronis.

Sekarang, Anda dapat meminta tim pakar domain memetakan semua hubungan antara obat, penyakit, dan konsep biomedis lainnya untuk Anda. Tapi, sayangnya, tidak banyak dari kita yang mampu menyewa tim dokter untuk melakukan pekerjaan untuk kita. Dalam hal ini, kita dapat menggunakan teknik NLP untuk mengekstrak hubungan tersebut secara otomatis. Bagian baiknya adalah kita dapat menggunakan saluran NLP untuk membaca semua makalah penelitian di luar sana, dan bagian buruknya adalah tidak semua hasil yang diperoleh akan sempurna. Namun, mengingat bahwa saya tidak memiliki tim ilmuwan yang siap di sisi saya untuk mengekstrak hubungan secara manual, saya akan menggunakan teknik NLP untuk membangun grafik pengetahuan biomedis saya sendiri.

Saya akan menggunakan satu makalah penelitian di posting blog ini untuk memandu Anda melalui semua langkah yang diperlukan untuk membuat grafik pengetahuan biomedis โ€“ Rekayasa Jaringan Regenerasi Kulit dan Pertumbuhan Rambut.

Makalah itu ditulis oleh Mohammadreza Ahmadi. Versi PDF artikel tersedia di bawah lisensi CC0 1.0. Kami akan melalui langkah-langkah berikut untuk membangun grafik pengetahuan:

  • Membaca dokumen PDF dengan OCR
  • Pra-pemrosesan teks
  • Pengenalan dan penautan konsep biomedis
  • Ekstraksi relasi
  • Pengayaan basis data eksternal

Pada akhir posting ini, Anda akan membuat grafik dengan skema berikut.

Skema grafik biomedis. Gambar oleh penulis.

Kami akan menggunakan Neo4j, database grafik yang menampilkan model grafik properti berlabel, untuk menyimpan grafik kami. Setiap artikel dapat memiliki satu atau lebih penulis. Kami akan membagi konten artikel menjadi kalimat dan menggunakan NLP untuk mengekstrak entitas medis dan hubungannya. Mungkin agak kontra-intuitif bahwa kita akan menyimpan relasi antar entitas sebagai node perantara, bukan relasi. Faktor kritis di balik keputusan ini adalah bahwa kami ingin memiliki jejak audit dari teks sumber dari mana relasi tersebut diekstraksi. Dengan model grafik properti berlabel, Anda tidak dapat memiliki hubungan yang menunjuk ke hubungan lain. Untuk alasan ini, kami memfaktorkan kembali hubungan antara konsep-konsep medis menjadi simpul perantara. Ini juga akan memungkinkan pakar domain untuk mengevaluasi apakah suatu relasi diekstraksi dengan benar atau tidak.

Sepanjang jalan, saya juga akan mendemonstrasikan aplikasi menggunakan grafik yang dibangun untuk mencari dan menganalisis informasi yang tersimpan.

Mari selami langsung!

Jika konten pendidikan yang mendalam ini bermanfaat bagi Anda, berlangganan milis penelitian AI kami untuk diperingatkan ketika kami merilis materi baru.

Membaca dokumen PDF dengan OCR

Seperti yang disebutkan, versi PDF dari makalah penelitian dapat diakses oleh publik di bawah lisensi CC0 1.0, yang berarti kita dapat dengan mudah mengunduhnya dengan Python. Kami akan menggunakan pytesseract perpustakaan untuk mengekstrak teks dari PDF. Sejauh yang saya tahu, perpustakaan pytesseract adalah salah satu perpustakaan yang lebih populer untuk OCR. Jika Anda ingin mengikuti contoh kode, saya telah menyiapkan a Buku catatan Google Colab, jadi Anda tidak perlu menyalin-tempel kode sendiri.

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)

Pra-pemrosesan teks

Sekarang kami memiliki konten artikel yang tersedia, kami akan melanjutkan dan menghapus judul bagian dan deskripsi gambar dari teks. Selanjutnya, kita akan membagi teks menjadi kalimat.

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)

Tautan entitas bernama biomedis

Sekarang sampai pada bagian yang menarik. Bagi mereka yang baru mengenal NLP dan pengenalan dan penautan entitas bernama, mari kita mulai dengan beberapa dasar. Teknik pengenalan entitas bernama digunakan untuk mendeteksi entitas atau konsep yang relevan dalam teks. Misalnya, dalam domain biomedis, kami ingin mengidentifikasi berbagai gen, obat-obatan, penyakit, dan konsep lain dalam teks.

Ekstraksi konsep biomedis. Gambar oleh penulis.

Dalam contoh ini, model NLP mengidentifikasi gen, penyakit, obat-obatan, spesies, mutasi, dan jalur dalam teks. Seperti disebutkan, proses ini disebut pengenalan entitas bernama. Upgrade ke pengenalan entitas bernama adalah apa yang disebut penautan entitas bernama. Teknik penautan entitas bernama mendeteksi konsep yang relevan dalam teks dan mencoba memetakannya ke basis pengetahuan target. Dalam domain biomedis, beberapa basis pengetahuan target adalah:

Mengapa kita ingin menghubungkan entitas medis ke basis pengetahuan target? Alasan utamanya adalah membantu kita menangani disambiguasi entitas. Misalnya, kami tidak ingin entitas terpisah dalam grafik yang mewakili asam askorbat dan vitamin C karena pakar domain dapat memberi tahu Anda bahwa itu adalah hal yang sama. Alasan kedua adalah bahwa dengan memetakan konsep ke basis pengetahuan target, kita dapat memperkaya model grafik dengan mengambil informasi tentang konsep yang dipetakan dari basis pengetahuan target. Jika kita menggunakan contoh asam askorbat lagi, kita dapat dengan mudah mengambil informasi tambahan dari database CHEBI jika kita sudah mengetahuinya ID CHEBI.

Data pengayaan tersedia tentang asam askorbat di situs web CHEBI. Semua konten di situs web tersedia di bawah Lisensi CC BY 4.0. Gambar oleh penulis.

Saya telah mencari tautan entitas bernama biomedis sumber terbuka yang layak untuk beberapa waktu. Banyak model NLP berfokus pada penggalian hanya subset tertentu dari konsep medis seperti gen atau penyakit. Bahkan lebih jarang menemukan model yang mendeteksi sebagian besar konsep medis dan menghubungkannya dengan basis pengetahuan target. Untungnya saya telah menemukan BERN[1], pengenalan entitas biomedis saraf dan alat normalisasi multi-tipe. Jika saya mengerti dengan benar, ini adalah model BioBert yang disempurnakan dengan berbagai model penghubung entitas bernama yang terintegrasi untuk konsep pemetaan ke basis pengetahuan target biomedis. Tidak hanya itu, mereka juga menyediakan titik akhir REST gratis, jadi kita tidak perlu pusing untuk membuat dependensi dan model berfungsi. Visualisasi pengenalan entitas bernama biomedis yang saya gunakan di atas dibuat menggunakan model BERN, jadi kita tahu itu mendeteksi gen, penyakit, obat-obatan, spesies, mutasi, dan jalur dalam teks.

Sayangnya, model BERN tidak menetapkan id basis pengetahuan target untuk semua konsep. Jadi saya telah menyiapkan skrip yang pertama kali terlihat jika id berbeda diberikan untuk sebuah konsep, dan jika tidak, itu akan menggunakan nama entitas sebagai id. Kita juga akan menghitung sha256 dari teks kalimat untuk mengidentifikasi kalimat tertentu dengan lebih mudah nantinya ketika kita akan melakukan ekstraksi relasi.

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()})

Saya telah memeriksa hasil penautan entitas bernama, dan seperti yang diharapkan, itu tidak sempurna. Misalnya, tidak mengidentifikasi sel punca sebagai konsep medis. Di sisi lain, ia mendeteksi satu entitas bernama "jantung, otak, saraf, dan ginjal". Namun, BERN masih merupakan model biomedis open-source terbaik yang dapat saya temukan selama penyelidikan saya.

Buatlah grafik pengetahuan

Sebelum melihat teknik ekstraksi relasi, kita akan membangun grafik pengetahuan biomedis hanya menggunakan entitas dan memeriksa aplikasi yang mungkin. Seperti yang disebutkan, saya telah menyiapkan Buku catatan Google Colab yang dapat Anda gunakan untuk mengikuti contoh kode di posting ini. Untuk menyimpan grafik kita, kita akan menggunakan Neo4j. Anda tidak harus berurusan dengan menyiapkan lingkungan Neo4j lokal. Sebagai gantinya, Anda dapat menggunakan instans Neo4j Sandbox gratis.

Kotak Pasir Neo4j

Memulai Proyek kosong di kotak pasir dan salin detail koneksi ke notebook Colab.

Detail koneksi Neo4j Sandbox. Gambar oleh penulis.

Sekarang Anda dapat melanjutkan dan menyiapkan koneksi Neo4j di notebook.

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

Kita akan mulai dengan mengimpor penulis dan artikel ke dalam grafik. Node artikel hanya akan berisi judul.

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

Jika Anda membuka Browser Neo4j, Anda akan melihat grafik berikut.

Gambar oleh penulis.

Anda dapat mengimpor kalimat dan entitas yang disebutkan dengan menjalankan kueri Cypher berikut:

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

Anda dapat menjalankan kueri Cypher berikut untuk memeriksa grafik yang dibuat:

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

Jika Anda telah mengimpor data dengan benar, Anda akan melihat visualisasi serupa.

Ekstraksi entitas disimpan sebagai grafik. Gambar oleh penulis.

Aplikasi grafik pengetahuan

Bahkan tanpa aliran ekstraksi relasi, sudah ada beberapa kasus penggunaan untuk grafik kita.

Mesin pencari

Kita bisa menggunakan grafik kita sebagai mesin pencari. Misalnya, Anda dapat menggunakan kueri Cypher berikut untuk menemukan kalimat atau artikel yang menyebutkan entitas medis tertentu.

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

Hasil

Gambar oleh penulis.

Analisis kejadian bersama

Pilihan kedua adalah analisis co-occurrence. Anda dapat menentukan kejadian bersama antara entitas medis jika mereka muncul dalam kalimat atau artikel yang sama. Saya telah menemukan artikel [2] yang menggunakan jaringan kejadian bersama medis untuk memprediksi kemungkinan hubungan baru antara entitas medis.

Prediksi tautan dalam jaringan kejadian bersama MeSH: hasil awal โ€“ PubMed

Anda dapat menggunakan kueri Cypher berikut untuk menemukan entitas yang sering muncul bersama dalam kalimat yang sama.

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

Hasil

entitas1 entitas2 kebetulan
penyakit kulit tukak diabetes 2
luka kronis tukak diabetes 2
penyakit kulit luka kronis 2

Jelas, hasilnya akan lebih baik jika kita menganalisis ribuan artikel atau lebih.

Periksa keahlian penulis

Anda juga dapat menggunakan grafik ini untuk menemukan keahlian penulis dengan memeriksa entitas medis yang paling sering mereka tulis. Dengan informasi ini, Anda juga dapat menyarankan kolaborasi di masa mendatang.

Jalankan kueri Cypher berikut untuk memeriksa entitas medis mana yang disebutkan oleh penulis tunggal kami dalam makalah penelitian.

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

Hasil

penulis entitas menghitung
Mohammadreza Ahmadi kolagen 9
Mohammadreza Ahmadi terbakar 4
Mohammadreza Ahmadi penyakit kulit 4
Mohammadreza Ahmadi enzim kolagenase 2
Mohammadreza Ahmadi Epidermolisis bulosa 2

Ekstraksi relasi

Sekarang kita akan mencoba untuk mengekstrak hubungan antara konsep-konsep medis. Dari pengalaman saya, ekstraksi relasi setidaknya urutan besarnya lebih sulit daripada ekstraksi entitas bernama. Jika Anda tidak mengharapkan hasil yang sempurna dengan penautan entitas bernama, maka Anda pasti dapat mengharapkan beberapa kesalahan dengan teknik ekstraksi relasi.

Saya telah mencari model ekstraksi hubungan biomedis yang tersedia tetapi tidak menemukan apa pun yang berhasil atau tidak memerlukan penyesuaian. Tampaknya bidang ekstraksi relasi berada di ujung tombak, dan mudah-mudahan, kita akan melihat lebih banyak perhatian di masa mendatang. Sayangnya, saya bukan ahli NLP, jadi saya menghindari menyempurnakan model saya sendiri. Sebagai gantinya, kami akan menggunakan ekstraktor hubungan zero-shot berdasarkan kertas Menjelajahi batas zero-shot dari FewRel[3]. Meskipun saya tidak akan merekomendasikan untuk memasukkan model ini ke dalam produksi, itu cukup baik untuk demonstrasi sederhana. Modelnya tersedia di MemelukWajah, jadi kita tidak perlu berurusan dengan pelatihan atau pengaturan model.

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)

Dengan ekstraktor relasi zero-shot, Anda dapat menentukan relasi mana yang ingin Anda deteksi. Dalam contoh ini, saya telah menggunakan terkait dan interaktif hubungan. Saya juga sudah mencoba jenis hubungan yang lebih spesifik seperti suguhan, penyebab, dan lain-lain, tetapi hasilnya tidak bagus.

Dengan model ini, Anda harus menentukan di antara pasangan entitas mana yang ingin Anda deteksi hubungannya. Kami akan menggunakan hasil penautan entitas bernama sebagai input ke proses ekstraksi relasi. Pertama, kami menemukan semua kalimat di mana dua atau lebih entitas disebutkan dan kemudian menjalankannya melalui model ekstraksi relasi untuk mengekstrak koneksi apa pun. Saya juga telah menetapkan nilai ambang 0.85, yang berarti bahwa jika model memprediksi hubungan antara entitas dengan probabilitas lebih rendah dari 0.85, kami akan mengabaikan prediksi tersebut.

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

Kami menyimpan hubungan serta teks sumber yang digunakan untuk mengekstrak hubungan itu dalam grafik.

Relasi yang diekstraksi disimpan dalam grafik. Gambar oleh penulis.

Anda dapat memeriksa hubungan yang diekstrak antara entitas dan teks sumber dengan kueri Cypher berikut:

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

Hasil

Gambar oleh penulis.

Seperti yang disebutkan, model NLP yang saya gunakan untuk mengekstrak hubungan tidak sempurna, dan karena saya bukan seorang dokter medis, saya tidak tahu berapa banyak koneksi yang terlewatkan. Namun, yang terdeteksi tampaknya masuk akal.

Pengayaan basis data eksternal

Seperti yang saya sebutkan sebelumnya, kita masih dapat menggunakan database eksternal seperti CHEBI atau MESH untuk memperkaya grafik kita. Misalnya, grafik kami berisi entitas medis Epidermolisis bulosa dan kami juga tahu id MeSH-nya.

Anda dapat mengambil id MeSH dari Epidermolysis bullosa dengan kueri berikut:

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

Anda dapat melanjutkan dan memeriksa MeSH untuk menemukan informasi yang tersedia:

Data Tertaut MeSH

Tangkapan layar oleh penulis. Data adalah milik Perpustakaan Kedokteran Nasional AS.

Berikut adalah tangkapan layar dari informasi yang tersedia di situs web MeSH untuk Epidermolisis bulosa. Seperti yang disebutkan, saya bukan seorang dokter medis, jadi saya tidak tahu persis apa cara terbaik untuk memodelkan informasi ini dalam grafik. Namun, saya akan menunjukkan cara mengambil informasi ini di Neo4j menggunakan prosedur apoc.load.json untuk mengambil informasi dari titik akhir REST MeSH. Kemudian, Anda dapat meminta pakar domain untuk membantu Anda memodelkan informasi ini.

Kueri Cypher untuk mengambil informasi dari titik akhir MeSH REST adalah:

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

Grafik pengetahuan sebagai input data pembelajaran mesin

Sebagai pemikiran terakhir, saya akan segera memandu Anda melalui bagaimana Anda dapat menggunakan grafik pengetahuan biomedis sebagai masukan ke alur kerja pembelajaran mesin. Dalam beberapa tahun terakhir, ada banyak penelitian dan kemajuan di bidang penyisipan simpul. Model embedding node menerjemahkan topologi jaringan ke dalam ruang embedding.

Hak Cipta ยฉ 2017 Manan Shah, SNAP Group. Gambar tersedia di bawah lisensi MIT di https://github.com/snap-stanford/cs224w-notes.

Misalkan Anda membuat grafik pengetahuan biomedis yang berisi entitas dan konsep medis, hubungan mereka, dan pengayaan dari berbagai database medis. Anda dapat menggunakan teknik penyematan simpul untuk mempelajari representasi simpul, yang merupakan vektor dengan panjang tetap, dan memasukkannya ke dalam alur kerja pembelajaran mesin Anda. Berbagai aplikasi menggunakan pendekatan ini mulai dari penggunaan kembali obat hingga prediksi efek samping atau efek samping obat. Saya telah menemukan makalah penelitian yang menggunakan prediksi tautan untuk pengobatan potensial penyakit baru[4].

Kesimpulan

Domain biomedis adalah contoh utama di mana grafik pengetahuan dapat diterapkan. Ada banyak aplikasi mulai dari mesin pencari sederhana hingga alur kerja pembelajaran mesin yang lebih rumit. Mudah-mudahan, dengan membaca posting blog ini, Anda mendapatkan beberapa ide tentang bagaimana Anda dapat menggunakan grafik pengetahuan biomedis untuk mendukung aplikasi Anda. Anda dapat memulai Kotak Pasir Neo4j gratis dan mulai menjelajah hari ini.

Seperti biasa, kode tersedia di GitHub.

Referensi

[1] D.Kim et al., "Alat Pengenalan Entitas Bernama Neural dan Alat Normalisasi Multi-Jenis untuk Penambangan Teks Biomedis," di Akses IEEE, vol. 7, hlm. 73729โ€“73740, 2019, doi: 10.1109/ACCESS.2019.2920708.

[2] Kastrin A, Rindflesch TC, Hristovski D. Prediksi tautan dalam jaringan kejadian bersama MeSH: hasil awal. Stud Health Technol Menginformasikan. 2014;205:579โ€“83. PMID: 25160252.

[3] Cetoli, A. (2020). Menjelajahi batas zero-shot dari FewRel. Di Prosiding Konferensi Internasional ke-28 tentang Linguistik Komputasi (hal. 1447โ€“1451). Komite Internasional Linguistik Komputasi.

[4] Zhang, R., Hristovski, D., Schutte, D., Kastrin, A., Fiszman, M., & Kilicoglu, H. (2021). Penggunaan kembali obat untuk COVID-19 melalui penyelesaian grafik pengetahuan. Jurnal Informatika Biomedis, 115, 103696.

Artikel ini awalnya diterbitkan pada Menuju Ilmu Data dan diterbitkan kembali ke TOPBOTS dengan izin dari penulis.

Nikmati artikel ini? Daftar untuk pembaruan AI lainnya.

Kami akan memberi tahu Anda ketika kami merilis lebih banyak pendidikan teknis.

Pos Membangun Grafik Pengetahuan Biomedis Dengan NLP muncul pertama pada TOPBOT.

Stempel Waktu:

Lebih dari TOPBOT