Example #1
0
def analyse_sentimentwt(df, term):
    authenticator = IAMAuthenticator('api-key')
    language_translator = LanguageTranslatorV3(version='date',
                                               authenticator=authenticator)

    language_translator.set_service_url('url')

    df[term].replace(['[deleted]', '[removed]'], [1.1, 1.1], inplace=True)

    f_list = df[term].to_list()

    for l in f_list:
        l = l.encode('unicode-escape').decode('utf-8')

        pol = list()
        for l in f_list:
            print(l, "\n")
            if (l != 1.1):
                language = language_translator.identify(l).get_result()
                n = language['languages']
                m = n[0]['language']
                if (m == 'hi'):
                    translation = language_translator.translate(
                        text=l, model_id='hi-en').get_result()
                    p = translation['translations']
                    k = p[0]['translation']
                    l = k
                    analysis = TextBlob(l).sentiment
                    t = analysis.polarity
                    pol.append(t)
                else:
                    pol.append(1.1)

    df['sentiment'] = pol
    return df
Example #2
0
def translate_sentence(recognized_sentence):

    apikey_lt = "API key credentials of IBM watson Language Translator Service"

    url_lt = "url credentials of IBM watson Language Translator Service"

    version_lt = "2018-05-01"

    authenticator = IAMAuthenticator(apikey_lt)

    language_translator = LanguageTranslatorV3(version=version_lt,
                                               authenticator=authenticator)

    language_translator.set_service_url(url_lt)

    json_normalize(
        language_translator.list_identifiable_languages().get_result(),
        "languages")

    translation_response = language_translator.translate(text=recognized_text,
                                                         model_id="en-es")

    #print(translation_response)

    translation = translation_response.get_result()

    #print(translation)
    spanish_translation = translation["translations"][0]["translation"]

    return (spanish_translation)
Example #3
0
def getTranslatorText(convText):
    global language_identify
    laguage_kwargs = {
        'version': '2018-05-01',
        'username': tranlatorUser,
        'password': tranlatorPassword,
        'iam_apikey': tranlatorIAMKey,
        'url': tranlatorUrl
    }
  
    language_translator = LanguageTranslatorV3(**laguage_kwargs)
    if convText!=None and convText != '' :
        language = language_translator.identify(convText).get_result()
        language_identify = language['languages'][0]['language']
        print(language['languages'][0]['language'])

        if language_identify != 'ja' and language_identify !='zh' and language_identify !='zh-TW':
            
            language_identify = 'en'
            translation = language_translator.translate(text=convText,model_id='en'+'-ja').get_result()
#           translation = language_translator.translate(text=convText,model_id=language_identify+'-ja').get_result()  
            convText = translation['translations'][0]['translation']
            print('翻訳後:  '+convText)
            
    return convText
Example #4
0
def get_client():
    print("Using IBM Watson for translation client")
    error = []
    try:
        # reads the API key and url from the IBM json
        with open(os.path.join(REPO_PATH, ".ibmkeyfile.json")) as f:
            results = json.load(f)
            api_key = results["api_key"]
            api_url = results["api_url"]

        # instantiates instance of IBM API with IAM authentication
        authenticator = IAMAuthenticator(api_key)
        language_translator = LanguageTranslatorV3(
            version='2018-05-01',  # this is the current version
            authenticator=authenticator)
        language_translator.set_service_url(api_url)

        return language_translator

    except IBMException as e:
        error.append(str(e))

    except Exception as e:
        error.append(str(e))

    print("\n".join(error))
    return None
Example #5
0
def translate_to_english(text):

        # detect text
        language_translator = LanguageTranslatorV3(version='2018-05-01', iam_apikey=language_translator_api_key, url='https://gateway.watsonplatform.net/language-translator/api')
        language = language_translator.identify(text).get_result()['languages'][0]['language']
        translation = language_translator.translate(text=text, model_id=language+'-en').get_result()
        return translation['translations'][0]['translation']
def english_to_german(en_text):
    """
    Translate text from English to German using IBM Watson API.
    :param en_text: English string to translate.
    :return: String of text in German.
    """

    # Initialize the IBM Watson API
    if LANGUAGE_API_KEY == "--Login to IBM Watson for Key--":
        print("[ERROR] Please fill in the IBM Watson API Key.")
    else:
        authenticator = IAMAuthenticator(LANGUAGE_API_KEY)
        language_translator = LanguageTranslatorV3(version=VERSION_LT,
                                                   authenticator=authenticator)
        language_translator.set_service_url(LANGUAGE_API_URL)

    # Prevent user from trying to translate null values.
    if en_text != "":
        # Translate text and output a formatted string
        translator_response = language_translator.translate(text=en_text,
                                                            model_id='en-de')
        de_translation = translator_response.get_result(
        )['translations'][0]['translation']
    else:
        print("[ERROR] translator/english_to_german() - Cannot translate a "
              "NULL string.")
        de_translation = "NULL"

    return de_translation
Example #7
0
 def __init__(self):
     API_KEY = 'pU-g-4CPjauoZBpVDEC58QMPfXxXl8R06EnmurtIb9QX'
     authenticator = IAMAuthenticator(API_KEY)
     self.language_translator = LanguageTranslatorV3(
         version='2018-05-01', authenticator=authenticator)
     self.language_translator.set_service_url(
         'https://gateway.watsonplatform.net/language-translator/api')
Example #8
0
def get_translations(df, nlu_api_key, lt_base_url):
    """ Translate text from a Pandas DataFrame's 'text column to English.
    
    :param DataFrame df: DataFrame containing an 'id', 'text', and 'language' column
    :param str subscription_key: MS Azure subscription key
    :param str text_analytics_base_url: endpoint for the Text Analytics REST API
    :return: Values of the outputs to the API calls (list of tuples)
    :rtype: list
    """
    language_translator = LanguageTranslatorV3(version='2018-05-01',
                                               iam_apikey=nlu_api_key,
                                               url=lt_base_url)

    value_list = []
    progress_bar = tqdm(df.itertuples(), total=df.shape[0])
    progress_bar.set_description('Updating emotions')
    for row in progress_bar:
        try:
            response = language_translator.translate(
                text=row.text, model_id=f'{row.language}-en').get_result()
            values = (response['translations'][0]['translation'], row.id)
            value_list.append(values)
        except:
            values = ('N/A', row.id)
            value_list.append(values)
    return value_list
Example #9
0
 def __init__(self, url, api_key):
     self.url = url
     self.api_key = api_key
     authenticator = IAMAuthenticator(api_key)
     self.language_translator = LanguageTranslatorV3(
         version='2018-05-01', authenticator=authenticator)
     self.language_translator.set_service_url(url)
Example #10
0
def Translator(x):
    
    authenticator = IAMAuthenticator('Xxx')
    language_translator = LanguageTranslatorV3(version='2018-05-01',authenticator=authenticator)
    language_translator.set_service_url('https://api.eu-gb.language-translator.watson.cloud.ibm.com/instances/ad0baccc-1587-4c3c-aeba-9bdd06e96161')
    translation = language_translator.translate(text=x,model_id='en-es').get_result()
    _answer_ = json.dumps(translation, indent=2)["translations"][0]["translation"]
    return print('The translation:', _answer_))
Example #11
0
def init_watson_translator():
    authenticator = IAMAuthenticator(settings.WATSON_IAM_KEY)
    language_translator = LanguageTranslatorV3(version=settings.WATSON_VERSION,
                                               authenticator=authenticator)

    language_translator.set_service_url(settings.WATSON_SERVICE_URL)

    return language_translator
Example #12
0
def res(): 
    print ('inicia') 
    
    audio = pyaudio.PyAudio()
    stream = audio.open(format = pyaudio.paInt16, channels = 2, rate = 44100, frames_per_buffer = 1024, input = True)
    print('Inicia grabación')
        
    frames = []
    tiempo = 5 #segundos
    for i in range(0, int(44100/1024*tiempo)):
        tmp = stream.read(1024)
        frames.append(tmp)
            
    print('Acaba la captura')
    stream.stop_stream()
    stream.close()
        
    waveFile = wave.open('graba.wav','wb')
    waveFile.setnchannels(2)
    waveFile.setframerate(44100)
    waveFile.setsampwidth(audio.get_sample_size(pyaudio.paInt16))
    waveFile.writeframes(b''.join(frames))
    waveFile.close()

    servicio = SpeechToTextV1(iam_apikey ='id de watson') 
    with open('graba.wav','rb') as fichero:


        res = json.dumps(servicio.recognize(audio = fichero,timestamps = True,model = 'es-ES_NarrowbandModel', word_confidence = True).get_result(),sort_keys=True ,indent = 2)
        resultado=json.loads(res)
        res=resultado["results"]
        res=res[0]
        res=res["alternatives"]
        res=res[0]
        res=res["transcript"]
             
        print(res)
    audio= res
    #----------------------------------------traduccion----------------------------------------------
    language_translator = LanguageTranslatorV3(
    version='2018-05-01',
    iam_apikey='id de watson',
    url='https://gateway.watsonplatform.net/language-translator/api')
    
    translation = language_translator.translate(
    text=res, model_id='es-en').get_result()
    traduccion=json.dumps(translation, indent=2, ensure_ascii=False)
       
    #print(traduccion)
    traduccion=json.loads(traduccion)
    traduccion= traduccion["translations"]
    traduccion= traduccion[0]
    traduccion= traduccion["translation"]
    print(traduccion)
    traduccion1=traduccion
    ##-----------------------------------------------analizador
    tone_analyzer = ToneAnalyzerV3(version = '2017-09-21',iam_apikey = 'id de watson, url = 'https://gateway.watsonplatform.net/tone-analyzer/api'  )
Example #13
0
def translate_text(text, model):
    service = LanguageTranslatorV3(
        version='2018-05-01',
        authenticator=IAMAuthenticator(
            'twXIJP-10FISqL-tH1DJ_E3nmr26j_1UDhyZH-ExzpMT'))

    response = service.translate(text, model_id=model).get_result()
    result = py_.get(response, 'translations.0.translation')
    return result
Example #14
0
def Translator(x,y):
    
    authenticator = IAMAuthenticator('XxO7r8R6IIpppV1xL1-9BsrkJwYi60MU9MLQcAKvwo1y')
    language_translator = LanguageTranslatorV3(version='2018-05-01',authenticator=authenticator)
    language_translator.set_service_url('https://api.eu-gb.language-translator.watson.cloud.ibm.com/instances/ad0baccc-1587-4c3c-aeba-9bdd06e96161')
    if y == 0:
        translation = language_translator.translate(text=x,model_id='en-fr').get_result()
    elif y == 1:
        translation = language_translator.translate(text=x,model_id='en-es').get_result()
    return print(translation['translations'][0]['translation'])
Example #15
0
def translate(text, source_language, dest_language):
    url = current_app.config['IBMAPI_URL']
    authenticator = IAMAuthenticator(current_app.config['IBMAPI_KEY'])
    language_translator = LanguageTranslatorV3(version='2018-05-01',
                                               authenticator=authenticator)
    language_translator.set_service_url(url)
    r = language_translator.translate(text=text,
                                      model_id=source_language + '-' +
                                      dest_language).get_result()
    r = r['translations'][0]['translation']
    return r
Example #16
0
def translate(text, language):
    modelid = 'en-' + language
    authenticator = IAMAuthenticator('hidden')
    language_translator = LanguageTranslatorV3(version='2018-05-01',
                                               authenticator=authenticator)
    language_translator.set_service_url(
        'https://api.eu-de.language-translator.watson.cloud.ibm.com/instances/hidden'
    )
    translationibm = language_translator.translate(
        text=piece, model_id=modelid).get_result()
    return translationibm
Example #17
0
    def translate_content(self) -> "IBM_NLP":
        authenticator = IAMAuthenticator(os.getenv("IBM_LAN_API"))
        language_translator = LanguageTranslatorV3(version='2018-05-01',
                                                   authenticator=authenticator)

        language_translator.set_service_url(os.getenv("IBM_LAN_URL"))

        translation = language_translator.translate(
            text=self.text, model_id=f'{self.another_lan}-en').get_result()

        self.text = translation['translations'][0]['translation']
Example #18
0
 def spanishTranslator():  # translation function for spanish text
     authenticator = IAMAuthenticator('<authentical information')
     language_translator = LanguageTranslatorV3(version='2020-01-16',
                                                authenticator=authenticator)
     language_translator.set_service_url('url information')
     translation = language_translator.translate(
         text=interSpan1, model_id='es-en').get_result()
     print(translation)
     reply = jibu + ',' + studentNumber + ',' + studentName4 + ':' + translation
     registrationReply = bytes(reply, 'ascii')
     microcontroller_2.write(registrationReply)
Example #19
0
def englishtogerman(word):
    """This class does english to german translation"""

    url_lt='https://api.us-south.language-translator.watson.cloud.ibm.com/instances/dfb4e059-a2b5-470b-9ac4-f4628099cf0a'
    apikey_lt='5W4TiN2vz1utmA3YgN0-m9qv7TgzznYioDwTXPc4g_-7'
    version_lt='2018-05-01'
    authenticator = IAMAuthenticator(apikey_lt)
    language_translator = LanguageTranslatorV3(version=version_lt,authenticator=authenticator)
    language_translator.set_service_url(url_lt)
    lt = language_translator
    translation = lt.translate(text=word, model_id="en-de").get_result()
    return translation['translations'][0]['translation']
Example #20
0
def convert_en_to_ar(text):

    authenticator = IAMAuthenticator(ibm_api_key)
    language_translator = LanguageTranslatorV3(version='2018-05-01',
                                               authenticator=authenticator)

    language_translator.set_service_url(ibm_url)
    translation = language_translator.translate(text=text,
                                                model_id='en-ar').get_result()

    ar_translation = translation['translations'][0]['translation']
    return ar_translation
Example #21
0
 def spanishLanguageTranslator(
 ):  # translation function for incoming english language to spanish
     authenticator = IAMAuthenticator('authentication information')
     language_translator = LanguageTranslatorV3(version='2020-01-16',
                                                authenticator=authenticator)
     language_translator.set_service_url('https://url information')
     translation = language_translator.translate(
         text=translationText, model_id='en-es').get_result()
     print(translation)
     reply = jibu + ',' + studentNumber + ',' + studentNumber + ':' + translation
     registrationReply = bytes(reply, 'ascii')
     microcontroller_2.write(registrationReply)
Example #22
0
def Translator(lang, data):
    #mymodel=lang1[:2]+'-'+lang[:2]
    mymodel = 'en-' + lang[:2]
    #print(mymodel)
    authenticator = IAMAuthenticator(IAMAuth2)
    language_translator = LanguageTranslatorV3(version='2018-05-01',
                                               authenticator=authenticator)
    language_translator.set_service_url(service_url2)
    translation = language_translator.translate(text=data,
                                                model_id=mymodel).get_result()
    print(translation['translations'][0]['translation'])
    return translation['translations'][0]['translation']
def initServices(app):
    # Setup MQTT
    app.config['MQTT_BROKER_URL'] = 'test.mosquitto.org'
    app.config['MQTT_BROKER_PORT'] = 1883
    mqtt = Mqtt(app)
    app.config['MQTT_CLIENT'] = mqtt

    # Setup IBM Watson
    load_dotenv()
    authenticator = IAMAuthenticator(os.getenv("STT_API_KEY"))
    service = SpeechToTextV1(authenticator=authenticator)
    service.set_service_url(os.getenv("STT_URL"))
    app.config['SPEECH_TO_TEXT'] = service

    authenticator_translate = IAMAuthenticator(os.getenv("TRANSLATE_API_KEY"))
    language_translator = LanguageTranslatorV3(
        version='2018-05-01', authenticator=authenticator_translate)
    language_translator.set_service_url(os.getenv("TRANSLATE_URL"))
    app.config['LANGUAGE_TRANSLATOR'] = language_translator

    # IBM COS
    app.config['COS_ENDPOINT'] = os.getenv("COS_ENDPOINT")
    if not app.config['COS_ENDPOINT'].startswith(
            'http') or not app.config['COS_ENDPOINT'].startswith('https'):
        app.config['COS_ENDPOINT'] = 'https://' + app.config['COS_ENDPOINT']

    cos = ibm_boto3.resource(
        "s3",
        ibm_api_key_id=os.getenv("COS_API_KEY"),
        ibm_service_instance_id=os.getenv("COS_IAM_ROLE_CRN"),
        ibm_auth_endpoint='https://iam.cloud.ibm.com/identity/token',
        config=Config(signature_version="oauth"),
        endpoint_url=app.config['COS_ENDPOINT'])
    app.config['COS'] = cos
    app.config['COS_BUCKET_NAME'] = os.getenv("COS_BUCKET_NAME")

    # Setup config
    # app.config['BASE'] = os.path.join(os.path.dirname(os.getcwd()),'cfc-covid-19-video-transcriber-starter')
    app.config['BASE'] = os.path.join(os.path.dirname(os.getcwd()), '/app')
    app.config['BASE'] = os.path.join(app.config['BASE'], 'server')
    app.config['UPLOAD_FOLDER'] = os.path.join(app.config['BASE'],
                                               'video_uploads')
    app.config['AUDIO_FOLDER'] = os.path.join(app.config['BASE'],
                                              'audio_extractions')
    app.config['OUTPUT_FOLDER'] = os.path.join(app.config['BASE'],
                                               'output_transcripts')

    os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True)
    os.makedirs(app.config['AUDIO_FOLDER'], exist_ok=True)
    os.makedirs(app.config['OUTPUT_FOLDER'], exist_ok=True)

    return
Example #24
0
def getTranslatorToEnlish(text):
    
    laguage_kwargs = {
        'version': '2018-05-01',
        'username': tranlatorUser,
        'password': tranlatorPassword,
        'iam_apikey': tranlatorIAMKey,
        'url': tranlatorUrl
    }
  
    language_translator = LanguageTranslatorV3(**laguage_kwargs)
    translation = language_translator.translate(text=text,model_id='ja-en').get_result()
    return translation
Example #25
0
def translate(text, language):
    """ Reçoit un texte et un string décrivant le sens de traduction voulu
	Utilise l'API d'IBM Watson Language Translator et renvoie le texte traduit

	"""
    language_translator = LanguageTranslatorV3(
        version='2018-05-01',
        iam_apikey=APIKEY,
        url='https://gateway-lon.watsonplatform.net/language-translator/api')

    translation = language_translator.translate(text, language).get_result()
    return json.dumps(translation['translations'][0]['translation'], \
   ensure_ascii=False).replace("\"", "")
Example #26
0
def language_translator(input_text,target_language):
        api_key_translator = '{api-key}'
        url_translator = "{api-key}"
        authenticator = IAMAuthenticator(api_key_translator)
        language_translator = LanguageTranslatorV3(
        version='2020-06-03',
        authenticator=authenticator)
        language_translator.set_service_url(url_translator)
        language_translator.set_disable_ssl_verification(True)
        translation = language_translator.translate(
        text=input_text , target = target_language).get_result()
        results = json.dumps(translation, indent=2, ensure_ascii=False)
        return results
Example #27
0
def languange_translator(in_file):
    """
    Translate text from English to Spanish
    """
    recognized_text = speech_to_text(in_file)
    authenticator_lt = IAMAuthenticator(os.environ.get('LT_KEY'))
    language_translator = LanguageTranslatorV3(
        version=os.environ.get('VERSION'), authenticator=authenticator_lt)
    language_translator.set_service_url(os.environ.get('LT_URL'))
    translated_response = language_translator.translate(text=recognized_text,
                                                        model_id='en-es')
    translation = translated_response.get_result()
    final_trans = translation['translations'][0]['translation']
    return final_trans
    def _get_translator(self):
        """
        Uses provided value in the config value to authenticate to Watson Translate API
        :return:  LanguageTranslatorV3
        """
        authenticator = IAMAuthenticator(
            self.options["fn_watson_translate_api"])
        language_translator = LanguageTranslatorV3(
            version=self.options["fn_watson_translate_version"],
            authenticator=authenticator)
        language_translator.set_service_url(
            self.options["fn_watson_translate_url"])

        return language_translator
Example #29
0
def translator(text, lang):
    """
    authentication with the ibm language translator instance/function returns a dictionary with
    the translated text
    """
    authenticator = IAMAuthenticator('key_aquired_by_ibm')
    language_translator = LanguageTranslatorV3(version='2018-05-01',
                                               authenticator=authenticator)
    language_translator.set_service_url(
        'https://api.us-south.language-translator.watson.cloud.ibm.com/instances/2598d376-0b24-4053-a279-aeabd167e5a8'
    )
    translation = language_translator.translate(text=text,
                                                model_id=lang).get_result()
    return translation
Example #30
0
def data_from_CSV():
    conn = establish_DB_connection_SQL()
    df = pd.read_csv(sys.argv[1], keep_default_na=False)
    tweets = df.set_index('status_id', drop=False)
    for index, row in tweets.iterrows():
        phone_no = ''
        hashtag = []
        text = str(row['text'])

        if str(detect_langs(text)[0])[0:2] == 'hi' and text != 'nan':
            text1 = text
            authenticator = IAMAuthenticator(
                'worUzb_Eb5emCaIs0oL7sR86Fb2LeTJGOk1EN1Q-4Cni')
            language_translator = LanguageTranslatorV3(
                version='2018-05-01', authenticator=authenticator)

            language_translator.set_service_url(
                'https://api.eu-gb.language-translator.watson.cloud.ibm.com/instances/cdafbc7e-b59a-40f8-818f-1914f02063cc'
            )
            translation = language_translator.translate(
                text=text1, model_id='hi-en').get_result()
            output = json.loads(
                json.dumps(translation, indent=2, ensure_ascii=False))
            text = output['translations'][0]['translation']

        if str(detect_langs(text)[0])[0:2] == 'en' and text != 'nan':
            text = data_cleaning(text)
            words = text.split()
            words = set(words)
            words = list(words)
            for w in words:
                if re.match(
                        '^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}0{0,1}[1-9]{1}[0-9]{9}$',
                        w):
                    phone_no = w[-10:]
                if w.startswith('#'):
                    hashtag.append(w)
            request_type = processML(text)

            if request_type != '':
                name = str(row['screen_name'])
                if name == '': name = None
                if text == '': text = None
                if phone_no == '': phone_no = 9900990099
                latitude = 9.9252
                longitude = 78.1198
                updateDB_SQL(row['screen_name'], text, latitude, longitude,
                             phone_no, request_type, conn)
    disconnect_DB_SQL()