From d5c170281e36eaee395ba79316ae749b4e71bb7e Mon Sep 17 00:00:00 2001 From: Mostafa Date: Sat, 8 Oct 2016 19:57:39 +0800 Subject: [PATCH] verb inflected --- .gitignore | 3 +- src/affixes | 76 ----------------------------- test/dotest.py => src/lilak-test.py | 21 ++++---- src/lilak.py | 56 ++------------------- test/verbs | 21 ++++++++ 5 files changed, 36 insertions(+), 141 deletions(-) rename test/dotest.py => src/lilak-test.py (88%) create mode 100644 test/verbs diff --git a/.gitignore b/.gitignore index 31de11b..bf0824e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -test/result.log -run_all.bat \ No newline at end of file +*.log \ No newline at end of file diff --git a/src/affixes b/src/affixes index 088de3d..53d20fc 100644 --- a/src/affixes +++ b/src/affixes @@ -43,82 +43,6 @@ COMPOUNDMIN 1 ## clitics -# استمراری ساز «می» با نیم فاصله -PFX e1 Y 1 -PFX e1 0 می‌/FFUU . - - -# استمراری ساز «نمی» با نیم فاصله -PFX e2 Y 1 -PFX e2 0 نمی‌/FFUU . - - -# استمراری ساز «همی» با نیم فاصله -PFX e3 Y 1 -PFX e3 0 همی‌/FFUU . - - -# استمراری ساز «می» بدون نیم فاصله - چسبان -PFX e4 Y 1 -PFX e4 0 می/FFUU . - - -# استمراری ساز «نمی» بدون نیم فاصله - چسبان -PFX e5 Y 1 -PFX e5 0 نمی/FFUU . - - -# شناسه فعل در زمان حال یا مضارع -SFX sh Y 6 -SFX sh 0 م/FFWW . -SFX sh 0 ی/FFWW . -SFX sh 0 د/FFWW . -SFX sh 0 یم/FFWW . -SFX sh 0 ید/FFWW . -SFX sh 0 ند/FFWW . - - -# شناسه فعل در زمان گذشته یا ماضی -SFX sg Y 5 -SFX sg 0 م/FFWW . -SFX sg 0 ی/FFWW . -SFX sg 0 یم/FFWW . -SFX sg 0 ید/FFWW . -SFX sg 0 ند/FFWW . - - -# شناسه فعل در زمان گذشته زنده یا نقلی -SFX sn Y 6 -SFX sn 0 ‌ام/FFWW . -SFX sn 0 ‌ای/FFWW . -SFX sn 0 ‌است/FFWW . -SFX sn 0 ‌ایم/FFWW . -SFX sn 0 ‌اید/FFWW . -SFX sn 0 ‌اند/FFWW . - - -# objective pronoun -# most common opjective pronons for verbs -# ضمیر مفعولی برای فعل‌های زمان حال -SFX zh Y 7 -SFX zh 0 مت/FFWW . -SFX zh 0 مش/FFWW . -SFX zh 0 متان/FFWW . -SFX zh 0 مشان/FFWW . -SFX zh 0 دم/FFWW . -SFX zh 0 دت/FFWW . -SFX zh 0 دش/FFWW . - - -# ضمیر مفعولی برای فعل‌های زمان گذشته -SFX zg Y 5 -SFX zg 0 مت/FFWW . -SFX zg 0 مش/FFWW . -SFX zg 0 متان/FFWW . -SFX zg 0 مشان/FFWW . -SFX zg 0 ش/FFWW . - - # ضمیر ملکی متصل SFX z1 N 6 SFX z1 0 م/WW . diff --git a/test/dotest.py b/src/lilak-test.py similarity index 88% rename from test/dotest.py rename to src/lilak-test.py index 6250e76..b7058f5 100644 --- a/test/dotest.py +++ b/src/lilak-test.py @@ -65,16 +65,17 @@ def run_test(filename): -run_test('text1') -run_test('text2') -run_test('text3') -run_test('text4') -run_test('text5') -run_test('text6') -run_test('text7') -run_test('text8') -run_test('text9') -run_test('text10') +run_test('../test/text1') +run_test('../test/text2') +run_test('../test/text3') +run_test('../test/text4') +run_test('../test/text5') +run_test('../test/text6') +run_test('../test/text7') +run_test('../test/text8') +run_test('../test/text9') +run_test('../test/text10') +run_test('../test/verbs') percentage = ((detected * 100.0) / (detected + not_detected)) result.write('detected: {0}, not_detected {1}, accuracy {2}\n'.format(detected, not_detected, percentage)) diff --git a/src/lilak.py b/src/lilak.py index 4f77b60..7831a3e 100644 --- a/src/lilak.py +++ b/src/lilak.py @@ -1,4 +1,4 @@ -## +## ## Lilak, Persian Spell Checking Dictionary ## ## Copyright 2015 Mostafa Sedaghat Joo @@ -34,7 +34,7 @@ import shutil import datetime -VERSIAN = '2.1' +VERSIAN = '3.0' DEBUG = 1 # set to 1 to generate a debug output file ZWNJ = '\u200C' @@ -152,57 +152,7 @@ def pars(self): ############################################################################################### # VERB # ############################################################################################### - if pos == 'verb_present': # حال (مضارع) ساده و اخباری - label += 'e1' # می‌گویم، می‌گویی، می‌گوید، می‌گوییم، می‌گویید، می‌گویند - label += 'e2' # نمی‌گویم، نمی‌گویی، نمی‌گوید، نمی‌گوییم، نمی‌گویید، نمی‌گویند - label += 'e3' # همی‌گویم، همی‌گویی، همی‌گوید، همی‌گوییم، همی‌گویید، همی‌گویند - label += 'e4' # میگویم، میگویی، میگوید، میگوییم، میگویید، میگویند - #label += 'e5' # نمیگویم، نمیگویی، نمیگوید، نمیگوییم، نمیگویید، نمیگویند - label += 'sh' # گویم، گویی، گوید، گوییم، گویید، گویند - label += 'zh' # گویمت، گویمش، گویمتان، گویمشان، گویدم، گویدت، گویدش - - elif pos == 'verb_subjunctive': # حال (مضارع) التزامی - label += 'sh' # بگویم، بگویی، بگوید، بگوییم، بگویید، بگویند - - elif pos == 'verb_subjunctive_negative': # حال (مضارع) التزامی منفی - label += 'sh' # نگویم، نگویی، نگوید، نگوییم، نگویید، نگویند - - elif pos == 'verb_past': # گذشته (ماضی) ساده و پیوسته - label += 'e1' # می‌گفتم، می‌گفتی، می‌گفتیم، می‌گفتید، می‌گفتند - label += 'e2' # نمی‌گفتم، نمی‌گفتی، نمی‌گفتیم، نمی‌گفتید، نمی‌گفتند - label += 'e3' # همی‌گفتم، همی‌گفتی، همی‌گفتیم، همی‌گفتید، همی‌گفتند - label += 'e4' # میگفتم، میگفتی، میگفتیم، میگفتید، میگفتند - #label += 'e5' # نمیگفتم، نمیگفتی، نمیگفتیم، نمیگفتید، نمیگفتند - label += 'sg' # گفتم، گفتی، گفتیم، گفتید، گفتند - label += 'zg' # گفتمت، گفتمش، گفتمتان، گفتمشان، گفتش - - elif pos == 'verb_past_negative': # گذشته (ماضی) ساده منفی - label += 'sg' # نگفتم، نگفتی، نگفتیم، نگفتید، نگفتند - - elif pos == 'verb_past_be': # گذشته (ماضی) ساده با ب - label += 'sg' # بگفتم، بگفتی، بگفتیم، بگفتید، بگفتند - - elif pos == 'verb_past_participle': # گذشته (ماضی) نقلی - label += 'e1' # می‌گفته‌ام، می‌گفته‌ای، می‌گفته‌است، می‌گفته‌ایم، می‌گفته‌اید، می‌گفته‌اند - # درمی‌یافته‌ام، درمی‌یافته‌ای، درمی‌یافته‌است، درمی‌یافته‌ایم، درمی‌یافته‌اید، درمی‌یافته‌اند - label += 'e2' # نمی‌گفته‌ام، نمی‌گفته‌ای، نمی‌گفته‌است، نمی‌گفته‌ایم، نمی‌گفته‌اید، نمی‌گفته‌اند - # درنمی‌یافته‌ام، درنمی‌یافته‌ای، درنمی‌یافته‌است، درنمی‌یافته‌ایم، درنمی‌یافته‌اید، درنمی‌یافته‌اند - label += 'sn' # گفته‌ام، گفته‌ای، گفته‌است، گفته‌ایم، گفته‌اید، گفته‌اند - - elif pos == 'verb_past_participle_negative': # گذشته (ماضی) نقلی منفی - label += 'sn' # نگفته‌ام، نگفته‌ای، نگفته‌است، نگفته‌ایم، نگفته‌اید، نگفته‌اند - - elif pos == 'verb_present_continues': - label += 'sh' # درمی‌یابم، درمی‌یابی، درمی‌یابد، درمی‌یابیم، درمی‌یابید، درمی‌یابند - - elif pos == 'verb_past_continues': - label += 'sg' # درمی‌یافتم، درمی‌یافتی، درمی‌یافت، درمی‌یافتیم، درمی‌یافتید، درمی‌یافتند - - elif pos == 'verb_imperative': # فعلهای امری - label += '' - - elif pos == 'verb': # فعلهای ربطی و صرف شده - # coplua and spent verb, has no special tag + if pos.startswith('verb') : label += '' diff --git a/test/verbs b/test/verbs new file mode 100644 index 0000000..88e9812 --- /dev/null +++ b/test/verbs @@ -0,0 +1,21 @@ +می‌گویم، می‌گویی، می‌گوید، می‌گوییم، می‌گویید، می‌گویند +نمی‌گویم، نمی‌گویی، نمی‌گوید، نمی‌گوییم، نمی‌گویید، نمی‌گویند +همی‌گویم، همی‌گویی، همی‌گوید، همی‌گوییم، همی‌گویید، همی‌گویند +گویم، گویی، گوید، گوییم، گویید، گویند +بگویم، بگویی، بگوید، بگوییم، بگویید، بگویند +نگویم، نگویی، نگوید، نگوییم، نگویید، نگویند +می‌گفتم، می‌گفتی، می‌گفتیم، می‌گفتید، می‌گفتند +نمی‌گفتم، نمی‌گفتی، نمی‌گفتیم، نمی‌گفتید، نمی‌گفتند +همی‌گفتم، همی‌گفتی، همی‌گفتیم، همی‌گفتید، همی‌گفتند +گفتم، گفتی، گفتیم، گفتید، گفتند +نگفتم، نگفتی، نگفتیم، نگفتید، نگفتند +بگفتم، بگفتی، بگفتیم، بگفتید، بگفتند +می‌گفته‌ام، می‌گفته‌ای، می‌گفته است، می‌گفته‌ایم، می‌گفته‌اید، می‌گفته‌اند +نمی‌گفته‌ام، نمی‌گفته‌ای، نمی‌گفته است، نمی‌گفته‌ایم، نمی‌گفته‌اید، نمی‌گفته‌اند +گفته‌ام، گفته‌ای، گفته‌است، گفته‌ایم، گفته‌اید، گفته‌اند +نگفته‌ام، نگفته‌ای، نگفته‌است، نگفته‌ایم، نگفته‌اید، نگفته‌اند + +درمی‌یابم، درمی‌یابی، درمی‌یابد، درمی‌یابیم، درمی‌یابید، درمی‌یابند +درمی‌یافتم، درمی‌یافتی، درمی‌یافت، درمی‌یافتیم، درمی‌یافتید، درمی‌یافتند +درمی‌یافته‌ام، درمی‌یافته‌ای، درمی‌یافته است، درمی‌یافته‌ایم، درمی‌یافته‌اید، درمی‌یافته‌اند +درنمی‌یافته‌ام، درنمی‌یافته‌ای، درنمی‌یافته است، درنمی‌یافته‌ایم، درنمی‌یافته‌اید، درنمی‌یافته‌اند` \ No newline at end of file