<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های مصطفی اسدی</title>
        <link>https://virgool.io/feed/@mostafaasadi</link>
        <description>توسعه‌دهنده و برنامه‌نویس | ma73.ir</description>
        <language>fa</language>
        <pubDate>2026-06-07 10:37:59</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/55722/avatar/i2EMcs.png?height=120&amp;width=120</url>
            <title>مصطفی اسدی</title>
            <link>https://virgool.io/@mostafaasadi</link>
        </image>

                    <item>
                <title>نگاهی بر داده‌کاوی در بازار انرژی</title>
                <link>https://virgool.io/@mostafaasadi/%D9%86%DA%AF%D8%A7%D9%87%DB%8C-%D8%A8%D8%B1-%D8%AF%D8%A7%D8%AF%D9%87-%DA%A9%D8%A7%D9%88%DB%8C-%D8%AF%D8%B1-%D8%A8%D8%A7%D8%B2%D8%A7%D8%B1-%D8%A7%D9%86%D8%B1%DA%98%DB%8C-inmie0dregjv</link>
                <description>چکیدهاین مقاله که نگاهی بر مجموعه مقالاتی است به بررسی استفاده از تکنیک‌های داده‌کاوی و یادگیری ماشین در پیش‌بینی قیمت نفت و بهبود فرآیندهای صنعت نفت و با استفاده از مدل‌های هوشمند مانند شبکه‌های عصبی مصنوعی و الگوریتم‌های بهینه‌سازی برای تحلیل داده‌ها و پیش‌بینی دقیق‌تر قیمت‌ها می‌پردازد. این تکنیک‌ها به بهبود بهره‌وری انرژی، کاهش هزینه‌های تولید و بهینه‌سازی مصرف انرژی منجر شده‌اند. مطالعات نشان می‌دهند که با استفاده از فناوری‌های نوظهور اطلاعاتی و سیستم‌های مدیریت هوشمند انرژی، می‌توان دقت پیش‌بینی‌ها را افزایش داد و تصمیم‌گیری‌های بهتری در زمینه عملیات نفت و گاز انجام داد.مقدمهنفت و گاز از بقایای پوسیده گیاهان و حیوانات طی میلیون‌ها سال تولید می‌شوند. این دو نوع سوخت برای دهه‌ها به عنوان منابع اصلی انرژی نقش داشته‌اند. در حال حاضر، آن‌ها همچنان منابع اصلی انرژی برای روشنایی مسکونی، پخت و پز، گرمایش، حمل و نقل و تولید صنعتی هستند. این وضعیت برای مدت طولانی ادامه خواهد داشت؛ در یک منابع، نتیجه‌گیری شده که روند مصرف کل انرژی تا قبل از سال 2040 همچنان رو به رشد خواهد بود. با این حال، یک واقعیت که گاهی نادیده گرفته می‌شود این است که شرکت‌های نفت و گاز مصرف انرژی بسیار بالایی دارند و همچنین یکی از بزرگترین تولیدکنندگان گازهای گلخانه‌ای نیز هستند.اخیراً با ورود به عصر &quot;کربن دوگانه&quot;، تولید انرژی‌بر نفت و گاز انتقادات زیادی را از سوی محیط زیست‌گرایان، مدیران شرکت‌ها، سرمایه‌گذاران و سایر ذینفعان به دنبال داشته است. بنابراین، صنعت نفت باید تلاش بیشتری برای کاهش انتشار کربن انجام دهد.این مقاله که نگاهی کوتاه به چند مقاله دیگر است می‌کوشد برآورد نظرات آن‌ها را در اثر تکنولوژی‌های نو به ویژه تکنیک‌های داده‌کاوی در تحلیل بازارهای نفتی مورد بررسی قرار دهد.در حال حاضر، فناوری کلان داده و اینترنت اشیا (IoT) با سرعت زیادی در حال توسعه هستند و فناوری زیرساخت اندازه‌گیری نیز پیشرفت‌های بزرگی را نشان می‌دهد. شرکت‌های نفت و گاز تلاش‌های زیادی برای توسعه نرم‌افزارهای دیجیتال و ساخت سخت‌افزار به منظور کاهش هزینه تولید نفت از طریق فناوری‌های نوظهور اطلاعاتی کرده‌اند. نتایج نشان می‌دهد که این سرمایه‌گذاری‌ها برای بهبود بهره‌وری انرژی و کاهش هزینه تولید مفید بوده‌اند. به عنوان مثال، شبکه‌های حسگر بی‌سیم (WSN) به فناوری گسترده‌ای در زمینه‌های نفت و گاز از بالادست، میان‌دست، و پایین‌دست برای نظارت بر فرآیندهای تولید مهم و کنترل عملیات حیاتی تبدیل شده‌اند. در یکی دیگر از منابع، مزایای فناوری‌های دیجیتال تولید گاز از دیدگاه دیگری به‌طور واضح بحث شده و این مزایا در مورد برخی چاه‌های گاز خاص نیز دیده شده است؛ با استفاده از این ابزارهای پیشرفته بهره‌برداری دیجیتال گاز، شرایط بهره‌برداری مقرون به‌صرفه احتمالاً از مرحله کاهش تولید افزایش می‌یابد و در نهایت به افزایش بهره‌وری نیروی کار کمک خواهد کرد.تکنیک‌های داده‌کاویتکنیک‌های داده‌کاوی ابزارهای قدرتمندی هستند که برای استخراج تحلیل‌های ارزشمند از مجموعه داده‌های بزرگ استفاده می‌شوند. این تکنیک‌ها در صنایع مختلفی از جمله نفت و گاز، بهداشت و درمان، امور مالی و بازاریابی کاربرد دارند.در ادامه به توضیح برخی از تکنیک‌های کلیدی داده‌کاوی مورد استفاده در حوزه نفت و انرژی پرداخته شده است:طبقه‌بندی (Classification): این تکنیک شامل دسته‌بندی داده‌ها به کلاس‌ها یا گروه‌های از پیش تعریف‌شده است. الگوریتم‌های رایج برای طبقه‌بندی شامل درخت‌های متفاوت تصمیم‌گیری هستند. طبقه‌بندی در مدل‌سازی پیش‌بینی، مانند پیش‌بینی نرخ ترک مشتریان یا طبقه‌بندی سازندهای زمین‌شناسی کاربرد دارد.رگرسیون (Regression): تحلیل رگرسیون برای پیش‌بینی یک متغیر پیوسته بر اساس یک یا چند متغیر پیش‌بینی‌کننده استفاده می‌شود. روش‌های متداول شامل رگرسیون خطی، رگرسیون چندگانه و رگرسیون لجستیک هستند. در صنعت نفت و گاز، رگرسیون می‌تواند قیمت نفت یا ویژگی‌های مخازن را پیش‌بینی کند.خوشه‌بندی (Clustering): خوشه‌بندی داده‌های مشابه را بدون برچسب‌های از پیش تعیین‌شده گروه‌بندی می‌کند. تکنیک‌های رایج شامل k-means، خوشه‌بندی سلسله‌مراتبی و DBSCAN هستند. خوشه‌بندی به شناسایی الگوها و بخش‌بندی داده‌ها کمک می‌کند، مانند گروه‌بندی فعالیت‌های زلزله‌ای مشابه یا بخش‌بندی مشتریان.شناسایی ناهنجاری (Anomaly Detection): شناسایی ناهنجاری داده‌های غیرعادی یا خارج از محدوده را که از الگوی عادی منحرف می‌شوند، تشخیص می‌دهد. این تکنیک در تشخیص تقلب، امنیت شبکه و شناسایی نقص‌های تجهیزات در میادین نفتی بسیار مهم است.کاهش ابعاد (Dimensionality Reduction): کاهش تعداد متغیرها در یک مجموعه داده در حالی که اطلاعات اساسی حفظ می‌شود، به ساده‌سازی مدل‌ها و تجسم داده‌ها کمک می‌کند. این تکنیک‌ها در پردازش داده‌های با ابعاد بالا، مانند داده‌های زمین‌شناسی، مفید هستند.شبکه‌های عصبی (Neural Networks): شبکه‌های عصبی مصنوعی الگوها و روابط در داده‌ها را شناسایی می‌کنند. این تکنیک‌ها در حل مسائل پیچیده مانند تشخیص تصویر و گفتار بسیار مؤثر هستند. یادگیری عمیق، زیرمجموعه‌ای از شبکه‌های عصبی است که شامل شبکه‌های عصبی پیچشی و شبکه‌های عصبی بازگشتی است که در کاربردهای پیشرفته مانند تحلیل تصویر و پردازش زبان طبیعی استفاده می‌شوند.کاوش متن (Text Mining): کاوش متن اطلاعات مفیدی را از داده‌های متنی استخراج می‌کند. تکنیک‌ها شامل پردازش زبان طبیعی (NLP)، تحلیل احساسات و مدل‌سازی موضوعی هستند. کاوش متن در تحلیل بازخورد مشتری، محتوای رسانه‌های اجتماعی و گزارش‌های فنی کاربرد دارد.الگوریتم‌های ژنتیک (Genetic Algorithms): الهام‌گرفته از فرآیند انتخاب طبیعی، الگوریتم‌های ژنتیک تکنیک‌های بهینه‌سازی هستند که برای یافتن بهترین راه‌حل برای یک مسئله استفاده می‌شوند. این الگوریتم‌ها در سناریوهایی که روش‌های سنتی ناممکن هستند، مانند بهینه‌سازی پارامترهای حفاری در محیط‌های پیچیده زمین‌شناسی، مفید هستند.یادگیری مبتنی بر قواعد (Rule-Based Learning): این تکنیک شامل استخراج قواعد if-then مفید از داده‌ها بر اساس اهمیت آماری است. یادگیری مبتنی بر قواعد برای ایجاد مدل‌های قابل تفسیر در حوزه‌هایی که نیاز به توضیح‌پذیری دارند، مفید است.پاک‌سازی و پیش‌پردازش داده‌ها (Data Cleaning and Preprocessing): مراحل ضروری در داده‌کاوی شامل مدیریت مقادیر گم‌شده، شناسایی ناهنجاری‌ها، نرمال‌سازی و کدگذاری متغیرهای دسته‌ای هستند. این مراحل کیفیت داده را تضمین کرده و دقت نتایج داده‌کاوی را بهبود می‌بخشند.با استفاده از این تکنیک‌های داده‌کاوی، سازمان‌ها می‌توانند الگوهای پنهان را کشف کنند، عملیات را بهینه‌سازی کنند، تصمیم‌گیری‌های مبتنی بر داده انجام دهند و در صنایع خود برتری رقابتی کسب کنند.تکنیک‌های یادگیری ماشین در پیش‌بینی قیمتمقاله شماره دو (Price forecasting through neural network)در این مقاله برای پیش‌بینی قیمت انواع کالاهای انرژی مانند نفت خام، نفت گرمایشی و گاز طبیعی، از مدل‌های شبکه عصبی خودرگرسیونی غیرخطی (NAR) استفاده می‌شود. این مدل‌ها قیمت‌های آینده را بر اساس قیمت‌های گذشته در قالب یک رابطه بازگشتی پیش‌بینی می‌کنند. ساختار مدل شامل یک شبکه دو لایه پیش‌خور (Feedforward) است که از تابع انتقال خطی در لایه خروجی و تابع انتقال سیگموئید در لایه‌های مخفی استفاده می‌کند. برای تخمین مدل از تکنیک لونبرگ-مارکوارت (LM) استفاده می‌شود که سرعت آموزش مرتبه دوم را تقریب می‌زند و از محاسبه ماتریس هسین اجتناب می‌کند. داده‌ها به نسبت 70%–15%–15% برای آموزش، اعتبارسنجی و آزمون تقسیم می‌شوند و مدل‌ها با تاخیرها و تعداد نورون‌های مخفی مختلف آزمایش می‌شوند تا بهترین تنظیمات انتخاب شوند.مقاله شماره چهار (Petroleum prices prediction using data mining technique)در این مقاله از چندین تکنیک برای پیش‌بینی قیمت نفت و محصولات نفتی استفاده شده است:مدل‌های آماری و اقتصادسنجی:مدل رگرسیون : این مدل برای پیش‌بینی قیمت‌های کوتاه‌مدت نفت استفاده شده است. مثال‌هایی از استفاده این مدل در پیش‌بینی قیمت سوخت در مالزی و آمریکا ذکر شده است.شبکه‌های عصبی عمیق:Convolutional Neural Network: استفاده از تحلیل احساسات و شناسایی موضوعات از طریق متن‌های آنلاین برای پیش‌بینی قیمت نفت.Long Short-Term Memory: مدل‌های LSTM برای پیش‌بینی دقیق‌تر قیمت‌ها بر اساس داده‌های تاریخی طولانی‌مدت و رفع مشکلات وابستگی طولانی مدت RNN ها (شبکه بازگشتی).Recurrent Neural Network: شبکه‌های عصبی بازگشتی که برای پیش‌بینی قیمت‌های روز بعد سوخت در شهرهای مختلف استفاده شده‌اند.مدل‌های ترکیبی:ترکیب تکنیک‌های مختلف داده‌کاوی مانند شبکه عصبی خود رگرسیون غیرخطی، و مدل هموارسازی نمایی در یک چارچوب مدل فضای حالت به منظور افزایش دقت پیش‌بینی.منطق و مجموعه فازیAdaptive Neuro-Fuzzy Inference System: استفاده از سیستم استنتاج عصبی-فازی تطبیقی برای پیش‌بینی قیمت‌های نفت سازمان کشورهای صادرکننده نفت (OPEC).مدل‌های ژنتیک-فازی: استفاده از اطلاعات فازی و الگوریتم‌های ژنتیک برای پیش‌بینی جهت تغییرات کوتاه‌مدت قیمت نفت خام.این تکنیک‌ها ترکیبی از روش‌های آماری، یادگیری ماشین و هوش مصنوعی هستند که هر کدام به نحوی برای افزایش دقت و بهبود پیش‌بینی قیمت‌های نفت و محصولات نفتی استفاده شده‌اند.اشکالات تحلیل مبتنی بر داده و یادگیری ماشیندر بررسی مدل‌های پیش‌بینی قیمت نفت تاکنون، چندین اشکال شناسایی شده‌اند. اول از همه، ورودی‌های مرتبط با بازار اغلب در نظر گرفته نمی‌شوند زیرا داده‌های استفاده شده در پیش‌بینی‌ها معمولاً از قیمت‌های WTI یا Brent گرفته می‌شوند. بازار قیمت نفت به دلیل وابستگی به عوامل مختلف، مستعد نوسانات است. نادیده گرفتن این جنبه‌ها می‌تواند اعتبار مدل پیش‌بینی را تضعیف کند و از کامل بودن آن جلوگیری کند. مدلی که پیش‌بینی‌های دقیقی ارائه می‌دهد، نشان‌دهنده وابستگی قوی بین ورودی‌ها و خروجی‌ها است.دوم، مطالعات کمی وجود دارند که به نوسانات بازار می‌پردازند. اکثر بحث‌ها بیشتر بر جنبه قیمت پیش‌بینی متمرکز شده‌اند تا دلایل نوسانات. اگرچه عرضه و تقاضای نفت هر دو تأثیر زیادی بر نوسانات قیمت دارند، اما گنجاندن این حقایق تنها پتانسیل عناصر دیگر مانند داده‌های ورودی را محدود می‌کند و مدل را ناقص می‌سازد. پیش‌بینی دقیق بازار با ترکیب و پیوند اجزای مهم می‌تواند انجام شود.سوم، داده‌های سری زمانی در اکثر مدل‌های بررسی شده استفاده شده‌اند. در اکثر تحقیقات، هیچ‌گونه پیش‌پردازش داده یا روش نمایش داده‌ای وجود نداشته است. این دو فرآیند به نرمال‌سازی مجموعه داده‌ها، حذف نویز و پاکسازی مجموعه داده‌ها کمک می‌کنند تا فرآیند پیش‌بینی را ساده‌تر کنند و در نهایت نتایج قابل اعتمادتری تولید کنند. بدون این عملیات، مدل پیش‌بینی کمتر قابل اعتماد خواهد بود.چهارم، تحقیقات نشان داده‌اند که پیش‌بینی روند قیمت بیشتر از پیش‌بینی قیمت‌های مجزا رایج است. حتی اگر کاربرد مطالعات انجام شده تا کنون همچنان قابل بحث باشد، پیش‌بینی قیمت‌های مجزا تحقیق را جذاب‌تر و مفیدتر برای کاربران می‌کند.نتیجه‌گیریاستفاده از الگوریتم‌های داده‌کاوی در پیش‌بینی قیمت نفت و گاز، علی‌رغم چالش‌های موجود، ابزاری قدرتمند و رو به رشد در صنعت انرژی است. این رویکرد نوین چندین مزیت کلیدی را ارائه می‌دهد:1. افزایش دقت پیش‌بینی: الگوریتم‌های داده‌کاوی با توانایی تحلیل حجم عظیمی از داده‌های متنوع، امکان ارائه پیش‌بینی‌های دقیق‌تر نسبت به روش‌های سنتی را فراهم می‌کنند. این امر به تصمیم‌گیری بهتر در سطوح مختلف صنعت و سیاست‌گذاری کمک می‌کند.2. کشف الگوهای پنهان: این الگوریتم‌ها قادر به شناسایی روابط و الگوهای پیچیده‌ای هستند که ممکن است برای تحلیلگران انسانی قابل تشخیص نباشد. این قابلیت می‌تواند به درک عمیق‌تر از عوامل مؤثر بر قیمت نفت و گاز منجر شود.3. انعطاف‌پذیری و به‌روزرسانی: مدل‌های مبتنی بر داده‌کاوی قابلیت به‌روزرسانی مداوم با داده‌های جدید را دارند، که این امر باعث می‌شود پیش‌بینی‌ها همواره با آخرین تحولات بازار همگام باشند.4. ترکیب منابع داده متنوع: این رویکرد امکان ادغام داده‌های مختلف از منابع گوناگون را فراهم می‌کند، که منجر به ایجاد مدل‌های جامع‌تر می‌شود.با این حال، چالش‌هایی نیز وجود دارد که باید مورد توجه قرار گیرند:1. نیاز به داده‌های با کیفیت: عملکرد الگوریتم‌های داده‌کاوی به شدت وابسته به کیفیت و کمیت داده‌های ورودی است. بهبود روش‌های جمع‌آوری و پردازش داده می‌تواند به افزایش دقت پیش‌بینی‌ها کمک کند.2. پیچیدگی تفسیر: برخی از مدل‌های پیشرفته مانند شبکه‌های عصبی عمیق، تفسیر دشواری دارند. توسعه روش‌هایی برای افزایش شفافیت و قابلیت تفسیر این مدل‌ها ضروری است.3. مدیریت عدم قطعیت: بازار نفت و گاز تحت تأثیر عوامل غیرقابل پیش‌بینی متعددی قرار دارد. توسعه روش‌هایی برای مدل‌سازی و مدیریت بهتر این عدم قطعیت‌ها می‌تواند به بهبود عملکرد مدل‌ها کمک کند.چشم‌انداز آینده:1. یادگیری عمیق: استفاده از مدل‌های یادگیری عمیق پیچیده‌تر می‌تواند به کشف الگوهای پنهان‌تر در داده‌ها کمک کند.2. ترکیب داده‌های ساختاریافته و غیرساختاریافته: ادغام داده‌های سنتی با منابعی مانند اخبار، شبکه‌های اجتماعی و تصاویر ماهواره‌ای می‌تواند دید جامع‌تری از بازار ارائه دهد.3. سیستم‌های هوش مصنوعی چندعامله: توسعه سیستم‌هایی که قادر به در نظر گرفتن تعاملات پیچیده بین عوامل مختلف بازار هستند، می‌تواند به پیش‌بینی‌های دقیق‌تر منجر شود.4. توسعه روش‌های مقاوم در برابر شوک‌های بازار: ایجاد الگوریتم‌هایی که قادر به تشخیص و واکنش سریع به تغییرات ناگهانی در بازار هستند، می‌تواند ارزش زیادی برای تصمیم‌گیرندگان داشته باشد.در نهایت، با توجه به پیشرفت‌های مداوم در حوزه هوش مصنوعی و علم داده، انتظار می‌رود که کاربرد الگوریتم‌های داده‌کاوی در پیش‌بینی قیمت نفت و گاز گسترش یافته و بهبود پیدا کند. این امر می‌تواند به مدیریت بهتر ریسک، بهینه‌سازی سرمایه‌گذاری‌ها و سیاست‌گذاری مؤثرتر در صنعت انرژی منجر شود. با این حال، همواره باید به محدودیت‌های این روش‌ها آگاه بود و از ترکیب هوش مصنوعی با تخصص و تجربه انسانی برای دستیابی به بهترین نتایج استفاده کرد.منابعReview of application of artificial intelligence techniques in petroleum operationsPrice forecasting through neural networks for crude oil, heating oil, and natural gasAn Overview of Data Mining Applications in Oil and Gas ExplorationPetroleum prices prediction using data mining techniqueAn Intelligent Energy Management Information System with Machine Learning Algorithms in Oil and Gas Industry</description>
                <category>مصطفی اسدی</category>
                <author>مصطفی اسدی</author>
                <pubDate>Wed, 03 Jul 2024 15:21:30 +0330</pubDate>
            </item>
                    <item>
                <title>پایتون با طعم فندق</title>
                <link>https://virgool.io/coderlife/python-with-fandogh-flavor-brjon7tautfu</link>
                <description>فندق چیست؟فندق یک سکو برای راه‌اندازی و نگهداری سرویس‌های نرم‌افزاری است که به کابران اجازه می‌دهد به طور منعطف و مقیاس‌پذیر سرویس‌های نرم‌افزار خود را راه‌اندازی کنند و متناسب با منابعی که مصرف می‌کنند هزینه کنند.بطور خیلی خیلی ساده، فندق یک سرویس است که بدون دردسر و هزینه‌های نگهداری و راه‌اندازی سرور، پروژه‌های در قالب داکر را اجرا می‌کندداکر چیست؟داکر یک سکوی متن باز برای ساخت، طراحی و اجرای اپلیکیشن های توزیع شده استو با بیان ساده‌تر، داکر، نرم‌افزار شما را با همه وابستگی‌ها و نیازمندی‌ها در محیطی بسته و ایزوله‌ بنام کانتینر بسته‌بندی می‌کند و کانتینر شما بدون نگرانی و نیاز به هیچ وابستگی‌ای در پلتفرم‌ها و محیط‌های دیگر قابل اجراستنقشه چیست؟ با هم یک پروژه پایتونی ساده را گام به گام ابتدا داکرایز (در قالب داکر پیاده‌سازی شده) می‌کنیم و سپس برای اجرا بر روی فندق می‌فرستیم (دیپلوی می‌کنیم)آماده‌سازی برای استفاده از فندق ابتدا باید در فندق عضو شوید سپس برای ارتباط با فندق باید CLI (اپ رابط متنی) فندق را نصب کنید، نصب از طریق pip راهکار مناسبی است (شاید نیاز به دسترسی روت باشد)pip install fandogh-cliحالا با دستور زیر و با اطلاعات شناسه کاربریتان از طریق CLI وارد فندق شوید fandogh loginداکرایزدر قدم دوم و اصلی باید پروژه پایتونی را تبدیل به یک ایمیج داکر کنیم به عنوان نمونه یک ربات تلگرامی ساده با استفاده از کتابخانه python telegram bot نوشته‌ام که در پاسخ به پیام‌های متنی شما پاسخی ساده می‌دهد https://gist.github.com/mostafaasadi/66628078dc3e3da2578ed316b41ba99b این ربات به سادگی با نصب کتابخانه پیشنیاز بوسیله پایتون۳ قابل اجراست حال در همان مسیری که فایل ربات قرار دارد فایلی با نام Dockerfile بسازید این Dockerfile  شیوه ساخت، اجرا و نیازمندی‌های برنامه شما برای ساخت کانتینر را به داکر معرفی می‌کندبرای پروژه‌ای با پایتون خالص (همین ربات خودمان)  محتویات فایل داکر باید چنین باشدFROM python:latest
COPY bot.py .
RUN pip3 install python-telegram-bot --upgrade
ENTRYPOINT [ &quot;python3&quot; ]
CMD [&quot;bot.py&quot;] خط اول به داکر می‌گوید که تصویر پایه برای ساخت این ایمیج، ایمیج پایتون(آخرین نسخه) است خط دوم نیز فایل اصلی ربات را به کانتینر انتقال می‌دهد (شما می‌توانید متناسب نیاز فایل‌های دیگری را نیز اضافه کنید)خط سوم کتابخانه python-telegram-bot (یا هر پیشنیاز دیگر برای پروژه) را از طریق pip نصب می‌کند (البته روش‌های دیگری نیز برای این منظور هست)خط چهارم نیز شیوه شروع اجرا را مشخص می‌کندخط پنجم هم دستور اجرایی ربات را نشان می‌دهد درباره ساختار فایل داکر اینجا را بخوایند حال با انتخاب نامی برای این ایمیج خود دستور زیر در در مسیری که فایل داکر قرار دارد وارد کنید fandogh image init  --name=fandoghibotتا با پیام Image created successfully مواجه شوید، سپس با دستور زیر ایمیج را بسازید (ورژن را مشخص کنید)fandogh image publish --version v1سپس ایمیج داکر شما متناسب با اطلاعات فایل داکر مرحله به مرحله ساخته و بر روی فندق فرستاده می‌شود اجرا بر روی فندقاکنون اگر تصویر بدرستی ساخته و به فندق ارسال شده باشد در داشبورد فندق شما باید موجود باشدحال باید آن را روی فندق اجرا کنیم fandogh service deploy --version v1 --name fandoghibotبا دستور بالا به فندق می‌گوییم که ورژن یک از ایمیج fandoghibot که در مرحله قبل ساخته‌ایم را در قالب یک سرویس اجرا کن پس از پاسخ موفقیت‌آمیز اجرای سرویس توسط CLI، اگر به داشبورد هم بروید، سرویس در حال اجرا قابل مشاهده استاگر ربات هم تست کنیم، پاسخ می‌دهد ?منابع و مستنداتhttps://docs.fandogh.cloud/docs/getting-started.htmlhttps://docs.docker.com/engine/reference/builder/https://stackabuse.com/dockerizing-python-applications/https://blog.fandogh.cloud/articles/how-write-docker-file.htmlhttps://blog.fandogh.cloud/articles/fandogh-introduction.html</description>
                <category>مصطفی اسدی</category>
                <author>مصطفی اسدی</author>
                <pubDate>Thu, 01 Aug 2019 18:22:02 +0430</pubDate>
            </item>
                    <item>
                <title>تکرار واژگان در ضرب‌المثل‌های فارسی</title>
                <link>https://virgool.io/@mostafaasadi/persian-proverb-analyze-bbnp6l5vpmz2</link>
                <description>چند روز پیش داشتم درباره پردازش واژگان فکر می‌کردم که این سوال به ذهنم رسید که چه کلمه‌ای در ضرب‌المثل‌های فارسی بیشتر تکرار شده یا به بیان دیگر فارسی‌زبانان از چه واژه‌ای بیشتر استفاده کرده‌اند؟با پیش‌فرض چند حدس (حدس می‌زدم واژه «خر» پرتکرارترین باشد)، در اولین قدم در اینترنت جست‌وجو کردم ولی به نتیجه‌ای نرسیدم و خب در قدم دوم مثل هر برنامه‌نویس دیگر خودم دست به کار شدم، در ادامه فرآیند حل مساله را دنبال می‌کنیم، البته یادآوری کنم شاید روش‌ها و کدها خیلی بهینه و تخصصی نباشند، به بزرگواری خودتان ببخشیدجمع‌آوری ضرب‌المثل‌هادر اولین قدم برای تحلیل ضرب‌المثل‌ها، باید ضرب‌المثل‌ها را می‌داشتم و خب شروع کردم باز به جست‌وجو و چند سایت دیدم که دیتابیس ضرب‌المثل‌ها برای فروش گذاشته بودند ولی ترجیح دادم خودم جمع آوری کنم و باز دنبال سایتی گشتم که همه ضرب‌المثل‌ها را یکجا قرار داده باشد که در بین چند نمونه سایت http://www.zibasho.com/zarb که ضرب‌المثل‌ها را به تفکیک شروعشان با حروف الفبا قرار داده است بهتر از بقیه بودخب ظاهرا ضرب‌المثل‌ها با شروع فقط ۲۹ حرف شروع می‌شدند، لینک‌ها را به کمک اینسپکت مرورگر جدا و در یک فایل به اسم links قرار دادم http://www.zibasho.com/zarb/kh.htm
http://www.zibasho.com/zarb/ch.htm
http://www.zibasho.com/zarb/jim.htm
http://www.zibasho.com/zarb/t.htm
http://www.zibasho.com/zarb/p.htm
http://www.zibasho.com/zarb/b.htm
http://www.zibasho.com/zarb/a.htm
http://www.zibasho.com/zarb/zad.htm
http://www.zibasho.com/zarb/sad.htm
http://www.zibasho.com/zarb/shin.htm
http://www.zibasho.com/zarb/sin.htm
http://www.zibasho.com/zarb/z.htm
http://www.zibasho.com/zarb/r.htm
http://www.zibasho.com/zarb/zal.htm
http://www.zibasho.com/zarb/d.htm
http://www.zibasho.com/zarb/gaf.htm
http://www.zibasho.com/zarb/kaf.htm
http://www.zibasho.com/zarb/ghaf.htm
http://www.zibasho.com/zarb/f.htm
http://www.zibasho.com/zarb/ghayn.htm
http://www.zibasho.com/zarb/ayn.htm
http://www.zibasho.com/zarb/za.htm
http://www.zibasho.com/zarb/ta.htm
http://www.zibasho.com/zarb/ya.htm
http://www.zibasho.com/zarb/ha.htm
http://www.zibasho.com/zarb/vav.htm
http://www.zibasho.com/zarb/noon.htm
http://www.zibasho.com/zarb/mim.htm
http://www.zibasho.com/zarb/lam.htmوارد هرکدام از این صفحات که بشوید ضرب‌المثل‌هایی که با آن حرف شروع می‌شوند را نوشته شده، پس با جمع‌آوری محتویات همه این صفحات، دیتابیسی از همه ضرب‌المثل‌های فارسی خواهیم داشتبرای جمع‌آوری ضرب‌المثل‌ها تابع پایتونی کوچکی نوشتم که این صفحات را اسکرپ می‌کند def get():
    links = list()
    with open(&#039;links&#039;) as f:
        for line in f:
            links.append(line.replace(&#039;\n&#039;, &#039;&#039;))

        for l in links:
            print(l)
            html = urllib.request.urlopen(l)
            soup = BeautifulSoup(html, &#039;lxml&#039;)
            data = soup.findAll(&#039;p&#039;)
            for i in data:
                t = str(i)
                t = t.split(&#039;&gt;&#039;)
                t = t[2].split(&#039;&lt;&#039;)
                t = t[0].replace(&#039;ضرب المثل هاي ايراني&#039;, &#039;&#039;)
                with open(&#039;db&#039;, &#039;a&#039;) as db:
                    db.write(t + &#039;\n&#039;)
                print(t)تابع هر لینک را از همان فایل links می‌خواند و در هر صفحه محتویات بین تگ‌های &lt;p&gt; که همان ضرب‌المثل‌ها هستند را با حذف اضافات در هر خط فایلی جدید بنام db می‌نویسدحالا دیتابیسی فایلی با ۲هزار خط از ضرب‌المثل‌های فارسی داریم (البته کمی شلخته و نامنظم)شمارش و پردازش ضرب‌المثل‌هابرای شمارش تکرار کلمات، ابتدا یک فایل به اسم stopwords.txt از فعل‌ها، حرف‌های ربط و علامت‌ها و واژگان بی‌ربط ساختم که آن‌ها را از بررسی حذف کنیم https://gist.github.com/mostafaasadi/fd24ae7f89556acdc66a847e588ff3d0  https://gist.github.com/mostafaasadi/fd24ae7f89556acdc66a847e588ff3d0 و حالا این تابع پایتونی که با خواندن محتویات فایل db و حذف اضافات با استناد به  فایل stepwords.txt تکرار واژگان در ضرب‌المثل‌های فارسی را شمارش کرده و نمایش می‌دهد def count():
    swl = []
    with open(&#039;stopwords.txt&#039;, &#039;r&#039;) as f:
        for line in f:
            for s in line.split():
                swl.append(str(s))
    with open(&#039;db&#039;, &#039;r&#039;) as f:
        words = f.read().split()
        wordCount = dict(Counter(words))
        wordCount = sorted(wordCount.items(), key=lambda x: x[1])

        for i in wordCount:
            if i[0] not in swl:
                print(i[0] + &#039; :: &#039; + str(i[1]))خب نتیجه واقعا جالب بود ?  ولی متاسفانه حدسم یک پله عقب افتاد ?سر  ۶۶ بارخر  ۵۶ باردست  ۵۲ بارآب  ۴۵ بارخدا  ۴۲ باركار  ۳۳ بارسگ  ۳۱ بارزن  ۳۰ بارخانه، صد  ۲۸ بارمال  ۲۴ بارمار، نون  ۲۳ بارشتر  ۲۲ بارمرد  ۲۱ بارشب، گربه  ۲۰ باربرای درک بهتر و جذاب‌تر آمار و ارقام یک تابع دیگر پایتونی هم نوشتم که ابر واژگان ضرب‌المثل‌ها را بر اساس تعداد تکرار طراحی می‌کرد def wc():
    wl = []
    text = &#039;&#039;
    swl = []
    with open(&#039;stopwords.txt&#039;, &#039;r&#039;) as f:
        for line in f:
            for s in line.split():
                swl.append(str(s))
    stopwords = set(swl)
    with open(&#039;db&#039;, &#039;r&#039;) as f:
        for line in f:
            for s in line.split():
                if s not in stopwords:
                    wl.append(str(convert(s.replace(&#039;،&#039;, &#039;&#039;))))
    text = &#039;\n&#039;.join(wl)
    wordcloud = PersianWordCloud(
        only_persian=True,
        max_words=150,
        margin=5,
        width=800,
        height=800,
        min_font_size=1,
        colormap=&#039;Accent&#039;,
        max_font_size=500,
        background_color=&quot;white&quot;
    ).generate(text)
    image = wordcloud.to_image()
    image.show()
    image.save(&#039;result.png&#039;)نهایتا خروجی به این شکل است ?ابرواژگان ضرب‌المثل‌های فارسیکد کامل همه این فرآیند هم روی گیتهاب در خدمت شما ? https://gist.github.com/mostafaasadi/5e29fa74441ddb78e095961ccec4376a </description>
                <category>مصطفی اسدی</category>
                <author>مصطفی اسدی</author>
                <pubDate>Wed, 03 Jul 2019 00:05:39 +0430</pubDate>
            </item>
            </channel>
</rss>