Визуализация текста с использованием scattertext для нескольких категорий - PullRequest
1 голос
/ 20 апреля 2020

У меня есть такой фрейм данных:

                 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. Тем не менее, примеры, которые я вижу в inte rnet, являются двоичными (демократ против republi c или положительный против отрицательного).

Мне было интересно, есть ли способ визуализации набора данных нескольких классов, как описано выше ?

Я пробовал это:

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, который показывает текст (кроме облака слов).

1 Ответ

1 голос
/ 20 апреля 2020

Я рекомендую вам либо создать серию одноразмерных графиков Scattertext, сравнивающих каждую категорию со всеми остальными, и / или составить ряд одно-против-одного, сравнивая каждую категорию с каждой другой категорией в отдельности.

Затем создайте HTML леса вокруг набора графиков, чтобы пользователи могли выбирать категории, которые они хотели бы сравнить.

Пример этого можно увидеть в https://github.com/JasonKessler/acl17-handbook/blob/master/scattertext-analysis/Scattertext-Analysis.ipynb

Что касается того, почему код сам по себе не работает, похоже, есть ряд ошибок. Столбец «новый» должен быть проанализирован в документах spaCy, а параметр категории для yield_scattertext_explorer должен иметь значение, указанное в столбце «имя категории», например «agr». Все остальные категории во фрейме данных будут рассматриваться как одна отрицательная категория.

...