جوهر رابط كيان سريع
تؤدي هذه المكتبة تجزئة الاستعلام والكيان الذي يربطه بقاعدة المعرفة المرجعية المستهدفة (أي ويكيبيديا). في نسخته الحالية ، تم تصميمه +نحو كيان الاستعلام (بدلاً من ذلك ، شظايا قصيرة من النص). كان الهدف الرئيسي هو الحصول على رابط سريع للغاية (<1 أو 2 مللي ثانية/استعلام في المتوسط على جهاز كمبيوتر محمول قياسي) غير خاضع للرقابة تمامًا ، بحيث يمكن أن تعمل الأساليب الأكثر تطوراً مع ميزانية الوقت لائقة متاحة. أحد الآثار الجانبية لذلك هو أن dataPack المستخدم من قبل الرابط يشغل <3GB مما يجعلها مناسبة للتشغيل على الشبكة (وجعل البصمة على آلات الخادم منخفضة للغاية).
يرجى تثبيت Maven قبل تشغيل هذا المشروع. يأتي المشروع مع pom.xml الذي يجب تثبيته على جميع التبعيات عند تشغيل mvn install .
تقوم المكتبة بإجراء ربط الاستعلام والوثيقة. إنه ينفذ خوارزميات مختلفة تُرجع درجة الثقة (احتمال السجل) والتي يجب أن تكون (أكثر أو أقل) قابلة للمقارنة عبر أجزاء من النص بطول مختلف حتى يتمكن المرء من استخدام عتبة عالمية للربط. يعمل البرنامج مع بنيتي داة البيانات ، وتجزئة واحدة كبيرة وناقلات الكلمة والكيان المضغوطة. يتم إنشاء التجزئة من datapack التي تسجل عدد العبارات والكيانات التي تشارك في العمل معًا. قد تأتي هذه التهم من مصادر مختلفة ، على سبيل المثال نص المرساة وسجلات الاستعلام. في نص المرساة ، كلما كان هناك رابط لصفحة الكيان المقابلة ، سنقوم بتخزين المرساة وعدد الكيان. في سجل الاستعلام كلما كان هناك نقرة إلى صفحة كيان ، سنقوم بتحديث تعداد الاستعلام والكيان. ملفات الكلمة والكيان هي تمثيلات متجه مضغوطة تفسر السياقات التي تظهر فيها الكلمة/الكيان. توفر المكتبة طريقة لتعلم ناقلات الكيان. يمكن إنشاء ناقلات Word باستخدام أدوات عامة مثل Word2Vec ، أو يمكنك إعادة استخدام ناقلات Word المدربة مسبقًا مثل تلك المتوفرة في مشروع FastText على Facebook.
تأتي المكتبة أيضًا مع مجموعتين مختلفتين من الأدوات لإنشاء تجزئة وملفات ناقلات Word.
إذا كنت تستخدم هذه المكتبة ، يرجى الاستشهاد بالورق التالي:
@inproceedings{Blanco:WSDM2015,
Address = {New York, NY, USA},
Author = {Blanco, Roi and Ottaviano, Giuseppe and Meij, Edgar},
Booktitle = {Proceedings of the Eight ACM International Conference on Web Search and Data Mining},
Location = {Shanghai, China},
Numpages = {10},
Publisher = {ACM},
Series = {WSDM 15},
Title = {Fast and Space-Efficient Entity Linking in Queries},
Year = {2015}
}
@inproceedings{Pappu:WSDM2017,
Address = {New York, NY, USA},
Author = {Pappu, Aasish, and Blanco, Roi, and Mehdad, Yashar and Stent, Amanda, and Thadani, Kapil},
Booktitle = {Proceedings of the Tenth ACM International Conference on Web Search and Data Mining},
Location = {Cambridge, UK},
Numpages = {10},
Publisher = {ACM},
Series = {WSDM 17},
Title = {Lightweight Multilingual Entity Extraction and Linking},
Year = {2017}
}
هناك عدد من المرتبة/الروابط المختلفة التي تستخدم نماذج مفاهيمية مختلفة. الوصف العام للخوارزمية مع بعض تفاصيل التنفيذ هو في:
كيان فعال سريع ومساحة يرتبط بالاستعلامات
الفصل الرئيسي الذي يجب استخدامه هو com.yahoo.semsearch.fastlinking.FastEntityLinker
يمكن استدعاء الفصل مع --help لسرد الخيارات المتاحة. أنها توفر الارتباط التفاعلي من خلال stdin (تحرير الرمز أو تمديد الفصل إذا كنت بحاجة إلى تنسيق إخراج مخصص).
قم أولاً بتنزيل مجموعة البيانات من WebScope بعد الروابط الواردة أدناه.
مثال استدعاء الاستخدام:
mvn exec:java -Dexec.mainClass=com.yahoo.semsearch.fastlinking.FastEntityLinker
-Dexec.args= " en/english-nov15.hash " تأخذ فئة CoherentEntityLinker المخصصة للكيانات وأفضل قائمة من روابط الكيانات لكل كيان ذكر كمدخلات. إنه يبني شعرية من أفضل قوائم N ويدير خوارزمية مستقبلية.
المزيد من خوارزميات التماسك قيد التجربة. سيتم إضافتها في الإصدارات المستقبلية من الكود.
mvn clean compile exec:java
-Dexec.mainClass=com.yahoo.semsearch.fastlinking.CoherentEntityLinkerWrapper
-Dexec.args= " en/enwiki.wiki2vec.d300.compressed en/english-nov15.hash test.txt "
-Dexec.classpathScope=compileيمكنك تضمين ملف رسم الخرائط في وسيطات رابط الكيان (أدناه) التي تقوم بتخطيط فئات الكيانات المتكاملة لفئات الكيانات القابلة للقراءة البشرية.
سيقوم الأمر التالي بتشغيل الرابط على شبكة Hadoop:
hadoop jar FEL-0.1.0-fat.jar
com.yahoo.semsearch.fastlinking.utils.RunFELOntheGrid
-Dmapred.map.tasks=100
-Dmapreduce.map.java.opts=-Xmx3g
-Dmapreduce.map.memory.mb=3072
-Dmapred.job.queue.name=adhoc
-files en/english-nov15.hash#hash, src/main/bash/id-type.tsv#mapping
< inputfile >
< outputfile >يقرأ الفصل الملفات التي لديها استعلام واحد لكل سطر - ينقسم ويأخذ العنصر الأول. تنسيق الإخراج هو:
entity_type <TAB> query <TAB> modifier <TAB> entity_id
أين
entity_type في datapackquery هو الاستعلام الأصليmodifier هو سلسلة الاستعلام عندما يتم remove الاسم المستعار الكيانentity_id هو الكيان المسترجعبشكل عام ، يجب أن تعتمد على عتبة وربما التمسك بكيان أفضل 1 تم استرداده ولكن هذا يعتمد على كيفية استخدامه.
توفر هذه الحزمة أيضًا رمزًا لـ
يمكن العثور على المزيد على هذا في حزمة W2V.
تستفيد الأداة من datapack التي تخزن التهم والأسماء المستعارة (يذكر) من الكيانات من مصادر مختلفة. في الأصل ، استخدمنا سجل المرساة وسجلات الاستعلام. يصف ما يلي كيفية استخراج نص المرساة وحسابها من تفريغ ويكيبيديا العام باستخدام مجموعة Hadoop (أو إذا لم يكن هناك واحد ، يمكنك استخدام Hadoop في جهاز واحد). يعتمد هذا على الكود من مجموعة أدوات Cloud9.
يمكن العثور على المزيد حول هذا في حزمة IO.
#### إنشاء كيان شبه متفرج ميزات تجزئة
سيحتوي DataPack على ملفين: واحد مع تعداد الدقة وواحد مع الكيان لرسم خرائط المعرف. ثم ، يمكنك تجزئة ذلك:
com.yahoo.semsearch.fastlinking.hash.QuasiSuccinctEntityHash
-i < datapack_file > -e < entity2id_file > -o < output_file > يتم توفير النماذج التالية التي تم تدريبها مسبقًا لأداء الكيان الذي يربط بمجموعة الأدوات وتتوفر من خلال Yahoo! برنامج WebScope لأغراض البحث. يتم تدريب هذه النماذج على Wikipedia وتوزيعها باستخدام Creative Commons by SA 4.0 (انظر Models_license).
تجزئة اللغة الإنجليزية المدربة من نوفمبر 2015 ويكيبيديا
التضمينات الكيان الإنجليزي
تجزئة الإسبانية من أكتوبر 2015 ويكيبيديا
التضمينات الكيان الإسباني
تجزئة صينية تم تدريبها من ديسمبر 2015 ويكيبيديا
التضمينات الكيان الصيني
ROI Blanco ، Aasish Pappu