Language Technology Enhanced Learning

39
Language Technology Language Technology Enhanced Learning Enhanced Learning Fridolin Wild The Open University, UK Gaston Burek University of Tübingen Adriana Berlanga Open University, NL

description

Fridolin Wild, Gaston Burek, Adriana Berlanga

Transcript of Language Technology Enhanced Learning

Page 1: Language Technology Enhanced Learning

Language TechnologyLanguage TechnologyEnhanced LearningEnhanced LearningFridolin WildThe Open University, UK

Gaston BurekUniversity of Tübingen

Adriana BerlangaOpen University, NL

Page 2: Language Technology Enhanced Learning

Workshop OutlineWorkshop Outline

1 | Deep Introduction

Latent-Semantic Analysis (LSA)2 | Quick Introduction

Working with R3 | Experiment

Simple Content-Based Feedback4 | Experiment

Topic Proxy

#2

Page 3: Language Technology Enhanced Learning

Latent-Semantic AnalysisLatent-Semantic Analysis

LSALSA

Page 4: Language Technology Enhanced Learning

Latent Semantic AnalysisLatent Semantic Analysis

• Assumption: language utterances do have a semantic structure

• However, this structure is obscured by word usage (noise, synonymy, polysemy, …)

• Proposed LSA Solution: – map doc-term matrix – using conceptual indices – derived statistically (truncated SVD) – and make similarity comparisons

using e.g. angles

Page 5: Language Technology Enhanced Learning

Input (e.g., documents)Input (e.g., documents)

{ M } =

Deerwester, Dumais, Furnas, Landauer, and Harshman (1990): Indexing by Latent Semantic Analysis, In: Journal of the American Society for Information Science, 41(6):391-407

Only the red terms appear in more than one document, so strip the rest.

term = feature

vocabulary = ordered set of features

TEXTMATRIX

Page 6: Language Technology Enhanced Learning

Singular Value Decomposition

=

Page 7: Language Technology Enhanced Learning

Truncated SVDTruncated SVD

… we will get a different matrix (different values, but still of the same format as M).

latent-semantic space

Page 8: Language Technology Enhanced Learning

Reconstructed, Reduced Reconstructed, Reduced MatrixMatrix

m4: Graph minors: A survey

Page 9: Language Technology Enhanced Learning

Similarity in a Latent-Semantic SpaceSimilarity in a Latent-Semantic Space

(Landauer, 2007)

m

ii

m

ii

m

iii

ba

ba

1

2

1

2

1cos Query

Target 1

Target 2Angle 2

Angle 1

Y d

ime

nsi

on

X dimension

Page 10: Language Technology Enhanced Learning

doc2doc - similarities

Unreduced = pure vector space model

- Based on M = TSD’

- Pearson Correlation over document vectors

reduced

- based on M2 = TS2D’

- Pearson Correlation over document vectors

Page 11: Language Technology Enhanced Learning

The meaning of "life" =

0.0465 -0.0453 -0.0275 -0.0428 0.0166 -0.0142 -0.0094 0.0685 0.0297 -0.0377 -0.0166 -0.0165 0.0270 -0.0171 0.0017 0.0135 -0.0372 -0.0045 -0.0205 -0.0016 0.0215 0.0067 -0.0302 -0.0214 -0.0200 0.0462 -0.0371 0.0055 -0.0257 -0.0177

-0.0249 0.0292 0.0069 0.0098 0.0038 -0.0041 -0.0030 0.0021 -0.0114 0.0092 -0.0454 0.0151 0.0091 0.0021 -0.0079 -0.0283 -0.0116 0.0121 0.0077 0.0161 0.0401 -0.0015 -0.0268 0.0099 -0.0111 0.0101 -0.0106 -0.0105 0.0222 0.0106 0.0313 -0.0091 -0.0411 -0.0511 -0.0351 0.0072 0.0064 -0.0025 0.0392 0.0373 0.0107 -0.0063 -0.0006 -0.0033 -0.0403 0.0481 0.0082 -0.0587 -0.0154 -0.0342

-0.0057 -0.0141 0.0340 -0.0208 -0.0060 0.0165 -0.0139 0.0060 0.0249 -0.0515 0.0083 -0.0303 -0.0070 -0.0033 0.0408 0.0271 -0.0629 0.0202 0.0101 0.0080 0.0136 -0.0122 0.0107 -0.0130 -0.0035 -0.0103 -0.0357 0.0407 -0.0165 -0.0181 0.0369 -0.0295 -0.0262 0.0363 0.0309 0.0180 -0.0058 -0.0243 0.0038 -0.0480 0.0008 -0.0064 0.0152 0.0470 0.0071 0.0183 0.0106 0.0377 -0.0445 0.0206

-0.0084 -0.0457 -0.0190 0.0002 0.0283 0.0423 -0.0758 0.0005 0.0335 -0.0693 -0.0506 -0.0025 -0.1002 -0.0178 -0.0638 0.0513 -0.0599 -0.0456 -0.0183 0.0230 -0.0426 -0.0534 -0.0177 0.0383 0.0095 0.0117 0.0472 0.0319 -0.0047 0.0534 -0.0252 0.0266 -0.0210 -0.0627 0.0424 -0.0412 0.0133 -0.0221 0.0593 0.0506 0.0042 -0.0171 -0.0033 -0.0222 -0.0409 -0.0007 0.0265 -0.0260 -0.0052 0.0388 0.0393 0.0393 0.0652 0.0379 0.0463 0.0357 0.0462 0.0747 0.0244 0.0598

-0.0563 0.1011 0.0491 0.0174 -0.0123 0.0352 -0.0368 -0.0268 -0.0361 -0.0607 -0.0461 0.0437 -0.0087 -0.0109 0.0481 -0.0326 -0.0642 0.0367 0.0116 0.0048 -0.0515 -0.0487 -0.0300 0.0515 -0.0312 -0.0429 -0.0582 0.0730 -0.0063 -0.0479 0.0230 -0.0325 0.0240 -0.0086 -0.0401 0.0747 -0.0649 -0.0658 -0.0283 -0.0184

-0.0297 -0.0122 -0.0883 -0.0138 -0.0072 -0.0250 -0.1139 -0.0172 0.0507 0.0252 0.0307 -0.0821 0.0328 0.0584 -0.0216 0.0117 0.0801 0.0186 0.0088 0.0224

-0.0079 0.0462 -0.0273 -0.0792 0.0127 -0.0568 0.0105 -0.0167 0.0923 -0.0843 0.0836 0.0291 -0.0201 0.0807 0.0670 0.0592 0.0312 -0.0272 -0.0207 0.0028

-0.0092 0.0385 0.0194 -0.0451 0.0002 -0.0041 0.0203 0.0313 -0.0093 -0.0444 0.0142 -0.0458 0.0223 -0.0688 -0.0334 -0.0361 -0.0636 0.0217 -0.0153 -0.0458

-0.0322 -0.0615 -0.0206 0.0146 -0.0002 0.0148 -0.0223 0.0471 -0.0015 0.0135 (Landauer, 2007)

Page 12: Language Technology Enhanced Learning

ConfigurationsConfigurations

4 x 12 x 7 x 2 x 3 = 2016 Combinations

Page 13: Language Technology Enhanced Learning

Updating: Folding-InUpdating: Folding-In

• SVD factor stability– Different texts – different factors– Challenge: avoid unwanted factor changes

(e.g., bad essays)– Solution: folding-in instead of recalculating

• SVD is computationally expensive– 14 seconds (300 docs textbase) – 10 minutes (3500 docs textbase)– … and rising!

Page 14: Language Technology Enhanced Learning

The Statistical Language The Statistical Language and Environment Rand Environment R

RR

Page 15: Language Technology Enhanced Learning
Page 16: Language Technology Enhanced Learning

HelpHelp

> ?'+'

> ?kmeans

> help.search("correlation")

http://www.r-project.org

=> site search

=> documentation

Mailinglist r-help

Task View NLP: http://cran.r-project.org/ -> Task Views -> NLP

Page 17: Language Technology Enhanced Learning

Installation & ConfigurationInstallation & Configuration

install.packages("lsa", repos="http://cran.r-project.org")

install.packages("tm", repos="http://cran.r-project.org")

install.packages("network", repos="http://cran.r-project.org")

library(lsa)

setwd("d:/denkhalde/workshop")

dir()

ls()

quit()

Page 18: Language Technology Enhanced Learning

The lsa PackageThe lsa Package

• Available via CRAN, e.g.:http://cran.at.r-project.org/src/contrib/Descriptions/lsa.html

• Higher-level Abstraction to Ease Use– Five core methods:

textmatrix() / query()

lsa()

fold_in()

as.textmatrix()

– Supporting methods for term weighting, dimensionality calculation, correlation measurement, triple binding

Page 19: Language Technology Enhanced Learning

Core Processing WorkflowCore Processing Workflow

tm = textmatrix(‘dir/‘)

tm = lw_logtf(tm) * gw_idf(tm)

space = lsa(tm, dims=dimcalc_share())

tm3 = fold_in(tm, space)

as.textmatrix(tm)

Page 20: Language Technology Enhanced Learning

A Simple Evaluation of Students WritingsA Simple Evaluation of Students Writings

FeedbackFeedback

Page 21: Language Technology Enhanced Learning

Evaluating Student WritingsEvaluating Student Writings

(Landauer, 2007)

External Validation?Compare to Human Judgements!

Page 22: Language Technology Enhanced Learning

How to do it...How to do it...library( "lsa“ ) # load package

# load training texts

trm = textmatrix( "trainingtexts/“ )

trm = lw_bintf( trm ) * gw_idf( trm ) # weighting

space = lsa( trm ) # create an LSA space

# fold-in essays to be tested (including gold standard text)

tem = textmatrix( "testessays/", vocabulary=rownames(trm) )

tem = lw_bintf( tem ) * gw_idf( trm ) # weighting

tem_red = fold_in( tem, space )

# score an essay by comparing with

# gold standard text (very simple method!)

cor( tem_red[,"goldstandard.txt"], tem_red[,"E1.txt"] )

=> 0.7

Page 23: Language Technology Enhanced Learning

Evaluating EffectivenessEvaluating Effectiveness

• Compare Machine Scores with Human Scores

• Human-to-Human Correlation– Usually around .6– Increased by familiarity between

assessors, tighter assessment schemes, …

– Scores vary even stronger with decreasing subject familiarity (.8 at high familiarity, worst test -.07)

•Test Collection: 43 German Essays, scored from 0 to 5 points (ratio scaled), average length: 56.4 words•Training Collection: 3 ‘golden essays’, plus 302 documents from a marketing glossary, average length: 56.1 words

Page 24: Language Technology Enhanced Learning

(Positive) Evaluation Results(Positive) Evaluation ResultsLSA machine scores: Spearman's rank correlation rhodata: humanscores[names(machinescores), ] and machinescores S = 914.5772, p-value = 0.0001049alternative hypothesis: true rho is not equal to 0 sample estimates: rho 0.687324

Pure vector space model: Spearman's rank correlation rhodata: humanscores[names(machinescores), ] and machinescores S = 1616.007, p-value = 0.02188alternative hypothesis: true rho is not equal to 0 sample estimates: rho 0.4475188

Page 25: Language Technology Enhanced Learning

Concept-Focused EvaluationConcept-Focused Evaluation

(using http://eczemablog.blogspot.com/feeds/posts/default?alt=rss)

Page 26: Language Technology Enhanced Learning

Visualising Lexical SemanticsVisualising Lexical Semantics

Topic ProxyTopic Proxy

Page 27: Language Technology Enhanced Learning

Network VisualisationNetwork Visualisation

• Term-2-Term distance matrix

t1 t2 t3 t4

t1 1

t2 -0.2 1

t3 0.5 0.7 1

t4 0.05 -0.5 0.3 1

==

Graph

Page 28: Language Technology Enhanced Learning

Classical Landauer ExampleClassical Landauer Example

tl = landauerSpace$tk %*% diag(landauerSpace$sk)dl = landauerSpace$dk %*% diag(landauerSpace$sk)dtl = rbind(tl,dl)

s = cosine(t(dtl))s[which(s<0.8)] = 0

plot( network(s), displaylabels=T, vertex.col = c(rep(2,12), rep(3,9)) )

Page 29: Language Technology Enhanced Learning

Divisive Clustering (Diana)Divisive Clustering (Diana)

Page 30: Language Technology Enhanced Learning

edmediaedmediaTerminology

Page 31: Language Technology Enhanced Learning

Code SampleCode Sampled2000 = cosine(t(dtm2000))

dianac2000 = diana(d2000, diss=T)

clustersc2000 = cutree(as.hclust(dianac2000), h=0.2)

plot(dianac2000, which.plot=2, cex=.1) # dendrogramme

winc = clustersc2000[which(clustersc2000==1)] # filter for cluster 1

wincn = names(winc)

d = d2000[wincn,wincn]

d[which(d<0)] == 0

btw = betweenness(d, cmode="undirected") # for nodes size calc

btwmax = colnames(d)[which(btw==max(btw))]

btwcex = (btw/max(btw))+1

plot(network(d), displayisolates=F, displaylabels=T, boxed.labels=F, edge.col="gray", main=paste("cluster",i), usearrows=F, vertex.border="darkgray", label.col="darkgray", vertex.cex=btwcex*3, vertex.col=8-(colnames(d) %in% btwmax))

Page 32: Language Technology Enhanced Learning

PermutatingPermutating

PermutationPermutation

Page 33: Language Technology Enhanced Learning

Permutation testPermutation test

• NON PARAMETRIC: does not assume that the data have a particular probability distribution.

• Suppose the following ranking of elements of two categories X and Y

• Actual data to be evaluated,• (x_1,x_2,y_1) = (1,9,2). • Let,• T(x_1,x_2,y_1)=abs(mean X- mean Y) = 2

Page 34: Language Technology Enhanced Learning

PermutationPermutation

• Usually, it is not practical to evaluate all N! permutatioons.

• We can approximate the p-value by sampling randomly from the set of permutations.

Page 35: Language Technology Enhanced Learning

The permutations are:The permutations are:

• permutation    value of T      

•  --------------------------------------------

•         (1,9,3)         2             (actual data)

•         (9,1,3)           2            

•         (1,3,9)           7            

•         (3,1,9)           7            

•         (3,9,1)           5            

•         (9,3,1)           5            

Page 36: Language Technology Enhanced Learning

Some resultsSome results• Students discussions on safe prescribing:

• Classified according expected learning outcomes related subtopics topics: A=7, B=12, C=53, D=4, E=40, F=7

• Graded: poor, fair, good, excelent

• Methodology used:

• LSA

• Bag of words/Maximal Repeated Phrases

• Permutation test

Page 37: Language Technology Enhanced Learning

Challenging QuestionsChallenging Questions

DiscussionDiscussion

Page 38: Language Technology Enhanced Learning

QuestionsQuestions

• Dangers of using Language Technology?

• Ontologies = Neat? NLP = Nasty?

• Other possible application areas?

• Corpus Collection?

• What is good effectiveness? When can we say that an algorithm works well?

• Other aspects not evaluated…

Page 39: Language Technology Enhanced Learning

Questions?Questions?

#eof.#eof.