def __init__(self, data_url=None, alias_url=None, alias_map=None, label_attribute=None, ignore_words=list(), reserve_words=list(), dependency_parser_config=None, verbose=False): # inputs self.data_url = data_url self.alias_url = alias_url self.alias_map = alias_map self.label_attribute = label_attribute self.ignore_words = ignore_words self.reserve_words = reserve_words self.verbose = verbose # outputs self.execution_durations = dict() self.query_raw = None self.query_processed = "" self.query_tokens = list() self.query_ngrams = dict() self.extracted_vis_type = None self.extracted_vis_token = None self.extracted_tasks = OrderedDict() self.extracted_attributes = OrderedDict() self.vis_list = None self.dependencies = list() # Load constants: thresholds, mappings, scores self.vis_keyword_map = constants.vis_keyword_map self.task_keyword_map = constants.task_keyword_map self.match_scores = constants.match_scores self.match_thresholds = constants.match_thresholds # Others self.dialog = False self.debug = False # initialize porter stemmer instance self.porter_stemmer_instance = PorterStemmer() # Set the dependency parser self.dependency_parser = None self.dependency_parser_instance = None self.set_dependency_parser(dependency_parser_config) # Internal Class Instances self.data_genie_instance = DataGenie( self) # initialize a DataGenie instance. self.query_genie_instance = QueryGenie( self) # initialize a QueryGenie instance. self.attribute_genie_instance = AttributeGenie( self) # initialize a AttributeGenie instance. self.task_genie_instance = TaskGenie( self) # initialize a TaskGenie instance. self.vis_genie_instance = VisGenie( self) # initialize a VisGenie instance.
def __init__(self, data_url=None, data_value=None, alias_url=None, alias_value=None, label_attribute=None, ignore_words=list(), reserve_words=list(), dependency_parser_config=None, thresholds=None, importance_scores=None, attribute_datatype=None, verbose=False, debug=False): # inputs self.data_url = data_url self.data_value = data_value self.alias_url = alias_url self.alias_value = alias_value self.label_attribute = label_attribute self.ignore_words = ignore_words self.reserve_words = reserve_words self.dependency_parser_config = dependency_parser_config self.verbose = verbose self.debug = debug # Load constants: thresholds, mappings, scores self.vis_keyword_map = constants.vis_keyword_map self.task_keyword_map = constants.task_keyword_map self.match_scores = constants.match_scores self.match_thresholds = constants.match_thresholds # Initialize intermediate/output variables self.execution_durations = dict() self.query_raw = None self.query_processed = "" self.query_for_task_inference = "" self.query_tokens = list() self.query_ngrams = dict() self.extracted_vis_type = None self.extracted_vis_token = None self.extracted_tasks = OrderedDict() self.extracted_attributes = OrderedDict() self.vis_list = None self.dependencies = list() self.dependency_parser = None self.dependency_parser_instance = None # Others self.dialog = False # initialize porter stemmer instance self.porter_stemmer_instance = PorterStemmer() # Initialize internal Class Instances self.data_genie_instance = DataGenie( self) # initialize a DataGenie instance. self.query_genie_instance = QueryGenie( self) # initialize a QueryGenie instance. self.attribute_genie_instance = AttributeGenie( self) # initialize a AttributeGenie instance. self.task_genie_instance = TaskGenie( self) # initialize a TaskGenie instance. self.vis_genie_instance = VisGenie( self) # initialize a VisGenie instance. # Set the dependency parser if config is not None if self.dependency_parser_config is not None: self.set_dependency_parser(dependency_parser_config) # Set the thresholds, e.g., string matching if thresholds is not None: self.set_thresholds(thresholds=thresholds) # Set the importance scores, i.e., weights assigned to different ways in which attributes, tasks, and vis are detected/inferred. if importance_scores is not None: self.set_importance_scores(scores=importance_scores) # Override the attribute datatypes if attribute_datatype is not None: self.set_attribute_datatype(attr_type_obj=attribute_datatype)