نظارت بر فضای cryptocurrency با NLP و نمودارهای دانش

ساخت وبلاگ

هر روز میلیون ها مقاله و مقاله منتشر می شود. در حالی که دانش زیادی در آن مقالات پنهان است ، خواندن همه آنها تقریباً غیرممکن است. حتی اگر فقط روی یک دامنه خاص تمرکز کنید ، پیدا کردن همه مقاله های مربوطه و خواندن آنها برای به دست آوردن بینش ارزشمند هنوز دشوار است.

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

در این پست وبلاگ ، من یک راه حل در مورد چگونگی ترکیب قدرت NLP با نمودارهای دانش را ارائه می دهم تا بینش های ارزشمندی را از مقالات مربوطه به طور خودکار استخراج کنید.

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

در پست قبلی من ، من قبلاً به این نکته اشاره کرده ام که چگونه می توانید خط لوله داده خود را به صورت دستی توسعه دهید.

در حالی که می تواند ماه ها طول بکشد تا خط لوله داده شما که به طور مؤثر مقالات اینترنتی را خزنده می کند و آنها را با مدل های NLP پردازش می کند ، یک راه حل Diffbot پیدا کردم که می تواند در طی چند ساعت به شما در حل آن کمک کند.

Diffbot با خزیدن و تجزیه و تحلیل کل اینترنت ، مأموریت ایجاد بزرگترین نمودار دانش جهان را دارد. سپس نقاط پایانی API را برای جستجوی و بازیابی مقالات یا موضوعات مربوطه فراهم می کند. اگر می خواستید ، می توانید از API آنها برای غنی سازی داده ها نیز استفاده کنید زیرا نمودار دانش آنها حاوی اطلاعاتی در مورد سازمان های مختلف ، افراد ، محصولات و موارد دیگر است.

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

دستور جلسه

  1. مقالاتی را که در مورد cryptocurrency صحبت می کنند ، بازیابی کنید
  2. مقالات خارجی را با Google Translate API ترجمه کنید
  3. وارد کردن مقالات به neo4j
  4. موجودات و حقایق را با API NLP Diffbot استخراج کنید
  5. واردات نهادها و حقایق را به neo4j
  6. تجزیه و تحلیل نمودار

من یک نوت بوک Jupyter تهیه کرده ام که شامل کد برای بازتولید مراحل این مقاله است.

مقالات مربوط به ارزهای رمزنگاری شده را بازیابی کنید

همانطور که گفته شد ، ما از API های Diffbot برای بازیابی مقالاتی که در مورد ارزهای رمزنگاری صحبت می کنند ، استفاده خواهیم کرد. اگر می خواهید این پست را دنبال کنید ، می توانید یک حساب آزمایشی رایگان در صفحه آنها ایجاد کنید ، که باید برای تکمیل تمام مراحل ارائه شده در اینجا کافی باشد. پس از ورود به پورتال آنها ، می توانید رابط سازنده Query Visual Query آنها را کشف کرده و آنچه را که در دسترس است بازرسی کنید.

داده های زیادی توسط API دانش دانش Diffbot وجود دارد. بنابراین نه تنها می توانید مقالات مختلفی را جستجو کنید ، بلکه می توانید از API های KG آنها برای بازیابی اطلاعات در مورد سازمانها ، محصولات ، اشخاص ، مشاغل و موارد دیگر استفاده کنید.

این مثال آخرین 5000 مقاله را با برچسب برچسب cryptocurrency بازیابی می کند.

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

مقالات خارجی را با Google Translate API ترجمه کنید

مقالات بازیابی شده از سراسر جهان و در بسیاری از زبانها است. در مرحله بعدی ، از Google Translate API برای ترجمه آنها به انگلیسی استفاده خواهید کرد. شما باید API Google Translate را فعال کرده و یک کلید API ایجاد کنید.

 

حتماً قیمت گذاری آنها را بررسی کنید ، زیرا کمی بیشتر از آنچه انتظار می رفت برای استفاده از API ترجمه آنها به پایان رسید. من قیمت گذاری در سایت های دیگر را بررسی کرده ام و معمولاً برای ترجمه یک میلیون شخصیت بین 15 تا 20 دلار است.

 

قبل از اینکه به قسمت استخراج NLP برویم ، مقالات را به Neo4J وارد خواهیم کرد.

وارد کردن مقالات به neo4j

پیشنهاد می کنم دسک تاپ NEO4J را بارگیری کنید یا از نمونه Cloud Neo4J Auradb استفاده کنید ، که باید برای ذخیره اطلاعات در مورد این 5000 مقاله کافی باشد. اول از همه ، ما باید اتصال به نمونه Neo4J را تعریف کنیم.

مدل نمودار وارداتی طرح زیر را خواهد داشت.

ما در مورد مقالات ابرداده ای داریم. به عنوان مثال ، ما احساسات کلی مقاله و زمان انتشار آن را می دانیم. علاوه بر این ، برای بیشتر مقالات ، ما می دانیم که چه کسی آنها را نوشت و در کدام سایت. سرانجام ، API Diffbot نیز دسته های یک مقاله را برمی گرداند.

قبل از ادامه ، ما محدودیت های منحصر به فرد را در NEO4J تعریف خواهیم کرد ، که باعث می شود واردات و نمایش داده های بعدی شود.

اکنون می توانیم پیش برویم و مقالات را به Neo4J وارد کنیم.

من به جزئیات زیادی نمی پردازم و توضیح می دهم که چگونه پرس و جو Cypher فوق کار می شود. درعوض ، چندین پست وبلاگ در صورت علاقه به معرفی واردات Cypher و Graph می پردازند. همچنین یک دوره Graphacademy در مورد وارد کردن داده ها وجود دارد که اصول اولیه را در بر می گیرد.

ما می توانیم یک پست به وبلاگ را بررسی کنیم تا مدل طرحواره نمودار را تأیید کنیم.

قبل از اینکه به قسمت تجزیه و تحلیل پست برویم ، از API NLP برای استخراج نهادها و روابط استفاده خواهیم کرد ، یا همانطور که Diffbot آنها را می نامد ، واقعیت ها.

وب سایت Diffbot نسخه ی نمایشی NLP آنلاین را ارائه می دهد ، جایی که می توانید هر متن را وارد کرده و نتایج را ارزیابی کنید. من یک نمونه از مقاله ای را که به تازگی در Neo4J وارد کرده ایم وارد کرده ام.

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

برای پردازش اشخاص در پاسخ و ذخیره NEO4J ، از کد زیر استفاده خواهیم کرد:

این مثال فقط اشخاصی را وارد می کند که انواع مختلفی از قبیل سازمان ، شخص ، محصول و مکان را مجاز کرده اند و سطح اطمینان آنها از 0. 7 بیشتر است. NLP API Diffbot همچنین دارای پیوند موجودیت است ، جایی که اشخاص با ویکی پدیا ، Crunchbase یا LinkedIn در ارتباط هستند ، تا آنجا که من دیدم. ما همچنین انواع موجودیت اضافی را به عنوان برچسب های اضافی به گره موجودیت اضافه می کنیم.

در مرحله بعد ، ما باید عملکردی را تهیه کنیم که روابط را به NEO4J پاک و وارد کند.

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

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

با دنبال کردن این مراحل ، شما با موفقیت نمودار دانش را در Neo4J ساخته اید. به عنوان مثال ، می توانیم محله جک دورسی را تجسم کنیم.

استخراج NLP به این نتیجه رسید که جک دورسی مدیرعامل بلوک است و با الکس مورکوس ، مارتین وایت و غیره روابط کاری دارد. البته همه اطلاعات استخراج شده کامل نیست.

به نظر من خنده دار است که NLP الون مسک را به عنوان کارمند Dogecoin معرفی کرد ، که به هر حال دور از حقیقت نیست. من با اطمینان از حقایق بازی نکرده ام ، اما شما می توانید آستانه را برای کاهش سر و صدا افزایش دهید. با این حال ، این یک بازی بین دقت و فراخوان است.

این فقط یک زیرگراف نمونه است. دشوار است که تصمیم بگیرید دقیقاً چه چیزی را نشان می دهد زیرا اطلاعات زیادی در دسترس است.

تجزیه و تحلیل نمودار

در قسمت آخر این پست ، من شما را از طریق برخی از برنامه های مثال که می توانید با نمودار دانش مانند این استفاده کنید ، پیاده می کنم. ابتدا جدول زمانی مقالات را ارزیابی خواهیم کرد.

مطابقت (الف: مقاله) تاریخ بازگشت (a. date) به عنوان تاریخ ، تعداد (*) را به عنوان سفارش شمارش براساس تاریخ محدوده 10

بین 150 تا 450 مقاله در روز در مورد ارزهای رمزنگاری شده در سراسر جهان وجود دارد که بیانیه اولیه من را در مورد آن حجم بیش از حد خوانده است. در مرحله بعد ، ما ارزیابی خواهیم کرد که کدام نهادها بیشتر در مقالات ذکر می شوند.

مسابقه (E: موجودیت) E. Name را به عنوان موجودیت ، اندازه (E) بازگرداند<[:MENTIONS]-()) AS articles ORDER BY articles DESC LIMIT 5

همانطور که از مقالاتی که در اطراف ارزهای رمزنگاری شده انتظار دارید انتظار دارید ، بیشترین اشخاص ذکر شده عبارتند از:

  • رمز رمز
  • بیت کوین
  • اتریوم و
  • کنگره

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

MATCH (e:Entity )()-[:HAS_REGION]>(منطقه) با منطقه. نام به عنوان منطقه ، m. Sentiment به عنوان منطقه بازگشت احساسات ، avg (احساسات) به عنوان avgsentiment ، stdev (احساسات) به عنوان stdsentiment ، حداکثر (احساسات) به عنوان حداکثر ، حداقل (احساسات) به عنوان minsentiment ، count (*)به عنوان مقالات توسط مقالات توسط مقالات محدود 5

احساسات به طور متوسط مثبت است ، اما بر اساس مقادیر انحراف استاندارد بین مقالات به شدت نوسان می کند. ما می توانیم احساسات بیت کوین را بیشتر کشف کنیم. درعوض ، ما بررسی خواهیم کرد که افراد دارای بالاترین و کمترین احساسات متوسط در اکثر مقالات در آمریکای شمالی هستند.

MATCH (e:Person)()-[:HAS_REGION]>(region) WHERE region.name = "North America" RETURN e.name AS entity, count(*) AS articles, avg(m.sentiment) AS sentiment ORDER BY sentiment * articles DESC LIMIT 5 UNION MATCH (e:Person)()-[:HAS_REGION]>(منطقه) که در آن منطقه. name = "آمریکای شمالی" E. Name را به عنوان موجودیت ، شمارش ( *) به عنوان مقاله ، avg (m. sentiment) به عنوان سفارش احساسات توسط احساسات * مقالات ASC محدود 5

اکنون می توانیم عناوین مقالاتی را که در آن به عنوان مثال مارک کوبا ظاهر می شود ، کشف کنیم.

مسابقه (سایت) (E: نهاد) بازگشت A. Title را به عنوان عنوان ، A. Language به عنوان زبان ، M. Sentiment به عنوان احساسات ، سایت. نام به عنوان سفارش سایت توسط Sentiment Desc Limit 5

در حالی که خود عناوین ممکن است توصیفی ترین نباشند ، ما همچنین می توانیم بررسی کنیم که سایر اشخاص غالباً در مقالاتی که از مارک کوبا ذکر شده است ، به هم پیوسته اند.

مطابقت (o: موجودیت) (E: موجودیت) با o ، count (*) به عنوان سفارش شمارش توسط شمارش معکوس ها به حداکثر حد محدود 5 بازگشت O. Name به عنوان موجودیت ، شمارش

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

MATCH P = (E: Entity)-(: موجودیت) بازگشت P

در مرحله بعد ، ما به سرعت عناوین مقاله را که در آن Floyd Mayweather ظاهر می شود ، ارزیابی خواهیم کرد ، زیرا میانگین احساسات بسیار کم است.

MATCH (a:Article)-[m:MENTIONS]>.

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

مسابقه (E: Entity) که در آن (ه) بازگرداندن e. name به عنوان سهام ، شمارش (*) به عنوان ذکر شده ، avg (m. sentiment) به عنوان میانگین ، حداقل (m. sentiment) به عنوان minsentiment ، max (m. sentiment) به عنوان maxsentimentسفارش توسط ذکر محدودیت DESC 5

من فقط سطح بینش های موجود را که می توانیم استخراج کنیم خراش داده ام. برای پایان ، من فقط دو تجسم را اضافه می کنم و برخی از برنامه هایی را که می توانید توسعه دهید ذکر می کنم.

به عنوان مثال ، شما می توانید با نگاهی به روابطی مانند رقبا ، Acquired_By ، تأمین کنندگان و غیره ، بازار را تجزیه و تحلیل کنید. از طرف دیگر ، می توانید تجزیه و تحلیل خود را بیشتر روی افراد موجود در نمودار متمرکز کرده و تأثیر یا اتصالات آنها را ارزیابی کنید.

نتیجه

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

مثل همیشه ، کد در GitHub موجود است.

نظارت بر فضای cryptocurrency با NLP و نمودارهای دانش در ابتدا در وبلاگ توسعه دهنده Neo4J در Medium منتشر شد ، جایی که افراد با برجسته کردن و پاسخ دادن به این داستان ، مکالمه را ادامه می دهند.

مقالات آموزش فارکس...
ما را در سایت مقالات آموزش فارکس دنبال می کنید

برچسب : نویسنده : بهزاد فراهانی بازدید : 48 تاريخ : پنجشنبه 9 شهريور 1402 ساعت: 16:47