لقد سبق لي أن أظهرت كيف إنشاء رسم بياني للمعرفة من صفحة ويكيبيديا. ومع ذلك ، نظرًا لأن المنشور حظي بالكثير من الاهتمام ، فقد قررت استكشاف مجالات أخرى حيث يكون استخدام تقنيات البرمجة اللغوية العصبية لبناء رسم بياني معرفي أمرًا منطقيًا. في رأيي ، يعد المجال الطبي الحيوي مثالًا رئيسيًا حيث يكون تمثيل البيانات كرسم بياني منطقيًا لأنك غالبًا ما تحلل التفاعلات والعلاقات بين الجينات والأمراض والأدوية والبروتينات والمزيد.
في التصور أعلاه ، لدينا حمض الأسكوربيك ، المعروف أيضًا باسم فيتامين سي ، وبعض علاقاته بمفاهيم أخرى. على سبيل المثال ، يُظهر أنه يمكن استخدام فيتامين سي لعلاج التهاب المعدة المزمن.
الآن ، يمكن أن يكون لديك فريق من خبراء المجال يرسمون لك كل تلك الروابط بين الأدوية والأمراض والمفاهيم الطبية الحيوية الأخرى لك. لكن لسوء الحظ ، لا يستطيع الكثير منا توظيف فريق من الأطباء للقيام بهذا العمل نيابة عنا. في هذه الحالة ، يمكننا اللجوء إلى استخدام تقنيات البرمجة اللغوية العصبية لاستخراج تلك العلاقات تلقائيًا. الجزء الجيد هو أنه يمكننا استخدام خط أنابيب البرمجة اللغوية العصبية لقراءة جميع الأوراق البحثية الموجودة هناك ، والجزء السيئ هو أنه لن تكون جميع النتائج التي تم الحصول عليها مثالية. ومع ذلك ، نظرًا لعدم وجود فريق من العلماء بجانبي مستعدًا لاستخراج العلاقات يدويًا ، فسوف ألجأ إلى استخدام تقنيات البرمجة اللغوية العصبية لإنشاء رسم بياني للمعرفة الطبية الحيوية خاص بي.
سأستخدم ورقة بحثية واحدة في منشور المدونة هذا لإرشادك خلال جميع الخطوات المطلوبة لإنشاء رسم بياني للمعرفة الطبية الحيوية - هندسة الأنسجة لتجديد الجلد ونمو الشعر.
الورقة كتبها محمد رضا أحمدي. نسخة PDF من المقال متاحة بموجب ترخيص CC0 1.0. سوف ننتقل من خلال الخطوات التالية لإنشاء رسم بياني للمعرفة:
- قراءة مستند PDF باستخدام OCR
- معالجة النص
- التعرف على مفهوم الطب الحيوي وربطه
- استخراج العلاقة
- إثراء قاعدة البيانات الخارجية
بنهاية هذا المنشور ، ستقوم بإنشاء رسم بياني بالمخطط التالي.
سنستخدم Neo4j ، قاعدة بيانات الرسم البياني التي تتميز بنموذج الرسم البياني للممتلكات المسمى ، لتخزين الرسم البياني الخاص بنا. يمكن أن تحتوي كل مقالة على مؤلف واحد أو أكثر. سنقسم محتوى المقالة إلى جمل ونستخدم البرمجة اللغوية العصبية لاستخراج كل من الكيانات الطبية وعلاقاتها. قد يكون من غير البديهي بعض الشيء أن نقوم بتخزين العلاقات بين الكيانات كعقد وسيطة بدلاً من العلاقات. العامل الحاسم وراء هذا القرار هو أننا نريد أن يكون لدينا مسار تدقيق للنص المصدر الذي تم استخلاص العلاقة منه. باستخدام نموذج الرسم البياني للخاصية المسمى ، لا يمكن أن يكون لديك علاقة تشير إلى علاقة أخرى. لهذا السبب ، نقوم بإعادة تشكيل العلاقة بين المفاهيم الطبية في عقدة وسيطة. سيسمح هذا أيضًا لخبير المجال بتقييم ما إذا تم استخراج العلاقة بشكل صحيح أم لا.
على طول الطريق ، سأعرض أيضًا تطبيقات استخدام الرسم البياني المركب للبحث عن المعلومات المخزنة وتحليلها.
دعونا نتعمق في ذلك!
إذا كان هذا المحتوى التعليمي التفصيلي مفيدًا لك ، اشترك في القائمة البريدية لأبحاث الذكاء الاصطناعي ليتم تنبيهنا عندما نصدر مادة جديدة.
قراءة مستند PDF باستخدام OCR
كما ذكرنا ، فإن نسخة PDF من ورقة البحث متاحة للجمهور بموجب ترخيص CC0 1.0 ، مما يعني أنه يمكننا تنزيله بسهولة باستخدام Python. سنستخدم ملف pytesseract مكتبة لاستخراج نص من ملف PDF. بقدر ما أعرف ، تعد مكتبة pytesseract واحدة من أكثر المكتبات شعبية لـ OCR. إذا كنت تريد المتابعة جنبًا إلى جنب مع أمثلة التعليمات البرمجية ، فقد أعددت ملف دفتر جوجل كولاب، لذلك لا يتعين عليك نسخ الرمز ولصقه بنفسك.
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)معالجة النص
الآن بعد أن أصبح لدينا محتوى المقالة متاحًا ، سنمضي قدمًا ونزيل عناوين الأقسام وأوصاف الأشكال من النص. بعد ذلك ، سنقسم النص إلى جمل.
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)ربط كيان طبي حيوي مسمى
الآن يأتي الجزء المثير. بالنسبة لأولئك الجدد في البرمجة اللغوية العصبية والتعرف على الكيانات المسماة والربط ، فلنبدأ ببعض الأساسيات. تُستخدم تقنيات التعرف على الكيانات المسماة لاكتشاف الكيانات أو المفاهيم ذات الصلة في النص. على سبيل المثال ، في مجال الطب الحيوي ، نريد تحديد مختلف الجينات والأدوية والأمراض والمفاهيم الأخرى في النص.
في هذا المثال ، حدد نموذج البرمجة اللغوية العصبية (NLP) الجينات والأمراض والأدوية والأنواع والطفرات والمسارات في النص. كما ذكرنا ، تسمى هذه العملية التعرف على الكيانات المسماة. الترقية إلى التعرف على الكيان المسمى هو ما يسمى بربط الكيان المسمى. تكتشف تقنية ربط الكيان المسمى المفاهيم ذات الصلة في النص وتحاول تعيينها إلى قاعدة المعرفة الهدف. في مجال الطب الحيوي ، بعض قواعد المعرفة المستهدفة هي:
لماذا نريد ربط الكيانات الطبية بقاعدة المعرفة المستهدفة؟ السبب الرئيسي هو أنه يساعدنا في التعامل مع توضيح الكيان. على سبيل المثال ، لا نريد كيانات منفصلة في الرسم البياني تمثل حمض الأسكوربيك وفيتامين C حيث يمكن لخبراء المجال إخبارك بأنهما متماثلان. السبب الثانوي هو أنه من خلال تعيين المفاهيم إلى قاعدة المعرفة المستهدفة ، يمكننا إثراء نموذج الرسم البياني الخاص بنا عن طريق جلب المعلومات حول المفاهيم المعينة من قاعدة المعرفة الهدف. إذا استخدمنا مثال حمض الأسكوربيك مرة أخرى ، فيمكننا بسهولة جلب معلومات إضافية من قاعدة بيانات CHEBI إذا كنا نعرف بالفعل معرف تشيبي.
لقد كنت أبحث عن كيان طبي حيوي مُسمّى ومفتوح المصدر ومفتوح المصدر ومُدرّب مسبقًا يربط لبعض الوقت. تركز الكثير من نماذج البرمجة اللغوية العصبية على استخراج مجموعة فرعية محددة فقط من المفاهيم الطبية مثل الجينات أو الأمراض. من النادر العثور على نموذج يكتشف معظم المفاهيم الطبية ويربطها بقاعدة المعرفة المستهدفة. لحسن الحظ لقد عثرت عليها BERN[1] ، أداة التعرف على الكيانات الطبية الحيوية العصبية وأداة التطبيع متعددة الأنواع. إذا فهمت بشكل صحيح ، فهو نموذج BioBert مضبوط بدقة مع العديد من الكيانات المسماة التي تربط النماذج المدمجة لرسم خرائط المفاهيم إلى قواعد المعرفة الهدف الطبي الحيوي. ليس ذلك فحسب ، بل إنها توفر أيضًا نقطة نهاية REST مجانية ، لذلك لا يتعين علينا التعامل مع الصداع المتمثل في جعل التبعيات والنموذج يعملان. تم إنشاء تصور التعرف على الكيانات الطبية الحيوية الذي استخدمته أعلاه باستخدام نموذج BERN ، لذلك نعلم أنه يكتشف الجينات والأمراض والأدوية والأنواع والطفرات والمسارات في النص.
لسوء الحظ ، لا يقوم نموذج BERN بتعيين معرفات قاعدة المعارف المستهدفة لجميع المفاهيم. لذلك أعددت برنامجًا نصيًا يبحث أولاً في ما إذا تم تقديم معرّف مميز لمفهوم ما ، وإذا لم يكن كذلك ، فسيستخدم اسم الكيان باعتباره المعرّف. سنقوم أيضًا بحساب sha256 من نص الجمل لتحديد جمل معينة بشكل أسهل لاحقًا عندما سنقوم باستخراج العلاقة.
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()})لقد قمت بفحص نتائج ربط الكيان المحدد ، وكما هو متوقع ، فهو ليس مثاليًا. على سبيل المثال ، لا تحدد الخلايا الجذعية كمفهوم طبي. من ناحية أخرى ، اكتشف كيانًا واحدًا اسمه "القلب ، المخ ، الأعصاب ، والكلى". ومع ذلك ، لا يزال BERN أفضل نموذج طبي حيوي مفتوح المصدر يمكن أن أجده أثناء التحقيق.
أنشئ رسمًا بيانيًا للمعرفة
قبل النظر إلى تقنيات استخراج العلاقة ، سنقوم بإنشاء رسم بياني للمعرفة الطبية الحيوية باستخدام الكيانات فقط وفحص التطبيقات الممكنة. كما ذكرنا ، لقد أعددت ملف دفتر جوجل كولاب التي يمكنك استخدامها لمتابعة أمثلة التعليمات البرمجية في هذا المنشور. لتخزين الرسم البياني الخاص بنا ، سنستخدم Neo4j. لست مضطرًا للتعامل مع إعداد بيئة Neo4j محلية. بدلاً من ذلك ، يمكنك استخدام مثيل Neo4j Sandbox مجاني.
ابدأ ال مشروع فارغ في الصندوق الرمل وانسخ تفاصيل الاتصال إلى دفتر Colab المحمول.
يمكنك الآن المضي قدمًا وتجهيز اتصال Neo4j في الكمبيوتر المحمول.
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())سنبدأ باستيراد المؤلف والمقال إلى الرسم البياني. ستحتوي عقدة المقالة على العنوان فقط.
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})إذا فتحت متصفح Neo4j ، فسترى الرسم البياني التالي.
يمكنك استيراد الجمل والكيانات المذكورة عن طريق تنفيذ استعلام Cypher التالي:
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})يمكنك تنفيذ استعلام Cypher التالي لفحص الرسم البياني المركب:
MATCH p=(a:Article)-[:HAS_SENTENCE]->()-[:MENTIONS]->(e:Entity) RETURN p LIMIT 25
إذا قمت باستيراد البيانات بشكل صحيح ، يجب أن تشاهد تصورًا مشابهًا.
تطبيقات الرسم البياني المعرفي
حتى بدون تدفق استخراج العلاقة ، توجد بالفعل حالتان من حالات الاستخدام للرسم البياني الخاص بنا.
محرك البحث
يمكننا استخدام الرسم البياني لدينا كمحرك بحث. على سبيل المثال ، يمكنك استخدام استعلام Cypher التالي للعثور على الجمل أو المقالات التي تشير إلى كيان طبي معين.
MATCH (e:Entity)<-[:MENTIONS]-(s:Sentence) WHERE e.name = "autoimmune diseases" RETURN s.text as result
النتائج
تحليل التكرار
الخيار الثاني هو تحليل التكرار. يمكنك تحديد التواجد المشترك بين الكيانات الطبية إذا ظهرت في نفس الجملة أو المقالة. لقد عثرت على مقال [2] يستخدم شبكة التعايش الطبي للتنبؤ بالاتصالات الجديدة المحتملة بين الكيانات الطبية.
توقع الارتباط في شبكة التواجد المشترك في MeSH: النتائج الأولية - PubMed
يمكنك استخدام استعلام Cypher التالي للعثور على الكيانات التي غالبًا ما تحدث في نفس الجملة.
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
النتائج
كيان 1 كيان 2 تواجد الأمراض الجلدية القرحة السكرية 2 الجروح المزمنة القرحة السكرية 2 الأمراض الجلدية الجروح المزمنة 2 من الواضح أن النتائج ستكون أفضل إذا قمنا بتحليل آلاف المقالات أو أكثر.
افحص خبرة المؤلف
يمكنك أيضًا استخدام هذا الرسم البياني للعثور على خبرة المؤلف من خلال فحص الكيانات الطبية التي يكتبون عنها كثيرًا. باستخدام هذه المعلومات ، يمكنك أيضًا اقتراح أوجه تعاون مستقبلية.
نفذ استعلام Cypher التالي لفحص الكيانات الطبية التي ذكرها مؤلفنا الوحيد في ورقة البحث.
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
النتائج
المؤلفة كيان عد محمد رضا أحمدي الكولاجين 9 محمد رضا أحمدي الحروق 4 محمد رضا أحمدي الأمراض الجلدية 4 محمد رضا أحمدي إنزيمات الكولاجيناز 2 محمد رضا أحمدي انحلال البشرة الفقاعي 2 استخراج العلاقة
الآن سنحاول استخلاص العلاقات بين المفاهيم الطبية. من واقع خبرتي ، فإن استخراج العلاقة هو على الأقل ترتيب من حيث الحجم أصعب من استخراج الكيان المسمى. إذا كنت لا تتوقع نتائج مثالية مع ارتباط كيان مسمى ، فيمكنك بالتأكيد توقع بعض الأخطاء في تقنية استخراج العلاقة.
لقد كنت أبحث عن نماذج متاحة لاستخراج العلاقة الطبية الحيوية ولكن لم أجد شيئًا يعمل خارج الصندوق أو لا يتطلب ضبطًا دقيقًا. يبدو أن مجال استخراج العلاقة في طليعة ، ونأمل أن نرى المزيد من الاهتمام به في المستقبل. لسوء الحظ ، لست خبيرًا في البرمجة اللغوية العصبية ، لذلك تجنبت ضبط نموذجي الخاص. بدلاً من ذلك ، سنستخدم مستخرج علاقة اللقطة الصفرية استنادًا إلى الورقة استكشاف حد التسديدة الصفرية لـ FewRel[3]. على الرغم من أنني لا أوصي بوضع هذا النموذج في الإنتاج ، إلا أنه جيد بما يكفي لعرض توضيحي بسيط. النموذج متاح في تعانق الوجه، لذلك لا يتعين علينا التعامل مع التدريب أو إعداد النموذج.
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)باستخدام مستخرج علاقة اللقطة الصفرية ، يمكنك تحديد العلاقات التي ترغب في اكتشافها. في هذا المثال ، استخدمت الامتداد أسوشيتد و يتفاعل العلاقات. لقد جربت أيضًا أنواعًا أكثر تحديدًا من العلاقات مثل المعالجات والأسباب وغيرها ، لكن النتائج لم تكن رائعة.
باستخدام هذا النموذج ، يجب أن تحدد بين أزواج الكيانات التي ترغب في اكتشاف العلاقات. سوف نستخدم نتائج ارتباط الكيان المحدد كمدخل لعملية استخراج العلاقة. أولاً ، نجد كل الجمل التي تم ذكر كيانين أو أكثر فيها ثم نقوم بتشغيلها من خلال نموذج استخراج العلاقة لاستخراج أي وصلات. لقد حددت أيضًا قيمة عتبة قدرها 0.85 ، مما يعني أنه إذا توقع نموذج ارتباطًا بين كيانات ذات احتمالية أقل من 0.85 ، فسوف نتجاهل التوقع.
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']) > 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] > 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]->(r:Relation {type: row.type})-[:REL]->(target) MERGE (text)-[:MENTIONS]->(r) """, {'data': predicted_rels})نقوم بتخزين العلاقات بالإضافة إلى النص المصدر المستخدم لاستخراج تلك العلاقة في الرسم البياني.
يمكنك فحص العلاقات المستخرجة بين الكيانات والنص المصدر باستخدام استعلام Cypher التالي:
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
النتائج
كما ذكرنا ، فإن نموذج البرمجة اللغوية العصبية الذي استخدمته لاستخراج العلاقات ليس مثاليًا ، وبما أنني لست طبيبة ، لا أعرف عدد الاتصالات التي فاتته. ومع ذلك ، فإن تلك التي اكتشفتها تبدو معقولة.
إثراء قاعدة البيانات الخارجية
كما ذكرت من قبل ، لا يزال بإمكاننا استخدام قواعد البيانات الخارجية مثل CHEBI أو MESH لإثراء الرسم البياني لدينا. على سبيل المثال ، يحتوي الرسم البياني الخاص بنا على كيان طبي انحلال البشرة الفقاعي ونعرف أيضًا معرف MeSH الخاص به.
يمكنك استرداد معرف MeSH الخاص بانحلال البشرة الفقاعي باستخدام الاستعلام التالي:
MATCH (e:Entity) WHERE e.name = "Epidermolysis bullosa" RETURN e.name as entity, e.other_ids as other_ids
يمكنك المضي قدمًا وتفقد MeSH للعثور على المعلومات المتاحة:
فيما يلي لقطة شاشة للمعلومات المتوفرة على موقع MeSH الخاص بانحلال البشرة الفقاعي. كما ذكرنا سابقًا ، أنا لست طبيبة ، لذلك لا أعرف بالضبط ما هي أفضل طريقة لنمذجة هذه المعلومات في رسم بياني. ومع ذلك ، سأوضح لك كيفية استرداد هذه المعلومات في Neo4j باستخدام إجراء apoc.load.json لجلب المعلومات من نقطة نهاية MeSH REST. وبعد ذلك ، يمكنك أن تطلب من خبير المجال مساعدتك في نمذجة هذه المعلومات.
استعلام Cypher لجلب المعلومات من نقطة نهاية MeSH REST هو:
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
الرسم البياني للمعرفة كمدخل لبيانات التعلم الآلي
كفكرة أخيرة ، سوف أطلعك بسرعة على كيفية استخدام الرسم البياني للمعرفة الطبية الحيوية كمدخل لسير عمل التعلم الآلي. في السنوات الأخيرة ، كان هناك الكثير من الأبحاث والتقدم في مجال تضمين العقدة. نماذج تضمين العقدة تترجم طوبولوجيا الشبكة إلى مساحة التضمين.
لنفترض أنك أنشأت رسمًا بيانيًا للمعرفة الطبية الحيوية يحتوي على الكيانات والمفاهيم الطبية وعلاقاتها وإثرائها من قواعد البيانات الطبية المختلفة. يمكنك استخدام تقنيات تضمين العقد لمعرفة تمثيلات العقدة ، وهي متجهات ذات طول ثابت ، وإدخالها في سير عمل التعلم الآلي الخاص بك. تستخدم العديد من التطبيقات هذا النهج بدءًا من إعادة استخدام الدواء إلى جانب الدواء أو تنبؤات الآثار السلبية. لقد وجدت ورقة بحث تستخدم ربط التنبؤ بالعلاجات المحتملة للأمراض الجديدة[4].
وفي الختام
يعد المجال الطبي الحيوي مثالًا رئيسيًا حيث تكون الرسوم البيانية المعرفية قابلة للتطبيق. هناك العديد من التطبيقات التي تتراوح من محركات البحث البسيطة إلى مهام سير عمل التعلم الآلي الأكثر تعقيدًا. نأمل ، من خلال قراءة منشور المدونة هذا ، أن تكون قد توصلت إلى بعض الأفكار حول كيفية استخدام الرسوم البيانية للمعرفة الطبية الحيوية لدعم تطبيقاتك. يمكنك أن تبدأ ملف Neo4j Sandbox المجاني وابدأ في الاستكشاف اليوم.
كما هو الحال دائمًا ، يتوفر الرمز على GitHub جيثب:.
مراجع حسابات
[1] د. كيم وآخرون. ، "أداة التعرف على الكيانات المسماة العصبية والمعايرة متعددة الأنواع لتعدين النص الطبي الحيوي ،" في وصول IEEE، المجلد. 7 ، ص 73729-73740 ، 2019 ، دوى: 10.1109 / ACCESS.2019.2920708.
[2] Kastrin A، Rindflesch TC، Hristovski D. توقع الارتباط في شبكة التواجد المشترك في MeSH: النتائج الأولية. ستود هيلث تكنول إعلام. 2014 ؛ 205: 579-83. PMID: 25160252.
[3] سيتولي أ. (2020). استكشاف حد التسديدة الصفرية لـ FewRel. في وقائع المؤتمر الدولي الثامن والعشرين حول اللغويات الحاسوبية (ص 1447-1451). اللجنة الدولية في اللغويات الحاسوبية.
[4] زانج ، آر ، هريستوفسكي ، دي ، شوت ، دي ، كاسترين ، إيه ، فيزمان ، إم ، وكيليك أوغلو ، هـ. (2021). إعادة استخدام الأدوية لـ COVID-19 عبر إكمال الرسم البياني المعرفي. مجلة المعلوماتية الطبية الحيوية ، 115 ، 103696.
تم نشر هذه المقالة في الأصل نحو علم البيانات وإعادة النشر إلى TOPBOTS بإذن من المؤلف.
استمتع بهذا المقال؟ قم بالتسجيل للحصول على المزيد من تحديثات الذكاء الاصطناعي.
سنخبرك عندما نصدر المزيد من التعليم التقني.
وظيفة إنشاء رسم بياني للمعرفة الطبية الحيوية باستخدام البرمجة اللغوية العصبية ظهرت للمرة الأولى على توب بوتس.
- '
- "
- &
- 10
- 11
- 2019
- 2020
- 2021
- 7
- 9
- a
- من نحن
- يمكن الوصول
- إضافي
- إدارة
- المعاكسة
- قدما
- AI
- منظمة العفو الدولية البحوث
- الكل
- سابقا
- دائما
- amp
- تحليل
- تحليلات
- تحليل
- آخر
- ذو صلة
- التطبيقات
- تطبيقي
- تطبيق
- نهج
- البند
- مقالات
- أسوشيتد
- اهتمام
- التدقيق
- الكتاب
- تلقائيا
- متاح
- الأساسيات
- قبل
- أقل من
- أفضل
- ما بين
- أكبر
- قطعة
- المدونة
- صاعقة
- صندوق
- المتصفح
- الأعمال
- دعوة
- مرشح
- المرشحين
- حقيبة
- الحالات
- الأسباب
- تحدى
- الكود
- مجموعة
- تركيبات
- إحصاء
- مفهوم
- مؤتمر
- صلة
- التواصل
- يحتوي
- محتوى
- استمر
- استطاع
- زوجان
- كوفيد-19
- خلق
- خلق
- حرج
- زبون
- دعم العملاء
- البيانات
- قاعدة البيانات
- قواعد البيانات
- صفقة
- قررت
- القرار
- شرح
- تظاهر
- وصف
- تفاصيل
- الكشف عن
- الأمراض
- با الطبيب
- الأطباء
- لا
- نطاق
- المجالات
- بإمكانك تحميله
- سائق
- عقار
- المخدرات
- أثناء
- كل
- بسهولة
- حافة
- التعليم
- تربوي
- تأثير
- نقطة النهاية
- محرك
- الهندسة
- إثراء
- الكيانات
- كيان
- البيئة
- تقييم
- الحدث/الفعالية
- بالضبط
- مثال
- أمثلة
- إلا
- المثيره
- توقع
- متوقع
- الخبره في مجال الغطس
- خبير
- خبرة
- خبرائنا
- اكتشف
- المميزات
- الشكل
- تمويل
- الاسم الأول
- تدفق
- تركز
- اتباع
- متابعيك
- وجدت
- مجانًا
- تبدأ من
- مستقبل
- الحصول على
- خير
- شراء مراجعات جوجل
- عظيم
- تجمع
- الشعر
- رئيس
- صحة الإنسان
- مساعدة
- يساعد
- تأجير
- كيفية
- كيفية
- لكن
- hr
- HTTPS
- الأفكار
- تحديد
- صورة
- استيراد
- معلومات
- إدخال
- مثل
- المتكاملة
- عالميا
- تحقيق
- IT
- مجلة
- علم
- المعرفة
- معروف
- كوريا
- تعلم
- تعلم
- شروط وأحكام
- المكتبة
- حقوق الملكية الفكرية
- مما سيحدث
- LINK
- ربط
- وصلات
- تحميل
- محلي
- أبحث
- آلة
- آلة التعلم
- يصنع
- يدويا
- رسم خريطة
- رسم الخرائط
- التسويق
- مباراة
- مادة
- معنى
- يعني
- طبي
- دواء
- متوسط
- المذكورة
- يذكر
- ربما
- تعدين
- الأخطاء
- معهد ماساتشوستس للتكنولوجيا
- نموذج
- عارضات ازياء
- الأكثر من ذلك
- أكثر
- محليات
- شبكة
- المعاهد الوطنية للصحة
- العقد
- مفكرة
- تم الحصول عليها
- جاكيت
- عمليات
- مراجعة
- خيار
- طلب
- أخرى
- الخاصة
- ورق
- جزء
- كلمة المرور
- من فضلك
- أكثر الاستفسارات
- ممكن
- محتمل
- تنبأ
- تنبؤ
- تنبؤات
- إعداد
- يقدم
- ابتدائي
- عملية المعالجة
- منتج
- الإنتــاج
- تنفيذ المشاريع
- الملكية
- تزود
- جمهور
- بسرعة
- تتراوح
- نادي القراءة
- معقول
- الأخيرة
- نوصي
- العلاقات
- صلة
- العلاقات
- الافراج عن
- ذات الصلة
- تمثل
- طلبات
- تطلب
- مطلوب
- بحث
- منتجع
- REST
- النتائج
- عائد أعلى
- يجري
- الأملاح
- نفسه
- رمل
- العلماء
- بحث
- محرك البحث
- محركات البحث
- ثانوي
- إحساس
- طقم
- ضبط
- إشارة
- مماثل
- الاشارات
- منذ
- عزباء
- سادس
- بيج
- فرقعة
- So
- بعض
- الفضاء
- محدد
- انقسم
- بداية
- جذع
- لا يزال
- متجر
- الدعم
- الهدف
- فريق
- تقني
- تقنيات
- •
- المصدر
- شيء
- الآلاف
- عتبة
- عبر
- الوقت
- عنوان الاعلان
- اليوم
- أداة
- قادة الإيمان
- علاج
- أنواع
- لنا
- مع
- فهم
- آخر التحديثات
- us
- تستخدم
- استخدم حالات
- قيمنا
- مختلف
- الإصدار
- التصور
- الموقع الإلكتروني
- ابحث عن
- في حين
- ويكيبيديا
- بدون
- للعمل
- سير العمل
- أعمال
- سوف
- X
- سنوات
- التوزيعات للسهم الواحد
- حل متجر العقارات الشامل الخاص بك في جورجيا