|
|
|
@ -22,12 +22,26 @@
|
|
|
|
|
|> JoinWords |
|
|
|
|
MarkovChain (CombineWords currentState nextChoice) map (nextChoice :: sentence) |
|
|
|
|
|
|
|
|
|
let GetMarkovSentence startWords map = |
|
|
|
|
let GetMarkovSentence map = |
|
|
|
|
MarkovChain startWords map [startWords] |
|
|
|
|
|> List.rev |
|
|
|
|
|> JoinWords |
|
|
|
|
|
|
|
|
|
let GetRandom (rng : int -> int) seq = |
|
|
|
|
let randIndex = rng (Seq.length seq) |
|
|
|
|
seq |> Seq.item randIndex |
|
|
|
|
|
|
|
|
|
let random = Random().Next |
|
|
|
|
|
|
|
|
|
(* |
|
|
|
|
let GenerateSentences sentenceCount words map = |
|
|
|
|
seq { |
|
|
|
|
for i in 0 .. sentenceCount do |
|
|
|
|
yield GetMarkovSentence words map } |
|
|
|
|
yield GetMarkovSentence words map } |
|
|
|
|
*) |
|
|
|
|
|
|
|
|
|
let GenerateSentences sentenceCount map = |
|
|
|
|
let startWords = SeperateStartWords map |
|
|
|
|
seq { |
|
|
|
|
for i in 0 .. sentenceCount do |
|
|
|
|
yield GetMarkovSentence map } |