nlp_architect.data.cdc_resources.relations package
Submodules
nlp_architect.data.cdc_resources.relations.computed_relation_extraction module
-
class
nlp_architect.data.cdc_resources.relations.computed_relation_extraction.ComputedRelationExtraction[source] Bases:
nlp_architect.data.cdc_resources.relations.relation_extraction.RelationExtractionExtract Relation between two mentions according to computation and rule based algorithms
-
extract_all_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight) → Set[nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType][source] Try to find if mentions has anyone or more of the relations this class support
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
Returns: - One or more of: RelationType.EXACT_STRING, RelationType.FUZZY_FIT,
RelationType.FUZZY_HEAD_FIT, RelationType.SAME_HEAD_LEMMA, RelationType.SAME_HEAD_LEMMA_RELAX
Return type: Set[RelationType]
-
static
extract_exact_string(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has exact string relation
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
Returns: RelationType.EXACT_STRING or RelationType.NO_RELATION_FOUND
-
static
extract_fuzzy_fit(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has fuzzy fit relation
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
Returns: RelationType.FUZZY_FIT or RelationType.NO_RELATION_FOUND
-
static
extract_fuzzy_head_fit(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has fuzzy head fit relation
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
Returns: RelationType.FUZZY_HEAD_FIT or RelationType.NO_RELATION_FOUND
-
static
extract_same_head_lemma(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has same head lemma relation
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
Returns: RelationType.SAME_HEAD_LEMMA or RelationType.NO_RELATION_FOUND
-
extract_sub_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight, relation: nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has the given relation between them
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
- relation – RelationType
Returns: - relation in case mentions has given relation or
RelationType.NO_RELATION_FOUND otherwise
Return type:
-
nlp_architect.data.cdc_resources.relations.referent_dict_relation_extraction module
-
class
nlp_architect.data.cdc_resources.relations.referent_dict_relation_extraction.ReferentDictRelationExtraction(method: nlp_architect.data.cdc_resources.relations.relation_types_enums.OnlineOROfflineMethod = <OnlineOROfflineMethod.ONLINE: 'online'>, ref_dict: str = None)[source] Bases:
nlp_architect.data.cdc_resources.relations.relation_extraction.RelationExtraction-
extract_all_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight) → Set[nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType][source]
-
extract_sub_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight, relation: nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has the given relation between them
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
- relation – RelationType
Returns: - relation in case mentions has given relation or
RelationType.NO_RELATION_FOUND otherwise
Return type:
-
static
get_supported_relations()[source] Return all supported relations by this class
Returns: List[RelationType]
-
is_referent_dict(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight) → bool[source] Check if input mentions has referent dictionary relation between them
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
Returns: bool
-
nlp_architect.data.cdc_resources.relations.relation_extraction module
-
class
nlp_architect.data.cdc_resources.relations.relation_extraction.RelationExtraction[source] Bases:
object-
extract_relation(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight, relation: nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Base Class Check if Sub class support given relation before executing the sub class
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
- relation – RelationType
Returns: - relation in case mentions has given relation and
RelationType.NO_RELATION_FOUND otherwise
Return type:
-
extract_sub_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight, relation: nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source]
-
nlp_architect.data.cdc_resources.relations.relation_types_enums module
-
class
nlp_architect.data.cdc_resources.relations.relation_types_enums.EmbeddingMethod[source] Bases:
enum.EnumAn enumeration.
-
ELMO= 'elmo'
-
ELMO_OFFLINE= 'elmo_offline'
-
GLOVE= 'glove'
-
GLOVE_OFFLINE= 'glove_offline'
-
-
class
nlp_architect.data.cdc_resources.relations.relation_types_enums.OnlineOROfflineMethod[source] Bases:
enum.EnumAn enumeration.
-
OFFLINE= 'offline'
-
ONLINE= 'online'
-
-
class
nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Bases:
enum.EnumAn enumeration.
-
EXACT_STRING= 8
-
FUZZY_FIT= 9
-
FUZZY_HEAD_FIT= 10
-
NO_RELATION_FOUND= 0
-
OTHER= 21
-
REFERENT_DICT= 18
-
SAME_HEAD_LEMMA= 11
-
VERBOCEAN_MATCH= 13
-
WIKIPEDIA_ALIASES= 2
-
WIKIPEDIA_BE_COMP= 7
-
WIKIPEDIA_CATEGORY= 5
-
WIKIPEDIA_DISAMBIGUATION= 3
-
WIKIPEDIA_PART_OF_SAME_NAME= 4
-
WIKIPEDIA_REDIRECT_LINK= 1
-
WIKIPEDIA_TITLE_PARENTHESIS= 6
-
WITHIN_DOC_COREF= 20
-
WORDNET_DERIVATIONALLY= 14
-
WORDNET_PARTIAL_SYNSET_MATCH= 15
-
WORDNET_SAME_SYNSET= 17
-
WORD_EMBEDDING_MATCH= 19
-
nlp_architect.data.cdc_resources.relations.verbocean_relation_extraction module
-
class
nlp_architect.data.cdc_resources.relations.verbocean_relation_extraction.VerboceanRelationExtraction(method: nlp_architect.data.cdc_resources.relations.relation_types_enums.OnlineOROfflineMethod = <OnlineOROfflineMethod.ONLINE: 'online'>, vo_file: str = None)[source] Bases:
nlp_architect.data.cdc_resources.relations.relation_extraction.RelationExtraction-
extract_all_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight) → Set[nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType][source]
-
extract_sub_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight, relation: nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has the given relation between them
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
- relation – RelationType
Returns: - relation in case mentions has given relation or
RelationType.NO_RELATION_FOUND otherwise
Return type:
-
static
get_supported_relations()[source] Return all supported relations by this class
Returns: List[RelationType]
-
is_verbocean_relation(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight) → bool[source] Check if input mentions has VerbOcean relation between them
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
Returns: bool
-
nlp_architect.data.cdc_resources.relations.wikipedia_relation_extraction module
-
class
nlp_architect.data.cdc_resources.relations.wikipedia_relation_extraction.WikipediaRelationExtraction(method: nlp_architect.data.cdc_resources.relations.relation_types_enums.WikipediaSearchMethod = <WikipediaSearchMethod.ONLINE: 'online'>, wiki_file: str = None, host: str = None, port: int = None, index: str = None, filter_pronouns: bool = True, filter_time_data: bool = True)[source] Bases:
nlp_architect.data.cdc_resources.relations.relation_extraction.RelationExtraction-
static
extract_aliases(pages1: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages, pages2: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages, titles1: Set[str], titles2: Set[str]) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has aliases relation
Parameters: - pages1 – WikipediaPages
- pages2 – WikipediaPage
- titles1 – Set[str]
- titles2 – Set[str]
Returns: RelationType.WIKIPEDIA_ALIASES or RelationType.NO_RELATION_FOUND
-
extract_all_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight) → Set[nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType][source] Try to find if mentions has anyone or more of the relations this class support
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
Returns: - One or more of: RelationType.WIKIPEDIA_BE_COMP,
RelationType.WIKIPEDIA_TITLE_PARENTHESIS, RelationType.WIKIPEDIA_DISAMBIGUATION, RelationType.WIKIPEDIA_CATEGORY, RelationType.WIKIPEDIA_REDIRECT_LINK, RelationType.WIKIPEDIA_ALIASES, RelationType.WIKIPEDIA_PART_OF_SAME_NAME
Return type: Set[RelationType]
-
static
extract_be_comp(pages1: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages, pages2: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages, titles1: Set[str], titles2: Set[str]) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has be-comp/is-a relation
Parameters: - pages1 – WikipediaPages
- pages2 – WikipediaPage
- titles1 – Set[str]
- titles2 – Set[str]
Returns: RelationType.WIKIPEDIA_BE_COMP or RelationType.NO_RELATION_FOUND
-
static
extract_category(pages1: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages, pages2: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages, titles1: Set[str], titles2: Set[str]) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has category relation
Parameters: - pages1 – WikipediaPages
- pages2 – WikipediaPage
- titles1 – Set[str]
- titles2 – Set[str]
Returns: RelationType.WIKIPEDIA_CATEGORY or RelationType.NO_RELATION_FOUND
-
static
extract_disambig(pages1: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages, pages2: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages, titles1: Set[str], titles2: Set[str]) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has disambiguation relation
Parameters: - pages1 – WikipediaPages
- pages2 – WikipediaPage
- titles1 – Set[str]
- titles2 – Set[str]
Returns: RelationType.WIKIPEDIA_DISAMBIGUATION or RelationType.NO_RELATION_FOUND
-
static
extract_parenthesis(pages1: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages, pages2: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages, titles1: Set[str], titles2: Set[str]) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has parenthesis relation
Parameters: - pages1 – WikipediaPages
- pages2 – WikipediaPage
- titles1 – Set[str]
- titles2 – Set[str]
Returns: RelationType.WIKIPEDIA_TITLE_PARENTHESIS or RelationType.NO_RELATION_FOUND
-
extract_sub_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight, relation: nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has the given relation between them
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
- relation – RelationType
Returns: - relation in case mentions has given relation or
RelationType.NO_RELATION_FOUND otherwise
Return type:
Get all WikipediaPages pages related with this mention string
Parameters: mention_str – str Returns: WikipediaPages
-
static
get_supported_relations() → List[nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType][source] Return all supported relations by this class
Returns: List[RelationType]
-
static
is_both_data_or_time(mention1: nlp_architect.common.cdc.mention_data.MentionDataLight, mention2: nlp_architect.common.cdc.mention_data.MentionDataLight) → bool[source] check if both phrases refers to time or date
Returns: bool
-
static
is_both_opposite_personal_pronouns(phrase1: str, phrase2: str) → bool[source] check if both phrases refers to pronouns
Returns: bool
-
is_part_of_same_name(pages1: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages, pages2: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages) → bool[source] Check if input mentions has part of same name relation (eg: page1=John, page2=Smith)
Parameters: - pages1 – WikipediaPages
- pages2 – WikipediaPage
Returns: bool
-
static
is_redirect_same(pages1: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages, pages2: nlp_architect.data.cdc_resources.data_types.wiki.wikipedia_pages.WikipediaPages) → bool[source] Check if input mentions has same wikipedia redirect page
Parameters: - pages1 – WikipediaPages
- pages2 – WikipediaPage
Returns: bool
-
static
nlp_architect.data.cdc_resources.relations.within_doc_coref_extraction module
-
class
nlp_architect.data.cdc_resources.relations.within_doc_coref_extraction.WithinDocCoref(wd_file: str)[source] Bases:
nlp_architect.data.cdc_resources.relations.relation_extraction.RelationExtraction-
static
create_ment_id(mention_x: nlp_architect.common.cdc.mention_data.MentionData, mention_y: nlp_architect.common.cdc.mention_data.MentionData) → str[source]
-
extract_all_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionData, mention_y: nlp_architect.common.cdc.mention_data.MentionData) → Set[nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType][source]
-
extract_sub_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionData, mention_y: nlp_architect.common.cdc.mention_data.MentionData, relation: nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has the given relation between them
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
- relation – RelationType
Returns: - relation in case mentions has given relation or
RelationType.NO_RELATION_FOUND otherwise
Return type:
-
extract_within_coref(mention: nlp_architect.common.cdc.mention_data.MentionData) → List[str][source]
-
static
nlp_architect.data.cdc_resources.relations.word_embedding_relation_extraction module
-
class
nlp_architect.data.cdc_resources.relations.word_embedding_relation_extraction.WordEmbeddingRelationExtraction(method: nlp_architect.data.cdc_resources.relations.relation_types_enums.EmbeddingMethod = <EmbeddingMethod.GLOVE: 'glove'>, glove_file: str = None, elmo_file: str = None, cos_accepted_dist: float = 0.7)[source] Bases:
nlp_architect.data.cdc_resources.relations.relation_extraction.RelationExtraction-
extract_all_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight) → Set[nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType][source]
-
extract_sub_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight, relation: nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has the given relation between them
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
- relation – RelationType
Returns: - relation in case mentions has given relation or
RelationType.NO_RELATION_FOUND otherwise
Return type:
-
static
get_supported_relations() → List[nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType][source] Return all supported relations by this class
Returns: List[RelationType]
-
is_word_embed_match(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight)[source] Check if input mentions Word Embedding cosine distance below above 0.65
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
Returns: bool
-
nlp_architect.data.cdc_resources.relations.wordnet_relation_extraction module
-
class
nlp_architect.data.cdc_resources.relations.wordnet_relation_extraction.WordnetRelationExtraction(method: nlp_architect.data.cdc_resources.relations.relation_types_enums.OnlineOROfflineMethod = <OnlineOROfflineMethod.ONLINE: 'online'>, wn_file: str = None)[source] Bases:
nlp_architect.data.cdc_resources.relations.relation_extraction.RelationExtraction-
extract_all_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight) → Set[nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType][source] Try to find if mentions has anyone or more of the relations this class support
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
Returns: - One or more of: RelationType.WORDNET_SAME_SYNSET_ENTITY,
RelationType.WORDNET_SAME_SYNSET_EVENT, RelationType.WORDNET_PARTIAL_SYNSET_MATCH, RelationType.WORDNET_DERIVATIONALLY
Return type: Set[RelationType]
-
static
extract_derivation(page_x: nlp_architect.data.cdc_resources.data_types.wn.wordnet_page.WordnetPage, page_y: nlp_architect.data.cdc_resources.data_types.wn.wordnet_page.WordnetPage) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has derivation relation
Parameters: - page_x – WordnetPage
- page_y – WordnetPage
Returns: RelationType.WORDNET_DERIVATIONALLY or RelationType.NO_RELATION_FOUND
-
static
extract_partial_synset_match(page_x: nlp_architect.data.cdc_resources.data_types.wn.wordnet_page.WordnetPage, page_y: nlp_architect.data.cdc_resources.data_types.wn.wordnet_page.WordnetPage) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has partial synset relation
Parameters: - page_x – WordnetPage
- page_y – WordnetPage
Returns: RelationType.WORDNET_PARTIAL_SYNSET_MATCH or RelationType.NO_RELATION_FOUND
-
static
extract_same_synset_entity(page_x: nlp_architect.data.cdc_resources.data_types.wn.wordnet_page.WordnetPage, page_y: nlp_architect.data.cdc_resources.data_types.wn.wordnet_page.WordnetPage) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has same synset relation for entity mentions
Parameters: - page_x – WordnetPage
- page_y – WordnetPage
Returns: RelationType.WORDNET_SAME_SYNSET_ENTITY or RelationType.NO_RELATION_FOUND
-
extract_sub_relations(mention_x: nlp_architect.common.cdc.mention_data.MentionDataLight, mention_y: nlp_architect.common.cdc.mention_data.MentionDataLight, relation: nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType) → nlp_architect.data.cdc_resources.relations.relation_types_enums.RelationType[source] Check if input mentions has the given relation between them
Parameters: - mention_x – MentionDataLight
- mention_y – MentionDataLight
- relation – RelationType
Returns: - relation in case mentions has given relation or
RelationType.NO_RELATION_FOUND otherwise
Return type:
-