Collecte d'informations sur Twitter avec Python (analyse morphologique avec MeCab)

À propos de l'analyse morphologique

Le modèle le plus courant de collecte et d'utilisation des Tweets de divers utilisateurs est C'est un modèle qui extrait et utilise un mot spécifique contenu dans Tweet.

Cette fois, nous utiliserons MeCab, un analyseur morphologique, pour extraire la nomenclature, les verbes et les adjectifs en les divisant en mots.

Format de sortie MeCab

Le format de sortie dépend de l'option.

Par défaut Forme de surface \ t paroles de partie, sous-classification de paroles de partie 1, sous-classification de partie de partie 2, sous-classification de partie de partie 3, formulaire d'utilisation, type d'utilisation, prototype, lecture, prononciation La sortie sera.

Exemple de code

Divisez une phrase en unités de mots (tel quel en surface)

Un programme qui prend 4 voies.

#!/usr/bin/env python                                                                                                                                             
# -*- coding:utf-8 -*-                                                                                                                                            

import MeCab

### Constants                                                                                                                                                     
MECAB_MODE = 'mecabrc'
PARSE_TEXT_ENCODING = 'utf-8'

### Functions                                                                                                                                                     
def main():
    sample_u = u"Je veux être le receveur du champ de seigle. Je sais que c'est ridicule. Mais c'est la seule chose que je veux vraiment être."
    words_dict = parse(sample_u)
    print "All:", ",".join(words_dict['all'])
    print "Nouns:", ",".join(words_dict['nouns'])
    print "Verbs:", ",".join(words_dict['verbs'])
    print "Adjs:", ",".join(words_dict['adjs'])
    return


def parse(unicode_string):
    tagger = MeCab.Tagger(MECAB_MODE)
    #S'il ne s'agit pas de type str, l'opération sera étrange, alors convertissez-la en type str
    text = unicode_string.encode(PARSE_TEXT_ENCODING)
    node = tagger.parseToNode(text)

    words = []
    nouns = []
    verbs = []
    adjs = []
    while node:
        pos = node.feature.split(",")[0]
        #Revenir au type unicode
        word = node.surface.decode("utf-8")
        if pos == "nom":
            nouns.append(word)
        elif pos == "verbe":
            verbs.append(word)
        elif pos == "adjectif":
            adjs.append(word)
        words.append(word)
        node = node.next
    parsed_words_dict = {
        "all": words[1:-1], #Supprimé car des chaînes de caractères vides sont entrées au début et à la fin
        "nouns": nouns,
        "verbs": verbs,
        "adjs": adjs
        }
    return parsed_words_dict

### Execute                                                                                                                                                       
if __name__ == "__main__":
    main()

Résultat de sortie

(twi-py)$ python tweet_parser.py
All:Blé de seigle,champ,de,Capture,Rôle,、,Tel,もde,À,je,Est,Nari,Vouloir,Hmm,Est,Yo,。,Stupide,Teru,chose,Est,Connaître,Teru,Yo,。,Mais,、,ほHmmQuandう,À,Nari,Vouloir,もde,Quand,Ichi,Tara,Il,Shika,Absent,Hey,。
Nouns:Blé de seigle,champ,Rôle,chose,je,Hmm,chose,ほHmmとう,chose,Il
Verbs:Capture,Nari,Stupide,Teru,Connaître,Teru,Nari,Ichi
Adjs:Absent

finalement

Vous pouvez maintenant extraire des mots en alimentant parse () avec le Tweet récupéré.

Cet exemple de code a utilisé le type de surface dans node.surface, Si vous souhaitez normaliser des mots qui changent de fin, tels que les verbes Vous pouvez utiliser le formulaire d'origine inclus dans node.feature.

Recommended Posts

Collecte d'informations sur Twitter avec Python (analyse morphologique avec MeCab)
Collecter des informations sur Twitter avec Python (API Twitter)
[Python] Analyse morphologique avec MeCab
Collecter des informations depuis Twitter avec Python (construction de l'environnement)
Collecte d'informations sur Twitter avec Python (intégration de MySQL et Python)
Analyse morphologique japonaise avec Python
Text mining avec Python ① Analyse morphologique
J'ai joué avec Mecab (analyse morphologique)!
Tweet de python avec Twitter Developer + Tweepy
MeCab de Python
Analyse des tweets avec Python, Mecab et CaboCha
De l'introduction de JUMAN ++ à l'analyse morphologique du japonais avec Python
Python: analyse morphologique simplifiée avec des expressions régulières
De la préparation à l'analyse morphologique avec python en utilisant polyglotte au marquage des mots partiels
Analyse de données avec python 2
Collecter des tweets avec Python
Utiliser mecab avec Python 3
Analyse vocale par python
Analyse vocale par python
Analyse de données avec Python
Text mining avec Python ① Analyse morphologique (re: version Linux)
Analyse des composants principaux à l'aide de python de nim avec nimpy
[Bases de la science des données] Collecte de données depuis RSS avec python
[Note] WordCloud à partir de l'analyse morphologique
[Analyse de co-occurrence] Analyse de co-occurrence facile avec Python! [Python]
Mémo graphique Twitter avec Python
Obtenez la chronologie Twitter avec Python
Python: texte japonais: analyse morphologique
Utiliser l'API Twitter avec Python
Analyse des émotions par Python (word2vec)
Analyse de squelette planaire avec Python
Rechercher des tweets Twitter avec Python
Avec skype, notifiez avec skype de python!
Analyse des secousses musculaires avec Python
[PowerShell] Analyse morphologique avec SudachiPy
Obtenez des informations sur l'alambic avec Python
Analyse morphologique avec Igo + mecab-ipadic-neologd en Python (avec bonus Ruby)
Obtenez des commandes PowerShell à partir d'un site d'analyse dynamique de logiciels malveillants avec BeautifulSoup + Python
Appeler C depuis Python avec DragonFFI
Analyse de la structure du squelette en trois dimensions avec Python
Utilisation de Rstan de Python avec PypeR
Analyse d'impédance (EIS) avec python [impedance.py]
Installez Python à partir des sources avec Ansible
Activer le moteur d'analyse morphologique MeCab en Python3 (version mars 2016)
[Lambda] [Python] Publier sur Twitter depuis Lambda!
Introduction à l'analyse de données par Python P17-P26 [ch02 1.usa.gov données de bit.ly]
Publiez plusieurs images Twitter avec python
Exécutez Aprili depuis Python sur Orange
■ [Google Colaboratory] Utiliser l'analyse morphologique (MeCab)
Appelez python de nim avec Nimpy
Publiez facilement sur Twitter avec Python 3
Analyse de données à partir de python (visualisation de données 1)
Charger fbx depuis python avec cinema4d
Analyse de régression logistique Self-made avec python
Lors de l'utilisation de MeCab avec python dans virtualenv
Analyse de données à partir de python (visualisation de données 2)
Obtenez des informations météorologiques avec Python et le grattage
[Memo] Tweet sur Twitter avec Python