پرسش و پاسخ های تلگرامی 6

پرسش و پاسخ های تلگرامی 6

آکادمی داده

۱۳۹۷/۰۳/۱۹


  • 99 بازدید

در این بخش پرسش و پاسخ های که در گروه های تلگرامی در حوزه علم داده رد و بدل می شود ارائه خواهد شد. بد نیست این مقدمه خوانده شود.

جامعه‌مان به شدت دارد کوتاه‌مدت می‌شود. چیزی شبیه مفهوم «جامعه کلنگی» کاتوزیان. کاتوزیان در مقاله‌ای که بعدها به‌صورت کتاب در آمد، جامعه ایران را کلنگی می‌نامد؛ بدین معنا که هر حکومت و هر مسئولی که آمد، هر آنچه حکومت و مسئولین پیش از وی ساخته‌ بودند را از بیخ و بن ویران، و خود از نو شروع به ساختن می‌کند. قاجارها یادگارهای صفوی را ویران کردند؛ پهلوی‌ها دستاوردهای قاجاریان را و جمهوری اسلامی، دستاوردهای پهلوی را. به همین ترتیب، هر رئیس‌جمهورمان در جمهوری اسلامی نیز، دستاوردهای رؤسای جمهور‌ پیشین ‌را از بیخ و بن ریشه‌کن کرد تا خود طرحی نو در اندازد؛ بی‌آنکه بداند رئیس‌جمهور بعدی، همین‌ بلا را سر خود او خواهد آورد.

به همین شیوه، همین که فیس‌بوک با استقبال ایرانیان روبرو می‌شود، فیلتر می‌گردد؛ تلگرام هم همین طور. در بسیاری از این شبکه‌ها، سرمایه‌ی اجتماعی‌ای شکل می‌گیرد که این روزها ایران به شدت به آن نیاز دارد. صدها استاد دانشگاه، روزنامه‌نگار، روحانی، شبکه‌ی خبری داخلی و… در تلگرام توانسته‌اند اعتماد مردم را جلب کرده و سرمایه‌ی اجتماعی ایرانیان را از دل همین کانالها شکل یا افزایش بدهند. با فیلتر شدن تلگرام، نه تنها ده‌ها هزار کسب و کار تلگرامی از بین خواهد رفت، بلکه این سرمایه‌ی اجتماعی که اهمیتش از آن کسب و کارها به مراتب بیشتر است نیز ویران خواهد شد. تا شبکه اجتماعی دیگری بین مردم جا بیفتد و سرمایه‌ی اجتماعی دوباره‌ای جان بگیرد، بخش زیادی از این سرمایه‌ها برای همیشه از ایران رخت بر خواهد بست. جامعه‌شناس فرانسوی، بوردیو، از امکان تبدیل سرمایه‌ها به یکدیگر سخن می‌گوید. یعنی شما می‌توانی از سرمایه اقتصادی‌ات برای توسعه سرمایه اجتماعی سود ببری یا بالعکس. از میان برداشتن سرمایه‌های اجتماعی در تلگرام، زیانی برابر یا حتی بیشتر از نابودی سرمایه‌های اقتصادی دارد. مانند این است که مسئولین بگویند همه دارندگان حساب در فلان‌ بانک،‌ حساب‌شان که‌ طی این‌ چند سال و‌ با تلاش و کوشش پس‌انداز کرده‌اند، مسدود و نابود شده و ‌می‌توانند از ابتدا در بهمان ‌بانک ‌حساب باز کرده ‌و دوباره از اول شروع به پس‌انداز کنند.

 بی‌گمان سرمایه‌ی اجتماعی‌ای که در آینده و شبکه اجتماعی دیگری شکل بگیرد نیز، همچون همین فیس‌بوک و تلگرام، هیچ تضمینی بر ماندگاری‌اش نیست. بدین شیوه، صدها سال است در چرخه‌ای از ساختن و ویران کردن دچار شده‌ایم و پیشرفت بر پایه داشته‌ها و انباشته‌های پیشین‌ را، تنها در کشورهای همسایه‌ای می‌بینیم که روز به روز از ما بیشتر فاصله می‌گیرند.

منبع : https://t.me/moghaddames

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

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است. 

سلام دوستان، برای جمع اوری داده های توییتر از twitter_stream  مربوط به کتابخانه tweepy  دارم استفاده می کنم. اما متاسفانه فقط داداهای online رو واکشی می کنه و نمی تونم بهش تاریخ مشخصی بدم. ایا کتابخونه ای در پایتون می شناسین که بتونم تویت های فارسی یک تاریخ مشخص رو جمع اوری کنم؟ ممنون

در کل توییت فارسی به نسبت زبان انگلیسی کم هست ، مخصوصا اگه بهش تاریخ بدی. به نظرم تا جایی که میتونی زمان نده یا بازه زمانی خیلی بزرگی انتخاب کن.

وب سرویس هایی که از وب سرویس رسمی توییتر استفاده میکنند فقط توییت های 10 روز اخیر رو میدن. برای گرفتن توییت های قدیمی باید از روش های scrap توییتر استفاده میکنی. یعنی کدی بنویسی که به قسمت سرچ سایت توییتر وصل بشه، و عملیات جستجوی توییت رو انجام بدی.

این برنامه ها یه مثال از جاوا و پایتون هست

https://github.com/Jefferson-Henrique/GetOldTweets-java

https://github.com/Jefferson-Henrique/GetOldTweets-python

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است

سلام دوستان یه سوال داشتم ممنون میشم راهنمایی بفرمایید  برای اینکه یه پروژه داده کاوی با پایتون را بخواهبم بین چند نفر تقسیم کنیم که انجام بدن چه کارهایی لازمه؟  منظورم اینه که سرور لینوکسی که داریم چطوری باید کانفیگ کنیم کلا مراحل کار چیه؟  یه چی شبیه گیت هاب؟

پروژه رو میبرین رویgitlabبعد به کسایی که قراره روش کار کنن دسترسی میدین بعد اگه لازم بود چنتاbranchهم میزنین که کارا کاملا از هم جدا باشن اگه مثلا دارین ماژولار کار میکنین و .... کلا باید گیت بلد باشین که خیلی آسونه

 

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است

سلام دوستان. من برای گرفان توییت های فارسی این کد رو ران می کنم.  اولا متن توییت کامل نمیاد. و دوما توی متن همه چیز هست به جز کامه ای که من سرچ می کنم. و سوما فقط توییت ها رو در روزی که دارم  کد رو اجرا می کنم میاره. کسی هست منوراهنمایی کنه؟

سلام یه فیلد باید ست بشه که توییت ها رو به صورت extend بیاره. من با زبان جاوا کتابخونه twitre4j این کاز رو انجام‌دادم

 

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است.

 

سلام دوستان. یه سوال درباره sentiment analysis داشتم.کسی میتونه بگه الگوریتم هایی مث بیزین و svm چطوری polarityجمله رو مشخص میکنن؟؟آیا فقط مشخص میکنن جمله در کلاس مثبت هست یا منفی؟من یه کد پایتون برای بیزین زدم. اما جالبه حتی وقتی بهش داده ی train نمیدم داره polarity رو جداگانه حساب میکنه!! این polarity داره چجوری محاسبه میشه؟؟ ممنون

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

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است

سلام ببخشید وزن دهی وword to wec چه تفاوتی باهم دارن؟آیاجزمراحل پیش پرزدازشن؟

Word2vec   ابزاری برای تبدیل کلمات در یک متن به بردارهایی با مقادیر عددی در فضای n بعدی هست که کاربردهای خیلی زیادی مثل پیدا کردن شباهت معنایی کلمات داره و ربطی به پیش پردازش نداره. منظورتون از وزن دهی رو بیشتر توضیح بدین.

 

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است

سلام کسی میدونه چطوری میشه تمام لینکها را یک مرتبه دانلود کرد؟ نتایج من در ۷۲ صفحه هست و هر صفحه تعداد ۳۰ لینک داره . بادستور.      Wget -r website address   مربوط به یک صفحه دانلود میشه اما صفحات بعدی را نمیتونه دانلود کنه

اگه با این دستور واسه یه صفحه داره جواب میده میشه یه کار خیلی ساده کرد یه لیست از آدرس ها بسازین، بعد یه فور بزارین رو اون لیست و واسه هر آدرس اون دستور رو فراخونی کنین منظورمbashنوشتنه نه پایتون یا زبون دیگه... اگه بلد نیستید با پایتون هم میشه...

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است.

سلام دوستان من یه لیست دارم به این صورت:

[0,0,0,0,1,1,1,1,2,2] میخوام ایندکس آغاز و پایان عددهایی که تکرار شدن رو به دست بیارم مثلا ایندکس آغاز و پایان 2 یا صفر. کسی می دونی چجوری؟

یجا ذخیره کن از هر کدوم چنتا داری، میشه یه فور یبار روش حرکت کن ( یه فور جدا دیگه ) و به نقطه شروع هرکدوم که رسیدی اونو به عنوان خونه شروع یجا ذخیره کن، بعد تعدادش رو که داری، مثلnتاس، حالا میدونی تهشnتا جلو تره، پس آخرشم داری،n+1تا بپر جلو تر به نقطه شروع بعدی میرسی و تا آخر....

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است

 

سلام دوستان و مهندسین عزیز من میخوام روی text mining درون شبکه های اجتماعی و وب فارسی کار کنم, برای شروع باید چی رو یاد بگیرم,؟؟؟

ممنون میشم یه نفر نقشه راه رو بهم بده

برای یادگیری متن‌کاوی و مراحل آن ابتدا لازم هست با مفاهیم اصلی یادگیری ماشین و الگوریتم‌های مطرح این حوزه آشنا بشوید. در دوره Applied Data Science With Python دانشگاه میشیگان(Coursera) این مفاهیم در دو درس یادگیری ماشین و متن کاوی به صورت کاربردی تدریس می‌شود که توصیه میکنم در آن شرکت کنید. در این دو درس الگوریتم های مختلفی هم پیاده سازی می گردد که کدهای آن جهت تمرین و استفاده بیشتر در اختیار دانشجویان قرار می گیرد. جهت پیاده سازی در زبان فارسی می توانید از زبان های پایتون، R یا نرم افزار رپیدماینر استفاده کنید که بهترین انتخاب در حال حاضر زبان پایتون خواهد بود. جهت گام پیش پردازش  متن کتابخانه هضم و گام مدل سازی و پیاده سازی الگوریتم های یادگیری ماشین کتابخانه های Gensim, NlTK, Scikit learn و... وجود دارد که بنا به نیازمندی و نوع الگوریتم های مورد نیاز در مسئله می توانید از آنها استفاده کنید.

 

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است

سلام ازدوستان کسی میتونه بمن  بگه data mining,text mining ,web miningجایگاهشون کجاست؟کدوم زیرشاخه کدومه؟

یتا ماینینگ یعنی روش های استفاده از یادگیری ماشین  و آمار برای استخراج اطلاعات از داده ها.

داده ها ما به سه دسته تقسیم میشن:

1- داده های ساختار یافته (مانند اعداد یا دیتاها در دیتابیس های رابطه ای)

2- داده های نیمه ساختار یافته (داده های داری ابرداده)

3- داده ها بدون ساختار (متن ها)

اگر از داده کاوی در حوزه داده های نیمه ساختار یافته و بدون ساختار استفاده کنیم میشه Text mining. از اونجایی که در محیط وب در اکثر مواقع با داده های نوع 2 و 3 در ارتباطیم اگر متن کاوی رو در محیط وب انجام بدیم میشه وب ماینینگ. نکته: خیلی ها data mining فقط بر روی دیتا ساختار یافته تعریف می کنند.

data mining -> text mining -> web mining

 

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است

سلام دوستان میشه برامن درزمینه تحلیل احساسات ب روش یادگیری نیمه نظارتی  برای پایان نامم یه نوآوری پیشنهادبدین؟؟ممنون میشم

سلام

ابتدا یه دیتای کوچیک شروع میکنی و سنتیمنتشو دستی میزنی . بعد یه دیتای بزرگ کلاسترینگ کن به نحوی که مرکز کلاسترا همون داده هایی باشه که دستی مشخص کردی اونوقت برچسب هر کلاسترو همون مقدار سنتیمنت مرکزش بزن. درنهایت یه knn درست کن رو دیتاستت به عنوان خروجی

 

 

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است.

سلام دوستان، برای جمع اوری داده های توییتر از twitter_stream  مربوط به کتابخانه tweepy  دارم استفاده می کنم. اما متاسفانه فقط داداهای online رو واکشی می کنه و نمی تونم بهش تاریخ مشخصی بدم. ایا کتابخونه ای در پایتون می شناسین که بتونم تویت های فارسی یک تاریخ مشخص رو جمع اوری کنم؟ ممنون

در کل توییت فارسی به نسبت زبان انگلیسی کم هست ، مخصوصا اگه بهش تاریخ بدی. به نظرم تا جایی که میتونی زمان نده یا بازه زمانی خیلی بزرگی انتخاب کن.

وب سرویس هایی که از وب سرویس رسمی توییتر استفاده میکنند فقط توییت های 10 روز اخیر رو میدن. برای گرفتن توییت های قدیمی باید از روش های scrap توییتر استفاده میکنی. یعنی کدی بنویسی که به قسمت سرچ سایت توییتر وصل بشه، و عملیات جستجوی توییت رو انجام بدی.

این برنامه ها یه مثال از جاوا و پایتون هست

https://github.com/Jefferson-Henrique/GetOldTweets-java

https://github.com/Jefferson-Henrique/GetOldTweets-python

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است.

سلام دوستان یه سوال داشتم ممنون میشم راهنمایی بفرمایید  برای اینکه یه پروژه داده کاوی با پایتون را بخواهبم بین چند نفر تقسیم کنیم که انجام بدن چه کارهایی لازمه؟  منظورم اینه که سرور لینوکسی که داریم چطوری باید کانفیگ کنیم کلا مراحل کار چیه؟  یه چی شبیه گیت هاب؟

پروژه رو میبرین رویgitlabبعد به کسایی که قراره روش کار کنن دسترسی میدین بعد اگه لازم بود چنتاbranchهم میزنین که کارا کاملا از هم جدا باشن اگه مثلا دارین ماژولار کار میکنین و .... کلا باید گیت بلد باشین که خیلی آسونه

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است.

سلام دوستان. من برای گرفان توییت های فارسی این کد رو ران می کنم.  اولا متن توییت کامل نمیاد. و دوما توی متن همه چیز هست به جز کامه ای که من سرچ می کنم. و سوما فقط توییت ها رو در روزی که دارم  کد رو اجرا می کنم میاره. کسی هست منوراهنمایی کنه؟

سلام یه فیلد باید ست بشه که توییت ها رو به صورت extend بیاره. من با زبان جاوا کتابخونه twitre4j این کاز رو انجام‌دادم

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است.

سلام دوستان. یه سوال درباره sentiment analysis داشتم.کسی میتونه بگه الگوریتم هایی مث بیزین و svm چطوری polarityجمله رو مشخص میکنن؟؟آیا فقط مشخص میکنن جمله در کلاس مثبت هست یا منفی؟من یه کد پایتون برای بیزین زدم. اما جالبه حتی وقتی بهش داده ی train نمیدم داره polarity رو جداگانه حساب میکنه!! این polarity داره چجوری محاسبه میشه؟؟ ممنون

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

 

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است.

سلام ببخشید وزن دهی وword to wec چه تفاوتی باهم دارن؟آیاجزمراحل پیش پرزدازشن؟

Word2vec   ابزاری برای تبدیل کلمات در یک متن به بردارهایی با مقادیر عددی در فضای n بعدی هست که کاربردهای خیلی زیادی مثل پیدا کردن شباهت معنایی کلمات داره و ربطی به پیش پردازش نداره. منظورتون از وزن دهی رو بیشتر توضیح بدین.

 

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است.

سلام کسی میدونه چطوری میشه تمام لینکها را یک مرتبه دانلود کرد؟ نتایج من در ۷۲ صفحه هست و هر صفحه تعداد ۳۰ لینک داره . بادستور.      Wget -r website address   مربوط به یک صفحه دانلود میشه اما صفحات بعدی را نمیتونه دانلود کنه

اگه با این دستور واسه یه صفحه داره جواب میده میشه یه کار خیلی ساده کرد یه لیست از آدرس ها بسازین، بعد یه فور بزارین رو اون لیست و واسه هر آدرس اون دستور رو فراخونی کنین منظورمbashنوشتنه نه پایتون یا زبون دیگه... اگه بلد نیستید با پایتون هم میشه...

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است.

سلام دوستان من یه لیست دارم به این صورت:

[0,0,0,0,1,1,1,1,2,2] میخوام ایندکس آغاز و پایان عددهایی که تکرار شدن رو به دست بیارم مثلا ایندکس آغاز و پایان 2 یا صفر. کسی می دونی چجوری؟

یجا ذخیره کن از هر کدوم چنتا داری، میشه یه فور یبار روش حرکت کن ( یه فور جدا دیگه ) و به نقطه شروع هرکدوم که رسیدی اونو به عنوان خونه شروع یجا ذخیره کن، بعد تعدادش رو که داری، مثلnتاس، حالا میدونی تهشnتا جلو تره، پس آخرشم داری،n+1تا بپر جلو تر به نقطه شروع بعدی میرسی و تا آخر....

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است.

 

سلام دوستان و مهندسین عزیز من میخوام روی text mining درون شبکه های اجتماعی و وب فارسی کار کنم, برای شروع باید چی رو یاد بگیرم,؟؟؟

ممنون میشم یه نفر نقشه راه رو بهم بده

برای یادگیری متن‌کاوی و مراحل آن ابتدا لازم هست با مفاهیم اصلی یادگیری ماشین و الگوریتم‌های مطرح این حوزه آشنا بشوید. در دوره Applied Data Science With Python دانشگاه میشیگان(Coursera) این مفاهیم در دو درس یادگیری ماشین و متن کاوی به صورت کاربردی تدریس می‌شود که توصیه میکنم در آن شرکت کنید. در این دو درس الگوریتم های مختلفی هم پیاده سازی می گردد که کدهای آن جهت تمرین و استفاده بیشتر در اختیار دانشجویان قرار می گیرد. جهت پیاده سازی در زبان فارسی می توانید از زبان های پایتون، R یا نرم افزار رپیدماینر استفاده کنید که بهترین انتخاب در حال حاضر زبان پایتون خواهد بود. جهت گام پیش پردازش  متن کتابخانه هضم و گام مدل سازی و پیاده سازی الگوریتم های یادگیری ماشین کتابخانه های Gensim, NlTK, Scikit learn و... وجود دارد که بنا به نیازمندی و نوع الگوریتم های مورد نیاز در مسئله می توانید از آنها استفاده کنید.

 

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است.

سلام ازدوستان کسی میتونه بمن  بگه data mining,text mining ,web miningجایگاهشون کجاست؟کدوم زیرشاخه کدومه؟

یتا ماینینگ یعنی روش های استفاده از یادگیری ماشین  و آمار برای استخراج اطلاعات از داده ها.

داده ها ما به سه دسته تقسیم میشن:

1- داده های ساختار یافته (مانند اعداد یا دیتاها در دیتابیس های رابطه ای)

2- داده های نیمه ساختار یافته (داده های داری ابرداده)

3- داده ها بدون ساختار (متن ها)

اگر از داده کاوی در حوزه داده های نیمه ساختار یافته و بدون ساختار استفاده کنیم میشه Text mining. از اونجایی که در محیط وب در اکثر مواقع با داده های نوع 2 و 3 در ارتباطیم اگر متن کاوی رو در محیط وب انجام بدیم میشه وب ماینینگ. نکته: خیلی ها data mining فقط بر روی دیتا ساختار یافته تعریف می کنند.

data mining -> text mining -> web mining

 

افتخار آکادمی داده، همسفر بودن با شما در راه یادگیری علم داده است.

سلام دوستان میشه برامن درزمینه تحلیل احساسات ب روش یادگیری نیمه نظارتی  برای پایان نامم یه نوآوری پیشنهادبدین؟؟ممنون میشم

سلام ابتدا یه دیتای کوچیک شروع میکنی و سنتیمنتشو دستی میزنی . بعد یه دیتای بزرگ کلاسترینگ کن به نحوی که مرکز کلاسترا همون داده هایی باشه که دستی مشخص کردی اونوقت برچسب هر کلاسترو همون مقدار سنتیمنت مرکزش بزن. درنهایت یه knn درست کن رو دیتاستت به عنوان خروجی