GPT-2を使ってマルコフ連鎖で文章生成

mari.py

from flask import Flask, render_template, request
import random
import markovify
from transformers import GPT2LMHeadModel, GPT2Tokenizer

app = Flask(name)

GPT-2モデルのロード

tokenizer = GPT2Tokenizer.from_pretrained(“gpt2”)
model = GPT2LMHeadModel.from_pretrained(“gpt2”)

マルコフ連鎖用のテキストデータを格納するリスト

text_data = []

GPT-2による自由なテキスト生成

def generate_gpt2_text(prompt, max_length=100):
input_ids = tokenizer.encode(prompt, return_tensors=”pt”)
output = model.generate(input_ids, max_length=max_length, num_return_sequences=1)
response = tokenizer.decode(output[0], skip_special_tokens=True)
return response

マルコフ連鎖モデルを生成

def build_markov_model(data):
text_model = markovify.NewlineText(data)
return text_model

マルコフ連鎖を使って新しいテキストを生成

def generate_text_with_markov(model, num_sentences=3):
generated_text = model.make_sentence()
return generated_text

ウェブアプリケーションのルート

@app.route(“/”, methods=[“GET”, “POST”])
def chatbot():
user_input = “”
gpt2_response = “”
markov_response = “”

if request.method == "POST":
    user_input = request.form["user_input"]

    # ユーザーからの入力をGPT-2に送信し、生成されたテキストを取得
    gpt2_response = generate_gpt2_text(user_input)

    # GPT-2の生成テキストをリストに追加
    text_data.append(gpt2_response)

    # マルコフ連鎖モデルを使って新しいテキストを生成
    markov_response = generate_text_with_markov(build_markov_model(text_data))

return render_template("chat.html", user_input=user_input, gpt2_response=gpt2_response, markov_response=markov_response)

if name == “main“:
app.run(debug=True)

templates

chat.html


Chatbot

Chatbot

ユーザー: 送信

ユーザーの入力:

{{ user_input }}

GPT-2生成テキスト:

{{ gpt2_response }}

マルコフ連鎖生成テキスト:

{{ markov_response }}

C# Unity Test

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class TestScript : MonoBehaviour

{

    // Start is called before the first frame update

    void Start()

    {

       string a;

       string b;

       a = “真理”;

       b = “りんご”;

       Debug.Log(a + “は” + b + “が好きです。”);

       a = “マリアンヌ”;

       b = “メロン”;

       Debug.Log(a + “は” + b + “好きです。”);

    }

    // Update is called once per frame

    void Update()

    {

        //Debug.Log(“連続表示”);

    }

}

C# 名前付きパラメーター

using System;

namespace TestNamespace
{
internal class HP
{
public int CalcAdd2(int a, int b, int c)
{
return a + b + c;
}
}

class Program
{
    static void Main(string[] args)
    {
        HP test = new HP();

        int a = test.CalcAdd2(a: 3, b: 4, c: 2);

        int b = test.CalcAdd2(a: 3, b: 1, c: 2);

        Console.WriteLine(a);
        Console.WriteLine(b);
    }
}

}

C# class

using System;
using System.ComponentModel.DataAnnotations;

namespace Chap3
{
class Car
{
public string name;
public int seats = 4;
}
class MainClass
{
static void Main()
{
Car mycar1 = new Car();
Car mycar2 = new Car();

        //インスタンス
        Console.WriteLine(mycar1 == mycar2);

        mycar1.name = "メイン";
        mycar2.name = "サブ";

        Console.WriteLine(mycar1.name);
        Console.WriteLine(mycar2.name);
    }
}

}

プログラミング初心者におすすめのPHP入門

PHPプログラミングの基礎

PHPとは、Hypertext Preprocessorの略であり、主にウェブ開発に使用されるスクリプト言語です。PHPの特徴としては、使いやすさと学習コストの低さがあります。また、オープンソースの言語であり、多くの開発者が共同で開発を行っているため、豊富な情報やサポートが得られる点も利点です。PHPは動的なウェブページの作成やデータベースへのアクセスなど、様々なウェブアプリケーション開発に利用されています。また、PHPはHTMLとの組み合わせが容易であり、ウェブデザインとの連携もスムーズに行えるというメリットがあります。

PHPの基本構文

PHPプログラミングの基礎として、PHPの基本構文について学びましょう。まずは変数とデータ型についてです。PHPでは、$マークを使って変数を宣言することができます。例えば、$name = “John”;とすると、変数$nameに”John”という値を代入することができます。また、PHPでは動的型付け言語となっており、変数のデータ型を事前に指定する必要はありません。次に条件分岐とループについてです。条件分岐にはif文を使用します。例えば、if ($age >= 18) {とすると、$ageが18歳以上の場合に実行される処理を書くことができます。ループにはwhile文やfor文を使用します。例えば、while ($i < 10) {とすると、$iが10未満の間、繰り返し処理が行われます。これらの基本構文をしっかり理解し、PHPプログラミングにおける基礎を築きましょう。

PHPの関数とライブラリ

PHPの関数とライブラリについて説明します。関数はプログラムをより効率的に実行するためのもので、自分で作成することもできます。関数は、特定の処理をまとめて名前をつけて呼び出すことができます。関数を作成するには、functionキーワードを使います。また、関数の引数や返り値を指定することもできます。

また、外部ライブラリを利用することで、より高度な機能を実現することができます。外部ライブラリは、他の人が作成したプログラムの集まりであり、自分でコードを書く必要がないため、効率的にプログラムを作成することができます。外部ライブラリを導入するには、まずライブラリをダウンロードして、指定のディレクトリに保存します。そして、プログラム中でライブラリを読み込むためのコードを記述します。

PHPの関数と外部ライブラリの利用は、プログラムの効率化や高度な機能の実現に役立ちます。是非積極的に活用してみてください。

データベースとの連携

PHPとMySQLの接続方法やデータの取得、操作について学びます。PHPでは、DB接続用の関数やクラスが用意されており、簡単にデータベースと連携することができます。また、SQL文を使用してデータベース内のテーブルとやり取りする方法も学びます。データベースとの連携を活用することで、データの一元管理や情報の取得・更新・削除などが容易にできるようになります。

ウェブアプリケーションの作成

PHPはウェブアプリケーションの作成にも非常に便利です。特に、フォームの処理においては強力な機能を持っています。フォームの入力値を受け取り、それをデータベースに保存するなどの処理が可能です。また、サーバーサイドとクライアントサイドの連携もスムーズに行えます。例えば、フォームの入力チェックをサーバーサイドで行い、エラーメッセージをクライアントサイドに返すことができます。さらに、Ajaxと組み合わせて非同期通信を行うことで、リアルタイムなデータの更新やバリデーションを実現することも可能です。ウェブアプリケーションを作成する際には、PHPの強力な機能を活用することで、効率的に開発を進めることができます。PHPプログラミング入門を通じて、あなたもプロのウェブアプリケーション開発者になることができるでしょう。