|
|
|
@ -2,23 +2,22 @@
|
|
|
|
|
|
|
|
|
|
open SystemServices |
|
|
|
|
open System |
|
|
|
|
open DataStructuring |
|
|
|
|
|
|
|
|
|
let PickStartWord words = PickRandomItem (Random().Next) words |
|
|
|
|
|
|
|
|
|
let rec GenerateMarkovChain (map: Map<string, string List> List) state chain = |
|
|
|
|
let rec GenerateMarkovChain (map: Map<string, string List>) (state:string) chain = |
|
|
|
|
let nextChoice = map.[state] |
|
|
|
|
nextChoice |
|
|
|
|
//"Not done yet" |
|
|
|
|
|
|
|
|
|
let GenerateSentence map start = |
|
|
|
|
let test = GenerateMarkovChain map start [start] |
|
|
|
|
let result = "Not done yet" |
|
|
|
|
result |
|
|
|
|
let GenerateMarkovSentence map start = |
|
|
|
|
GenerateMarkovChain map start [start] |
|
|
|
|
|
|
|
|
|
let GenerateMarkovSentences noOfSentences map = |
|
|
|
|
let GenerateMarkovText noOfSentences map = |
|
|
|
|
let startWords = fst(SeperateStartWords map) |
|
|
|
|
let result = |
|
|
|
|
seq { |
|
|
|
|
for i in 0 .. noOfSentences do |
|
|
|
|
yield GenerateSentence map // <--- Up to here... |
|
|
|
|
yield GenerateMarkovSentence map (PickStartWord startWords).Key |
|
|
|
|
} |
|
|
|
|
"Not done yet." |
|
|
|
|
Seq.toList result |