/// <summary>Go through trees and determine their heads and print them.</summary>
        /// <remarks>
        /// Go through trees and determine their heads and print them.
        /// Just for debuggin'. <br />
        /// Usage: <code>
        /// java edu.stanford.nlp.trees.CollinsHeadFinder treebankFilePath
        /// </code>
        /// </remarks>
        /// <param name="args">The treebankFilePath</param>
        public static void Main(string[] args)
        {
            Treebank treebank = new DiskTreebank();

            CategoryWordTag.suppressTerminalDetails = true;
            treebank.LoadPath(args[0]);
            IHeadFinder chf = new Edu.Stanford.Nlp.Trees.CollinsHeadFinder();

            treebank.Apply(null);
        }
Пример #2
0
        /// <summary>Loads treebank grammar from first argument and prints it.</summary>
        /// <remarks>
        /// Loads treebank grammar from first argument and prints it.
        /// Just a demonstration of functionality. <br />
        /// <code>usage: java MemoryTreebank treebankFilesPath</code>
        /// </remarks>
        /// <param name="args">array of command-line arguments</param>
        public static void Main(string[] args)
        {
            Timing.StartTime();
            Treebank treebank  = new DiskTreebank(null);
            Treebank treebank2 = new MemoryTreebank(null);

            treebank.LoadPath(args[0]);
            treebank2.LoadPath(args[0]);
            CompositeTreebank c = new CompositeTreebank(treebank, treebank2);

            Timing.EndTime();
            ITreeTransformer myTransformer  = new TransformingTreebank.MyTreeTransformer();
            ITreeTransformer myTransformer2 = new TransformingTreebank.MyTreeTransformer2();
            ITreeTransformer myTransformer3 = new TransformingTreebank.MyTreeTransformer3();
            Treebank         tf1            = c.Transform(myTransformer).Transform(myTransformer2).Transform(myTransformer3);
            Treebank         tf2            = new Edu.Stanford.Nlp.Trees.TransformingTreebank(new Edu.Stanford.Nlp.Trees.TransformingTreebank(new Edu.Stanford.Nlp.Trees.TransformingTreebank(c, myTransformer), myTransformer2), myTransformer3);

            ITreeTransformer[] tta = new ITreeTransformer[] { myTransformer, myTransformer2, myTransformer3 };
            ITreeTransformer   tt3 = new CompositeTreeTransformer(Arrays.AsList(tta));
            Treebank           tf3 = c.Transform(tt3);

            System.Console.Out.WriteLine("-------------------------");
            System.Console.Out.WriteLine("COMPOSITE (DISK THEN MEMORY REPEATED VERSION OF) INPUT TREEBANK");
            System.Console.Out.WriteLine(c);
            System.Console.Out.WriteLine("-------------------------");
            System.Console.Out.WriteLine("SLOWLY TRANSFORMED TREEBANK, USING TransformingTreebank() CONSTRUCTOR");
            Treebank tx1 = new Edu.Stanford.Nlp.Trees.TransformingTreebank(c, myTransformer);

            System.Console.Out.WriteLine(tx1);
            System.Console.Out.WriteLine("-----");
            Treebank tx2 = new Edu.Stanford.Nlp.Trees.TransformingTreebank(tx1, myTransformer2);

            System.Console.Out.WriteLine(tx2);
            System.Console.Out.WriteLine("-----");
            Treebank tx3 = new Edu.Stanford.Nlp.Trees.TransformingTreebank(tx2, myTransformer3);

            System.Console.Out.WriteLine(tx3);
            System.Console.Out.WriteLine("-------------------------");
            System.Console.Out.WriteLine("TRANSFORMED TREEBANK, USING Treebank.transform()");
            System.Console.Out.WriteLine(tf1);
            System.Console.Out.WriteLine("-------------------------");
            System.Console.Out.WriteLine("PRINTING AGAIN TRANSFORMED TREEBANK, USING Treebank.transform()");
            System.Console.Out.WriteLine(tf1);
            System.Console.Out.WriteLine("-------------------------");
            System.Console.Out.WriteLine("TRANSFORMED TREEBANK, USING TransformingTreebank() CONSTRUCTOR");
            System.Console.Out.WriteLine(tf2);
            System.Console.Out.WriteLine("-------------------------");
            System.Console.Out.WriteLine("TRANSFORMED TREEBANK, USING CompositeTreeTransformer");
            System.Console.Out.WriteLine(tf3);
            System.Console.Out.WriteLine("-------------------------");
            System.Console.Out.WriteLine("COMPOSITE (DISK THEN MEMORY REPEATED VERSION OF) INPUT TREEBANK");
            System.Console.Out.WriteLine(c);
            System.Console.Out.WriteLine("-------------------------");
        }
Пример #3
0
        /// <summary>Reads, stems, and prints the trees in the file.</summary>
        /// <param name="args">Usage: WordStemmer file</param>
        public static void Main(string[] args)
        {
            Treebank treebank = new DiskTreebank();

            treebank.LoadPath(args[0]);
            Edu.Stanford.Nlp.Trees.WordStemmer ls = new Edu.Stanford.Nlp.Trees.WordStemmer();
            foreach (Tree tree in treebank)
            {
                ls.VisitTree(tree);
                System.Console.Out.WriteLine(tree);
            }
        }
Пример #4
0
        public static void Main(string[] args)
        {
            // Args specified with -tagSeparator, -encoding, etc are assigned
            // to the appropriate option.  Otherwise, the first arg found is
            // the sentence to look for, and all other args are paths in which
            // to look for that sentence.
            string         needle       = string.Empty;
            string         tagSeparator = "_";
            string         encoding     = "utf-8";
            string         fileRegex    = string.Empty;
            IList <string> paths        = new List <string>();

            for (int i = 0; i < args.Length; ++i)
            {
                if ((Sharpen.Runtime.EqualsIgnoreCase(args[i], "-tagSeparator") || Sharpen.Runtime.EqualsIgnoreCase(args[i], "--tagSeparator")) && i + 1 < args.Length)
                {
                    tagSeparator = args[i + 1];
                    ++i;
                }
                else
                {
                    if ((Sharpen.Runtime.EqualsIgnoreCase(args[i], "-encoding") || Sharpen.Runtime.EqualsIgnoreCase(args[i], "--encoding")) && i + 1 < args.Length)
                    {
                        encoding = args[i + 1];
                        ++i;
                    }
                    else
                    {
                        if ((Sharpen.Runtime.EqualsIgnoreCase(args[i], "-fileRegex") || Sharpen.Runtime.EqualsIgnoreCase(args[i], "--fileRegex")) && i + 1 < args.Length)
                        {
                            fileRegex = args[i + 1];
                            ++i;
                        }
                        else
                        {
                            if (needle.Equals(string.Empty))
                            {
                                needle = args[i].Trim();
                            }
                            else
                            {
                                paths.Add(args[i]);
                            }
                        }
                    }
                }
            }
            ITreeReaderFactory trf = new LabeledScoredTreeReaderFactory();
            // If the user specified a regex, here we make a filter using that
            // regex.  We just use an anonymous class for the filter
            IFileFilter filter = null;

            if (!fileRegex.Equals(string.Empty))
            {
                Pattern filePattern = Pattern.Compile(fileRegex);
                filter = null;
            }
            foreach (string path in paths)
            {
                // Start a new treebank with the given path, encoding, filter, etc
                DiskTreebank treebank = new DiskTreebank(trf, encoding);
                treebank.LoadPath(path, filter);
                IEnumerator <Tree> treeIterator = treebank.GetEnumerator();
                int    treeCount   = 0;
                string currentFile = string.Empty;
                while (treeIterator.MoveNext())
                {
                    // the treebank might be a directory, not a single file, so
                    // keep track of which file we are currently looking at
                    if (!currentFile.Equals(treebank.GetCurrentFilename()))
                    {
                        currentFile = treebank.GetCurrentFilename();
                        treeCount   = 0;
                    }
                    ++treeCount;
                    Tree tree = treeIterator.Current;
                    IList <TaggedWord> sentence = tree.TaggedYield();
                    bool found = false;
                    // The tree can match in one of three ways: tagged, untagged,
                    // or untagged and unsegmented (which is useful for Chinese,
                    // for example)
                    string haystack = SentenceUtils.ListToString(sentence, true);
                    found    = needle.Equals(haystack);
                    haystack = haystack.ReplaceAll(" ", string.Empty);
                    found    = found || needle.Equals(haystack);
                    haystack = SentenceUtils.ListToString(sentence, false, tagSeparator);
                    found    = found || needle.Equals(haystack);
                    if (found)
                    {
                        System.Console.Out.WriteLine("needle found in " + currentFile + " tree " + treeCount);
                    }
                }
            }
        }