[PYTHON] Essayez l'analyse morphologique et la chaîne de Markov avec Django (Ari avec beaucoup de marge d'amélioration)

introduction

Obtenez des données Twitter il y a longtemps et la chaîne Markov. Je l'ai fait, mais j'ai essayé de l'intégrer dans Django. Tout d'abord, le résultat est un gros problème. Je laisserai l'état d'avancement des travaux pour le moment.

Cliquez ici pour les articles précédents Accumuler des informations par recherche sur Twitter, analyser la morphologie, générer des phrases avec une chaîne de Markov et tweeter.

Puisque .has_key ne peut pas être utilisé dans Python3,

if markov.has_key(w):

Est le processus

if w in markov:

C'est une image à réécrire.

Préparation à l'utilisation de MeCab avec Python 3

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

Je l'ai installé de cette manière.

code

Comme d'habitude, je vais aller chercher le RSS de la vidéo interdite DMM18.

Lecteur RSS simple réalisé avec Django Nous faisons presque la même chose que ci-dessus, veuillez donc vous y référer.

Obtenez et enregistrez le titre et la description.

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 %}

résultat

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

J'ai fini avec un putain de résultat. Il y a beaucoup d'argent dans la description, vous devez donc la supprimer ...

J'ai aussi appris que si vous ne coupez pas le nom de l'actrice, vous ne le comprendrez pas.

Je vais me consacrer.

Ce que je voulais faire au départ

Je voulais faire un titre AV avec la chaîne Markov.

Recommended Posts

Essayez l'analyse morphologique et la chaîne de Markov avec Django (Ari avec beaucoup de marge d'amélioration)
Obtenez une grande quantité de données Twitter de Starba avec python et essayez l'analyse de données Partie 1
Effectuez une recherche Twitter à partir de Python et essayez de générer des phrases avec la chaîne de Markov.
(Pour les débutants) Essayez de créer une API Web simple avec Django
[DynamoDB] [Docker] Créer un environnement de développement pour DynamoDB et Django avec docker-compose
Une collection de conseils pour accélérer l'apprentissage et le raisonnement avec PyTorch
Connectez beaucoup de Python ou et et
Créer un environnement d'analyse de données qui relie l'authentification GitHub et Django avec JupyterHub
Application Web qui analyse la morphologie et génère des phrases avec la chaîne de Markov [bouteille]
Essayez de créer une application Web avec Vue.js et Django (édition Mac) - (1) Construction d'environnement, création d'application
Pratique de création d'une plateforme d'analyse de données avec BigQuery et Cloud DataFlow (traitement de données)
Essayons l'analyse! Chapitre 8: Environnement d'analyse pour Windows créé avec Python et Eclipse (PyDev)
Créez un tableau de bord pour les appareils réseau avec Django!
J'ai essayé l'analyse morphologique et la vectorisation de mots
Générez automatiquement un texte d'introduction pour les œuvres audiovisuelles avec l'API DMM, MeCab et la chaîne Markov
Volume de création et de publication de django-malice, une application django pour provoquer des erreurs HTTP 40X