Exemple #1
0
        public void Load(string Path)
        {
            var reader      = XElement.Load(Path);
            var tokensquery = from c in reader.Elements("tokens").Elements("token")
                              select c;
            var tokens = new List <RSTWord>();

            foreach (var item in tokensquery)
            {
                var tk = new RSTWord();
                tk.id         = int.Parse(item.Attribute("id").Value);
                tk.Text       = item.Attribute("word").Value;
                tk.eduid      = int.Parse(item.Attribute("eduidx").Value);
                tk.sentenceid = int.Parse(item.Attribute("sidx").Value);
                tokens.Add(tk);
            }
            var query = from c in reader.Elements("rsttree").Elements("node")
                        select c;
            var treebankstr = (from c in reader.Elements("rstview") select c).First().Value;
            var input       = new java.io.StringReader(treebankstr);
            var treeReader  = new edu.stanford.nlp.trees.PennTreeReader(input);

            this.Root = new RSTNode();
            Root.Load(treeReader.readTree(), tokens);
        }
Exemple #2
0
        public RSTDocument ReadDocumentContent(string str, string name)
        {
            RSTDocument result = new RSTDocument();

            result.name = name;

            var documentxml = XElement.Parse(str);
            var tokensquery = from c in documentxml.Elements("tokens").Elements("token")
                              select c;

            foreach (var token in tokensquery)
            {
                var tk = new Common.Token();
                tk.name     = int.Parse(token.Attribute("id").Value);
                tk.word     = token.Attribute("word").Value;
                tk.lemma    = token.Attribute("lemma").Value;
                tk.eduid    = int.Parse(token.Attribute("eduidx").Value);
                tk.sentence = int.Parse(token.Attribute("sidx").Value) + 1; //here from 0 stanford from 1
                result.Tokens.Add(tk);
            }


            var treebankstr = (from c in documentxml.Elements("rstview") select c).First().Value;
            var input       = new java.io.StringReader(treebankstr);
            var treeReader  = new edu.stanford.nlp.trees.PennTreeReader(input);

            result.root = new RSTNode();
            result.root.Load(treeReader.readTree(), result.Tokens);

            return(result);
        }