Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);
        }