""" Interface to perform predicting of TIMEX, EVENT and TLINK annotations, using a neural network model for TLINK annotations. """ import sys from code.config import env_paths # this needs to be set. exit now so user doesn't wait to know. if env_paths()["PY4J_DIR_PATH"] is None: sys.exit("PY4J_DIR_PATH environment variable not specified") import argparse import cPickle import glob import os from keras.models import model_from_json from code.learning import network timenote_imported = False def main(): global timenote_imported parser = argparse.ArgumentParser() parser.add_argument("predict_dir", nargs=1,
import subprocess import os import glob import sys from code.config import env_paths _ENV_PATHS = env_paths() if _ENV_PATHS["MORPHO_DIR_PATH"] == None: sys.exit("ERROR: path for morphopro not set") _TEA_HOME = os.path.join(*([os.path.dirname(os.path.abspath(__file__))]+[".."]*4)) _dict_entry = lambda morpho_line, sentence_num, sentence_index: {"token_morpho": morpho_line[0], "pos_morpho": morpho_line[1], "morphology_morpho": morpho_line[2], "chunk_morpho": morpho_line[3], "sentence_num_morpho":sentence_num, "sentence_index_morpho":sentence_index} _new_sentence = lambda l: l[0:1] == '' _comment = lambda l: l[0:1] == '#' def process(text, base_filename=None, overwrite=False, verbose=False): """Perform morphological analysis on a text doc. text: body of text document base_filename: base name of time ml docuemnt, ex: APW19980219.0476 from APW19980219.0476.tml.TE3input overwrite: overwrite existing base_filename. Set to false to load existing annotation, since morphopro takes a long time to load. """
numpy.random.seed(1337) import argparse import cPickle import glob import os from keras.models import model_from_json from code.learning.network import Network from code.notes.TimeNote import TimeNote from code.learning.time_ref import predict_timex_rel from code.learning.break_cycle import modify_tlinks timenote_imported = False if env_paths()["PY4J_DIR_PATH"] is None: sys.exit("PY4J_DIR_PATH environment variable not specified") def basename(s): if '.tml' in s: s = os.path.basename(s[0:s.index(".tml")]) if 'TE3input' in s: s = os.path.basename(s[0:s.index(".TE3input")]) return s def main(): global timenote_imported
import subprocess import os import glob import sys from code.config import env_paths _ENV_PATHS = env_paths() if _ENV_PATHS["MORPHO_DIR_PATH"] == None: sys.exit("ERROR: path for morphopro not set") _TEA_HOME = os.path.join(*([os.path.dirname(os.path.abspath(__file__))] + [".."] * 4)) _dict_entry = lambda morpho_line, sentence_num, sentence_index: { "token_morpho": morpho_line[0], "pos_morpho": morpho_line[1], "morphology_morpho": morpho_line[2], "chunk_morpho": morpho_line[3], "sentence_num_morpho": sentence_num, "sentence_index_morpho": sentence_index } _new_sentence = lambda l: l[0:1] == '' _comment = lambda l: l[0:1] == '#' def process(text, base_filename=None, overwrite=False, verbose=False): """Perform morphological analysis on a text doc.
"""Used for interacting with newsreader components. """ import os import subprocess import time import signal import atexit TEA_HOME_DIR = os.path.join(*([os.path.dirname(os.path.abspath(__file__))] + [".."] * 5)) from code.config import env_paths if env_paths()["PY4J_DIR_PATH"] is None: sys.exit("PY4J_DIR_PATH environment variable not specified") from py4j.java_gateway import GatewayClient PY4J_DEPENDENCIES = "{}/*".format(env_paths()["PY4J_DIR_PATH"]) TOK_JAR_PATH = TEA_HOME_DIR + "/dependencies/NewsReader/ixa-pipes-1.1.0/ixa-pipe-tok-1.8.2.jar" POS_JAR_PATH = TEA_HOME_DIR + "/dependencies/NewsReader/ixa-pipes-1.1.0/ixa-pipe-pos-1.4.1.jar" NER_JAR_PATH = TEA_HOME_DIR + "/dependencies/NewsReader/ixa-pipes-1.1.0/ixa-pipe-nerc-1.5.2.jar" PARSE_JAR_PATH = TEA_HOME_DIR + "/dependencies/NewsReader/ixa-pipes-1.1.0/ixa-pipe-parse-1.1.0.jar" SRC_DR = TEA_HOME_DIR + "/code/notes/utilities/pre_processing/py4j_newsreader" DEPENDENCIES = ":{}:{}:{}:{}:{}:{}:{}/*".format(PY4J_DEPENDENCIES, TOK_JAR_PATH, POS_JAR_PATH, NER_JAR_PATH, PARSE_JAR_PATH, SRC_DR, SRC_DR) class GateWayServer(object):
"""Used for interacting with newsreader components. """ import os import subprocess import time import signal import atexit TEA_HOME_DIR = os.path.join(*([os.path.dirname(os.path.abspath(__file__))]+[".."]*5)) from code.config import env_paths if env_paths()["PY4J_DIR_PATH"] is None: sys.exit("PY4J_DIR_PATH environment variable not specified") from py4j.java_gateway import GatewayClient PY4J_DEPENDENCIES="{}/*".format(env_paths()["PY4J_DIR_PATH"]) TOK_JAR_PATH=TEA_HOME_DIR + "/dependencies/NewsReader/ixa-pipes-1.1.0/ixa-pipe-tok-1.8.2.jar" POS_JAR_PATH=TEA_HOME_DIR + "/dependencies/NewsReader/ixa-pipes-1.1.0/ixa-pipe-pos-1.4.1.jar" NER_JAR_PATH=TEA_HOME_DIR + "/dependencies/NewsReader/ixa-pipes-1.1.0/ixa-pipe-nerc-1.5.2.jar" PARSE_JAR_PATH=TEA_HOME_DIR + "/dependencies/NewsReader/ixa-pipes-1.1.0/ixa-pipe-parse-1.1.0.jar" SRC_DR=TEA_HOME_DIR + "/code/notes/utilities/pre_processing/py4j_newsreader" DEPENDENCIES=":{}:{}:{}:{}:{}:{}:{}/*".format(PY4J_DEPENDENCIES, TOK_JAR_PATH, POS_JAR_PATH, NER_JAR_PATH, PARSE_JAR_PATH, SRC_DR, SRC_DR) class GateWayServer(object): """creates the py4j gateway to allow access to jvm objects. only one gateway server may be running at a time on a specific port. """ server = None