|
|
@ -9,23 +9,25 @@ namespace MarkovGrams |
|
|
|
{ |
|
|
|
public static void Main(string[] args) |
|
|
|
{ |
|
|
|
if(args.Length != 3) |
|
|
|
if(args.Length != 4) |
|
|
|
{ |
|
|
|
Console.WriteLine("Usage:"); |
|
|
|
Console.WriteLine(" ./MarkovGrams.exe <wordlist.txt> <order> <length>"); |
|
|
|
Console.WriteLine(" ./MarkovGrams.exe <wordlist.txt> <order> <length> <count>"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
string wordlistFilename = args[0]; |
|
|
|
int order = int.Parse(args[1]); |
|
|
|
int desiredStringLength = int.Parse(args[2]); |
|
|
|
int count = int.Parse(args[3]); |
|
|
|
|
|
|
|
IEnumerable<string> words = File.ReadLines(wordlistFilename).SelectMany(word => word.Trim().Split(' ')); |
|
|
|
IEnumerable<string> ngrams = NGrams.GenerateFlat(words, order); |
|
|
|
|
|
|
|
UnweightedMarkovChain chain = new UnweightedMarkovChain(ngrams); |
|
|
|
|
|
|
|
Console.WriteLine(chain.Generate(desiredStringLength)); |
|
|
|
for(int i = 0; i < count; i++) |
|
|
|
Console.WriteLine(chain.Generate(desiredStringLength)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |