<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Mehdi Mehraban</title>
        <link>https://virgool.io/feed/@zeoses</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-07-08 00:41:25</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/7410/avatar/004KQi.jpeg?height=120&amp;width=120</url>
            <title>Mehdi Mehraban</title>
            <link>https://virgool.io/@zeoses</link>
        </image>

                    <item>
                <title>شاعران ابری : چه گونه ابر کلمات برای شاعران ایرانی بسازیم.</title>
                <link>https://virgool.io/@zeoses/%D8%B4%D8%A7%D8%B9%D8%B1%D8%A7%D9%86-%D8%A7%D8%A8%D8%B1%DB%8C-%DA%86%D9%87-%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D8%A8%D8%B1-%DA%A9%D9%84%D9%85%D8%A7%D8%AA-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%B4%D8%A7%D8%B9%D8%B1%D8%A7%D9%86-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-g6uvxdsulgau</link>
                <description>خیلی هامون ابر کلمات رو تو شبکه های اجتماعی دیدیم و یا خودمون به اشتراک گذاشتیم. به طور کلی ساختار ابر کلمات به این صورته که، هرچه قدر تعداد تکرار هر کلمه  بیشتر باشه فضایی که اون کلمه توی عکس اشغال می کنه بیشتره.سعدی داستان این پست از اونجایی شروع شد که می خواستم ببینم ابر کلمات شاعران معروف ما  چه شکلیه و با خودم گفتم که خوبه دست به کار شم، صورت مسئله به این قشنگی حیفه حل نشه خلاصه داستان به سادگی صورت مسئله نبود و یه سری چالش هایی هم داشت از همه مهم تر اینکه چه طوری این منبع داده از شعر ها رو پیدا کنم اصلا چه طوری این ابر کلمات رو بسازم و ... تو ادامه این پست قرار درباره این چالش ها صحبت کنم و کارایی رو که انجام دادم توضیح بدم اگه دوست دارین بدونید که چالش های دیگه چی بوده و چه طور حل شده ادامه رو بخونید ولی اگه نه می خواین فقط خروجی ها رو ببیند توی این لینک از گیت هاب که کل پروژه توش هست می تونین خروجی برنامه رو برای بعضی از شاعرامون ببیند و مثل من کیف کنید.چالش اول : دیتا ستیکی از بهترین منابع برای شعر فارسی بدون شک وبسایت گنجور هست برای این کار ما از منابع وبسایت گنجور استفاده کردیم به این صورت که یه سرچ ساده تو وبسایت زدم و دیدم که نمیشه به سادگی دیتا بیس مربوط به شعرا رو پیدا کرد پس دست به کار شدم و دیدم بهترین راه استفاده از نرم افزار ساغر هست پس نصبش کردم و با یه کم ور رفتن باهاش فهمیدم که از یک دیتاست sqlite استفاده می کنه چند تا کار می شد انجام بدم یکی به تفکیک شاعرا از دیتا ها خروجی بگیرم که نه راه حل معقولی نبود پس رفتم سراغ یه ابزار خوب،  از کتابخونه sqlite تو python استفاده کردم و با چند خط کد خیلی راحت به دیتاست دسترسی پیدا کردم.import sqlite3
conn = sqlite3.connect(&#039;ganjoor.s3db&#039;) اگه بخواین می تونین تو اون لینک گیت هابی که اول پست دادم و دوباره اینجا هم می زارم دیتا ست گنجور رو پیدا کنید و باهاش مثل من بازی کنید .تا اینجا مرحله ی اول با موفقیت تموم شد و موفق شده بودم دیتا ها رو پیدا کنم.چالش دوم : فهمیدن ساختار دیتا بیسبرای اینکه بتونیم ساختاری رو که نیاز داریم از دیتا بیس بیرون بکشم نیاز به این داشتیم که بفهمم دیتابیس به چه صورتی طراحی شده با استفاده از دستور زیر اسم جداولی که در دیتا بیس موجوده رو دریافت کردیم .cursor = conn.execute(&amp;quotSELECT name FROM sqlite_master WHERE type=&#039;table&#039;;&amp;quot)
print(cursor. fetchall())
&gt;&gt; [(&#039;cat&#039;,), (&#039;poem&#039;,), (&#039;poet&#039;,), (&#039;verse&#039;,), (&#039;fav&#039;,), (&#039;gver&#039;,), (&#039;gil&#039;,), (&#039;poemsnd&#039;,), (&#039;sndsync&#039;,)]تو خروجی کد بالا ( که بعد از &lt;&lt; مشخص شده) میشه دید که ما 9 تا جدول داریم .  تو مرحله بعد نوبت به بررسی فیلد های مربوط به جداول میشه برای اینکه بتونیم فیلد های موجود رو ببینم می تونیم از دستور زیر استفاده کنیم.cursor.execute(&amp;quotpragma table_info(&#039;cat&#039;)&amp;quot)
print(cursor.fetchall())
&gt;&gt; [(0, &#039;id&#039;, &#039;INTEGER&#039;, 1, None, 1), (1, &#039;poet_id&#039;, &#039;INTEGER&#039;, 0, None, 0), (2, &#039;text&#039;, &#039;NVARCHAR(100)&#039;, 0, None, 0), (3, &#039;parent_id&#039;, &#039;INTEGER&#039;, 0, None, 0), (4, &#039;url&#039;, &#039;NVARCHAR(255)&#039;, 0, None, 0)]به عنوان مثال جدول cat که خلاصه شده category هست 5 تا فیلد داره که به ترتیب شامل :id  -- INTEGER poet_id  --- INTEGERtext  -- NVARCHARparent_id -- INTEGERurl --- NVARCHARبعد از اینکه همه ی فیلده ای جداول دیتا بیس رو بررسی کردم فهمیدم که چهار جدول cat, poem, poet, verse جداولی هستن که بهشون برای این کار نیاز داریم برای درست کردن ابر کلمات ما نیاز به متن تمام شعر های یک شاعر داریم که با شمارش کلمات اون بتونیم ابر کلمات رو بسازیم.نتیجه ی بررسی ها رو میشه به صورت شکل زیر خلاصه کرد که ارتباطات بین جداول هم تو شکل زیر مشخص شده.ساختار دیتاست گنجوراول از همه از جدول cat(category) شروع کنیم چیزایی چیزی که بیشتر از همه توی این جدول به چشم می یاد ارتباط بین cat و poet(شاعر) هست به این صورت که هر شاعر ممکنه تو دسته های مختلفی شعر داشته باشه مثلا برای حافظ ما غزلیات رو به عنوان یک دسته و منظومه ها رو به عنوان یه دسته دیگه داریم با این توضیح ارتباط داخلی cat هم مشخص شد .جدول بعدی poem (شعر یا منظومه) هر شاعر قائدتا شعر هایی داره که اسم اون شعر ها رو ما توی این جدول نگه داری می کنیم و اما جدول آخر verse(آیه یا شعر) که متن مربوط به هر شعر رو در اینجا میشه پیدا کرد. و صد البته ارتباط هایی که بینشون هست.به عنوان مثال من می خوام تمام شعر های حافظ رو پیدا کنم برای این کار اول باید آیدی مربوط به حافظ رو توی جدول  poet پیدا کنم بعد تمامی cat هایی که آیدی حافظ رو توی فیلد poet_id دارن تا اینجا ما منظومه ها یا مجموعه هایی که حافظ نوشته رو پیدا کردیم حالا میریم سراغ poem و توی اون با استفاده از cat_id شعر هایی که برای حافظ هست رو در نظر می گیرم و در انتها از جدول verse کل ابیات مربوط به حافظ رو بیرون می کشیم.. بذارین یه لیوان آب بخورم یه کم داستان پیچیده شد .. توی این فرصت به دیدتون بهترین روش برای گرفتن خروجی برای این دیتا ها چیه؟چالش سوم : for یا queryبله حلقه ی for ... . اگه جواب شما هم استفاده از این حلقه بوده باید بگم که راه حل ساده تری هم هست و اون هم استفاده از JOIN در دیتابیس اینجا بود که یکی از دوستام وارد عمل شد و بهم کمک کرد همینجا جا داره ازش تشکر کنم (مرسی کوچولو:) .&amp;quotSELECT verse.text from poet left join cat on poet.id = cat.poet_id left join poem on cat.id = poem.cat_id left join verse on verse.poem_id = poem.id where poet.id={}&amp;quotخیلی قشنگ کاری رو که من با چند تا حلقه ی for انجام دادم رو توی یه sql query  خلاصه کرد. شما هم ببینید و مثل من لذت ببرید. چالش چهارم : stop wordsبرای این کشیدن ابر کلمات اول از همه باید تعداد کلماتی که تو شعر ها به کار رفته رو به دست بیاریم، تو مرحله ی قبل ما متن تموم شعر ها رو به دست آوردیم حالا باید بریم سراغ کلمه شماری برای این کار از کد زیر استفاده کردم.بعد از اینکه چند بار این کار رو انجام دادم و خروجی رو دیدم متوجه شدم یه سری کلمات مثل ز ، در، اما و ... تکرار خیلی زیادی دارن و باید از روند شمارش حذف بشن یه کم سرچ کردم و دیدم که این جور کلمات تو انگلیسی معروف به stop words هستن و معادل نه چندان دلچسب ‌واژه ایستاده‌ضشده رو در فارسی براش درنظر گرفتن طبق تعریف ویکی پدیا :کلماتی هستند که قبل یا بعد از پردازش داده‌های زبان طبیعی پالایش (تصفیه) می‌شوند. معمولا واژه‌های پالایشی به رایج‌ترین کلمات در یک زبان اشاره دارد، اما هیچ فهرست جامعی از این واژه‌ها، که در تمام ابزارهای پردازش زبان طبیعی استفاده شوند، موجود نیست.اول تصمیم گرفتم خودم یه لیست ازشون بسازم بعد گفتم چه کاریه سرچ می کنم و تونستم چند تا لیست خوب پیدا کنم ولی متاسفانه منابعی که ازشون استفاده کردم رو یادداشت نکردم :( . از اینجا هم می تونین این کلماتی رو که در نظر نگرفتم رو ببنید.چالش پنجم : ایجاد ابر کلماترسیدیم به قسمت ساده ماجرا یعنی کشیدن ابر کلمات این از کتابخونه wordcloud_fa استفاده کردم که با یه سرچ ساده می تونین کلی آموزش ازش تو نت پیدا کنید باس همین زیاد جزئیات این کتاب خونه رو نمی گم و فقط به آوردن اسمش اینجا بسنده می کنیم.همیشه خروجی کار خیلی لذت بخشه یه چند از این خروجی ها باز هم ببینم بد نیست.حافظمولویبقیه ی این خروجی ها و هر چیزی که لازمه برای ایجاد این ابر کلمات داشته باشین رو می تونین توی این ریپوی گیت هاب ببیند.</description>
                <category>Mehdi Mehraban</category>
                <author>Mehdi Mehraban</author>
                <pubDate>Tue, 16 Nov 2021 22:04:26 +0330</pubDate>
            </item>
                    <item>
                <title>جسارت یا استقامت</title>
                <link>https://virgool.io/@zeoses/%D8%AC%D8%B3%D8%A7%D8%B1%D8%AA-%DB%8C%D8%A7-%D8%A7%D8%B3%D8%AA%D9%82%D8%A7%D9%85%D8%AA-z5nxktogza15</link>
                <description>چند وقت پیش یکی از دوستام این صورت مسئله رو مطرح کرد که:‌ افرادی که موفق می شوند یا جسارت دارند یا استقامتو با این صورت مسئله بهم پیشنهاد کرد که درباره ی راه های زیاد شدن استقامت بنویسم منم قبول کردم و این شد که این پست خلق شد.اولش حرف دوستم رو قبول نداشتم و نیاز داشتم یه جور خودم رو قانع کنم تا اینکه مثال دو تا استیو به ذهنم رسید و دیدم اره بد بیراه هم نمی گه ولی قانع نشدم که یکی از این ها باعث موفقیت می شه بلکه به دید من این ها مکمل هم هستن ولی در دنیای بیرون از ما یکی از این ها نمود پیدا می کنه و معرف شخصیت ما می شه مثلا اگه استیو جابز بعد از شکستش بلند نمیشد دیگه اون ادمی که ما می شناسیم نبود یا استیو وازنیاک اگه جسارت این رو نداشت که آرزوی داشتن یک کامپیوتر شخصی رو تو سرش داشته باشه ما اون رو هم نمی شناختیم البته حرف با قطعیت زدن درست نیست ولی موضوع اصلی نمود این ویژه گی ها در دنیای بیرونه.  این طوری بود که خودم را قانع کردم و استارت کار رو زدم.من خودم کلا آدمی هستم که دنبال ساده ترین راه ها برای رسیدن به هدفش بود پس فکر نکنید منم این چیزایی‌رو که می گم تو خودم دارم منم دارم یاد می گیرم و چیزایی که تو ذهنم دارم رو می گم و اول از همه این رو به خودم می گم و دوم به خواننده ای که اگر دوست داشت از این نوشته برای خودش چیزی برداره  پس در درجه اول شک کنید به گفته های من و در درجه دوم جایی اگر نظری داشتید حتما بهم بگین .. .خوب بریم سراغ خواسته ی دوستم یعنی چه طور باید استقامت خودمون رو بیشتر کنیم به دید من برای این کار میشه چیزایی زیادی رو ذکر کرد و هر کسی هم می تونه کلی نکته بگه ولی به دید من اولین و مهم ترین راه برای این که تسلیم نشیم اینه که کاری رو که دوست داریم انجام بدیم .انجام دادن اونچه که دوسش دارین  خیلی اتفاق افتاده که گذر زمان رو از دست دادم چون مشغول کاری بودم که دوسش داشتم، هر کسی حتما این اتفاق براش افتاد اگه این طور نیست پس باید گشت و کاری رو که که حتی زمان رو براش گم می کنید پیدا کنید، حتما می گین من دوست دارم بشینم و تلویزیون نگاه کنم و این کار باعث میشه هر روز چاق تر از دیروز بشم درسته ولی بازم من می گم کاری رو که دوست داری انجام بده ولی برای خودت یه شرط قبل از شروع کردن به دیدن فیلم باید چند تا شنا برم یا اگر امروز به جای دو نات خوشمزه ام ، تونستم سالاد فصلم رو بخورم می رم و قسمت ده از فصل بیست سریال سیب های نشسته رو از نات بی او می بینم این قانون رو تو کتاب خرده عادت ها خوندم چیزای باحال زیاد می گه نویسنده تو کتابش و به دیدم، میشه به عنوان کتابی که می تونه کمک حال ما هم باشه بهش نگاه کرد خوب زیاد حاشیه نریم بگذریم .. .نترس از اینکه کار بعدیت چیه چند روز پیش دفاع پایان نامه ام بود بعد دفاعم استاد داورم حرف قشنگی بهم زد گفت:مهربان طوفانی شروع می کنه ولی پشتش که باد بخوره دیگه معلوم نیست بگرده.نگاه کردم دیدم حرف قشنگیه و کاملا درست میگه با خودم نشستم وفکر کردم و گفتم یعنی اشکال کار کجاست و به این نتیجه رسیدم که من بیشتر وقت ها از تموم کردن یه کار می ترسم چون نمی دونم بعد اون چه کاری رو شروع کنم در حالی که این دید کاملا اشتباهه زندگی فرصت های زیادی جلو روی آدم می زاره یه عده هستن که می گن اخ جون چالش جدید برم تو کارش تا سریع تموم شه دسته دوم می گن هوففف بازم یه مشکل دیگه دیگه ... دسته ی سومی ها می گن اره این یه چالش جدید باید حلش کنم ولی من که هنوز اون کار قبلیم رو تموم نکردم پس سریع می ره پی اون تا اون رو تموم کنه فرصت این کار رو از دست داده حالا اون کار قبلی رو هم فقط می خواد تموم کنه . من تو دسته ی سوم جا می گیرم، اینجاس که آدم همیشه یه پله از فرصت بعدی عقب می یوفته پس نترس از اینکه بعد این باید چه کاری بکنی کار بعدی خودش پیدا میشه من بهت قول می دم.رو عادت هات کار کنیاد دو تا کتاب افتادم یکیش قدرت عادته و اون یکی عادت های اتمیه (البته ترجمه ای که من خوندم ازش کتاب رو خرده عادت ها نام گذاری کرده) هر دوشون تو ژانر خودشون عالین و جای خوندن داره نمی خوام زیاد ازشون بگم ولی به دیدم خوندنشون خالی از لطف نیست و می تونی کمکمون کنه خوب بگذریم ازشون زیاد حاشیه نریم که زود بتونیم بریم سراق کارامون .. ..خیلی از عادت هامون طوری شکل گرفتن که ما رو از چیزایی که می خوایم بهشون پایبند بمونیم دورمون می کنن مثلا من هر وقت از چیزی ناراحتم دوست دارم مشغول خوردن هله هوله شم و این می تونه من و از استقامتی که برای رسیدن به وزن مورد علاقه ام داشتم دور کنه پس باید چی کار کنم به دید خودم بهتره یه کم عادت های بدمون رو پیدا کنیم و یه دستی روشون بکشیم دورشون بندازیم یا درستشون کنیم و یا اینکه برین سراغ خلق کردن عادت ها جدید تو وجودمون این دو تا کتابی که گفتم هم می تونن کمک های خوبی باشن  برای این کار . اگه همراه نداری همراه خودت باشیادم می یاد وقتی می خواستم باشگاه رو شروع کنم سختم بود که تنهایی پاشم و برم باشگاه تا اینکه یه همراه برای خودم پیدا کردم البته بیشتر اون من و برای همراهی خودش پیدا کرده بود ولی مهم اصل همراهیه اگه بتونی برای کار خودت همراه پیدا کنی خیلی خوبه اما بترس از روزی که همرات یه روز باشگاه باهات نیاد اون وقته که تو هم می گی اشکال نداره بزار باس فردا مثل دویدن من و دوستم میشه اون منتظر که من خبرش کنم و منم منتظرم که اون خبرم کنه این طوری هر دو یه بهانه قشنگ داریم اون یکی ... همراه خوبه ولی بهترین همراه خود آدمه بهتره همیشه همراه خودت باشی باید راه هایی پیدا کنی که بتونه بهت انگیزه بده دوست داشتم این موضوع رو تو یه زیر عنوان دیگه بگم ولی خوب زیاد نمی خوام طولانی بشه این پست پس همینجا می گم، سعی کن کارت رو به هدفی گره بزنی که دوسش داری یا برات مفیده و به واسطه ی اون به خودت انگیزه بده و هر روز سعی کن از خود دیروزت بهتر بشی این طوریه که می تونی از چیزی که ساختی خوشحال باشی . هیچ وقت قدرت قدم های کوچک رو دست کم نگیر اگه هر روز یه 0.1 درصد بهتر دیروز باشی تو یه سال می تونی 36.5 درصد از آدمی که سال قبل بودی بهتر باشی .حرف آخرحس می کنم فهمید که زیاد سعی کردم این نوشته زود جمع بشه خوب ببخشید واقعا ادامه دادن برام سخت بود شاید باورش سخت باشه ولی نوشتن همین ها هم برای نزدیک به یک ماه زمان برد نه اینکه نوشنش سخت باشه بلکه برام غلبه بر این مقاومتی که جلوی نوشتم رو می گرفت سخت بود خلاصه خیلی چیزا میشد گفت ولی گفته نشد مثل خیلی کتاب ها که میشد نوشته بشه و هنوز نشده مهم اینه که آدم شروع به نوشتن کنه من این ها رو گفتم اگه تو هم حرفی برای گفتن داری پس شروع کن به نوشتن منم حتما می خونمش. :)</description>
                <category>Mehdi Mehraban</category>
                <author>Mehdi Mehraban</author>
                <pubDate>Mon, 01 Feb 2021 19:46:48 +0330</pubDate>
            </item>
                    <item>
                <title>تاملی در &quot;سختیش فقط شروع کردنشه&quot;</title>
                <link>https://virgool.io/@zeoses/%D8%AA%D8%A7%D9%85%D9%84%DB%8C-%D8%AF%D8%B1-%D8%B3%D8%AE%D8%AA%DB%8C%D8%B4-%D9%81%D9%82%D8%B7-%D8%B4%D8%B1%D9%88%D8%B9-%DA%A9%D8%B1%D8%AF%D9%86%D8%B4%D9%87-b23zcxzycpqw</link>
                <description>همه مون حداقل یه بار این جمله رو از یکی شنیدیم حالا با ادبیات های مختلف ولی همه شون یه چیز رو می گن که شروع کن. یه کم فک کنید و جواب این سوال رو به خودتون بدین &quot;من چند بار شروع کردم؟&quot; حتما جواب این سوالی عددی بزرگتر از صفره ولی حالا به این سوال جواب بدین &quot;من چند بار وقتی چیزی رو شروع کردم تمومش کردم؟&quot; شاید جواب این سوال صفر رو هم شامل بشه ولی ولش کنید چون فک کنم تا اینجا مسئله رو درک کرده باشین خیلی از ما سلطان شروع کردنیم اما وقتی که حرف از تموم کردن و یا استمرار که می شه اکثرمون جا می زنیم البته خیلی از کار ها تو زندگی تموم نمی شن ولی اگه اون کارها عادت بشن تو زندگیمون می تونه کیفت زندگیمون رو بالا ببره مثلا مطالعه روزانه 20 صفحه کتاب شاید عدد بزرگی نباشه ولی عین قطره های آب وقتی جمع بشه دریا درست می کنه. تو این پست قرار با هم این رو بررسی کنیم که چرا خیلی از چیزایی رو که شروع می کنیم نیمه کاره رها می کنیم .forest gump نمیدونم چند نفر از شما فیلم forest gump رو دیده تو این فیلم کارکتر اصلی یک روز تصمیم به دویدن می گیره و بدون هیچ دلیل خاصی می دوئه و انقدر این کار رو ادامه می ده که کلی دنبال کننده پیدا می کنه ازش می پرسن چرا می دویی میگه چون دوست دارم  دویدن رو اما هر کسی این دویدن رو، با هدفی گره می زنه به قول شاعر که می گه &quot;هر کسی از ظن خود شد یار من &quot; و یه روز به خودش می گه خوب بسه فک کنم باس برگردم خونه و تموم می کنه چیزی رو که شروع کرده. حالا من نمی گم انقدر بی هدف شروع کنیم اما میشه مثل تام هنکس تو این فیلم بود کاری که شروع کردیم رو به بهترین شکل ادامه بدیم و پیش ببریم و به جایی برسیم که به خودمون بگیم خوب بریم سراغ بعدی.انتخاب کن چیزی رو که می خوایچک لیست کاپیتان آمریکا(منبع)خیلی از ما اصلا به مرحله شروع کردن نمی رسیم و تو مرحله تصمیم می مونیم چون دور خودمون رو از انتخاب های بیشماری پر می کنیم نظریه انتخاب می گه که &quot;اگه شما کلی گزینه برای انتخاب داشته باشین هیچ کاری نمی کنید&quot;  برای من که خیلی پیش اومده که تو این حالت قرار بگیرم و کاری نکنم کاری که به من خیلی کمک کرده جدا کردن لیست ها از هم بوده مثلا کارایی که الویت زیادی داشته رو از آرزوها، تصمیمات و کارهای اولویت کم جدا کردم  مثلا من دوست دارم پیانو یاد بگیرم، با خودم رو راست بودم و به خودم گفتم که آیا این لازمه آیا واقعا این رو می خوای یا نه و به این نتیجه رسیدم که من دوست دارم یاد بگیرم ولی اولیت اصلی من نیست پس انتقالش دادم به یه زمان دیگه ولی حتما انجامش می دم.اگه انصافانه به لیست کارامون نگاه کنیم می تونیم خیلی از کار هایی که اولویتی ندارن رو حذف کنیم . یه نگاهی به چک لیست کاپیتان آمریکا بندازین(عکس بالا) بیشترش دیدن یه سری فیلم هاس و توش میشه سفر به ماه رو هم دید اما کدومش براش شدنی تره قائدتا دیدن این فیلما و سفر به ماه یا بالا رفتن از دیوار برلین رو میشه به یه زمان دیگه انداخت با اینکار انتخابای ما محدود میشه و بهتر می تونیم تصمیم بگیریم و شروع کنیم .حالا که انتخاب ها مون محدود تر شدن بهتره کارهایی رو که می خوایم انجام بدیم رو با هدف هامون گره بزنیم تا فقط شروع کننده نباشیم این طوری اگه بین راه دلسرد هم شدیم می تونیم مرور کنیم هدف هامون رو تا انرژی ادامه دادن رو بگیرم.بیا بی بهانه شروع کنیم11:11(منبع)خوب حالا باید شروع کنیم ولی بزار شنبه بشه نه اول ماه بهتره حالا که اول ما شده بهتر صبر کنم ساعت ها جفت بشه ولی نه همه اینا بهانه اس چرا شروع نمی کنی مگه شنبه ی اول ماه که ساعت ها جفتن چی داره برای شروع کردن یه نفس عمیق بکش از بین تموم اون کار هایی که انتخاب کردی یکی رو بردار و شروع کن یادت باشه این کار هیچ چیز راحتی برات نداره کلا باید انتخاب کنی که برای چه هدفی سختی بکشی بهت از همین جا بگم چیز راحتی قرار نیست اتفاق بیوفته و هی باید بین سختی ها ی مختلف جا به جا بشی اما یکی از لذت های زندگی اینه که بتونه یه خط قرمز روی کاری که انجام دادی بکشی منظورم اینه که به هدف سختی که انتخاب کردی برسی ولی همیشه این کار ها خیلی بزرگ نیستن مثلا یه گلدون تازه خریدی و یه دونه توش کاشتی و باید هفته ای دو بار بهش آب بدی باس این که یادت نره تو لیست کار های هفته می زاریش شاید انجام یکی دو هفته ی این کار لذت بخش نباشه ولی وقتی می بینی که گلت داره رشد می کنه اون وقته که خوشحال میشی یه سری کار ها هم تو زندگی مثل آب دادن به گلدون خالی می مونه شاید الان هیچی توش نبینی غیر خاک ولی اگه دونه ی درست رو توش بکاری اون وقته که از قشنگ ترین گلی که توش رشد کرده هم تو و  هم دیگران لذت می برن. آها یه چیز دیگه هم بگم بد نیست خیلی از ما کمال گراییم فک می کنیم که باید همه چیز فراهم باشه تا بشه شروع کرد نه تو با دمپایی هم می تونی پیاده‌رویی کنی و این دلیل نمیشه که یه ماه صبر کنی که یه لباس ست و یه کفش عالی باس این کار بخری و بعد شروع کنی سعی کن با هر چی داری شروع کنی بهت قول می دم کم کم اوضاع بهتر میشه.استارت بزن مرد(منبع)فقط شروع کردن کافیه ؟شروع کردن مثل استارت زدن ماشین می مونه می تونی کلی استارت بزنی ولی وقتی موتور یا حتی باتری ماشینت خراب باشه محاله که بتونی ماشین رو روشن کنی ولی خوب تا استارت نزنی نمی تونی بفهمی که آیا ماشینت سالمه یا نه ولی اگه یه بار استارت زدی و دیدی نه روشن نشد باید بری پیش یه تعمیر کار تا علت رو جویا بشی تو مثال ماشین این تعمیر کار بیرونیه ولی اگه دستی بر آتش داشته باشی خودت هم می تونی راست و ریستش کنی اما در مورد خودمون چی؟  آیا باید از کسی کمک بگیریم که ببینم نیروی محرک مشکلی داره یا نه آخه خیلی ها رو دیدم که فقط شروع می کنن و بعد یه مدت موتورشون خراب میشه این خراب شدنه هزار و یک دلیل می تونه داشته باشه ولی بهترین تعمیر کار برای خود آدم خودشه چون می تونه اعماق سیاه وجودش رو ببینه و با یه کمی تلاش دستی به موتور محرکش بزنه البته تعمیرکار بیرونی هم می تونه کمکش کنه ولی خوب شاید راحت نباشه با کسی در این رابطه حرف بزنه اینجاس که می تونه بره سراغ یار مهربان، همون کتاب خودمون ، کلی کتاب هست که می تونه کمک کنه یا حتی می تونه پادکست گوش کنه به دید من مهم اینه که مشکل رو پیدا کنید بعد می تونید راه درست تعمیر اون رو پیدا کنید.(منبع)Elon Muskبالخره شروع کردم دوست دارم اینجا بگم که شما الان در جمع دو درصدی قرار گرفتین که شروع کردن ولی باید بگم که چرت گفتم عملا نزدیک به 100 درصد افراد (با فرض اینکه مشکلی نداشته باشن) شروع ‌می‌کنن تقریبا هر کسی یه هدفی رو تو زندگیش شروع می‌کنه یکی رژیم می گیره، یکی هم میشینه پای تلویزیون و هله هوله می خوره اون یکی دانشگاه رو شروع می‌کنه و یکی هم ترک تحصیل می کنه هر کاری که دوست دارین بکنید ولی هی پشت هم هدفای گنده رو شروع نکنید یه هو می بینی بیست تا کار رو با هم شروع کردی یه رابطه ی جدید رو شروع کردی ولی از اون طرف چون داری روی استارت آپ جدیدت کار می کنی وقت نمی کنی درست و حسابی به کلاس آنلاینی که برای زبانت ثبت نام کردی برسی و هی ناله می کنی چرا دوست دختر/پسرم بهم خیانت کرده من اگه بگم که نمیشه چند تا چیز رو با هم شروع کرد حتما می گین چرت نگو ایلون ماسک تونست پس ما هم می تونیم خوب اره شما هم می تونید ولی نه الان همین آدمی که شما می گین اول با یه شرکت شروع کرد اون رو به جایی رسوند و بعد شروع کرد به کارهای مختلف کرد و شد اینی که الان هست.یه مثال معروفی هست که می گه &quot;با یه دست چند تا هندونی رو می تونی بلند کنی&quot; به دید من وقتی اولویت هات زیاد میشن در واقع هیچ اولویت نخواهید داشت یاد جمله اساسی فلسفه ی مینیمال افتادم که می گه :Less is Moreمسابقه ی خرگوش و لاکپشتهمه ی ما داستان مسابقه ی خرگوش و لاک پشت رو می دونیم و شنیدیم اما الان می خوام یه ورژن جدید از این مسابقه رو براتون تعریف کنم قبلا این ورژن رو توی یه فیلم دیده بودم ولی نتونستم پیداش کنم پس براتون تعریفش می کنم.  توی یه روز گرم و تابستونی خرگوش و  لاکپشت تصمیم می گیرن که مسابقه ای با هم بزارن تا ببینن کی سریع تره هر دو روی خط شروع می ایستند و شروع به دویدن می کنن خرگوش همون اول مسابقه کلی از لاکپشت جلو می افته و فک می کنه کو تا لاکپشت برسه بهم به خودش میگه بد نیست یه چرتی بزنم و همونجا می خوابه و از هدفش غافل میشه اما لاک پشت قصه ی ما آهسته و پیوسته خرگوش رو که خواب بوده رد می کنه و به برد می رسه آیا خرگوش کند تر از لاک پشته قاعدتاً نه این نشون می ده که آهسته و  پیوسته همیشه بهتر از گهی و تند و گهی خسته اس. اما این پایان ماجرا نیست خرگوش که دید چه اشتباه بزرگی کرده از لاکپشت می خواد که دوباره این مسابقه رو برگزار کنن لاکپشت هم قبول می کنه خرگوش که از شکست قبلی درس گرفته بود این بار با عزم جزم برای برد سریع و ثابت قدم میشه و این دلیلی میشه تا با اختلاف زیادی از لاکپشت مسابقه رو ببره این شون میده که سریع ثابت قدم همیشه از آهسته و پیوسته بهتره تو اهدافمون هم همینه اگه سریع و ثابت قدم بمونین خیلی بهتر می تونید به مقصد برسید.حالا نوبت لاکپشت بود که درخواست مسابقه ی مجدد بکنه اما اینبار به جای اون مسیر قبلی یه مسیر جدید رو برای مسابقه پیشنهاد داد این مسیر برخلاف مسیر قبلی ساده نبود و یه رودخونه از وسط این مسیر می گذشت وقتی شروع به حرکت کردن خرگوش سریع به رودخونه رسید ولی چون شنا بلد نبود همونجا متوقف شد و لاکپشت آهسته به خرگوش رسید و از رودخونه گذشت و برنده ی مسابقه شد این نشون میده سریع ثابت قدم بودن زمانی جواب میده که پتانسیل های خودت رو بشناسی و آماده برخورد با مشکلات باشی .شاید فک کنید این پایان داستانه ولی نه حالا که لاکپشت و خرگوش با هم دوست شده بودن تصمیم گرفتن این مسابقه رو با هم تموم کنن خرگوش از خط شروع لاکپشت رو کول کرد و سریع با هم به رودخونه رسیدن لاکپشت تنی به آب زد و خرگوش پشتش سوار شد و با هم از مسیر رد شدن و بعد از اون دوباره خرگوش لاکپشت رو تا خط پایان کول کرد و هر دو با هم از خط پایان رد شدن به دید من این پایان قشنگی برای یه داستان مدرن می تونه باشه گاهی ممکنه خیلی سریع پیش بری ولی وقتی به مشکلی برخوردی باید سرعتت رو کم کنی و آهسته اما پیوسته ادامه بدی و تسلیم نشی و اگر شد دوباره سریع حرکت کنی.پس تصمیم بگیر انتخاب کن و شروع کن ... .اما یادت نره که حتما باید چیزی رو که شروع کردی به جای مناسبش برسونی و اون وقته که می تونی به خودت بگی: خوب بسه فک کنم باس برگردم خونه.</description>
                <category>Mehdi Mehraban</category>
                <author>Mehdi Mehraban</author>
                <pubDate>Fri, 04 Dec 2020 15:45:29 +0330</pubDate>
            </item>
                    <item>
                <title>سیستم های توصیه گر (Recommender System): صد دانه یاقوت</title>
                <link>https://dataio.ir/سیستم-های-توصیه-گر-recommender-system-صد-دانه-یاقوت-vsrf2gwzdq6c</link>
                <description> این پست قسمت چهارم از سری چندگانه سیستم‌های توصیه گر هست و توی این قسمت می‌خواهیم درباره نحوه‌ی پیاده سازی یک سیستم توصیه گر بر مبنا فیلترینگ مشارکتی (Collaborative Filtering) باهم صحبت کنیم.تو قسمت اول از این سری ما درباره کلیت سیستم‌های توصیه گر صحبت کردیم و با مثال فروشگاه‌های تارگت جلو رفتیم اگر هنوز نمی دونید که سیستم‌های توصیه گر چیه بهترِ که از این پست شروع کنید.تو قسمت دوم کمی قدم به جلو گذاشتیم و بازم کمی بحث رو تخصصی کردیم و از روش‌های موجود در این نوع سیستم‌ها گفتیم و با مثال‌هایی جلو رفتیم اگه با این نوع سیستم‌ها آشنا هستید و می دونید چی هستن و چیکار می کنن ولی روش‌های موجود تو این سیستم ها رو نمی دونید توصیه می‌کنم سری بهش بزنید.اما تو قسمت سوم آستین‌ها مون رو بالا زدیم و یه کم کار رو عملی کردیم و باهم یه سیستمی که بر مبنای فیلترینگ بر اساس محتوا (Content Based Filtering) بود رو پیاده‌سازی کردیم که می تونست با توجه به آهنگ در حال بخش توصیه‌ی یک پلی لیست رو به کاربر انجام بده .با این مقدمه می ریم سراغ قسمت چهارم ولی قبل از هزچیزی باید این توضیح بدم که توی این پست ما زیاد وارد جزئیات نمی شیم و روش کار رو به صورت مو به مو شرح نخواهیم داد چون هم متن طولانی میشه و هم حوصله سر بر، در انتهای این پست کدهای مربوط به این کار رو از طریق گیت هاب در اختیارتون می زارم که با بررسی اون می تونین یه سری از جزئیات رو ببینید و کاملا متوجه بشین اما نکته ی مهم تری که باید قبل از شروع بگم اینه که من برای نوشتن این کدها از مقاله‌ای که در این لینک هست کمک گرفتم و به پیاده‌سازی اون پرداختم ولی برای این پست مقاله رو کاملاً ساده کردم و بعضی از قسمت‌های اون رو حذف کردم که ساده‌تر و قابل‌فهم‌تر باشه .کاری که توی این مقاله انجام میشه پیش‌بینی ریت برای فیلم‌هایی که کاربر هنوز بهشون ریتی نداده و بر اساس این پیش‌بینی‌ها ما حدس می‌زنیم که آیا کاربر از اون فیلم خوشش می یاد یا نه .خوب حالا بریم سروقت پیاده‌سازی کردن چیزی که می خوایم ولی قبل از هر چیزی باید اطلاعات درست‌وحسابی(به این اطلاعات درست‌وحسابی ما می گیم دیتاست ) برای انجام این کار داشته باشیم ولی سؤالی که پیش می یاد این اطلاعات رو از کجا می شه تهیه کرد..؟!برای جواب این سؤال باید بگم با سرچ کردن عملاً همه‌چیز میشه پیدا کرد و یا میشه از سایت هایی مثل kaggle یا گوگل سرچ دیتاست کمک گرفت حتی به‌راحتی با یه سرچ فارسی می تونید کلی دیتاست پیدا کنید.movielens ولی دیتاستی که ما ازش استفاده می‌کنیم از سایت movielens است که در این دیتابیس ۹۴۳ کاربر وجود دارد که ۴۴۷ تای آنها بیش از ۶۰ امتیازدهی داشته‌اند. در کل این دیتابیس شامل ۱۰۰۰۰۰ امتیازدهی به ۱۶۸۲ فیلم می‌باشد که هرکدام از کاربران حداقل به ۲۰ فیلم امتیاز داده‌اند . پیاده‌سازی این الگوریتم شامل مراحلی است که به ترتیب با توجه به این مراحل ما پیش می‌رویممرحله اول: تبدیل داده‌های خامداده‌هایی که توی این دیتاست قرار دارن خام‌اند( بدین صورت که در هر سطر آیدی کاربر، آیدی فیلم، ریت کاربر و زمانی که این انتخاب انجام گرفت وجود دارد. در شکل زیر کاملا مشخص است) و ما باید این داده‌های خام رو به شکلی که برای ما قابل‌استفاده‌اند تبدیل کنیم برای این کار ما دو نوع رویکرد داریم یکی بر اساس کاربر-اقلام( user-item) که هر سطر نماینده‌ی یک کاربر هست و هر ستون برابر با ریتی هست که آن کاربر به آن فیلم داده است و رویکرد دیگری اقلام-کاربر (item_user) که ما در اینجا جای سطر و ستون تغییر می کنه در اینجا ما از رویکرد اول استفاده می‌کنیم.داده‌های خام movielensداده‌ها بعد از تبدیل به ماتریس user_itemمرحله‌ی دوم : تقسیم داده‌هابعد از این که داده‌ها رو مثل صد دانه یاقوت کنار هم قرار دادیم و از پراکندگی آن‌ها جلوگیری نمودیم حالا می ریم سراغ مرحله‌ی بعد که توی این مرحله باید داده‌ها رو به دو قسمت آموزش و آزمون تقسیم کنیم که این کار برای این‌ است که نتایجی که به‌واسطه‌ی داده‌های آموزشی به دست آوردیم رو به واسطه ی داده‌های آزمون مورد آزمایش قرار بدیم در اینجا ما از مجموع ۹۴۳ ، ۱۸۹ تا رو برای آزمون در نظر می‌گیرم و مابقی رو برای آموزش. مرحله‌ی سوم: خوشه‌بندی داده‌هاحالا باید از داده‌های آموزشمان استفاده کنیم یکی از رایج‌ترین راه‌های استفاده از داده‌ها استفاده از الگوریتم‌هایی که برای خوشه‌بندی استفاده میشن که با این کار ما داده‌ها رو به خوشه‌هایی که مدنظر ماست تبدیل می‌کنیم (که در اینجا ما سه خوشه در نظر گرفتیم ) برای خوشه‌بندی ما الگوریتم Kmeans استفاده کردیم که یکی از الگوریتم‌های پراستفاده‌ی این حوضه به‌حساب می یاد و با یه سرچ ساده می تونید با نحوه‌ی عمل کرد این الگوریتم آشنا بشین .برای پیاده‌سازی این الگوریتم ما از کتابخانه‌ی scikit-learn در پایتون استفاده نموده‌ایم و همان‌طور که در تصویر زیر می‌بینید به‌راحتی و با چند خط کد می‌توانید از آن استفاده کنید.خوشه‌بندی با kmeans در scikit-learnمرحله‌ی چهارم: پیدا کردن شباهت پیرسون و پیش‌بینی آخرین و مهم‌ترین مرحله همین مرحله به‌حساب می‌آید. در این مرحله ما بر اساس هریکی از داده‌های آزمون و با توجه به اینکه در چه خوشه‌ای قرار می‌گیرد می‌یاییم و شباهت آن داده را با تمام داده‌های آموزشی‌ای که باهم در یک خوشه قرار دارند را محاسبه می‌کنیم برای این کار از فرمول زیر استفاده می‌کنیم .محاسبه‌ی فرمول شباهتبد از این‌که میزان شباهت‌ها را محاسبه نمودیم نوبت یه پیش‌بینی می‌رسد برای پیش‌بینی ما از فرمول زیر استفاده می‌کنیمفرمول پیش‌بینی ریتدر دو فرمول بالا a, b هر یک نماینده‌ی یک کاربر منحصربه‌فرد بوده و r مربوط به ریتی بوده که کاربرها داده‌اند و r بار هم میانگین ریتی که کاربر داده و p هم نماینده‌ی آیتم هست و از طرفی ما برای مقایسه‌ی این روش از روش میانگین هم برای تعیین ریت ها استفاده کردیم به این صورت که میانگین ریتی که تمام کاربران یک دسته به یک آیتم داده‌اند را به عنوان پیش‌بینی خود در نظر می‌گیریم .تا اینجا ما با موفقیت یه سیستم توصیه گر بر مبنای فیلترینگ همکارانه رو پیاده سازی کردیم و حالا مونده بررسی این که ما به چه میزان این کار رو درست و صحیح انجام داده‌ایم برای این کار ما سه فرمول اساسی داریم که از آن‌ها کمک می‌گیریمفرمول‌های مربوط به بررسی یک الگوریتمچون ما داده‌های اصلی رو داریم و ریت های پیش‌بینی شده رو هم با استفاده از این روش به دست آوردیم پس حالا می تونیم از این فرمول‌ها استفاده کنیم برای این که بفهمید که واقعا این فرمول‌ها چی می گن بهتره این مقاله رو بخونید چون توضیح دادن تمام این مقادیر خودش نیازمند یک پست جداگانه اس پس من به این لینک و فرمول ها بسنده می‌کنم.در این پیاده‌سازی که ما انجام داده‌ایم به ترتیب مقادیر زیر برای میانگین ریت ها و شباهت پیرسون حاصل شد.نتایج پیاده‌سازی به درصدتا اینجای کار ما تونسیتم به هدفمون برسیم البته برای بهتر کردن این درصد ها هنوز کلی راه نرفته رو باید بریم تا به نتایج بهتری برسیم ولی برای شروع فک کنم قدم مهمی رو برداشتیمدر این پست تمام تلاش خودم رو کردم که بتونم پیاده سازی یک مقاله رو به روش فیلترینگ همکارانه توضیح بدم و تا جایی که امکان داره اون رو ساده کنم و قابل درک کنم اگه بخواین ببنید که دقیقا این موارد چه طوری پیاده‌سازی شده می تونید به این ریپوزیتوری تو گیت هاب برین و اگه می تونید که این کد رو بهتر کنید خوش‌حال میشم این کار رو انجام بدین .</description>
                <category>Mehdi Mehraban</category>
                <author>Mehdi Mehraban</author>
                <pubDate>Sun, 02 Jun 2019 23:11:20 +0430</pubDate>
            </item>
                    <item>
                <title>سیستم های توصیه گر (Recommender System) : سوار بر موج محتوا</title>
                <link>https://virgool.io/@zeoses/%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%D8%AA%D9%88%D8%B5%DB%8C%D9%87-%DA%AF%D8%B1-recommender-system-%D8%B3%D9%88%D8%A7%D8%B1-%D8%A8%D8%B1-%D9%85%D9%88%D8%AC-%D9%85%D8%AD%D8%AA%D9%88%D8%A7-cbhgpnrvktvq</link>
                <description> تو دو پارت قبل (۱، ۲ ) کمی در برای ساختار ها صحبت کردیم و اطلاعات کلی درباره این نوع سیستم ها دادیم و بررسی کردیم، توی این بخش و سوم قسمت از چندگانه ی سیستم های توصیه گر به بررسی یک سیستم توصیه گر براساس محتوا می پردازیم توی این بخش قرار نیست خط به خط کد شرح داده بشه چون به دید من از کد ها باید به عنوان یه وسیله برای رسیدن به اهداف خودتون استفاده کنید حالا به هر طریقی یا هر شکلی که بهشون می رسین مهم نیست مهم اینه که چه جوری و برای چه کاری ازشون استفاده می کنید مثلا خود من برای پیاده سازی کدهای قسمت الگوریتم از آموزش های فرادرس کمک گرفتم شمام می تونید از کلی فیلم آموزشی که تو اینترنت ریخته استفاده کنید و لذتش رو ببرین زیاد حاشیه نریم و بریم سر اصل مطلب … .در قدم اول برای حل یک مسئله باید بدونم مسئله چیه تا بتونیم تصمیم درست رو بگیرم و بریم باهاش با روشی که انتخاب کردیم بجنگیم .. .و اما مسئله :تو اینجا ما با یه سایت موزیک در گیریم که می خواد  با اطلاعاتی که داره به مخاطبینش بر اساس آهنگی که پخش می کنن بیایم و پیشنهاد موزیک جدید بده .. .در این حالت اطلاعاتی که ما در اختیار داریم یه فایل Excel که شامل مواردی هست که در عکس زیر می تونید ببیند.. .نمونه دیتاست بدون اصلاحهمون طوری که می بیند اطلاعاتی که ما داریم از هر آهنگ شامل مواردی مثل : نام خواننده، نام آهنگ، نام آلبوم ، سبک، مدت زمان، میزان لایک، و دیس لایک و تعداد پخش اون آهنگ…حالا ما باید از این اطلاعات استفاده کنیم تا بتونیم یه سیستم توصیه گر پیشنهاد بدیم اما شما فک می کنید چه طوری این کار رو می شه انجام داد … ؟!به عبارتی هر روشی که فک می کنید با این داده ها بشه یه پیشنهاد خوبی رو داد درسته و میشه از اون ها استفاده کرد ولی کارایی سیستمه که مهمه اینکه سیستم تو محیط آزمایشی بتونه رضایت مخاطب ها رو جلب کنه و بتونه اون ها رو راضی نگه داره و گرنه به صورت رندم هم میشه اومد و پیشنهاد آهنگ جدید داد .. .اما ما برای حل ابن مسئله اومدیم و اون رو به یک مسئله معروف و قابل حل نگاشت کردیم و اون مسئله ای نیست جزء مسئله ی فروشنده ی دوره گرد که برای حل اون روش ها و متد های مختلفی معرفی شده که می شه از همه شون استفاده کرد اگه چیزی دربارهی این مسئله نمی دونید ویکی فارسی بهترین پیشنهاد برای شماست تو ویکی برای شرح این مسئله اومده :تعدادی شهر داریم و هزینه رفتن مستقیم از یکی به دیگری را می‌دانیم. مطلوب است کم‌هزینه‌ترین مسیری که از یک شهر شروع شود و از تمامی شهرها دقیقاً یکبار عبور کند و به شهر شروع بازگردد.اما توی این مورد ما شهری نداریم بلکه تعدای آهنگ داریم و به جای فاصله ما مفهموم شباهت رو داریم که باید به طریقی حساب بشه برای این کار قدم به قدم به سمت جلو حرکت می کنیم.خوب حالا ما باید بریم به سراغ این مجموعه داده ها (که بهش  دیتا ست (DataSet) یا مخرن داده هم می گن )تا براساس اون نیاز هایی که مسئله ما داره رو برطرف کنیم .ما برای استفاده از این داده ها به صورتی که تو شکل ۱ هستن چند تا مشکل داریم که باید اون ها رو حل کنیم همون طوری که می بیند شکل داده ها با هم متفاوته تعداد به صورت متن یکی زمان و چند تا هم عدد هست که باید همه رو ببریم تو یه اسکیل و مشکل دومی که داریم مربوط به خالی بودن بعضی از قسمت هاست که باید به طریقی اون رو پوشش بدیم و تمام اون رو به فواصل تبدیل کنیم و براساس اون ها به خروجی مناسب برسیم .هر کدوم از این مشکل ها که گفتیم یک مبحث تو داده کاوی یا سیستم های توصیه گر رو شامل می شن که می تونید با یه سرچ بهشون برسین مثلا برای خلوتی ماتریس بهش می گن مشکل Sparcity  که راه حل های مختلفی براش در نظر گرفتن که ما از روش جابگزبن کردن با مقدار خنثی (اسم دقیقش رو نمی دونم همینجوری گفتم ) استفاده می کنیم .. .و برای یکسان سازی مقادیر ما به هر کدوم از مقادیر یک آیدی می دیم و از اون استفاده می کینم مثلا هر آهنگ یک آیدی هر خواننده یک آیدی منحصر به فرد و به همین صورت تا آخر برای زمان هم اون ها رو به هر شکلی که دوست دارین می تونید تبدیل کنید و ازشون استفاده کنید ما برای اون از یه تابع آماده تو خود Excel استفاده کردیم و اون رو تبدیل به اعداد کردیم  و اما برای بازخود هایی که داشتیم از فرمول زیر استفاده کردیم تا اون ها هم تو روند حل مسئله باشنفرمول محاسبه ی دخالت بازخورددر نهایت به خروجی زیر رسیدیمخروجی نرمالسازیاز ستون اول فقط برای نشون دادن خروجی ها استفاده می کنیم و هیچ نقشی در حل مسئله نداره پس حالا باید با استفاده از این مقادیری که داریم برسیم به فواصل بین آهنگ ها (شباهت هر آهنگ با آهنگ در حال بخش) .خوب برای این کار ما شباهت آهنگ ها راین طوری محاسبه می کردیم که اگه هر یک از ویژهگی های خواننده، ژانر، آلبوم یکسان نبود با عدد یک جمع میشد  در غیر این صورت با عدد صفر (فاصله کم تر شباهت بیشتر) برای زمان هم دو عدد رو رند می کردیم واگه در یک رنج بودن باز همین قائده رو اعمال می کنیم و در انتها مجموع کل این مقادیر رو منهای امتیازی که به عنوان بازخورد در آوردیم می کردیم تا به یک ساختاری از فاصله برسیم در انتها این محاسبات مقادیر به صورت جدول زیر حاصل می شدمیزان شباهت (فاصله ی هر شهر)و حالا که تونستیم مسئله رو نگاشت کنیم به مسئله ی فروشنده ی دوره گرد حالا می تونیم با هر الگوریتمی که بخوایم مسئله رو حل کنیم ما برای حل این مسئله از الگوریتم PSO استفاده کردیم  و شما می تونید از هر الگوریتم دیگه ای که دوست دارین استفاده کنید و اما خروجی این مسئله به صورت لیستی از شهرهاست که به ترتیب لیست شده طوری که کمترین میزان مصافتی باشه که طی میشه با به عبارتی بیشترین میزان شباهتی باشه که داره. از این لیست ما چهار تا رو به عنوان پبشنهاد پخش بعدی به کار بر ارائه می دیم و همین قائده برای پخش هر آهنگ برقراره .. .لیست پیشنهادیشاید فک کنید همه این کارا زمان بر باشه و به درد کارای آنلاین نخوره باید بگم که اشتباه فک می کنید تو جدول زیر می تونید مدت زمان و چند مورد دیگه رو ببنیدجدول مقایسه روش با ACO اگه می خواین این اطلاعاتی که تو جدول اومده رو بدونید چیه و ازش سر در بیارین توصیه ام اینه که یه نگاهی به این مقاله بندازین اگرم که نه می تونین این ریپوزیتوری تو گیت هاب رو ببنید و کد هایی که برای پیاده سازی این مقاله نیاز دارین رو توش پیدا کنید ما برای پیاده سازی از کد های متلب استفاده کردیم .. .در انتها شاید یه کم قائده خنده دار باشه ولی در هر حال یکی از میلیون ها روش حل این مسئله به حساب می یاد و می شه ازش به عنوان شروع کار تو این حوزه استفاده کرد چون به طریقی باید شروع کرد .. .شما هم اگه علاقه دارین دست به کار بشین و شروع کنید .. .اگه سوالی پیشنهادی نقدی نظری دارین خوشحال میشم به همه شون جواب بدم .. .</description>
                <category>Mehdi Mehraban</category>
                <author>Mehdi Mehraban</author>
                <pubDate>Thu, 07 Mar 2019 13:25:03 +0330</pubDate>
            </item>
                    <item>
                <title>سیستم های توصیه گر (Recommender System) : در میان آتش</title>
                <link>https://dataio.ir/سیستم-های-توصیه-گر-recommender-system-در-میان-آتش-grnkfksoaicf</link>
                <description> تو پارت قبل کمی درباره ی ساختار سیستم های توصیه گر صحبت کردیم و  گفتیم که از چه چیزی بیشتر برای کارشون استفاده می کنن و پاسخ ما عادات یا الگو هایی بود که ما از خودمون به جا می زاریم توی این پارت از نوشتار می خواهیم یه کم پامون رو توی اصل ماجرا بزاریم و کمی دقیق تر به موضوع نگاه کنیم و با هم انواع این سیستم ها و اصطلاحاتی رو که توی این حوضه پرکاربردن رو باهم بررسی کنیم ... .برای اینکه یه کم این موضوعات قابل فهم تر بشه با مثال جلو می ریم این مثال می تونه شامل هر کسب و کاری بشه و شما می تونید اسم ها رو با هر چیزی که تو ذهنتون دارین عوض کنید ولی برای ملموس تر شدن سعی می کنم چیزی رو مثال بزنم که حداقل یک بار باهاش کار کردین مثال من گوگل پلی (یا بازار ) هست فرض کنید که شما مسئول بخشی هستید که می خواهید پیشنهاد ها رو در اختیار کاربران قرار بده به نظر شما اولین چیزی که بهش نیاز داریم چیه ...؟اگه پارت قبل رو خونده باشین حتما می گین اطلاعات و این اطلاعات هست که توی انتخاب روش ما دخیل اند و متناسب با اطلاعاتی که داریم روش پیشنهادی رو ارائه می دهیم .حالا سوال بعدی اینجاست که ما چه اطلاعاتی در اختیار داریم...؟ خوب اگه یه کم توی گوگل پلی یا بازار بگردین متوجه میشین که دو دسته اطلاعات کلی داریم دسته اول اطلاعات مربوط به محصولات هست که شامل دسته بندی اون(بازی هست یا برنامه ی کاربردی و خود این ها هم دسته بندی ها کوچک تری داری مثلا اگه بازیه چه نوع بازیبه ماجراجویانه اس با استراتژی)، تعداد دانلود، بازخورد مخاطب ها و بعضی اطلاعات دیگر دسته ی دوم اطلاعات مربوط به کاربر ها هست مثلا اینکه قبلا چه برنامه هایی رو دانلود کرده چند برنامه هایی رو دیده و از اون ور اطلاعات پروفایلی ما مثلا از کجا هستیم در چه بازه ی سنی قرار داریم و کلی اطلاعات دیگه که این ها خوراک هایی برای سیستم های توصیه گر می شن .خوب حالا شما در میانه ی آتش هستید و باید از اطلاعاتی که دارین برای داغ تر کردن این آتش استفاده کنید و اینجاست که بهترین گزینه سیستم های توصیه گر هست که متناسب با اطلاعاتی که داریم روش مناسب رو انتخاب می کنیم به طور کلی ما سه روش معروف و پر کاربرد توی این حوضه داریم که با با هم برای حل این مشکل بررسیشون می کنیم.روش اول : فیلترینگ بر اساس محتوا (Content Based Filtering)فیلترینگ بر اساس محتوااولین چیزی که با شنیدن فیلترینگ به ذهنمون می یاد حتما صفحه ی پیونده هاست ولی باید بگم که قرار نیست به اون صفحه هدایت بشیم بلکه می خوایم کارای باحال تری بکنیم .. :) همین طوری که از اسم این روش پیداست ما با محتوا یا به طور خلاصه تر اطلاعاتی که در اختیار داریم سر و کله می زنیم یه چیزی در حد اطلاعات دسته ی اول که شامل اطلاعات محتوایی می شد مهم ترین اطلاعات این دسته ،دسته بندی برنامه ها بود بیاین بر مبنای همین رویکرد ما این مثال رو به جلو ببریم خوب من کلیک می کنم روی یه برنامه ی خاص و با این توضیحات شاید بتونید حدس بزنید که چه پیشنهاد هایی باید به منِ کاربر ارائه داد اگه حدس تون اینه که برنامه های هم ژانر با این برنامه  باید بگم درسته این در ساده ترین شکل ممکن یه سیستم توصیه کننده بر مبنای محتوا می شود و حالا اطلاعات دیگه ای که از آیتم ها داشتیم دخیل کنید مثلا میزان استقبال مردم از برنامه یا تعداد دفعات بازدید اون برنامه همه این ها می تونه توصیه ای که به کاربر پیشنهاد میشه رو بهینه تر بکنه و می شه یه کم جلو تر هم رفت و یه کمی از اطلاعات دسته ی دوم رو هم دخیل کرد مثلا لوکیشن و سن شما رو هم در نظر گرفت و این توصیه ها رو بهینه تر کرد ولی با این کار یه کم از این حوضه خارج می شین و وارد روش دوم می شین و اون رو با این روش ترکیب  می کنید .روش دوم : فیلترینگ مشارکتی (Collaborative Filtering)فیلترینگ مشارکتیتو روش دوم  کمی داستان فرق می کنه خوراک اصلی این روش انتخاب های کاربران هست یعنی این که هر کاربر چه چیزی را دانلود و نصب کرده و این که آیا از اون راضی بوده یا نه که میزان رضایت خودش رو با امتیاز هایی مشخص می کنه یا اصلا نه فقط این باشه که کاربر یک برنامه رو نصب کرده یا نه.حالا با این اطلاعات ما باید کار خودمون رو شروع کنیم یکی از روش های پرکاربرد اینه که ما بیایم و کاربران رو بر مبنای برنامه هایی که نصب کردن دسته بندی کنیم که برای این کار الگوریتم های مختلفی وجود داره و به ما تو دسته بندی کردن کاربر ها کمک می کند و با این اوصاف وقتی کاربری برنامه ی جدیدی رو مشاهده می کنه ما بر اساس برنامه هایی که از قبل نصب کرده اون رو تو دسته ای از کاربر ها قرار می دیم و متناسب با اون دسته بهترین مواردی رو که می تونیم به مخاطبمون پیشنهاد می دیم .فک کنم اینجا رو یه کم بد توضیح دادم اگه بخوام توضیح بهتری بدم باید برگردیم به همون کتاب قدرت عادت تو نوشته ی قبلی گفتم که ما ساختار های عادت شبیه به هم داریم که بر اساس این رفتار ها فروشگاه تارکت تشخیص می داد که چه مخاطبی نیازمند چه محصولی هست در اینجا هم ما بر اساس انتخاب هایی که کاربر های دیگه کردن به کاربر جدید پیشنهاد های بهینه تر می دیم که اون رو مثل اون پدری که تو نوشته ی قبلی گفتیم متعجب کنه .. .روش سوم : فیلترینگ ترکیبی (Hybrid Filtering)سوم روش از این روش ها همون طور که از اسمش پیداست ترکیبی از دو روش قبلی هست مثلا فرض کنید که ما با استفاده از روش فیلترینگ مشارکتی بهترین پیشنهاد ها رو پیدا کردیم و حالا به جای اینکه اون ها به مخاطب ارائه بدیم بررسی می کنیم که این پیشنهاد ها از نظر محتوایی چه میزان شباهتی با آیتمی که در حال حاضر انتخاب شده است دارد بر این اساس ما دو روش قبل را با هم ترکیب کردیم و حالا می تونیم پیشنهاد های بهینه تری رو به مخاطبمون بدیم .چیزایی رو که تا اینجا گفتم مربوط میشه به روش هایی که بیشترین کاربرد و استفاده رو توی این حوضه دارن و اگه شما هم کسب و کار یا حتی می خواین بدونید که یه شرکت بزرگ چه طوری یه سیستم پیشنهاد کننده رو پیاده سازی می کنه می تونید جای مثال شرکت خودتون یا هر شرکتی و محصولی رو که تو ذهنتون دارین قرار بدین می خواستم این نوشته رو ادامه بدم و از چالش هایی که توی این حوضه وجود داره بگم ولی دیدم کمی موضوع تخصصی می شه  و این از هدفی که از نوشتن این پست داشتم دوره شاید توی پست دیگه ای با هدفی دیگه ازشون نوشتم ولی به دید من اگه کسی تا همین جا با خوندن این مطلب به این حوضه و کار توش و یا حتی استفاده از اون برای کسب کار خودش علاقه مند شده باشه می ره و مطالب بیشتری پیدا می کنه و می خونه ولی با همه ی اینها توی یکی از پست های بعدیم یه کم مطلب رو تخصیصی تر می کنم و یک سیستم توصیه گر ساده برای موزیک رو که قبلا نوشتم توضیح می دوم و کدش رو تو گیت هاب در اختیارتون می زارم .</description>
                <category>Mehdi Mehraban</category>
                <author>Mehdi Mehraban</author>
                <pubDate>Fri, 05 Oct 2018 00:50:27 +0330</pubDate>
            </item>
                    <item>
                <title>سیستم های توصیه گر (Recommender System) به زبان ساده : شروع ماجرا</title>
                <link>https://virgool.io/@zeoses/%D8%B3%DB%8C%D8%B3%D8%AA%D9%85-%D9%87%D8%A7%DB%8C-%D8%AA%D9%88%D8%B5%DB%8C%D9%87-%DA%AF%D8%B1-recommender-system-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%B3%D8%A7%D8%AF%D9%87-%D8%B4%D8%B1%D9%88%D8%B9-%D9%85%D8%A7%D8%AC%D8%B1%D8%A7-n9yt04wsrqno</link>
                <description> شاید این اصطلاح تا الان به گوشتون نخورده باشه و اصلا چیزی درباره اون ندانید ولی باید به شما بگم که هر روز داریم از اون استفاده می کنید بدون این که بدونید، وقتی چیزی رو تو گوگل سرچ می کنیم یا وقتی تو قسمت اکسپلور اینستاگرام می ریم و گذشت زمان رو حس نمی کنیم و از عکس ها و ویدیو هایی که اون جا می بینیم لذت می بریم و خیلی مثال های دیگه که میشه زد با این کار ها ما داریم از این سیستم ها استفاده می کنیم و اساسی زندگی این سیستم ها اطلاعاتی هست که از ما جمع  آوری می کنن و ما  چه بخوایم چه نخوایم داریم اطلاعاتی از خودمون رو در اختیار این سیستم ها که البته پشتشون شرکت های بزرگی مثل گوگل، آمازون و… قرار دارن می زاریم تا اون ها بتونن ابزار هایی رو که ما استفاده می کنیم(منظورم از ابزار برنامه هایی که تو بستر ابزار های هوشمند استفاده می شه)  رو جذاب تر کنن و البته بیشتر این ابزار ها باحال رایگان هستن و چی از این بهتر که هم استفاده کنم و لذت ببرم و باحال تر از همه پولی هم پرداخت نکنیم ولی یه بزرگی حرف قشنگی می زد می گفت :” وقتی برای محصولی پولی پرداخت نمی کنید حتما اون چیزی که فروخته میشه تویی.”شروع داستاناما این داستان از وقتی شروع شد که اینترنت (این محبت انسانی ) همه گیر شد و به خاطر راحتی اون همه کم کم رو آوردن به اون و دیگه مطالب ، فیلم ها ، موزیک ها و هر چیزی که بشه توی اینترنت گذاشت رو با فشار دادن یه دکمه توش پخش کردند و ما به حجم وسعیی از اطلاعات رسیدیم و عملا پیدا کردن چیزی که آدم دوست داشته باشه از بین این همه اطلاعات خیلی زمان بر بود و از طرفی شرکت ها و سارمان های بزرگ اینترنت رو یه بستر عالی برای فروش محصولاتشون می دیدن محصولاتی که باید از طریق اینترنت راهش رو به سبد خرید ما باز می کرد و اینجا تازه شروع ماجرا بود و هر روز هم بر داده هایی که توی اینترنت می بود اضافه تر می شد. اواسط دهه ۱۹۹۰ تازه نگاه ها به این سمت بیشتر شد و اولین مقالات علمی توی این حوضه شکل گرفت وقتی سازمان ها دیدن که چه تاثیر بزرگی تو روند کارشون داره سریع به دنبال این حوضه رفتند و این حوضه رو به یکی از پر طرفدارترین حوضه تو هوش مصنوعی تبدیل کردند .عادات برای ما یا بر علیه ما” یکی از بهترین کتاب هایی که می تونم بگم خوندم کتاب قدرت عادت بود واقعا کتاب خوبی بود پر از مطالب علمی که توش نویسنده با استفاده از داستان های جذاب یکی یکی اون ها رو توضیح داده و هر بخش رو برای خودش خواندنی تر کرده .اگه می تونید به شخصه توصیه می کنم که اون رو بخونید. کتاب قدرت خوب جمله ی بالا چه ربطی به موضوع بحث ما داره … ؟با گفتن جمله بالا می خواستم هم یه کتاب خوب معرفی کنم هم به این اشاره کنم که سیستم های توصیه گر چیزی جدا از زندگی ما نیست و به سادگی جمله بالا یا حتی ساده تر مثلا شما برمی گردی به دوستت می گی “دوستم فلان فیلم خیلی باحاله ببین. ”  و هرچه این توصیه ها ساده تر باشه مخاطب خودش رو بهتر پیدا می کنه . با این مثال ها چند نمونه از این توصیه ها رو دیدیم و متوجه شدیم خودمون  هم یه پا سیستم توصیه گریم (بی مزه هم خودتونید ) همین گفت و گو های روزمره ما و توصیه های ما یک منبع الهام برای محقق ها شد و جرقه ی سیستم های توصیه گر خورده شد .. .با این مقدمه می خوام به یکی از داستان های کتاب قدرت عادت که تونستم توی یکی از کامنت های سایت متمم اون رو پیدا کنم عینا اشاره کنم و با هم یخونیمش :«یکی از داستان های جالبی که توی کتاب نقل کرده مربوط به فروشگاه های تارگت هستش که روی اطلاعات خرید و عادت های خرید مشتری هاشون خیلی تمرکز دارن و با توجه به این عادات خرید حدسهایی رو در موردشون میزنن. و حدس میزنن که مشتری الان به چه محصولی نیاز داره و تبلیغ همون محصول رو برای مشتری میفرستن که روش تخفیف خورده.توی یک برهه ای خیلی تمرکز کردن روی خانم های باردار. چون خانم های باردار به قول اون ها معادن طلا هستن. و با توجه به اینکه نمی شد همینطوری از مشتری ها پرسید که آیا باردار هستید و اغلب مشتری ها اصلا دوست ندارن که کسی متوجه این مطلب بشه خودشون یه ساز و کاری رو تدارک دیدن که طبق عادات خرید به این نتیجه برسن.بعد از اینکه طبق این روش خانم های باردار رو تشخیص دادن و تبلیغ مختص خودشون رو هم بهشون ارائه دادن؛ یه روز یک آقایی با عصبانیت در حالیکه یکی از تبلیغ های شرکت تارگت که براشون آورده دستشه وارد میشه و میگه شما این تبلیغ رو برای دخترم که هنوز نوجوانه فرستادین، در حالیکه این مربوط به خانم های باردار هستش.خلاصه از اون مرد معذرت خواهی میکنن و میگن حتما اشتباهی رخ داده.بعد از یکی دو هفته دوباره با اون مرد تماس میگیرن که ازش معذرت خواهی کنن ولی مرد میگه من باید ازتون معذرت بخوام مثل اینکه یک اتفاقاتی افتاده که من خبر نداشتم و دخترم حامله است.»البته یه کم از داستان بالا تو کامنت حذف شد که به این صورت شروع میشه که یه صورت مسئله تعریف میشه که چه طور بفهمیم یک خانواده دارن صاحب فرزند می شن که به این نتیجه رسیدن که فقط خانواده نیستن که صاحب فرزند میشن (: .ولی واقعا چه طوری می شه توی حل این مسئله به چنبن دقتی رسید که حتی پدر خانواده از اون بی خبر بود …!اگه بخوایم یه کم دقیق تر نگاه کنیم باید به عادت خودمون سری بزنیم اینکه ما تو شرایط خاص یا معمولی چه تصمیم هایی می گیرم و اگه اون کتاب رو بخونید می فهمید که بیشتر از هر چیزی ما بنده ی عادت هامون هستیم و اکثر تصمیم هایی که می گیریم در چارچوب عادت های ماست و اکثر این عادت در همه ی آدم ها وجود داره و شباهت های خیلی زبادی هم به هم داره مثلا وقتی گرسنه می شویم حتما چیزی می خوریم ولی نحوه ی غذا خوردن ممکن است فرق کند مثلا یکی آب بخورد یا یکی میوه و یا دیگری هر چیزی که پیدا کنه، ولی چیزی که مشترک است اینه که ما همه چیزی می خوریم. از طرفی عادات یک طرف قضیه است برای حل صورت مسئله ما بیشتر از هر چیزی به اطلاعات نیاز داریم و هر چه اطلاعات ما بیشتر باشد پیشنهاد ما بهینه تر میشه و به حل مسئله نزدیک تر می شیم در اینجا و این مسئله، فروشگاه های تارگت  اطلاعات وسعی از تراکنش کاربران را در اختیار داشتند که هر کس چه چیزی را می خرد و این اطلاعات در دراز مدت و از بیش از هزاران فروشگاه تهیه شد از طرف با مطالعه ی عادات مردم فروشگاه می دانست که در هر ماه از بارداری هر خانواده بیشتر چه محصولاتی را می خرد پس با این اطلاعات فروشگاه به راحتی می تواند یک معدن طلا استخراج کنه.پس تا اینجا کار فهمیدم که برای ایجاد یک سیستم توصیه گر اول از همه نیاز به اطلاعات داریم و هرچه قدر حجم این اطلاعات زیاد تر باشه نتایجی که به دست می یاد بهتر می تونه باشه (ابته این حرف قطعی نیست و جلو تر می گم چرا ) و دومین چیزی که مهمه عاداتی هست که برای یه موضوع خاص وجود داره البته ما دیگه به اون ها به صورت خاص عادت نمیگیم بلکه می گیم الگو (pattern)  و کار اصلی هم پیدا کردن این الگو ها و استفاده کردن از اون هاست.حالا تصور کنید که ما چه حجم وسیعی از اطلاعات رو  توی اینترنت به اشتراک گذاشته ایم.تا اینجا با کلیت سیستم های توصیه گر آشنا شدیم تو پارت بعدی کمی جزء شده و انواع آن را و مشکلاتی رو که داره با هم بررسی می کنیم و می بینیم که شرکت های بزرگ چه طوری از این حجم وسعی از اطلاعات استفاده می کنن .</description>
                <category>Mehdi Mehraban</category>
                <author>Mehdi Mehraban</author>
                <pubDate>Sat, 22 Sep 2018 09:50:30 +0330</pubDate>
            </item>
                    <item>
                <title>این برنامه نیاز به بروز رسانی دارد...</title>
                <link>https://virgool.io/@zeoses/%D8%A7%DB%8C%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%DB%8C%D8%A7%D8%B2-%D8%A8%D9%87-%D8%A8%D8%B1%D9%88%D8%B2-%D8%B1%D8%B3%D8%A7%D9%86%DB%8C-%D8%AF%D8%A7%D8%B1%D8%AF-rbzxthtkdk8w</link>
                <description>در روز ممکنه چند باری با این واژه یا به عبارت انگیلسی اون( update )برخورد کنیم و واقعا هم یه جورایی تو من به شخصه تشویش ایجاد می کنه که نکنه یه ویژهگی خوب رو از دست بدم و دست به بروزرسانی سیستم می زنم شاید در بیشتر اوقات تغییر چشم گیری رو مشاهده نکم ولی خوب دلم خوشه که آخرین نسخه رو تو سیستم دارم که باگ های کم تری داره و تازه رابط کاربری اون هم بروز شده البته در ظاهر که چیزی نمایان نیست :|ولی با تمام این تفاسیر زمانی این جنبه برای من پر رنگ تر شد که گوشی همراه خرید و هر روز شاهد این بودم که به روز رسانی هایی برای تلفن می یومد و من برای ارضاء این حس کنجکاوی این بروز رسانی رو انجام می دادم و هر بار سر خورده تر از قبل که هیچ تغییری نگرده ...:|ولی خوب این قضیه کم کم برام عادت  شده که تو بروز رسانی ها نباید شاهد تغیییر بنیادین باشم و باید صبر کنم که آپگرید (معادل فارسیش چی بود؟) بازم ولی در نهایت اون هم تغییر بنیادین نداره چون کم کم فهمیدم که توسعه دهنده ها هم از تغییر های بنیادین می ترسن به چند دلیل که چندتاش رو می گم :1.هزینه بره هر تغییری چه خوب چه بد هزینه داره که باید پرداخت بشه مثلا برای تغییر در ظاهر یک نرم افزار یا اضافه کردن ویژگی های جدید باید پول خرج شه تیم تحلیل باید تحلیل کنه (همون R&amp;D خودمون) و پیاده سازی و...پس بهتره با این هزینه ای که کردیم پیش بریم و دست به بنیاد نزنیم البته هزینه فقط پول نیست وقت هم هست که خیلی مورد مهمیه شاید تو اون زمانی که ما در حال تغییرات بنیادین بودیم رقیای ما با محصولات بنیادینی وارد باز شدن و مابقی ماجرا ...2.ممکنه باعث ترس بشههمه ی ما وقتی چیز جدیدی رو داریم شروع می کنیم تا حدودی یه ترس کوچیک داریم البته بعضی ها هم سر نه ترس دارن دوست دارن چیزای جدید رو تجربه کنن ولی خوب هر دو طرف یه مورد مشترک دارن این که نمی دونن چه طور باید شروع کنن و این رو می شه اسمش رو سردگمی کذشت و این سردر گمی احساس ترس ایجاد می کنه و شاید باعث بشه بعضی ها برن ...:(3.تغییرات بزرگ شاید مشکلات کوچیک ایجاد کنن بزارین یه مثال بزنم فرض کنیم که شما مسئول یه سد هستین و وظیفه ی شما کنترل آب خروجی از سد هست و شما معمولا نمی زارین بیش از 100 لیتر (دیگه گیر ندین سد به اون بزرگی چرا 100 تا ) آب از سد خارج بشه و یه روز گرم بهاری یه هو می گین بچه  بیان بجای 100 لیتر امروز 1000 لیتر آب رو رها کنیم از سد...اون وقته که مشکل ایجاد کردین شاید مردمی که تو مسیر رود بودن به اون 100 لیتر همیشگی عادت کردن و کنار رود ها خانه ساختن (نمی گم این کار درسته ولی انجام می شه ) و این کار شما باعث خرابی و بعضا اتفاق های بد تر بشه ...تو نرم افزار هم اگه بخوایم این کار رو بکنیم باید منتظر باگ های کوچیک باشم البته می شه جلوی این اتفاق ها رو گرفت به این صورت که تو مثال سد ما بیام اعلام کنیم که ما قرار از این به بعد به جای سد لیتر هزار لیتر رها کنیم ( همون نسخه های بتا و آلفای نرم افزار که برای بررسی های اولیه و پیدا کردن خطا ها هست ) یا این که کم کم آن آب رو رها کنیم روز اول به جای 100 لیتر 150 لیتر رها کنیم اگه مشکلی نبود روز دوم 220 اگه مشکلی ایجاد شد برطرف در غیر این صورت به این روند ادامه بدیم .و دلایل دیگه ...با تمام این اوصاف فک نکنم واجب باشه که هر دفعه با دیدن به بروز رسانی به این فکر کنیم که از دنیا عقبیم و دست به بروز رسانی بزنیم الان هم خیلی ساده و راحت می تونیم بخونیم دلایل این بره روز رسانی چیه بعد دست به اون کار بزنیم و یا نظرات کاربر ها و باز خورد های اون ها رو ببینیم البته شاید شما وقتی یه ورژن جدید از یه چیزی می یاد بخواین اون رو مثل همه بررسی کنید وجزو اولبن ها باشین خوب این بدیحیه همه دوست دارن کار های جدید بکنن(نمیدونم همه درسته یا نه :|) .پس بروز رسانی کنید ولی منتظر تغییرات بزرگ نباشد ...در آخر باس بگم آگاهانه بروزرسانی کنید :) باز نشر از mehraban.me </description>
                <category>Mehdi Mehraban</category>
                <author>Mehdi Mehraban</author>
                <pubDate>Wed, 18 Apr 2018 11:58:49 +0430</pubDate>
            </item>
            </channel>
</rss>