Exemple #1
0
 /// <summary>
 /// Create an event reader based on the specified data reader of the specified type using the specified head rules.
 /// </summary>
 /// <param name="dataReader">
 /// A 1-parse-per-line Penn Treebank Style parse.
 /// </param>
 /// <param name="rules">
 /// The head rules.
 /// </param>
 /// <param name="eventType">
 /// The type of events desired (tag, chunk, build, or check).
 /// </param>
 public ParserEventReader(SharpEntropy.ITrainingDataReader <string> dataReader, IHeadRules rules, EventType eventType)
 {
     if (eventType == EventType.Build)
     {
         mBuildContextGenerator = new BuildContextGenerator();
     }
     else if (eventType == EventType.Check)
     {
         mCheckContextGenerator = new CheckContextGenerator();
     }
     else if (eventType == EventType.Chunk)
     {
         mChunkContextGenerator = new ChunkContextGenerator();
     }
     else if (eventType == EventType.Tag)
     {
         mPosContextGenerator = new PosTagger.DefaultPosContextGenerator();
     }
     mHeadRules  = rules;
     mEventType  = eventType;
     mDataReader = dataReader;
     mEventIndex = 0;
     if (dataReader.HasNext())
     {
         AddNewEvents();
     }
     else
     {
         mEvents = new SharpEntropy.TrainingEvent[0];
     }
 }
        /// <summary>
        /// Creates a new event reader based on the specified data reader using the specified context generator.
        /// </summary>
        /// <param name="dataReader">
        /// The data reader for this event reader.
        /// </param>
        /// <param name="contextGenerator">
        /// The context generator which should be used in the creation of events for this event stream.
        /// </param>
        public NameFinderEventReader(SharpEntropy.ITrainingDataReader <string> dataReader, INameContextGenerator contextGenerator)
        {
            mDataReader       = dataReader;
            mContextGenerator = contextGenerator;
            mEventIndex       = 0;
            mPreviousTags     = new Dictionary <string, string>();

            //prime events with first line of data stream.
            if (mDataReader.HasNext())
            {
                mLine = mDataReader.NextToken();
                if (mLine.Length == 0)
                {
                    mPreviousTags.Clear();
                }
                else
                {
                    AddEvents(mLine);
                }
            }
            else
            {
                mEvents = new SharpEntropy.TrainingEvent[0];
            }
        }
		/// <summary>
		/// Creates a new event reader based on the specified data reader using the specified context generator.
		/// </summary>
		/// <param name="dataReader">
		/// The data reader for this event reader.
		/// </param>
		/// <param name="contextGenerator">
		/// The context generator which should be used in the creation of events for this event stream.
		/// </param>
		public NameFinderEventReader(SharpEntropy.ITrainingDataReader<string> dataReader, INameContextGenerator contextGenerator)
		{
			mDataReader = dataReader;
			mContextGenerator = contextGenerator;
			mEventIndex = 0;
            mPreviousTags = new Dictionary<string, string>();

			//prime events with first line of data stream.
			if (mDataReader.HasNext())
			{
				mLine = mDataReader.NextToken();
				if (mLine.Length == 0)
				{
					mPreviousTags.Clear();
				}
				else
				{
					AddEvents(mLine);
				}
			}
			else
			{
				mEvents = new SharpEntropy.TrainingEvent[0];
			}
		}
		/// <summary>
		/// Creates a new event reader based on the specified data reader using the specified context generator.
		/// </summary>
		/// <param name="dataReader">
		/// The data reader for this event reader.
		/// </param>
		/// <param name="contextGenerator">
		/// The context generator which should be used in the creation of events for this event reader.
		/// </param>
        public ChunkerEventReader(SharpEntropy.ITrainingDataReader<string> dataReader, IChunkerContextGenerator contextGenerator)
		{
			mContextGenerator = contextGenerator;
			mDataReader = dataReader;
			mEventIndex = 0;
			if (dataReader.HasNext())
			{
				AddNewEvents();
			}
			else
			{
				mEvents = new SharpEntropy.TrainingEvent[0];
			}
		}
Exemple #5
0
 /// <summary>
 /// Creates a new event reader based on the specified data reader using the specified context generator.
 /// </summary>
 /// <param name="dataReader">
 /// The data reader for this event reader.
 /// </param>
 /// <param name="contextGenerator">
 /// The context generator which should be used in the creation of events for this event reader.
 /// </param>
 public ChunkerEventReader(SharpEntropy.ITrainingDataReader <string> dataReader, IChunkerContextGenerator contextGenerator)
 {
     mContextGenerator = contextGenerator;
     mDataReader       = dataReader;
     mEventIndex       = 0;
     if (dataReader.HasNext())
     {
         AddNewEvents();
     }
     else
     {
         mEvents = new SharpEntropy.TrainingEvent[0];
     }
 }
 public SentenceDetectionEventReader(SharpEntropy.ITrainingDataReader <string> dataReader, IEndOfSentenceScanner scanner, SharpEntropy.IContextGenerator <Util.Pair <System.Text.StringBuilder, int> > contextGenerator)
 {
     mDataReader       = dataReader;
     mScanner          = scanner;
     mContextGenerator = contextGenerator;
     if (mDataReader.HasNext())
     {
         string current = mDataReader.NextToken();
         if (mDataReader.HasNext())
         {
             mNext = mDataReader.NextToken();
         }
         AddNewEvents(current);
     }
 }
 /// <summary>
 /// Class constructor which uses the EndOfSentenceScanner to locate
 /// sentence endings.
 /// </summary>
 public SentenceDetectionEventReader(SharpEntropy.ITrainingDataReader <string> dataReader, IEndOfSentenceScanner scanner) : this(dataReader, scanner, new SentenceDetectionContextGenerator(DefaultEndOfSentenceScanner.GetEndOfSentenceCharacters()))
 {
 }
Exemple #8
0
 /// <summary>
 /// Creates a new event reader based on the specified data reader.
 /// </summary>
 /// <param name="dataReader">
 /// The data reader for this event reader.
 /// </param>
 public ChunkerEventReader(SharpEntropy.ITrainingDataReader <string> dataReader)
     : this(dataReader, new DefaultChunkerContextGenerator())
 {
 }
 /// <summary>
 /// Create an event reader based on the specified data reader of the specified type using the specified head rules.
 /// </summary>
 /// <param name="dataReader">
 /// A 1-parse-per-line Penn Treebank Style parse. 
 /// </param>
 /// <param name="rules">
 /// The head rules.
 /// </param>
 /// <param name="eventType">
 /// The type of events desired (tag, chunk, build, or check).
 /// </param>
 public ParserEventReader(SharpEntropy.ITrainingDataReader<string> dataReader, IHeadRules rules, EventType eventType)
 {
     if (eventType == EventType.Build)
     {
         mBuildContextGenerator = new BuildContextGenerator();
     }
     else if (eventType == EventType.Check)
     {
         mCheckContextGenerator = new CheckContextGenerator();
     }
     else if (eventType == EventType.Chunk)
     {
         mChunkContextGenerator = new ChunkContextGenerator();
     }
     else if (eventType == EventType.Tag)
     {
         mPosContextGenerator = new PosTagger.DefaultPosContextGenerator();
     }
     mHeadRules = rules;
     mEventType = eventType;
     mDataReader = dataReader;
     mEventIndex = 0;
     if (dataReader.HasNext())
     {
         AddNewEvents();
     }
     else
     {
         mEvents = new SharpEntropy.TrainingEvent[0];
     }
 }
 public SentenceDetectionEventReader(SharpEntropy.ITrainingDataReader<string> dataReader, IEndOfSentenceScanner scanner, SharpEntropy.IContextGenerator<Util.Pair<System.Text.StringBuilder, int>> contextGenerator)
 {
     mDataReader = dataReader;
     mScanner = scanner;
     mContextGenerator = contextGenerator;
     if (mDataReader.HasNext())
     {
         string current = mDataReader.NextToken();
         if (mDataReader.HasNext())
         {
             mNext = mDataReader.NextToken();
         }
         AddNewEvents(current);
     }
 }
 /// <summary>
 /// Creates a new event reader based on the specified data reader.
 /// </summary>
 /// <param name="dataReader">
 /// The data stream for this event reader.
 /// </param>
 public NameFinderEventReader(SharpEntropy.ITrainingDataReader <string> dataReader) : this(dataReader, new DefaultNameContextGenerator())
 {
 }