• No results found

Frågeställningar

In document Automatisk taggning av video (Page 52-64)

1. Vilka metoder för att hitta liknande ord finns det och hur fungerar de?

2. Vilka är för- respektive nackdelarna med att använda databasmetod eller en vektormo- dell för att jämföra ord?

A.2. Bakgrund

3. Vilken metod ger ett resultat som ligger närmast mänskliga associationer i släktskap mellan ord?

A.1.3

Avgränsningar

Rapporten avgränsas till de metoder som har använts för att mäta likhet mellan taggar i projektet, det vill säga databasen Wordnet och vektormodellerna GloVe och Word2Vec. Av metoderna tillgängliga i Wordnet används endast Wu-Palmers algoritm då denna är imple- menterad i VATG. Då det inte är en central del i denna undersökning så beskrivs inlärnings- processen för vektormodellerna endast övergripande. Studien som genomförs avgränsas vi- dare med avseende på den data som behandlas i experimentet, den måldata som har använts för att specificera hur lika människor uppfattar ordpar samt kapaciteten hos den dator som har utfört beräkningarna för metoderna.

A.2

Bakgrund

Denna undersökning utförs med bakgrund till den filtrering som behöver utföras av VATG, där de taggar som genereras av Amazon Rekognition måste filtreras på ett sätt så att endast de som är viktigast för det videoklipp som behandlas kvarstår. För att göra detta behöver man ett sätt att mäta kontextuell likhet mellan de taggar som behandlas. Att identifiera lik- het mellan ord och meningar är ett vanligt förekommande problem inom databehandling, lingvistik och artificiell intelligens. Det utgör ett viktigt steg i alla processer där man vill mi- nimera redundans för att automatiskt leverera relevant data till en användare. Detta är ett förhållandevis avancerat problem som det idag finns många olika tillvägagångssätt till, men ingen universell lösning som fungerar i alla situationer. Denna process att analysera männi- skors vanor för att kunna leverera vidkommande information till en användare är en central del i många stora system idag. Det är därför av stor vikt för företag som Flowplayer att un- dersöka huruvida denna process kan förbättras för att skapa en bättre interaktion med dess användarbas.

A.3

Teori

I denna sektion beskrivs teorin bakom de metoder som används i rapporten mer ingående.

A.3.1

Användningsområden

Problemet som behandlas i denna rapport är en del av informationsbehandling inom ve- tenskapsområdet språkteknologi. Språkteknologi utgörs av både tekniker, olika typer av al- goritmer, metoder och språkresurser som kan bestå av olika slags data- och textsamlingar, till exempel korpora, ordböcker, termbanker eller taldatabaser. Företag som Youtube, Spotify och Facebook använder bland annat språkteknologi för att förse användare med personliga rekommendationer, spellistor och reklam utifrån deras tidigare preferenser. Detta sker hu- vudsakligen genom statistiska metoder som arbetar med olika typer av meta- och användar- data som exempelvis titlar, beskrivningar och betygsättningar eller attribut som spellängd och kvalitet. Utifrån denna datamängd kan sedan algoritmerna träna upp en modell som ger rekommendationer baserat på människors associationer. [26] [27]

A.3.2

Wordnet-distans

Wordnet är ett storskaligt databassystem utvecklat av Princeton som fungerar som ett eng- elskt lexikon där ord grupperas i sk. synsets med synonymer som länkas samman i ett hierar- kiskt nätverk. Detta gör det möjligt att söka på ord på ungefär samma sätt som man skulle

A.3. Teori

göra i en vanlig ordbok. I figur A.1 nedan kan man se ett exempel på hur hierarkin i Wordnet är ordnad. [8]

Figur A.1: Översikt av hierarkisk struktur i Wordnet

Wordnet har ett flertal inbyggda funktioner för att mäta släktskap mellan ord (åtminstone i den version av WS4J som används här). De baseras huvudsakligen på att hitta den kortaste vägen mellan två ord. I figur A.2 nedan kan man se hur Wu-Palmer arbetar med nodstruktu- ren i Wordnet.

Figur A.2: Översikt av WuPalmers-algoritm

R står i detta fall för rotnoden och CS utgör en gemensam förälder, en sk. ”common subsu- mer”, till båda barnnoderna C1 och C2. Utifrån avstånden N mellan noderna kan man nu ställa upp följande samband:

SI MWP= 2N

N1+N2 (A.1)

Denna formel ger en poäng på en skala [0,1] där ett resultat nära ett innebär att två ord är väldigt nära besläktade. Wu-Palmers metod är relativt intuitiv att förstå och enkel att beräk- na, men har även några tydliga brister och kan i vissa fall på grund av avstånden i Wordnets hierarkiska struktur bli något missvisande från det värde som förväntas. Det finns givetvis

A.3. Teori

metoder som kan kombineras med Wu-Palmer för att skapa en mer robust algoritm, men vi kommer i denna rapport bara att hålla oss till den färdiga version som redan finns implemen- terad i Wordnet. [28]

A.3.3

Vektormodeller

En vanlig metod för att mäta likhet inom språkteknologi är en sk. vektormodell där ord representeras av punkter i ett vektorrum. Samtliga av dessa metoder baseras på en fördel- ningsprincip som tolkar att ord som förekommer i samma kontext har liknande semantiska betydelse. Denna räkning ger oss den information som behövs för att konstruera en n- dimensionell vektor, där n är antalet unika förekomster av ett ord. De olika tillvägagångssät- ten som utnyttjar denna princip kan delas upp i två kategorier: prediktiva och räknebaserade metoder. Räknebaserade metoder beräknar hur ofta ett ord förekommer tillsammans med sina grannord i en text och kartlägger sedan denna statistik i en kompakt vektor för varje ord. Prediktionsmodeller försöker istället att ”gissa” ett ord från dess grannar i form av inlärda vektorer. [29]

Nedan listas de vektormodeller som används i denna studie:

• Word2Vec – En prediktiv modell framtagen av forskare på Google. [30] • GloVe – En räknebaserad modell utvecklad av forskare på Stanford. [9]

Text behandlas med typiskt med någon typ av algoritm, exempelvis continuous bag-of-words eller skip-gram, som skapar sedan en vektorrepresentation av orden. Nedan i figur A.3 kan man se ett exempel på hur Word2Vec i biblioteket gensim har behandlat ett antal ord. [29]

A.4. Metod

Cosinus-distans

Med denna vektorrepresentation kan man nu göra enkla jämförelser mellan ord eller mening- ar genom att mäta storleken av vinkeln mellan de två ord som man vill jämföra. Desto mindre vinkel innebär en större likhet mellan enheterna. Detta koncept illustreras med bilden nedan i figur A.4. [31]

Figur A.4: Översikt av Cosinus-distans Från denna bild ställer man upp följande samband:

SI Mcos=cos(θ) = A ˚ B |A| ˚ |B|= řn i=1AiBi řn i=1 b A2i ˚řni=1 b B2i (A.2)

Cosinusdistansen blir ett mått på hur lika orienteringen av vektorerna A och B är oavsett deras storlek. Formeln A.2 ger ett värde på skalan [0,1] där två vektorer är maximalt lika då de är parallella och på motsvarande sätt maximalt skilda från varandra då vektorerna är ortogonala. Dessa extremvärden uppnås då vinkeln θ varierar mellan [0,2π], där θ = 0 innebär maximal likhet.

A.4

Metod

Flödesdiagram är ritade i draw.io. GloVe och Word2Vec körs genom pythonmodulen Gensim. Wordnet-implementationen som används är WS4J med JawJaw som innehåller både engelska och japanska Wordnet [32, 33]. För att kunna utvärdera resultaten som man får vid jämförelser av ordpar med de olika metoderna använder jag mig av en undersökning genomförd av Ev- geniy Gabrilovich på Google [34]. Den förtränade vektormodell som används till Word2Vec har tränats på nyhetsdata från Google och innehåller 300-dimensionella vektorer för 3 miljo- ner ord och fraser. Till GloVe har en av Stanfords egna förtränade modeller Common Crawl med 1.9 miljoner ord och fraser, använts och även denna modell använder 300-dimensionella vektorer. Samtliga av de resurser som används har licens som tillåter användning i forsk- ningssyfte.

A.5. Resultat

A.5

Resultat

I tabell A.5 nedan ser man resultatet från evaluering av de olika metoderna i Wordnet respek- tive Gensim. Värden från E. Gabrilovichs undersökning har skalats om från 0-10 till 0-1 för att kunna jämföras med övriga värden i tabell A.1. Ett värde närmre ett innebär i detta fall att två ord är mer besläktade. Samtliga mätvärden har även avrundats till tre decimaler.

Tabell A.1: Körresultat för metoder på ordpar

nr. Word-pair Human Word2Vec GloVe Wordnet

1 king-queen 0.858 0.651 0.760 0.778 2 jaguar-cat 0.727 0.405 0.312 0.903 3 stock-life 0.092 0.075 0.411 0.400 4 smart-stupid 0.581 0.470 0.526 0.200 5 architecture- century 0.378 0.143 0.490 0.250 6 man-woman 0.830 0.766 0.805 0.800 7 liquid-water 0.789 0.365 0.603 0.889 8 drink-eat 0.687 0.507 0.664 0.571 9 tiger-tiger 1.0 1.0 1.0 1.0 10 fotball-soccer 0.903 0.481 0.225 0.963 11 glass- magician 0.208 0.037 0.158 0.353 12 cup-coffee 0.658 0.356 0.508 0.182 13 mile- kilometer 0.866 0.726 0.646 0.824 14 lawyer- evidence 0.669 0.199 0.363 0.222 15 weather- forecast 0.834 0.363 0.716 0.235 16 physics- chemistry 0.783 0.437 0.729 0.909 17 nature- environment 0.831 0.232 0.575 0.615 18 production- hike 0.175 0.018 0.183 0.632 19 profit-loss 0.763 0.341 0.528 0.556 20 type-kind 0.897 0.667 0.679 0.952 21 sign-recess 0.238 0.048 0.206 0.375 22 planet-star 0.845 0.193 0.520 0.875 23 tiger-feline 0.800 0.426 0.258 0.609 24 money-cash 0.908 0.615 0.815 0.824 25 word- similarity 0.475 0.096 0.318 0.429

A.5. Resultat

Plottning av tabellvärden i tabell A.1 resulterar i stapeldiagram A.5 och linjediagram A.6.

Figur A.5: Körresultat för metoder i stapeldiagram

Figur A.6: Körresultat för metoder i linjediagram

För att ta fram den metod som ligger närmast de målvärden som framtagits i undersökningen med människor används följande formel:

di f f =

řn

i=0|Hi´Mi|

n (A.3)

Differensen utgörs i ekvation A.3 av absolutbeloppet av medelvärdet från avvikelsen mellan det ”riktiga” värdet, som har framtagits i undersökningen med människor, i vektor H och en vektor M med värden från en av metoderna i studien, som delas på antalet mätvärden. Med denna ekvation får man slutligen följande tabell A.2. nedan:

Tabell A.2: Medelvärde för avvikelse av metoder på ordpar

Word2Vec GloVe Wordnet

0.287 0.199 0.186

Man ser i tabell A.2 att metoden som ger minst avvikelse från de förväntade värdena är Wu- Palmers algoritm i Wordnet.

A.6. Diskussion

A.6

Diskussion

I detta avsnitt presenteras det resultat som uppnåtts i studien.

A.6.1

Metod

Det är viktigt att poängtera att de resultat som erhålls i denna rapport bygger på den me- tod, tillvägagång samt de begränsningar som har gjorts i genomförandet av experimentet. Även valet av evalueringsmetod och hur man därav ska tolka resultatet är specifikt för denna undersökning. Det är alltså möjligt att ifrågasätta resultatet i denna studie utifrån de begräns- ningar och avvägningar som har gjorts i dess utförande. För att få ett mer tillförlitligt resultat hade en större mängd data behövts analyseras. Det hade även varit intressant att se hur de olika metoderna hanterar mer specifika fall som till exempel synonymer eller hela meningar. Det är inte heller säkert att datamängden från E. Gabrilovichs undersökning, som används som målvärden i studien, är representativ för alla människors associationer med ordpar.

A.6.2

Körresultat

Problemet att hitta likhet mellan objekt är något som i sig självt innefattar en viss osäkerhet och är förknippat med hur man väljer att definiera likhetsbegreppet. Det är viktigt att vara medveten om att detta problem är nära kopplat till människors sentiment som gör det svårt att dra absoluta slutsatser eller göra alltför breda generaliseringar. Något som är intressant att se är att Wu-Palmers algoritm i Wordnet fungerar så pass väl i jämförelse med vektor- modellerna i experimentet. En möjlighet till detta kan vara att den probleminstans som behandlas är förhållandevis enkel; ordparen som har valts är relativt homogena, samtliga ord är substantiv och existerar i de datamängder som behandlas, och att en databaslösning som Wordnet fungerar väl i detta sammanhang.

Om man granskar resultatet från de vektormodeller som har använts på samma problem kan man tydligt se att en större förtränad modell inte nödvändigtvis leder till bättre värden. Resultatet från GloVe är i detta fall avsevärt bättre än Word2Vec trots att Word2Vec använder en förtränad modell med 3 miljoner ord och fraser medan GloVe endast använder en modell med 1.9 miljoner ord. En möjlighet till denna skillnad är att innehållet i den modell som Word2Vec använder är baserad på nyhetsdata från Google som inte lämpar sig lika väl som de ord och fraser i Common Crawl som GloVe använder. Att ha träningsdata som stämmer väl med det problem som man vill behandla är således centralt om man vill uppnå ett kvalitativ resultat.

A.6.3

Prestanda

En annan aspekt som har spelat en stor roll i genomförandet av denna undersökning är pre- standa hos de olika metoderna. GloVe tar upp mycket minne vid körning och det är därför svårt att behandla en stor modell om man inte har en mycket kraftfull dator. GloVe kräver minne kvadratiskt mot antalet ord som behandlas, medan komplexitet i Word2Vec ökar lin- järt vilket gör den betydligt enklare att använda. Den förtränade modellen från Google kan ta upp så mycket som 10GB RAM vid en körning. En fördel med att använda en förtränad vektormodell ur en prestandasynpunkt blir här att när man väl har laddat in modellen kan göra väldigt snabba beräkningar. Detta står i kontrast mot en databaslösning som Wordnet där varje uppslagning av ett ord alltid tar en viss tid. Det blir således viktigt att ta hänsyn till att metoden som används lämpar sig till de prestandakrav som gäller på systemet som man designar. Gemensamt för de metoder som används i denna studie är att det finns möjlighet att förbättra resultatet genom att köra beräkningarna med en mer kraftfull dator.

A.7. Slutsats

A.6.4

Utvecklingsmöjligheter

Det finns även mer att ta hänsyn till när man evaluerar dessa metoder mot varandra än en- dast körresultat. Vektormodeller erbjuder flexibilitet som inte existerar för databaslösningar. Word2Vec och Glove kan tränas specifikt för det ändamål som man vill använda dem till, ex- empelvis en text med tweets för att analysera om ett twitter-inlägg är positivt eller negativt. Vektormodeller erbjuder funktionalitet för att analysera kontexter, som till exempel att mata in två ord som King-Woman och få ut Queen som output. Möjligheten att kunna träna om en modell för att bättre representera sentiment hos en viss målgrupp, exempelvis en användare i ett system, leder i denna mening till att vektormodeller blir betydligt mer anpassbara för för- ändring än en databaslösning, där hela databasen måste uppdateras. En annan aspekt som är viktig att ta upp är att databasen Wordnet är låst till just ord och inte fungerar på meningar eller andra datatyper som skulle kunna hanteras av en vektormodell.

A.7

Slutsats

De metoder som har behandlats i denna rapport består av en databasmetod; Wordnet och två vektormodeller; Word2Vec och GloVe. Metoderna visade sig ha olika styrkor och svagheter. På en begränsad datamängd som i testet ovan kan man se att en databaslösning kan fungera bättre än en tränad vektormodell på att hitta likhet mellan ord. Resultatet från vektormodel- len beror helt på hur väl träningsdatan stämmer in på den typ av problem som man vill lösa. Det blir således en viktig fråga för en programmerare att besvara innan man väljer någon av dessa metoder. Prestandan hos de metoder som har testats i detta fall har varierat kraftigt, GloVe har krävt mycket minne för att ladda in en förtränad modell och detta är även något som är viktigt för en användare att vara medveten om när man ska lösa ett problem inom språkteknologi.

För att metoderna som används i denna studie för att mäta likhet mellan ord ska fungera väl behövs en stor och kvalitativ samling data där rätt svar finns. Det finns alltså ett behov att kombinera språkteknologi med t.ex. deep-learning och tillförlitliga datamängder för att få ett bra resultat. Efter att ha granskat resultatet i denna studie bestämde sig projektgruppen att implementera en kombination av Word2Vec och Wordnet i VATG. Detta för att uppnå en robust metod som kan utnyttja fördelarna med respektive metod och försöka undvika deras nackdelar.

B

Niklas Granander:

Implementation, begränsningar

och ekonomi med ”serverless

computing”

B.1

Inledning

Intresset för så kallad ”serverless computing”, serverlös teknik, verkar ha ökat markant de senaste åren [35]. Det finns även tecken på att många företag planerar att övergå till en server- lös arkitektur för sina applikationer [36]. Denna bilaga undersöker tjänsterna AWS Lambda och Googles Cloud Functions som båda är tjänster för just serverlös utveckling och drift. Namnet ”serverlös” antyder att det inte är någon server inblandad, men så är självklart inte fallet. Serverlös utveckling möjliggör snarare att utvecklare av mjukvara inte själva behöver bry sig om serverkonfiguration eller underliggande infrastrukturer genom att leverantören administrerar en större del av miljön.

Med nya tekniker kommer ofta nya krav vid design, implementation och drift. Bilagan un- dersöker vilka aspekter som påverkas och hur, vilka begränsningar som finns samt vilka ekonomiska aspekter som bör tas i beaktning.

B.1.1

Syfte och mål

Syftet med bilagan är att undersöka hur utveckling och drift påverkas av att nyttja en server- lös produktionsmiljö från Amazon eller Google. Den servernslösa produktionsmiljön som Amazon erbjuder kallas för AWS Lambda, eller bara Lambda, och Googles motsvarighet kallas Google Cloud Functions, eller GCF. De prismodellerna som finns för Lambda och GCF kan ver- ka relativt komplexa och av den anledningen är en målsättning att jämföra prismodellerna för Lambda och att hyra en virtuell maskin med Amazons produkt EC2. Med mer infor- mation kring tekniken kan utvecklare av applikationer ta bättre beslut gällande miljön för driftsättning samt arkitektur.

B.1.2

Frågeställningar

1. Finns det någon arkitektur som lämpar sig mer väl än andra för en serverlös produk- tionsmiljö?

B.2. Bakgrund

2. Vilka designrelaterade begränsningar finns vid användning av serverlös produktions- miljö?

3. Hur skiljer sig kostnaden för användning av Lambda jämfört med Amazon EC2?

B.1.3

Avgränsningar

Endast tjänster från företagen Amazon och Google kommer att undersökas närmare. Vid kostnadsberäkningar och jämförelser har nätverkskostnader och dylikt ej tagits i beaktning.

B.2

Bakgrund

Intresset för serverlös teknik verkar ha ökat markant under de senaste åren [35]. Det har visats att 31 % av ett antal tillfrågade företag redan använder sig av serverlös teknik samt att 28 % har planer på att börja använda serverlös teknik [36]. Det går även att se i figur B.1 att Amazon (med Lambda) och Google (med GCF) är de två mest använda leverantörerna av serverlös teknik. Således avgränsas bilagan till att undersöka Lambda och GCF.

Figur B.1: Användning av olika leverantörer av serverlösa plattformar. [36]

I början av projektet som beskrivs i denna rapport framlades ett förslag från Flowplayer att VATG skulle driftsättas med hjälp av Lambda. Projektgruppen tyckte att det lät passande utan någon tidigare kunskap om vad en sådan miljö innebar. Under projektets gång fick projektgruppen lära sig mycket om hur en implementation av VATG i Java med hjälp av serverlös teknik kunde se ut samt enstaka begränsningar vid användandet av Lambda, men ej särskilt mycket om vilka andra möjligheter och begränsningar som fanns med sådan teknik. Tidigare under projektet har inte heller de ekonomiska aspekterna analyserats på djupet.

B.3

Teori

Serverlös teknik kan beskrivas som en av teknikerna som finns för att köra mjukvara utan att behöva beakta underliggande infrastruktur samt konfiguration för varken fysiska eller virtuella maskiner (servrar). Det finns flera andra molnbaserade tekniker som möjliggör detta, så som PaaS (Platform as a Service), SaaS (Software as a Service) och så vidare. Den

B.3. Teori

serverlösa tekniken kallas ofta för FaaS (Function as a Service).

Förkortningen IaaS, Infrastructure as a Service, är också vanlig och kommer att beskrivas för att konstratera de andra teknikerna.

B.3.1

*aaS - as a Service

Förkortningen *aaS används för att beskriva olika typer av molntjänster. ”aaS” står för ”as a Service”, det vill säga att kunden köper en tjänst. Kunderna debiteras per månad, minnesal- lokering över tid, antal eller någon annan enhet snarare än en engångskostnad.

Den största faktorn som skiljer ovan nämnda förkortningar åt är vilka aspekter leverantören levererar och därmed vilken nivå av kontroll som upplåts till utvecklare. De har även ofta oli- ka prismodeller och typer av hjälpmedel. För att förstå vilken typ av teknik FaaS är kommer de andra förkortningarna att kort beskrivas nedan.

IaaS - Infrastructure as a Service

IaaS syftar till att ett företag levererar infrastruktur för att köra mjukvara i molnet som en tjänst. Det innebär att de exempelvis levererar fysiska maskiner, nätverk, lagringsmedia och ofta någon typ av virtualisering. Kort sagt får kunden tillgång till en maskin (fysisk el- ler virtuell) och behöver inte vara införstådd med hur den är ansluten till exempelvis internet.

In document Automatisk taggning av video (Page 52-64)