マルコフ連鎖を使ったシンプルなテキストジェネレーターを作りたいです。Java の「ランダム」ルーチンがどのように使用され、どのデータ構造を使用するのかわかりません。
たとえば、ドキュメントをロードするルーチンがあり、その後、孤立した構造に基づいてドキュメントを生成するマルコフ ルーチンがあるとします。ドキュメント生成ルーチンを変更/作成するにはどうすればよいですか?
public class MarkovGenerator {
DataStructure wordFreqMapByPos = new DataStructure();
public void train(String doc) {
for (word : doc) {
// Add word to the pos,
// Build a word frequency map AT THE POSITION IN THE DOCUMENT
wordFreqMapByPos.put(thePos, wordsAtThisPos)
}
}
public void generateDocument() {
?????
for (pos : wordFreqMapByPos) {
// Generate a word
// Do I need to weight? generate a word based on how often
// the word occurs at this position?
// How?
}
}
}