natural language processing with deep learning cs224n/ling284leeck/nlp2/03_word_embedding... ·...

33
Natural Language Processing with Deep Learning CS224N/Ling284 Christopher Manning and Richard Socher Lecture 2: Word Vectors

Upload: others

Post on 24-May-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Natural Language Processingwith Deep Learning

CS224N/Ling284

Christopher Manning and Richard Socher

Lecture 2: Word Vectors

Page 2: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

LecturePlan

1. Wordmeaning(15mins)2. Word2vecintroduction(20mins)3. Researchhighlight(Danqi)(5mins)4. Word2vecobjectivefunctiongradients(25mins)5. Optimizationrefresher(10mins)

Firealarmallowance: 5mins

Page 3: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

1.Howdowerepresentthemeaningofaword?

Definition:meaning (Websterdictionary)

• theideathatisrepresentedbyaword,phrase,etc.

• theideathatapersonwantstoexpressbyusingwords,signs,etc.

• theideathatisexpressedinaworkofwriting,art,etc.

Commonestlinguisticwayofthinkingofmeaning:

• signifier ⟺ signified(ideaorthing)=denotation

Page 4: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Howdowehaveusablemeaninginacomputer?Commonanswer:UseataxonomylikeWordNetthathashypernyms(is-a)relationshipsandsynonymsets

(here,forgood):[Synset('procyonid.n.01'),Synset('carnivore.n.01'),Synset('placental.n.01'),Synset('mammal.n.01'),Synset('vertebrate.n.01'),Synset('chordate.n.01'),Synset('animal.n.01'),Synset('organism.n.01'),Synset('living_thing.n.01'),Synset('whole.n.02'),Synset('object.n.01'),Synset('physical_entity.n.01'),Synset('entity.n.01')]

S:(adj)full,goodS:(adj)estimable,good,honorable,respectableS:(adj)beneficial,goodS:(adj)good,just,uprightS:(adj)adept,expert,good,practiced,proficient,skillfulS:(adj)dear,good,nearS:(adj)good,right,ripe…S:(adv)well,goodS:(adv)thoroughly,soundly,goodS:(n)good,goodnessS:(n)commodity,tradegood,good

Page 5: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Problemswiththisdiscreterepresentation

• Greatasaresourcebutmissingnuances,e.g.,synonyms:• adept,expert,good,practiced,proficient,skillful?

• Missingnewwords(impossibletokeepuptodate):wicked,badass,nifty,crack,ace,wizard,genius,ninja

• Subjective

• Requireshumanlabortocreateandadapt

• Hardtocomputeaccuratewordsimilarityà

Page 6: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Problemswiththisdiscreterepresentation

Thevastmajorityofrule-basedand statisticalNLPworkregardswordsasatomicsymbols:hotel, conference, walk

Invectorspaceterms,thisisavectorwithone1andalotofzeroes

[0 0 0 0 0 0 0 0 0 0 1 0 0 0 0]Dimensionality:20K(speech)– 50K(PTB)– 500K(bigvocab)– 13M(Google1T)

Wecallthisa“one-hot”representation

Itisalocalist representation

Page 7: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Fromsymbolictodistributedrepresentations

Itsproblem,e.g.,forwebsearch• Ifusersearchesfor[Dellnotebookbatterysize],wewouldliketomatchdocumentswith“Delllaptopbatterycapacity”

• Ifusersearchesfor[Seattlemotel],wewouldliketomatchdocumentscontaining“Seattlehotel”

Butmotel [0 0 0 0 0 0 0 0 0 0 1 0 0 0 0]T

hotel [0 0 0 0 0 0 0 1 0 0 0 0 0 0 0] = 0OurqueryanddocumentvectorsareorthogonalThereisnonaturalnotionofsimilarityinasetofone-hotvectors

Coulddealwithsimilarityseparately;insteadweexploreadirectapproachwherevectorsencodeit

Sec. 9.2.2

Page 8: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Distributionalsimilaritybasedrepresentations

Youcangetalotofvaluebyrepresentingawordbymeansofitsneighbors

“Youshallknowawordbythecompanyitkeeps”(J.R.Firth1957:11)

OneofthemostsuccessfulideasofmodernstatisticalNLP

government debt problems turning into banking crises as has happened in

saying that Europe needs unified banking regulation to replace the hodgepodge

ë Thesewordswillrepresentbankingì

Page 9: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Wordmeaningisdefinedintermsofvectors

Wewillbuildadensevectorforeachwordtype,chosensothatitisgoodatpredictingotherwordsappearinginitscontext… thoseotherwordsalsobeingrepresentedbyvectors… itallgetsabitrecursive

linguistics=

0.2860.792−0.177−0.1070.109−0.5420.3490.271

Page 10: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Basicideaoflearningneuralnetworkwordembeddings

Wedefineamodelthataimstopredictbetweenacenterwordwt andcontextwordsintermsofwordvectors

p(context|wt)=…

whichhasalossfunction,e.g.,

J =1−p(w−t|wt)

Welookatmanypositionstinabiglanguagecorpus

Wekeepadjustingthevectorrepresentationsofwordstominimizethisloss

Page 11: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Directlylearninglow-dimensionalwordvectors

Oldidea.Relevantforthislecture&deeplearning:• Learningrepresentationsbyback-propagatingerrors

(Rumelhart etal.,1986)

• Aneuralprobabilisticlanguagemodel(Bengio etal.,2003)

• NLP(almost)fromScratch(Collobert &Weston,2008)

• Arecent,evensimplerandfastermodel:word2vec(Mikolov etal.2013)à intronow

Page 12: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

2.Mainideaofword2vec

Predictbetweeneverywordanditscontextwords!

Twoalgorithms1. Skip-grams(SG)

Predictcontextwordsgiventarget(positionindependent)

2. ContinuousBagofWords(CBOW)Predicttargetwordfrombag-of-wordscontext

Two(moderatelyefficient)trainingmethods1. Hierarchicalsoftmax2. NegativesamplingNaïvesoftmax

Page 13: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Skip-gramprediction

Page 14: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Detailsofword2vec

Foreachwordt =1… T,predictsurroundingwordsinawindowof“radius”m ofeveryword.

Objectivefunction:Maximizetheprobabilityofanycontextwordgiventhecurrentcenterword:

Whereθ representsallvariableswewilloptimize

Page 15: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Theobjectivefunction– details

• Terminology:Lossfunction=costfunction=objectivefunction• Usuallossforprobabilitydistribution:Cross-entropyloss• Withone-hotwt+j target,theonlytermleftisthenegativelog

probabilityofthetrueclass• Moreonthislater…

Page 16: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

DetailsofWord2Vec

Predictsurroundingwordsinawindowofradiusm ofeveryword

Forthesimplestfirstformulationis

whereo istheoutside(oroutput)wordindex,c isthecenterwordindex,vc anduo are“center”and“outside”vectorsofindicesc ando

Softmax usingwordc toobtainprobabilityofwordo

training time. The basic Skip-gram formulation defines p(wt+j |wt) using the softmax function:

p(wO|wI) =exp

!

v′wO

⊤vwI

"

#Ww=1 exp

!

v′w⊤vwI

" (2)

where vw and v′w are the “input” and “output” vector representations of w, and W is the num-ber of words in the vocabulary. This formulation is impractical because the cost of computing∇ log p(wO|wI) is proportional toW , which is often large (105–107 terms).

2.1 Hierarchical Softmax

A computationally efficient approximation of the full softmax is the hierarchical softmax. In thecontext of neural network language models, it was first introduced by Morin and Bengio [12]. Themain advantage is that instead of evaluating W output nodes in the neural network to obtain theprobability distribution, it is needed to evaluate only about log2(W ) nodes.

The hierarchical softmax uses a binary tree representation of the output layer with theW words asits leaves and, for each node, explicitly represents the relative probabilities of its child nodes. Thesedefine a random walk that assigns probabilities to words.

More precisely, each word w can be reached by an appropriate path from the root of the tree. Letn(w, j) be the j-th node on the path from the root to w, and let L(w) be the length of this path, son(w, 1) = root and n(w,L(w)) = w. In addition, for any inner node n, let ch(n) be an arbitraryfixed child of n and let [[x]] be 1 if x is true and -1 otherwise. Then the hierarchical softmax definesp(wO|wI) as follows:

p(w|wI ) =

L(w)−1$

j=1

σ!

[[n(w, j + 1) = ch(n(w, j))]] · v′n(w,j)⊤vwI

"

(3)

where σ(x) = 1/(1 + exp(−x)). It can be verified that#W

w=1 p(w|wI) = 1. This implies that thecost of computing log p(wO|wI) and ∇ log p(wO|wI) is proportional to L(wO), which on averageis no greater than logW . Also, unlike the standard softmax formulation of the Skip-gram whichassigns two representations vw and v′w to each word w, the hierarchical softmax formulation hasone representation vw for each word w and one representation v′n for every inner node n of thebinary tree.

The structure of the tree used by the hierarchical softmax has a considerable effect on the perfor-mance. Mnih and Hinton explored a number of methods for constructing the tree structure and theeffect on both the training time and the resulting model accuracy [10]. In our work we use a binaryHuffman tree, as it assigns short codes to the frequent words which results in fast training. It hasbeen observed before that grouping words together by their frequency works well as a very simplespeedup technique for the neural network based language models [5, 8].

2.2 Negative Sampling

An alternative to the hierarchical softmax is Noise Contrastive Estimation (NCE), which was in-troduced by Gutmann and Hyvarinen [4] and applied to language modeling by Mnih and Teh [11].NCE posits that a good model should be able to differentiate data from noise by means of logisticregression. This is similar to hinge loss used by Collobert and Weston [2] who trained the modelsby ranking the data above noise.

While NCE can be shown to approximately maximize the log probability of the softmax, the Skip-gram model is only concerned with learning high-quality vector representations, so we are free tosimplify NCE as long as the vector representations retain their quality. We define Negative sampling(NEG) by the objective

log σ(v′wO

⊤vwI

) +k%

i=1

Ewi∼Pn(w)

&

log σ(−v′wi

⊤vwI

)'

(4)

3

Page 17: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Dotproducts

Page 18: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Softmaxfunction:StandardmapfromℝV toaprobabilitydistribution

Exponentiatetomakepositive

Normalizetogiveprobability

Page 19: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Skipgrammodelstructure

Page 20: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Totrainthemodel:Computeall vectorgradients!

• Weoftendefinethesetofall parametersinamodelintermsofonelongvector

• Inourcasewithd-dimensionalvectorsandVmanywords:

• Wethenoptimizetheseparameters

Note:Everywordhastwovectors!Makesitsimpler!

Page 21: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

4.Derivationsofgradient

• Whiteboard– seevideoifyou’renotinclass;)

• ThebasicLegopiece

• Usefulbasics:

• Ifindoubt:writeoutwithindices

• Chainrule!Ify =f(u)andu =g(x),i.e.y=f(g(x)),then:

Page 22: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

ChainRule

• Chainrule!Ify =f(u)andu =g(x),i.e.y=f(g(x)),then:

• Simpleexample:

Page 23: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

InteractiveWhiteboard Session!

Let’sderivegradientforcenterwordtogetherForoneexamplewindowandoneexampleoutsideword:

Youthenalsoalsoneedthegradientforcontextwords(it’ssimilar;leftforhomework).That’salloftheparamets θ here.

Page 24: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher
Page 25: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher
Page 26: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher
Page 27: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher
Page 28: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Calculatingallgradients!

• Wewentthroughgradientforeachcentervectorv inawindow• Wealsoneedgradientsforoutsidevectorsu• Deriveathome!

• Generallyineachwindowwewillcomputeupdatesforallparametersthatarebeingusedinthatwindow.

• Forexample,windowsizem =1,sentence:“Welikelearningalot”

• Firstwindowcomputesgradientsfor:• internalvectorvlike andexternalvectorsuWe andulearning

• Nextwindowinthatsentence?

Page 29: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

5.Cost/ObjectivefunctionsWewilloptimize(maximizeorminimize)ourobjective/costfunctions

Fornow:minimizeà gradientdescent

Trivialexample:(fromWikipedia)Findalocalminimumofthefunctionf(x)=x4−3x3+2,withderivativef'(x)=4x3−9x2

Subtracting a fraction of the gradient moves

you towards the minimum!

Page 30: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

GradientDescent

• Tominimizeoverthefullbatch(theentiretrainingdata)wouldrequireustocomputegradientsforallwindows

• Updateswouldbeforeachelementofθ :

• Withstepsizeα• Inmatrixnotationforallparameters:

Page 31: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

VanillaGradientDescentCode

Page 32: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

Intuition

Forasimpleconvexfunctionovertwoparameters.

Contourlinesshowlevelsofobjectivefunction

Page 33: Natural Language Processing with Deep Learning CS224N/Ling284leeck/NLP2/03_word_embedding... · 2017-09-18 · Natural Language Processing with Deep Learning CS224N/Ling284 Christopher

StochasticGradientDescent

• ButCorpusmayhave40Btokensandwindows• Youwouldwaitaverylongtimebeforemakingasingleupdate!

• Very badideaforprettymuchallneuralnets!• Instead:Wewillupdateparametersaftereachwindowt

à Stochasticgradientdescent(SGD)