استخراج المفاهيم والكلمات الرئيسية تلقائيًا من النص (الجزء الثاني: النهج الدلالي)

نشرت: 2022-09-20

هذه المقالة هي متابعة للجزء الأول حول الاستخراج التلقائي للكلمات الرئيسية من النص. تناولت المقالة السابقة ما يسمى بالنهج "التقليدي" لاستخراج الكلمات الرئيسية من نص: قائم على الإحصائيات أو قائم على الرسم البياني.

هنا ، سوف نستكشف طرقًا بمقاربة دلالية أكثر. أولاً ، سنقدم حفلات الزفاف والمحولات ، أي حفلات الزفاف السياقية. ثم سنشارك مثالًا مع نفس النص حول ألبوم John Coltrane ، Impressions (المصدر francemusique.fr) استنادًا إلى نموذج BERT. أخيرًا سوف نقدم بعض طرق التقييم مثل P@k و f1-score بالإضافة إلى معايير من أحدث ما توصلت إليه التكنولوجيا.

على عكس النهج التقليدي ، يمكّنك النهج الدلالي من ربط الكلمات التي تنتمي إلى مجال معجمي مماثل ، حتى لو كانت مختلفة. الفكرة من وراء هذا النهج هي الاستغناء عن حساب تكرار حدوث الكلمات في النص من أجل استخراج الكلمات الأكثر منطقية ، وبعبارة أخرى تلك التي توفر المعلومات الأكثر صلة بالنص.

كلمة التعارف

يعود تاريخ هذه الطريقة إلى عام 2013 مع تقديم نموذج يسمى word2vec. إنها بنية شبكة عصبية اصطناعية "بسيطة" - على عكس ما يسمى بهياكل "التعلم العميق" - التي تقترح تمثيل مجموعة كلمات المفردات كنواقل. بمعنى آخر ، يتم تمثيل كل كلمة بسطر من الأرقام. تمثل هذه المجموعة من المتجهات المجال الدلالي للمفردات ، مع القدرة على مقارنة هذه المتجهات مع بعضها البعض. بقياس المسافة بين هذه المتجهات ، يمكننا معرفة ما إذا كانت الكلمات متشابهة لغويًا . يسمى تمثيل الكلمات كمجموعة من الأرقام بحفلات الزفاف .

word2vec-embedding-example-en

على سبيل المثال حفلات الزفاف

بمجرد حصولك على التمثيل المتجه لمجموعة الكلمات الخاصة بك ، يمكنك مقارنة هذه الكلمات مع بعضها البعض. سيكون لكلمتين معنى قريبًا إذا كان للمتجهين زاوية صغيرة جدًا بينهما: هذه هي المسافة الدلالية - قيمة بين -1 و 1. كلما كانت القيمة أقرب إلى 1 ، كلما كان للكلمات "متشابهة" المعنى. تشير القيمة القريبة من -1 على العكس من ذلك إلى معاني "معاكسة" ، مثل "جيد" و "سيئ".

الهدف من هذا النموذج هو "تصنيع" هذه الزخارف الشهيرة من كمية لا يستهان بها من الوثائق النصية. لنفترض أن لديك بضع مئات الآلاف من النصوص ، سيتعلم النموذج التنبؤ بكلمة بناءً على الكلمات المشابهة لها.

word2vec-window-en

نافذة الكلمات

سيأخذ النموذج كمدخلات عدة مجموعات من الكلمات - بحجم 5 على سبيل المثال - ويحاول العثور على أفضل البدائل لـ <mask> . داخل مجموعة النصوص الخاصة بك ، توجد عبارات أو مجموعات كلمات متشابهة ؛ سنتمكن من العثور على الكلمات: "جاز" ، "روك" ، "كلاسيكي" أو "ريغي" على سبيل المثال. وبالتالي ، سيكون لكل هذه الكلمات نواقل متشابهة تمامًا. وبالتالي ، يمكن للنموذج أن يجمع بين المفاهيم والكلمات الموجودة في مجال معجمي مماثل.

[دراسة حالة] البحث عن مشكلات الفهرسة وإصلاحها

من الصفر إلى النمو المتسارع: اكتشف كيف استخدمت GroupM Turkey Oncrawl لحل مشكلات فهرسة Unilever.
اقرأ دراسة الحالة

من ناحية أخرى ، قد يكون هناك غموض في الكلمة التي لها نفس التهجئة ولكن ليس لها نفس المعنى في السياق: هذه كلمات متجانسة.

فمثلا:

  1. جلس بجانب ضفة نهر السين.
  2. لقد أودعت المال في بنك تشيس.

هذا هو تقييد لهذا النوع من النماذج: سيكون للكلمة نفس التمثيل المتجه بغض النظر عن السياق.

محولات

ظهر نهج أكثر حداثة بشكل رئيسي في عام 2017 مع الاهتمام من Google هو كل ما تحتاجه. حيث تكافح أساليب word2vec لتمثيل كلمتين متطابقتين ليس لهما نفس المعنى ، فإن نماذج نوع المحولات قادرة على تمييز معنى الكلمة بناءً على سياقها . لاحظ أن هناك أيضًا نماذج NLP قادرة على مراعاة تسلسل الكلمات مثل RNNs أو LSTMs ، لكننا لن نتناولها في هذه المقالة.

ستعمل المحولات على تعميم مفهوم جديد في بنية الشبكة العصبية: آلية الانتباه . يمكنك هذا من العثور ، ضمن سلسلة من الكلمات مثل جملة ، على كيفية ارتباط كل كلمة بالآخرين.

يعد نموذج BERT ، الذي أنشأته Google في عام 2018 ، نموذجًا قويًا وشائعًا. تتمثل ميزة نماذج اللغة هذه في أنها تستند إلى نموذج تم تدريبه مسبقًا ، أي أن النموذج قد تم تدريبه بالفعل على قدر كبير من النصوص باللغات الإنجليزية والفرنسية وما إلى ذلك. ومن ثم يمكن استخدامه على أساس تحليل أكثر تفصيلاً. من الممكن بعد ذلك استخدامه كما هو لمقارنة النص ، وإنشاء إجابات من الأسئلة ، وإجراء تحليل للمشاعر ، والقيام بضبط دقيق على نص أكثر تحديدًا ، وما إلى ذلك.

bert-attention-visualisation

تصور الانتباه

تم إنشاء الصورة باستخدام أداة التصور exBERT . يمكننا أن نرى أن الكلمة المختارة "مال" مرتبطة بقوة بكلمة " مودعة " و " بنك ". ومن ثم يسهل على النموذج إزالة الغموض الذي يكتنف كلمة " بنك " بفضل السياق.

في حالة KeyBERT ، فهو نموذج مشتق من BERT يسمى Sentence-BERT والذي يسمح لنا بمقارنة الجمل بسهولة معنوية.

إذا كنت ترغب في معرفة المزيد حول جميع النماذج المفتوحة المصدر والمدربة مسبقًا المتاحة ، يمكنك زيارة Huggingface hub المتخصص في تخزين مجموعات البيانات والنماذج المتعلقة بـ NLP ومشاركتها (ولكن أيضًا مؤخرًا فيما يتعلق بالصوت والصورة).

استخراج الكلمات الرئيسية مع KeyBERT

لذا ، كيف يمكننا استخدام المحولات لاستخراج الكلمات الرئيسية ذات الصلة من النص؟ هناك العديد من المشاريع بما في ذلك KeyBERT: الحد الأدنى من استخراج الكلمات الرئيسية باستخدام BERT ، وهي مكتبة Python مفتوحة المصدر تستخدم نموذج BERT.

ستستخدم KeyBERT ، افتراضيًا ، محولات الجملة المستندة إلى BERT لتمثيل جملة ، بدلاً من كلمة واحدة ، كمتجه. هذه طريقة فعالة للغاية لمقارنة الجمل أو مجموعات الكلمات. مبدأ خوارزمية KeyBERT بسيط للغاية. لنلقِ نظرة على نص مثال ، ثم:

  1. سيقوم الكود باستخراج جميع الكلمات الفريدة من النص. في هذه الخطوة ، غالبًا ما يتم حذف كلمات الإيقاف.
  2. يتم احتساب الزخارف في النص بأكمله وكل كلمة.
  3. يمكننا بعد ذلك حساب المسافة الدلالية بين المتجهات القادمة من الكلمات والمتجه الذي يمثل النص بأكمله.

بمجرد حساب جميع المسافات ، يمكننا استخراج الكلمات التي ترتبط ارتباطًا وثيقًا بالمعنى العام للنص: ستكون هذه هي الكلمات الرئيسية المحددة بواسطة الخوارزمية.

علاوة على ذلك ، يمنحك KeyBERT القدرة على تحديد طول العبارات الرئيسية: يمكننا في الواقع أن نأخذ كلمات مفردة أو أزواج أو حتى ثلاث كلمات. علاوة على ذلك ، توفر الشفرة طريقة لتنفيذ طريقة "الصلة الهامشية القصوى" (MMR) من أجل زيادة تنوع النتائج. يساعدك هذا في تجنب تكرار المصطلح ، والذي قد يكون ذا صلة بمحتوى المستند ، ولكنه غالبًا ما يكون موجودًا في النتائج ، على سبيل المثال: "حفلة موسيقى الجاز" ، "موسيقى الجاز" ، "أسلوب الجاز" ، إلخ.

في الختام ، من الممكن أيضًا استخدام نماذج NLP أخرى لـ KeyBERT مثل النماذج من spaCy أو الذوق.

كما في المقالة السابقة ، فيما يلي مثال للكلمات الرئيسية المستخرجة بواسطة KeyBERT من نفس المقالة حول ألبوم John Coltrane ، Impressions:

"انطباعات كولتران" ، "الرباعية الموسيقية" ، "كنز الجاز" ، "حفلة جون" ، "تسلسل اللؤلؤ" ، "مرجع غراتس" ، "تينور ساكسفون"

طرق التقييم

في هذه المقالة والسابقة ، قدمنا ​​عدة طرق مستخدمة لاستخراج الكلمات الرئيسية من مستند: RAKE و Yake و TextRank و KeyBERT. ومع ذلك ، من المهم أن تكون قادرًا على اختيار الشخص المناسب وفقًا لسياقك.

لذلك ، من المناسب النظر في طرق التقييم من أجل مقارنة نتائج إحدى الطرق بأخرى. من البيانات (document, keywords) حيث تم تعريف الكلمات الرئيسية والتحقق من صحتها من قبل البشر ، من الممكن مقارنة النتائج من نموذج مع هذا " الواقع ". لدينا مقاييس مثل الدقة والتذكر ودرجة f1 التي تُستخدم غالبًا في مشاكل التصنيف . لذلك يمكننا بناء مصفوفة ارتباك من خلال معرفة ما إذا كانت كلمة رئيسية معينة مستخرجة من النموذج موجودة بالفعل في قائمة الكلمات الرئيسية ذات الصلة.

نظرًا لأن النماذج يمكنها استخراج سلسلة من الكلمات الرئيسية ، فإننا غالبًا ما نقارن الكلمات الرئيسية الأولى بالحقيقة الأساسية . نظرًا لأن النتائج يمكن أن تختلف وفقًا لعدد الكلمات الرئيسية التي نرغب في مقارنتها ، فإننا نقوم بتقييم النموذج عدة مرات وفقًا لقيمة k . تسمى هذه المقاييس Precision@k مما يعني: "أحسب الدقة في أعلى k".

[كتاب إلكتروني] كيف يؤثر مخطط الربط الداخلي الخاص بك على Inrank

اتبع تجارب Chris Green لفهم كيفية تأثير مخطط الارتباط الداخلي على الأهمية النسبية لصفحاتك باستخدام Inrank.
كيف يؤثر مخطط الارتباط الداخلي الخاص بك على Inrank

دقة

هذا هو عدد الكلمات الرئيسية الصحيحة في أعلى k من بين جميع الكلمات الرئيسية المتوقعة.

Precision calculation

اعد الاتصال

هذا هو عدد الكلمات الرئيسية الصحيحة في أعلى k من إجمالي الكلمات الرئيسية للحقيقة الأساسية.

Recall calculation

درجة f1

إنه مزيج من المقياسين السابقين - أو بعبارة أخرى متوسط ​​متناغم بين الدقة والتذكر:

F1 score calculation

خريطة @ k

يعني متوسط ​​الدقة

الخطوة الأولى لحساب MAP هي حساب متوسط ​​الدقة. سنأخذ جميع الكلمات الرئيسية التي وجدها النموذج ونحسب P@k لكل كلمة رئيسية ذات صلة وجدها النموذج. كمثال ، لحساب AP@5 باستخدام 3 كلمات رئيسية ذات صلة من أصل 5 مقترحة:

 الكلمات الرئيسية: موسيقى الجاز حفلة موسيقى راديو ساكسفون
   ذات صلة: 1 0 1 1 0
   ف @ ك: 1/1 2/3 3/4

   AP: 1/3 (1 + 2/3 + 3/4) ~ = 0.80

نلاحظ هنا أن موضع الكلمات الرئيسية ذات الصلة مهم. في الواقع ، لن تحصل AP على نفس النتيجة إذا كانت الكلمات الرئيسية الثلاثة الأولى من الخمسة غير ذات صلة (على التوالي. ذات صلة).

بعد ذلك ، لكل (document, keywords) ، سنقوم بحساب متوسط ​​جميع نقاط الوصول للحصول أخيرًا على MAP.

لاحظ أن هذه المقاييس المختلفة تُستخدم أيضًا على نطاق واسع لتقييم نماذج الترتيب أو أنظمة الإحالة.

يتعلق أحد الانتقادات الصغيرة لبعض هذه المقاييس بعدد الكلمات الرئيسية ذات الصلة بالحقيقة الأساسية ، والتي يمكن أن تختلف حسب مجموعة البيانات وكل مستند.

  • على سبيل المثال ، recall@k : يمكن أن تعتمد النتيجة كثيرًا على حجم الكلمات الرئيسية ذات الصلة بالحقيقة الأساسية. إذا كان لديك ما يصل إلى 20 كلمة رئيسية ذات صلة ، من أجل recall@10 ، ستقارن الكلمات الرئيسية العشر الأولى في هذه المجموعة المكونة من 20 كلمة رئيسية. في أفضل الأحوال ، إذا كانت جميع الكلمات الرئيسية التي اقترحها النموذج ذات صلة ، فلن تتجاوز درجة الاستدعاء 0.5.
  • من ناحية أخرى ، إذا كان عدد الكلمات الرئيسية ذات الصلة بالحقيقة الأساسية منخفضًا جدًا مقارنة بتلك التي اقترحها النموذج ، فلن تتمكن من الحصول على درجات precision@k . بالنسبة إلى خمس كلمات رئيسية ذات صلة بالحقيقة الأساسية ، ستحصل precision@10 في أحسن الأحوال على 0.5 وليس أكثر.

مهما كانت المقاييس المستخدمة لتقييم النتائج ، من الضروري أن يكون لديك مجموعة بيانات (نص ، كلمات رئيسية) حيث تم تحديد الكلمات الرئيسية مسبقًا بواسطة الأشخاص - مؤلفو النصوص ، والقراء ، والمحررين ، وما إلى ذلك. هناك العديد من مجموعات البيانات ، بشكل رئيسي في اللغة الإنجليزية وفي مواضيع مختلفة: مقالات علمية ، ملخصات ، أخبار ، تكنولوجيا المعلومات ، إلخ. على سبيل المثال ، هنا مستودع مجموعات البيانات Github KeywordExtractor الذي يسرد حوالي عشرين مجموعة بيانات.

المعايير

بالإضافة إلى هذا العرض لطرق التقييم المختلفة ، أود أيضًا أن أقدم لكم "ملخصًا" لبعض الأوراق البحثية التي تقترح معايير معيارية.

الأول من قبل الباحثين الذين طبقوا Yake! الطريقة في الورقة ، "YAKE! استخراج الكلمات الرئيسية من مستندات فردية باستخدام ميزات محلية متعددة ". قاموا بتحليل طريقتهم على حوالي عشرين مجموعة بيانات مختلفة: PubMed و WikiNews و SemEval2010 و KDD لأكثرها شهرة ، باستخدام معظم المقاييس الموضحة أعلاه: P@k ، recall@k ، إلخ. Yake! ستتم مقارنتها بحوالي عشر طرق أخرى بما في ذلك Rake و Text Rank وما إلى ذلك. من خلال دمج جميع مجموعات البيانات المتاحة ودقة الحوسبة والاسترجاع ، فإن Yake! الطريقة إما أفضل أو قريبة جدًا من أحدث الأساليب. على سبيل المثال ، لـ f1@10 :

مجموعة البيانات نعم! الأفضل أو الثاني
ويكي نيوز 0.450 0.337
كي دي دي 0.156 0.115
انسبيك 0.316 0.378

نعم! غالبًا ما يكون أفضل بنسبة تصل إلى 50-100٪ ، وهو قريب من الطريقة الرائدة.

في ورقة أخرى أكثر حداثة "TNT-KID: أداة تمييز عصبية تعتمد على المحولات لتحديد الكلمات الرئيسية" نقارن أيضًا الطرق التقليدية والطرق القائمة على المحولات . طرق الاستخراج باستخدام المحولات تعمل بشكل أفضل. كن حذرًا ، لأن هذه ما يسمى بالطرق "الخاضعة للإشراف" على عكس Rake و KeyBERT و Yake التي لا تحتاج إلى تدريب على مجموعة من البيانات لتحقيق النتائج.

أخيرًا ، دعونا نلقي نظرة على معيارين آخرين:

  • يستخدم استخراج عبارة Keyphrase البسيط غير الخاضع للإشراف باستخدام Sentence Embeddings زخرفة الكلمات ويؤدي أداءً جيدًا مقارنةً بـ TextRank في مجموعات البيانات مثل Inspec و DUC.
  • منشور مدونة يقارن 7 خوارزميات (في Python): Keyword Extraction - A Benchmark of 7 Algorithms in Python. يقارن المؤلف الأداء من حيث وقت الحساب عبر أساليب KeyBERT و RAKE و Yake بالإضافة إلى عدد الكلمات ذات الصلة التي يمكن لكل طريقة استخلاصها.

استنتاج

كما رأيت في هاتين المقالتين ، هناك بالفعل العديد من الطرق المختلفة جدًا لاستخراج الكلمات الرئيسية ذات الصلة من النص. بالنظر إلى المعايير المختلفة ، ستلاحظ أنه لا يوجد معيار يتجاوز جميع المعايير الأخرى من حيث المقاييس. سوف يعتمد على النص والسياق. علاوة على ذلك ، كما أشار مؤلف مقالة المدونة حول خوارزميات الاستخراج السبعة ، يمكننا أيضًا الاعتماد على وقت معالجة الخوارزمية عند مواجهة نص طويل.

ستكون هذه المرة بالتأكيد عاملاً عندما يتعلق الأمر بوضع خوارزمية موضع التنفيذ ومعالجة مئات الآلاف من المستندات. في حالة KeyBERT ، يجب أن تفكر في بنية تحتية مع GPU لزيادة وقت المعالجة بشكل جذري. في الواقع ، تعتمد هذه الطريقة على المحولات التي لها بنية التعلم العميق التي تتطلب الكثير من الحوسبة.

إذا اضطررت إلى الاختيار ، فسيكون بالتأكيد بين KeyBERT و Yake. الأول للمحولات والجانب الدلالي ، والثاني لكفاءته وسرعة تنفيذه.

مراجع ببليوغرافية

  • الاهتمام هو كل ما تحتاجه ، 2017
  • بيرت: التدريب المسبق للمحولات ثنائية الاتجاه العميقة لفهم اللغة ، 2019
  • استرجاع الكلمات الرئيسية السياقية والعبارات الرئيسية الخاضع للإشراف الذاتي مع التسمية الذاتية. شارما ب. ولي واي (2019)
  • استكشاف برامج استخراج الكلمات الرئيسية المختلفة - مقاييس التقييم والاستراتيجيات