تاريخ النشر: 10 ديسمبر 2023
المساهمون: جاكوب موريل، الحاصل على درجة الدكتوراه، وإيدا كافلاك أوغلو
التجذير والتقطيع اللغوي هما تقنيتان للمعالجة المسبقة للنص، حيث تقللان من متغيرات الكلمات إلى شكل أساسي واحد.
التجذير والتقطيع اللغوي هما تقنيتان للمعالجة المسبقة للنص في معالجة اللغة الطبيعية (NLP)، وعلى وجه التحديد، فإنهما تقلصان الأشكال المصرفة للكلمات عبر مجموعة بيانات نصية إلى كلمة جذرية واحدة مشتركة أو إلى شكل الكلمة في القاموس، ويعرف هذا أيضًا باسم "كلمة الأساس" في اللغويات الحاسوبية.1
يعد التجذير والتقطيع اللغوي مفيدين بشكل خاص في أنظمة استرجاع المعلومات مثل محركات البحث حيث يتسنى للمستخدمين إرسال استعلام بكلمة واحدة (مثل كلمة تأمَّل) ولكنهم يتوقعون نتائج بأي شكل تصريفي للكلمة (مثل يتأمل، التأمل، إلخ). كما يهدف التجذير والتقطيع اللغوي إلى تحسين معالجة النصوص في خوارزميات التعلم الآلي.
تعرف على المزايا الرئيسية للذكاء الاصطناعي التوليدي وكيف يمكن للمؤسسات دمج الذكاء الاصطناعي التوليدي والتعلم الآلي في أعمالها.
يناقش الباحثون ما إذا كان من الممكن للذكاء الاصطناعي أن يعقل، وقد امتد هذا النقاش إلى اللغويات الحاسوبية. هل تستطيع روبوتات المحادثة ونماذج التعلم العميق معالجة الأشكال اللغوية فقط، أم يمكنها أيضًا فهم الدلالات؟ 2 ومهما كان رأي المرء في هذه المسألة، فلا تتغير حقيقة أن نماذج التعلم الآلي يجب أن تُدرَّب على التعرف على الكلمات المختلفة كمتغيرات مورفولوجية لكلمة أساسية واحدة، وأن تقوم حتى بمعالجة الكلمات وفقًا للمورفولوجيا، وليس وفقًا للدلالات. ومن خلال تقليص أشكال الكلمات المشتقة إلى كلمة جذعية واحدة، يساعد التجذير والتقطيع اللغوي نظم استرجاع المعلومات ونماذج التعلم العميق في مساواة الكلمات المتشابهة من الناحية المورفولوجية.
يساعد التجذير والتقطيع اللغوي على تحسين الدقة بالنسبة إلى العديد من مهام التنقيب عن النصوص بما في ذلك تصنيف النصوص وتجميعها وفهرستها وغير ذلك من المهام، وذلك من خلال تقليص أبعاد خوارزميات التعلم الآلي وتجميع الكلمات ذات الصلة المورفولوجية، ويؤدي تقليل أبعاد الخوارزمية بدوره إلى تحسين دقة النماذج الإحصائية في معالجة اللغة الطبيعية وتحسين إحكامها، ومن أمثلتها نماذج المواضيع ونماذج الكلمات المتجهة.3
يعمل التجذير والتقطيع اللغوي كمرحلة واحدة في مسارات التنقيب في النصوص التي تحول البيانات النصية الخام إلى تنسيق منظم للمعالجة الآلية. يزيل كل من التجذير والتقطيع اللغوي اللواحق من الأشكال المصرفة للكلمات، تاركان فقط الشكل الجذري.4 وتعمل هذه العمليات على إزالة الأحرف من بداية الرموز المميزة للكلمات ونهايتها. ثم تُمرَّر الجذور الناتجة، أو الكلمات الأساسية، لتخضع لمزيد من المعالجة. وبعيدًا عن هذا التشابه الأساسي، فتوجد اختلافات رئيسية بين التجذير والتقطيع اللغوي في كيفية اختزالهما للأشكال المختلفة للكلمة إلى شكل أساسي واحد مشترك.
تختلف خوارزميات التجذير على نطاق واسع على الرغم من أنها تشترك في بعض أنماط التشغيل العامة، حيث تقوم خوارزميات التجذير بإزالة لواحق الكلمات عن طريق تشغيل الرموز المميزة للكلمات المدخلة مقابل قائمة محددة مسبقًا من اللواحق الشائعة، وتزيل خوارزميات التجذير بعد ذلك أي سلاسل أحرف لاحقة يُعثر عليها في الكلمة، إذا لم تتحدَ الكلمة أي قواعد أو شروط مرتبطة بتلك اللاحقة، فتقوم بعض خوارزميات التجذير (مثل Lovins stemmer) بتمرير الأجزاء التي ردت إلى أصلها عبر مجموعة إضافية من القواعد لتصحيح الجذور المشوهة.
الخوارزمية الأكثر استخدامًا هي خوارزمية Porter stemming، ونسختها المحدثة هي Snowball stemmer. ولفهم التجذير بشكل أفضل، يمكننا تمرير المقطع التالي من مسرحية هاملت لشكسبير عبر أداة Snowball للتجذير: "There is nothing either good or bad but thinking makes it so" (لا شيء طيب أو سيئ، لكن التفكير هو الذي يجعله كذلك).
تحتوي مجموعة أدوات اللغة الطبيعية Python (NLTK) على وظائف مضمنة لأداتَي التجذير Snowball وPorter، وبعد تجذير الاقتباس من هاملت باستخدام NLTK، يمكننا تمرير النص المرمز من خلال أداة التجذير Snowball باستخدام هذا الرمز:
from nltk.stem.snowball import SnowballStemmer from nltk.tokenize import word_tokenize stemmer = SnowballStemmer("english", True) text = "There is nothing either good or bad but thinking makes it so." words = word_tokenize(text) stemmed_words = [stemmer.stem(word) for word in words] print("Original:", text) print("Tokenized:", words) print("Stemmed:", stemmed_words)
مخرجات الرمز:
الاقتباس الأصلي: There is nothing either good or bad but thinking makes it so الاقتباس المُرمَّز: ['There', 'is', 'nothing', 'either', 'good', 'or', 'bad', 'but', 'thinking', 'makes', 'it', 'so', '.'] الاقتباس المجذر: ['there', 'is', 'noth', 'either', 'good', 'or', 'bad', 'but', 'think', 'make', 'it', 'so', '.']
تحتوي خوارزميات التجذير Snowball وPorter على طريقة رياضية أكثر للتخلص من اللواحق على نحو أكبر من أدوات التجذير الأخرى، ويكفي القول بأن أداة التجذير تقوم بتشغيل كل رمز مميز للكلمة مقابل قائمة من القواعد التي تحدد سلاسل اللواحق لإزالتها وفقًا لعدد مجموعات حروف العلة والحروف الساكنة في الرمز المميز.5 وبالطبع، نظرًا لأن اللغة الإنجليزية تتبع قواعد معجمية عامة وليست مطلقة، فإن المعيار المنهجي لخوارزمية التجذير يرجع ببعض الأخطاء، مثل noth.
تزيل أداة التجذير -ing، حيث إنها نهاية شائعة تدل على زمن الحاضر المتقدم. ومع ذلك، تتسبب إزالة -ing من اقتباس هاملت إلى إنتاج الجذر الخاطئ noth، ويمكن لذلك أن يمنع التحليل اللغوي اللاحق من ربط كلمة nothing بالأسماء المشابهة لها، مثل anything وsomething، وبالإضافة إلى ذلك، تترك أداة التجذير الفعل is المنتظم من دون أي تغيير، وبالمثل، تترك أداة التجذير Snowball تصريفات أخرى للفعل to be مثل was وare من دون تجذير، ويمكن لهذا أن يمنع النماذج من ربط تصريفات الأفعال غير المنتظمة لفعل ما بشكل صحيح.
تعرِّف الأدبيات عمومًا التجذير بأنه عملية تجريد الكلمات من اللواحق للحصول على سلاسل الكلمات الجذرية، وتعرِّف التقطيع اللغوي بأنه المشروع الأكبر الذي يقلص المتغيرات المورفولوجية إلى شكل قاموس أساسي واحد.6 والفرق العملي بين التجذير والتقطيع اللغوي هو أنه في حين أن التجذير يزيل فقط اللواحق الشائعة من نهاية الرموز المميزة للكلمات، فإن التقطيع اللغوي يضمن أن تكون الكلمة المخرجة هي شكل طبيعي موجود للكلمة (مثل كلمة lemma) التي يمكن العثور عليها في القاموس.7
ونظرًا لأن التقطيع اللغوي يهدف إلى إخراج أشكال أساسية من القاموس، فإنه يتطلب تحليلاً مورفولوجيًا أكثر فعالية من التجذير. يُعد تصنيف أجزاء الكلام (POS tagging) خطوة ضرورية في التقطيع اللغوي، ويقوم تصنيف أجزاء الكلام بشكل أساسي بتعيين علامات لكل كلمة لتدل على وظيفتها النحوية في الجملة. يوفّر Python NLTK دالة لخوارزمية "Word Net Lemmatization"، والتي يمكننا من خلالها إجراء التقطيع اللغوي على فقرة هاملت:
from nltk.stem import WordNetLemmatizer from nltk.corpus import wordnet from nltk import word_tokenize, pos_tag def get_wordnet_pos(tag): if tag.startswith('J'): return wordnet.ADJ elif tag.startswith('V'): return wordnet.VERB elif tag.startswith('N'): return wordnet.NOUN elif tag.startswith('R'): return wordnet.ADV else: return wordnet.NOUN def lemmatize_passage(text): words = word_tokenize(text) pos_tags = pos_tag(words) lemmatizer = WordNetLemmatizer() lemmatized_words = [lemmatizer.lemmatize(word, get_wordnet_pos(tag)) for word, tag in pos_tags] lemmatized_sentence = ' '.join(lemmatized_words) return lemmatized_sentence text = "There is nothing either good or bad but thinking makes it so." result = lemmatize_passage(text) print("Original:", text) print("Tokenized:", word_tokenize(text)) print("Lemmatized:", result)
يُرجع الرمز الآتي:
الاقتباس الأصلي: Good and bad are shaped by your thinking الاقتباس المرمز: ['.','Good', 'and', 'bad', 'are', 'shaped', 'by', 'your', 'thinking'] الاقتباس الخاضع للتقطيع اللغوي: ['.','Good', 'and', 'bad', 'be', 'shape', 'by', 'your', 'think']
يقلل WordNetLemmatizer، مثل أداة التجذير Snowball، من تصريفات الأفعال إلى الأشكال الأساسية—مثل تغيير thinking إلى think، وmakes إلى make. ولكن على عكس خوارزمية التجذير Snowball، فإن أداة التقطيع اللغوي تحدد nothing كاسم، وتترك نهايته، وهي -ing كما هو مطلوب، لكي تنتهي الكلمة من دون تغيير، بينما يغير الفعل is بشكل إضافي إلى شكله الأساسي be وبهذه الطريقة، تخلط أداة التقطيع اللغوي بشكل أكثر ملاءمة بين أشكال الأفعال غير المنتظمة.
يدعم التجذير والتقطيع اللغوي في المقام الأول تطبيع البيانات النصية باللغة الإنجليزية، كما تدعم كلتا التقنيتين العديد من اللغات الأخرى التي تكتب بالحروف اللاتينية، مثل الفرنسية والألمانية والإسبانية، أما اللغات الأخرى، مثل اللغة الروسية، فهي مدعومة بشكل أكبر من خلال أداة التجذير Snowball. يعد تطوير خوارزميات التجذير والتقطيع اللغوي للغات الأخرى، ولا سيما اللغة العربية، مجالاً حديثًا ومستمرًا للبحث، وتمثل اللغة العربية تحديًا خاصًا بسبب مورفولوجيتها الإلصاقية واختلافاتها الإملائية وغموضها المعجمي بالإضافة إلى ميزات أخرى.8 وإجمالاً، تثير هذه العناصر إشكالية في الطريقة المنهجية لتحديد أشكال الكلمات الأساسية بين المتغيرات الصرفية، وذلك عند مقارنتها بالكلمات الإنجليزية على الأقل.
وإلى جانب هذا القيد العام، فإن لكل من التجذير والتقطيع اللغوي عيوب خاصة. كما هو موضح في مثال هاملت، فإن التجذير هو عملية استقرائية نسبيًا قائمة على القواعد لإزالة سلسلة أحرف، ولكن الإفراط في التجذير أوإنقاصه هما خطآن شائعان ينتجان أثناء عملية التجذير، فالأول ينتج عندما يتم اختزال كلمتين مختلفتين لغويًا إلى الجذر نفسه (مثل تحويل news إلى new)، أما الإنقاص في التجذير فينتج عندما لا يتم اختزال كلمتين مرتبطتين دلاليًا إلى الجذر نفسه (مثل تغيير Knavish وknave إلى Knavish وKnave على التوالي).9 بالإضافة إلى ذلك، فإن التجذير يجرد اللواحق من الكلمات فقط ومن ثَمَّ لا يمكن أن يفسر أشكال الأفعال غير المنتظمة أو البادئات كما يفعل التقطيع اللغوي، وبالطبع يعد التجذير بسيطًا نسبيًا ومباشرًا في تنفيذه بينما يمكن أن يكون التقطيع اللغوي أكثر تكلفة من الناحية الحسابية ويستغرق وقتًا طويلاً بحسب حجم البيانات التي تجري معالجتها.
أعد تصور كيفية العمل باستخدام الذكاء الاصطناعي: يمكن لفريقنا العالمي المتنوع الذي يضم أكثر من 20000 خبير في الذكاء الاصطناعي مساعدتك على تصميم تقنيات الذكاء الاصطناعي والأتمتة وتوسيع نطاقها في كل جوانب عملك بسرعة وثقة، من خلال العمل عبر تقنية IBM watsonx ومنظومة مفتوحة من الشركاء لتقديم أي نموذج ذكاء اصطناعي، على أي سحابة، مسترشدين بأخلاقيات العمل والثقة.
يمكنك تفعيل الذكاء الاصطناعي في جميع قطاعات عملك لتوفير الميزات بسرعة وبشكل أخلاقي. صُممت مجموعتنا الواسعة من منتجات الذكاء الاصطناعي على مستوى الأعمال وحلول التحليلات لتقليل عوائق تبني الذكاء الاصطناعي، وإرساء الأسس الصحيحة للبيانات، مع تحسين النتائج وضمان الاستخدام المسؤول.
يُمكنك زيادة قوة الذكاء الاصطناعي باستخدام منصتنا للذكاء الاصطناعي والبيانات من الجيل التالي. إن IBM watsonx مجموعة من الأدوات والتطبيقات والحلول الجاهزة للأعمال، صُمِّمت لتقليل التكاليف والعقبات التي تعترض اعتماد الذكاء الاصطناعي مع تحسين النتائج والاستخدام المسؤول للذكاء الاصطناعي.
يميز المقال بين معالجة اللغة الطبيعية وفهم اللغة الطبيعية وإنشاء اللغة الطبيعية.
يستعرض مطور IBM تاريخ معالجة اللغة الطبيعية ومبادئها مع نظرة عامة عملية على تقنيات المعالجة المسبقة.
توفر الوثائق المرجعية ملاحظات لتنفيذ التقطيع اللغوي في مكتبة IBM Watson NLP.
1 نيتين إندورخيا وفريد داميراو، "Handbook of Natural Language Processing" (كتيب معالجة اللغة الطبيعية)، الطبعة الثانية، مطبعة CRC Press، عام 2010.
2 تشاوفنغ وو ولينلو تشيو وأليكسيس روس وإيكين أكيوريك وبويوان تشين وبيلين وانغ وناجونغ كيم وجاكوب أندرياس ويون كيم، "Reasoning or Reciting؟ Exploring the Capabilities and Limitations of Language Models Through Counterfactual Tasks" (المنطق أم التلاوة؟ استكشاف قدرات النماذج اللغوية وحدودها من خلال المهام المغايرة)، 2023، https://arxiv.org/abs/2307.02477 (الرابط موجود خارج موقع ibm.com). جاتي آهر وروزا أرياجا وآدم كالاي، "Using Large Language Models to Simulate Multiple Humans and Replicate Human Subject Studies" (استخدام النماذج اللغوية الكبيرة لمحاكاة العديد من البشر وتكرار دراسات المواضيع البشرية)، وقائع المؤتمر الدولي الأربعين حول التعلم الآلي، PMLR، المجلد 202، 2023، ص. 337-371، https://proceedings.mlr.press/v202/aher23a.html (الرابط موجود خارج موقع ibm.com). إميلي بيندر وألكسندر كولر، "Climbing towards NLU: On Meaning, Form and Understanding in the Age of Data" (الصعود نحو فهم اللغة الطبيعية: حول المعنى والشكل والفهم في عصر البيانات)، وقائع الاجتماع السنوي الثامن والخمسين لجمعية اللغويات الحاسوبية (ACL)، عام 2020، صفحة 5185-5198، 10.18653/v1/2020.acl-main.463 (الرابط موجود خارج موقع ibm.com).
3 جاري ماينر ودورسون ديلين وجون إلدر وأندرو فاست وتوماس هيل وروبرت أ. نيسبيت، Practical Text Mining and Statistical Analysis for Non-Structured Text Data Applications (التنقيب العملي في بيانات النصوص والتحليل الإحصائي لتطبيقات البيانات النصية غير المنظَّمة)، الناشر Academic Press، عام 2012.
4 كريستوفر مانينغ وهينريش شوتز، Foundations of Statistical Natural Language Processing (أسس معالجة اللغة الطبيعية الإحصائية)، الناشر MIT Press، عام 1999.
5 مارتن بورتر، "An algorithm for suffix stripping" (خوارزمية لتجريد اللواحق)، Program: electronic library and information systems (برنامج: المكتبة الإلكترونية وأنظمة المعلومات)، المجلد رقم 14، العدد 3، 1980، صفحة 130-137، https://www.emerald.com/insight/content/doi/10.1108/eb046814/full/html (الرابط موجود خارج موقع ibm.com). مارتن بورتر، "Snowball: A language for stemming algorithms" (Snowball: لغة لخوارزميات التجذير)، 2001، https://snowballstem.org/texts/introduction.html (الرابط موجود خارج موقع ibm.com)
6 نيتين إندورخيا وفريد داميراو، "Handbook of Natural Language Processing" (كتيب معالجة اللغة الطبيعية)، الطبعة الثانية، مطبعة CRC Press، عام 2010. كريستوفر مانينغ وهينريش شوتز، "Foundations of Statistical Natural Language Processing" (أساسيات معالجة اللغة الطبيعية الإحصائية)، مطبعة MIT، عام 1999.
7 جانيز برانك ودنيا ملادينيك وماركو جروبيلنيك، "Feature Construction in Text Mining" (بناء الميزات في التنقيب عن النصوص)، Encyclopedia of Machine Learning and Data Mining (موسوعة التعلم الآلي والتنقيب عن البيانات)، Springer، عام 2017.
8 عابد الحكيم فريحات وجابور بيلا ومراد عبّاس وحمدي المبارك وفاوستو جيونتشيغليا، "ALP: An Arabic Linguistic Pipeline" (ALP: مسار لغويّ عربيّ) ، Analysis and Application of Natural Language and Speech Processing (تحليل اللغة الطبيعية وتطبيقها ومعالجة الكلام)، 2022 ، ص 67-99، https://link.springer.com/chapter/10.1007/978-3-031-11035-1_4. (الرابط موجود خارج موقع ibm.com) عبد الجبار وساجد إقبال ومنظور إلهي تميمي وشفيق حسين وعدنان أخونزادة، "Empirical evaluation and study of text stemming algorithms" (التقييم التجريبي ودراسة خوارزميات تجذير النصوص)، Artificial Intelligence Review (مراجعة الذكاء الاصطناعي)، المجلد 53، 2020، ص. 5559–5588، https://link.springer.com/article/10.1007/s10462-020-09828-3 (الرابط موجود خارج موقع ibm.com). عابد الحكيم فريحات ومراد عباس وغابور بيلا وفاوستو جيونشيجليا، "Towards an Optimal Solution to Lemmatization in Arabic" (نحو حل أمثل للتقطيع اللغوي باللغة العربية)، Procedia Computer Science، المجلد 142، 2018، ص. 132-140، https://www.sciencedirect.com/science/article/pii/S1877050918321707?via%3Dihub (الرابط موجود خارج موقع ibm.com).
9 كريس بايس، "Stemming" (التجذير)، Encyclopedia of Database Systems (موسوعة أنظمة قواعد البيانات)، Springer، عام 2020.