Why is that when the instantiating the TreeBankParser you either choose to use the Case Sensitive/Insensitive TagDict or not, it gives very different parse structures under certain circumstances?
Also in what situation would you use either case Sensitive/Insensitive TagDicts.
For example:
- Case Insensitive -
In the cases below it finds the correct parses with exception to the first one. Although this could be put down to the incorrect interpretation of 'update' and is not the fault of the parser.
Store assistant update the rental list .
(TOP (NP (NP (NNP Store) (NN assistant) (NN update)) (NP (DT the) (JJ rental) (NN list)) (. .)))
Store assistant updates the rental list .
(TOP (S (NP (NNP Store) (NN assistant)) (VP (VBZ updates) (NP (DT the) (JJ rental) (NN list))) (. .)))
The store assistant updates the rental list .
(TOP (S (NP (DT The) (NN store) (NN assistant)) (VP (VBZ updates) (NP (DT the) (JJ rental) (NN list))) (. .)))
The store assistant update the rental list .
(TOP (S (NP (DT The) (NN store) (NN assistant)) (VP (VB update) (NP (DT the) (JJ rental) (NN list))) (. .)))
- Case Sensitive -
In the first two cases 'Store' is incorrectly identified as a verb and 'updates' in the second sentence is also incorrectly identified.
Store assistant update the rental list .
(TOP (S (NP (VB Store) (NN assistant)) (VP (VB update) (NP (DT the) (JJ rental) (NN list))) (. .)))
Store assistant updates the rental list .
(TOP (VP (VB Store) (NP (NP (NN assistant) (NNS updates)) (NP (DT the) (JJ rental) (NN list))) (. .)))
The store assistant updates the rental list .
(TOP (S (NP (DT The) (NN store) (NN assistant)) (VP (VBZ updates) (NP (DT the) (JJ rental) (NN list))) (. .)))
The store assistant update the rental list .
(TOP (S (NP (DT The) (NN store) (NN assistant)) (VP (VB update) (NP (DT the) (JJ rental) (NN list))) (. .)))
Another question:
Although the parser returns the best outcome for a given sentence, could it be implied that because there are no 'S' tags for a sentence in the case of the sensitive parse
Tia, can you help me, i use OpenNLP library 1.4.3.
how you can get
(TOP (S (NP (DT The) (NN store) (NN assistant)) (VP (VBZ updates) (NP (DT the) (JJ rental) (NN list))) (. .)))
i using treebankchunker and get
B-NP
I-NP
I-NP
B-VP
B-NP
I-NP
I-NP
O
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
A couple of questions
Why is that when the instantiating the TreeBankParser you either choose to use the Case Sensitive/Insensitive TagDict or not, it gives very different parse structures under certain circumstances?
Also in what situation would you use either case Sensitive/Insensitive TagDicts.
For example:
- Case Insensitive -
In the cases below it finds the correct parses with exception to the first one. Although this could be put down to the incorrect interpretation of 'update' and is not the fault of the parser.
Store assistant update the rental list .
(TOP (NP (NP (NNP Store) (NN assistant) (NN update)) (NP (DT the) (JJ rental) (NN list)) (. .)))
Store assistant updates the rental list .
(TOP (S (NP (NNP Store) (NN assistant)) (VP (VBZ updates) (NP (DT the) (JJ rental) (NN list))) (. .)))
The store assistant updates the rental list .
(TOP (S (NP (DT The) (NN store) (NN assistant)) (VP (VBZ updates) (NP (DT the) (JJ rental) (NN list))) (. .)))
The store assistant update the rental list .
(TOP (S (NP (DT The) (NN store) (NN assistant)) (VP (VB update) (NP (DT the) (JJ rental) (NN list))) (. .)))
- Case Sensitive -
In the first two cases 'Store' is incorrectly identified as a verb and 'updates' in the second sentence is also incorrectly identified.
Store assistant update the rental list .
(TOP (S (NP (VB Store) (NN assistant)) (VP (VB update) (NP (DT the) (JJ rental) (NN list))) (. .)))
Store assistant updates the rental list .
(TOP (VP (VB Store) (NP (NP (NN assistant) (NNS updates)) (NP (DT the) (JJ rental) (NN list))) (. .)))
The store assistant updates the rental list .
(TOP (S (NP (DT The) (NN store) (NN assistant)) (VP (VBZ updates) (NP (DT the) (JJ rental) (NN list))) (. .)))
The store assistant update the rental list .
(TOP (S (NP (DT The) (NN store) (NN assistant)) (VP (VB update) (NP (DT the) (JJ rental) (NN list))) (. .)))
Another question:
Although the parser returns the best outcome for a given sentence, could it be implied that because there are no 'S' tags for a sentence in the case of the sensitive parse
the case insensitive parse
that another parse should be sought that does contain an 'S' tag??
Which may resolve the issue of the verb 'update' being incorrectly identified, but does not appear to work for case sensitive parses.
Additional parses for Insensitive below:
Store assistant update the rental list.
0 -2.462258784722649 (TOP (NP (NP (NNP Store) (NN assistant) (NN update)) (NP (DT the) (JJ rental) (NN list)) (. .)))
1 -2.743797926151064 (TOP (S (NP (NNP Store) (NN assistant)) (VP (VB update) (NP (DT the) (JJ rental) (NN list))) (. .))) <--- correct parse
2 -3.971608237073824 (TOP (S (NP (NNP Store) (NN assistant) (NN update)) (NP (DT the) (JJ rental) (NN list)) (. .)))
Additional parses for sensitive (Although it does not find a correct parse for the sentence)
0 -9.772332227396094 (TOP (VP (VB Store) (NP (NP (NN assistant) (NNS updates)) (NP (DT the) (JJ rental) (NN list))) (. .)))
1 -9.820014291894475 (TOP (NP (NP (VB Store) (NN assistant) (NNS updates)) (NP (DT the) (JJ rental) (NN list)) (. .)))
2 -9.964221457072211 (TOP (VP (VB Store) (NP (NP (JJ assistant) (NNS updates)) (NP (DT the) (JJ rental) (NN list))) (. .)))
3 -10.506138377197779 (TOP (VP (VB Store) (S (NP (NN assistant)) (VP (VBG updates) (NP (DT the) (JJ rental) (NN list)))) (. .)))
4 -10.758544051418927 (TOP (VP (VB Store) (NP (NP (NN assistant)) (PP (TO updates) (NP (DT the) (JJ rental) (NN list)))) (. .)))
5 -10.824540271695023 (TOP (VP (VB Store) (NP (NP (NN assistant)) (VP (VBG updates) (NP (DT the) (JJ rental) (NN list)))) (. .)))
6 -10.881714822895761 (TOP (VP (VB Store) (NP (NP (NN assistant)) (PP (IN updates) (NP (DT the) (JJ rental) (NN list)))) (. .)))
7 -11.075797310087006 (TOP (VP (VB Store) (S (NP (NN assistant)) (VP (VBZ updates) (NP (DT the) (JJ rental) (NN list)))) (. .)))
8 -11.299625781310063 (TOP (VP (VB Store) (NP (NN assistant)) (VP (VBZ updates) (NP (DT the) (JJ rental) (NN list))) (. .)))
9 -11.55226908044939 (TOP (VP (VB Store) (NP (NP (NN assistant) (NNS updates)) (NP (DT the) (NN rental) (NN list))) (. .)))
10 -11.739834484052327 (TOP (VP (VB Store) (NP (NP (JJ assistant) (NNS updates)) (NP (DT the) (NN rental) (NN list))) (. .)))
11 -11.799245892781926 (TOP (VP (VB Store) (NP (NP (JJ assistant)) (PP (TO updates) (NP (DT the) (JJ rental) (NN list)))) (. .)))
12 -11.826231936754214 (TOP (VP (VB Store) (SBAR (S (NP (NN assistant)) (VP (VBG updates) (NP (DT the) (JJ rental) (NN list))))) (. .)))
13 -12.266468083656353 (TOP (VP (VB Store) (S (NP (NN assistant) (NNS updates)) (NP (DT the) (JJ rental) (NN list))) (. .)))
14 -12.298163207225453 (TOP (VP (VB Store) (S (NP (JJ assistant)) (VP (VBG updates) (NP (DT the) (JJ rental) (NN list)))) (. .)))
15 -12.458357313332469 (TOP (VP (VB Store) (S (NP (JJ assistant) (NNS updates)) (NP (DT the) (JJ rental) (NN list))) (. .)))
TIA
mark
Tia, can you help me, i use OpenNLP library 1.4.3.
how you can get
(TOP (S (NP (DT The) (NN store) (NN assistant)) (VP (VBZ updates) (NP (DT the) (JJ rental) (NN list))) (. .)))
i using treebankchunker and get
B-NP
I-NP
I-NP
B-VP
B-NP
I-NP
I-NP
O