public SymbolCorpus textToSymbol(Corpus text) { SymbolCorpus symbols = new SymbolCorpus(); symbols.dialogues = new SymbolDialogue[text.dialogues.Length]; for (int i = 0; i < symbols.dialogues.Length; i++) { symbols.dialogues[i] = textToSymbol(text.dialogues[i]); } return(symbols); }
public Corpus symbolToText(SymbolCorpus symbols) { Corpus text = new Corpus(); text.dialogues = new Corpus.Dialogue[symbols.dialogues.Length]; for (int i = 0; i < text.dialogues.Length; i++) { text.dialogues[i] = symbolToText(symbols.dialogues[i]); } return(text); }
private static void LoadCorpus() { corpus.Clear();; //Load all files in current directory with specified termination string[] corpusFiles = Directory.GetFiles(Directory.GetCurrentDirectory(), "*.txt"); //Go over all chatbotFiles for (int i = 0; i < corpusFiles.Length; i++) { //Load each corpus //TODO Robustness, txt's are frequent Corpus loadedCorpus = Corpus.loadCorpus(corpusFiles[i]); //add corpus to list corpus.Add(loadedCorpus); } }
public static Corpus loadCorpus(string file) { string[] lines = System.IO.File.ReadAllLines(file); List <byte> info = new List <byte>(); List <Dialogue> dialogues = new List <Dialogue>(); List <string> currentDialogue = new List <string>(); //weak parser Dialogue dialogueToAdd; for (int i = 1; i < lines.Length; i++) { if (lines[i] == "") { //Conversation over dialogueToAdd = new Dialogue(); dialogueToAdd.entrances = currentDialogue.ToArray(); dialogues.Add(dialogueToAdd); currentDialogue.Clear(); i++; //skip "Conversation" continue; } else { currentDialogue.Add(lines[i]); } } if (currentDialogue.Count != 0) { dialogueToAdd = new Dialogue(); dialogueToAdd.entrances = currentDialogue.ToArray(); dialogues.Add(dialogueToAdd); } Console.WriteLine("Conversations Loaded: " + dialogues.Count); Corpus loaded = new Corpus(); loaded.dialogues = dialogues.ToArray(); loaded.name = Path.GetFileName(file); return(loaded); }