PDA

View Full Version : یافتن کلمات نزدیک به کلمه ی مورد جستجو



amindiary
سه شنبه 30 مرداد 1386, 10:07 صبح
سلام
میخوام بدونم آیا تابع یا الگوریتم یا روشی هست که بشه با اون مثل گوگل اگر کلمه ای اشتباه برای سرچ توی یک textBox وارد شد اکسس نزدیکترین واژه ها رو برگردونه؟ مثلا:

سرچ کنیم: internatiomal

و نتیجه برگردونه DID YOU MEAN: international
:متفکر:

mehdi.mousavi
سه شنبه 30 مرداد 1386, 10:18 صبح
سلام
میخوام بدونم آیا تابع یا الگوریتم یا روشی هست که بشه با اون مثل گوگل اگر کلمه ای اشتباه برای سرچ توی یک textBox وارد شد اکسس نزدیکترین واژه ها رو برگردونه؟ مثلا:

سرچ کنیم: internatiomal

و نتیجه برگردونه DID YOU MEAN: international
:متفکر:



سلام.
شما در واقع باید با نرم افزارهای Thesaurus یا همون اصطلاحنامه آشنا بشید. یکی از کاربردهای چنین نرم افزارهایی، همینی هستش که شما به دنبالشید. یه نرم افزار خوب برای مدیریت اصطلاحنامه ها رو می تونید از این سایت Download کنید. (http://www.thesaurusbuilder.com)

البته تکنولوژیهای دیگه ای هم در این مساله دخیلن، اما مطمئنا اصطلاحنامه ها میتونه نقطه شروع خوبی برای اجرای چنین Search هایی باشه.

amindiary
سه شنبه 30 مرداد 1386, 11:27 صبح
اون برنامه رو دانلود کردم! چیزی که فهمیدن اینه که باید دونه دونه کلمات رو براش تعریف کنیم! یعنی یک کلمه که چند تا کلمه زیر مجموعش میشن! خوب اگر بخوایم این کارو کنیم ، مستقیم توی اکسس اعمال میکنمش! چه لزومی داره یک دیتابیس جدید بسازیم؟ نرم افزار دیگه ای نیست که لیستی از واژه ها رو داشته باشه که از اون استفاده کنیم؟ :ناراحت:

mehdi.mousavi
سه شنبه 30 مرداد 1386, 13:41 عصر
اون برنامه رو دانلود کردم! چیزی که فهمیدن اینه که باید دونه دونه کلمات رو براش تعریف کنیم! یعنی یک کلمه که چند تا کلمه زیر مجموعش میشن! خوب اگر بخوایم این کارو کنیم ، مستقیم توی اکسس اعمال میکنمش! چه لزومی داره یک دیتابیس جدید بسازیم؟ نرم افزار دیگه ای نیست که لیستی از واژه ها رو داشته باشه که از اون استفاده کنیم؟ :ناراحت:


نه نه! فکر کنم منظورم رو درست بیان نکردم. فرض کنید کاربر میاد و دنبال کلمات "شیر" و "باغ وحش" میگرده. شما باید تشخیص بدید که رکوردهایی که مربوط به "شیر آلات"، "شیر مادر"، "شیر مردان" و ... هستش رو کاربر نمیخواد! چنین اطلاعاتی رو میتونید از اصطلاحنامه استخراج کنید...

در صورتیکه Search های شما محدود به جستجوهای Dictionary-based میشه، پروژه Open Source ای به نام GNU Aspell میتونه بهتون توصیه کنه که منظورتون از فلان کلمه نادرست، کلمات ذکر شده هستش... این پروژه رو میتونید از اینجا بگیرید. (http://sourceforge.net/projects/aspell/)

البته چنین پروژه های Open Source ای بسیار زیادن، کافیست تا دنبال Spell Checker بگردید.