PDA

View Full Version : نیاز به پیدا کردن خودکار تگ ها یا کلمات کلیدی متن



ghiravani
شنبه 04 آذر 1391, 22:20 عصر
با سلام.خسته نباشید

قطعه کدی نیست که بهش متن یک پست از سایت رو بدیم (متن پست به حالت HTML هست.)
بعد این کد ، کلمات کلیدی یا meta tag های این پست رو بهمون بده؟
مهم تر از همه سازگار باشه با فارسی

ممنون

tux-world
یک شنبه 05 آذر 1391, 00:22 صبح
اینو باید خودتون یه هوش مصنوعی کوچیک بنویسید فایل رو بگیرید و کلمات از توش کشف کنید مثلا میتونین با str_pos این کار رو بکنید. ابتدا رو که پیدا کردید انتهای خط رو هم باید ببینید چطوری تگ بسته میشه بردارید. شروع کنید به نوشتن کمک میکنیم

ghiravani
یک شنبه 05 آذر 1391, 01:53 صبح
ممنونم.اما فکر کنم منظورم رو درست متوجه نشدید.

نیازی به پیدا کردن ابتدا و انتهای خط نیست.چون مثلا من از وردپرس استفاده میکنم.در جدول اخبار یه ستون دارم به اسم content که متن پست ها در اون قرار داره.
داخل متن پست تگ های html هم قرار داره.خب این تگ ها رو که با تابع strip_tags میشه این کارو انجام داد.اما من قبلا پست هایی رو در وردپرس ثبت کردم و برای این پست ها هیچ تگی تعریف نکردم.حالا میخوام تغییری بدم که در صفحه اصلی وقتی کاربر مثلا پست اول رو میبینه ، یه قطعه کد ، content یا محتوای این پست رو چک کنه و زیر مطلب کلمات کلیدی این پست رو نمایش بده.

اما دو مشکل وجود داره:

میشه از ابتدای متن پست ، تعداد تکرار هر کلمه رو شمارش کرد بعد مثلا اونایی که بیشتر تکرار شده رو به عنوان کلمه کلیدی انتخاب کرد.اما عیبش اینه که کلماتی مثل "به" "از" "در" و ... که تعدادشون کم هم نیستن شاید خیلی در یه پست قرار بگیره و اینا به عنوان کلمات کلیدی معرفی بشن.
عیب بعدی روش شمارش تعداد کلمات این هست که مثلا شاید توی یه متن مهمترین کلمه مثلا "ویندوز" باشه اما تعداد تکرارش زیاد نباشه.اینطوری دیگه یه کلمه کلیدی مهم از قلم می افته.منم هوش مصنوعی کار نکردم


حالا امکانش هست که خود اسکریپت بتونه این کارا رو انجام بده؟
یادمه یه انجمن گفتگو که با vBulletin هم ساخته شده بود طوری بود که متن سوالم رو که می نوشتم ، خود vBulletin بعد از ثبت تاپیک ، کلمات کلیدی اون پست رو در زیر پست نمایش میداد.من دقیقا به این طور چیزی نیاز دارم.خوبیش این بود که با فارسی هم سازگار بود.

ممنون

ghiravani
یک شنبه 05 آذر 1391, 02:09 صبح
یه راه حل دیگه هم به ذهنم رسید:

یه ارتباط مستقیم بین عنوان پست و متن پست وجود داره.اگه تعداد تکرار هر کلمه از عنوان رو در متن پست شمارش کنیم ، اون کلمه هایی که بیشتر تکرار شدن ، میشه گفت کلمات کلیدی بودن.اما بازم مشکل داریم با "به" "از" "در" "یا" و .... :|

tux-world
یک شنبه 05 آذر 1391, 09:41 صبح
خوب ببین دوست من سوالی که پرسیدین رو اصلا درست مطرح نکردید. ما هم علم غیب نداریم که. شما تو پست بعدی من اومدین کامل توضیح دادین جریان چیه از وردپرس استفاده کردید و هزار تا چیز دیگه.پس من هم حق دارم. طبق چیزی که متوجه شدم جواب بدم.
خوب راه حلهاتون درستن هر دوتاشون میشه گفت درسته. ببینید شما باید یه دیکشنری تعریف کنید و کلماتی از جمله از-به-و-یا اینها رو فیلتر کنید عملا نمیتونین روی تعداد کاراکتر اینها حساب کنید چون معلوم نیست چیا فیلتر بشه. دوما اصولا عنوان موضوع با متن ممکنه فرق بکنه و بی ربط به نظر برسه و یا اینکه موضوع میدونین که خیلی خلاصه نوشته میشه شاید در حد چند کلمه. همه سیستم های مدیریت محتوا خودشون تگ بندی دارند که توسط خود نویسنده نوشته میشه. یا میتونین کلماتی که هستش رو تو یه دیکشنری قبلا ثبت کرده باشید و یا اینکه دستی بنویسید اونایی که از قلم افتاده

ghiravani
یک شنبه 05 آذر 1391, 13:11 عصر
خوب ببین دوست من سوالی که پرسیدین رو اصلا درست مطرح نکردید. ما هم علم غیب نداریم که. شما تو پست بعدی من اومدین کامل توضیح دادین جریان چیه از وردپرس استفاده کردید و هزار تا چیز دیگه.پس من هم حق دارم. طبق چیزی که متوجه شدم جواب بدم.

سلام دوست عزیز.درسته من چون خودم شدید درگیر این موضوع بودم ، در اولین پست دقیق توضیحات ندادم.حق با شماست :افسرده:
اما ساختن یه دیکشنری که تگ های کلیدی رو داشته باشه خیلی وقت گیر هست :ناراحت:
با هوش مصنوعی و ... نمیشه کاری کرد؟

ممنون

ghiravani
یک شنبه 05 آذر 1391, 13:22 عصر
من تا الان به این نتایج رسیدم:
How to find keywords (useful words) from text? (http://stackoverflow.com/questions/3960998/how-to-find-keywords-useful-words-from-text)

Part Of Speech Tagging (http://phpir.com/part-of-speech-tagging)
مورد دومی خیلی جالبه اما مخصوص زبان انگلیسی هست

http://www.internoetics.com/2012/07/24/php-function-to-create-keyword-tags-from-text/
اگه بازم مورد بدردبخوری پیدا کردم اینجا قرار میدم :چشمک: