public static bool IsContainsInSynonyms (this Essence essence, List <string> inquiriesSynonyms, ICoreferenceInfo coreferenceInfo) { if (inquiriesSynonyms == null) { return(true); } if (Algorithms.IsHomogeneous(essence)) { var elements = Algorithms.GetObjectsFromHomogeneous(essence.Entity, ObjectAllocateMethod.PhysicalOrJuridicalPersons); if (elements.Contains(essence.Entity)) //(elements.Count == 1) && (elements.First() == essence.Entity) ) { elements = Algorithms.GetObjectsFromHomogeneous(essence.Entity, ObjectAllocateMethod.FirstEntityWithTypePronoun); } var essenceItems = Algorithms.ConstructEssenceItems4Homogeneous(elements, coreferenceInfo); essence.SetEssenceItems4Homogeneous(essenceItems); } foreach (var ei in essence.EssenceItems) { if (ei.IsContainsInInquiriesSynonyms(inquiriesSynonyms)) { return(true); } } return(false); }
private static void ReprocessEssenceItems4Homogeneous (Essence essence, ICoreferenceInfo coreferenceInfo /*, ObjectAllocateMethod objectAllocateMethod*/) { if (Algorithms.IsHomogeneous(essence)) { var essenceItems = ConstructEssenceItems4Homogeneous(essence.Entity, coreferenceInfo /*, objectAllocateMethod*/); essence.SetEssenceItems4Homogeneous(essenceItems); } }