البحث عن ثلاثيات الأحرف

يُعدّ البحث باستخدام الثلاثيات طريقةً للبحث عن نصٍّ عندما لا يكون التركيب النحوي أو الإملائي الدقيق للكائن المستهدف معروفًا بدقة [ 1 ] ، أو عندما تكون الاستعلامات عبارة عن تعابير نمطية [ 2 ] . يعثر هذا البحث على الكائنات التي تتطابق بشكلٍ كبير مع السلاسل الفرعية المكونة من ثلاثة أحرف (أي الثلاثيات ) من مصطلحات البحث، والتي تُعتبر عمومًا تطابقاتٍ قريبة [ 3 ] . ومن المتوقع أن تكون سلسلتان نصيتان تتشاركان في العديد من الثلاثيات متشابهتين جدًا [ 4 ] . كما تُتيح الثلاثيات إنشاء فهارس لمحركات البحث بكفاءةٍ عالية لعمليات البحث التي تكون عبارة عن تعابير نمطية أو تُطابق النص بشكلٍ غير دقيق. ويمكن للفهارس تسريع عمليات البحث بشكلٍ ملحوظ [ 5 ] [ 6 ] . ويمكن تحديد عتبة لعدد تطابقات الثلاثيات كنقطة قطع، بعد أن تصبح النتيجة غير مطابقة [ 4 ] .

يُعد استخدام الثلاثيات لتسريع عمليات البحث أسلوبًا يُستخدم في بعض أنظمة البحث عن التعليمات البرمجية ، في الحالات التي قد تكون فيها الاستعلامات التي تمثل تعبيرات منتظمة مفيدة، [ 5 ] [ 2 ] [ 7 ] في محركات البحث مثل Elasticsearch ، [ 8 ] وكذلك في قواعد البيانات مثل PostgreSQL . [ 4 ]

أمثلة

لنفترض أن لدينا السلسلة النصية "alice". تتكون هذه السلسلة من ثلاثة أحرف: "ali" و"lic" و"ice"، دون احتساب المسافات. [ 5 ] يتطلب البحث عن هذه السلسلة في قاعدة بيانات ذات فهرس يعتمد على الأحرف الثلاثة تحديد الكائنات التي تحتوي على أكبر عدد ممكن من هذه الأحرف الثلاثة.

كمثال عملي على استخدام البحث الثلاثي للبحث عن استعلام تعبير نمطي، لنفترض البحث عن السلسلة النصية ab[cd]e، حيث تشير الأقواس إلى أن الحرف الثالث في السلسلة المراد البحث عنها قد يكون cأو d. في هذه الحالة، يمكن الاستعلام من الفهرس عن الكائنات التي تحتوي على الثلاثيتين abcو bceأو الثلاثيتين abdو bde. وبالتالي، لن يتطلب إيجاد هذا الاستعلام مطابقة السلسلة النصية ، ويمكن الاستعلام من الفهرس مباشرةً، وهو ما قد يكون أسرع عمليًا. [ 2 ]

انظر أيضاً

مراجع

  1. هاردارسون، عمر (1997). "الترميز التفاعلي للنشاط الاقتصادي باستخدام البحث الثلاثي في ​​BLAISE III" (ملف PDF) . مجموعة مستخدمي Blaise الدولية .ملاحظة: تناقش هذه المقالة البحث عن الثلاثيات كوسيلة لترميز أنواع معينة من البيانات الاقتصادية بكفاءة، وتجد أن هذه التقنية مفيدة بشكل خاص عندما يكون لدى مستخدمي النظام القليل من السياق لهيكل البيانات.
  2. 1 2 3 كوكس، روس (يناير 2012). "مطابقة التعبير النمطي باستخدام فهرس ثلاثي الأحرف أو كيف عمل بحث جوجل عن التعليمات البرمجية" .
  3. آدامز، إليزابيث؛ ميلتزر، أرنولد (1 مارس 1993). "الثلاثيات كعنصر فهرسة في استرجاع النصوص الكاملة: ملاحظات ونتائج تجريبية" . وقائع مؤتمر ACM لعلوم الحاسوب لعام 1993 - CSC '93 . الصفحات 433-439 . doi : 10.1145/170791.170891 . ISBN  0897915585. S2CID 16701550 . 
  4. 1 2 3 "F.33. pg_trgm" . وثائق PostgreSQL . 12-05-2022 . تم الاطلاع عليه بتاريخ 28-05-2022 .
  5. 1 2 3 "بحث سريع باستخدام فهارس نصية ثلاثية الأحرف في PostgreSQL" . GitLab . 18-03-2016 . تم الاطلاع عليه بتاريخ 28-05-2022 .
  6. زوبل، جاستن؛ موفات، أليستير؛ ساكس-ديفيس، رون (1993). "البحث في المعاجم الكبيرة عن المصطلحات المحددة جزئيًا باستخدام الملفات المعكوسة المضغوطة" (ملف PDF) . مؤتمر قواعد البيانات الكبيرة جدًا (VLDB) .ملاحظة: لا تستخدم هذه الورقة البحثية مصطلح "بحث الثلاثيات"، ولكنها تُعدّ أول استخدامٍ للوحدات النحوية (n-grams) كمؤشرات في الأدبيات، وقد ذُكرت في مقالة روس كوكس كأول مثالٍ على بنية مؤشر عكسي قائم على الثلاثيات. كما أشارت الورقة إلى نتائج أداءٍ ناجحةٍ لاستخدام هذا النمط من البحث.
  7. "Big Grep" . resources.sei.cmu.edu . 11 أغسطس 2017. تم الاطلاع عليه بتاريخ 12 يونيو 2022 .يُطلق عليه أيضاً اسم BigGrep. يستخدم n-grams (ليس بالضرورة 3)،
  8. "محلل الكلمات N-gram | دليل Elasticsearch [ 8.2 ] | Elastic" . www.elastic.co . تاريخ الاسترجاع: 28-05-2022 .