Exemplo n.º 1
0
    def list(self, request):
        query = request.GET.get('query', '')

        response = {'text': query}

        start = time.time()

        trees = parse(query)

        if len(trees) > 0:
            tree = trees[0]
            response['parse'] = tree.pprint()
            response['concepts'] = list(extract_noun_phrases(tree))
            response['entities'] = list(entities(query))
        else:
            response['parse'] = None
            response['concepts'] = []
            response['entities'] = []

        # Add the status
        response["time"] = time.time() - start

        if response['parse'] is not None:
            status = 'parsed in %0.4f seconds; extracted %i concepts and %i entities'
            status = status % (response['time'], len(response['concepts']),
                               len(response['entities']))
        else:
            status = 'unable to parse input'

        response['status'] = status
        return Response(response)
Exemplo n.º 2
0
    def get_text_parse(self):
        """
        Returns a string of the parse tree and the time it took to parse
        """
        start = time.time()

        # Syntactic Parsing
        trees = parse(self.text)
        tree = trees[0].pprint() if len(trees) > 0 else None

        return (tree, time.time() - start)
Exemplo n.º 3
0
 def parse(self):
     """
     Returns the parse of the question text. Memoizes for quick access.
     """
     return parse(self.question)