gomarkov

Markov chains in golang

Github星跟蹤圖

gomarkov

GoDoc
Go Report Card

Go implementation of markov chains for textual data.

You can find out more about markov chains here and here

Usage

package main

import (
	"github.com/mb-14/gomarkov"
	"fmt"
	"strings"
	"io/ioutil"
	"encoding/json"
)

func main() {
	//Create a chain of order 2
	chain := gomarkov.NewChain(2)

	//Feed in training data
	chain.Add(strings.Split("I want a cheese burger", " "))
	chain.Add(strings.Split("I want a chilled sprite", " "))
	chain.Add(strings.Split("I want to go to the movies", " "))

	//Get transition probability of a sequence
	prob, _ := chain.TransitionProbability("a", []string{"I", "want"})
	fmt.Println(prob)
	//Output: 0.6666666666666666

	//You can even generate new text based on an initial seed
	chain.Add(strings.Split("Mother should I build the wall?", " "))
	chain.Add(strings.Split("Mother should I run for President?", " "))
	chain.Add(strings.Split("Mother should I trust the government?", " "))
	next, _ := chain.Generate([]string{"should", "I"})
	fmt.Println(next)

	//The chain is JSON serializable
	jsonObj, _ := json.Marshal(chain)
	err := ioutil.WriteFile("model.json", jsonObj, 0644)
	if err != nil {
		fmt.Println(err)
	}
}

Examples

主要指標

概覽
名稱與所有者chenyuntc/PyTorchText
主編程語言Python
編程語言Go (語言數: 3)
平台
許可證MIT License
所有者活动
創建於2017-08-16 08:18:06
推送於2018-07-16 03:08:50
最后一次提交2018-02-01 22:41:38
發布數0
用户参与
星數1.1k
關注者數46
派生數364
提交數10
已啟用問題?
問題數14
打開的問題數6
拉請求數0
打開的拉請求數1
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?