• No results found

2.4.8 System som använder Natural Language Processing

Idag utnyttjar flera system NLP. Positioneringssystem använder sig av talbehand-ling och text-to-speech (översättning av text till tal, talsyntes [19]). Resebyråer tillhandahåller tjänster som tolkar intressen hos kunden och gör avancerade sök-ningar. Videosökmotorer analyserar innehållet i videor genom att bearbeta tal i ljudspåret. Google analyserar stora mängder data och gör informationssökningar över flera plattformar, genom att översätta söksträngar och göra klumpsökningar.

[2]

2.5 Watson molntjänster

Watson är dels en samling tjänster för att hjälpa utvecklare att bygga AI applika-tioner. Watson molntjänster bygger på kognitiva systemmodeller, alltså förståelse från en omgivning i en miljö som förändras. Sektion 2.5.1 behandlar ett koncept som är aktuellt för Watson, men presenterar ingen specifik tjänster som sektio-nerna 2.5.2 till 2.5.9 gör. Tjänsterna är i ordningsföljd presenterade i samlad form efter karaktärerna, namn, funktion, webbtjänst och API i tabell 2.1. De diskuteras sedan mer ingående i varje sektion. Watson Knowledge Studio 2.5.10 och Watson Studio 2.5.11 är miljöer för att hantera andra tjänster och har verktyg för projekt-organisering.

Namn Funktion Användning

Discovery tolkning och analys av tex-ter

Visual Recognition tolkning av bilder API/Browsergränssnitt Tone Analyser tolkning av uttryck i texter API

Natural Language Translator

översättning av text API

Peronality Insights tolkning av användardata API Text to Speech synthesiering av text API

Speech to Text tolkning av tal API

Watson Assistant tolkning av text och svars-bearbetning

Watson Studio Samling av verktyg och funktionalitet för tjänsten ML

Browsergränssnitt

Tabell 2.1: Samlad tabell av Watson moln molntjänster

2.5.1 Inlärningsmodeller

I Watson finns två olika typer av modeller, en modell som beskrivs genom maski-ninlärning och en modell som beskrivs genom regler. Båda modellerna används däremot för att extrahera information från text eller göra förutsägelser.

• ML-baserad modell, tas fram genom att modellen anpassas efter förfluten data för att göra förutsägelser om ny data.

• Regelbaserad modell, en regelbaserad modell kan komplettera en inlärd

mo-dell, eftersom regelbaserade modeller kan ge en säker angivelse, givet att re-geln stämmer. Regelbaserad modell är ett sätt att utifrån ett framtaget sam-band ge annotationer.

2.5.2 IBM Watson Machine Learning

Watson Machine Learning (ML) är ett API som inriktar sig mot utvecklare och så kallade ”Data Scientists”. Genom integration med andra tjänster kan tjänsten beskrivas som två steg, ”training” och ”scoring”. Där ”training” är det steg då en maskininlärningsmodell tas fram och ”scoring” är att använda modellen på ny data. Det erbjuds en stor mängd olika tillvägagångssätt för att skapa modellen, olika grafiska applikationer skapade av IBM finns tillgänligt, men även språk som Scala eller Python kan användas. [20]

2.5.3 IBM Watson Natural Language Understanding

Watsons Natural Language Understanding (NLU) är en tjänst som analyserar text skrivet på ett naturligt språk, såsom engelska. NLU läser in ett text-dokument och ger ut data, beroende på vilken data som efterfrågades.

För att kunna utnyttja NLU-tjänsten måste först en ML-modell ha exporterats till tjänsten. Denna modell kan antingen vara NLU:s tränade standardmodell, eller en egen anpassad modell. Den egna anpassade modellen kan användaren bygga och träna själv i Watson Knowledge Studio. Watson Natural Language Understanding stödjer följande data-analyser [21]:

• Sentiment analyserar hur positiv/negativ en uppfattning är över en text el-ler en specifikt fras. Uppfattningen anges som variabeln score och varierar på en skala från -1 till 1, där 1 är väldigt positivt och -1 är väldigt negativt.

Användaren specificerar vilka fraser i texten som den vill analysera samt om den vill visa analysen av hela textdokumentet eller ej.

• Emotion fungerar liknande sentiment, men analyserar utifrån känslorna:

sorg, lycka, rädsla, avsky och ilska, istället för positivt/negativt. Variabeln score går i en skala från 0 till 1, där 0 betyder att objektet inte överensstäm-mer med känslan och 1 betyder att objektet överensstämöverensstäm-mer väl med käns-lan. Likt sentiment, kan emotion analysera både hela texten och specifikt valda termer.

• Categories anger kategorier för texten, där kategorierna kan vara upp till och med fem nivåer höga. Hur säker NLU-tjänsten är på att en kategori är relevant, avspeglas på en variabel score som går från 0 till 1. Värdet 0 betyder att den är väldigt osäker och 1 betyder att den är väldigt säker. Ett anrop med categories ger tillbaka de tre kategorier med högst score. Kategorierna är förutbestämda och kan därför inte anpassas efter behov. Ett exempel på en tre nivåer hög kategori är ”/science/mathematics/statistics”.

• Concepts ger ut vilka koncept som behandlas i texten. Likt categories behö-ver ett koncepts namn inte uttryckligen finnas i texten för att kunna iden-tifieras. En text som behandlar artificiell intelligens behöver alltså inte ha med termen ”artificiell intelligens” för att NLU-tjänsten ska identifiera con-ceptet ”artificiell intelligens”. Concepts har dock ingen förbestämd lista med koncept att välja från.

• Keywords hittar relevanta nyckelord i texten. Likt concepts är dessa nyc-kelord inte definierade i förväg, dock extraheras dessa ur texten. I kontrast till concepts behandlar keywords en lägre nivå av texten. De utvalda nyc-kelordens relevans specificeras av variabeln ”relevance” som går från skalan o till 1, där 0 är låg relevans och 1 är hög relevans. Det är även möjligt att kombinera nyckelorden med emotion och sentiment.

• Meta-data anger den meta-data som är kopplad till texten, till exempel vilka författare som finns och vilken titel texten har.

• Entities annoterar ord och termer i en text till förbestämda termtyper, så kallade entities. Entities kan bestå av en huvudtyp och en subtyp, till ex-empel skulle en entity ”School_Subject” kunna ha subtyperna ”Biology” och

”Math”. En entity måste ha en huvudtyp, men den behöver inte ha en sub-typ. Till en entity av typ ”food” skulle termer som ”bread” och ”pasta” kunna

ingå, medan hos en entity av typ ”organization” skulle termer som ”KTH”

och ”United Nations” kunna ingå. Dessa termer kommer alltid tillhöra sam-ma entity och skulle därför kunna regelbaseras. Det vill säga att varje gång dessa termer nämns i en text, så annoteras de till respektive entity, oavsett sammanhang. Notera dock att termer som ”apple” skulle kunna ingå i bå-de kategorierna ”food” och ”organization”, beroenbå-de på om man syftar till företaget eller frukten. En sådan egenskap kan alltså inte vara regelbase-rad eftersom den kräver en högre analytisk förmåga. Modellen ska i detta fall kunna avgöra, utifrån textens sammanhang, vilken entity som termen passar in hos. Båda dessa regel- och oregelbundna egenskaper finns för ett bestämt antal entities i standardmodellen, men man kan även träna en egen anpassad modell i Watson Knowledge Studio. Enitites kan kombineras med emotion, sentiment och mentions.

• Relations identifierar relationer mellan två entities. Till exempel kan en re-lation ”AwardedTo” relatera entites för ett pris och dess vinnare. I stycket

”Robert won the World Cup”, skulle en entity ”Winner” kunna annoteras till ”Robert” och en entity ”Award” kunna annoteras till ”The World Cup”.

Relationen skulle då kunna vara: ”Winner” + won + ”Award”. NLU:s stan-dardmodell är tränad för ett antal relations, men det går även att skapa egna med en egen ML modell i Watson Knowledge Studio.

• Semantic Roles kan dela upp en vald fras i subjekt, verb och objekt. Till ex-empel kan frasen ”Erik har en boll” delas upp i subjektet ”Erik”, verbet ”har”

och objektet ”en boll”. Vidare kan semantic roles kombineras med entites och keywords för utökad information om de extraherade objekten och sub-jekten.

2.5.4 IBM Watson Discovery

Discovery är ett verktyg och användbar tjänst med ett associerat API. Tjänsten kan ta en pdf fil (max 50 MB eller 50000 karaktärer), konvertera den till html, dela upp den i sektioner och förknippa urklipp i texten till att matcha klasser (eng.

classes). Klasser är liknande de som beskrivs i Natural Language Classifier i sek-tion 2.5.3, en gruppering som meningar eller textstycken kan grupperas till. Ur-klippsassociationerna (benämnt elementberikning) är en berikning gjord med fle-ra typer av extfle-raktion som kopplas med texten. Discovery erbjuder klassificering av urklippen och kallar det för Element Classification. Tjänsten kan även ge den information som NLU ger om texten och använda en anpassad modell för entiti-es och relations. Discovery applicerar olika kognitiva modeller för att analysera data med målet att bygga information och mönster. Detta görs genom att texten berikas. Elementberikning skiljs från textberikning genom vilken metod som an-vänds för berikningen. Antingen sker berikningen på urklippen (elementen) eller så sker den på texten. Textberikning kan liknas vid det NLU-tjänsten erbjuder.

Discovery används främst för kunskapssökning eller för att hitta dokument. Tjäns-ten bygger upp kunskap från insamlat textmaterial och sökningar görs med sök-strängar (eng. queries). Sökningar kan göras för att hitta dokument som har ett visst innehåll och presentera vad för berikning som sökningen matchar. Doku-menten går att ladda upp direkt på Discovery webbgränssnitt eller genom API:er.

[22, 23, 24]

Element Klassification i Discovery är specialiserad mot att berika kontrakt och har därför lämpligt förinställd och tränad klassificering för just det ändamålet.

De olika delarna som kan tas ut i element klassification är följande [22]:

• sentence_text texten som syftas till i klassificeringen.

• sentence objektet beskriver var elementet hittades i den converterade HTML filen.

• types beskriver vad elementet är (nature) och vem det påverkar (party).

• categories listar funktionella kategorier eller ämnesområden av den identifi-erade meningen. Discovery analyserar i types, party och nature samt vilken category urklippet tillhör.

Följande är ett exempel taget från [23] för att ge en uppfattning om vad par-ty och nature är:

Discovery har ett antal sätt att söka i de dokument som laddats upp för att kunna få den information som man är ute efter. Det går att söka med strukturerad söksträng eller en söksträng skriven på naturligt språk. Det går också att ställa in olika typer av analys för sökningen, exempelvis hitta den entity-term med högst frekvens.

2.5.5 IBM Watson Natural Language Classifier

Tjänsten Watson Natural language Classifier klassifiserar termer och/eller kor-tare text. Användare kan skapa egna Classifiers och träna dessa. [25] Tekniken som används vid denna tjänst är ”Deep learning” [26]. Watson Classifier kan trä-nas för en specifik domän genom att träningsdata ges. Träningsdata består av ord eller texter på rekommenderat max 80 ord med associerad klass/klasser. [27]

2.5.6 IBM Watson Visual Recognition

Watson Visual Recognition är en tjänst för bildigenkänning. Denna tjänst kan an-vändas för att analysera vardagsobjekt så som ansikten. Tjänsten kan antingen utnyttja en redan tränad modell eller låta användaren skapa och träna en egen.

[28]

2.5.7 IBM Watson Tone Analyzer

Watson Tone Analyzer är en tjänst som analyserar tonen i en konversation. Den analyserar tre typer av toner: känslor, sociala benägenheter och språktyp. [29]

2.5.8 IBM Watson Personality Insights

Personality Insights är en tjänst som analyserar beteende och psykologiska egen-skaper hos en person med hjälp av data hämtat ur social media och dess transak-tioner. [30]

2.5.9 Resterande tjänster

Utöver de tidigare nämnda tjänsterna så har Watson molntjänster även IBM Wat-son Text to Speech, IBM WatWat-son Speech to Text, IBM WatWat-son Natural Language Translator och IBM Watson Assistant.

Text to Speech skapar tal från text på syntetiskt sätt med hjälp av ljudskapande datorprogram [31]. Speech to Text skapar text från tal [32]. Natural Language Translator översätter texter mellan språk [33]. Watson Assistant är en tjänst för att skapa och använda en AI assistant (chatbot) [34].

2.5.10 IBM Watson Knowledge Studio

Watson Knowledge Studio (WKS) är ett verkyg som, till skillnad från bland an-nat NLU och ML, inte själv anropas som en molntjänst (har inget associerat API).

WKS är istället ett verktyg för användare att skapa och modifiera egna maskinin-lärningsmodeller för bland andra NLU-tjänsten. Detta gör det möjligt för använ-dare att skapa modeller anpassade efter just deras behov. Till exempel kan en an-vändare då skapa ett eget sätt entities, som bättre motsvarar det tänkta använd-ningsområdet. För att träna upp sin modell på dessa nya entites måste användaren skapa nya dokument och annotera dem. Annoteringen går till så att användaren lägger upp ett antal dokument och markerar vilka ord i dokumenten som tillhör vilka entites. Dessa annoteringar är vad modellen ska tränas för att hitta och iden-tifiera under träningen. När ett godtyckligt antal dokument har annoterats, kan modellen tränas utifrån dessa. Dessa ML-modeller skapade i Watson Studio kan sedan användas till tjänsterna Watson Natural Language Understanding, Watson

Discovery och Watson Explorer [35].

Efter att ha skapat en ML-modell i Watson Knowledge Studio, så skapas även en analys av modellens kvalité. Denna analys består av ett antal variabler, bland an-nat precision och recall. Med hjälp av dessa värden och annan given information blir det enklare för användaren att förbättra sin modell. Precision P och recall R defineras av följande formler [36]:

P = Antalet korrekt angivna annoteringar

Totala annoteringar givna och R = Antalet korrekt angivna annoteringar Maximala antalet korrekta annoteringar

Precision kan alltså ses som ett mått på hur säker modellen är i att identifiera an-noteringar. Om precisionen är hög så är chansen stor att en gissning som modellen har angivit är korrekt. Om precisionen är låg så är risken stor att en gissning är felaktig.

Recall representerar å andra sidan hur stor andel av, de i förväg angivna, annote-ringarna som identifierades av modellen. Om Recall är hög så har en stor andel av annoteringarna identifierats. Om den är låg så har många annoteringar missats.

2.5.11 IBM Watson Studio

Watson Studio samlar ett antal tjänster och miljöer att modifiera och kan använ-das för att skapa modeller till Watson Machine Learning. Watson Studio är utfor-mad för projektorganisering och dataanalys. [37]

Related documents