Exemplo n.º 1
0
    def testConstruct(self):
        request = self.request
        self.assertEqual(self.URL, request.getUrl())
        self.assertIsNotNone(request.getParams())
        params = request.getParams()
        self.assertEqual('key' in params.keys(), True)
        self.assertEqual(params['key'], self.KEY)
        self.assertIsNotNone(request.getTimeout())
        self.assertEqual(self.TIMEOUT_DEFAULT, request.getTimeout())

        extraHeaders = ["Accept: application/json"]
        request2 = meaningcloud.ClassRequest(self.KEY,
                                             txt=self.text,
                                             model=self.model,
                                             extraheaders=extraHeaders)
        self.assertIsNotNone(request2.sendReq())

        otherparams = {'key2': 'my_key2'}
        request3 = meaningcloud.ClassRequest(self.KEY,
                                             txt=self.text,
                                             model=self.model,
                                             extraheaders=extraHeaders,
                                             otherparams=otherparams)
        self.assertIsNotNone('key2' in request3.getParams().keys(), True)
        self.assertEqual(request3.getParams()['key2'], 'my_key2')

        url = 'https://en.wikipedia.org/wiki/Star_Trek'
        request4 = meaningcloud.ClassRequest(self.KEY,
                                             url=url,
                                             model=self.model,
                                             extraheaders=extraHeaders,
                                             otherparams=otherparams)

        self.assertIsNotNone('url' in request4.getParams().keys(), True)
        self.assertEqual(request4.getParams()['url'], url)

        file = self.RESOURCES_DIR + 'file.txt'
        request5 = meaningcloud.ClassRequest(self.KEY,
                                             doc=file,
                                             model=self.model,
                                             extraheaders=extraHeaders,
                                             otherparams=otherparams)

        self.assertIsNotNone('doc' in request5.getParams().keys(), False)
        doc = request5._file['doc'].read().decode('utf-8')

        request5._file['doc'].close()
        aux_doc = open(self.RESOURCES_DIR + 'file.txt', 'rb')
        aux_content = aux_doc.read().decode('utf-8')
        aux_doc.close()
        self.assertEqual(aux_content, doc)

        return request
Exemplo n.º 2
0
def sentiment_calc(Review):
    try:
        return mc.SentimentResponse(
            mc.ClassRequest(license_key, lang='en', txt=Review,
                            txtf='Plain').sendReq)
    except:
        return None
def getTextClassification(text, model, num_cats):
    formatted_categories = ''
    print("\tGetting " + model[0:len(model) - 3].replace('_', ' ')+ " analysis...")
    class_response = meaningcloud.ClassResponse(meaningcloud.ClassRequest(license_key, txt=text, model=model, otherparams={'txtf': 'markup'}).sendReq())
    if class_response.isSuccessful():
        categories = class_response.getCategories()
        formatted_categories = (', '.join(class_response.getCategoryLabel(cat) + ' (' + class_response.getCategoryRelevance(cat) +')' for cat in categories[:num_cats])) if categories else '(none)'
    else:
        print("\tOops! The request to Text Classification was not succesful: (" + class_response.getStatusCode() + ') ' + class_response.getStatusMsg())

    return formatted_categories
    def get_categorization(self):
        logger.debug('TextAnalysis.get_categorization()')
        if self.categorization is None:
            logger.debug('categorization not set')
            logger.debug('setting categorization')

            class_response = meaningcloud.ClassResponse(
                meaningcloud.ClassRequest(
                    self.license_key,
                    txt=self.text,
                    model=self.model,
                ).sendReq())

            # Save the raw and serialized categorization
            self.categorization_raw = class_response.getResults()
            self.categorization = MeaningCloudResponse(
                self.categorization_raw).categorization()

        logger.debug(self.categorization)
        return self.categorization