deeppavlov.models.kbqa¶
-
class
deeppavlov.models.kbqa.query_generator.
QueryGenerator
(wiki_parser: deeppavlov.models.kbqa.wiki_parser.WikiParser, rel_ranker: Union[deeppavlov.models.kbqa.rel_ranking_infer.RelRankerInfer, deeppavlov.models.kbqa.rel_ranking_bert_infer.RelRankerBertInfer], entities_to_leave: int = 5, rels_to_leave: int = 7, max_comb_num: int = 10000, return_all_possible_answers: bool = False, return_answers: bool = False, *args, **kwargs)[source]¶ Class for query generation using Wikidata hdt file
-
__init__
(wiki_parser: deeppavlov.models.kbqa.wiki_parser.WikiParser, rel_ranker: Union[deeppavlov.models.kbqa.rel_ranking_infer.RelRankerInfer, deeppavlov.models.kbqa.rel_ranking_bert_infer.RelRankerBertInfer], entities_to_leave: int = 5, rels_to_leave: int = 7, max_comb_num: int = 10000, return_all_possible_answers: bool = False, return_answers: bool = False, *args, **kwargs) → None[source]¶ - Parameters
wiki_parser – component deeppavlov.models.kbqa.wiki_parser
rel_ranker – component deeppavlov.models.kbqa.rel_ranking_infer
entities_to_leave – how many entities to leave after entity linking
rels_to_leave – how many relations to leave after relation ranking
max_comb_num – the maximum number of combinations of candidate entities and relations
return_all_possible_answers – whether to return all found answers
return_answers – whether to return answers or candidate answers
**kwargs –
-
-
class
deeppavlov.models.kbqa.query_generator_base.
QueryGeneratorBase
(template_matcher: deeppavlov.models.kbqa.template_matcher.TemplateMatcher, linker_entities: deeppavlov.models.kbqa.entity_linking.EntityLinker, linker_types: deeppavlov.models.kbqa.entity_linking.EntityLinker, rel_ranker: Union[deeppavlov.models.kbqa.rel_ranking_infer.RelRankerInfer, deeppavlov.models.kbqa.rel_ranking_bert_infer.RelRankerBertInfer], load_path: str, rank_rels_filename_1: str, rank_rels_filename_2: str, sparql_queries_filename: str, wiki_parser=None, wiki_file_format: str = 'hdt', entities_to_leave: int = 5, rels_to_leave: int = 7, syntax_structure_known: bool = False, use_api_requester: bool = False, return_answers: bool = False, *args, **kwargs)[source]¶ This class takes as input entity substrings, defines the template of the query and fills the slots of the template with candidate entities and relations.
-
__init__
(template_matcher: deeppavlov.models.kbqa.template_matcher.TemplateMatcher, linker_entities: deeppavlov.models.kbqa.entity_linking.EntityLinker, linker_types: deeppavlov.models.kbqa.entity_linking.EntityLinker, rel_ranker: Union[deeppavlov.models.kbqa.rel_ranking_infer.RelRankerInfer, deeppavlov.models.kbqa.rel_ranking_bert_infer.RelRankerBertInfer], load_path: str, rank_rels_filename_1: str, rank_rels_filename_2: str, sparql_queries_filename: str, wiki_parser=None, wiki_file_format: str = 'hdt', entities_to_leave: int = 5, rels_to_leave: int = 7, syntax_structure_known: bool = False, use_api_requester: bool = False, return_answers: bool = False, *args, **kwargs) → None[source]¶ - Parameters
template_matcher – component deeppavlov.models.kbqa.template_matcher
linker_entities – component deeppavlov.models.kbqa.entity_linking for linking of entities
linker_types – component deeppavlov.models.kbqa.entity_linking for linking of types
rel_ranker – component deeppavlov.models.kbqa.rel_ranking_infer
load_path – path to folder with wikidata files
rank_rels_filename_1 – file with list of rels for first rels in questions with ranking
rank_rels_filename_2 – file with list of rels for second rels in questions with ranking
sparql_queries_filename – file with sparql query templates
wiki_file_format – format of wikidata file
wiki_parser – component deeppavlov.models.kbqa.wiki_parser
entities_to_leave – how many entities to leave after entity linking
rels_to_leave – how many relations to leave after relation ranking
syntax_structure_known – if syntax tree parser was used to define query template type
use_api_requester – whether deeppavlov.models.api_requester.api_requester component will be used for Entity Linking and Wiki Parser
return_answers – whether to return answers or candidate answers
-
abstract
__call__
(*args, **kwargs)¶ Call self as a function.
-
-
class
deeppavlov.models.kbqa.query_generator_online.
QueryGeneratorOnline
(wiki_parser: deeppavlov.models.kbqa.wiki_parser_online.WikiParserOnline, rel_ranker: Union[deeppavlov.models.kbqa.rel_ranking_infer.RelRankerInfer, deeppavlov.models.kbqa.rel_ranking_bert_infer.RelRankerBertInfer], entities_to_leave: int = 5, rels_to_leave: int = 7, return_answers: bool = False, *args, **kwargs)[source]¶ Class for query generation online using Wikidata query service
-
__init__
(wiki_parser: deeppavlov.models.kbqa.wiki_parser_online.WikiParserOnline, rel_ranker: Union[deeppavlov.models.kbqa.rel_ranking_infer.RelRankerInfer, deeppavlov.models.kbqa.rel_ranking_bert_infer.RelRankerBertInfer], entities_to_leave: int = 5, rels_to_leave: int = 7, return_answers: bool = False, *args, **kwargs) → None[source]¶ - Parameters
wiki_parser – component deeppavlov.models.kbqa.wiki_parser
rel_ranker – component deeppavlov.models.kbqa.rel_ranking_infer
entities_to_leave – how many entities to leave after entity linking
rels_to_leave – how many relations to leave after relation ranking
return_answers – whether to return answers or candidate answers
-
-
class
deeppavlov.models.kbqa.rel_ranking_bert_infer.
RelRankerBertInfer
(load_path: str, rel_q2name_filename: str, ranker: deeppavlov.models.ranking.rel_ranker.RelRanker, bert_preprocessor: Optional[deeppavlov.models.preprocessors.bert_preprocessor.BertPreprocessor] = None, wiki_parser: Optional[deeppavlov.models.kbqa.wiki_parser.WikiParser] = None, batch_size: int = 32, rels_to_leave: int = 40, return_all_possible_answers: bool = False, return_answer_ids: bool = False, use_api_requester: bool = False, use_mt_bert: bool = False, return_sentence_answer: bool = False, return_confidences: bool = False, **kwargs)[source]¶ Class for ranking of paths in subgraph
-
__init__
(load_path: str, rel_q2name_filename: str, ranker: deeppavlov.models.ranking.rel_ranker.RelRanker, bert_preprocessor: Optional[deeppavlov.models.preprocessors.bert_preprocessor.BertPreprocessor] = None, wiki_parser: Optional[deeppavlov.models.kbqa.wiki_parser.WikiParser] = None, batch_size: int = 32, rels_to_leave: int = 40, return_all_possible_answers: bool = False, return_answer_ids: bool = False, use_api_requester: bool = False, use_mt_bert: bool = False, return_sentence_answer: bool = False, return_confidences: bool = False, **kwargs)[source]¶ - Parameters
load_path – path to folder with wikidata files
rel_q2name_filename – name of file which maps relation id to name
ranker – component deeppavlov.models.ranking.rel_ranker
bert_perprocessor – component deeppavlov.models.preprocessors.bert_preprocessor
wiki_parser – component deeppavlov.models.wiki_parser
batch_size – infering batch size
rels_to_leave – how many relations to leave after relation ranking
return_all_possible_answers – whether to return all found answers
return_answer_ids – whether to return answer ids from Wikidata
use_api_requester – whether wiki parser will be used as external api
use_mt_bert – whether nultitask bert is used for ranking
return_sentence_answer – whether to return answer as a sentence
return_confidences – whether to return confidences of candidate answers
**kwargs –
-
-
class
deeppavlov.models.kbqa.rel_ranking_infer.
RelRankerInfer
(load_path: str, rel_q2name_filename: str, ranker: deeppavlov.models.ranking.rel_ranker.RelRanker, rels_to_leave: int = 15, batch_size: int = 100, **kwargs)[source]¶ This class performs ranking of candidate relations
-
__init__
(load_path: str, rel_q2name_filename: str, ranker: deeppavlov.models.ranking.rel_ranker.RelRanker, rels_to_leave: int = 15, batch_size: int = 100, **kwargs)[source]¶ - Parameters
load_path – path to folder with wikidata files
rel_q2name_filename – name of file which maps relation id to name
ranker – deeppavlov.models.ranking.rel_ranker
rels_to_leave – how many top scored relations leave
batch_size – infering batch size
**kwargs –
-
-
class
deeppavlov.models.kbqa.template_matcher.
TemplateMatcher
(load_path: str, templates_filename: str, num_processors: Optional[int] = None, **kwargs)[source]¶ This class matches the question with one of the templates to extract entity substrings and define which relations corresponds to the question
-
class
deeppavlov.models.kbqa.tree_to_sparql.
RuAdjToNoun
(freq_dict_filename: str, candidate_nouns: int = 10, **kwargs)[source]¶ Class for converting an adjective in Russian to the corresponding noun, for example: “московский” -> “Москва”, “африканский” -> “Африка”
-
__init__
(freq_dict_filename: str, candidate_nouns: int = 10, **kwargs)[source]¶ - Parameters
freq_dict_filename – file with the dictionary of Russian words with the corresponding frequencies
candidate_nouns – how many candidate nouns to leave after search
**kwargs –
-
__call__
(**kwargs)¶ Call self as a function.
-
-
class
deeppavlov.models.kbqa.tree_to_sparql.
TreeToSparql
(sparql_queries_filename: str, lang: str = 'rus', adj_to_noun: Optional[deeppavlov.models.kbqa.tree_to_sparql.RuAdjToNoun] = None, **kwargs)[source]¶ Class for building of sparql query template using syntax parser
-
__init__
(sparql_queries_filename: str, lang: str = 'rus', adj_to_noun: Optional[deeppavlov.models.kbqa.tree_to_sparql.RuAdjToNoun] = None, **kwargs)[source]¶ - Parameters
sparql_queries_filename – file with sparql query templates
lang – english or russian
adj_to_noun – component deeppavlov.models.kbqa.tree_to_sparql:RuAdjToNoun
**kwargs –
-
-
class
deeppavlov.models.kbqa.wiki_parser.
WikiParser
(wiki_filename: str, file_format: str = 'hdt', lang: str = '@en', **kwargs)[source]¶ This class extract relations, objects or triplets from Wikidata HDT file