[PYTHON] Erstellen Sie Word Cloud aus akademischen Programmen

Einführung

Ich wollte die Trends der Artificial Intelligence Society (JSAI2020) untersuchen, an denen ich neulich teilgenommen habe, und habe Word Cloud aus dem Vortragstitel des Programms erstellt.

Was ist Word Cloud?

Die Häufigkeit des Auftretens von Wörtern in einem Satz wird überprüft, und die Größe der Zeichen wird entsprechend der Häufigkeit geändert. Möglicherweise haben Sie eine Wortwolke gesehen, die aus Tweets und visualisierten Wörtern erstellt wurde, die viel murmeln.

Vorbereitung des Textes

Ich habe die JSAI2020-Konferenzbeiträge von hier heruntergeladen, eine Datei mit dem Namen index.html geöffnet und die Sitzungsliste in Notepad kopiert.

Wenn das Programm als PDF veröffentlicht ist, können Sie den Text wie folgt extrahieren.


from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage

input_path = './Program.pdf'
output_path = 'Program.txt'

manager = PDFResourceManager()

with open(output_path, "wb") as output:
    with open(input_path, 'rb') as input:
        with TextConverter(manager, output, codec='utf-8', laparams=LAParams()) as conv:
            interpreter = PDFPageInterpreter(manager, conv)
            for page in PDFPage.get_pages(input):
                interpreter.process_page(page)

Löschen Sie unnötige Informationen

Entfernt Informationen, die keine Vorlesungen sind, wie Datum und Moderator aus dem Text. Da der Moderator von () umgeben war, wurden die Zeichen in () aus ‍‍‍‍ gelöscht. Reguläre Ausdrücke werden verwendet, um die Zeichen in () und die Uhrzeit / das Datum anzugeben.

import re

with open('Program.txt', mode='rt', encoding='utf-8') as fo:
    Program = fo.read()

#[]Zu()Umstellung auf
Program = Program.replace("[", "(")
Program = ProgramP.replace("]", ")")
#()Löschen Sie die in eingeschlossenen Zeichen(In diesem Moment[]Der obige Code ist erforderlich, da er nicht gelöscht werden kann.)
Program = re.sub(r'\([^)]*\)', '', Program)
#Uhrzeit / Datum löschen
Program = re.sub(r'((0?|1)[0-9]|2[0-3])[:][0-5][0-9]?', '', Program)
Program = re.sub(r'2020([0-1]?[0-9])Mond([0-3]?[0-9])Tag?', '', Program)
Program = re.sub('Zeit / Ort', '', Program)
Program = re.sub('Session', '', Program)
Program = re.sub('Ankündigungsliste', '', Program)
Program = re.sub('Tagungsort', '', Program)

with open('Program_new.txt', 'w') as f:
  print(Program, file=f)

Word Cloud erstellen

from matplotlib import pyplot as plt
from wordcloud import WordCloud

with open('Program_new.txt', mode='rt', encoding='utf-8') as fo:
    cloud_text = fo.read()

#font_Pfad gibt die japanische Schriftart auf Ihrem Terminal an
word_cloud = WordCloud(width=640, height=480, font_path="/System/Library/AssetsV2/com_apple_MobileAsset_Font6/c7c8e5cb889b80fff0175bf138a7b66c6f027f21.asset/AssetData/ToppanBunkyuMidashiGothicStdN-ExtraBold.otf").generate(cloud_text)
word_cloud.to_file('wordcloud4.png')

plt.imshow(word_cloud)
plt.axis('off')
plt.show()

wordcloud3.png

Recommended Posts

Erstellen Sie Word Cloud aus akademischen Programmen
Ich habe ein Tool erstellt, um eine Wortwolke aus Wikipedia zu erstellen
Erstellen Sie ein akademisches Programm mit Kombinationsoptimierung
Wenn Sie Word Cloud erstellen möchten.
Verschrotten Sie Ihren Qiita-Artikel, um eine Wortwolke zu erstellen
Erstellen Sie einen Pandas-Datenrahmen aus einer Zeichenfolge.
Erstellen Sie eine Instanz einer vordefinierten Klasse aus einer Zeichenfolge in Python
Erstellen Sie mit turicreate eine API, die Daten aus einem Modell zurückgibt
Erstellen Sie eine Wortwolke mit nur positiven / negativen Wörtern auf Twitter
So erstellen Sie einen Klon aus Github
Erstellen Sie eine Rangliste aus den Ergebnissen der JFL-Spiele
Erstellen Sie mit Python 3.4 einen Worthäufigkeitszähler
Erstellen Sie eine Deb-Datei aus einem Python-Paket
So erstellen Sie ein Repository aus Medien
Erstellen Sie eine englische Wort-App mit Python
Erstellen Sie mit Pandas einen Datenrahmen aus Excel
WEB Scraping mit Python und versuchen, aus Bewertungen eine Wortwolke zu machen
Ich habe ein Paket erstellt, um eine ausführbare Datei aus dem Hy-Quellcode zu erstellen
Bearbeiten Sie Excel in Python, um eine Pivot-Tabelle zu erstellen
So erstellen Sie ein Funktionsobjekt aus einer Zeichenfolge
Erstellen Sie ein C-Array aus einer Python> Excel-Tabelle
Erstellen Sie eine Datei, die in der Skriptsprache ausgeführt werden kann
[Python-Pandas] Erstellen Sie einen leeren DataFrame aus einem vorhandenen DataFrame
Erstelle mit pygame2 eine neue Benutzeroberfläche!
Erstellen Sie eine Datensatztabelle aus den JFL-Übereinstimmungsergebnissen
Erstellen Sie mit ClustalW2 einen phylogenetischen Baum aus Biopyton
Erstellen Sie ein Score-Ranking aus den JFL-Match-Ergebnissen
Erstellen Sie mit Python einen Entscheidungsbaum von 0 (1. Übersicht)
Erstellen Sie ein Datum / Uhrzeit-Objekt aus einer Zeichenfolge in Python (Python 3.3).
Erstellen Sie ein Konto aus dem Aufbau eines CentOS-Mailservers
Verwendung der NUITKA-Utilities-Hinweis-Kompilierung zum einfachen Erstellen einer ausführbaren Datei aus einem Python-Skript
So erstellen Sie einen Artikel über die Befehlszeile
Empfangen Sie Wörterbuchdaten von Python-Programmen mit AppleScript
Vom Kauf eines Computers bis zur Ausführung eines Programms auf Python
Erstellen Sie eine Zufallszahl mit einer beliebigen Wahrscheinlichkeitsdichte
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
[Python] Erstellen Sie mit cx_Freeze eine Verteilungsdatei für das Tkinter-Programm
Generieren Sie Word Cloud aus Testfalldaten mit Python3
Erstellen Sie mit Winsows 10 eine maschinelle Lernumgebung von Grund auf neu
Einführung in das maschinelle Lernen mit Simple Perceptron