تالار گفتمان nCIS.ir

نسخه‌ی کامل: جدا کردن کلمات فارسی از یک متن
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام دوستان. این لینک رو نگاه کنید:
http://stackoverflow.com/questions/79059...ngle-words
فکر میکنم دیگه سوالم واضحه با این لینک. میخوام کلمات فارسی یک متن رو جدا کنم و مثلا بریزم توی یک آرایه کلمه ها رو. با توابعی مثل explode و دادن یک فاصله به عنوان پارامتر اولش نمیشه اینکار رو کرد چون ممکنه به آخر کلمه . چسبیده باشه، مثل نقطه آخر جمله، راه حلم رو توی جواب اول همون لینک پیدا کردم، ولی اون راه حل واسه متون فارسی خوب نیست. چون کلمات دو یا چند سیلابی توی فارسی وجود داره که کار رو خراب میکنه، مثل کلمه "می خواهم" که بین "می" و "خواهم" هم یک فاصله وجود داره و با روش این لینک این دو قسمت این کلمه به عنوان دو کلمه جداگانه شناخته میشن.
چه راه حلی پیشنهاد میکنید؟
برای این مورد واقعاً راه حل مناسبی که کارآمد باشه نیست چون خیلی جاها، استثنا داریم. مثلاً توی عبارت «می خواهم» می یک کلمه مستقل نیست ولی توی عبارت «می ناب» می یک کلمه مستقل هست. بهتره کلمات چند سیلابی رو مطابق اصول، با فاصله کوتاه جدا کنید: می‌خواهم
یا اینکه موارد استثنا رو توی آرایه ای بگذارین و هروقت به اونها رسیدین (یعنی اگه بعد از می کلمه ای اومد که توی آرایه استثناها بود)، اون دوتا رو با هم ترکیب کنید. یکی از مشکلات بزرگ زبان فارسی همین کلمات چند سیلابی هستن که اجازه نمیده سیستم نگارشی خوبی براش برنامه نویسی کرد.
نگاه کنید شما در این مورد دستتون بیشتر باز است. (پردازش تصویر که نیست)

همانطور آقای شهرکی گفتند یکم مشکل است ولی نشد نیست.

من دنبال راه حل هایی هستم که نشه حل کرد.

نگاه کنید بیاییم برای حل این مسئله از یک جا شروع کنیم.

برای اینکار باید به زبان فارسی یکم مسلط باشید پس ابتدا تمام شرایط و ضوابط زبان فارسی باید شناخته بشود (مثل [می]+[شود] و یا همان نقطه ایی که گفتین)

شما این ها را با یک استاد زبان فارسی درمیان بگذارید و بگویید که من می خواهم چنین کار هایی کنم.(اگر دانشجو هستید)

وقتی شرایط معلوم شد (حالا چه یکی چه صد تا چه هزار تا) برای همه این موارد باید کد بنویسین.