예제 #1
0
def getTags():
    description = request.args.get('description')
    if description is None or len(description) == 0:
        logging.error(f"getTags processing {description}")
        return "please provide desscription in url", status.HTTP_400_BAD_REQUEST
    else:
        try:
            logging.info(f"getTags processing {description}")
            subgenre = request.args.get('subgenre')
            if subgenre == 'FOOTBALL':
                tags = TagIdentifier().generate_tags_on_genre(
                    description, 'sports', OptimizationToolMapping.FOOTBALL)
            elif subgenre == 'BASKETBALL':
                tags = TagIdentifier().generate_tags_on_genre(
                    description, 'sports', OptimizationToolMapping.BASKETBALL)
            else:
                tags = TagIdentifier().generate_tags_on_genre(
                    description, 'sports')
        except Exception as e:
            logging.critical(
                f"getTags error for description:{description}, error:{e}")
            return str(e), status.HTTP_500_INTERNAL_SERVER_ERROR
    logging.info(
        f"getTags successful description: {description}, tags: {tags}")
    return json.dumps(tags)
예제 #2
0
def rawNLP():
    description = request.args.get('description')
    if description is None or len(description) == 0  or len(description) > 400:
        return "please provide desscription in url or decrease description length", status.HTTP_400_BAD_REQUEST
    nlp_response = TagIdentifier().base_handler.util.get_nlp_response(description)
    nlp_entities = TagIdentifier().base_handler.util.get_nlp_entities_from_nlp_response(nlp_response)
    response = [{"NLP Response": str(nlp_response), "NLP Entities": nlp_entities}]
    return json.dumps(response)
예제 #3
0
def getNLP():
    description = request.args.get('description')
    if description is None or len(description) == 0:
        return "please provide desscription in url", status.HTTP_400_BAD_REQUEST
    else:
        pass
    tags = TagIdentifier(
    ).base_handler.util.get_normalized_and_filtered_nlp_entities(description)
    return json.dumps(tags)
예제 #4
0
def getTagsFromBody():
    try:
        data = request.json
        description = data['description']
    except Exception as e:
        print(e)
        logging.error(f"getTags processing {request.data}")
        return "please provide description in json", status.HTTP_400_BAD_REQUEST
    try:
        tags = TagIdentifier().generate_tags_on_genre(description, 'sports')
    except Exception as e:
        logging.critical(f"getTags error for description:{description}, error:{e}")
        return str(e), status.HTTP_500_INTERNAL_SERVER_ERROR
    logging.info(f"getTags successful description: {description}, tags: {tags}")
    return json.dumps(tags)
예제 #5
0
 def setUpClass(self):
     super(TestTagIdentifier, self).setUpClass()
     self.tag_identifier = TagIdentifier()