pos tagging tag wise accuracy graph- tag wise accuracy precision recall f-score improvements in pos...

60
Natural Language Processing Assignment Group Members: Soumyajit De Naveen Bansal Sanobar Nishat

Upload: roxanne-atkins

Post on 29-Dec-2015

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Natural Language Processing

Assignment

Group Members:Soumyajit De

Naveen BansalSanobar Nishat

Page 2: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Outline

• POS taggingTag wise accuracyGraph- tag wise accuracyPrecision recall f-score

• Improvements In POS taggingImplementation of tri-gramPOS tagging with smoothingTag wise accuracyImproved precision, recall and f-score

• Comparison between Discriminative and Generative Model

• Next word predictionModel #1Model #2Implementation method and detailsScoring ratioperplexity ratio

Page 3: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

• NLTK• Yago

Different examples by using Yago• Parsing

Different examplesConclusions

• A* Implementation – A Comparison with Viterbi

Outline

Page 4: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Assignment#1HMM Based POS Tagger

Page 5: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Tag Wise Accuracy

Page 6: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Graph – Tag Wise Accuracy

Page 7: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Precision, Recall, F-Score

Precision : tp/(tp+fp) = 0.92

Recall: tp/(tp+fn) = 1

F-score: 2.precision.recall/(precision + recall) = 0.958

Page 8: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Improvements inHMM Based POS Tagger

Assignment#1 (Cont..)

Page 9: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Improvement in HMM Based POS Tagger

Implementation of Trigram* Issues - sparcity * Solution – Implementation of smoothing

techniques* Results – increases overall accuracy up to

94%

Page 10: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Smoothing Technique

Implementation of Smoothing Technique* Linear Interpolation Technique* Formula:

i.e.* Finding value of lambda

(discussed in “ TnT- A Statistical Part-of-Speech Tagger ”)

Page 11: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

POS Tagging Accuracy With Smoothing

1 2 3 4 5 6 7 8 9 1094.02

94.04

94.06

94.08

94.1

94.12

94.14

94.16

94.18

94.2

94.22

Series1

Page 12: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Precision, Recall, F-Score

Precision : tp/(tp+fp) = 0.9415

Recall: tp/(tp+fn) = 1

F-score: 2.precision.recall/(precision + recall)

= 0.97

Page 13: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Tag Wise Accuracy

AJ0 AJC AJS AT0 AV0 AVP AVQ CJC CJS CJT CRD DPS DT0 DTQ EX0 ITJ NN0 NN1 NN2 NP00

20

40

60

80

100

120

Series1

Page 14: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

ORD PNI PNPPNQPNXPOS PRF PRP PULPUNPUQPURTO0UNCVBBVBDVBG VBI VBNVBZ0

20

40

60

80

100

120

Series1

VDBVDD

VDGVDI

VDNVDZ

VHBVHD

VHGVHI

VHNVHZ

VM0VVB

VVDVVG

VVIVVN

VVZXX0

ZZ00

20

40

60

80

100

120

Series1

Tag wise accuracy (cont..)

Page 15: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Improvements inHMM Based POS Tagger

Handling Unknown Words

Assignment#1 (Cont..)

Page 16: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Precision Score (accuracy in Percentage)

Page 17: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Tag Wise Accuracy

Page 18: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Error Analysis (Tag Wise Accuracy)

VVB - finite base form of lexical verbs (e.g. forget, send, live, return)

Count: 9916

Confused with counts Reason

VVI (infinitive form of lexical verbs (e.g. forget, send, live, return))

1201 VVB is used to tagged the word that has the same form as the infinitive without “to” for all persons. E.g. He has to show Show me

VVD (The past tense form of lexical verbs (e.g. forgot, sent, lived, returned))

145 The base form and past tense form of many verbs are same. So domination of emission probability of such word caused VVB wrongly tagged as VVD. And effect of transition probability might got have lower influence.

NN1 303 Words with similar base form gets confuse with common noun.e.g. The seasonally adjusted total regarded as…Total has been tagged as VVB and NN1

Page 19: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Error Analysis (cont..)

ZZ0 - Alphabetical symbols (e.g. A, a, B, b, c, d) (Accuracy - 63%)

Count: 337

Confused with count

sReason

AT0 (Article e.g. the, a, an, no)

98 Emission probability of “a” as AT0 is much higher compare to ZZ0. Hence AT0 dominates while tagging “a”

CRD (Cardinal number e.g. one, 3, fifty-five, 3609)

16 Because of the assumption of bigram/trigram Transition probability.

Page 20: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Error Analysis (cont..)

ITJ - Interjection (Accuracy - 65%) Count: 177Reason: ITJ Tag appeared so less number of times, that it didn't

miss classified that much, but yet its percentage is so low

Confused with counts

Reason

AT0 (Article (e.g. the, a, an, no))

26 “No“ is used as ITJ and article in the corpus. So confusion is due to the higher emission probability of word with AT0

NN1 (Singular common noun)

14 “Bravo” is tagged as NN1 and ITJ in corpus

Page 21: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Error Analysis (cont..)

UNC - Unclassified items (Accuracy - 23%) Count: 756

Confused with counts

Reason

AT0 (Article (e.g. the, a, an, no))

69 Because of the domination of transition probability UNC is wrongly tagged

NN1 (Singular common noun)

224 Because of the domination of transition probability UNC is wrongly tagged

NP0 (Proper noun (e.g. London, Michael, Mars, IBM))

132 New word with begin capital letter is tagged as NP0, since mostly the UNC words are not repeating among different corpus.

Page 22: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Assignment#2Discriminative &

Generative Model – A Comparison

Page 23: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Discriminative and Generative Model

Page 24: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Comparison Graph

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150.82

0.825

0.83

0.835

0.84

0.845

0.85

0.855

0.86

0.865

0.87

discriminative model

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150.82

0.825

0.83

0.835

0.84

0.845

0.85

0.855

0.86

0.865

0.87

generative model

Page 25: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Conclusion

Since its unigram, Discriminative and Generative Model are giving same performance, as expected

Page 26: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Assignment#3Next word prediction

Page 27: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Model # 1

When only previous word is givenExample: He likes -------

Page 28: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Model # 2

When previous Tag & previous word are known.

Example: He_PP0 likes_VB0 --------

Previous Work

Page 29: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Model # 2 (cont..)

Current Work

Page 30: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Evaluation Method

1. Scoring Method Divide the testing corpus into bigram Match the testing corpus 2nd word of

bigram with predicted word of each model

Increment the score if match found The final evaluation is the ratio of the two

scores of each model i.e. model1/model2 If ratio > 1 => model 1 is performing

better and vice-verca.

Page 31: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Implementation Detail

Previous Word Next Predicted Word (Model 1)

Next Predicted Word (Model 2)

I see see

he looks goes

::

::

::

Look Up Table

Look up is used in predicting the next word

Page 32: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Scoring Ratio

1 2 3 4 510.4

10.6

10.8

11

11.2

11.4

11.6

11.8

12

12.2

Series1

Page 33: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

2. Perplexity:

Comparison:

Page 34: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Perplexity Ratio

1 2 3 4 50.988

0.99

0.992

0.994

0.996

0.998

1

Series1

Page 35: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Remarks

Model 2 is performing poorer than model 1 because of words are sparse among tags.

Page 36: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Next word predictionFurther Experiments

Assignment#3 (Cont..)

Page 37: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Score (ratio) of word-prediction

1 2 3 4 5 6 7 8 9 101.13

1.14

1.15

1.16

1.17

1.18

1.19

1.2

1.21

1.22

1.23

Series1

Page 38: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Perplexity (ratio) of word-prediction

1 2 3 4 5 6 7 8 9 100.84

0.86

0.88

0.9

0.92

0.94

0.96

0.98

1

Series1

Page 39: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Remarks

Perplexity is found to be decreasing in this model.

Overall score has been increased.

Page 40: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Assignment#4Yaqo

Page 41: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Example #1

Query : Amitabh and Sachin

wikicategory_Living_people -- <type> -- Amitabh_Bachchan -- <givenNameOf> -- Amitabh

wikicategory_Living_people -- <type> -- Sachin_Tendulkar -- <givenNameOf> -- Sachin

ANOTHER-PATHwikicategory_Padma_Shri_recipients -- <type> --

Amitabh_Bachchan -- <givenNameOf> -- Amitabh

wikicategory_Padma_Shri_recipients -- <type> -- Sachin_Tendulkar -- <givenNameOf> -- Sachin

Page 42: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Example#2

Query : India and Pakistan

PATHwikicategory_WTO_member_economies -- <type> -- India

wikicategory_WTO_member_economies -- <type> -- Pakistan

ANOTHER-PATHwikicategory_English-speaking_countries_and_territories --

<type> -- India

wikicategory_English-speaking_countries_and_territories -- <type> -- Pakistan

ANOTHER-PATHOperation_Meghdoot -- <participatedIn> -- India

Operation_Meghdoot -- <participatedIn> -- Pakistan

Page 43: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

ANOTHER-PATHOperation_Trident_(Indo-Pakistani_War) -- <participatedIn> --

India

Operation_Trident_(Indo-Pakistani_War) -- <participatedIn> -- Pakistan

ANOTHER-PATHSiachen_conflict -- <participatedIn> -- India

Siachen_conflict -- <participatedIn> -- Pakistan

ANOTHER-PATHwikicategory_Asian_countries -- <type> -- India

wikicategory_Asian_countries -- <type> -- Pakistan

Page 44: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

ANOTHER-PATHCapture_of_Kishangarh_Fort -- <participatedIn> -- India

Capture_of_Kishangarh_Fort -- <participatedIn> -- Pakistan ANOTHER-PATHwikicategory_South_Asian_countries -- <type> -- India

wikicategory_South_Asian_countries -- <type> -- Pakistan

ANOTHER-PATHOperation_Enduring_Freedom -- <participatedIn> -- India

Operation_Enduring_Freedom -- <participatedIn> -- Pakistan

ANOTHER-PATHwordnet_region_108630039 -- <type> -- India

wordnet_region_108630039 -- <type> -- Pakistan

Page 45: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Example #3

Query: Tom and Jerry

wikicategory_Living_people -- <type> -- Tom_Green -- <givenNameOf> -- Tom

wikicategory_Living_people -- <type> -- Jerry_Brown -- <givenNameOf> -- Jerry

Page 46: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Assignment#5 Parser projection

Page 47: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Example#1

Page 48: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Example#2

Page 49: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Example#3

Page 50: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Example#5Example#4

Page 51: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Example#6

Page 52: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Example#7

Page 53: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Example#8

Page 54: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Conclusion

1. VBZ always comes at the end of the parse tree in Hindi and Urdu.

2. The structure in Hindi and Urdu is always expand or reset to NP VB e.g. S=> NP VP (no change) OR VP => VBZ NP (interchange)

3. For exact translation in Hindi and Urdu, merging of sub-tree in english is sometimes required

4. One word to multiple words mapping is common while translating from English to Hindi/Urdu e.g. donar => aatiya shuda OR have => rakhta hai

5. Phrase to phrase translation is sometimes required, so chunking is required e.g. hand in hand => choli daman ka saath (Urdu) => sath sath hain (Hindi)

6. DT NN or DT NP doesn’t interchange7. In example#7: correct translation won’t require merging of

two sub-trees MD and VP e.g. could be => jasakta hai

Page 55: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

NLTK Toolkit

NLTK is a suite of open source Python modules

Components of NLTK : Code, Corpora >30 annotated data sets

1. corpus readers2. tokenizers3. stemmers4. taggers5. parsers6. wordnet7. semantic interpretation

Page 56: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Assignment#6A* Implementation

& Comparison with Vitervi

Page 57: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

A* - Heuristic

^ $

Fixed cost at each level (L)= (Min cost)* No. of Hops

Selected RouteTransition probability

A B C D

Page 58: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

F(B) = g(B) + h(B)

where h(B) = min(i,j){-log(Pr(Cj|Bi) * Pr(Wc|Cj))} + min(i,j){-log(Pr(tj|ti) * Pr(Wtj|tj))} * (n-2)

+ min(k){-log(Pr($|Dk) * Pr($|$))}Here, n = #nodes from Bi to $ (including $)

Wc = word emitted from next node, C

ti ,tj = any combination of tags in the graph

Wtj = word emitted from the node tj

Heuristic(h)

Page 59: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Viterbi / A* Ratio : score(Viterbi) / score(A*) = 1.0

Where, score(Algo) = #correct predictions in the test

corpus

Result

Page 60: POS tagging Tag wise accuracy Graph- tag wise accuracy Precision recall f-score Improvements In POS tagging Implementation of tri-gram POS tagging with

Conclusion

1. Since we are making bigram assumption and Viterbi is pruned in a careful way that is guaranteed to find the optimal path in a bigram HMM, its giving the optimal path. For A*, since our heuristic is underestimating and also maintains triangular inequality, A* is also giving the optimal path in the graph.

2. Since A* has to backtrack at times, it requires more time and memory to find the solution compared to Viterbi.