يعد حل الملصقات المفاهيم على معرفات موحدة من قواعد البيانات الحالية مطلبًا أساسيًا في عملية التعليق على البيانات الطبية الحيوية. في حين أن العديد من خدمات التعليقات التوضيحية ، بما في ذلك Bioportal وخدمة دقة اسم المترجم ، تتوفر ، فإن معظمها يعتمد على آليات المطابقة المباشرة (على التوالي MGREP و SOLR). لسوء الحظ ، غالباً ما تنقص هذه الآليات عند التعامل مع ملصقات المفاهيم التي تظهر اختلافات كبيرة من معرفات موحدة أو عند التعامل مع المرادفات.
نقترح استكشاف استخدام البحث في التشابه المتجه لتحسين دقة حل المفاهيم. سنقوم بالاستفادة من مجموعة البيانات الشاملة التي تم جمعها من قبل مشروع المترجم بابل ، والذي يتضمن مستودعًا واسعًا من المعرفات ، والملصقات ، والمرادفات من المجال الطبي الحيوي (PubChem ، و Chembl ، و Uniprot ، و Mondo ، و Omim ، و HGNC ، و Drugbank ، وأكثر).
خلال Hackathon التعليق التوضيحي الطبية الحيوية ، تكون أهدافنا الرئيسية كما يلي:
سيتم عرض خدمة دقة الأسماء باعتبارها واجهة برمجة تطبيقات موصوفة OpenAPI التي تأخذ علامة مفهوم كمدخلات ، وإرجاع قائمة من الكيانات المطابقة ، ممثلة بقاموس مع النتيجة والتعريف الخاص بهم ، التسمية ، المرادفات.
| اسم | الخلق | نجوم جيثب | مكتوب في | SDK ل | لغة الاستعلام/API* | تنفيذ وظائف المتجهات | تعليق |
|---|---|---|---|---|---|---|---|
| Qdrant | يوليو 2020 | ~ 14k | الصدأ | Python ، JS ، Rust ، Go ، .NET | Openapi ، GRPC | جيب التمام ، إقليدس ، نقطة | يمكن استخدامها كأداة مستقلة محلية ، في الذاكرة أو الثابتة على القرص ، دون نشر خدمة ويب |
| ميلفوس | أكتوبر 2019 | ~ 24k | يذهب | Python ، JS ، Java ، اذهب | Openapi ❓ | جيب التمام ، الإقليدس ، المنتج الداخلي | الملقب. Zilliz Cloud |
| Chroma | أكتوبر 2022 | ~ 9k | بيثون | بيثون ، ج | Openapi ❓ | ||
| Weaviate | مارس 2016 | ~ 8k | يذهب | Python ، JS ، Java ، اذهب | GraphQL API | جيب التمام ، إقليدس | |
| PGVector | أبريل 2021 | ~ 6.5k | ج | من خلال Postgres SDK ❓ | SQL | جيب التمام ، الإقليدس ، المنتج الداخلي ، سيارات الأجرة | مدمجة في postgresql |
*لغة الاستعلام/API تحدد نوع لغة الاستعلام أو API يمكن استخدامها للاستعلام عن المعلومات داخل قاعدة بيانات المتجه
كل هذه المنتجات مفتوحة المصدر ، وكلها تقترح واجهة مستخدم ويب بسيطة لاستكشاف قاعدة بيانات المتجه.
معظمهم لديهم واجهة برمجة تطبيقات حديثة وبسيطة (بصرف النظر عن PGVector التي تعيش داخل PostgreSQL)
المرجع المعيار لنماذج التضمينات النصية: https://huggingface.co/blog/mteb
المتصدرين: https://huggingface.co/spaces/mteb/leaderboard
نماذج التضمين الشعبية:
bge-large-en-v1.5text-embedding-ada-002sentence-transformers/all-MiniLM-L6-v2jina-embeddings-v2-base-enembed-english-v3.0 ليتم تعريفها.
المعايير الحالية لقواعد بيانات المتجهات:
النتائج الأولية في 19/01/2024 (مرادفات بابل لم يتم تحميلها بالكامل بعد ، مفقودة الملفات بعد الدواء: الجينات ، البروتين ، الكائنات الحية ، المسار ، UMLS): يبدو أن معظم القضايا يتم حلها بصرف النظر عن "الجرذان" و "ACP-044 جرعة" (لا توقت ولكن لا توجد نتائج مثيرة للاهتمام)
بدء الخدمات:
docker compose up -d ادخل إلى حاوية workspace لتشغيل نصوص التحميل.
قم بتنزيل مرادفات بابل وتحميلها في Vectordb:
make load(تجريبي) تحميل الحموض في PGVector:
python src/pubdict_load.pylimit بشكل صحيح من VectordB (إذا كانت النتائج الأولى من Vectordb هي من نفس النقطة ، فسنقوم بإرجاع نتائج واحدة فقط ، والتي لن تتطابق مع حد 2 من المستخدم)سيكون الحل المحتمل هو استخدام Postgres و PGVector ، مع جدولين (أحدهما للتضمينات ، أحدهما لمفهوم INFOS) ، لكن ذلك سيجعل النظام أكثر تعقيدًا من متجر JSON.
هل هناك أي vectordb المستضيف ذاتيا يمكن أن يدعم عدة متجهات لم يكشف عن اسمها لنقطة واحدة؟ (QDrant حاليًا يدعم فقط العديد من المتجهات المسماة التي لا تناسب حالة الاستخدام الخاصة بنا)
مقدمة عرض تقديمي: https://docs.google.com/presentation/d/1_ntmf-lthvybvffusdxdbeb0wm_yr_bvnnt-ivlktc/edit
PubDictionaries التجربة:
الخلاصة العرض التقديمي: https://docs.google.com/presentation/d/1sjeuo4oegnmamtrvcawb0tzjzr9sgnyh-efwtjf99lg/edit
preprint biohackrxiv ورقة: http://preview.biohackrxiv.org/papers/bdda0f94-f526-4f35-8768-8faf62d731fa/paper.pdf
API التجريبي: https://concept-resolver.137.120.31.102.nip.io