{"id":38807,"date":"2023-01-13T07:39:55","date_gmt":"2023-01-13T06:39:55","guid":{"rendered":"https:\/\/www.inovex.de\/?p=38807"},"modified":"2026-02-18T07:41:57","modified_gmt":"2026-02-18T06:41:57","slug":"how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5","status":"publish","type":"post","link":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/","title":{"rendered":"How to Use Google\u2019s ML Kit to Enhance Pepper With AI (Part 5)"},"content":{"rendered":"<p>Welcome to the fifth and final part of this blog series \u201cEnhancing Pepper robot with AI with Google\u2019s ML Kit\u201c! Now, we are going to see how to leverage Google\u2019s ML Kit Translation API to power Pepper with translating capabilities. <!--more--><\/p>\n<p>In case you missed the previous articles, I recommend you start reading <a href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-1\">here<\/a> for an introduction to what we are building in this series.<\/p>\n<p>In previous articles, we saw several ways how we can enhance Pepper\u2019s abilities by integrating <a href=\"https:\/\/developers.google.com\/ml-kit\" target=\"_blank\" rel=\"noopener\">ML Kit<\/a> in our apps to build some cool new features, e.g. to recognize the objects around it, to build a game where it recognizes what we draw on its tablet or to read texts aloud. <span style=\"font-weight: 400;\">Before we start with the implementation, as usual, let\u2019s look at an example video to see what we would like to achieve.<\/span><\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-38807-1\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/PXL_20220826_110946714.mp4?_=1\" \/><a href=\"https:\/\/www.inovex.de\/wp-content\/uploads\/PXL_20220826_110946714.mp4\">https:\/\/www.inovex.de\/wp-content\/uploads\/PXL_20220826_110946714.mp4<\/a><\/video><\/div>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\"><\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#Text-Translation\" >Text Translation<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#Usage-guidelines\" >Usage guidelines<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#Implementation\" >Implementation<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#How-to-recognize-speech\" >How to recognize speech<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#How-to-parse-the-question\" >How to parse the question<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#How-to-translate\" >How to translate<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#How-to-utter-the-translation\" >How to utter the translation<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Text-Translation\"><\/span>Text Translation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>With this demo, you can ask Pepper to translate a word or a sentence between any pair of languages of those available in your robot. Pepper will respond, uttering the translation in the target language by means of the TextToSpeech android library. The translation will be powered by the ML Kit&#8217;s on-device <a href=\"https:\/\/developers.google.com\/ml-kit\/language\/translation\" target=\"_blank\" rel=\"noopener\">Translation API<\/a>, which makes use of the same models used by the Google Translate app&#8217;s offline mode. Google warns that this on-device translation is intended for casual and simple translations only as it does not offer the same quality as the Cloud Translation API, i.e., it should not be used for translating long texts, but that is not a problem because, for our demo, in which the translations are short and not too complicated, this is more than enough and the results are satisfying.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Usage-guidelines\"><\/span>Usage guidelines<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Before using this Google product in your application, make sure to refer first to the <a href=\"https:\/\/developers.google.com\/ml-kit\/language\/translation\/translation-terms\" target=\"_blank\" rel=\"noopener\">Guidelines page<\/a> for important guidelines and restrictions on the usage of this API, as it\u00a0must comply with the Google Cloud Translation API\u00a0<a href=\"https:\/\/cloud.google.com\/translate\/attribution\" target=\"_blank\" rel=\"noopener\">attribution requirements<\/a>. These requirements include guidelines on how the app must handle layout, Google attribution, and branding.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Implementation\"><\/span>Implementation<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/github.com\/SilviaSantano\/Pepper-and-MLKit\" target=\"_blank\" rel=\"noopener\">Here<\/a> you can find the full code of the application we&#8217;re building throughout this series.<\/p>\n<p>The structure of this demo is very similar to those we had in our <a href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-2\">Object Detection Demo<\/a> and our <a href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-4\">Text Recognition Demo. <\/a>We have a fragment, a ViewModel, and a TextTranslator, where we interact with the API. The difference is that after the initialization, there is nothing we want to be updated on the screen or keep running in the background except for the speech recognition engine, but rather the robot simply waits to be asked to translate something and all actions will be triggered from our dialog, the QiChat topic file.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How-to-recognize-speech\"><\/span>How to recognize speech<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>When the user asks any of the variants of the question \u201chow do you say [text] in German\/Spanish\/&#8230;?\u201c defined in the dialog topic file, a bookmark is reached, through which the activity gets informed and after what it will call the method in the fragment.<\/p>\n<p>While the translation will be happening completely offline, to be able to recognize free speech, i.e., any word or phrase, without needing it to be predefined, the standard remote speech recognition engine from Pepper, based on Nuance\u2019s technology, is needed. This cloud-based speech recognition is not needed where we only translate and respond to words and sentences we know in advance and can list and hardcode in the dialog topic file written in QiChat language. If for the development of an application restrictions would apply, such that we are not allowed to send speech excerpts to this cloud, the alternatives would be either working with the mentioned offline variant, which limits the recognition to predefined sentences, or replacing Pepper&#8217;s standard speech recognition with an own. Replacing this whole system would be possible although arduous. It takes care of detecting speech in progress and also the end of it and doing the speech-to-text conversion for us, thus providing the heard text directly to the Chatbots that are running and listening to input, as explained in the <a href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-1\">introduction article<\/a> of this series.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How-to-parse-the-question\"><\/span>How to parse the question<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>We will make use of the free speech recognition function to be able to translate any text. In the topic file, we signalize we want to recognize free speech by using the symbol \u201c*\u201c as a wildcard for the part of the text that corresponds to what needs to be translated. For the target language, we choose from the list of available languages. We first mark both with \u201c_\u201c in front of them to be stored in temporary variables in the concept, \u201c$1\u201c and \u201c$2\u201c respectively, and next we store them in variables as we have done in previous examples by using the \u201c$\u201c symbol before the name we gave them in the code.<\/p>\n<p>We programmed our application to be available in English, German and Spanish, for instance, but the list could be extended with as many languages as you want to support.<\/p>\n<pre>concept:(askedtotranslate) [\"how do you say _* in _[german spanish]\" \"[what's \"what is\"] _* in _[german spanish]\" \"[\"what is\" what's] the meaning of _* in _[german spanish]\" \"{\"can you\" \"could you\"} translate _* [into to] _[german spanish]\"]\r\n\r\nu:(~askedtotranslate) %askedToTranslateBookmark $textToTranslate=$1 $toLanguage=$2 $pronounceTranslationBookmark=\"\" just a moment<\/pre>\n<p>As mentioned earlier, after storing the information we extracted in variables when the bookmark is reached, we will be notified in the activity, which will trigger the translation in the fragment, if the fragment is currently being displayed.<\/p>\n<pre>\/\/ Bookmark listener to respond to translation requests\r\nviewModel.qiChatbot?.bookmarkStatus(\r\n    viewModel.mainTopic.bookmarks[getString(R.string.askedToTranslateBookmark)]\r\n        )?.addOnReachedListener {\r\n            val fragment: TranslatingFragment =\r\n                supportFragmentManager.findFragmentByTag(\r\n                    TranslatingFragment::class.simpleName\r\n                ) as TranslatingFragment\r\n            if (fragment.isVisible) {\r\n                fragment.translate()\r\n            }\r\n        }<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"How-to-translate\"><\/span>How to translate<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once the question has been processed, we use the information we stored in the variables to complete the task: the text and the target language. If the target language is one of those installed on the robot, we initiate the translation. Although the translator can translate more than 50 languages, it might be confusing for the user that Pepper can translate into languages it\u2019s not able to speak (because they are not installed on the robot) so, in this case, we stuck to our three supported languages in our app.<\/p>\n<pre>fun translate() {\r\n    val textToTranslate = mainViewModel.getQiChatVariable(getString(R.string.textToTranslate))\r\n    val toLanguage = languageMap[\r\n        mainViewModel.getQiChatVariable(getString(R.string.toLanguage)).lowercase()\r\n    ]\r\n\r\n    Timber.d(\"Asked to translate '$textToTranslate' to $toLanguage\")\r\n\r\n    if (toLanguage != Language.OTHER) {\r\n        mainViewModel.translate(\r\n            mainViewModel.language, toLanguage!!, textToTranslate\r\n        ).addOnSuccessListener { text -&gt;\r\n            Timber.d(\"The translation is '$text'\")\r\n            goToTranslatedBookmark(text)\r\n            showTranslationResults(text)\r\n        }\r\n    } else {\r\n        goToTranslationNotPossibleBookmark()\r\n    }\r\n}<\/pre>\n<p>Our TextTranslator, called by the ViewModel, is very straightforward since so is the Text Translation API as well. We simply need to create the options with the source and target language, a client, and the download conditions if any, and we are ready to translate. We use a simple map to convert the different nomenclatures for languages used in each of the libraries.<\/p>\n<pre>class TextTranslator(\r\n    private var translatingLanguageMap: Map&lt;Language, String&gt;\r\n) {\r\n    fun translate(source: Language, target: Language, text: String): Task&lt;String&gt; {\r\n        val options = TranslatorOptions.Builder()\r\n            .setSourceLanguage(translatingLanguageMap[source])\r\n            .setTargetLanguage(translatingLanguageMap[target])\r\n            .build()\r\n        val translator = Translation.getClient(options)\r\n        val conditions = DownloadConditions.Builder()\r\n            .requireWifi()\r\n            .build()\r\n        translator.downloadModelIfNeeded(conditions)\r\n\r\n        return translator.translate(text)\r\n    }\r\n}<\/pre>\n<pre>enum class Language {\r\n    ENGLISH, SPANISH, GERMAN, OTHER\r\n}\r\n\r\nvar languageMap: Map&lt;String, Language&gt; = mapOf(\r\n    \"englisch\" to Language.ENGLISH,\r\n    \"ingl\u00e9s\" to Language.ENGLISH,\r\n    \"german\" to Language.GERMAN,\r\n    \"alem\u00e1n\" to Language.GERMAN,\r\n    \"spanish\" to Language.SPANISH,\r\n    \"spanisch\" to Language.SPANISH\r\n).withDefault { Language.OTHER }<\/pre>\n<p>When the results are ready, we display the results in text form on the screen and use them for the reply via voice.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"How-to-utter-the-translation\"><\/span>How to utter the translation<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To reply via voice, once we have the translation, we jump to another bookmark in the dialog topic. We do that by first setting the variable with the text and then going to the bookmark as follows:<\/p>\n<pre>private fun goToTranslatedBookmark(text: String) {\r\n    translatedText = text\r\n\r\n    mainViewModel.setQiChatVariable(getString(R.string.pronounceTranslationBookmark), text)\r\n    mainViewModel.goToQiChatBookmark(getString(R.string.translatedBookmark))\r\n}<\/pre>\n<p>In the topic, Pepper starts by replying to the initial question and, instead of uttering the translation in a foreign language with the wrong pronunciation, we make use of yet another bookmark to jump back to the logic and pronounce the translated text with a speech engine in the target language.<\/p>\n<pre>u:(^empty) %translatedBookmark $textToTranslate in $toLanguage is %pronounceTranslationBookmark<\/pre>\n<p>The activity will do so by triggering a call to pronounceTranslation. This method uses the Text To Speech from the speech library available in Android to utter the text with the right pronunciation in the selected language. This library synthesizes speech from the text for immediate playback, as well as to create a sound file.<\/p>\n<pre>fun pronounceTranslation() {\r\n    val toLanguage = languageMap[\r\n        mainViewModel.getQiChatVariable(getString(R.string.toLanguage)).lowercase()\r\n    ]\r\n\r\n    tts.language =\r\n        when (toLanguage) {\r\n            Language.ENGLISH -&gt; Locale.ENGLISH\r\n            Language.GERMAN -&gt; Locale.GERMAN\r\n            else -&gt; Locale(\"es\", \"ES\")\r\n        }\r\n    tts.speak(translatedText, TextToSpeech.QUEUE_FLUSH, null, null)\r\n}<\/pre>\n<p>If the request was to translate to a language other than those supported, Pepper will politely respond that the requested language is not available.<\/p>\n<pre>u:(^empty) %TranslationNotPossibleBookmark I'm afraid I can't translate $textToTranslate to $toLanguage since I currently only speak English, German and Spanish. I'm sorry about that<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>That is it! That is how we can let Pepper translate something into another language.<\/p>\n<p>A social robot like Pepper can benefit greatly from translating capabilities. For instance, when acting as a helper or companion, it can be of great help for the user to have this feature available and accessible anytime through natural language.<\/p>\n<p>I hope you enjoyed the implementation of this demo! Check out the other articles of this series, where we look at more use cases and how to implement them in our ML Kit-powered Android app for the Pepper robot!<\/p>\n<p>&nbsp;<\/p>\n<ol class=\"ol-styled\">\n<li><strong><a href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-1\">Introduction<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-2\">demo with ML Kit&#8217;s Object Detection API<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-3\">demo with mL Kit&#8217;s digital ink recognition api<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-4\">demo with mL Kit&#8217;s text recognition API<\/a><\/strong><\/li>\n<li><strong>demo with ml kit&#8217;s translation api (this article)<\/strong><\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to the fifth and final part of this blog series \u201cEnhancing Pepper robot with AI with Google\u2019s ML Kit\u201c! Now, we are going to see how to leverage Google\u2019s ML Kit Translation API to power Pepper with translating capabilities.<\/p>\n","protected":false},"author":57,"featured_media":41233,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"ep_exclude_from_search":false,"footnotes":""},"tags":[149,510,511,151,727,140,725,726],"service":[420,76],"coauthors":[{"id":57,"display_name":"Silvia Santano","user_nicename":"ssantano"}],"class_list":["post-38807","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-android","tag-apps-2","tag-artificial-intelligence-2","tag-deep-learning","tag-human-computer-interaction","tag-machine-learning","tag-pepper","tag-robotics","service-apps","service-artificial-intelligence"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Use Google\u2019s ML Kit to Enhance Pepper With AI (Part 5) - inovex GmbH<\/title>\n<meta name=\"description\" content=\"This guide shows how to leverage Google\u2019s ML Kit Translation API to enhance the social robot Pepper with translating capabilities.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Use Google\u2019s ML Kit to Enhance Pepper With AI (Part 5) - inovex GmbH\" \/>\n<meta property=\"og:description\" content=\"This guide shows how to leverage Google\u2019s ML Kit Translation API to enhance the social robot Pepper with translating capabilities.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/\" \/>\n<meta property=\"og:site_name\" content=\"inovex GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inovexde\" \/>\n<meta property=\"article:published_time\" content=\"2023-01-13T06:39:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-18T06:41:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/enhancing-pepper-with-ai-part-5.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1921\" \/>\n\t<meta property=\"og:image:height\" content=\"1081\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Silvia Santano\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/enhancing-pepper-with-ai-part-5-1024x576.png\" \/>\n<meta name=\"twitter:creator\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:site\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Silvia Santano\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"8\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Silvia Santano\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/\"},\"author\":{\"name\":\"Silvia Santano\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/f2d17a49f3a806bc6cdb4902a32a0ef9\"},\"headline\":\"How to Use Google\u2019s ML Kit to Enhance Pepper With AI (Part 5)\",\"datePublished\":\"2023-01-13T06:39:55+00:00\",\"dateModified\":\"2026-02-18T06:41:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/\"},\"wordCount\":1371,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/enhancing-pepper-with-ai-part-5.png\",\"keywords\":[\"Android\",\"Apps\",\"Artificial Intelligence\",\"Deep Learning\",\"Human-Computer-Interaction\",\"Machine Learning\",\"Pepper\",\"Robotics\"],\"articleSection\":[\"Analytics\",\"Applications\",\"English Content\",\"General\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/\",\"url\":\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/\",\"name\":\"How to Use Google\u2019s ML Kit to Enhance Pepper With AI (Part 5) - inovex GmbH\",\"isPartOf\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/enhancing-pepper-with-ai-part-5.png\",\"datePublished\":\"2023-01-13T06:39:55+00:00\",\"dateModified\":\"2026-02-18T06:41:57+00:00\",\"description\":\"This guide shows how to leverage Google\u2019s ML Kit Translation API to enhance the social robot Pepper with translating capabilities.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#primaryimage\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/enhancing-pepper-with-ai-part-5.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/enhancing-pepper-with-ai-part-5.png\",\"width\":1921,\"height\":1081,\"caption\":\"Pepper the robot on brownish background with superimposed brain\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.inovex.de\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Use Google\u2019s ML Kit to Enhance Pepper With AI (Part 5)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.inovex.de\/de\/#website\",\"url\":\"https:\/\/www.inovex.de\/de\/\",\"name\":\"inovex GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.inovex.de\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\",\"name\":\"inovex GmbH\",\"url\":\"https:\/\/www.inovex.de\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png\",\"width\":1921,\"height\":1081,\"caption\":\"inovex GmbH\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/inovexde\",\"https:\/\/x.com\/inovexgmbh\",\"https:\/\/www.instagram.com\/inovexlife\/\",\"https:\/\/www.linkedin.com\/company\/inovex\",\"https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/f2d17a49f3a806bc6cdb4902a32a0ef9\",\"name\":\"Silvia Santano\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/image\/bd867eef3c3c053b3e6e1634ffac9ffc\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-IMG_6952-2-scaled-e1665488822192-1-96x96.jpeg\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-IMG_6952-2-scaled-e1665488822192-1-96x96.jpeg\",\"caption\":\"Silvia Santano\"},\"url\":\"https:\/\/www.inovex.de\/de\/blog\/author\/ssantano\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Use Google\u2019s ML Kit to Enhance Pepper With AI (Part 5) - inovex GmbH","description":"This guide shows how to leverage Google\u2019s ML Kit Translation API to enhance the social robot Pepper with translating capabilities.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/","og_locale":"de_DE","og_type":"article","og_title":"How to Use Google\u2019s ML Kit to Enhance Pepper With AI (Part 5) - inovex GmbH","og_description":"This guide shows how to leverage Google\u2019s ML Kit Translation API to enhance the social robot Pepper with translating capabilities.","og_url":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/","og_site_name":"inovex GmbH","article_publisher":"https:\/\/www.facebook.com\/inovexde","article_published_time":"2023-01-13T06:39:55+00:00","article_modified_time":"2026-02-18T06:41:57+00:00","og_image":[{"width":1921,"height":1081,"url":"https:\/\/www.inovex.de\/wp-content\/uploads\/enhancing-pepper-with-ai-part-5.png","type":"image\/png"}],"author":"Silvia Santano","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.inovex.de\/wp-content\/uploads\/enhancing-pepper-with-ai-part-5-1024x576.png","twitter_creator":"@inovexgmbh","twitter_site":"@inovexgmbh","twitter_misc":{"Verfasst von":"Silvia Santano","Gesch\u00e4tzte Lesezeit":"8\u00a0Minuten","Written by":"Silvia Santano"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#article","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/"},"author":{"name":"Silvia Santano","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/f2d17a49f3a806bc6cdb4902a32a0ef9"},"headline":"How to Use Google\u2019s ML Kit to Enhance Pepper With AI (Part 5)","datePublished":"2023-01-13T06:39:55+00:00","dateModified":"2026-02-18T06:41:57+00:00","mainEntityOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/"},"wordCount":1371,"commentCount":1,"publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/enhancing-pepper-with-ai-part-5.png","keywords":["Android","Apps","Artificial Intelligence","Deep Learning","Human-Computer-Interaction","Machine Learning","Pepper","Robotics"],"articleSection":["Analytics","Applications","English Content","General"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/","url":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/","name":"How to Use Google\u2019s ML Kit to Enhance Pepper With AI (Part 5) - inovex GmbH","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#primaryimage"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/enhancing-pepper-with-ai-part-5.png","datePublished":"2023-01-13T06:39:55+00:00","dateModified":"2026-02-18T06:41:57+00:00","description":"This guide shows how to leverage Google\u2019s ML Kit Translation API to enhance the social robot Pepper with translating capabilities.","breadcrumb":{"@id":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#primaryimage","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/enhancing-pepper-with-ai-part-5.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/enhancing-pepper-with-ai-part-5.png","width":1921,"height":1081,"caption":"Pepper the robot on brownish background with superimposed brain"},{"@type":"BreadcrumbList","@id":"https:\/\/www.inovex.de\/de\/blog\/how-to-use-googles-ml-kit-to-enhance-pepper-with-ai-part-5\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.inovex.de\/de\/"},{"@type":"ListItem","position":2,"name":"How to Use Google\u2019s ML Kit to Enhance Pepper With AI (Part 5)"}]},{"@type":"WebSite","@id":"https:\/\/www.inovex.de\/de\/#website","url":"https:\/\/www.inovex.de\/de\/","name":"inovex GmbH","description":"","publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.inovex.de\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.inovex.de\/de\/#organization","name":"inovex GmbH","url":"https:\/\/www.inovex.de\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","width":1921,"height":1081,"caption":"inovex GmbH"},"image":{"@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/inovexde","https:\/\/x.com\/inovexgmbh","https:\/\/www.instagram.com\/inovexlife\/","https:\/\/www.linkedin.com\/company\/inovex","https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ"]},{"@type":"Person","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/f2d17a49f3a806bc6cdb4902a32a0ef9","name":"Silvia Santano","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/image\/bd867eef3c3c053b3e6e1634ffac9ffc","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-IMG_6952-2-scaled-e1665488822192-1-96x96.jpeg","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/cropped-IMG_6952-2-scaled-e1665488822192-1-96x96.jpeg","caption":"Silvia Santano"},"url":"https:\/\/www.inovex.de\/de\/blog\/author\/ssantano\/"}]}},"_links":{"self":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/38807","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/users\/57"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/comments?post=38807"}],"version-history":[{"count":5,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/38807\/revisions"}],"predecessor-version":[{"id":66233,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/38807\/revisions\/66233"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media\/41233"}],"wp:attachment":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media?parent=38807"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/tags?post=38807"},{"taxonomy":"service","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/service?post=38807"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/coauthors?post=38807"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}