예제 #1
0
        public static Document Construct(this LightDocument document, IWordFactory factory)
        {
            var result = new Document(document.Text);

            result.Author       = document.Author;
            result.DocumentTime = document.DocumentTime;
            result.Id           = document.Id;
            document.Title      = document.Title;

            foreach (var sentence in document.Sentences)
            {
                var resultSentence = new SentenceItem(sentence.Text);
                result.Add(resultSentence);
                if (sentence.Words != null)
                {
                    for (var i = 0; i < sentence.Words.Length; i++)
                    {
                        var word     = sentence.Words[i];
                        var wordItem = factory.CreateWord(word.Text, word.Tag);
                        wordItem.WordIndex = i;
                        WordEx wordData = WordExFactory.Construct(wordItem);
                        wordData.Phrase = word.Phrase;
                        resultSentence.Add(wordData);
                    }
                }
            }

            return(result);
        }
예제 #2
0
 public ParsedReviewManager(IContextWordsHandler manager, IWordFactory wordsFactory, INRCDictionary nrcDictionary, Document document)
 {
     this.manager       = manager ?? throw new ArgumentNullException(nameof(manager));
     this.document      = document ?? throw new ArgumentNullException(nameof(document));
     this.nrcDictionary = nrcDictionary ?? throw new ArgumentNullException(nameof(nrcDictionary));
     this.wordsFactory  = wordsFactory ?? throw new ArgumentNullException(nameof(wordsFactory));
 }
예제 #3
0
 public TableFactory(
     IWordFactory wordFactory,
     IElementDescriptionFactory descFactory)
 {
     _wordFactory = wordFactory;
     _descFactory = descFactory;
 }
 public DocumentConverter(IMessageCleanup cleanup, ITextSplitter splitter, IWordFactory wordFactory, IContextSentenceRepairHandler sentenceRepair)
 {
     this.cleanup        = cleanup ?? throw new ArgumentNullException(nameof(cleanup));
     this.splitter       = splitter ?? throw new ArgumentNullException(nameof(splitter));
     this.wordFactory    = wordFactory ?? throw new ArgumentNullException(nameof(wordFactory));
     this.sentenceRepair = sentenceRepair ?? throw new ArgumentNullException(nameof(sentenceRepair));
 }
예제 #5
0
 public ParsingDocumentHolder(ITextSplitter splitter,
                              IWordFactory factory,
                              IContextSentenceRepairHandler repairHandler,
                              Document doc)
 {
     this.splitter      = splitter ?? throw new ArgumentNullException(nameof(splitter));
     original           = doc ?? throw new ArgumentNullException(nameof(doc));
     this.repairHandler = repairHandler ?? throw new ArgumentNullException(nameof(repairHandler));
     this.factory       = factory ?? throw new ArgumentNullException(nameof(factory));
 }
예제 #6
0
 public WordDocumentRepository(
     IWordKiller wordKiller,
     IExternalHyperLinkFactory externalHyperLinkFactory,
     IWordFactory wordFactory,
     ITableFactory tableFactory,
     IShapeFactory shapeFactory,
     IListFactory listFactory,
     ISectionsFactory sectionsFactory)
 {
     _wordKiller = wordKiller;
     _externalHyperLinkFactory = externalHyperLinkFactory;
     _wordFactory     = wordFactory;
     _tableFactory    = tableFactory;
     _listFactory     = listFactory;
     _sectionsFactory = sectionsFactory;
     _shapeFactory    = shapeFactory;
 }
예제 #7
0
        public static Document Construct(this LightDocument document, IWordFactory factory)
        {
            var result = new Document(document.Text);

            result.Author       = document.Author;
            result.DocumentTime = document.DocumentTime;
            result.Id           = document.Id;
            document.Title      = document.Title;

            foreach (var sentence in document.Sentences)
            {
                var resultSentence = new SentenceItem(sentence.Text);
                result.Add(resultSentence, false);
                if (sentence.Words != null)
                {
                    for (var i = 0; i < sentence.Words.Length; i++)
                    {
                        var word     = sentence.Words[i];
                        var wordItem = factory.CreateWord(word.Text, word.Tag);
                        wordItem.WordIndex = i;
                        WordEx wordData = WordExFactory.Construct(wordItem);
                        wordData.Phrase = word.Phrase;
                        if (!string.IsNullOrEmpty(word.Entity))
                        {
                            if (entityCache.TryGetValue(word.Entity, out var entity))
                            {
                                wordData.EntityType = entity;
                            }
                            else
                            {
                                wordData.CustomEntity = word.Entity;
                            }
                        }
                        else
                        {
                            wordData.EntityType = NamedEntities.None;
                        }

                        resultSentence.Add(wordData);
                    }
                }
            }

            return(result);
        }
예제 #8
0
        public ParsingDocumentHolder(ITextSplitter splitter,
                                     IWordFactory factory,
                                     IContextSentenceRepairHandler repairHandler,
                                     SingleProcessingData doc)
        {
            if (doc is null)
            {
                throw new ArgumentNullException(nameof(doc));
            }

            this.splitter         = splitter ?? throw new ArgumentNullException(nameof(splitter));
            this.factory          = factory ?? throw new ArgumentNullException(nameof(factory));
            this.repairHandler    = repairHandler ?? throw new ArgumentNullException(nameof(repairHandler));
            original              = new Document(doc.Text);
            original.DocumentTime = doc.Date;
            original.Stars        = doc.Stars;
            original.Author       = doc.Author;
            original.Id           = doc.Id;
        }
예제 #9
0
 public AspectSerializer(IWordFactory handler)
 {
     wordFactory = handler ?? throw new ArgumentNullException(nameof(handler));
 }
예제 #10
0
 public PhraseContructor(IWordFactory handler)
 {
     this.handler = handler ?? throw new ArgumentNullException(nameof(handler));
 }
 public ElementDescriptionFactory(IWordFactory wordFactory)
 {
     _wordFactory = wordFactory;
 }
예제 #12
0
 public StringDivider(IWordFactory wordFactory, WordSplitter wordSplitter)
 {
     this.wordFactory  = wordFactory;
     this.wordSplitter = wordSplitter;
 }