[PYTHON] Préparez vous-même des exemples de données pour l'exploration de texte

Aperçu

J'ai récemment commencé à étudier le text mining, mais j'ai eu du mal car je ne pouvais pas obtenir de bons échantillons de données. Certaines personnes peuvent avoir les mêmes problèmes qu'eux-mêmes, alors j'écrirai un article sur les essais et erreurs jusqu'à ce que je prépare moi-même des exemples de données.

De plus, j'analyse souvent ** des descriptions gratuites (impressions, demandes, etc.) ** de questionnaires au travail, mon objectif est donc d'obtenir autant que possible des données dans un format similaire.

Examen des moyens

Aozora Bunko

Aozora Bunko, qui est souvent vu dans les livres de text mining, est un site Web qui contient des œuvres littéraires dont le droit d'auteur a disparu. Cependant, comme ce n'est pas similaire aux données du questionnaire, je ne le ferai pas cette fois.

Grattage

Pensez à gratter les sites qui collectent les notes des entreprises, tels que OpenWork et Job Change Conference. Cela semble très intéressant, mais cette fois, j'ai décidé que cela aurait un gros inconvénient et j'ai décidé d'y renoncer.

API Twitter

Si vous utilisez la campagne de publication d'impressions menée par l'entreprise, vous pouvez obtenir des données similaires à la description gratuite du questionnaire (par exemple, Star Wars -cp.html) et ainsi de suite). Cependant, quand je le regarde, l'habitude de Twitter est assez forte, donc je ne le ferai pas non plus.

API du site EC

Si vous pouvez extraire des avis pour un produit spécifique, vous obtiendrez probablement des données similaires à la description gratuite du questionnaire. Il existe différents types comme Amazon, Rakuten Ichiba, Yahoo! Shopping, mais ** Yahoo! Shopping Product Review Search API ** semble pouvoir obtenir des avis en spécifiant le code JAN [^ 1]! Je ne vois aucun inconvénient évident, je vais donc utiliser cette API cette fois **.

[^ 1]: Vous pouvez le considérer comme un numéro de code à barres pour le moment.

Accédez à l'API Web Yahoo! Shopping

Obtenir l'ID de l'application

Obtenez l'ID de l'application en vous référant à ici. Si vous souhaitez simplement reproduire cet article, vous n'avez pas à vous soucier des paramètres ci-dessous (j'ai pu enregistrer l'URL du site en tant que http: // example.com /). image.png

Obtenez des avis

À partir de là, exécutez en Python. Remplacez ʻappid par l'ID d'application que vous avez obtenu précédemment (il peut être répertorié comme ID client sur l'écran d'administration). Dans ce qui suit, seuls la note du produit (rate) et le texte de l'avis ( description) sont obtenus pour le moment, mais si vous en avez envie, vous pouvez obtenir plus d'informations (voir [Document officiel](https: // pour plus de détails). Vérifiez developer.yahoo.co.jp/webapi/shopping/shopping/v1/reviewsearch.html). Vous ne pouvez obtenir que 50 éléments à la fois, mais si vous avez besoin de plus que cela, vous pouvez décaler start` de 50 et répéter.

import requests
import json
import pandas as pd
url = "https://shopping.yahooapis.jp/ShoppingWebService/V1/json/reviewSearch"
payload = {
    "appid": "XXXXXXXXXX",
    "jan": "4902777323176", #Protéine Zabas
    "results": 50, # default... 10, max... 50
    # "start": 1
}
res = json.loads(requests.get(url, params=payload).text)["ResultSet"]["Result"]
rate = [x["Ratings"]["Rate"] for x in res if x["Description"] != ""] #Évaluation
description = [x["Description"] for x in res if x["Description"] != ""] #La revue
df = pd.DataFrame({
    "rate": rate,
    "description": description,
})
df.to_csv("review.csv", header=True, index=False)

Vérification

L'exécution du code ci-dessus créera un fichier appelé review.csv, et vous pourrez l'analyser comme vous le souhaitez. Pour le moment, lorsque je l'ouvre dans la feuille de calcul et que je la vérifie, cela ressemble à ceci. Étonnamment, l'impression est qu'il y a plus d'avis sur la livraison que sur le produit lui-même. Il serait intéressant de comparer et d'analyser les avis les mieux notés et les moins bien notés. image.png

Maintenant, vous pouvez enfin étudier l'exploration de texte ...

Recommended Posts

Préparez vous-même des exemples de données pour l'exploration de texte
Text mining (pour mémo)
Sortie du temps écoulé pour l'enregistrement des données (pour moi-même)
Préparer un environnement de langage de programmation pour l'analyse des données
Anchoco pour vous-même