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.
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.
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.
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.
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.