Exemplo n.º 1
0
 public static Tree NormalizeTree(Tree tree, TreeNormalizer tn, ITreeFactory tf)
 {
     foreach (Tree node in tree)
     {
         if (node.IsLeaf())
         {
             node.Label().SetValue(tn.NormalizeTerminal(node.Label().Value()));
         }
         else
         {
             node.Label().SetValue(tn.NormalizeNonterminal(node.Label().Value()));
         }
     }
     return(tn.NormalizeWholeTree(tree, tf));
 }
        /// <summary>Read parse trees from a Reader.</summary>
        /// <param name="in">Reader</param>
        /// <param name="tf">TreeFactory -- factory to create some kind of Tree</param>
        /// <param name="tn">the method of normalizing trees</param>
        /// <param name="st">Tokenizer that divides up Reader</param>
        public PennTreeReader(Reader @in, ITreeFactory tf, TreeNormalizer tn, ITokenizer <string> st)
        {
            // misuse a list as a stack, since we want to avoid the synchronized and old Stack, but don't need the power and JDK 1.6 dependency of a Deque
            reader         = @in;
            treeFactory    = tf;
            treeNormalizer = tn;
            tokenizer      = st;
            // check for whacked out headers still present in Brown corpus in Treebank 3
            string first = (st.MoveNext() ? st.Peek() : null);

            if (first != null && first.StartsWith("*x*x*x"))
            {
                int foundCount = 0;
                while (foundCount < 4 && st.MoveNext())
                {
                    first = st.Current;
                    if (first != null && first.StartsWith("*x*x*x"))
                    {
                        foundCount++;
                    }
                }
            }
        }
 public LabeledScoredTreeReaderFactory(ILabelFactory lf, TreeNormalizer tm)
 {
     this.lf = lf;
     this.tm = tm;
 }
 public LabeledScoredTreeReaderFactory(TreeNormalizer tm)
 {
     lf      = CoreLabel.Factory();
     this.tm = tm;
 }
 public LabeledScoredTreeReaderFactory(ILabelFactory lf)
 {
     this.lf = lf;
     tm      = new BobChrisTreeNormalizer();
 }
 /// <summary>Create a new TreeReaderFactory with CoreLabel labels.</summary>
 public LabeledScoredTreeReaderFactory()
 {
     lf = CoreLabel.Factory();
     tm = new BobChrisTreeNormalizer();
 }
Exemplo n.º 7
0
 /// <summary>
 /// Adds the given tree normalizer to this combination; the tree normalizers
 /// are applied in the order they were added, with the first to be added being
 /// the first to be applied.
 /// </summary>
 public virtual void AddTreeNormalizer(TreeNormalizer tn)
 {
     this.tns.Add(tn);
 }
 /// <summary>Read parse trees from a Reader.</summary>
 /// <param name="in">Reader</param>
 /// <param name="tf">TreeFactory -- factory to create some kind of Tree</param>
 /// <param name="tn">the method of normalizing trees</param>
 public PennTreeReader(Reader @in, ITreeFactory tf, TreeNormalizer tn)
     : this(@in, tf, tn, new PennTreebankTokenizer(@in))
 {
 }
Exemplo n.º 9
0
 /// <summary>Create a new tree bank, using a specific TreeNormalizer.</summary>
 /// <remarks>
 /// Create a new tree bank, using a specific TreeNormalizer.
 /// The trees are made with a <code>LabeledScoredTreeReaderFactory</code>.
 /// <p/>
 /// <i>Compatibility note: Until Sep 2004, this used to create a Treebank
 /// with a SimpleTreeReaderFactory, but this was changed as the old
 /// default wasn't very useful, especially to naive users.</i>
 /// </remarks>
 public MemoryTreebank(TreeNormalizer tm)
     : this(new LabeledScoredTreeReaderFactory(tm))
 {
 }
 /// <summary>
 /// Specify your own
 /// <see cref="ITreeFactory"/>
 /// ;
 /// uses a
 /// <see cref="PennTreebankTokenizer"/>
 /// , and a
 /// <see cref="TreeNormalizer"/>
 /// .
 /// </summary>
 /// <param name="tf">The TreeFactory to use in building Tree objects to return.</param>
 /// <param name="tn">The TreeNormalizer to use</param>
 public PennTreeReaderFactory(ITreeFactory tf, TreeNormalizer tn)
 {
     this.tf = tf;
     this.tn = tn;
 }
 /// <summary>
 /// Specify your own
 /// <see cref="TreeNormalizer"/>
 /// ;
 /// uses a
 /// <see cref="PennTreebankTokenizer"/>
 /// , and a
 /// <see cref="LabeledScoredTreeFactory"/>
 /// .
 /// </summary>
 /// <param name="tn">The TreeNormalizer to use in building Tree objects to return.</param>
 public PennTreeReaderFactory(TreeNormalizer tn)
     : this(new LabeledScoredTreeFactory(), tn)
 {
 }