שְׁאֵלָה:
חבילות R לביצוע דוגמנות נושאים / LDA: רק `נושא מודלים` ו-` lda`
bit-question
2012-03-10 21:47:09 UTC
view on stackexchange narkive permalink

נראה לי שרק שתי חבילות R מסוגלות לבצע הקצאת דיריכלט סמוי :

אחת היא lda , שחיבר ג'ונתן צ'אנג; והשני הוא טופיקודלס שחיבר Bettina Grün ו- Kurt Hornik.

מהם ההבדלים בין שתי החבילות הללו, מבחינת ביצועים, פרטי יישום והרחבה?

ארבע תשובות:
Momo
2012-03-10 22:18:39 UTC
view on stackexchange narkive permalink

יישום: חבילת ה- topicmodels מספקת ממשק לקוד GSL C ו- C ++ עבור מודלים בנושא מאת Blei et al. ופאן ואח '. עבור המוקדם יותר הוא משתמש ב- Variational EM, עבור הדגימה האחרונה של Gibbs. ראה http://www.jstatsoft.org/v40/i13/paper. החבילה עובדת היטב עם כלי השירות מחבילת tm.

חבילת lda משתמשת ב- Gibbs Sampler מכווץ למספר דגמים הדומים לאלה מספריית GSL. עם זאת, היא יושמה על ידי מחברי החבילה עצמה, ולא על ידי Blei et al. לכן יישום זה שונה באופן כללי מטכניקת ההערכה המוצעת בעיתונים המקוריים המציגים גרסאות מודל אלה, כאשר בדרך כלל מוחל אלגוריתם VEM. מצד שני, החבילה מציעה יותר פונקציונליות מאשר החבילה השנייה. החבילה מספקת גם פונקציונליות של כריית טקסט.

הרחבה: בנוגע להרחבה, ניתן להרחיב את קוד מודל הנושא מעצם טבעו כדי לממשק קוד מודל נושא אחר הכתוב ב- C ו- C ++. נראה כי חבילת ה- lda מסתמכת יותר על היישום הספציפי שמספק המחברים, אך שם הדגימה של Gibbs עשויה לאפשר ציון מודל הנושא שלך. לבעיות הרחבה nota bene, לשעבר יש רישיון תחת GPL-2 והשני LGPL, כך שזה עשוי להיות תלוי על מה אתה צריך להרחיב אותו (GPL-2 מחמיר לגבי היבט הקוד הפתוח, כלומר אתה לא יכול להשתמש בו בתוכנה קניינית).

ביצועים: אני לא יכול לעזור לך כאן, השתמשתי עד כה רק בדוגמאות נושא.

מסקנה:
באופן אישי אני משתמש ב- topicmodels , כפי שהוא מתועד היטב (ראה מאמר ה- JSS לעיל) ואני סומך על המחברים (גרון גם שילם את flexmix והורניק הוא חבר הליבה ב- R).

ראשית, אני בטוח שמודלי הנושא הם חבילה מצוינת, ואני מסכים שהיא מתועדת היטב.בנוגע ל"אמון "על מחברי חבילת ה- LDA, ג'ונתן צ'אנג היה סטודנט לתואר שלישי ואני סומך לחלוטין על הקוד שלו.הוא גם מהנדס תוכנה מצוין וגם מלומד.החבילה שלו קלה, משתנה היטב לאוספים גדולים למדי, וזה נחמד לחקור את התוצאות ב- R. (אני אוהב ואני רגיל לייצוג מטריצות דליל של מסמכים.) יש לציין כי LDA מיישמת מודלים אחרים, כולל יחסמודלים בנושא, LDA בפיקוח (עם GLM) ודגם בלוק סטוכסטי של חברות מעורבות.
תודה ששוקלת. אני בטוח שחבילת `lda` מעולה, לא התכוונתי לרמוז של- lda יש איכשהו קוד נחות.הצהרתי את התרשמותי האישית (התיעוד נראה קצת מרושל).מכיוון שזה היה לפני> שנתיים ערכתי את התשובה מעט (הקלדות בדף CRAN עדיין שם, אני חושב שזה יהיה טוב שהן יתוקנו אבל נראה כי הדוא"ל הזה הלך לאיבוד).
אני מניח שיש לך ניסיון רב בשתי החבילות ויודעים הכי הרבה על הנושא הכללי, מה דעתך לספק תשובה המפרטת כמה מהיתרונות והחסרונות של שתי החבילות?לא השתמשתי ב- lda ולכן לא יכולתי לתת הערכה אמפירית לגביו.מתן זה בוודאי יעזור ל- OP ולכולם וכן לתקן עוולות אפשריות (שלא נועדו).תודה!
ניסיתי גם את שניהם ומצאתי שחבילה `lda` מכילה אפשרויות נוספות.עם זאת, קשה להבין כיצד לעצב את הנתונים שלך על מנת שיתאימו למודל.חבילת 'נושא המודלים' עובדת היטב עם חבילת 'tm', בעוד שחבילת 'lda' מבקשת רשימה שלא ברור כיצד ליצור.
Ben
2012-03-11 07:03:39 UTC
view on stackexchange narkive permalink

+1 עבור מודלים של נושאים. התשובה של @ מומו מקיפה מאוד. רק הייתי מוסיף ש- topicmodels לוקח קלט כמטריצות מונח מסמך, שמיוצרות בקלות באמצעות חבילת tm או באמצעות פיתון. החבילה lda משתמשת בצורה יותר אזוטרית של קלט (המבוססת על LDA-C של Blei) ולא היה לי מזל להשתמש בפונקציות המובנות כדי להמיר dtm ל lda פורמט חבילה (תיעוד ה- lda גרוע מאוד, כפי שמציין מומו).

יש לי איזה קוד שמתחיל בטקסט גולמי, מעבד אותו מראש ב tm ומעביר אותו דרך topicmodels (כולל מציאת המספר האופטימלי של נושאים מראש ועבודה עם הפלט) כאן. יכול להיות שימושי למישהו שמגיע ל- topicmodels בפעם הראשונה.

עבור אלה שעדיין לא משתמשים ב- * tm * ורוצים לשחק עם * lda *, [JFreq] (http://www.williamlowe.net/software/jfreq) מציב גם טקסטים פשוטים בפורמט המועדף על LDA-C.
טוב לדעת על JFreq, עוד לא ראיתי את זה. תודה על הטיפ!
פשוט הבחנתי בפונקציה 'read_dtm_Blei_et_al' בחבילה 'tm' שעושה את אותו הדבר.
Alexis Perrier
2015-12-02 01:13:30 UTC
view on stackexchange narkive permalink

חבילת R Structural Topic Model (STM) של מולי רוברטס, ברנדון סטיוארט ודסטין טינגלי היא גם בחירה מצוינת. בנוי על גבי חבילת ה- tm, זו מסגרת כללית למידול נושאים עם מידע משתנה ברמת המסמך.

http://structuraltopicmodel.com/

חבילת STM כוללת סדרה של שיטות (חיפוש רשת) ומדידות (קוהרנטיות סמנטית, שאריות ובלעדיות) לקביעת מספר הנושאים. הגדרת מספר הנושאים ל- 0 תאפשר למודל גם לקבוע מספר אופטימלי של נושאים.

חבילת stmBrowser מהווה השלמה מצוינת להדמיית נתונים כדי לדמיין את השפעתם של משתנים חיצוניים על נושאים. ראה דוגמה זו הקשורה לדיונים על נשיאות 2016: http://alexperrier.github.io/stm-visualization/index.html.

Ganesh Sonawane
2016-09-16 13:57:49 UTC
view on stackexchange narkive permalink

השתמשתי בכל שלוש הספריות, בין שלושת הנושאים, נושא מודלים, lda, stm; לא כולם עובדים עם n גרם. ספריית נושא המודלים טובה עם הערכתה והיא פועלת גם עם n גרם. אבל אם מישהו עובד עם יוני גרמים, ייתכן שהמתרגל מעדיף את ה- STM מכיוון שהוא נותן תפוקה מובנית.



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...