
يمكن أن تنشئ نماذج الكلمات بدقة جميع الأشكال الممكنة للكلمة الإنجليزية. يمكن أن يترافق الأفعال. يمكن أن يربط أجزاء مختلفة من الخطب على سبيل المثال الاسمية إلى صفة ، صفة إلى adverb ، الاسم إلى الفعل وما إلى ذلك يمكن أن تملأ الأسماء الفردية. يفعل كل هذا في وظيفة واحدة. يتمتع!
بعض الأمثلة في الوقت المناسب للغاية: p
> >> from word_forms . word_forms import get_word_forms
> >> get_word_forms ( "president" )
> >> { 'n' : { 'presidents' , 'presidentships' , 'presidencies' , 'presidentship' , 'president' , 'presidency' },
'a' : { 'presidential' },
'v' : { 'preside' , 'presided' , 'presiding' , 'presides' },
'r' : { 'presidentially' }}
> >> get_word_forms ( "elect" )
> >> { 'n' : { 'elects' , 'electives' , 'electors' , 'elect' , 'eligibilities' , 'electorates' , 'eligibility' , 'elector' , 'election' , 'elections' , 'electorate' , 'elective' },
'a' : { 'eligible' , 'electoral' , 'elective' , 'elect' },
'v' : { 'electing' , 'elects' , 'elected' , 'elect' },
'r' : set ()}
> >> get_word_forms ( "politician" )
> >> { 'n' : { 'politician' , 'politics' , 'politicians' },
'a' : { 'political' },
'v' : set (),
'r' : { 'politically' }}
> >> get_word_forms ( "am" )
> >> { 'n' : { 'being' , 'beings' },
'a' : set (),
'v' : { 'was' , 'be' , "weren't" , 'am' , "wasn't" , "aren't" , 'being' , 'were' , 'is' , "isn't" , 'been' , 'are' , 'am not' },
'r' : set ()}
> >> get_word_forms ( "ran" )
> >> { 'n' : { 'run' , 'runniness' , 'runner' , 'runninesses' , 'running' , 'runners' , 'runnings' , 'runs' },
'a' : { 'running' , 'runny' },
'v' : { 'running' , 'run' , 'ran' , 'runs' },
'r' : set ()}
> >> get_word_forms ( 'continent' , 0.8 ) # with configurable similarity threshold
> >> { 'n' : { 'continents' , 'continency' , 'continences' , 'continent' , 'continencies' , 'continence' },
'a' : { 'continental' , 'continent' },
'v' : set (),
'r' : set ()}كما ترون ، فإن الإخراج هو قاموس مع أربعة مفاتيح. "R" تعني adverb ، "A" للصفات "،" N "للاسم و" V "لـ Verb. لا تسألني لماذا "R" تعني adverb. هذا هو ما يستخدمه WordNet ، ولهذا السبب أستخدمه أيضًا :-)
يمكن الحصول على المساعدة في أي وقت عن طريق كتابة ما يلي:
> >> help ( get_word_forms )في معالجة اللغة الطبيعية والبحث ، غالبًا ما يحتاج المرء إلى معالجة كلمات مثل "Run" و "Run" أو "Love" و "Lovable" أو "Solidian" و "Politics" مثل الكلمة نفسها. عادة ما يتم ذلك عن طريق تقليل كل كلمة إلى كلمة أساسية ثم مقارنة الكلمات الأساسية. وتسمى العملية الناجمة. على سبيل المثال ، يقلل STEMMER Porter على حد سواء "الحب" و "جميل" في الكلمة الأساسية "الحب".
المرتبطون لديهم العديد من أوجه القصور. أولاً ، الكلمة الأساسية التي تنتجها STEMMER ليست دائمًا كلمة إنجليزية صالحة. على سبيل المثال ، يقلل Porter STEMMER كلمة "عملية" إلى "Oper". ثانياً ، يكون لدى الجذعية معدل سلبي كاذب مرتفع. على سبيل المثال ، يتم تقليل "Run" إلى "Run" و "RAN" إلى "RAN". يحدث هذا لأن STEMMERS يستخدمون مجموعة من القواعد العقلانية لإيجاد الكلمات الأساسية ، وكما نعلم جميعًا ، فإن اللغة الإنجليزية لا تتصرف دائمًا بشكل عقلاني.
تعتبر المقاترات أكثر دقة من STEMMERS لأنها تنتج شكلًا أساسيًا موجودًا في القاموس (يُطلق عليه أيضًا Lemma). لذا فإن الكلمة المخفضة هي دائمًا كلمة إنجليزية صالحة. ومع ذلك ، فإن المهملات لديها أيضًا سلبيات خاطئة لأنها ليست جيدة جدًا في ربط الكلمات عبر أجزاء مختلفة من الخطب. فشل WordNet Lemmatizer المضمّن مع NLTK في جميع الأمثلة تقريبًا. يتم تقليل "العمليات" إلى "التشغيل" و "التشغيل" يتم تقليلها إلى "التشغيل".
تحاول أشكال الكلمات حل هذه المشكلة من خلال إيجاد جميع الأشكال الممكنة لكلمة إنجليزية معينة. يمكن أن يؤدي إلى اقتران الأفعال ، وتوصيل نماذج الأسماء بأشكال الفعل ، وأشكال الصفة ، وأشكال الظرف ، وأشكال فريدة ، إلخ.
كما نقدم أيضًا مهرجًا بسيطًا جدًا يعتمد على word_forms . هنا كيفية استخدامه.
> >> from word_forms . lemmatizer import lemmatize
> >> lemmatize ( "operations" )
'operant'
> >> lemmatize ( "operate" )
'operant'يتمتع!
تم اختباره على Python 3
باستخدام pip :
pip install -U word_forms
أو يمكنك تثبيته من المصدر:
git clone https://github.com/gutfeeling/word_forms.git
pip أو setup.py pip install -e word_forms
% or
cd word_forms
python setup.py install
مرحبًا ، أنا ديبيا وأحافظ على هذا المستودع. أحب أن أسمع منك. لا تتردد في التواصل معي في [email protected].
أشكال الكلمات ليست مثالية. على وجه الخصوص ، يمكن تحسين بعض الجوانب.
إذا كنت تحب هذه الحزمة ، فلا تتردد في المساهمة. طلبات السحب الخاصة بك موضع ترحيب كبير.