问题描述
我目前正在开展一个项目,我对德国全体会议辩论和报纸文章中一个主题(社会不平等)的普遍性感兴趣。我正在使用定量文本分析工具来从文本中生成输出,以包含在具有经济指标(例如基尼系数)的回归分析中。到目前为止,我已经创建了一个字典来表示社会不平等,这使我能够生成每年汇总的计数和频率数据。但是,针对字典分析的问题,我也想使用seeded lda或结构主题模型等监督方法。
在这种情况下,我遇到了两个困难。首先,我很难在 r 中实现这些监督方法中的任何一种,因为这些方法似乎旨在处理多个主题,而不是只关注一个主题。其次,我不知道我必须选择哪个输出对象进行回归分析,以及如何每年汇总它们。
到目前为止,我已经尝试过“seeddlda”包中的 Seeded LDA,因为它似乎是最合适的。我有 2 个文本语料库:一个由 2296 个文件(全体辩论)组成,另一个由 190404 个文件(报纸文章)组成。但是,当我尝试创建 Seed-lda 模型时,r 没有得到任何结果并冻结在两个语料库的顶部。
我创建了以下字典:
require(quanteda)
dict <- dictionary(list(Alles = c("soziale_sich*","soziale_teilhabe*","soziale_verunsich*","soziale_zwänge","soziale_ängste","sozialer_absturz","sozialer_sprengstoff","sozialer_zwang","soziales_schicksal","sozialrisik*","sozialschmarotzer","steigende_haushaltseinkommen","superreiche","unterprivilegierte_gruppe*","verarmung*","vermögenskonzentration*","wirtschaftliche_und_soziale_auswirkung*","wohlfahrtsdiktatur","ärmere_hälfte_der_bevölkerung","ärmsten_haushalte","ökonomische_sachzwänge*","abzug_von_vorsorgeaufwendungen","agenda_2010","allgemeinverbindliche_tarifverträge","arbeitnehmersparzulage","arbeitsbedingung*","arbeitsmarktinklusion*","arbeitsmarktpolitische maßnahme*","bafög*","besteuerung_von_erbschaften","besteuerung_von_kapitalerträgen","bildungs-_und_teilhabepaket","bildungsbenachteiligung*","bildungsfern*","bildungspaket*","bildungsungleichheit*","daseinsvorsorge","einkommen_entlasten","empowerment","entlastung_niedriger_und_mittlerer_einkommen","entlastung_von_einkommen","erbschaftsbesteuerung","erbschaftssteuer","erhöhung_des_Mindestlohns","freibetrag","hartz_IV*","lohnentwicklung*","mehr_soziale_rechte","mehr_umverteilung*","mindestlohn","mindestlöhne","mini_job*","neue_soziale_frage","reichensteuer","sozialabgaben","sozialbudget","soziale_integration*","soziale_sanktion*","sozialgesetzgebung*","sozialhilfeempfänger*","sozialintegration","sozialleistungsquote*","sozialpolitische_maßnahme*","sozialpolitische_reformmaßnahme*","sozialstaat*","sozialtarife","sozialversicherung*","staatliche_förderung_der_vermögensbildung","steuerlicher_ausgleich","steuervergünstigung*","stärkung_der_tarifbindung*","teilhabeleistung","teilhabepaket","transferleistung*","vermögensbesteuerung*","verteilungspolitik","weniger_umverteilung*","wohlfahrt*","wohlfahrtsstaat*","wohlstandsverlust*","wohngeld*","wohnungsbauprämie*","Verteilungs-_und_Stratifikationsaspekte","aufstiegsmobilität","einkommensgrenz*","einkommensschere","einkommensschwach*","einkommensungleich*","einkommensungleichheit*","einkommensunterschied*","einkommensverteilung*","gesellschaftliche_mobilität*","gesellschaftlicher_abstieg*","gesellschaftlicher_aufstieg*","gini*","gleichheit_der_lebensverhältnisse","konkurrent_um_soziale_güter","konsumungleichheit*","lohngerechtigkeit*","pay_gap","schonvermögen*","steuergerechtigkeit*","steuerungerechtigkeit*","ungleiche einkommensverteilung","ungleiche_verteilung_der_vermögen*","ungleichheit_der_markteinkommen","ungleichheit_der_vermögen*","ungleichheit_von_vermögen","ungleichverteilung*","vermögensungleichheit*","verteilung_der_einkommen*","verteilung_von_einkommen","verteilungsverhältnis*","wirtschaftliche_kluft","wirtschaftlicher_aufstieg*","ökonomischer_aufstieg*","arbeit_muss_sich_lohnen","egalitäre_gesellschaft*","einkommensgerecht*","entsolidarisierung","faire_löhne","generationengerechtigkeit","gerechte_löhne","gerechter_lohn*","gesellschaftlich_gleich*","gesellschaftliche_chance*","gesellschaftliche_emanzipation","gesellschaftliche_gleich*","gesellschaftliche_kohäsion","gesellschaftliche_schieflage*","gesellschaftliche_solidarität","gesellschaftliche_verantwort*","gesellschaftlicher_zusammenhalt","gleiche_gesellschaft*","politische_gleichheit*","schlechte_soziale_verhältnisse","solidarische_ökonomie","sozial_gerecht*","sozial_ungerecht*","soziale_aufstieg*","soziale_chancen*","soziale_chancengerechtigkeit","soziale_chancengleichheit","soziale_emanzipation","soziale_gerechtigkeit*","soziale_kohäsion*","soziale_schieflage*","soziale_solidarität","soziale_ungerechtigkeit*","soziales_wohl*","sozialgerecht*","verteilungsgerecht*","wirtschaftlich_gerecht*","wirtschaftliche_chancengleichheit","wirtschaftliche_emanzipation","wirtschaftliche_solidarität","ökonomisch_gerecht*","ökonomische_emanzipation","abstiegsangst","abstiegsängste","allgemeine_wirtschaftliche_entwicklung*","arbeitslos*","arm","arme","armut*","einkommenslücke*","einkommensreiche","einkommensreichtum","existenzsich*","geringverdiener*","gesellschaftliche_absich*","gesellschaftliche_ausgrenz*","gesellschaftliche_folge*","gesellschaftliche_gräben","gesellschaftliche_kluft","gesellschaftliche_lage*","gesellschaftliche_perspektiv*","gesellschaftliche_sich*","gesellschaftliche_spalt*","gesellschaftliche_teilhabe*","gesellschaftliche_ungleich*","gesellschaftliche_verunsich*","gesellschaftliche_zwänge","gesellschaftlicher_ungleich*","gesellschaftlicher_zwang","großverdiener*","hohe_vermögen*","hoher_wohlstand","hohes_wohlstandsniveau","marktfundamentalismus","markTradikalismus","mehr_einkommen*","mehrverdiener*","mitellos*","niedriglohn*","niedriglöhne*","obdachlos*","plutokrat*","politisch_ungleich","politische_ungleich*","prekariat","prekär*","putzfrau","reichste_prozent","reichtumsgrenze","schere_zwischen*","sinkende_haushaltseinkommen","sozial_abgehängt*","sozial_bedürf*","sozial_bedürftig*","sozial_bessergestellt*","sozial_dring*","sozial_exklusiv*","sozial_explosiv*","sozial_gleich*","sozial_isoliert*","sozial_schlecht*","sozial_schwach*","sozial_selektiv*","sozial_ungleich*","sozial_unterprivilegiert*","sozial-wirtschaftliche_lage","soziale_absich*","soziale_angst","soziale_ausgrenz*","soziale_bedürf*","soziale_differenz*","soziale_disparität*","soziale_dring*","soziale_entwicklung*","soziale_exklusion","soziale_fehlentwicklung*","soziale_folge*","soziale_frage*","soziale_gleich*","soziale_grenzlinie*","soziale_gräbe*","soziale_herausforderung*","soziale_herkunft","soziale_hinder*","soziale_hürde*","soziale_isolation*","soziale_kluft","soziale_konkurrenz","soziale_lage*","soziale_mobilität*","soziale_perspektiv*","soziale_rahmen*","soziale_reproduktion*","soziale_risiken","soziale_schicksale","soziale_selektiv*","soziale_sich*","soziale_spalt*","soziale_ungleich*","soziale_ungleichgewichte","soziale_verzerrung*","sozialer_abstieg*","sozialer_aufstieg*","sozialer_bedürf*","sozialer_diff*","sozialer_disparität*","sozialer_entwick*","sozialer_folg*","sozialer_rahm*","sozialer_ungleich*","soziales_ungleich*","soziales_ungleichgewicht","sozialordnung","sozialverträglich*","sozio-ökonomische_entwicklung*","sozioökonomische_folge*","sozioökonomische_frage*","ungleichheitsdebatte*","ungleichheitsentwicklung*","unterschicht*","vermögensungleich*","verteilungsdiskussion*","von_der_gesellschaft_abgehängt*","weniger_einkommen*","wirtschaftlich_abgehängt*","wirtschaftlich_bedürf*","wirtschaftliche_ausgrenz*","wirtschaftliche_disparität*","wirtschaftliche_schwierigkeit*","zwischen_arm_und_reich","ökonomisch_ungleich*","ökonomische_absich*","ökonomische_sich*","ökonomische_ungleich*")))
我将其应用于以以下方式制作的我的一个语料库的 dfm。
spiegel_dfm <- spiegel_corpus %>%
tokens(remove_punct = TRUE) %>%
tokens_compound(pattern = phrase(multiwords)) %>%
dfm()
然后我尝试按以下方式计算模型。
require(seededlda)
tmod_slda <- textmodel_seededlda(spiegel_dfm,dictionary = dict,max_iter = 2000,weight = 0.01)
这是我的会话信息,如果需要的话。
R version 4.0.3 (2020-10-10)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS High Sierra 10.13.6
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.0/Resources/lib/libRlapack.dylib
locale:
[1] de_DE.UTF-8/de_DE.UTF-8/de_DE.UTF-8/C/de_DE.UTF-8/de_DE.UTF-8
attached base packages:
[1] stats graphics Grdevices utils datasets methods base
other attached packages:
[1] seededlda_0.5.1 quanteda_2.1.2
loaded via a namespace (and not attached):
[1] Rcpp_1.0.5 rstudioapi_0.13 magrittr_2.0.1 usethis_2.0.0 stopwords_2.1
[6] tidyselect_1.1.0 munsell_0.5.0 colorspace_2.0-0 lattice_0.20-41 R6_2.5.0
[11] rlang_0.4.9 fastmatch_1.1-0 dplyr_1.0.2 tools_4.0.3 grid_4.0.3
[16] data.table_1.13.4 gtable_0.3.0 xfun_0.19 tinytex_0.28 ellipsis_0.3.1
[21] yaml_2.2.1 RcppParallel_5.0.2 tibble_3.0.4 lifecycle_0.2.0 Crayon_1.3.4
[26] Matrix_1.2-18 purrr_0.3.4 ggplot2_3.3.2 fs_1.5.0 vctrs_0.3.6
[31] glue_1.4.2 stringi_1.5.3 compiler_4.0.3 pillar_1.4.7 generics_0.1.0
[36] scales_1.1.1 pkgconfig_2.0.3
因此,我不确定我是否正确应用了种子化的 lda,或者更确切地说,是否有适合突出显示单个主题的监督方法,以及最终如何每年汇总其结果。
如有任何帮助,我将不胜感激!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)