Sammeln von Informationen von Twitter mit Python (morphologische Analyse mit MeCab)

Über morphologische Analyse

Das häufigste Muster zum Sammeln und Verwenden von Tweets von verschiedenen Benutzern ist Es ist ein Muster, das ein bestimmtes Wort in Tweet extrahiert und verwendet.

Dieses Mal werden wir MeCab, einen morphologischen Analysator, verwenden, um Nomenklaturen, Verben und Adjektive zu extrahieren, indem wir sie in Wörter unterteilen.

MeCab-Ausgabeformat

Das Ausgabeformat hängt von der Option ab.

Standardmäßig Oberflächenform \ t Teiltexte, Teiltexte Unterklassifizierung 1, Teilteilunterklassifizierung 2, Teilteilunterklassifizierung 3, Verwendungsform, Verwendungsart, Originalform, Lesen, Aussprache Die Ausgabe wird sein.

Beispielcode

Teilen Sie einen Satz in Worteinheiten (wie auf der Oberfläche)

Ein Programm, das vier Möglichkeiten bietet.

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

import MeCab

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

### Functions                                                                                                                                                     
def main():
    sample_u = u"Ich möchte der Fänger des Roggenfeldes sein. Ich weiß, dass es lächerlich ist. Aber das ist das Einzige, was ich wirklich sein möchte."
    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)
    #Wenn es sich nicht um einen str-Typ handelt, ist die Operation seltsam. Konvertieren Sie sie daher in einen str-Typ
    text = unicode_string.encode(PARSE_TEXT_ENCODING)
    node = tagger.parseToNode(text)

    words = []
    nouns = []
    verbs = []
    adjs = []
    while node:
        pos = node.feature.split(",")[0]
        #Zum Unicode-Typ zurückkehren
        word = node.surface.decode("utf-8")
        if pos == "Substantiv":
            nouns.append(word)
        elif pos == "Verb":
            verbs.append(word)
        elif pos == "Adjektiv":
            adjs.append(word)
        words.append(word)
        node = node.next
    parsed_words_dict = {
        "all": words[1:-1], #Entfernt, da am Anfang und am Ende leere Zeichenfolgen eingegeben werden
        "nouns": nouns,
        "verbs": verbs,
        "adjs": adjs
        }
    return parsed_words_dict

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

Ausgabeergebnis

(twi-py)$ python tweet_parser.py
All:Roggenweizen,Feld,von,Fang,Rolle,、,Eine solche,もvon,Zu,ich,Ist,Nari,Wollen,Hmm,Ist,Yo,。,Blöd,Teru,Ding,Ist,Kennt,Teru,Yo,。,Aber,、,ほHmmWannう,Zu,Nari,Wollen,もvon,Wann,Ichi,Tara,Es,Shika,Abwesend,Hallo,。
Nouns:Roggenweizen,Feld,Rolle,Ding,ich,Hmm,Ding,ほHmmとう,Ding,Es
Verbs:Fang,Nari,Blöd,Teru,Kennt,Teru,Nari,Ichi
Adjs:Abwesend

Schließlich

Jetzt können Sie Wörter extrahieren, indem Sie parse () mit dem abgerufenen Tweet füttern.

Dieser Beispielcode verwendete den Oberflächentyp in node.surface, Wenn Sie Wörter normalisieren möchten, deren Endungen sich ändern, z. B. Verben Sie können das in node.feature enthaltene Originalformular verwenden.

Recommended Posts

Sammeln von Informationen von Twitter mit Python (morphologische Analyse mit MeCab)
Sammeln von Informationen von Twitter mit Python (Twitter API)
[Python] Morphologische Analyse mit MeCab
Sammeln von Informationen von Twitter mit Python (Umgebungskonstruktion)
Sammeln von Informationen von Twitter mit Python (Integration von MySQL und Python)
Japanische morphologische Analyse mit Python
Text Mining mit Python ① Morphologische Analyse
Ich habe mit Mecab gespielt (morphologische Analyse)!
Tweet von Python mit Twitter Developer + Tweepy
MeCab von Python
Tweet-Analyse mit Python, Mecab und CaboCha
Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
Python: Vereinfachte morphologische Analyse mit regulären Ausdrücken
Von der Vorbereitung der morphologischen Analyse mit Python unter Verwendung von Polyglot bis zur Teilwortmarkierung
Datenanalyse mit Python 2
Tweets mit Python sammeln
Verwenden Sie Mecab mit Python 3
Sprachanalyse mit Python
Sprachanalyse mit Python
Datenanalyse mit Python
Text Mining mit Python ① Morphologische Analyse (re: Linux-Version)
Hauptkomponentenanalyse mit Python von nim mit nimpy
[Grundlagen der Datenwissenschaft] Sammeln von Daten aus RSS mit Python
[Anmerkung] WordCloud aus morphologischer Analyse
[Analyse des gemeinsamen Auftretens] Einfache Analyse des gemeinsamen Auftretens mit Python! [Python]
Twitter-Grafiknotiz mit Python
Holen Sie sich Twitter-Timeline mit Python
Python: Japanischer Text: Morphologische Analyse
Verwenden Sie die Twitter-API mit Python
Emotionsanalyse von Python (word2vec)
Planare Skelettanalyse mit Python
Suche nach Twitter-Tweets mit Python
Mit Skype benachrichtigen Sie mit Skype von Python!
Muskel-Ruck-Analyse mit Python
[PowerShell] Morphologische Analyse mit SudachiPy
Holen Sie sich Alembic-Informationen mit Python
Morphologische Analyse mit Igo + mecab-ipadic-neologd in Python (mit Ruby-Bonus)
Rufen Sie mit BeautifulSoup + Python PowerShell-Befehle von einer Website für dynamische Malware-Analysen ab
Rufen Sie C von Python mit DragonFFI auf
Dreidimensionale Skelettstrukturanalyse mit Python
Verwenden von Rstan aus Python mit PypeR
Impedanzanalyse (EIS) mit Python [impedance.py]
Installieren Sie Python von der Quelle mit Ansible
Aktivieren Sie die morphologische Analyse-Engine MeCab in Python 3 (Version März 2016).
[Lambda] [Python] Von Lambda auf Twitter posten!
Einführung in die Datenanalyse mit Python P17-P26 [ch02 1.usa.gov Daten von bit.ly]
Veröffentlichen Sie mehrere Twitter-Bilder mit Python
Führen Sie Aprili von Python auf Orange aus
■ [Google Colaboratory] Verwenden Sie die morphologische Analyse (MeCab)
Rufen Sie Python von Nim mit Nimpy auf
Mit Python 3 einfach auf Twitter posten
Datenanalyse beginnend mit Python (Datenvisualisierung 1)
Laden Sie fbx aus Python mitinema4d
Logistische Regressionsanalyse Selbst erstellt mit Python
Bei Verwendung von MeCab mit virtualenv python
Datenanalyse beginnend mit Python (Datenvisualisierung 2)
Holen Sie sich Wetterinformationen mit Python & Scraping
[Memo] Tweet auf Twitter mit Python