[PYTHON] Das automatische Generieren von Einführungstext für AV funktioniert mit DMM API, MeCab und Markov Chain

Veröffentlichung des elektronischen Buches "Artificial Intelligence Porn"

Porno mit künstlicher Intelligenz: Erotische Texte, die von einem Computer geschrieben wurden Das generierte Ergebnis dieses Artikels wurde in ein elektronisches Buch umgewandelt. Wir haben 100 Sätze mit etwa 200 bis 400 Zeichen gepostet. Bei Interesse bitte!

Automatisch generieren

Dieser Artikel hat mich beeindruckt. Ich wollte selbst etwas tun, aber die Hürden für die automatische Generierung mit Deep Learning sind hoch. Deshalb habe ich mich entschlossen, zuerst die automatische Generierung mit der Markov-Kette zu versuchen. [Evangelion] Versuchen Sie, mit Deep Learning automatisch Asuka-ähnliche Linien zu generieren

Das stimmt! AV!: Zufrieden:

Daten werden für die automatische Generierung benötigt. Ich verstehe Anime nicht, und selbst wenn ich Evangelion imitiere, werde ich nicht aufgeregt. Was erhöht Ihre Spannung? ... Ich habe sofort eine Einführung in AV gefunden.

Vorteile der AV-Einführung

――Es scheint, dass es viele Daten mit etwa 120 Zeichen gibt?

Registrieren Sie die DMM-API

https://affiliate.dmm.com/api/guide/ Deshalb habe ich sofort angefangen. Bitte beziehen Sie sich auf diese Bedienungsanleitung.

--DMM-Partnerregistrierung

Holen Sie sich die Arbeitseinführung

Ich habe hier darauf hingewiesen. Die DMM-API ist ver3.0 und muss daher geändert werden. http://akms.hateblo.jp/entry/2013/05/24/234703

Code

Ich habe den Einführungstext von 1000 Werken erhalten und in ero.txt geschrieben.

rb::dmm.rb


# -*- coding: utf-8 -*-

require 'open-uri'
require 'rexml/document'

def getURL(offsetNum)
	url = "https://api.dmm.com/affiliate/v3/ItemList?"
	queries = []

	params = {
	  "api_id"       => 'YOUR_API_ID',
	  "affiliate_id" => 'YOUR_AFFILIATE_ID',
	  "site"         => 'DMM.R18',
	  "service"      => 'digital',
	  "floor"        => 'videoa',
	  "sort"         => 'rank',
	  "offset"       => offsetNum,
	  "hits"         => 100,
	  "output"       => "xml"
	}

	params.each_pair do |key,value|
	  queries.push("#{key}=#{value}")
	end

	url += queries.join("&")

	return url

end

#Öffnen Sie eine Textdatei zum Schreiben
File.open("ero.txt", "w") do |file|

	#Schleife so oft wie die Anzahl der Offsets, die Sie erhalten möchten
	10.times do
		url = getURL(num)
		res = open(url)
		REXML::Document.new(res).elements.each("xml/result/items/item") do |element|
			#Schreiben Sie eine Arbeitseinführung
			file.puts element.elements['comment'].text
		end
	end
end

Führen Sie eine Markov-Kette durch

Bereiten Sie MeCab vor

Ich denke, es gibt verschiedene Möglichkeiten, dies zu tun, aber ich habe den folgenden Artikel gelesen und eingerichtet. http://qiita.com/grachro/items/4fbc9bf8174c5abb7bdd

Vorbereitung des Markov-Ketten-Skripts

Ich habe auf dieses Skript verwiesen. https://github.com/o-tomox/TextGenerator

Da ich es in Python 3 ausgeführt habe, habe ich das obige Skript von 2 auf 3 geändert. https://gist.github.com/naoyashiga/4dfaa7e2a5222a9cadd9

Einführungstext wird automatisch generiert

Holen Sie sich einen Einführungstext

$ ruby dmm.rb

Schreiben Sie an db

$ python PrepareChain.py

Automatisch erzeugt

$ python GenerateText.py

Ausgabeergebnis

Ich konnte ausgeben: Sonnenbrille:

Hoppla, der Inhalt scheint zu obszön! Leider kann ich ihn hier nicht veröffentlichen: müde:

Wenn Sie interessiert sind, machen wir es selbst!

Rücksichtnahme und Perspektiven

――Ich möchte Deep Learning ausprobieren ――Ich möchte die Menge des generierten Texts anpassen können ――Ich möchte basierend auf einer größeren Anzahl von Sätzen generieren

Nachtrag

Ich habe versucht, ein neuronales Netzwerk zu verwenden. DMM API, char-rnn (wiederkehrendes neuronales Netzwerk) generiert automatisch Einführungstext für AV-Werke - nicht gut, aber großartig

Recommended Posts

Das automatische Generieren von Einführungstext für AV funktioniert mit DMM API, MeCab und Markov Chain
Führen Sie eine Twitter-Suche in Python durch und versuchen Sie, Sätze mit der Markov-Kette zu generieren.
Installieren Sie tweepy mit pip und verwenden Sie es für API 1.1
Versuchen Sie es mit morphologischer Analyse und Markov-Kette mit Django (Ari mit viel Raum für Verbesserungen)