[PYTHON] Visualisieren Sie App-Bewertungen mit Wordcloud

Beim Herunterladen einer App beziehen sich viele Personen zunächst auf die in dieser App veröffentlichten Bewertungen. Aber es gibt so viele Bewertungen, dass es schwierig ist, sie alle zu sehen. Dieses Mal möchte ich den Ausdruck ** wordcloud ** verwenden, um die Bewertungen der App zu visualisieren, damit Sie sie auf einen Blick sehen können.

Was ist Wortwolke?

Durch Ausdrücken der Wörter, die in einem Dokument erscheinen, in verschiedenen Größen und Farben werden die Merkmale des Dokuments in einem einzigen Bild dargestellt.

Sammlung von Überprüfungsdaten

App-Bewertungen im App Store erhalten Sie im JSON-Format, indem Sie die ID der entsprechenden App unter der folgenden URL eingeben. https://itunes.apple.com/jp/rss/customerreviews/id=(アプリID)/page=1/json Dieses Mal werden wir auf die Twitter-App abzielen. Die ID lautet 333903271. Sie können bis zu 10 Seiten erhalten, indem Sie die Nummer nach page = ändern.

Holen Sie sich die App-Überprüfungsdaten mit dem folgenden Skript.

import pandas as pd
import requests
import json

rss_url = 'https://itunes.apple.com/jp/rss/customerreviews/id={}/sortBy=mostRecent/page={}/json'
app_id = '333903271'

def get_reviews(url):
    """ 
Aus der API-Antwort der iOS-Überprüfung[Partitur, Titel, Text, Name]Holen Sie sich eine Liste von
    """
    response = requests.get(url, timeout=3.5)
    response_json = json.loads(response.text)
    reviews = [[int(entry['im:rating']['label']), entry['title']['label'], entry['content']['label'], entry['author']['name']['label']]\
               for entry in response_json['feed']['entry']]
    return reviews    

review_list = []
# 1~Sammeln Sie 10 Seiten mit Bewertungen
for i in range(1, 11): 
    page_url = rss_url.format(app_id, i)
    reviews = get_reviews(page_url)
    review_list += reviews

review_df = pd.DataFrame(review_list, columns=['point', 'title', 'review', 'name'])![twitter_wordcloud.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501910/8c3531e3-7cde-a60f-8d5d-d8acd8594c6b.png)

Die gesammelten Daten sehen so aus.

スクリーンショット 2020-06-28 17.36.11.png

Word Cloud erstellen

Erstellen Sie ein Wordcloud-Bild basierend auf den gesammelten Überprüfungsdaten. Installieren Sie zuerst MeCab für die morphologische Analyse.

$ brew install mecab
$ brew install mecab-ipadic

Installieren Sie dann die Wordcloud-Bibliothek mit Python.

$ pip install wordcloud

Mit dem folgenden Skript können Sie eine Wortwolke erstellen. Geben Sie für japanische Eingaben den Pfad der japanischen Schriftdatei in der Ausführungsumgebung an.

#Geben Sie den Pfad an, in dem die japanische Schriftart gespeichert ist
FONT_PATH = '/System/Library/Fonts//Hiragino Kaku Gothic W3.ttc'

def prepare_word_list(words):
    """
Erstellen Sie eine Zeichenfolge für die Eingabe in wodcloud
    
    Args:
        words([str]):Liste der Sätze
        
    Retruns:
        str:Eine Zeichenfolge, die nur die angegebenen Teilwörter aus allen Wörtern extrahiert und durch Leerzeichen getrennt kombiniert.
    """
    m = MeCab.Tagger('')
    parsed_words = []
    for word in words:
        items = [x.split('\t') for x in m.parse(word).splitlines()]
        for item in items:
            if item[0] == 'EOS' or item[0] == '':
                pass
            elif item[1].split(',')[0] in ["Substantiv", "Adjektiv", "Verb"]:
                parsed_words.append(item[0]) 

    return ' '.join(parsed_words)


def make_wordcloud(words, file_name):
    """
Erstellen Sie aus dem eingegebenen Text eine Wordcloud-Bilddatei.
    
    Args:
        words(str):Eine durch Leerzeichen getrennte Wortfolge
        file_name(str):Zielpfad für die Ausgabe der Bilddatei
        
    Returns:
Keiner
    """
    parsed_words = prepare_word_list(words)
    wordc = wordcloud.WordCloud(
        font_path = FONT_PATH,
        background_color='white',
        contour_width=2,
        width=800,
        height=600,
    ).generate(parsed_words)
    
    wordc.to_file(file_name)


make_wordcloud(review_df['review'], './image/twitter_wordcloud.png')

Hier ist das fertige Wordcloud-Bild!

Wörter wie Twitter wie Twitter, Konto, Einfrieren, Folgen, Zeitachse usw. werden in einer Reihe angezeigt.

Zusammenfassung

Ich konnte die Bewertungen der iOS-App visualisieren. Wordcloud kann nützlich sein, wenn Sie schnell Bilder einer großen Anzahl von Dokumenten aufnehmen möchten.

Recommended Posts

Visualisieren Sie App-Bewertungen mit Wordcloud
Visualisieren Sie 2019 nem mit WordCloud
Interaktive handgeschriebene Zeichenerkennungs-App mit Pygame