对多个类别使用散点文本的文本可视化



我有一个这样的数据帧:

new                                            categoryname
0    screwed screwed screwed screwed screwed screwe...          agr
1           family family family family family family           opn
2    partying partying partying partying partying p...          agr
3                       love love love love love love           neu

我想使用scattertext来可视化这个数据帧。然而,我在互联网上看到的例子都是二元的(民主党与共和国或积极与消极(。

我想知道有没有什么方法可以像上面那样可视化多类数据集?

我试过这个:

corpus = st.CorpusFromParsedDocuments(df, category_col='categoryname', parsed_col='new').build()
html = st.produce_scattertext_explorer(corpus,
category='categoryname',
category_name='categoryname',
not_category_name='new',
width_in_pixels=1000,
minimum_term_frequency=5,
transform=st.Scalers.scale,
metadata=df['new'])

但它引发了一个错误:

AttributeError: ("'str' object has no attribute 'sents'", 'occurred at index 0')

我不确定这样做是否正确。因为在这些例子中,他们提供了类别的名称(民主党人,非民主党人(,但我有多个类别。

知道怎么解决这个问题吗?我想要显示文本的a visualization tool(单词cloud除外(。

我建议您创建一系列一对一的散点图,将每个类别与所有其他类别进行比较,和/或制作一组一对一,将每个分类与其他类别分别进行比较。

然后,围绕一组绘图构建HTML脚手架,使用户可以选择他们想要比较的类别。

你可以在中看到一个例子https://github.com/JasonKessler/acl17-handbook/blob/master/scattertext-analysis/Scattertext-Analysis.ipynb

至于为什么代码本身不起作用,看起来有很多错误。列"new"应解析spaCy文档,producte_scattertext_explorer的类别参数应具有"categoryname"列中的值,如"agr"。数据框中的所有其他类别将被视为一个单一的负面类别。

最新更新