عکس مایکچی اسپارگوزا
ما هر روز بیشتر اوقات با متن بدون برچسب سروکار داریم و الگوریتم های یادگیری نظارت شده به هیچ وجه نمی توانند برای استخراج اطلاعات از داده ها استفاده شوند. یک زیر شاخه از زبان طبیعی می تواند ساختار زیربنایی را در حجم زیادی از متن آشکار کند. این رشته مدلسازی موضوعی نام دارد که در استخراج موضوعات از متن تخصص دارد.
در این زمینه، رویکردهای مرسوم، مانند تخصیص دیریکله نهفته و فاکتورسازی ماتریس غیر منفی، نشان داد که روابط بین کلمات را به خوبی نشان نمیدهند، زیرا آنها بر اساس کیسه از کلمه هستند.
به همین دلیل، ما بر روی دو رویکرد امیدوارکننده، Top2Vec و BERTopic تمرکز خواهیم کرد که با بهرهبرداری از مدلهای زبانی از پیش آموزشدیده برای تولید موضوعات، این اشکالات را برطرف میکنند. بیا شروع کنیم!
Top2Vec مدلی است که قادر به تشخیص خودکار موضوعات از متن با استفاده از بردارهای کلمه از پیش آموزش دیده و ایجاد موضوعات، اسناد و بردارهای کلمه جاسازی شده معنادار است.
در این رویکرد، روند استخراج موضوعات را می توان به مراحل مختلفی تقسیم کرد:
- ایجاد جاسازی معنایی: بردارهای سند و کلمه به طور مشترک ایجاد می شوند. ایده این است که اسناد مشابه باید در فضای تعبیه نزدیکتر باشند، در حالی که اسناد غیرمشابه باید بین آنها فاصله داشته باشند.
- ابعاد تعبیه سند را کاهش دهید: استفاده از رویکرد کاهش ابعاد برای حفظ بیشترین تنوع در تعبیه اسناد و در عین حال کاهش فضای ابعادی بالا مهم است. علاوه بر این، امکان شناسایی مناطق متراکم را فراهم می کند، که در آن هر نقطه نشان دهنده یک بردار سند است. UMAP روش کاهش ابعاد معمولی است که در این مرحله انتخاب شده است زیرا قادر است ساختار محلی و جهانی داده های با ابعاد بالا را حفظ کند.
- دسته هایی از اسناد را شناسایی کنید: HDBScan، یک رویکرد خوشهبندی مبتنی بر چگالی، برای یافتن مناطق متراکم اسناد مشابه استفاده میشود. هر سند اگر در یک خوشه متراکم نباشد به عنوان نویز یا اگر به منطقه متراکم تعلق دارد به عنوان برچسب اختصاص داده می شود.
- مرکزها را در فضای جاسازی اصلی محاسبه کنید: مرکز با در نظر گرفتن فضای ابعادی بالا به جای کاهش فضای تعبیه شده محاسبه می شود. استراتژی کلاسیک شامل محاسبه میانگین حسابی همه بردارهای سند متعلق به یک ناحیه متراکم است که در مرحله قبل با HDBSCAN به دست آمد. به این ترتیب برای هر خوشه یک بردار موضوعی تولید می شود.
- کلماتی را برای هر وکتور موضوع پیدا کنید: نزدیکترین بردارهای کلمه به بردار سند از نظر معنایی نمایانگرترین هستند.
نمونه ای از Top2Vec
در این آموزش، ما قصد داریم بررسی های منفی مک دونالد را از مجموعه داده های موجود در آن تجزیه و تحلیل کنیم داده.جهان. شناسایی موضوعات از این بررسیها میتواند برای این شرکت چندملیتی برای بهبود محصولات و سازماندهی این زنجیرهی فست فود در مکانهای ارائهشده توسط دادههای ایالات متحده ارزشمند باشد.
import pandas as pd
from top2vec import Top2Vec file_path = "McDonalds-Yelp-Sentiment-DFE.csv"
df = pd.read_csv( file_path, usecols=["_unit_id", "city", "review"], encoding="unicode_escape",
)
df.head()
docs_bad = df["review"].values.tolist()
در یک خط کد، تمام مراحل top2vec که قبلا توضیح داده شد را انجام می دهیم.
topic_model = Top2Vec( docs_bad, embedding_model="universal-sentence-encoder", speed="deep-learn", tokenizer=tok, ngram_vocab=True, ngram_vocab_args={"connector_words": "phrases.ENGLISH_CONNECTOR_WORDS"},
)
آرگومان های اصلی Top2Vec عبارتند از:
- docs_bad: لیستی از رشته ها است.
- universal-sentence-encoder: مدل تعبیه شده از پیش آموزش دیده انتخاب شده است.
- عمیق یادگیری: پارامتری است که کیفیت بردار سند تولید شده را تعیین می کند.
topic_model.get_num_topics() #3
topic_words, word_scores, topic_nums = topic_model.get_topics(3) for topic in topic_nums: topic_model.generate_topic_wordcloud(topic)
بیشترین
از کلمه ابرها می توان استنباط کرد که مبحث 0 در مورد شکایات کلی در مورد خدمات در مک دونالد است، مانند "سرویس آهسته"، "سرویس وحشتناک" و "سفارش اشتباه"، در حالی که مبحث 1 و 2 به ترتیب به غذای صبحانه اشاره دارد. مک مافین، بیسکویت، تخم مرغ) و قهوه (قهوه سرد و قهوه فنجانی).
اکنون، ما سعی می کنیم اسناد را با استفاده از دو کلمه کلیدی، اشتباه و کند جستجو کنیم:
( documents, document_scores, document_ids,
) = topic_model.search_documents_by_keywords( keywords=["wrong", "slow"], num_docs=5
)
for doc, score, doc_id in zip(documents, document_scores, document_ids): print(f"Document: {doc_id}, Score: {score}") print("-----------") print(doc) print("-----------") print()
خروجی:
Document: 707, Score: 0.5517634093633295
-----------
horrible.... that is all. do not go there.
----------- Document: 930, Score: 0.4242547340973836
-----------
no drive through :-/
----------- Document: 185, Score: 0.39162203345993046
-----------
the drive through line is terrible. they are painfully slow.
----------- Document: 181, Score: 0.3775083338082392
-----------
awful service and extremely slow. go elsewhere.
----------- Document: 846, Score: 0.35400602635951994
-----------
they have bad service and very rude
-----------
BERTopic یک تکنیک مدلسازی موضوعی است که از ترانسفورماتورها و c-TF-IDF برای ایجاد خوشههای متراکم استفاده میکند که امکان تفسیر موضوعات آسان را فراهم میکند و در عین حال کلمات مهم را در توضیحات موضوع حفظ میکند.
همانطور که از نام آن پیداست، BERTopic از مدل های ترانسفورماتور قدرتمند برای شناسایی موضوعات موجود در متن استفاده می کند. یکی دیگر از ویژگیهای این الگوریتم مدلسازی مبحث، استفاده از یک نوع TF-IDF است که به آن تنوع مبتنی بر کلاس TF-IDF میگویند.
مانند Top2Vec، نیازی به دانستن تعداد موضوعات ندارد، اما به طور خودکار موضوعات را استخراج می کند.
علاوه بر این، مشابه Top2Vec، الگوریتمی است که شامل فازهای مختلف است. سه مرحله اول یکسان است: ایجاد اسناد جاسازی، کاهش ابعاد با UMAP و خوشهبندی با HDBScan.
فازهای متوالی شروع به واگرایی از Top2Vec می کنند. پس از یافتن نواحی متراکم با HDBSCAN، هر موضوع به یک نمایش کیسه ای از کلمات تبدیل می شود، که در نظر می گیرد آیا کلمه در سند ظاهر می شود یا نه. پس از اینکه اسناد متعلق به یک خوشه یک سند منحصر به فرد در نظر گرفته شده و TF-IDF اعمال می شود. بنابراین، برای هر موضوع، مرتبط ترین کلمات را شناسایی می کنیم که باید بالاترین c-TF-IDF را داشته باشند.
نمونه ای از BERTopic
ما تجزیه و تحلیل را روی همان مجموعه داده تکرار می کنیم.
ما می خواهیم موضوعات را از بررسی ها با استفاده از BERTopic استخراج کنیم:
model_path_bad = 'model/bert_bad'
topic_model_bad = train_bert(docs_bad,model_path_bad)
freq_df = topic_model_bad.get_topic_info()
print("Number of topics: {}".format( len(freq_df)))
freq_df['Percentage'] = round(freq_df['Count']/freq_df['Count'].sum() * 100,2)
freq_df = freq_df.iloc[:,[0,1,3,2]]
freq_df.head()
جدول ارائه شده توسط مدل اطلاعاتی در مورد 14 موضوع استخراج شده ارائه می دهد. موضوع با شناسه موضوع مطابقت دارد، به جز همه موارد پرت که نادیده گرفته می شوند و به عنوان -1 برچسب گذاری شده اند.
اکنون میخواهیم به جالبترین بخش مربوط به تجسم موضوعات خود در نمودارهای تعاملی بپردازیم، مانند تجسم مرتبطترین اصطلاحات برای هر موضوع، نقشه فاصله بین موضوعی، نمایش دو بعدی فضای تعبیهشده و سلسله مراتب موضوع
بیایید شروع کنیم به نشان دادن نمودارهای میله ای برای ده موضوع برتر. برای هر موضوع، میتوانیم مهمترین کلمات را که به ترتیب کاهشی بر اساس امتیاز c-TF-IDF مرتب شدهاند، مشاهده کنیم. هرچه یک کلمه مرتبط تر باشد، امتیاز بیشتر است.
مبحث اول شامل کلمات عمومی مانند مکان و غذا، مبحث 1 سفارش و انتظار، مبحث 2 بدترین و سرویس، مبحث 3 مکان و کثیف، آگهی و غیره است.
پس از تجسم نمودارهای میله ای، وقت آن است که نگاهی به نقشه فاصله بین موضوعی بیندازیم. ما ابعاد نمره c-TF-IDF را به یک فضای دو بعدی کاهش می دهیم تا موضوعات را در یک طرح تجسم کنیم. در پایین، یک نوار لغزنده وجود دارد که به شما امکان می دهد موضوعی را انتخاب کنید که قرمز رنگ می شود. می توان متوجه شد که موضوعات در دو خوشه مختلف دسته بندی شده اند، یکی با موضوعات عمومی مانند غذا، مرغ و مکان، و دیگری با جنبه های منفی متفاوت، مانند بدترین سرویس، کثیف، مکان و سرد.
نمودار بعدی اجازه می دهد تا رابطه بین بررسی ها و موضوعات را مشاهده کنید. به ویژه، درک اینکه چرا یک بررسی به یک موضوع خاص اختصاص داده می شود و با مرتبط ترین کلمات یافت شده همسو می شود، می تواند مفید باشد. برای مثال، میتوانیم روی خوشه قرمز، مربوط به مبحث 2 با کلماتی در مورد بدترین سرویس تمرکز کنیم. اسناد موجود در این منطقه متراکم کاملاً منفی به نظر می رسند، مانند "خدمات وحشتناک به مشتری و حتی غذای بدتر".
در نگاه اول، این رویکردها دارای جنبه های مشترک بسیاری هستند، مانند یافتن خودکار تعداد موضوعات، عدم نیاز به پیش پردازش در بیشتر موارد، استفاده از UMAP برای کاهش ابعاد تعبیه اسناد و سپس HDBSCAN برای مدلسازی این تعبیههای سند کاهشیافته، اما وقتی به نحوه اختصاص موضوعات به اسناد نگاه میکنیم، اساساً متفاوت هستند.
Top2Vec با یافتن کلماتی که نزدیک به مرکز یک خوشه قرار دارند، بازنمایی های موضوعی را ایجاد می کند.
بر خلاف Top2Vec، BERTopic مرکز خوشه را در نظر نمی گیرد، اما تمام اسناد موجود در یک خوشه را به عنوان یک سند منحصر به فرد در نظر می گیرد و بازنمایی موضوع را با استفاده از یک تنوع مبتنی بر کلاس TF-IDF استخراج می کند.
Top2Vec | BERTopic |
استراتژی استخراج موضوعات بر اساس مرکزهای خوشه ای. | استراتژی استخراج موضوعات بر اساس c-TF-IDF. |
از مدل سازی موضوع پویا پشتیبانی نمی کند. | از مدل سازی موضوع پویا پشتیبانی می کند. |
برای هر موضوع ابرهای کلمه ایجاد می کند و ابزارهای جستجو برای موضوعات، اسناد و کلمات را فراهم می کند. | این امکان ایجاد نمودارهای تجسم تعاملی را فراهم می کند و امکان تفسیر موضوعات استخراج شده را فراهم می کند. |
مدل سازی موضوع یک زمینه رو به رشد از پردازش زبان طبیعی است و برنامه های کاربردی متعددی مانند بررسی، پست های صوتی و رسانه های اجتماعی وجود دارد. همانطور که نشان داده شد، این مقاله مروری بر Topi2Vec و BERTopic ارائه می دهد، که دو رویکرد امیدوارکننده هستند که می توانند به شما در شناسایی موضوعات با چند خط کد و تفسیر نتایج از طریق تجسم داده ها کمک کنند. اگر در مورد این تکنیک ها سوالی دارید یا پیشنهادات دیگری در مورد روش های دیگر برای تشخیص موضوعات دارید، آن را در نظرات بنویسید.
یوجنیا آنلو در حال حاضر یک پژوهشگر در گروه مهندسی اطلاعات دانشگاه پادووا، ایتالیا است. پروژه تحقیقاتی او بر یادگیری مستمر همراه با تشخیص ناهنجاری متمرکز است.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- پلاتوبلاک چین. Web3 Metaverse Intelligence. دانش تقویت شده دسترسی به اینجا.
- منبع: https://www.kdnuggets.com/2023/01/topic-modeling-approaches-top2vec-bertopic.html?utm_source=rss&utm_medium=rss&utm_campaign=topic-modeling-approaches-top2vec-vs-bertopic
- 1
- 10
- 100
- 7
- a
- قادر
- درباره ما
- حساب
- Ad
- نشانی
- پس از
- الگوریتم
- الگوریتم
- هم راستا
- معرفی
- تخصیص
- اجازه دادن
- اجازه می دهد تا
- مقدار
- تحلیل
- تحلیل
- و
- تشخیص ناهنجاری
- دیگر
- کاربرد
- برنامه های کاربردی
- اعمال می شود
- روش
- رویکردها
- محدوده
- مناطق
- استدلال
- مقاله
- جنبه
- اختصاص داده
- سمعی
- بطور خودکار
- در دسترس
- بد
- بار
- مستقر
- زیرا
- میان
- پایین
- صبحانه
- بنا
- می سازد
- محاسبه
- نام
- نمی توان
- توانا
- گرفتن
- موارد
- زنجیر
- مشخصه
- نمودار
- برگزیده
- شهر:
- کلاسیک
- نزدیک
- نزدیک
- خوشه
- خوشه بندی
- رمز
- کشت
- ترکیب شده
- نظرات
- مشترک
- شکایت
- در نظر گرفته
- با توجه به
- شامل
- زمینه
- معمولی
- متناظر
- مطابقت دارد
- ایجاد
- ایجاد شده
- ایجاد
- ایجاد
- ایجاد
- فنجان
- در حال حاضر
- مشتری
- خدمات مشتری
- داده ها
- روز
- معامله
- نشان
- بخش
- کشف
- تعیین می کند
- مختلف
- فاصله
- دور
- واگرایی
- سند
- اسناد و مدارک
- نمی کند
- اشکالاتی
- راندن
- رانندگی از طریق
- پویا
- هر
- به آسانی
- در جای دیگر
- جاسازی شده
- مهندسی
- حتی
- مثال
- جز
- توضیح داده شده
- عصاره
- عصاره ها
- خیلی
- FAST
- همکار
- کمی از
- رشته
- پیدا کردن
- پیدا کردن
- نام خانوادگی
- تمرکز
- متمرکز شده است
- غذا
- یافت
- از جانب
- اساساً
- سوالات عمومی
- تولید می کنند
- تولید
- دریافت کنید
- جهانی
- Go
- رفتن
- گراف
- نمودار ها
- در حال رشد
- کمک
- سلسله مراتب
- زیاد
- بالاتر
- بالاترین
- HTTPS
- اندیشه
- شناسایی
- شناسه
- شناسایی
- شناسایی
- واردات
- مهم
- بهبود
- in
- اطلاعات
- در عوض
- تعاملی
- جالب
- تفسیر
- IT
- ایتالیا
- kdnuggets
- نگهداری
- دانستن
- برچسب
- زبان
- بزرگ
- یادگیری
- اهرم ها
- لاین
- خطوط
- لینک
- فهرست
- محلی
- واقع شده
- محل
- مکان
- نگاه کنيد
- به دنبال
- اصلی
- بسیاری
- نقشه
- ماتریس
- مکدونالد
- معنی دار
- رسانه ها
- مدل
- مدل سازی
- مدل سازی
- مدل
- بیش
- اکثر
- چند ملیتی
- نام
- طبیعی
- زبان طبیعی
- پردازش زبان طبیعی
- نیاز
- منفی
- بعد
- سر و صدا
- عدد
- متعدد
- مشاهده کردن
- به دست آمده
- ONE
- سفارش
- سازمان
- اصلی
- دیگر
- پانداها
- پارامتر
- بخش
- ویژه
- درصد
- انجام دادن
- عبارات
- محل
- افلاطون
- هوش داده افلاطون
- PlatoData
- نقطه
- ممکن
- پست ها
- قوی
- در حال حاضر
- قبلی
- قبلا
- در حال پردازش
- ساخته
- محصولات
- پروژه
- امید بخش
- ارائه
- فراهم می کند
- کیفیت
- سوالات
- دلیل
- قرمز
- كاهش دادن
- کاهش
- کاهش
- با توجه
- ارتباط
- روابط
- مربوط
- تکرار
- نمایندگی
- نماینده
- نشان دهنده
- تحقیق
- نتایج
- فاش کردن
- این فایل نقد می نویسید:
- بررسی
- همان
- جستجو
- جستجو
- انتخاب
- سرویس
- باید
- نشان
- نشان داده شده
- منظره
- مشابه
- به طور مشابه
- پس از
- تنها
- لغزنده
- کند
- So
- آگاهی
- رسانه های اجتماعی
- پیام های رسانه های اجتماعی
- برخی از
- فضا
- تخصصی
- خاص
- انشعاب
- گام
- مراحل
- استراتژی
- ساختار
- چنین
- حاکی از
- یادگیری نظارت شده
- پشتیبانی
- پشتیبانی از
- جدول
- گرفتن
- طول می کشد
- تکنیک
- ده
- قوانین و مقررات
- La
- آنجا.
- سه
- از طریق
- زمان
- به
- نشانه گذاری شده است
- ابزار
- بالا
- ده بالا
- موضوع
- تاپیک
- ترانسفورماتور
- آموزش
- نوعی
- اساسی
- فهمیدن
- منحصر به فرد
- دانشگاه
- ایالات متحده
- استفاده کنید
- ارزشمند
- ارزشها
- نوع دیگر
- تجسم
- صبر کنيد
- که
- در حین
- در حالیکه
- اراده
- در داخل
- کلمه
- کلمات
- بدترین
- نوشتن
- اشتباه
- زفیرنت