Skip to content
Snippets Groups Projects
Commit 0aa62f6b authored by Aurélien Lamercerie's avatar Aurélien Lamercerie
Browse files

Update config module (extraction scheme)

parent a5d9df71
No related branches found
No related tags found
No related merge requests found
......@@ -24,18 +24,6 @@ import os
BASE_ONTOLOGY_REF = ['base', 'base-ontology']
#==============================================================================
# Utilities
#==============================================================================
# def get_according_source_type(source_type, c_xpath, amr_ref, unl_ref):
# get_result = 'None'
# if source_type == 'amr':
# get_result = c_xpath.get(amr_ref)
# else: # else source_type == 'unl'
# get_result = c_xpath.get(unl_ref)
# return get_result
#==============================================================================
# Class
......@@ -66,10 +54,11 @@ class Config:
self.source_corpus = source_corpus
self.target_ref = target_ref
self._process_level = c_base.get("process_level")
self._source_type = c_base.get("source_type")
self.source_type = c_base.get("source_type")
self.extraction_scheme = c_base.get("extraction_scheme")
# -- CTS Reference
self.cts_ref = ""
# # -- CTS Reference
# self.cts_ref = ""
# -- Directories
c_dir = self.config_tree.xpath("directory")[0]
......@@ -98,7 +87,8 @@ class Config:
self.config_param_file += c_file.get("config_param") + ".ttl"
self.base_ontology_file = self.structure_dir
self.base_ontology_file += 'base-ontology.ttl'
self.cts_file = ""
self.cts_file = f"{self.cts_dir}{self.extraction_scheme}.py"
# self.cts_file = ""
# -- Ontology References
c_ref = self.config_tree.xpath("reference")[0]
......@@ -155,40 +145,6 @@ class Config:
process_level = property(_get_process_level, _set_process_level)
# -- Property: source_type
def _get_source_type(self):
return self._source_type
def _set_source_type(self, source_type):
self._source_type = source_type
self.cts_ref = ""
self.input_doc_dir = ""
self.schema_file = ""
self.cts_file = ""
self.source_sentence_file = '**/*'
source_type = property(_get_source_type, _set_source_type)
# -- Property: cts_ref
def _get_cts_ref(self):
return self._cts_ref
def _set_cts_ref(self, new_cts_ref):
c_cts = self.config_tree.xpath("cts")[0]
self._cts_ref = ""
if self.source_type == 'amr':
self._cts_ref += c_cts.get("amr_cts_ref")
if self.source_type == 'unl':
self._cts_ref += c_cts.get("unl_cts_ref")
if new_cts_ref != "":
self._cts_ref = new_cts_ref
cts_ref = property(_get_cts_ref, _set_cts_ref)
# -- Property: target_dir
def _get_target_frame_dir(self):
......@@ -257,14 +213,6 @@ class Config:
def _set_input_doc_dir(self, output_dir_complement):
self._input_doc_dir = output_dir_complement
# -- old ---
# c_dir = self.config_tree.xpath("directory")[0]
# self._input_doc_dir = self.base_dir
# if self.source_type == 'amr':
# self._input_doc_dir += c_dir.get("amr_input_documents")
# if self.source_type == 'unl':
# self._input_doc_dir += c_dir.get("unl_input_documents")
# self._input_doc_dir += output_dir_complement
input_doc_dir = property(_get_input_doc_dir, _set_input_doc_dir)
......@@ -286,19 +234,6 @@ class Config:
schema_file = property(_get_schema_file, _set_schema_file)
# -- Property: cts_file
def _get_cts_file(self):
return self._cts_file
def _set_cts_file(self, cts_file_cmpl):
self._cts_file = self.cts_dir
self._cts_file += self.cts_ref
self._cts_file += cts_file_cmpl + '.py'
cts_file = property(_get_cts_file, _set_cts_file)
# -- Property: source_sentence_files
def _get_source_sentence_file(self):
......@@ -336,8 +271,9 @@ class Config:
config_str += '\n ----- source corpus: ' + self.source_corpus
config_str += '\n ----- target reference: ' + self.target_ref
config_str += '\n ----- process level: ' + self.process_level
config_str += '\n ----- source type: ' + self.source_type
config_str += '\n ----- CTS reference: ' + self.cts_ref
config_str += f'\n ----- source type: {self.source_type}'
config_str += f'\n ----- extraction scheme: {self.extraction_scheme}'
# config_str += '\n ----- CTS reference (old): ' + self.cts_ref
config_str += '\n ----- output file: ' + self.output_file
config_str += f'\n ----- technical dir path: {self.technical_dir_path}'
......@@ -358,10 +294,11 @@ class Config:
config_str += '\n ----- source corpus: ' + self.source_corpus
config_str += '\n ----- target reference: ' + self.target_ref
config_str += '\n ----- process level: ' + self.process_level
config_str += '\n ----- source type: ' + self.source_type
config_str += f'\n ----- source type: {self.source_type}'
config_str += f'\n ----- extraction scheme: {self.extraction_scheme}'
config_str += '\n' + ' -- Compositional Transduction Scheme (CTS)'
config_str += '\n ----- CTS reference: ' + self.cts_ref
# config_str += '\n' + ' -- Compositional Transduction Scheme (CTS)'
# config_str += '\n ----- CTS reference (old): ' + self.cts_ref
config_str += '\n' + ' -- Directories'
config_str += '\n ----- base directory: ' + self.base_dir
......
......@@ -31,10 +31,10 @@ logger = logging.getLogger(__name__)
#==============================================================================
def load_cts(config):
""" Load extraction scheme (CTS) from <cts_ref> file """
""" Load extraction scheme (CTS) from <extraction_scheme> file """
try:
cts_module = SourceFileLoader(config.cts_ref,
cts_module = SourceFileLoader(config.extraction_scheme,
config.cts_file).load_module()
return cts_module.rule_dir, cts_module.prefix_list, cts_module.scheme
......@@ -47,7 +47,7 @@ def load_cts(config):
except Exception:
logger.error(' *** Error while loading scheme (load_cts) ***')
logger.debug(f' ----- current work directory: {os.getcwd()}')
logger.debug(f' ----- cts_ref: {config.cts_ref}')
logger.debug(f' ----- extraction_scheme: {config.extraction_scheme}')
logger.debug(f' ----- cts_file: {config.cts_file}')
......@@ -396,7 +396,7 @@ def apply(config, graph):
try:
# -- Loading Extraction Scheme
logger.info("-- Loading Extraction Scheme ({0})".format(config.cts_ref))
logger.info(f"-- Loading Extraction Scheme ({config.extraction_scheme})")
rule_dir, prefix_list, scheme = load_cts(config)
logger.debug("----- Step number: {0}".format(len(scheme)))
......@@ -430,7 +430,7 @@ def apply(config, graph):
except:
logger.error(' *** Error while processing extraction (apply) ***')
logger.debug(f' ----- config.cts_ref = {config.cts_ref}')
logger.debug(f' ----- config.extraction_scheme = {config.extraction_scheme}')
logger.debug(f' ----- rule_dir = {rule_dir}')
logger.debug(f' ----- scheme = {scheme}')
logger.debug(f' ----- step = {step_name}, {step_sequence_def}')
\ No newline at end of file
......@@ -4,11 +4,7 @@
<base
process_level = "sentence"
source_type = "amr"
/>
<cts
amr_cts_ref = "odrl_amr_scheme_1"
unl_cts_ref = "None"
extraction_scheme = "odrl_amr_scheme_1"
/>
<directory
......
......@@ -4,11 +4,7 @@
<base
process_level = "sentence"
source_type = "amr"
/>
<cts
amr_cts_ref = "owl_amr_scheme_1"
unl_cts_ref = "owl_unl_scheme_1"
extraction_scheme = "owl_amr_scheme_1"
/>
<directory
......
No preview for this file type
No preview for this file type
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment