در جلسه روز چهارشنبه 6/4/1386 کمیته حق اختراع نرمافزار دبیرخانه شورای عالی انفورماتیک کشور، موضوع ادعای شرکت عصرگویشپرداز را مطابق با معیارهای حق اختراع شناخت. ادعای مذکور شامل سه بخش مجزا میباشد. خلاصهای از بخشهای موضوع مورد ادعا به شرح زیر میباشند:
بخش اول: مدل گرامری همه منظوره برای زبان فارسی بر پایه مدل GPSG همه نرمافزارها و سیستمهای هوش مصنوعی که به نوعی به خط و زبان فارسی مرتبط هستند، مانند بازشناسی گفتار (ASR)، ترجمه ماشینی (MT)، تبدیل متن به گفتار فارسی (TTS)، تشخیص کاراکترهای نوری فارسی (OCR) و ... همگی به اطلاعات زبانی نیاز دارند. یکی از مهمترین منابع اطلاعاتی هر زبان نیز ساختار نحوی آن زبان است. علیرغم قدمت و غنای زبان فارسی، این زبان دارای یک دستور زبان کامل و مدون به صورت محاسباتی (قابل استفاده توسط کامپیوتر) نیست. مدل گرامری همه منظوره برای زبان فارسی بر پایه مدل GPSG، کاملترین دستور محاسباتی برای زبان فارسی است که درصد بسیار بالایی از ساختارهای نحوی زبان فارسی (که عمدتا شامل استثناها و پیچیدگیهای زیادی است) را مدلسازی می کند. این مدل گرامری که در قالب 170 قاعده دستوری نوشته شده با هدف استفاده در سیستم بازشناسی گفتار شرکت عصر گویش (نویسا) آماده شده است ولی قابل استفاده توسط همه سیستمهای دیگر نیز میباشد. در این سیستم استفاده از گرامر فارسی برای تحلیل نحوی خروجیهای حاصل از بازشناسی میباشد. با استفاده از گرامر و تحلیل نحوی میتوان فرضیههای خروجی حاصل از بازشناسی را به سمتی هدایت کرد که جملههای تولید شده از لحاظ گرامری صحیح باشند. قواعد دستوری فارسی در این مدل گرامری در قالب مدل GPSG بوده که با تفاوتهایی جهت سازگار کردن با زبان فارسی همراه بوده است. در واقع مدل GPSG طوری تغییر یافته که برای بیان ساختارهای نحوی فارسی مناسب باشد. از آنجا که زبان فارسی از نگاه زبان شناسی رایانهای، مورد کاوش چندانی قرار نگرفته است و مراجع استانداردی برای استخراج قواعد نحوی این زبان وجود ندارد، در پیادهسازی روشهای مبتنی بر دستور زبان برای تجزیه نحوی جملات زبان فارسی، دشوارترین مرحله، ارائه قواعد زبان در قالب مدل انتخابی میباشد.
در گرامر استخراج شده، برای بیان ساختارهای نحوی زبان فارسی در قالب GPSG ابتدا یک سری مقوله نحوی برای فارسی در نظر گرفته شده (مانند گروه اسمی، گروه فعلی، گروه صفتی و ...) و برای هر مقوله نحوی ویژگیهای خاصی تعریف شده است. سپس سعی شده که ساختارهای نحوی مجاز زبان با استفاده از ترکیب این مقولهها (با ویژگیهای معین) به صورت سلسلهمراتبی بیان شوند. از آنجا که GPSG یک نوع دستور گروهساختی است بنابراین تلاش میکند جملات زبان را به صورت ترکیبی از یکسری گروه دستوری در نظر بگیرد و سپس این گروههای دستوری را نیز ترکیبی از گروههای دستوری کوچکتر و همینطور الی آخر در نظر گرفته تا نهایتاً به مرز کلمات برسد. در انتخاب گروههای زبان فارسی، از نظریهی -Xتیره با تغییراتی متناسب با زبان فارسی پیروی شده است و اسم (N)، فعل (V)، صفت (ADJ)، قید (ADV) و حرف اضافه (P) به عنوان مقولههای نحوی پایهای در نظر گرفته شدهاند که میتواند به عنوان هستهی گروههای اسمی، فعلی، صفتی، قیدی و حرف اضافهای قرار گیرد. سپس تلاش شده است تا ساخت نحوی هریک از این گروهها بر اساس مقولههای نحوی کوچکتر بیان شود. به عنوان مثال N1 را ترکیب اسم با همه وابستههای پسین آن و N2 را ترکیب N1 با همه وابستههای پیشین اسم در نظر گرفته شده است.
از ساختارهای قابل پوشش توسط گرامر طراحی شده میتوان به موارد زیر اشاره کرد: انواع گروههای اسمی شامل اسم با همه وابستههای پیشین و پسین آن (صفت، مضافالیه، لقب، سور، ظرف، عدد، حرف تعریف، جمله وابسته و ...)، انواع گروههای صفتی، قیدی و حرف اضافهای، انواع گروههای فعلی شامل افعال لازم، افعال متعدی یک مفعولی و دو مفعولی، افعال با مفعول جمله، افعال کمکی، افعال مرکب، افعال ربطی، افعال مجهول، افعال raising و ... همچنین همپایگی در سطوح اسم، صفت، عدد و فعل.
قواعد این مدل گرامر با استفاده از یک پایگاه داده و زبان VC ++ در سیستم نویسا گنجانده شده است. تیم تحقیقاتی شرکت عصرگویشپرداز به همراه مشاوران زبان شناسی زبان فارسی متشکل از افراد زیر، این مدل گرامری را تهیه کردهاند:
حسین ثامتی، محمد مهدی حافظی، نیلوفر منصوری، نیلوفر منتظری، محمد بحرانی، نازیلا حافظی، سعیده ممتازی، حامد موثق، هادی ویسی، باقر باباعلی وخسرو حسین زاده.
بخش دوم: روش جدید تشخیص کلمات خارج از واژگان برای سیستمهای بازشناسی گفتار (با کاربرد در موتور بازشناسی گفتار پیوسته مستقل از گوینده با دادگان بزرگ زبان فارسی نویسا)امروزه استفاده از نرمافزارهای تشخیص (بازشناسی) گفتار روز به روز رو به گسترش میباشد. شرکت عصر گویش پرداز موتور بازشناسی گفتار پیوسته مستقل از گوینده با واژگان بزرگ را با نام نویسا برای زبان فارسی عرضه نموده است که امکان ارتباط گفتاری با کامپیوتر را برای فارسی امکانپذیر ساخته است. از جمله کاربردهایی که این سیستم دارد، می توان به تشخیص گفتار از پشت خط تلفن و استفاده از آن به عنوان منشی خودکار تلفنی، سیستم تلفن بانک صوتی، سیستمهای اطلاع رسانی گویا مانند اطلاع رسانی در مورد بیماریها یا اطلاع رسانی شرکت ها و سازمانها -اتوماسیون خانگی و صنعتی مانند دستور صوتی به ربات-تشخیص گفتار در خودرو-فرامین صوتی در کامپیوتر و .. را نام برد. این سیستمهای بازشناسی گفتار، که دارای تعداد محدودی مدخل در واژگان خود هستند (با تعداد محدودی کلمه برای تشخیص سر و کار دارند)، در هنگام ورورد یک سیگنا صوتی، یکی از کلمات این مجموعه را انتخاب میکنند. به همین خاطر سیستم به هنگام برخورد با یک کلمه جدید (که با نام کلمه خارج از واژگان یا OOV شناخته میشود) به اشتباه یکی از کلمات داخل واژگان را تشخیص میدهد. به این ترتیب که شبیهترین کلمه موجود در واژگان به عنوان کلمه بازشناسی شده انتخاب میگردد، حتی اگر میزان تشابه بسیار ناچیز باشد. این اشتباه از یک جهت کارآیی سیستم را کاهش داده و از جهت دیگر ممکن است باعث ایجاد خطاهای بیشتر در بازشناسی کلمات بعدی شود.
عدم تشخیص کلمات خارج از واژگان در سیستمهای بازشناسی گفتار از جهات گوناگون کارآیی سیستم را تحت الشعاع قرار میدهد. با ظهور یک کلمه خارج از واژگان در سیگنال ورودی نه تنها خود کلمه اشتباه بازشناسی خواهد شد، بلکه این اشتباه تاثیر بدی روی بازشناسی کلمات همسایه خواهد داشت و باعث پخش خطا خواهد شد. تاثیر کلمات خارج از واژگان روی کلمات همسایه را میتوان مانند حالتی فرض کرد که بعضی از کلمات سیگنال ورودی کامل ادا نشده باشند. علاوه بر این وقوع خطاهای این چنین در سیستم باعث ایجاد خطاهای بیشتر در مراحل بعدی کار، به عنوان مثال مرحله استخراج مفهوم، خواهد شد. برای رفع این مشکل، سیستم باید به قابلیت یافتن کلمات خارج از دادگان (OOV) تجهیز گردد. در اینجا یک روش جدید برای انجام این کار پیشنهاد شده است که هم کارایی سیستم را بسیار بالا میبرد و هم اینکه کاملا کاربردی است.
در این روش، دنباله کلمات بازشناسی شده توسط سیستم به یک ماژول برای امتیازدهی مجدد داده میشود تا در مورد داخل یا خارج از واژگان بودن کلمات تصمیم گیری شود. در این ماژول برای تک تک کلمات بازشناسی شده امتیازی تحت عنوان معیار اطمینان استخراج میشود که بیانگر میزان اطمینان سیستم به صحت بازشناسی کلمات است. با اعمال یک آستانه روی معیار اطمینان کلمات میتوان کلمات را به دو دسته داخل و خارج از واژگان تقسیم کرد. ورودیهای این ماژول یک دنباله مشاهدات X است که توسط ماژول استخراج ویژگی از سیگنال گفتار استخراج شده است و دیگری یک کلمه فرضیه hyp است که در حقیقت رشتهای از واجهای موجود در زبان است. در ماژول امتیازدهی مجدد در اولین مرحله براساس دنباله واجی فرضیه یک مدل HMM ترکیبی ساخته میشود، این مدل با استفاده از مدلهای HMM واجهای موجود در کلمه فرضیه و بهم پیوستن آنها ساخته میشود. حالت نهایی مدل هر واج با افزودن یک یال به حالت ابتدای مدل واج متعاقب خود و همچنین حالت ابتدایی مدل خود متصل میشود. به این ترتیب مدلی ترکیبی ساخته میشود که در آن امکان پرش، به واجهای فرضیه و توالی آنها محدود شده است. پس از ساخته شدن این مدل، با استفاده از الگوریتم ویتربی محتملترین دنباله حالاتی که توانایی تولید دنباله مشاهدات X را دارد، یافته میشود. به این ترتیب هر بردار ویژگی در X به یک واج خاص نسبت داده میشود. سپس امتیاز هر کلمه از روی امتیاز واجها بدست آورده میشود و نهایتا روی این امتیاز برای تعیین داخل یا خارج واژگان بودن کلمه تصمیمگیری میشود. برای تصمیمگیری نیز تمام کاری که لازم است انجام شود استفاده از یک روش دستهبندی است که بتواند بین کلمات داخل و خارج واژگان تفاوت قائل شود. روشهای دستهبندی متفاوتی ممکن است مورد استفاده قرار گیرد، به عنوان مثال یک روش آستانهگذاری که روی مقدار میانگین این بردار اعمال میشود سادهترین دستهبند ممکن است. دستهبندهای پیچیدهتر همچون شبکههای عصبی مصنوعی نیز میتوانند مورد استفاده قرار گیرند. روشی که ما در سیستم خود بکار بردیم اعمال آستانه روی مقدار میانگین این بردار بود. بنابراین خروجی نهایی این ماژول یا کلمه بازشناسی شده خواهد بود، هنگامی که الگوریتم دسته بندی این فرضیه را پذیرش کند (Accept) و یا OOV خروجی نهایی این سیستم خواهد بود، هنگامی که دسته بند فرضیه را رد نماید (Reject).
روشی که برای تشخیص کلمات خارج از واژگان در این سیستم به کار برده شده است متفاوت با تمامی روشهای دیگری است که تاکنون به این منظور مورد استفاده قرار گرفتهاند. در روشهای قبلی سعی میشد تا با استفاده از یک یا چند مدل HMM اضافه کلمات خارج از واژگان در یک یا چند دسته مختلف مدل گردند و سپس با مقایسه امتیاز این مدلهای مکمل و مدلهای اصلی سیستم در مورد داخل یا خارج از واژگان بودن این کلمات تصمیم گیری نمود. ولی ما در این روش تنها با استفاده از مدلهای اصلی سیستم برای تک تک کلمات بازشناسی شده معیار اطمینان استخراج میکنیم. انجام اینکار نه تنها با تعداد مدل کمتر انجام میگیرد بلکه میزان محاسبات لازم نیز در مقایسه با روشهای قبلی کمتر است، زیرا بخش عمدهای از محاسبات در ماژول رمز گشایی انجام شده است.
این روش با زبان VC ++ که سیستم نویسا با آن توسعه داده شده، نوشته شده است و توسط تیم تحقیقاتی شرکت عصرگویشپرداز متشکل از افراد زیر ارایه شده است:
باقر باباعلی، حسین ثامتی، سامان ویسی پور،هادی ویسی،خسرو حسین زاده،محمد بحرانی و حامد موثق
بخش سوم: روش PC-PMC برای مقاوم سازی سیستمهای بازشناسی گفتار به نویز (با کاربرد در موتور بازشناسی گفتار پیوسته مستقل از گوینده با دادگان بزرگ زبان فارسی نویساطبیعی ترین و ساده ترین راه برقراری ارتباط برای انسانها گفتار میباشد. استفاده از نرم افزارهای تشخیص (بازشناسی) گفتار که امروزه برای زبان انگلیسی موجود هستند، ارتباط گفتاری انسان با ماشینها را ممکن میسازد، مساله ای که منجر به سادگی، کاهش هزینه، کاهش زمان و حل مشکل ارتباطی افراد معلول میشود. شرکت عصر گویش پرداز نیز با ارایه موتور بازشناسی گفتار پیوسته مستقل از گوینده با واژگان بزرگ برای زبان فارسی (نویسا) تشخیص گفتار فارسی توسط کامپیوتر را امکانپذیر ساخته است. این موتور میتواند در همه کاربردهایی که بتوان از گفتار به عنوان رابط انسان و ماشین استفاده نمود، به کار گرفته شود. چند نمونه از مهمترین کاربردهای این سیستم بصورت خلاصه بیان میشوند:
دیکتهی خودکار متون جهت تایپ متون فارسی-تشخیص گفتار از پشت خط تلفن و استفاده از آن به عنوان منشی خودکار تلفنی، سیستم تلفن بانک صوتی، سیستمهای اطلاع رسانی گویا مانند اطلاع رسانی در مورد بیماریها یا اطلاع رسانی شرکت ها و سازمانها، ندای تلفنی قرآن کریم-اتوماسیون خانگی و صنعتی مانند دستور صوتی به ربات-تشخیص گفتار در خودرو-فرامین صوتی در کامپیوتر-کمک به معلولین، نابینایان و ناشنوایان-مترجم صوتی-جستجوی کلمات کلیدی در گفتار-تشخیص گفتار در کامپیوترهای جیبی و تشخیص گفتار بومی از غیربومی جهت استفاده در نرم افزارهای آموزشی.
تمام سیستمهای تشخیص گفتار امروزی و از جمله سیستم نویسا، در آزمایشگاهها و شرایط آکوستیکی تمیز و بدون نویز به دقت تشخیص بسیار خوبی میرسند اما هنگام استفاده از آنها در محیطهای واقعی و کاربردهای عملی که در حضور نویزهای مختلف هستند، کارایی آنها به شدت افت میکند. این مساله یکی از اصلیترین مشکلات همه سیستمهای تشخیص گفتار امروزی است به گونهای که امروزه جدیترین مشکل این سیستمها مساله مقاوم سازی آنها به نویز است. برای حل مشکل مقاوم سازی سیستمهای بازشناسی گفتار راههای مختلفی ارائه شده است که یک دسته از روشهای ارائه شده (که منجر به کارایی بیشتری در مقایسه با سایر روشها میشوند) به این صورت عمل میکنند که قسمت کلاسهبند یا مدلهای آکوستیکی (آوایی) را به شرایط محیطی جدید نزدیکتر میکنند. در این روشها که آنها را "روشهای مبتنی بر مدل" یا "جبران کلاسهبند" هم مینامند، مدلهای آواییای که در زمان آموزش با دادههای گفتاری تمیز آموزش داده شده است به گونهای تغییر میدهند که به دادههای شرایط مورد استفاده نزدیکتر باشد. یکی از این روشها ترکیب موازی مدل (Parallel Model Combination) یا PMC است که در آن نزدیک کردن مدل آوایی آموزش یافته به مدل محیط نویزی با ترکیب مدلهای آوایی تمیز و مدل نویز محیط انجام میشود. در این روش فرض میشود که نویز و گفتار از هم مستقل هستند و به صورت خطی در حوزه زمان (و طیف) با هم ترکیب (جمع) میشوند ولی از آنجا که ویژگیهای استخراج شده از گفتار در حوزه کپسترال هستند، بایستی ابتدا به حوزه طیف برگردانده شده و در این حوزه پارامترهای گفتار تمیز و نویز را باهم ترکیب کرده سپس این پارامترهای گفتار نویزی به حوزه کپسترال برگردانده شوند. از آنجا که تغییر حوزههای کپسترال به طیف و برعکس، مستلزم واحدهای معکوسپذیر در مرحله پیش پرداز و استخراج ویژگی گفتار است، روش PMC با برخی واحدهای موجود در استخراج ویژگی از جمله تفاضل تفریق طیفی (Cepstral Mean Subtraction) یا CMS ناسازگار است. روش CMS که به نوعی تبدیل به یک واحد پرکاربرد و موثر در مراحل استخراج ویژگی سیستمهای کاربردی بازشناسی گفتار شده است باعث حذف نویزهای کانوال شونده و اثرات کانال در گفتار میشود. یکی دیگر از واحدهای مورد استفاده در مراحل استخراج ویژگی استفاده تحلیل اجزای اصلی (Principal Component Analysis) یا PCA برای کاهش تعداد ویژگیهاست. اگرچه PCA یک تبدیل معکوسپذیر است اما از آنجا که این تبدیل نیز وابسته به ماتریس کواریانس دادههای تمیز است، استفاده از آن در کاهش بعد پارامترهای نویزی تخمینی حاصل از PMC نیز منجر به ناسازگاری و استفاده نادرست از این تبدیل شود.
روش PCA-CMS based PMC یا به طور خلاصه PC-PMC یک راه حل جدید برای استفاده از روشهای CMS و PCA به همراه PMC است که منجر به استفاده از مزیتهای هر سه روش در سیستمهای بازشناسی گفتار میشود. از آنجا که عمده سیستمهای بازشناسی گفتار مورد استفاده در کاربردهای واقعی با هر دو نوع نویز جمع شونده و کانوال شونده مواجه هستند، استفاده از PC-PMC باعث جبران اثرات هر دو نوع میشود (PMC برای جبران نویز جمع شونده و PCA-CMS برای جبران نویزهای کانوال شونده).. راه حل ارائه شده باعث بهبود دقت بازشناسی به میزان قابل توجهی در مقایسه با تک تک روشهای PMC و PCA-CMS میگردد و برای سیستمهای کاربردی کاملا مناسب میباشد.
ایده بهبود روش PC-PMC، مبتنی بر این واقعیت بوده است که بتوان از این روش موثر در سیستمهای تشخیص گفتار واقعی و در کاربردهای عملی استفاده نمود چرا که تقریبا همه سیستمهای کاربردی به نوعی از روشهای CMS و PCA استفاده میکنند. ارائه الگوریتم PC-PMC جهت ترکیب روشهای PCA، CMS و PMC و استفاده از آن در سیستمهای تشخیص گفتار برای اولین بار در سطح جهان انجام شده است و با توجه به اینکه روشی سیگنالی و مستقل از زبان است، قابل استفاده در همه سیستمهای تشخیص گفتار و از جمله در زبان فارسی است. علاوه بر نو بودن ایده و روش، استفاده از آن (با توجه به ماهیت کاربردی بودن آن) در سیستم تشخیص گفتار پیوسته فارسی (نویسا) در شرایط کاربردی و واقعی ارزیابی شده است و نتایج بدست آمده از آن بیانگر تاثیر بسیار زیاد روش در بهبود کارایی این سیستم(ها) در محیطهای نویزی (جایی در عمل از این سیستمها استفاده میشود) است.
این روش با زبان VC ++ که سیستم نویسا با آن توسعه داده شده، نوشته شده است و توسط تیم تحقیقاتی شرکت عصرگویشپرداز متشکل از افراد زیر ارایه شده است:
هادی ویسی، حسین ثامتی، باقر باباعلی، خسرو حسین زاده، محمد بحرانی و حامد موثق
منبع:
دبیرخانه شورای عالی انفورماتیک کشور