AI tar över världen snabbt. Varje segment inom tekniken omprövas och revolutioneras med hjälp av AI. Som mjukvaruutvecklare, någon gång i din karriär, kommer du definitivt att få ett möte med AI så det är bara vettigt att ha lite erfarenhet av att arbeta med det under bältet. Fältet för AI är extremt stort och det är långt utanför räckvidden för det här inlägget men ändå vill jag visa dig hur enkelt det är att integrera intelligens i dina appar med minimalt arbete. Naturligtvis kommer du inte att träna några maskininlärningsmodeller för att uppnå detta, du kommer att använda en färdigbyggd lösning, varför det kommer att kräva extremt minimalt arbete från din sida.
Vi kommer att bygga ett extremt enkelt sentimentanalyssystem på Android med Watson API från IBM. IBM bygger många användbara integrationer som direkt kan användas av utvecklare utan att behöva gå igenom besväret med att bygga infrastrukturen på deras sida. De binder alla sina erbjudanden under Bluemix som är en serie produkter för att bygga bättre mjukvara. Det som är bra med Bluemix är det faktum att det kommer in gratis i 30 dagar så att du inte behöver göra ett åtagande direkt. Om du är intresserad av att kolla in deras erbjudanden gå över till Bluemix hemsida och registrera dig för en 30-dagars provperiod.
Okej, så låt oss börja bygga appen. Innan du börjar här är en snabb ansvarsfriskrivning. Den här artikeln kommer helt att anta att du har viss erfarenhet av objektorienterad programmering och Android. Android-delen av projektet är ganska minimal så allt du behöver är grundläggande kunskap om vyer och hur man manipulerar dem.
Nu när vi är klara med formaliteterna, låt oss börja.
Steg 1: Installationen
Starta Android Studio och skapa ett nytt projekt. Namnge det vad du vill och acceptera standardinställningarna i installationsguiden. När projektet har byggts, kör det på en enhet eller emulator bara för att se till att allt fungerar bra. Om allt är bra hittills är du redo att gå vidare till nästa steg.
Steg 2: Bygg gränssnittet
Låt oss börja bygga layouten. Eftersom appen är ganska minimal låt oss få layoutdelen ur vägen så snabbt som möjligt. Så här kommer den sista appskärmen att se ut.
Den består av en TextView, EditText och en Button som alla finns inuti en LinearLayout. När du är klar med att replikera layouten, hoppa bara till motsvarande Java-fil och koppla upp ditt användargränssnitt enligt följande.
Låt oss koppla upp knappen med en klicklyssnare så att den svarar på beröringshändelser. Här är koden för det:
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { System.out.println("Loggar till konsolen som knappen tryckte på för texten: " + editText.getText()); textView .setText("Visar i användargränssnittet känslan som ska kontrolleras för: " + editText.getText()); AskWatsonTask task = new AskWatsonTask(); task.execute(new String[]{}); } });
Lägg märke till AskWatsonTask? Det är vad som kommer att användas för att hämta sentimentanalysresultaten från Watson API. Det är inget annat än en enkel AsyncTask. Kopiera och klistra in följande kodbit:
privatklass AskWatsonTask utökar AsyncTask { @Override protected String doInBackground(String... textsToAnalyse) { System.out.println(editText.getText()); runOnUiThread(new Runnable() { @Override public void run() { textView.setText ("vad händer i en tråd - vi kör Watson AlchemyAPI"); } }); sentiment = "Test sentiment"; System.out.println(sentiment); //passerar resultatet som ska visas vid användargränssnittet i huvudslitbanans returkänsla; } //ställer in värdet för UI utanför tråden @Override protected void onPostExecute(String result) { textView.setText ("Meddelandets sentiment är: " + resultat); } }
Ovan nämnda AsyncTask kommer att hämta resultat från Watson i JSON-format som vi kommer att analysera senare och visa i användargränssnittet. Från och med nu är appen ganska dum men den fungerar. För att spela in en kontrollpunkt kan vi distribuera appen vi har byggt hittills och se vad den gör. Tryck på den gröna Play-knappen och se hur det går. Det gör ingenting.
Om du klickar på Analysera! knappen, bör du kunna se resultatet i TextView-fältet. Du bör också se en del utdata i log cat-fönstret.
Steg 3: Lägga till Smarts
Det är dags att lägga till den kognitiva förmågan till denna bara ben i en app. Det första du behöver göra är att lägga till Watson Cloud SDK för Java i din app. gå över till denna länk för en detaljerad förklaring om hur man gör det. Ladda ner Java-biblioteket från denna länk. Och lägg till den i mappen libs enligt följande.
När biblioteket är integrerat måste du skaffa internetbehörigheter i din app. Öppna AndroidManifest.xmloch lägg till följande rader
Ovanstående behörigheter tillåter dig att komma åt nätverket för att hämta resultaten från Watson.
Steg 3b: Hämta API-nyckeln från Bluemix
Klicka på från IBM Bluemix-katalogen Watson => AlchemyAPI => Skapa. Se till att använda en statisk API-nyckel som visas i följande bild:
Steg 4: Lägg till koden för att anropa Watson
Nu är det dags att lägga till lite kod för att kommunicera med Watson Alchemy API. Expandera AskWatson AsyncTask med följande kod.
AlchemyLanguage service = new AlchemyLanguage(); service.setApiKey(""); Karta params = ny HashMap (); params.put(AlchemyLanguage.TEXT, editText.getText()); DocumentSentiment sentiment = service.getSentiment(params).execute(); System.out.println(sentiment); //passerar resultatet som ska visas vid UI i huvudtråden returnera sentiment.getSentiment().getType().name();
Dags att snabbt testa om appen fungerar. Tryck på Ctrl+R och se hur appen är smart!
Om du trodde att detta var magi så är det faktiskt inte det. Allt gjordes genom den returnerade JSON som ser ut ungefär så här
Du såg precis hur enkelt det var att bygga en kognitiv app med Watson Sentiment Analysis. Appen vi byggde hade ingen riktig funktionalitet men den visade förmågan hos Bluemix och dess erbjudanden. Du kan placera dessa erbjudanden under flera parenteser och bygga några extremt rika användarupplevelser. Gå över till Bluemixs webbplats för att lära dig mer om vad du kan bygga.
Upplysningar: Innehåll som publiceras på TechLila stöds av läsare. Vi kan få en provision för köp gjorda via våra affiliate-länkar utan extra kostnad för dig. Läs vår Ansvarsfriskrivningssida för att veta mer om vår finansiering, redaktionella policyer och sätt att stödja oss.
Prateek är en mobilutvecklare och designer baserad från Bengaluru. När han inte arbetar med First Order på nästa version av Death Star, skapar han illustrationer och producerar videor för TechLila. Han försöker också göra något åt sitt kaffeberoende.
Lämna en kommentar
Har du något att säga om den här artikeln? Lägg till din kommentar och starta diskussionen.