상속: EntityBase
예제 #1
0
        private List <Token> getNamedEntities(ICollection <Token> tokens)
        {
            NamedEntity prevNamedEntity = null;
            string      tempToken       = string.Empty;
            string      prevPos         = string.Empty;
            var         returnValue     = new List <Token>();

            foreach (var token in tokens)
            {
                if (prevNamedEntity == null || token.NamedEntity.Name != prevNamedEntity.Name)
                {
                    if (!string.IsNullOrWhiteSpace(tempToken))
                    {
                        returnValue.Add(new Token(tempToken.Trim(), null, prevNamedEntity));
                        tempToken = string.Empty;
                    }
                }
                prevPos         = token.PartOfSpeechTag.Name;
                prevNamedEntity = token.NamedEntity;

                if (token.NamedEntity.Name != "O")
                {
                    tempToken += string.Format(" {0}", token.Value);
                }
            }

            if (!string.IsNullOrWhiteSpace(tempToken))
            {
                returnValue.Add(new Token(tempToken.Trim(), new PartOfSpeechTag(prevPos, string.Empty), prevNamedEntity));
            }

            return(returnValue);
        }
예제 #2
0
        private DocumentDTO AssembleFrom(NamedEntity document)
        {
            DocumentDTO dto = new DocumentDTO();

            dto.Description = document.Id.ToString() + " - " + document.Name;
            return(dto);
        }
예제 #3
0
        public void TestEntitiesKnowWhatComponentsTheyContain()
        {
            var entity        = new Entity();
            var nameComponent = new NamedEntity("Test Entity");

            entity.AddComponent(nameComponent);

            Assert.IsTrue(entity.HasComponent(ComponentTypes.Name));
        }
예제 #4
0
        public void TestComponentsCanBeFoundByType()
        {
            var entity        = new Entity();
            var nameComponent = new NamedEntity("Test Entity");

            entity.AddComponent(nameComponent);

            var foundComponent = entity.FindComponentByType(ComponentTypes.Name);

            Assert.AreSame(nameComponent, foundComponent);
        }
예제 #5
0
        /// <summary>
        /// Appends the identifier of a named entity.
        /// </summary>
        /// <param name="namedEntity">the named entity</param>
        /// <returns>this writer</returns>
        public virtual VhdlWriter AppendIdentifier(NamedEntity namedEntity)
        {
            if (namedEntity != null)
            {
                Append(namedEntity.Identifier);
            }
            else
            {
                Append(NULL);
            }

            return(this);
        }
예제 #6
0
        protected override void Initialize()
        {
            // TODO: Add your initialization logic here
            _graphics.PreferredBackBufferWidth  = screenWidth;
            _graphics.PreferredBackBufferHeight = screenHeight;
            _graphics.ApplyChanges();
            gameSceneManager = new GameSceneManager(this);
            mob = new NamedEntity();

            foreach (GameComponent component in Components)
            {
                ToggleComponentState(component, false);
            }

            base.Initialize();
        }
예제 #7
0
        public static User CreateComplexUser()
        {
            User ceo = new User();

            ceo.Id        = 102;
            ceo.Age       = 50;
            ceo.FirstName = "Mega";
            ceo.LastName  = "Boss";
            ceo.UserName  = "******";

            User boss = new User();

            boss.Id        = 101;
            boss.Age       = 40;
            boss.FirstName = "X";
            boss.LastName  = "Y";
            boss.UserName  = "******";
            boss.Boss      = ceo;

            User user = new User();

            user.Id        = 100;
            user.Age       = 33;
            user.FirstName = "Zdeslav";
            user.LastName  = "Vojkovic";
            user.UserName  = "******";
            user.Projects.Add(new Project("proj1"));
            user.Projects.Add(new Project("proj2"));
            user.Projects.Add(new Project("proj3"));

            user.Projects[0].Tasks.Add(new Task(2));
            user.Projects[0].Tasks.Add(new Task(4));
            user.Projects[1].Tasks.Add(new Task(1));
            user.Projects[1].Tasks.Add(new Task(4));
            user.Projects[1].Tasks.Add(new Task(6));

            NamedEntity[] docs = new NamedEntity[2];
            docs[0]        = new NamedEntity("doc1");
            docs[1]        = new NamedEntity("doc2");
            docs[0].Id     = 1000;
            docs[1].Id     = 1001;
            user.Documents = docs;

            user.Boss = boss;

            return(user);
        }
        private void CreateEntitiesFromFormData()
        {
            Complainant = new Complainant(
                (IsMissing(CompFirstName.Text) && IsMissing(CompLastName.Text)) ? "COMPLAINANT NAME" : (CompFirstName.Text.Trim() + " " + CompLastName.Text.Trim()),
                new Address(
                    IsMissing(CompAddLine1.Text) ? "COMPLAINANT ADDRESS LINE 1" : CompAddLine1.Text,
                    IsMissing(CompAddLine2.Text) ? "COMPLAINANT ADDRESS LINE 2" : CompAddLine2.Text
                    ),
                DateOfHirePicker.Value,
                DateOfTerminationPicker.Value,
                IsMissing(CompEmail.Text) ? "COMPLAINANT EMAIL" : CompEmail.Text,
                IsMissing(CompPhone.Text) ? "COMPLAINANT PHONE" : CompPhone.Text
                );
            Complainant.HasDefaultValues = IsMissing(CompFirstName.Text) ? true : false;

            RespondentCompanyOne = new NamedEntityWithAddress(
                IsMissing(RespComp1Name.Text) ? "RESPONDENT COMPANY 1" : RespComp1Name.Text,
                new Address(
                    IsMissing(RespComp1AddLine1.Text) ? "RESPONDENT 1 ADDRESS LINE 1" : RespComp1AddLine1.Text,
                    IsMissing(RespComp1AddLine2.Text) ? "RESPONDENT 1 ADDRESS LINE 2" : RespComp1AddLine2.Text
                    )
                );
            RespondentCompanyOne.HasDefaultValues = IsMissing(RespComp1Name.Text) ? true : false;

            RespondentCompanyTwo = new NamedEntityWithAddress(
                IsMissing(RespComp2Name.Text) ? "RESPONDENT COMPANY 2" : RespComp2Name.Text,
                new Address(
                    IsMissing(RespComp2AddLine1.Text) ? "RESPONDENT 2 ADDRESS LINE 1" : RespComp2AddLine1.Text,
                    IsMissing(RespComp2AddLine2.Text) ? "RESPONDENT 2 ADDRESS LINE 2" : RespComp2AddLine2.Text
                    )
                );
            RespondentCompanyTwo.HasDefaultValues = IsMissing(RespComp2Name.Text) ? true : false;

            RespondentIndividualOne = new NamedEntity(IsMissing(RespInd1Name.Text) ? "RESPONDENT INDIVIDUAL 1" : RespInd1Name.Text);
            RespondentIndividualOne.HasDefaultValues = IsMissing(RespInd1Name.Text) ? true : false;

            RespondentIndividualTwo = new NamedEntity(IsMissing(RespInd2Name.Text) ? "RESPONDENT INDIVIDUAL 2" : RespInd2Name.Text);
            RespondentIndividualTwo.HasDefaultValues = IsMissing(RespInd2Name.Text) ? true : false;

            //NamedEntity[] AllRespondents = new NamedEntity[] { RespondentCompanyOne, RespondentCompanyTwo, RespondentIndividualOne, RespondentIndividualTwo };

            SigningAttorney = new NamedEntity(IsMissing(AttorneyName.Text) ? "SIGNING ATTORNEY" : AttorneyName.Text);

            OSHA = new OSHARegion(selectOSHA.Text);
        }
예제 #9
0
        public static User CreateComplexUser()
        {
            User ceo = new User();
            ceo.Id = 102;
            ceo.Age = 50;
            ceo.FirstName = "Mega";
            ceo.LastName = "Boss";
            ceo.UserName = "******";

            User boss = new User();
            boss.Id = 101;
            boss.Age = 40;
            boss.FirstName = "X";
            boss.LastName = "Y";
            boss.UserName = "******";
            boss.Boss = ceo;

            User user = new User();
            user.Id = 100;
            user.Age = 33;
            user.FirstName = "Zdeslav";
            user.LastName = "Vojkovic";
            user.UserName = "******";
            user.Projects.Add(new Project("proj1"));
            user.Projects.Add(new Project("proj2"));
            user.Projects.Add(new Project("proj3"));

            user.Projects[0].Tasks.Add(new Task(2));
            user.Projects[0].Tasks.Add(new Task(4));
            user.Projects[1].Tasks.Add(new Task(1));
            user.Projects[1].Tasks.Add(new Task(4));
            user.Projects[1].Tasks.Add(new Task(6));

            NamedEntity[] docs = new NamedEntity[2];
            docs[0] = new NamedEntity("doc1");
            docs[1] = new NamedEntity("doc2");
            docs[0].Id = 1000;
            docs[1].Id = 1001;
            user.Documents = docs;

            user.Boss = boss;

            return user;
        }
예제 #10
0
파일: RunNer.cs 프로젝트: tivvit/nametag
 private static int NamedEntitiesComparator(NamedEntity a, NamedEntity b)
 {
     if (a.start < b.start)
     {
         return(-1);
     }
     if (a.start > b.start)
     {
         return(1);
     }
     if (a.length > b.length)
     {
         return(-1);
     }
     if (a.length < b.length)
     {
         return(1);
     }
     return(0);
 }
예제 #11
0
        public void TestUniverseCanFindAllComponentsOfAType()
        {
            var firstName = new NamedEntity("First Name");

            Entity.AddComponent(firstName);

            var extraEntity = new Entity();
            var extraName   = new NamedEntity("Extra Name");

            extraEntity.AddComponent(extraName);
            Universe.AddEntity(extraEntity);

            var otherComponent = new Component();

            extraEntity.AddComponent(otherComponent);

            var foundComponents =
                Universe.FindAllComponentsOfType <NamedEntity>(ComponentTypes.Name);

            Assert.AreEqual(2, foundComponents.Count);
        }
예제 #12
0
        public void SortsByNameAcending()
        {
            var namedEntities = new NamedEntity[] {
                new NamedEntity {
                    Name = "A"
                },
                new NamedEntity {
                    Name = "D"
                },
                new NamedEntity {
                    Name = "C"
                },
                new NamedEntity {
                    Name = "B"
                },
            };

            var result = _cut.Sort(namedEntities);

            Assert.That(result, Is.Ordered.By("Name").Descending); // part of the commit that provokes a regression
            // Assert.That(result, Is.Ordered.By("Name").Ascending);
        }
예제 #13
0
        //Entity Recognition
        private List <NamedEntity> EntityRecognition(string textInput)
        {
            List <NamedEntity> entities = new List <NamedEntity>();
            var response = client.RecognizeEntities(textInput);

            Console.WriteLine("Named Entities:");
            foreach (var entity in response.Value)
            {
                NamedEntity namedEntity = new NamedEntity();
                Console.WriteLine($"\tText: {entity.Text},\tCategory: {entity.Category},\tSub-Category: {entity.SubCategory}");
                Console.WriteLine($"\t\tScore: {entity.ConfidenceScore:F2}\n");

                namedEntity.Id          = entity.Text;
                namedEntity.Text        = entity.Text;
                namedEntity.Category    = entity.Category.ToString();
                namedEntity.SubCategory = entity.SubCategory;
                namedEntity.Score       = entity.ConfidenceScore;


                entities.Add(namedEntity);
            }

            return(entities);
        }
예제 #14
0
 private DocumentDTO AssembleFrom(NamedEntity document)
 {
     DocumentDTO dto = new DocumentDTO();
     dto.Description = document.Id.ToString() + " - " + document.Name;
     return dto;
 }
예제 #15
0
        public override IAwaitable TestExecute(IServices services)
        {
            NamedEntity targetEntity = (NamedEntity)_entityName.Int32(services);

            return(ServiceId.Menu[services].ShowEnterNameDialog(targetEntity));
        }
예제 #16
0
 public static NamedEntityDTO MapToNamedEntityDTO(this NamedEntity source)
 {
     return(new NamedEntityDTO(source.Id, source.Name));
 }
예제 #17
0
            public override XmlSitemapNode CreateNode(UrlHelper urlHelper, string baseUrl, NamedEntity entity, UrlRecordCollection slugs, Language language)
            {
                var path = string.Empty;

                switch (entity.EntityName)
                {
                case nameof(ForumGroup):
                    path = urlHelper.RouteUrl("ForumGroupSlug", new { id = entity.Id, slug = slugs.GetSlug(language.Id, entity.Id, true) });
                    break;

                case nameof(Forum):
                    path = urlHelper.RouteUrl("ForumSlug", new { id = entity.Id, slug = slugs.GetSlug(language.Id, entity.Id, true) });
                    break;

                case nameof(ForumTopic):
                    path = urlHelper.RouteUrl("TopicSlug", new { id = entity.Id, slug = entity.Slug });
                    break;
                }

                if (path.HasValue())
                {
                    return(new XmlSitemapNode
                    {
                        LastMod = entity.LastMod,
                        Loc = baseUrl + path.TrimStart('/')
                    });
                }

                return(null);
            }
예제 #18
0
 public IAwaitable ShowEnterNameDialog(NamedEntity entity) => throw new NotSupportedException();
 public CraftableEntity( NamedEntity entity )
 {
     Entity = entity;
 }
예제 #20
0
 public UsingOrganization(int usageId, NamedEntity organization)
 {
     ItSystemUsageId = usageId;
     Organization    = organization;
 }
예제 #21
0
 public IAwaitable ShowEnterNameDialog(NamedEntity entity)
 {
     // TODO: Field script
     Console.WriteLine($"NotImplemented: {nameof(MenuService)}.{nameof(ShowEnterNameDialog)}({nameof(entity)}: {entity})");
     return(DummyAwaitable.Instance);
 }
예제 #22
0
        /// <summary>
        /// 为关系网图加入内容
        /// </summary>
        /// <param name="entityText"></param>
        private void feedRelEntitys(NamedEntity ne)
        {
            entyLabel.Text = ne.value;
            foreach (var relEntyLabel in relEntyLabelList)
            {
                relEntyLabel.Dispose();
            }
            //找10个出现频率最高的实体
            var sectionIds = DBHelper.db.Queryable <EntityMention>()
                             .Where(it => it.entityId == ne.id)
                             .Select(em => em.sectionId).ToList();
            var relEntyList = DBHelper.db.Queryable <EntityMention, Section>(
                (em, sec) => em.sectionId == sec.id)
                              .Where(em => sectionIds.Contains(em.sectionId) && em.entityId != ne.id)
                              .GroupBy(em => em.entityId)
                              .OrderBy(em => SqlFunc.AggregateCount(em.entityId), OrderByType.Desc)
                              .Select((em, sec) => new { entityMention = em, section = sec })
                              .Take(10).ToList();

            relEntyLabelList.Clear();
            relColorList.Clear();
            // 调整中心实体位置
            int entyX = (int)(0.5 * (relNetPanel.Width - entyLabel.Width));
            int entyY = (int)(0.5 * (relNetPanel.Height - entyLabel.Height));

            entyLabel.Location   = new Point(entyX, entyY);
            entyLabel.MouseMove += (sender, e) => { if (e.Button == MouseButtons.Left)
                                                    {
                                                        ((Label)sender).Location = relNetPanel.PointToClient(MousePosition);
                                                    }
            };
            // 关系实体排布一圈,远近不一
            var radiusRand     = new Random();
            var colorRand      = new Random();
            var baseRadius     = (int)(0.2 * relNetPanel.Height);
            var intervalRadian = 2 * Math.PI / relEntyList.Count;
            var radian         = 0.0;

            foreach (var emAndSec in relEntyList)
            {
                var relEnty     = emAndSec.entityMention.value;
                var relSentence = emAndSec.section.value;
                if (relSentence.Length > 400)
                {
                    relSentence  = relSentence.Substring(0, 100);
                    relSentence += "...";
                }
                relSentence = new Regex(@"(\S{20})").Replace(relSentence, "$1\n");
                var relEntyLabel = new Label();
                relEntyLabel.MouseMove += (sender, e) => { if (e.Button == MouseButtons.Left)
                                                           {
                                                               ((Label)sender).Location = relNetPanel.PointToClient(MousePosition);
                                                           }
                };
                relEntyLabel.Text      = relEnty;
                relEntyLabel.AutoSize  = true;
                relEntyLabel.BackColor = Color.WhiteSmoke;
                this.relSentenceTip.SetToolTip(relEntyLabel, ne.value + "--" + relEnty + "\n" + relSentence);
                int radius   = radiusRand.Next(0, baseRadius) + baseRadius;
                var relEntyX = (int)(entyX - radius * Math.Cos(radian));
                var relEntyY = (int)(entyY - radius * Math.Sin(radian));
                relEntyLabel.Location = new Point(relEntyX, relEntyY);
                this.relColorList.Add(colorRand.Next(0, 4));
                relNetPanel.Controls.Add(relEntyLabel);
                relEntyLabelList.Add(relEntyLabel);
                radian += intervalRadian;
            }
        }
예제 #23
0
 private static void ExecutiveFunctions_ContextRecognition(object sender, Galatea.AI.Abstract.ContextRecognitionEventArgs e)
 {
     _namedTemplate = e.NamedTemplate;
     _namedEntity   = e.NamedEntity;
 }
예제 #24
0
        /// <summary>
        /// 对section进行命名实体识别
        /// </summary>
        /// <param name="sectionIndex">section在新闻中的位置</param>
        /// <param name="tokens">section中词--词性pair的集合</param>
        private void splitEntity(int sectionIndex, string content)
        {
            string sentence   = "";
            int    entityFlag = -1;
            int    wordIndex  = -1;

            if (content.Equals("") || content.Equals(" "))
            {
                return;
            }
            addMargin();//段首添加缩进
            string[] tokens = content.Split(' ');
            foreach (string wordWithFlag in tokens)
            {
                string[] tempArray = wordWithFlag.Split('/');
                string   word      = tempArray[0];
                string   flag      = tempArray[1];
                int      wordFlag  = Array.IndexOf(Const.entityList, flag);
                if (sentence != "")
                {
                    if (entityFlag == wordFlag)
                    {
                        sentence += word;
                        wordIndex++;
                    }
                    else
                    {
                        addText(sentence, entityFlag);
                        if (entityFlag >= 0 && entityFlag != 4) //找到entity
                        {
                            var entityMention = new EntityMention();
                            entityMention.indexInSection = wordIndex;
                            entityMention.indexInNews    = wordIndex + sectionIndex;
                            entityMention.newsId         = this.newsId;
                            entityMention.value          = sentence;
                            entityMentionList.Add(entityMention);
                            if (!entityMap.ContainsKey(sentence))
                            {
                                var entity = DBHelper.db.Queryable <NamedEntity>().Where(it => it.value == sentence).First();
                                if (entity == null)    //只保存未存入数据库的
                                {
                                    entity       = new NamedEntity();
                                    entity.value = sentence;
                                    entityMap.Add(sentence, entity);
                                }
                            }
                        }
                        entityFlag = wordFlag;
                        sentence   = word;
                        wordIndex++;
                    }
                }
                else
                {
                    entityFlag = wordFlag;
                    sentence   = word;
                    wordIndex++;
                }
            }
            if (sentence != "")
            {
                addText(sentence, entityFlag);
                addLineBreak();
            }
        }
예제 #25
0
파일: RunNer.cs 프로젝트: ufal/nametag
 private static int NamedEntitiesComparator(NamedEntity a, NamedEntity b)
 {
     if (a.start < b.start) return -1;
     if (a.start > b.start) return 1;
     if (a.length > b.length) return -1;
     if (a.length < b.length) return 1;
     return 0;
 }