[PYTHON] Versuchen Sie es mit morphologischer Analyse und Markov-Kette mit Django (Ari mit viel Raum für Verbesserungen)

Einführung

Holen Sie sich Twitter-Daten vor langer Zeit und Markov-Kette. Ich habe das getan, aber ich habe versucht, es in Django zu integrieren. Zuallererst ist das Ergebnis ein großes Problem. Ich werde den Fortschritt der Arbeit im Moment verlassen.

Klicken Sie hier für frühere Artikel Sammeln Sie Informationen per Twitter-Suche, analysieren Sie die Morphologie, generieren Sie Sätze mit der Markov-Kette und twittern Sie.

Da .has_key in Python3 nicht verwendet werden kann,

if markov.has_key(w):

Ist der Prozess

if w in markov:

Es ist ein Bild zum Umschreiben.

Vorbereiten der Verwendung von MeCab mit Python 3

$ brew install mecab
$ brew install mecab-ipadic
$ pip install mecab-python3

Ich habe es auf diese Weise installiert.

Code

Wie üblich werde ich mir das RSS des DMM18 verbotenen Videos holen.

Einfacher RSS-Reader mit Django Wir machen fast das Gleiche wie oben, also beziehen Sie sich bitte darauf.

Holen Sie sich den Titel und die Beschreibung und speichern Sie sie.

views.py


import feedparser
import MeCab
import random
import re
import sys, codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)

from django.http import HttpResponse
from django.shortcuts import (render, redirect,)

def index(request):
    url = 'http://www.dmm.co.jp/digital/videoa/-/list/rss/=/sort=date/'
    feeder = feedparser.parse(url)


    for entry in feeder['entries']:
        lists = entry['description'] + entry['title']
        f = open('text.txt', 'w')
        f.write(lists)
        f.flush()
        f.close()

    f = open('text.txt', 'r')
    mecab_read = f.read()
    f.close()

    tagger = MeCab.Tagger('-Owakati')
    wordlist = tagger.parse(mecab_read)
    wordlist = wordlist.rstrip(' \n').split(' ')

    f = open('l.txt', 'w')
    f.write(str(wordlist))
    f.close()

    markov = {}
    w = ''

    for x in wordlist:
        if w:
            if w in markov:
                new_list = markov[w]
            else:
                new_list =[]

            new_list.append(x)
            markov[w] = new_list
        w = x

    choice_words = wordlist[0]
    sentence = ''
    count = 0

    while count < 20:
        choice_words = random.choice(wordlist)
        sentence += choice_words
        count += 1
        sentence = sentence.split(' ', 1)[0]
        p = re.compile('[!-/:-@[-`{-~]')
        sus = p.sub('', sentence)

    context = {
        'wordlist': wordlist,
        'sus': sus,
        }

    return render(request,'index.html',context)

index.html


{% extends "base.html" %}
{% block body %}
  <div class="container">
    <div class="row">

      <div class="col-md-12">
        <p class="1">{{ wordlist }}</p>
        <p class="2">{{ sus }}</p>
      </div>

    </div>
  </div>

{% endblock %}

Ergebnis

スクリーンショット 2016-11-21 13.41.16.png

Am Ende hatte ich so ein verdammtes Ergebnis. Die Beschreibung enthält viel Geld, Sie müssen es also entfernen ...

Ich habe auch gelernt, dass man den Namen der Schauspielerin nicht versteht, wenn man ihn nicht schneidet.

Ich werde mich widmen.

Was ich ursprünglich machen wollte

Ich wollte mit der Markov-Kette einen AV-Titel machen.

Recommended Posts

Versuchen Sie es mit morphologischer Analyse und Markov-Kette mit Django (Ari mit viel Raum für Verbesserungen)
Holen Sie sich mit Python eine große Menge von Starbas Twitter-Daten und probieren Sie die Datenanalyse Teil 1 aus
Führen Sie eine Twitter-Suche in Python durch und versuchen Sie, Sätze mit der Markov-Kette zu generieren.
(Für Anfänger) Versuchen Sie, mit Django eine einfache Web-API zu erstellen
[DynamoDB] [Docker] Erstellen Sie mit Docker-Compose eine Entwicklungsumgebung für DynamoDB und Django
Eine Sammlung von Tipps zur Beschleunigung des Lernens und Denkens mit PyTorch
Verbinde viel Python oder und und
Erstellen Sie eine Datenanalyseumgebung, die die GitHub-Authentifizierung und Django mit JupyterHub verbindet
Webanwendung, die Morphologie analysiert und Sätze mit Markov-Kette generiert [Flasche]
Versuchen Sie, eine Webanwendung mit Vue.js und Django (Mac Edition) zu erstellen - (1) Umgebungskonstruktion, Anwendungserstellung
Praxis der Erstellung einer Datenanalyseplattform mit BigQuery und Cloud DataFlow (Datenverarbeitung)
Versuchen wir es mit der Analyse! Kapitel 8: Analyseumgebung für Windows Erstellt mit Python und Eclipse (PyDev)
Erstellen Sie mit Django ein Dashboard für Netzwerkgeräte!
Ich habe versucht, morphologische Analyse und Wortvektorisierung
Das automatische Generieren von Einführungstext für AV funktioniert mit DMM API, MeCab und Markov Chain
Umfang der Erstellung und Veröffentlichung von Django-Malice, einer Django-Anwendung zur Verursachung von HTTP 40X-Fehlern