You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by bg...@apache.org on 2016/11/22 13:05:15 UTC

[01/11] opennlp-sandbox git commit: removed stanford nlp refs

Repository: opennlp-sandbox
Updated Branches:
  refs/heads/master 1f97041ba -> 2707f6656


http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/resources/tree_kernel/training.txt
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/resources/tree_kernel/training.txt b/opennlp-similarity/src/test/resources/tree_kernel/training.txt
deleted file mode 100644
index 450b388..0000000
--- a/opennlp-similarity/src/test/resources/tree_kernel/training.txt
+++ /dev/null
@@ -1,16350 +0,0 @@
-1 |BT| (ROOT (S (NP (PRP We)) (VP (VBD stayed) (PP (IN at) (NP (NP (DT the) (NNP Schicago) (NNP Hilton)) (PP (IN for) (NP (NP (CD 4) (NNS days)) (CC and) (NP (CD 3) (NNS nights)))))) (PP (IN for) (NP (DT a) (NN conference)))) (. .))) |ET| 
-1 |BT| (ROOT (SBAR (IN Although) (S (NP (DT the) (NN bathroom)) (VP (VBD had) (NP (NP (PDT all) (DT the) (JJ superficial) (NNS indicators)) (PP (IN of) (S (VP (ADVP (JJ housekeeping)) (VBG having) (VP (ADVP (RB recently)) (VBN cleaned) (PP (IN i.e)) (elaboration=>Nucleus (VBD stayed) (PP (IN at) (NP (NP (DT the) (NNP Schicago) (NNP Hilton)) (PP (IN for) (NP (NP (CD 4) (NNS days)) (CC and) (NP (CD 3) (NNS nights)))))) (PP (IN for) (NP (DT a) (NN conference))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (VP (VBD figuered))) (, ,) (S (ADJP (JJ okay))) (, ,) (S (NP (PRP$ its)) (NP (RB just) (DT the) (NN carpet))) (. .) (elaboration=>Nucleus (VBD stayed) (PP (IN at) (NP (NP (DT the) (NNP Schicago) (NNP Hilton)) (PP (IN for) (NP (NP (CD 4) (NNS days)) (CC and) (NP (CD 3) (NNS nights)))))) (PP (IN for) (NP (DT a) (NN conference)))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB however)) (NP (NP (PRP$ our) (NN experience)) (PP (IN at) (NP (DT the) (NNP Hilton)))) (VP (VBD was) (ADJP (RB so) (JJ awful) (SBAR (S (NP (PRP I)) (VP (VBP am) (VP (VBG taking) (NP (DT the) (NN time) (S (VP (TO to) (VP (ADVP (RB actually)) (VB write) (NP (DT this) (NN review)))))))))))) (. .) (elaboration=>Nucleus (VBD stayed) (PP (IN at) (NP (NP (DT the) (NNP Schicago) (NNP Hilton)) (PP (IN for) (NP (NP (CD 4) (NNS days)) (CC and) (NP (CD 3) (NNS nights)))))) (PP (IN for) (NP (DT a) (NN conference)))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB however)) (NP (NP (PRP$ our) (NN experience)) (PP (IN at) (NP (DT the) (NNP Hilton)))) (VP (VBD was) (ADJP (RB so) (JJ awful) (SBAR (S (NP (PRP I)) (VP (VBP am) (VP (VBG taking) (NP (DT the) (NN time) (S (VP (TO to) (VP (ADVP (RB actually)) (VB write) (NP (DT this) (NN review)))))))))))) (. .) (elaboration=>Nucleus (VBP have) (S (VP (TO to) (VP (VB say))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (contrast=>Nucleus (VBP have) (S (VP (TO to) (VP (VB say)))))) (, ,) (ADVP (RB normally)) (S (NP (PRP I)) (VP (VBP am) (ADJP (RB very) (JJ easy) (S (VP (VBG going) (NP (NP (RB about) (NNS amenities)) (, ,) (NP (NN cleanliness)) (, ,) (CC and) (NP (DT the) (JJ like)))))))) (. .) (contrast=>Nucleus (VBP have) (S (VP (TO to) (VP (VB say))))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB however)) (attribution=>Nucleus (NP (PRP$ our) (NN experience)) (PP (IN at) (NP (DT the) (NNP Hilton)))) (VP (VBD was) (ADJP (RB so) (JJ awful) (SBAR (S (NP (PRP I)) (VP (VBP am) (VP (VBG taking) (NP (DT the) (NN time) (S (VP (TO to) (VP (ADVP (RB actually)) (VB write) (NP (DT this) (NN review)))))))))))) (. .) (attribution=>Nucleus (NP (PRP$ our) (NN experience)) (PP (IN at) (NP (DT the) (NNP Hilton)))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB however)) (attribution=>Nucleus (NP (PRP$ our) (NN experience)) (PP (IN at) (NP (DT the) (NNP Hilton)))) (VP (VBD was) (ADJP (RB so) (JJ awful) (SBAR (S (NP (PRP I)) (elaboration=>Nucleus (VBP am) (VP (VBG taking) (NP (DT the) (NN time) (S (VP (TO to) (VP (ADVP (RB actually)) (VB write) (NP (DT this) (NN review)))))))))))) (. .) (elaboration=>Nucleus (VBP am) (VP (VBG taking) (NP (DT the) (NN time) (S (VP (TO to) (VP (ADVP (RB actually)) (VB write) (NP (DT this) (NN review)))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (VP (VBD figuered))) (, ,) (S (ADJP (JJ okay))) (, ,) (S (NP (PRP$ its)) (NP (RB just) (DT the) (NN carpet))) (. .) (elaboration=>Nucleus ,))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (VP (VBD figuered))) (, ,) (S (ADJP (JJ okay))) (, ,) (S (NP (PRP$ its)) (NP (RB just) (DT the) (NN carpet))) (. .) (elaboration=>Nucleus (NP (PRP we)) (VP (VBD arrived) (PP (IN in) (NP (PRP$ our) (NN room))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (background=>Nucleus (NP (PRP we)) (VP (VBD arrived) (PP (IN in) (NP (PRP$ our) (NN room)))))) (, ,) (NP (PRP it)) (VP (VBD was) (ADJP (JJ clear)) (SBAR (IN that) (S (NP (DT the) (NN carpet) (NN hadnt)) (VP (VBN been) (VP (VBN vacuumed)))))) (. .) (background=>Nucleus (NP (PRP we)) (VP (VBD arrived) (PP (IN in) (NP (PRP$ our) (NN room))))))) |ET| 
-1 |BT| (ROOT (SBAR (IN Although) (S (NP (DT the) (NN bathroom)) (VP (VBD had) (NP (NP (PDT all) (DT the) (JJ superficial) (NNS indicators)) (PP (IN of) (S (VP (ADVP (JJ housekeeping)) (VBG having) (VP (ADVP (RB recently)) (VBN cleaned) (PP (IN i.e)) (elaboration=>Nucleus (NP (PRP I)) (VP (VBD saw) (NP (DT the) (NN bathroom))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP We)) (elaboration=>Nucleus (VBD stayed) (PP (IN at) (NP (NP (DT the) (NNP Schicago) (NNP Hilton)) (PP (IN for) (NP (NP (CD 4) (NNS days)) (CC and) (NP (CD 3) (NNS nights)))))) (PP (IN for) (NP (DT a) (NN conference)))) (. .))) |ET| 
-1 |BT| (ROOT (SBAR (IN Although) (S (NP (DT the) (NN bathroom)) (VP (VBD had) (NP (NP (PDT all) (DT the) (JJ superficial) (NNS indicators)) (PP (IN of) (S (VP (ADVP (JJ housekeeping)) (VBG having) (VP (ADVP (RB recently)) (VBN cleaned) (PP (IN i.e)) (elaboration=>Nucleus (VBD stayed) (PP (IN at) (NP (NP (DT the) (NNP Schicago) (NNP Hilton)) (PP (IN for) (NP (NP (CD 4) (NNS days)) (CC and) (NP (CD 3) (NNS nights)))))) (PP (IN for) (NP (DT a) (NN conference))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (VP (VBD figuered))) (, ,) (S (ADJP (JJ okay))) (, ,) (S (NP (PRP$ its)) (NP (RB just) (DT the) (NN carpet))) (. .) (elaboration=>Nucleus (VBD stayed) (PP (IN at) (NP (NP (DT the) (NNP Schicago) (NNP Hilton)) (PP (IN for) (NP (NP (CD 4) (NNS days)) (CC and) (NP (CD 3) (NNS nights)))))) (PP (IN for) (NP (DT a) (NN conference)))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB however)) (attribution=>Nucleus (NP (PRP$ our) (NN experience)) (PP (IN at) (NP (DT the) (NNP Hilton)))) (VP (VBD was) (ADJP (RB so) (JJ awful) (SBAR (S (NP (PRP I)) (elaboration=>Nucleus (VBP am) (VP (VBG taking) (NP (DT the) (NN time) (S (VP (TO to) (VP (ADVP (RB actually)) (VB write) (NP (DT this) (NN review)))))))))))) (. .) (elaboration=>Nucleus (VBD stayed) (PP (IN at) (NP (NP (DT the) (NNP Schicago) (NNP Hilton)) (PP (IN for) (NP (NP (CD 4) (NNS days)) (CC and) (NP (CD 3) (NNS nights)))))) (PP (IN for) (NP (DT a) (NN conference)))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB however)) (attribution=>Nucleus (NP (PRP$ our) (NN experience)) (PP (IN at) (NP (DT the) (NNP Hilton)))) (VP (VBD was) (ADJP (RB so) (JJ awful) (SBAR (S (NP (PRP I)) (elaboration=>Nucleus (VBP am) (VP (VBG taking) (NP (DT the) (NN time) (S (VP (TO to) (VP (ADVP (RB actually)) (VB write) (NP (DT this) (NN review)))))))))))) (. .) (elaboration=>Nucleus (VBP have) (S (VP (TO to) (VP (VB say))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (contrast=>Nucleus (VBP have) (S (VP (TO to) (VP (VB say)))))) (, ,) (ADVP (RB normally)) (S (NP (PRP I)) (VP (VBP am) (ADJP (RB very) (JJ easy) (S (VP (VBG going) (NP (NP (RB about) (NNS amenities)) (, ,) (NP (NN cleanliness)) (, ,) (CC and) (NP (DT the) (JJ like)))))))) (. .) (contrast=>Nucleus (VBP have) (S (VP (TO to) (VP (VB say))))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB however)) (attribution=>Nucleus (NP (PRP$ our) (NN experience)) (PP (IN at) (NP (DT the) (NNP Hilton)))) (VP (VBD was) (ADJP (RB so) (JJ awful) (SBAR (S (NP (PRP I)) (elaboration=>Nucleus (VBP am) (VP (VBG taking) (NP (DT the) (NN time) (S (VP (TO to) (VP (ADVP (RB actually)) (VB write) (NP (DT this) (NN review)))))))))))) (. .) (attribution=>Nucleus (NP (PRP$ our) (NN experience)) (PP (IN at) (NP (DT the) (NNP Hilton)))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB however)) (attribution=>Nucleus (NP (PRP$ our) (NN experience)) (PP (IN at) (NP (DT the) (NNP Hilton)))) (VP (VBD was) (ADJP (RB so) (JJ awful) (SBAR (S (NP (PRP I)) (elaboration=>Nucleus (VBP am) (VP (VBG taking) (NP (DT the) (NN time) (S (VP (TO to) (VP (ADVP (RB actually)) (VB write) (NP (DT this) (NN review)))))))))))) (. .) (elaboration=>Nucleus (VBP am) (VP (VBG taking) (NP (DT the) (NN time) (S (VP (TO to) (VP (ADVP (RB actually)) (VB write) (NP (DT this) (NN review)))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (VP (VBD figuered))) (, ,) (S (ADJP (JJ okay))) (, ,) (S (NP (PRP$ its)) (NP (RB just) (DT the) (NN carpet))) (. .) (elaboration=>Nucleus ,))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (VP (VBD figuered))) (, ,) (S (ADJP (JJ okay))) (, ,) (S (NP (PRP$ its)) (NP (RB just) (DT the) (NN carpet))) (. .) (elaboration=>Nucleus (NP (PRP we)) (VP (VBD arrived) (PP (IN in) (NP (PRP$ our) (NN room))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (background=>Nucleus (NP (PRP we)) (VP (VBD arrived) (PP (IN in) (NP (PRP$ our) (NN room)))))) (, ,) (NP (PRP it)) (VP (VBD was) (ADJP (JJ clear)) (SBAR (IN that) (S (NP (DT the) (NN carpet) (NN hadnt)) (VP (VBN been) (VP (VBN vacuumed)))))) (. .) (background=>Nucleus (NP (PRP we)) (VP (VBD arrived) (PP (IN in) (NP (PRP$ our) (NN room))))))) |ET| 
-1 |BT| (ROOT (SBAR (IN Although) (S (NP (DT the) (NN bathroom)) (VP (VBD had) (NP (NP (PDT all) (DT the) (JJ superficial) (NNS indicators)) (PP (IN of) (S (VP (ADVP (JJ housekeeping)) (VBG having) (VP (ADVP (RB recently)) (VBN cleaned) (PP (IN i.e)) (elaboration=>Nucleus (NP (PRP I)) (VP (VBD saw) (NP (DT the) (NN bathroom))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (NP (NNS Rooms)) (PP (IN with) (NP (NP (DT any) (NN kind)) (PP (IN of) (NP (NN view)))))) (VP (VBP pay) (NP (DT a) (JJ healthy) (NN surcharge)) (, ,) (ADVP (RB too)) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (S (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids))))))))))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (IN If) (S (NP (PRP you)) (VP (VBP want) (NP (NP (DT a) (JJ little) (JJ extra) (NN leg) (NN room)) (PP (IN in) (NP (PRP$ your) (NN bed))))))) (, ,) (NP (NP (DT the) (NN price) (NN jump)) (PP (IN from) (NP (QP (JJ double) (TO to)))) (VP (VBN kingsized))) (VP (VBZ is) (ADJP (JJ stiff))) (. .) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (S (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))))))) |ET| 
-1 |BT| (ROOT (SINV (S (NP (NNS Rooms)) (VP (VBP feature) (NP (NP (RB either) (JJ double)) (CC or) (NP (NN king))))) (VP (VBD sized) (NP (NNS beds))) (NP (NP (DT no) (NN queen) (NNS beds)) (ADVP (IN at) (DT all))) (. .) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (S (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP They)) (VP (VBP seem) (S (VP (TO to) (VP (VB cash) (PRT (RP in)) (PP (IN on) (NP (NP (NNS guests)) (SBAR (WHNP (WP who)) (S (VP (VBP arrive) (PP (IN in) (NP (JJ private) (NN car))) (PP (IN by) (S (VP (VBG charging) (NP (JJ exorbitant) (NN parkingvalet) (NNS fees)))))))))))))) (. .) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (S (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (NN Hotel)) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (S (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))))) (. .) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (S (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (NN Hotel)) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (background=>Nucleus (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))))) (. .) (background=>Nucleus (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP They)) (elaboration=>Nucleus (VBP seem) (S (VP (TO to) (VP (VB cash) (PRT (RP in)) (PP (IN on) (NP (NP (NNS guests)) (SBAR (WHNP (WP who)) (S (VP (VBP arrive) (PP (IN in) (NP (JJ private) (NN car))) (PP (IN by) (S (VP (VBG charging) (NP (JJ exorbitant) (NN parkingvalet) (NNS fees)))))))))))))) (. .) (elaboration=>Nucleus (VBP seem) (S (VP (TO to) (VP (VB cash) (PRT (RP in)) (PP (IN on) (NP (NP (NNS guests)) (SBAR (WHNP (WP who)) (S (VP (VBP arrive) (PP (IN in) (NP (JJ private) (NN car))) (PP (IN by) (S (VP (VBG charging) (NP (JJ exorbitant) (NN parkingvalet) (NNS fees)))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP They)) (elaboration=>Nucleus (VBP seem) (S (VP (TO to) (VP (VB cash) (PRT (RP in)) (PP (IN on) (NP (NP (NNS guests)) (SBAR (WHNP (WP who)) (manner-means=>Nucleus (VP (VBP arrive) (PP (IN in) (NP (JJ private) (NN car))) (PP (IN by) (S (VP (VBG charging) (NP (JJ exorbitant) (NN parkingvalet) (NNS fees)))))))))))))) (. .) (manner-means=>Nucleus (VP (VBP arrive) (PP (IN in) (NP (JJ private) (NN car))) (PP (IN by) (S (VP (VBG charging) (NP (JJ exorbitant) (NN parkingvalet) (NNS fees))))))))) |ET| 
-1 |BT| (ROOT (SINV (S (NP (NNS Rooms)) (elaboration=>Nucleus (VBP feature) (NP (NP (RB either) (JJ double)) (CC or) (NP (NN king))))) (VP (VBD sized) (NP (NNS beds))) (NP (NP (DT no) (NN queen) (NNS beds)) (ADVP (IN at) (DT all))) (. .) (elaboration=>Nucleus (VBP feature) (NP (NP (RB either) (JJ double)) (CC or) (NP (NN king)))))) |ET| 
-1 |BT| (ROOT (S (NP (NP (NNS Rooms)) (PP (IN with) (NP (NP (DT any) (NN kind)) (PP (IN of) (NP (NN view)))))) (VP (VBP pay) (NP (DT a) (JJ healthy) (NN surcharge)) (, ,) (ADVP (RB too)) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (background=>Nucleus (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids))))))))))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (IN If) (S (NP (PRP you)) (VP (VBP want) (NP (NP (DT a) (JJ little) (JJ extra) (NN leg) (NN room)) (PP (IN in) (NP (PRP$ your) (NN bed))))))) (, ,) (NP (NP (DT the) (NN price) (NN jump)) (PP (IN from) (NP (QP (JJ double) (TO to)))) (VP (VBN kingsized))) (VP (VBZ is) (ADJP (JJ stiff))) (. .) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (background=>Nucleus (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))))))) |ET| 
-1 |BT| (ROOT (SINV (S (NP (NNS Rooms)) (elaboration=>Nucleus (VBP feature) (NP (NP (RB either) (JJ double)) (CC or) (NP (NN king))))) (VP (VBD sized) (NP (NNS beds))) (NP (NP (DT no) (NN queen) (NNS beds)) (ADVP (IN at) (DT all))) (. .) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (background=>Nucleus (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP They)) (elaboration=>Nucleus (VBP seem) (S (VP (TO to) (VP (VB cash) (PRT (RP in)) (PP (IN on) (NP (NP (NNS guests)) (SBAR (WHNP (WP who)) (manner-means=>Nucleus (VP (VBP arrive) (PP (IN in) (NP (JJ private) (NN car))) (PP (IN by) (S (VP (VBG charging) (NP (JJ exorbitant) (NN parkingvalet) (NNS fees)))))))))))))) (. .) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (background=>Nucleus (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (NN Hotel)) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (background=>Nucleus (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))))) (. .) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (background=>Nucleus (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (NN Hotel)) (elaboration=>Nucleus (VBZ is) (ADJP (JJ located)) (PP (NP (CD 12) (NN mile)) (IN from) (NP (NP (DT the) (NN train) (NN station)) (SBAR (WHNP (WDT which)) (background=>Nucleus (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))))) (. .) (background=>Nucleus (VP (VBZ is) (ADJP (RB quite) (JJ hike)) (SBAR (WHADVP (WRB when)) (S (NP (NN youre)) (VP (VBG traveling) (PP (IN with) (NP (NN luggage) (NN andor) (NNS kids)))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP They)) (elaboration=>Nucleus (VBP seem) (S (VP (TO to) (VP (VB cash) (PRT (RP in)) (PP (IN on) (NP (NP (NNS guests)) (SBAR (WHNP (WP who)) (manner-means=>Nucleus (VP (VBP arrive) (PP (IN in) (NP (JJ private) (NN car))) (PP (IN by) (S (VP (VBG charging) (NP (JJ exorbitant) (NN parkingvalet) (NNS fees)))))))))))))) (. .) (elaboration=>Nucleus (VBP seem) (S (VP (TO to) (VP (VB cash) (PRT (RP in)) (PP (IN on) (NP (NP (NNS guests)) (SBAR (WHNP (WP who)) (manner-means=>Nucleus (VP (VBP arrive) (PP (IN in) (NP (JJ private) (NN car))) (PP (IN by) (S (VP (VBG charging) (NP (JJ exorbitant) (NN parkingvalet) (NNS fees)))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP They)) (elaboration=>Nucleus (VBP seem) (S (VP (TO to) (VP (VB cash) (PRT (RP in)) (PP (IN on) (NP (NP (NNS guests)) (SBAR (WHNP (WP who)) (manner-means=>Nucleus (VP (VBP arrive) (PP (IN in) (NP (JJ private) (NN car))) (PP (IN by) (S (VP (VBG charging) (NP (JJ exorbitant) (NN parkingvalet) (NNS fees)))))))))))))) (. .) (manner-means=>Nucleus (VP (VBP arrive) (PP (IN in) (NP (JJ private) (NN car))) (PP (IN by) (S (VP (VBG charging) (NP (JJ exorbitant) (NN parkingvalet) (NNS fees))))))))) |ET| 
-1 |BT| (ROOT (SINV (S (NP (NNS Rooms)) (elaboration=>Nucleus (VBP feature) (NP (NP (RB either) (JJ double)) (CC or) (NP (NN king))))) (VP (VBD sized) (NP (NNS beds))) (NP (NP (DT no) (NN queen) (NNS beds)) (ADVP (IN at) (DT all))) (. .) (elaboration=>Nucleus (VBP feature) (NP (NP (RB either) (JJ double)) (CC or) (NP (NN king)))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP It)) (VP (VBD appeared) (ADJP (JJ nice) (RB enough) (SBAR (IN until) (S (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB use) (NP (DT the) (NN bathroom)))))) (CC and) (VP (VBD found) (NP (NP (DT the) (NN toilet)) (VP (VBN clogged)) (elaboration=>Nucleus (VBD made) (NP (PRP$ my) (NN reservation)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago))) (S (VP (VBG believing) (SBAR (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities))))))))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB Finally)) (NP (PRP I)) (VP (VBD made) (NP (PRP it)) (PP (IN into) (NP (PRP$ my) (NN room)))) (. .) (elaboration=>Nucleus (VBD made) (NP (PRP$ my) (NN reservation)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago))) (S (VP (VBG believing) (SBAR (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities)))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (EX There)) (VP (VBD was) (NP (NP (RB only) (CD one) (NN clerk)) (PP (IN at) (NP (DT the) (JJ front) (NN desk)))))) (, ,) (CC and) (S (NP (JJ several) (NNS guests)) (VP (ADVP (RB already)) (VBG waiting) (ADVP (RB ahead)) (PP (IN of) (NP (PRP me))))) (. .) (explanation=>Nucleus (VBD made) (NP (PRP$ my) (NN reservation)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago))) (S (VP (VBG believing) (SBAR (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities)))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (manner-means=>Nucleus (VBD made) (NP (PRP$ my) (NN reservation)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago))) (S (VP (VBG believing) (SBAR (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities)))))))))))))))) (. .) (manner-means=>Nucleus (VBD made) (NP (PRP$ my) (NN reservation)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago))) (S (VP (VBG believing) (SBAR (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities)))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (manner-means=>Nucleus (VBD made) (NP (PRP$ my) (NN reservation)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago))) (S (VP (VBG believing) (attribution=>Nucleus (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities)))))))))))))))) (. .) (attribution=>Nucleus (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities))))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (EX There)) (VP (VBD was) (NP (NP (RB only) (CD one) (NN clerk)) (PP (IN at) (NP (DT the) (JJ front) (NN desk)))))) (, ,) (CC and) (S (NP (JJ several) (NNS guests)) (VP (ADVP (RB already)) (VBG waiting) (ADVP (RB ahead)) (PP (IN of) (NP (PRP me))))) (. .) (elaboration=>Nucleus ,))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB Unfortunately)) (elaboration=>Nucleus ,) (NP (NP (PRP$ my) (NN stay)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago)))) (VP (VBD went) (ADVP (RB downhill)) (PP (IN from) (NP (NP (DT the) (NN moment)) (SBAR (S (NP (PRP I)) (VP (VBD checked) (PP (IN in)))))))) (. .) (elaboration=>Nucleus ,))) |ET| 
-1 |BT| (ROOT (S (S (NP (EX There)) (joint=>Nucleus (VBD was) (NP (NP (RB only) (CD one) (NN clerk)) (PP (IN at) (NP (DT the) (JJ front) (NN desk)))))) (, ,) (CC and) (S (NP (JJ several) (NNS guests)) (VP (ADVP (RB already)) (VBG waiting) (ADVP (RB ahead)) (PP (IN of) (NP (PRP me))))) (. .) (joint=>Nucleus (VBD was) (NP (NP (RB only) (CD one) (NN clerk)) (PP (IN at) (NP (DT the) (JJ front) (NN desk))))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB Finally)) (NP (PRP I)) (VP (VBD made) (NP (PRP it)) (PP (IN into) (NP (PRP$ my) (NN room)))) (. .) (elaboration=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room))))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (RB Once) (background=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room)))))))) (, ,) (NP (PRP I)) (VP (VBD discovered) (SBAR (IN that) (S (NP (NP (DT neither)) (PP (IN of) (NP (PRP$ my) (NN room) (NNS keys)))) (VP (VP (VBD worked)) (CC and) (VP (VBD had) (S (VP (TO to) (VP (VB make) (NP (PRP$ my) (NN way)) (ADVP (RB back)) (PP (TO to) (NP (DT the) (JJ front) (NN desk))))))))))) (. .) (background=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room))))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (RB Once) (elaboration=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room)))))))) (, ,) (NP (PRP I)) (VP (VBD discovered) (SBAR (IN that) (S (NP (NP (DT neither)) (PP (IN of) (NP (PRP$ my) (NN room) (NNS keys)))) (VP (VP (VBD worked)) (CC and) (VP (VBD had) (S (VP (TO to) (VP (VB make) (NP (PRP$ my) (NN way)) (ADVP (RB back)) (PP (TO to) (NP (DT the) (JJ front) (NN desk))))))))))) (. .) (elaboration=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room))))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (RB Once) (elaboration=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room)))))))) (, ,) (NP (PRP I)) (attribution=>Nucleus (VBD discovered) (SBAR (IN that) (S (NP (NP (DT neither)) (PP (IN of) (NP (PRP$ my) (NN room) (NNS keys)))) (VP (VP (VBD worked)) (CC and) (VP (VBD had) (S (VP (TO to) (VP (VB make) (NP (PRP$ my) (NN way)) (ADVP (RB back)) (PP (TO to) (NP (DT the) (JJ front) (NN desk))))))))))) (. .) (attribution=>Nucleus (VBD discovered) (SBAR (IN that) (S (NP (NP (DT neither)) (PP (IN of) (NP (PRP$ my) (NN room) (NNS keys)))) (VP (VP (VBD worked)) (CC and) (VP (VBD had) (S (VP (TO to) (VP (VB make) (NP (PRP$ my) (NN way)) (ADVP (RB back)) (PP (TO to) (NP (DT the) (JJ front) (NN desk))))))))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (RB Once) (elaboration=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room)))))))) (, ,) (NP (PRP I)) (attribution=>Nucleus (VBD discovered) (SBAR (IN that) (joint=>Nucleus (NP (NP (DT neither)) (PP (IN of) (NP (PRP$ my) (NN room) (NNS keys)))) (VP (VP (VBD worked)) (CC and) (VP (VBD had) (S (VP (TO to) (VP (VB make) (NP (PRP$ my) (NN way)) (ADVP (RB back)) (PP (TO to) (NP (DT the) (JJ front) (NN desk))))))))))) (. .) (joint=>Nucleus (NP (NP (DT neither)) (PP (IN of) (NP (PRP$ my) (NN room) (NNS keys)))) (VP (VP (VBD worked)) (CC and) (VP (VBD had) (S (VP (TO to) (VP (VB make) (NP (PRP$ my) (NN way)) (ADVP (RB back)) (PP (TO to) (NP (DT the) (JJ front) (NN desk))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP It)) (background=>Nucleus (VBD appeared) (ADJP (JJ nice) (RB enough) (SBAR (IN until) (S (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB use) (NP (DT the) (NN bathroom)))))) (CC and) (VP (VBD found) (NP (NP (DT the) (NN toilet)) (VP (VBN clogged)) (background=>Nucleus (VBD appeared) (ADJP (JJ nice) (RB enough) (SBAR (IN until) (S (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB use) (NP (DT the) (NN bathroom)))))) (CC and) (VP (VBD found) (NP (NP (DT the) (NN toilet)) (VP (VBN clogged)))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP It)) (background=>Nucleus (VBD appeared) (ADJP (JJ nice) (RB enough) (SBAR (IN until) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB use) (NP (DT the) (NN bathroom)))))) (CC and) (VP (VBD found) (NP (NP (DT the) (NN toilet)) (VP (VBN clogged)) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB use) (NP (DT the) (NN bathroom)))))) (CC and) (VP (VBD found) (NP (NP (DT the) (NN toilet)) (VP (VBN clogged))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP It)) (background=>Nucleus (VBD appeared) (ADJP (JJ nice) (RB enough) (SBAR (IN until) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB use) (NP (DT the) (NN bathroom)))))) (CC and) (VP (VBD found) (NP (NP (DT the) (NN toilet)) (VP (VBN clogged)) (elaboration=>Nucleus (VBD made) (NP (PRP$ my) (NN reservation)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago))) (S (VP (VBG believing) (attribution=>Nucleus (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities))))))))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB Finally)) (NP (PRP I)) (VP (VBD made) (NP (PRP it)) (PP (IN into) (NP (PRP$ my) (NN room)))) (. .) (elaboration=>Nucleus (VBD made) (NP (PRP$ my) (NN reservation)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago))) (S (VP (VBG believing) (attribution=>Nucleus (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities)))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (EX There)) (joint=>Nucleus (VBD was) (NP (NP (RB only) (CD one) (NN clerk)) (PP (IN at) (NP (DT the) (JJ front) (NN desk)))))) (, ,) (CC and) (S (NP (JJ several) (NNS guests)) (VP (ADVP (RB already)) (VBG waiting) (ADVP (RB ahead)) (PP (IN of) (NP (PRP me))))) (. .) (explanation=>Nucleus (VBD made) (NP (PRP$ my) (NN reservation)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago))) (S (VP (VBG believing) (attribution=>Nucleus (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities)))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (manner-means=>Nucleus (VBD made) (NP (PRP$ my) (NN reservation)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago))) (S (VP (VBG believing) (attribution=>Nucleus (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities)))))))))))))))) (. .) (manner-means=>Nucleus (VBD made) (NP (PRP$ my) (NN reservation)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago))) (S (VP (VBG believing) (attribution=>Nucleus (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities)))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (manner-means=>Nucleus (VBD made) (NP (PRP$ my) (NN reservation)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago))) (S (VP (VBG believing) (attribution=>Nucleus (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities)))))))))))))))) (. .) (attribution=>Nucleus (S (NP (PRP I)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB be) (VP (VBG staying) (PP (IN in) (NP (NP (DT a) (JJ classy) (NN hotel)) (PP (IN with) (NP (JJ many) (NNS amenities))))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (EX There)) (joint=>Nucleus (VBD was) (NP (NP (RB only) (CD one) (NN clerk)) (PP (IN at) (NP (DT the) (JJ front) (NN desk)))))) (, ,) (CC and) (S (NP (JJ several) (NNS guests)) (VP (ADVP (RB already)) (VBG waiting) (ADVP (RB ahead)) (PP (IN of) (NP (PRP me))))) (. .) (elaboration=>Nucleus ,))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB Unfortunately)) (elaboration=>Nucleus ,) (NP (NP (PRP$ my) (NN stay)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago)))) (VP (VBD went) (ADVP (RB downhill)) (PP (IN from) (NP (NP (DT the) (NN moment)) (SBAR (S (NP (PRP I)) (VP (VBD checked) (PP (IN in)))))))) (. .) (elaboration=>Nucleus ,))) |ET| 
-1 |BT| (ROOT (S (S (NP (EX There)) (joint=>Nucleus (VBD was) (NP (NP (RB only) (CD one) (NN clerk)) (PP (IN at) (NP (DT the) (JJ front) (NN desk)))))) (, ,) (CC and) (S (NP (JJ several) (NNS guests)) (VP (ADVP (RB already)) (VBG waiting) (ADVP (RB ahead)) (PP (IN of) (NP (PRP me))))) (. .) (joint=>Nucleus (VBD was) (NP (NP (RB only) (CD one) (NN clerk)) (PP (IN at) (NP (DT the) (JJ front) (NN desk))))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB Finally)) (NP (PRP I)) (VP (VBD made) (NP (PRP it)) (PP (IN into) (NP (PRP$ my) (NN room)))) (. .) (elaboration=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room))))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (RB Once) (background=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room)))))))) (, ,) (NP (PRP I)) (attribution=>Nucleus (VBD discovered) (SBAR (IN that) (joint=>Nucleus (NP (NP (DT neither)) (PP (IN of) (NP (PRP$ my) (NN room) (NNS keys)))) (VP (VP (VBD worked)) (CC and) (VP (VBD had) (S (VP (TO to) (VP (VB make) (NP (PRP$ my) (NN way)) (ADVP (RB back)) (PP (TO to) (NP (DT the) (JJ front) (NN desk))))))))))) (. .) (background=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room))))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (RB Once) (elaboration=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room)))))))) (, ,) (NP (PRP I)) (attribution=>Nucleus (VBD discovered) (SBAR (IN that) (joint=>Nucleus (NP (NP (DT neither)) (PP (IN of) (NP (PRP$ my) (NN room) (NNS keys)))) (VP (VP (VBD worked)) (CC and) (VP (VBD had) (S (VP (TO to) (VP (VB make) (NP (PRP$ my) (NN way)) (ADVP (RB back)) (PP (TO to) (NP (DT the) (JJ front) (NN desk))))))))))) (. .) (elaboration=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room))))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (RB Once) (elaboration=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room)))))))) (, ,) (NP (PRP I)) (attribution=>Nucleus (VBD discovered) (SBAR (IN that) (joint=>Nucleus (NP (NP (DT neither)) (PP (IN of) (NP (PRP$ my) (NN room) (NNS keys)))) (VP (VP (VBD worked)) (CC and) (VP (VBD had) (S (VP (TO to) (VP (VB make) (NP (PRP$ my) (NN way)) (ADVP (RB back)) (PP (TO to) (NP (DT the) (JJ front) (NN desk))))))))))) (. .) (attribution=>Nucleus (VBD discovered) (SBAR (IN that) (joint=>Nucleus (NP (NP (DT neither)) (PP (IN of) (NP (PRP$ my) (NN room) (NNS keys)))) (VP (VP (VBD worked)) (CC and) (VP (VBD had) (S (VP (TO to) (VP (VB make) (NP (PRP$ my) (NN way)) (ADVP (RB back)) (PP (TO to) (NP (DT the) (JJ front) (NN desk))))))))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (RB Once) (elaboration=>Nucleus (NP (PRP I)) (ADVP (RB finally)) (VP (VBD got) (S (VP (VP (VBN checked) (PP (IN in))) (CC and) (VP (JJ located) (NP (PRP$ my) (NN room)))))))) (, ,) (NP (PRP I)) (attribution=>Nucleus (VBD discovered) (SBAR (IN that) (joint=>Nucleus (NP (NP (DT neither)) (PP (IN of) (NP (PRP$ my) (NN room) (NNS keys)))) (VP (VP (VBD worked)) (CC and) (VP (VBD had) (S (VP (TO to) (VP (VB make) (NP (PRP$ my) (NN way)) (ADVP (RB back)) (PP (TO to) (NP (DT the) (JJ front) (NN desk))))))))))) (. .) (joint=>Nucleus (NP (NP (DT neither)) (PP (IN of) (NP (PRP$ my) (NN room) (NNS keys)))) (VP (VP (VBD worked)) (CC and) (VP (VBD had) (S (VP (TO to) (VP (VB make) (NP (PRP$ my) (NN way)) (ADVP (RB back)) (PP (TO to) (NP (DT the) (JJ front) (NN desk))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP It)) (background=>Nucleus (VBD appeared) (ADJP (JJ nice) (RB enough) (SBAR (IN until) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB use) (NP (DT the) (NN bathroom)))))) (CC and) (VP (VBD found) (NP (NP (DT the) (NN toilet)) (VP (VBN clogged)) (background=>Nucleus (VBD appeared) (ADJP (JJ nice) (RB enough) (SBAR (IN until) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB use) (NP (DT the) (NN bathroom)))))) (CC and) (VP (VBD found) (NP (NP (DT the) (NN toilet)) (VP (VBN clogged)))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP It)) (background=>Nucleus (VBD appeared) (ADJP (JJ nice) (RB enough) (SBAR (IN until) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB use) (NP (DT the) (NN bathroom)))))) (CC and) (VP (VBD found) (NP (NP (DT the) (NN toilet)) (VP (VBN clogged)) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB use) (NP (DT the) (NN bathroom)))))) (CC and) (VP (VBD found) (NP (NP (DT the) (NN toilet)) (VP (VBN clogged))))))))))))))) |ET| 
-1 |BT| (ROOT (S (PP (IN Upon) (S (VP (VBG arriving)))) (, ,) (NP (PRP I)) (VP (VBD was) (VP (VBN informed) (SBAR (IN that) (S (NP (DT the) (JJ incompetent) (NN staff)) (VP (VBD had) (VP (VBN lost) (NP (PRP$ my) (NN reservation)) (ADVP (RB entirely)))))))) (. .))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBP didnt) (VP (VB want) (S (VP (TO to) (VP (VB be) (ADJP (JJ difficult))))) (SBAR (S (NP (PRP I)) (VP (VBD did)))))) (. .))) |ET| 
-1 |BT| (ROOT (S (PP (IN In) (NP (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay))))) (, ,) (NP (PRP it)) (VP (VBD got) (ADJP (ADJP (NP (DT a) (JJ little)) (JJR harder)) (S (VP (TO to) (VP (VB ignore) (NP (PDT all) (DT the) (JJ minor) (NNS problems)) (SBAR (S (NP (PRP I)) (VP (VBD did))))))) (SBAR (WHNP (WDT that)) (S (VP (VBD were) (VP (VBG making) (NP (NP (DT the) (NNP Hilton)) (ADJP (RB very) (JJ undeserving)) (PP (IN of) (NP (NP (DT the) (NN term)) (, ,) (NP (NN luxury) (NN hotel))))))))))))) |ET| 
-1 |BT| (ROOT (S (PP (IN In) (NP (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay))))) (, ,) (NP (PRP it)) (VP (VBD got) (ADJP (ADJP (NP (DT a) (JJ little)) (JJR harder)) (S (VP (TO to) (VP (VB ignore) (NP (PDT all) (DT the) (JJ minor) (NNS problems)) (S (VP (TO to) (VP (VB be) (ADJP (JJ difficult)))))))) (SBAR (WHNP (WDT that)) (S (VP (VBD were) (VP (VBG making) (NP (NP (DT the) (NNP Hilton)) (ADJP (RB very) (JJ undeserving)) (PP (IN of) (NP (NP (DT the) (NN term)) (, ,) (NP (NN luxury) (NN hotel))))))))))))) |ET| 
-1 |BT| (ROOT (S (PP (IN In) (NP (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay))))) (, ,) (NP (PRP it)) (VP (VBD got) (ADJP (ADJP (NP (DT a) (JJ little)) (JJR harder)) (S (VP (TO to) (VP (VB ignore) (NP (PDT all) (DT the) (JJ minor) (NNS problems))))) (SBAR (WHNP (WDT that)) (S (VP (VBD were) (VP (VBG making) (NP (NP (DT the) (NNP Hilton)) (ADJP (RB very) (JJ undeserving)) (PP (IN of) (NP (NP (DT the) (NN term)) (, ,) (NP (NN luxury) (NN hotel) (elaboration=>Nucleus (NP (JJS most) (NNS people)) (VP (VBP think) (NP (NNP Hilton)))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBP didnt) (VP (VB want) (S (VP (TO to) (VP (VB be) (ADJP (JJ difficult))))))) (. .) (elaboration=>Nucleus (NP (JJS most) (NNS people)) (VP (VBP think) (NP (NNP Hilton)))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (ADVP (RB only)) (VP (VBP wish) (NP (NP (NN Id)) (VP (VBN been) (ADJP (RB half) (JJ right))))) (. .) (elaboration=>Nucleus (NP (JJS most) (NNS people)) (VP (VBP think) (NP (NNP Hilton)))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBP know) (SBAR (S (NP (PRP I)) (VP (VBD did))))) (. .) (elaboration=>Nucleus (NP (JJS most) (NNS people)) (VP (VBP think) (NP (NNP Hilton)))))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (contrast=>Nucleus (NP (JJS most) (NNS people)) (VP (VBP think) (NP (NNP Hilton))))) (, ,) (NP (PRP they)) (VP (VBP think) (NP (NN luxury))) (. .) (contrast=>Nucleus (NP (JJS most) (NNS people)) (VP (VBP think) (NP (NNP Hilton)))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (attribution=>Nucleus (VBP know) (SBAR (S (NP (PRP I)) (VP (VBD did))))) (. .) (attribution=>Nucleus (VBP know) (SBAR (S (NP (PRP I)) (VP (VBD did))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBP didnt) (VP (VB want) (S (VP (TO to) (VP (VB be) (ADJP (JJ difficult))))))) (. .) (elaboration=>Nucleus (VP (VBG arriving))))) |ET| 
-1 |BT| (ROOT (S (PP (IN Upon) (attribution=>Nucleus (VP (VBG arriving)))) (, ,) (NP (PRP I)) (VP (VBD was) (VP (VBN informed) (SBAR (IN that) (S (NP (DT the) (JJ incompetent) (NN staff)) (VP (VBD had) (VP (VBN lost) (NP (PRP$ my) (NN reservation)) (ADVP (RB entirely)))))))) (. .) (attribution=>Nucleus (VP (VBG arriving))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBP didnt) (VP (VB want) (S (VP (TO to) (VP (VB be) (ADJP (JJ difficult))))))) (. .) (elaboration=>Nucleus a))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBD was) (ADJP (JJ willing) (S (VP (TO to) (VP (VB let) (NP (DT this) (NN slide))))))) (. .) (contrast=>Nucleus a))) |ET| 
-1 |BT| (ROOT (S (S (VP (VBN Granted))) (, ,) (NP (DT the) (JJ new) (NN room)) (VP (VBD had) (NP (NP (DT an) (JJ ohsoscenic) (NN view)) (PP (IN of) (NP (NP (DT the) (NN broadside)) (PP (IN of) (NP (DT an) (JJ adjacent) (NN building))))))) (. .) (elaboration=>Nucleus a))) |ET| 
-1 |BT| (ROOT (S (S (VP (VBN Granted))) (background=>Nucleus ,) (NP (DT the) (JJ new) (NN room)) (VP (VBD had) (NP (NP (DT an) (JJ ohsoscenic) (NN view)) (PP (IN of) (NP (NP (DT the) (NN broadside)) (PP (IN of) (NP (DT an) (JJ adjacent) (NN building))))))) (. .) (background=>Nucleus ,))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBD was) (ADJP (JJ willing) (S (VP (TO to) (VP (VB let) (NP (DT this) (NN slide))))))) (. .) (elaboration=>Nucleus ,))) |ET| 
-1 |BT| (ROOT (S (PP (IN In) (elaboration=>Nucleus (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay))))) (, ,) (NP (PRP it)) (VP (VBD got) (ADJP (ADJP (NP (DT a) (JJ little)) (JJR harder)) (S (VP (TO to) (VP (VB ignore) (NP (PDT all) (DT the) (JJ minor) (NNS problems))))) (SBAR (WHNP (WDT that)) (S (VP (VBD were) (VP (VBG making) (NP (NP (DT the) (NNP Hilton)) (ADJP (RB very) (JJ undeserving)) (PP (IN of) (NP (NP (DT the) (NN term)) (, ,) (NP (NN luxury) (NN hotel) (elaboration=>Nucleus (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay)))))))))))))))) |ET| 
-1 |BT| (ROOT (S (PP (IN In) (elaboration=>Nucleus (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay))))) (, ,) (NP (PRP it)) (VP (VBD got) (ADJP (ADJP (NP (DT a) (JJ little)) (JJR harder)) (S (VP (TO to) (VP (VB ignore) (NP (PDT all) (DT the) (JJ minor) (NNS problems) (elaboration=>Nucleus (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay)))))))) (SBAR (WHNP (WDT that)) (S (VP (VBD were) (VP (VBG making) (NP (NP (DT the) (NNP Hilton)) (ADJP (RB very) (JJ undeserving)) (PP (IN of) (NP (NP (DT the) (NN term)) (, ,) (NP (NN luxury) (NN hotel))))))))))))) |ET| 
-1 |BT| (ROOT (S (PP (IN Upon) (attribution=>Nucleus (VP (VBG arriving)))) (, ,) (NP (PRP I)) (VP (VBD was) (VP (VBN informed) (SBAR (IN that) (S (NP (DT the) (JJ incompetent) (NN staff)) (VP (VBD had) (VP (VBN lost) (NP (PRP$ my) (NN reservation)) (ADVP (RB entirely)))))))) (. .))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBP didnt) (VP (VB want) (S (VP (TO to) (VP (VB be) (ADJP (JJ difficult))))) (SBAR (S (NP (PRP I)) (VP (VBD did)))))) (. .))) |ET| 
-1 |BT| (ROOT (S (PP (IN In) (elaboration=>Nucleus (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay))))) (, ,) (NP (PRP it)) (VP (VBD got) (ADJP (ADJP (NP (DT a) (JJ little)) (JJR harder)) (S (VP (TO to) (VP (VB ignore) (NP (PDT all) (DT the) (JJ minor) (NNS problems)) (SBAR (S (NP (PRP I)) (VP (VBD did))))))) (SBAR (WHNP (WDT that)) (S (VP (VBD were) (VP (VBG making) (NP (NP (DT the) (NNP Hilton)) (ADJP (RB very) (JJ undeserving)) (PP (IN of) (NP (NP (DT the) (NN term)) (, ,) (NP (NN luxury) (NN hotel))))))))))))) |ET| 
-1 |BT| (ROOT (S (PP (IN In) (elaboration=>Nucleus (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay))))) (, ,) (NP (PRP it)) (VP (VBD got) (ADJP (ADJP (NP (DT a) (JJ little)) (JJR harder)) (S (VP (TO to) (VP (VB ignore) (NP (PDT all) (DT the) (JJ minor) (NNS problems)) (S (VP (TO to) (VP (VB be) (ADJP (JJ difficult)))))))) (SBAR (WHNP (WDT that)) (S (VP (VBD were) (VP (VBG making) (NP (NP (DT the) (NNP Hilton)) (ADJP (RB very) (JJ undeserving)) (PP (IN of) (NP (NP (DT the) (NN term)) (, ,) (NP (NN luxury) (NN hotel))))))))))))) |ET| 
-1 |BT| (ROOT (S (PP (IN In) (elaboration=>Nucleus (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay))))) (, ,) (NP (PRP it)) (VP (VBD got) (ADJP (ADJP (NP (DT a) (JJ little)) (JJR harder)) (S (VP (TO to) (VP (VB ignore) (NP (PDT all) (DT the) (JJ minor) (NNS problems))))) (SBAR (WHNP (WDT that)) (S (VP (VBD were) (VP (VBG making) (NP (NP (DT the) (NNP Hilton)) (ADJP (RB very) (JJ undeserving)) (PP (IN of) (NP (NP (DT the) (NN term)) (, ,) (NP (NN luxury) (NN hotel) (elaboration=>Nucleus (NP (JJS most) (NNS people)) (VP (VBP think) (NP (NNP Hilton)))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBP didnt) (VP (VB want) (S (VP (TO to) (VP (VB be) (ADJP (JJ difficult))))))) (. .) (elaboration=>Nucleus (NP (JJS most) (NNS people)) (VP (VBP think) (NP (NNP Hilton)))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (ADVP (RB only)) (VP (VBP wish) (NP (NP (NN Id)) (VP (VBN been) (ADJP (RB half) (JJ right))))) (. .) (elaboration=>Nucleus (NP (JJS most) (NNS people)) (VP (VBP think) (NP (NNP Hilton)))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (attribution=>Nucleus (VBP know) (SBAR (S (NP (PRP I)) (VP (VBD did))))) (. .) (elaboration=>Nucleus (NP (JJS most) (NNS people)) (VP (VBP think) (NP (NNP Hilton)))))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (contrast=>Nucleus (NP (JJS most) (NNS people)) (VP (VBP think) (NP (NNP Hilton))))) (, ,) (NP (PRP they)) (VP (VBP think) (NP (NN luxury))) (. .) (contrast=>Nucleus (NP (JJS most) (NNS people)) (VP (VBP think) (NP (NNP Hilton)))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (attribution=>Nucleus (VBP know) (SBAR (S (NP (PRP I)) (VP (VBD did))))) (. .) (attribution=>Nucleus (VBP know) (SBAR (S (NP (PRP I)) (VP (VBD did))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBP didnt) (VP (VB want) (S (VP (TO to) (VP (VB be) (ADJP (JJ difficult))))))) (. .) (elaboration=>Nucleus (VP (VBG arriving))))) |ET| 
-1 |BT| (ROOT (S (PP (IN Upon) (attribution=>Nucleus (VP (VBG arriving)))) (, ,) (NP (PRP I)) (VP (VBD was) (VP (VBN informed) (SBAR (IN that) (S (NP (DT the) (JJ incompetent) (NN staff)) (VP (VBD had) (VP (VBN lost) (NP (PRP$ my) (NN reservation)) (ADVP (RB entirely)))))))) (. .) (attribution=>Nucleus (VP (VBG arriving))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBP didnt) (VP (VB want) (S (VP (TO to) (VP (VB be) (ADJP (JJ difficult))))))) (. .) (elaboration=>Nucleus a))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBD was) (ADJP (JJ willing) (S (VP (TO to) (VP (VB let) (NP (DT this) (NN slide))))))) (. .) (contrast=>Nucleus a))) |ET| 
-1 |BT| (ROOT (S (S (VP (VBN Granted))) (background=>Nucleus ,) (NP (DT the) (JJ new) (NN room)) (VP (VBD had) (NP (NP (DT an) (JJ ohsoscenic) (NN view)) (PP (IN of) (NP (NP (DT the) (NN broadside)) (PP (IN of) (NP (DT an) (JJ adjacent) (NN building))))))) (. .) (elaboration=>Nucleus a))) |ET| 
-1 |BT| (ROOT (S (S (VP (VBN Granted))) (background=>Nucleus ,) (NP (DT the) (JJ new) (NN room)) (VP (VBD had) (NP (NP (DT an) (JJ ohsoscenic) (NN view)) (PP (IN of) (NP (NP (DT the) (NN broadside)) (PP (IN of) (NP (DT an) (JJ adjacent) (NN building))))))) (. .) (background=>Nucleus ,))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBD was) (ADJP (JJ willing) (S (VP (TO to) (VP (VB let) (NP (DT this) (NN slide))))))) (. .) (elaboration=>Nucleus ,))) |ET| 
-1 |BT| (ROOT (S (PP (IN In) (elaboration=>Nucleus (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay))))) (, ,) (NP (PRP it)) (VP (VBD got) (ADJP (ADJP (NP (DT a) (JJ little)) (JJR harder)) (S (VP (TO to) (VP (VB ignore) (NP (PDT all) (DT the) (JJ minor) (NNS problems))))) (SBAR (WHNP (WDT that)) (S (VP (VBD were) (VP (VBG making) (NP (NP (DT the) (NNP Hilton)) (ADJP (RB very) (JJ undeserving)) (PP (IN of) (NP (NP (DT the) (NN term)) (, ,) (NP (NN luxury) (NN hotel) (elaboration=>Nucleus (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay)))))))))))))))) |ET| 
-1 |BT| (ROOT (S (PP (IN In) (elaboration=>Nucleus (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay))))) (, ,) (NP (PRP it)) (VP (VBD got) (ADJP (ADJP (NP (DT a) (JJ little)) (JJR harder)) (S (VP (TO to) (VP (VB ignore) (NP (PDT all) (DT the) (JJ minor) (NNS problems) (elaboration=>Nucleus (NP (DT the) (JJ following) (NNS days)) (PP (IN of) (NP (PRP$ my) (NN stay)))))))) (SBAR (WHNP (WDT that)) (S (VP (VBD were) (VP (VBG making) (NP (NP (DT the) (NNP Hilton)) (ADJP (RB very) (JJ undeserving)) (PP (IN of) (NP (NP (DT the) (NN term)) (, ,) (NP (NN luxury) (NN hotel))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (NP (PRP$ My) (NN husband)) (CC and) (NP (PRP I))) (ADVP (RB recently)) (VP (VBD stayed) (VP (VBN stayed) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago)))))) (CC and) (S (NP (PRP it)) (VP (VBD was) (NP (DT a) (JJ horrible) (NN experience)))) (. .))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (VBD called) (PP (IN for) (NP (DT some) (JJ new) (NNS sheets))) (SBAR (WHNP (WDT which)) (S (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu) (elaboration=>Nucleus husband)))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (VP (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty)))))))) (, ,) (IN so) (S (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (VP (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) (. .) (elaboration=>Nucleus husband))) |ET| 
-1 |BT| (ROOT (S (S (NP (NP (PRP$ My) (joint=>Nucleus husband)) (CC and) (NP (PRP I))) (ADVP (RB recently)) (VP (VBD stayed) (VP (VBN stayed) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago)))))) (CC and) (S (NP (PRP it)) (VP (VBD was) (NP (DT a) (JJ horrible) (NN experience)))) (. .) (joint=>Nucleus husband))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (VP (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty)))))))) (, ,) (IN so) (S (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (VP (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) (. .) (elaboration=>Nucleus (NP (PRP we)) (VP (VBD arrived))))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (S (NP (PRP we)) (VP (VBD got) (PP (TO to) (NP (PRP$ our) (NN room)))))) (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB lay) (PP (IN on) (NP (DT the) (NN bed))))))) (CC and) (VP (VBD noticed) (NP (DT a) (JJ black) (NN hair)) (PP (IN on) (NP (DT the) (NN pillow))))) (. .) (elaboration=>Nucleus (NP (PRP we)) (VP (VBD arrived))))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (background=>Nucleus (NP (PRP we)) (VP (VBD arrived)))) (, ,) (NP (DT the) (JJ front) (NN desk) (NN clerk)) (VP (VBD was) (PP (IN on) (NP (NP (DT the) (NN phone)) (PP (IN on) (SBAR (WHNP (WP what)) (S (VP (VP (VBD sounded) (PP (IN like) (NP (DT a) (JJ personal) (NN call)))) (CC and) (VP (VBD did) (RB n't) (VP (ADVP (RB even)) (VB acknowledge) (NP (PRP us)) (PP (IN for) (NP (QP (IN at) (JJS least) (CD five)) (NNS minutes)))))))))))) (. .) (background=>Nucleus (NP (PRP we)) (VP (VBD arrived))))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (background=>Nucleus (NP (PRP we)) (VP (VBD arrived)))) (, ,) (NP (DT the) (elaboration=>Nucleus front) (NN desk) (NN clerk)) (VP (VBD was) (PP (IN on) (NP (NP (DT the) (NN phone)) (PP (IN on) (SBAR (WHNP (WP what)) (S (VP (VP (VBD sounded) (PP (IN like) (NP (DT a) (JJ personal) (NN call)))) (CC and) (VP (VBD did) (RB n't) (VP (ADVP (RB even)) (VB acknowledge) (NP (PRP us)) (PP (IN for) (NP (QP (IN at) (JJS least) (CD five)) (NNS minutes)))))))))))) (. .) (elaboration=>Nucleus front))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (background=>Nucleus (NP (PRP we)) (VP (VBD arrived)))) (, ,) (NP (DT the) (elaboration=>Nucleus front) (NN desk) (NN clerk)) (VP (VBD was) (PP (IN on) (joint=>Nucleus (NP (DT the) (NN phone)) (PP (IN on) (SBAR (WHNP (WP what)) (S (VP (VP (VBD sounded) (PP (IN like) (NP (DT a) (JJ personal) (NN call)))) (CC and) (VP (VBD did) (RB n't) (VP (ADVP (RB even)) (VB acknowledge) (NP (PRP us)) (PP (IN for) (NP (QP (IN at) (JJS least) (CD five)) (NNS minutes)))))))))))) (. .) (joint=>Nucleus (NP (DT the) (NN phone)) (PP (IN on) (SBAR (WHNP (WP what)) (S (VP (VP (VBD sounded) (PP (IN like) (NP (DT a) (JJ personal) (NN call)))) (CC and) (VP (VBD did) (RB n't) (VP (ADVP (RB even)) (VB acknowledge) (NP (PRP us)) (PP (IN for) (NP (QP (IN at) (JJS least) (CD five)) (NNS minutes)))))))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (joint=>Nucleus (NP (PRP we)) (VP (VBD got) (PP (TO to) (NP (PRP$ our) (NN room)))))) (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB lay) (PP (IN on) (NP (DT the) (NN bed))))))) (CC and) (VP (VBD noticed) (NP (DT a) (JJ black) (NN hair)) (PP (IN on) (NP (DT the) (NN pillow))))) (. .) (joint=>Nucleus (NP (PRP we)) (VP (VBD got) (PP (TO to) (NP (PRP$ our) (NN room))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (explanation=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty)))))))) (, ,) (IN so) (S (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (VP (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) (. .) (explanation=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (elaboration=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty)))))))) (, ,) (IN so) (S (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (VP (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) (. .) (elaboration=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (elaboration=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty)))))))) (, ,) (IN so) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (VP (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) (. .) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (VP (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (elaboration=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty)))))))) (, ,) (IN so) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (joint=>Nucleus (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) (. .) (joint=>Nucleus (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (elaboration=>Nucleus (VBD called) (PP (IN for) (NP (DT some) (JJ new) (NNS sheets))) (SBAR (WHNP (WDT which)) (S (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu) (elaboration=>Nucleus (VBD called) (PP (IN for) (NP (DT some) (JJ new) (NNS sheets))) (SBAR (WHNP (WDT which)) (S (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu))))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (elaboration=>Nucleus (VBD called) (PP (IN for) (NP (DT some) (JJ new) (NNS sheets))) (SBAR (WHNP (WDT which)) (contrast=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu) (contrast=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (elaboration=>Nucleus (VBD called) (PP (IN for) (NP (DT some) (JJ new) (NNS sheets))) (SBAR (WHNP (WDT which)) (attribution=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up) (attribution=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu)))))))))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu)))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (elaboration=>Nucleus (VBD called) (PP (IN for) (NP (DT some) (JJ new) (NNS sheets))) (SBAR (WHNP (WDT which)) (attribution=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu))))))) (attribution=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (NP (PRP$ My) (joint=>Nucleus husband)) (CC and) (NP (PRP I))) (ADVP (RB recently)) (VP (VBD stayed) (VP (VBN stayed) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago)))))) (CC and) (S (NP (PRP it)) (VP (VBD was) (NP (DT a) (JJ horrible) (NN experience)))) (. .))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (elaboration=>Nucleus (VBD called) (PP (IN for) (NP (DT some) (JJ new) (NNS sheets))) (SBAR (WHNP (WDT which)) (attribution=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu) (elaboration=>Nucleus husband)))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (elaboration=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty)))))))) (, ,) (IN so) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (joint=>Nucleus (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) (. .) (elaboration=>Nucleus husband))) |ET| 
-1 |BT| (ROOT (S (S (NP (NP (PRP$ My) (joint=>Nucleus husband)) (CC and) (NP (PRP I))) (ADVP (RB recently)) (VP (VBD stayed) (VP (VBN stayed) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago)))))) (CC and) (S (NP (PRP it)) (VP (VBD was) (NP (DT a) (JJ horrible) (NN experience)))) (. .) (joint=>Nucleus husband))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (elaboration=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty)))))))) (, ,) (IN so) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (joint=>Nucleus (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) (. .) (elaboration=>Nucleus (NP (PRP we)) (VP (VBD arrived))))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (joint=>Nucleus (NP (PRP we)) (VP (VBD got) (PP (TO to) (NP (PRP$ our) (NN room)))))) (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB lay) (PP (IN on) (NP (DT the) (NN bed))))))) (CC and) (VP (VBD noticed) (NP (DT a) (JJ black) (NN hair)) (PP (IN on) (NP (DT the) (NN pillow))))) (. .) (elaboration=>Nucleus (NP (PRP we)) (VP (VBD arrived))))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (background=>Nucleus (NP (PRP we)) (VP (VBD arrived)))) (, ,) (NP (DT the) (elaboration=>Nucleus front) (NN desk) (NN clerk)) (VP (VBD was) (PP (IN on) (joint=>Nucleus (NP (DT the) (NN phone)) (PP (IN on) (SBAR (WHNP (WP what)) (S (VP (VP (VBD sounded) (PP (IN like) (NP (DT a) (JJ personal) (NN call)))) (CC and) (VP (VBD did) (RB n't) (VP (ADVP (RB even)) (VB acknowledge) (NP (PRP us)) (PP (IN for) (NP (QP (IN at) (JJS least) (CD five)) (NNS minutes)))))))))))) (. .) (background=>Nucleus (NP (PRP we)) (VP (VBD arrived))))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (background=>Nucleus (NP (PRP we)) (VP (VBD arrived)))) (, ,) (NP (DT the) (elaboration=>Nucleus front) (NN desk) (NN clerk)) (VP (VBD was) (PP (IN on) (joint=>Nucleus (NP (DT the) (NN phone)) (PP (IN on) (SBAR (WHNP (WP what)) (S (VP (VP (VBD sounded) (PP (IN like) (NP (DT a) (JJ personal) (NN call)))) (CC and) (VP (VBD did) (RB n't) (VP (ADVP (RB even)) (VB acknowledge) (NP (PRP us)) (PP (IN for) (NP (QP (IN at) (JJS least) (CD five)) (NNS minutes)))))))))))) (. .) (elaboration=>Nucleus front))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (background=>Nucleus (NP (PRP we)) (VP (VBD arrived)))) (, ,) (NP (DT the) (elaboration=>Nucleus front) (NN desk) (NN clerk)) (VP (VBD was) (PP (IN on) (joint=>Nucleus (NP (DT the) (NN phone)) (PP (IN on) (SBAR (WHNP (WP what)) (S (VP (VP (VBD sounded) (PP (IN like) (NP (DT a) (JJ personal) (NN call)))) (CC and) (VP (VBD did) (RB n't) (VP (ADVP (RB even)) (VB acknowledge) (NP (PRP us)) (PP (IN for) (NP (QP (IN at) (JJS least) (CD five)) (NNS minutes)))))))))))) (. .) (joint=>Nucleus (NP (DT the) (NN phone)) (PP (IN on) (SBAR (WHNP (WP what)) (S (VP (VP (VBD sounded) (PP (IN like) (NP (DT a) (JJ personal) (NN call)))) (CC and) (VP (VBD did) (RB n't) (VP (ADVP (RB even)) (VB acknowledge) (NP (PRP us)) (PP (IN for) (NP (QP (IN at) (JJS least) (CD five)) (NNS minutes)))))))))))) |ET| 
-1 |BT| (ROOT (S (SBAR (WHADVP (WRB When)) (joint=>Nucleus (NP (PRP we)) (VP (VBD got) (PP (TO to) (NP (PRP$ our) (NN room)))))) (NP (PRP I)) (VP (VP (VBD went) (S (VP (TO to) (VP (VB lay) (PP (IN on) (NP (DT the) (NN bed))))))) (CC and) (VP (VBD noticed) (NP (DT a) (JJ black) (NN hair)) (PP (IN on) (NP (DT the) (NN pillow))))) (. .) (joint=>Nucleus (NP (PRP we)) (VP (VBD got) (PP (TO to) (NP (PRP$ our) (NN room))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (explanation=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty)))))))) (, ,) (IN so) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (joint=>Nucleus (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) (. .) (explanation=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (elaboration=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty)))))))) (, ,) (IN so) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (joint=>Nucleus (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) (. .) (elaboration=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (elaboration=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty)))))))) (, ,) (IN so) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (joint=>Nucleus (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) (. .) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (joint=>Nucleus (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (PRP I)) (elaboration=>Nucleus (VBP 'm) (ADVP (RB am)) (ADJP (RB very) (JJ paranoid) (PP (IN about) (NP (NP (NNS hotels)) (VP (VBG being) (ADJP (JJ dirty)))))))) (, ,) (IN so) (joint=>Nucleus (NP (PRP I)) (VP (VP (VBD pulled) (PRT (RP back)) (NP (DT the) (NNS sheets))) (CC and) (joint=>Nucleus (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) (. .) (joint=>Nucleus (VP (VBD moved) (NP (PDT all) (DT the) (NNS pillows)) (PP (IN around))) (CC and) (VP (VBD noticed) (NP (JJ several) (ADJP (RBR more)) (NNS hairs)))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (elaboration=>Nucleus (VBD called) (PP (IN for) (NP (DT some) (JJ new) (NNS sheets))) (SBAR (WHNP (WDT which)) (attribution=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu) (elaboration=>Nucleus (VBD called) (PP (IN for) (NP (DT some) (JJ new) (NNS sheets))) (SBAR (WHNP (WDT which)) (attribution=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu))))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (elaboration=>Nucleus (VBD called) (PP (IN for) (NP (DT some) (JJ new) (NNS sheets))) (SBAR (WHNP (WDT which)) (contrast=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu) (contrast=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (elaboration=>Nucleus (VBD called) (PP (IN for) (NP (DT some) (JJ new) (NNS sheets))) (SBAR (WHNP (WDT which)) (attribution=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up) (attribution=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu)))))))))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu)))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (elaboration=>Nucleus (VBD called) (PP (IN for) (NP (DT some) (JJ new) (NNS sheets))) (SBAR (WHNP (WDT which)) (attribution=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu))))))) (attribution=>Nucleus (NP (PRP they)) (VP (VBD said) (SBAR (S (S (NP (PRP they)) (VP (MD would) (VP (VB send) (ADVP (RB right) (RB up))))) (CC but) (S (NP (PRP it)) (ADVP (RB actually)) (VP (VBD took) (NP (RB nearly) (CD 30) (NN minu))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (ADVP (RB First)) (, ,) (NP (PRP we)) (VP (VBD had) (VP (VBN reserved) (NP (DT a) (NN room)) (PP (IN with) (NP (DT a) (NN king) (NN size) (NN bed) (background=>Nucleus wife)))))) (, ,) (CC but) (S (NP (PRP they)) (VP (VBD did) (RB not) (VP (VB have) (S (NP (DT any)) (ADJP (JJ available)))))) (CC and) (S (NP (PRP we)) (VP (VBD were) (VP (VBN stuck) (PP (IN with) (NP (DT a) (NN queen) (NN size) (NN bed) (background=>Nucleus wife)))))))) |ET| 
-1 |BT| (ROOT (S (S (ADVP (RB First)) (, ,) (NP (PRP we)) (VP (VBD had) (VP (VBN reserved) (NP (DT a) (NN room)) (PP (IN with) (NP (DT a) (NN king) (NN size) (NN bed) (joint=>Nucleus (NP (DT this)) (VP (VBZ is) (NP (NP (DT a) (NN downtown) (NN hotel)) (CC and) (NP (NP (DT a) (ADJP (RB well) (JJ known)) (NN brand)) (SBAR (S (NP (PRP we)) (VP (VBD knew) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR more)))))))))))))))))))))))) (, ,) (CC but) (S (NP (PRP they)) (VP (VBD did) (RB not) (VP (VB have) (S (NP (DT any)) (ADJP (JJ available)))))) (CC and) (S (NP (PRP we)) (VP (VBD were) (VP (VBN stuck) (PP (IN with) (NP (DT a) (NN queen) (NN size) (NN bed) (joint=>Nucleus (NP (DT this)) (VP (VBZ is) (NP (NP (DT a) (NN downtown) (NN hotel)) (CC and) (NP (NP (DT a) (ADJP (RB well) (JJ known)) (NN brand)) (SBAR (S (NP (PRP we)) (VP (VBD knew) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S
  (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR more)))))))))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB However)) (, ,) (NP (DT this)) (VP (VBD was) (RB not) (NP (NP (DT the) (NN case)) (PP (IN with) (NP (DT the) (NNP Hilton) (NNP Chicago))))) (. .) (elaboration=>Nucleus (NP (DT this)) (VP (VBZ is) (NP (NP (DT a) (NN downtown) (NN hotel)) (CC and) (NP (NP (DT a) (ADJP (RB well) (JJ known)) (NN brand)) (SBAR (S (NP (PRP we)) (VP (VBD knew) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR more))))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (NP (PRP$ My) (background=>Nucleus wife)) (CC and) (NP (PRP I))) (VP (VBD booked) (NP (DT a) (NN room)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago)) (ADVP (NP (CD three) (NNS weekends)) (RB ago))) (, ,) (SBAR (IN as) (attribution=>Nucleus (NP (DT this)) (VP (VBZ is) (NP (NP (DT a) (NN downtown) (NN hotel)) (CC and) (NP (NP (DT a) (ADJP (RB well) (JJ known)) (NN brand)) (SBAR (S (NP (PRP we)) (VP (VBD knew) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR more)))))))))))))))))))))) (CC but) (S (PP (IN for) (NP (DT that) (JJ additional) (NN price))) (NP (PRP we)) (VP (VBD were) (VP (VBG expecting) (S (VP (TO to) (VP (VB get) (NP (DT a) (NN quality) (NN hotel)))))))) (. .) (attribution=>Nucleus (NP (DT this)) (VP (VBZ is) (NP (NP (DT a) (NN downtown) (NN hotel)) (CC and) (NP (NP (DT a) (ADJP (RB well) (JJ known)) (NN brand)) (SBAR (S (NP (PRP we)) (VP (VBD kne
 w) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR more))))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (NP (PRP$ My) (background=>Nucleus wife)) (CC and) (NP (PRP I))) (VP (VBD booked) (NP (DT a) (NN room)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago)) (ADVP (NP (CD three) (NNS weekends)) (RB ago))) (, ,) (SBAR (IN as) (attribution=>Nucleus (NP (DT this)) (VP (VBZ is) (NP (NP (DT a) (NN downtown) (NN hotel)) (CC and) (NP (NP (DT a) (ADJP (RB well) (JJ known)) (NN brand)) (SBAR (S (NP (PRP we)) (contrast=>Nucleus (VBD knew) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR more)))))))))))))))))))))) (CC but) (S (PP (IN for) (NP (DT that) (JJ additional) (NN price))) (NP (PRP we)) (VP (VBD were) (VP (VBG expecting) (S (VP (TO to) (VP (VB get) (NP (DT a) (NN quality) (NN hotel)))))))) (. .) (contrast=>Nucleus (VBD knew) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR
  more))))))))))))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB However)) (, ,) (NP (DT this)) (VP (VBD was) (RB not) (NP (NP (DT the) (NN case)) (PP (IN with) (NP (DT the) (NNP Hilton) (NNP Chicago))))) (. .) (contrast=>Nucleus (VBD were) (VP (VBG expecting) (NP (NP (DT some) (NN minutia)) (PP (IN of) (NP (NN luxury)))))))) |ET| 
-1 |BT| (ROOT (S (S (ADVP (RB First)) (joint=>Nucleus ,) (NP (PRP we)) (VP (VBD had) (VP (VBN reserved) (NP (DT a) (NN room)) (PP (IN with) (NP (DT a) (NN king) (NN size) (NN bed) (joint=>Nucleus ,)))))) (, ,) (CC but) (S (NP (PRP they)) (VP (VBD did) (RB not) (VP (VB have) (S (NP (DT any)) (ADJP (JJ available)))))) (CC and) (S (NP (PRP we)) (VP (VBD were) (VP (VBN stuck) (PP (IN with) (NP (DT a) (NN queen) (NN size) (NN bed) (joint=>Nucleus ,)))))))) |ET| 
-1 |BT| (ROOT (S (S (ADVP (RB First)) (contrast=>Nucleus ,) (NP (PRP we)) (VP (VBD had) (VP (VBN reserved) (NP (DT a) (NN room)) (PP (IN with) (NP (DT a) (NN king) (NN size) (NN bed)))))) (, ,) (CC but) (S (NP (PRP they)) (VP (VBD did) (RB not) (VP (VB have) (S (NP (DT any)) (ADJP (JJ available)) (contrast=>Nucleus ,))))) (CC and) (S (NP (PRP we)) (VP (VBD were) (VP (VBN stuck) (PP (IN with) (NP (DT a) (NN queen) (NN size) (NN bed)))))))) |ET| 
-1 |BT| (ROOT (S (S (ADVP (RB First)) (contrast=>Nucleus ,) (NP (PRP we)) (VP (VBD had) (VP (VBN reserved) (NP (DT a) (NN room)) (PP (IN with) (NP (DT a) (NN king) (NN size) (NN bed) (background=>Nucleus wife)))))) (, ,) (CC but) (S (NP (PRP they)) (VP (VBD did) (RB not) (VP (VB have) (S (NP (DT any)) (ADJP (JJ available)))))) (CC and) (S (NP (PRP we)) (VP (VBD were) (VP (VBN stuck) (PP (IN with) (NP (DT a) (NN queen) (NN size) (NN bed) (background=>Nucleus wife)))))))) |ET| 
-1 |BT| (ROOT (S (S (ADVP (RB First)) (contrast=>Nucleus ,) (NP (PRP we)) (VP (VBD had) (VP (VBN reserved) (NP (DT a) (NN room)) (PP (IN with) (NP (DT a) (NN king) (NN size) (NN bed) (joint=>Nucleus (NP (DT this)) (VP (VBZ is) (NP (NP (DT a) (NN downtown) (NN hotel)) (CC and) (NP (NP (DT a) (ADJP (RB well) (JJ known)) (NN brand)) (SBAR (S (NP (PRP we)) (contrast=>Nucleus (VBD knew) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR more)))))))))))))))))))))))) (, ,) (CC but) (S (NP (PRP they)) (VP (VBD did) (RB not) (VP (VB have) (S (NP (DT any)) (ADJP (JJ available)))))) (CC and) (S (NP (PRP we)) (VP (VBD were) (VP (VBN stuck) (PP (IN with) (NP (DT a) (NN queen) (NN size) (NN bed) (joint=>Nucleus (NP (DT this)) (VP (VBZ is) (NP (NP (DT a) (NN downtown) (NN hotel)) (CC and) (NP (NP (DT a) (ADJP (RB well) (JJ known)) (NN brand)) (SBAR (S (NP (PRP we)) (contrast=>Nucleus (VBD knew) (SBAR (S (
 NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR more)))))))))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB However)) (, ,) (NP (DT this)) (VP (VBD was) (RB not) (NP (NP (DT the) (NN case)) (PP (IN with) (NP (DT the) (NNP Hilton) (NNP Chicago))))) (. .) (elaboration=>Nucleus (NP (DT this)) (VP (VBZ is) (NP (NP (DT a) (NN downtown) (NN hotel)) (CC and) (NP (NP (DT a) (ADJP (RB well) (JJ known)) (NN brand)) (SBAR (S (NP (PRP we)) (contrast=>Nucleus (VBD knew) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR more))))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (NP (PRP$ My) (background=>Nucleus wife)) (CC and) (NP (PRP I))) (VP (VBD booked) (NP (DT a) (NN room)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago)) (ADVP (NP (CD three) (NNS weekends)) (RB ago))) (, ,) (SBAR (IN as) (attribution=>Nucleus (NP (DT this)) (VP (VBZ is) (NP (NP (DT a) (NN downtown) (NN hotel)) (CC and) (NP (NP (DT a) (ADJP (RB well) (JJ known)) (NN brand)) (SBAR (S (NP (PRP we)) (contrast=>Nucleus (VBD knew) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR more)))))))))))))))))))))) (CC but) (S (PP (IN for) (NP (DT that) (JJ additional) (NN price))) (NP (PRP we)) (VP (VBD were) (VP (VBG expecting) (S (VP (TO to) (VP (VB get) (NP (DT a) (NN quality) (NN hotel)))))))) (. .) (attribution=>Nucleus (NP (DT this)) (VP (VBZ is) (NP (NP (DT a) (NN downtown) (NN hotel)) (CC and) (NP (NP (DT a) (ADJP (RB well) (JJ known)) (NN brand)) (SBAR (S (NP (PRP we
 )) (contrast=>Nucleus (VBD knew) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR more))))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (S (NP (NP (PRP$ My) (background=>Nucleus wife)) (CC and) (NP (PRP I))) (VP (VBD booked) (NP (DT a) (NN room)) (PP (IN at) (NP (DT the) (NNP Hilton) (NNP Chicago)) (ADVP (NP (CD three) (NNS weekends)) (RB ago))) (, ,) (SBAR (IN as) (attribution=>Nucleus (NP (DT this)) (VP (VBZ is) (NP (NP (DT a) (NN downtown) (NN hotel)) (CC and) (NP (NP (DT a) (ADJP (RB well) (JJ known)) (NN brand)) (SBAR (S (NP (PRP we)) (contrast=>Nucleus (VBD knew) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR more)))))))))))))))))))))) (CC but) (S (PP (IN for) (NP (DT that) (JJ additional) (NN price))) (NP (PRP we)) (VP (VBD were) (VP (VBG expecting) (S (VP (TO to) (VP (VB get) (NP (DT a) (NN quality) (NN hotel)))))))) (. .) (contrast=>Nucleus (VBD knew) (SBAR (S (NP (PRP we)) (VP (VBD were) (VP (VBG going) (S (VP (TO to) (VP (VB have) (S (VP (TO to) (VP (VB pay) (ADVP (NP (DT a) (RB little)) (RBR
  more))))))))))))))) |ET| 
-1 |BT| (ROOT (S (ADVP (RB However)) (, ,) (NP (DT this)) (VP (VBD was) (RB not) (NP (NP (DT the) (NN case)) (PP (IN with) (NP (DT the) (NNP Hilton) (NNP Chicago))))) (. .) (contrast=>Nucleus (VBD were) (VP (VBG expecting) (NP (NP (DT some) (NN minutia)) (PP (IN of) (NP (NN luxury)))))))) |ET| 
-1 |BT| (ROOT (S (S (ADVP (RB First)) (joint=>Nucleus ,) (NP (PRP we)) (VP (VBD had) (VP (VBN reserved) (NP (DT a) (NN room)) (PP (IN with) (NP (DT a) (NN king) (NN size) (NN bed) (joint=>Nucleus ,)))))) (, ,) (CC but) (S (NP (PRP they)) (VP (VBD did) (RB not) (VP (VB have) (S (NP (DT any)) (ADJP (JJ available)))))) (CC and) (S (NP (PRP we)) (VP (VBD were) (VP (VBN stuck) (PP (IN with) (NP (DT a) (NN queen) (NN size) (NN bed) (joint=>Nucleus ,)))))))) |ET| 
-1 |BT| (ROOT (S (S (ADVP (RB First)) (contrast=>Nucleus ,) (NP (PRP we)) (VP (VBD had) (VP (VBN reserved) (NP (DT a) (NN room)) (PP (IN with) (NP (DT a) (NN king) (NN size) (NN bed)))))) (, ,) (CC but) (S (NP (PRP they)) (VP (VBD did) (RB not) (VP (VB have) (S (NP (DT any)) (ADJP (JJ available)) (contrast=>Nucleus ,))))) (CC and) (S (NP (PRP we)) (VP (VBD were) (VP (VBN stuck) (PP (IN with) (NP (DT a) (NN queen) (NN size) (NN bed)))))))) |ET| 
-1 |BT| (ROOT (S (ADVP (NP (NNP First)) (RB off)) (, ,) (SBAR (RB as) (RB soon) (IN as) (S (NP (PRP we)) (VP (VBD arrived) (S (VP (TO to) (VP (VB check) (PP (IN in) (IN at) (NP (NP (DT the) (NN hotel)) (PP (IN with) (NP (NP (DT the) (NN clerk)) (SBAR (WHNP (WP who)) (S (VP (VBP couldnt) (VP (VB be) (NP (NP (DT any) (JJR older)) (PP (IN than) (NP (CD nineteen) (CC or) (CD twenty)))))))))))))))))) (, ,) (NP (JJ red) (NNS flags)) (VP (VBD started) (S (VP (VBG going) (PRT (RP up)) (elaboration=>Nucleus (NP (DT a) (NN hotel)) (VP (VBN rated) (PP (IN with) (NP (CD four) (NNS diamonds))) (PP (IN by) (NP (NNP AAA)))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (MD should) (VP (VB have) (VP (VBN known) (PP (IN from) (NP (NP (DT the) (NN moment)) (SBAR (S (NP (PRP I)) (VP (VBD walked) (PP (IN in) (PP (IN with) (NP (PRP$ my) (NN wife)))) (SBAR (IN that) (S (NP (DT this)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB become) (NP (DT a) (JJR bigger) (NN headache)) (PP (IN than) (SBAR (WHNP (WP what)) (S (NP (PRP it)) (VP (VBD was) (ADJP (JJ worth))))))))))))))))))))) (. .) (elaboration=>Nucleus (NP (DT a) (NN hotel)) (VP (VBN rated) (PP (IN with) (NP (CD four) (NNS diamonds))) (PP (IN by) (NP (NNP AAA))))))) |ET| 
-1 |BT| (ROOT (S (PP (IN For) (elaboration=>Nucleus (NP (DT a) (NN hotel)) (VP (VBN rated) (PP (IN with) (NP (CD four) (NNS diamonds))) (PP (IN by) (NP (NNP AAA)))))) (, ,) (NP (CD one)) (VP (MD would) (VP (VB think) (SBAR (S (NP (DT the) (NNP Hilton) (NNP Chicago)) (VP (MD would) (VP (VB be) (ADJP (RB almost) (PP (IN like) (S (VP (VBG staying) (PP (IN at) (NP (NP (DT a) (NN palace)) (PP (IN with) (NP (NN royalty))))))))))))))) (. .) (elaboration=>Nucleus (NP (DT a) (NN hotel)) (VP (VBN rated) (PP (IN with) (NP (CD four) (NNS diamonds))) (PP (IN by) (NP (NNP AAA))))))) |ET| 
-1 |BT| (ROOT (S (PP (IN For) (elaboration=>Nucleus (NP (DT a) (NN hotel)) (VP (VBN rated) (attribution=>Nucleus (IN with) (NP (CD four) (NNS diamonds))) (PP (IN by) (NP (NNP AAA)))))) (, ,) (NP (CD one)) (VP (MD would) (VP (VB think) (SBAR (S (NP (DT the) (NNP Hilton) (NNP Chicago)) (VP (MD would) (VP (VB be) (ADJP (RB almost) (PP (IN like) (S (VP (VBG staying) (PP (IN at) (NP (NP (DT a) (NN palace)) (PP (IN with) (NP (NN royalty))))))))))))))) (. .) (attribution=>Nucleus (IN with) (NP (CD four) (NNS diamonds))))) |ET| 
-1 |BT| (ROOT (S (PP (IN For) (elaboration=>Nucleus (NP (DT a) (NN hotel)) (VP (VBN rated) (attribution=>Nucleus (IN with) (NP (CD four) (NNS diamonds))) (PP (IN by) (NP (NNP AAA)))))) (, ,) (NP (CD one)) (VP (MD would) (VP (VB think) (SBAR (S (NP (DT the) (manner-means=>Nucleus Hilton) (NNP Chicago)) (VP (MD would) (VP (VB be) (ADJP (RB almost) (PP (IN like) (S (VP (VBG staying) (PP (IN at) (NP (NP (DT a) (NN palace)) (PP (IN with) (NP (NN royalty))))))))))))))) (. .) (manner-means=>Nucleus Hilton))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (VP (MD should) (VP (VB have) (VP (VBN known) (PP (IN from) (NP (NP (DT the) (NN moment)) (SBAR (S (NP (PRP I)) (VP (VBD walked) (PP (IN in) (PP (IN with) (NP (PRP$ my) (NN wife)))) (SBAR (IN that) (S (NP (DT this)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB become) (NP (DT a) (JJR bigger) (NN headache)) (PP (IN than) (SBAR (WHNP (WP what)) (S (NP (PRP it)) (VP (VBD was) (ADJP (JJ worth))))))))))))))))))))) (. .) (elaboration=>Nucleus only))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (elaboration=>Nucleus (MD should) (VP (VB have) (VP (VBN known) (PP (IN from) (NP (NP (DT the) (NN moment)) (SBAR (S (NP (PRP I)) (VP (VBD walked) (PP (IN in) (PP (IN with) (NP (PRP$ my) (NN wife)))) (SBAR (IN that) (S (NP (DT this)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB become) (NP (DT a) (JJR bigger) (NN headache)) (PP (IN than) (SBAR (WHNP (WP what)) (S (NP (PRP it)) (VP (VBD was) (ADJP (JJ worth))))))))))))))))))))) (. .) (elaboration=>Nucleus (MD should) (VP (VB have) (VP (VBN known) (PP (IN from) (NP (NP (DT the) (NN moment)) (SBAR (S (NP (PRP I)) (VP (VBD walked) (PP (IN in) (PP (IN with) (NP (PRP$ my) (NN wife)))) (SBAR (IN that) (S (NP (DT this)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB become) (NP (DT a) (JJR bigger) (NN headache)) (PP (IN than) (SBAR (WHNP (WP what)) (S (NP (PRP it)) (VP (VBD was) (ADJP (JJ worth))))))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (elaboration=>Nucleus (MD should) (VP (VB have) (VP (VBN known) (PP (IN from) (NP (NP (DT the) (NN moment)) (SBAR (S (NP (PRP I)) (VP (VBD walked) (PP (IN in) (PP (IN with) (NP (PRP$ my) (NN wife)))) (SBAR (IN that) (S (NP (DT this)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB become) (NP (DT a) (JJR bigger) (NN headache)) (PP (IN than) (SBAR (WHNP (WP what)) (S (NP (PRP it)) (VP (VBD was) (ADJP (JJ worth))))))))))))))))))))) (. .) (elaboration=>Nucleus (MD should) (VP (VB have) (VP (VBN known) (PP (IN from) (NP (NP (DT the) (NN moment)) (SBAR (S (NP (PRP I)) (VP (VBD walked) (PP (IN in) (PP (IN with) (NP (PRP$ my) (NN wife)))) (SBAR (IN that) (S (NP (DT this)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB become) (NP (DT a) (JJR bigger) (NN headache)) (PP (IN than) (SBAR (WHNP (WP what)) (S (NP (PRP it)) (VP (VBD was) (ADJP (JJ worth))))))))))))))))))))))) |ET| 
-1 |BT| (ROOT (S (ADVP (NP (NNP First)) (same-unit=>Nucleus off)) (, ,) (SBAR (RB as) (RB soon) (IN as) (S (NP (PRP we)) (VP (VBD arrived) (S (VP (TO to) (VP (VB check) (PP (IN in) (IN at) (NP (NP (DT the) (NN hotel)) (PP (IN with) (NP (NP (DT the) (NN clerk)) (SBAR (WHNP (WP who)) (S (VP (VBP couldnt) (VP (VB be) (NP (NP (DT any) (JJR older)) (PP (IN than) (NP (CD nineteen) (CC or) (CD twenty)))))))))))))))))) (, ,) (NP (JJ red) (NNS flags)) (VP (VBD started) (S (VP (VBG going) (PRT (RP up)) (same-unit=>Nucleus off)))))) |ET| 
-1 |BT| (ROOT (S (ADVP (NP (NNP First)) (same-unit=>Nucleus off)) (, ,) (SBAR (RB as) (elaboration=>Nucleus soon) (IN as) (S (NP (PRP we)) (VP (VBD arrived) (S (VP (TO to) (VP (VB check) (PP (IN in) (IN at) (NP (NP (DT the) (NN hotel)) (PP (IN with) (NP (NP (DT the) (NN clerk)) (SBAR (WHNP (WP who)) (S (VP (VBP couldnt) (VP (VB be) (NP (NP (DT any) (JJR older)) (PP (IN than) (NP (CD nineteen) (CC or) (CD twenty)))))))))))))))))) (, ,) (NP (JJ red) (NNS flags)) (VP (VBD started) (S (VP (VBG going) (PRT (RP up)) (elaboration=>Nucleus soon)))))) |ET| 
-1 |BT| (ROOT (S (ADVP (NP (NNP First)) (same-unit=>Nucleus off)) (, ,) (SBAR (RB as) (elaboration=>Nucleus soon) (IN as) (S (NP (PRP we)) (VP (VBD arrived) (S (VP (TO to) (VP (VB check) (PP (IN in) (IN at) (NP (NP (DT the) (NN hotel)) (PP (IN with) (NP (NP (DT the) (NN clerk)) (SBAR (WHNP (WP who)) (S (VP (VBP couldnt) (VP (VB be) (NP (NP (DT any) (JJR older)) (PP (IN than) (NP (CD nineteen) (CC or) (CD twenty)))))))))))))))))) (, ,) (NP (JJ red) (NNS flags)) (VP (VBD started) (S (VP (VBG going) (PRT (RP up)) (elaboration=>Nucleus (NP (DT a) (NN hotel)) (VP (VBN rated) (attribution=>Nucleus (IN with) (NP (CD four) (NNS diamonds))) (PP (IN by) (NP (NNP AAA)))))))))) |ET| 
-1 |BT| (ROOT (S (NP (PRP I)) (elaboration=>Nucleus (MD should) (VP (VB have) (VP (VBN known) (PP (IN from) (NP (NP (DT the) (NN moment)) (SBAR (S (NP (PRP I)) (VP (VBD walked) (PP (IN in) (PP (IN with) (NP (PRP$ my) (NN wife)))) (SBAR (IN that) (S (NP (DT this)) (VP (VBD was) (VP (VBG going) (S (VP (TO to) (VP (VB become) (NP (DT a) (JJR bigger) (NN headache)) (PP (IN than) (SBAR (WHNP (WP what)) (S (NP (PRP it)) (VP (VBD was) (ADJP (JJ worth))))))))))))))))))))) (. .) (elaboration=>Nucleus (NP (DT a) (NN hotel)) (VP (VBN rated) (attribution=>Nucleus (IN with) (NP (CD four) (NNS diamonds))) (PP (IN by) (NP (NNP AAA))))))) |ET| 
-1 |BT| (ROOT (S (PP (IN For) (elaboration=>Nucleus (NP (DT a) (NN hotel)) (VP (VBN rated) (attribution=>Nucleus (IN with) (NP (CD four) (NNS diamonds))) (PP (IN by) (NP (NNP AAA)))))) (, ,) (NP (CD one)) (VP (MD would) (VP (VB think) (SBAR (S (NP (DT the) (manner-means=>Nucleus Hilton) (NNP Chicago)) (VP (MD would) (VP (VB be) (ADJP (RB almost) (PP (IN like) (S (VP (VBG staying) (PP (IN at) (NP (NP (DT a) (NN palace)) (PP (IN with) (NP (NN royalty))))))))))))))) (. .) (elaboration=>Nucleus (NP (DT a) (NN hotel)) (VP (VBN rated) (attribution=>Nucleus (IN with) (NP (CD four) (NNS diamonds))) (PP (IN by) (NP (NNP AAA))))))) |ET| 
-1 |BT| (ROOT (S (PP (IN For) (elaboration=>Nucleus (NP (DT a) (NN hotel)) (VP (VBN rated) (attribution=>Nucleus (IN with) (NP (CD four) (NNS diamonds))) (PP (IN by) (NP (NNP AAA)))))) (, ,) (NP (CD one)) (VP (MD would) (VP (VB think) (SBAR (S (NP (DT the) (manner-means=>Nucleus Hilton) (NNP Chicago)) (VP (MD would) (VP (VB be) (ADJP (RB almost) (PP (IN like) (S (VP (VBG staying) (P

<TRUNCATED>

[03/11] opennlp-sandbox git commit: removed stanford nlp refs

Posted by bg...@apache.org.
http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/resources/taxonomies/fidelity.txt
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/resources/taxonomies/fidelity.txt b/opennlp-similarity/src/test/resources/taxonomies/fidelity.txt
deleted file mode 100644
index daa976a..0000000
--- a/opennlp-similarity/src/test/resources/taxonomies/fidelity.txt
+++ /dev/null
@@ -1,503 +0,0 @@
-How do I change my username, password, and other login information?
-I am having trouble logging in. How do I reset my password or look up my username?
-I do not have a username or password. How do I get one?
-Do I use the same password and username for my employer-sponsored accounts, personal accounts, and all other Fidelity websites?
-How does "Remember me" work?
-What if I no longer want my username saved?
-My username was saved, but now it is not in the list of saved usernames. Why not?
-What if my username and the username of another user share the same last three characters?
-How do I use my username with the Fidelity telephone services?
-Where can I update my personal information, such as my name, phone number, email, or mailing address?
-Can I add or update beneficiaries for my accounts online?
-How do I set up and manage alerts for my personal accounts?
-Where can I find the amount I have taken year-to-date from my IRA?
-How do I transfer money online between my bank and my Fidelity account?
-How can I gift stock out of my brokerage account?
-How secure is my account information?
-What should I do if I notice unauthorized activity on my account?
-Why do I need cookies to log in to Fidelity?
-What are Extended Validation Certificates?
-What browsers work best with Fidelity.com?
-What plug-ins work best with Fidelity.com?
-When are balances and certain features unavailable on Fidelity.com?
-What should I do when images on a page do not display?
-What steps should I try if I experience difficulty in viewing or printing Adobe PDF forms?
-What kind of mobile devices can I use to access Fidelity Mobile�?
-How do I download my account information from Fidelity.com to Microsoft Excel�?
-How do I suppress Redemption and Purchase from Core transactions seen in Quicken�?
-What versions of Quicken� and QuickBooks� support the account download service?
-What are the system requirements for using the account download service?
-What is required to use the account download service?
-Must I enroll for the account download service?
-How much does the account download service cost?
-What types of accounts can I download information from, and what kind of account information can I download?
-How much transaction history can be downloaded? How often is account information updated?
-Where is my account information stored when I download it into Quicken� and QuickBooks�?
-Can I perform trades in my account using Quicken�?
-Can I perform transactions like Bill Payments and Money Transfers in my account using Quicken� and/or QuickBooks�?
-How secure is the account download service?
-Do I use my Fidelity.com password to download my account data, or do I need a new password?
-Can I download my Fidelity NetBenefits� accounts?
-Can I download my employer-sponsored account information?
-Are there any instances in which Fidelity data varies from the manner in which it is displayed by Fidelity?
-How do I change a Fidelity account in Quicken� to recognize cash transactions like a checking account?
-Can I export all of my account information?
-How can I receive further assistance with the account download service?
-How do I trade?
-Why did you change the Accounts & Trade section of Fidelity.com and what new features can I expect?
-What kind of accounts are displayed on the Summary tab?
-My account indicates I need to activate it. What is this account?
-How do I view the details of a personal investing account?
-How do I view the details of a workplace savings account?
-How do I view my employee benefits information?
-How can I hide an account?
-How can I name and group the accounts on my Summary tab?
-How can I create custom groups to organize my accounts?
-Why can I not nickname an account?
-Why can I not move an account to a new group?
-How do I increase the font size of text on the Summary tab?
-How do I view my Purchase History/Lots?
-What kind of information is displayed on Open Positions?
-What accounts are displayed on Open Positions?
-Why is some of the information on this page highlighted in yellow?
-How do I view additional information about how a value was calculated?
-How soon after I make a trade will it appear on Open Positions?
-How are distributions calculated and posted to an account?
-How often are prices updated on Open Positions?
-How often are prices updated on Open Positions?
-Can I customize how the information on this page is displayed?
-What transactions can affect my cost basis?
-Why is my cost basis unknown?
-What cost basis methods are approved by the IRS?
-How do I calculate cost basis for shares sold under the Taxpayer Relief Act of 1997?
-Can I use cost basis information and unrealized gain/loss information from my Open Positions page for tax reporting purposes?
-Can I enter or edit the cost basis information for a security?
-How does Fidelity report wash sale information?
-How can I view my cost basis without wash sale adjustments?
-What other types of accounts are included in the Open Positions page?
-What does Open Positions show for tax-deferred annuities?
-What is included in the cost amount for my retirement account or accounts?
-How do I increase the font size of text on the Positions tab?
-What do the Current and Change columns display?
-What do the Current and Change columns display?
-What real-time balances are available?
-How are real-time balances calculated?
-When are real-time balances available?
-What is intraday balance activity?
-What balance information is displayed for non-brokerage accounts?
-How do I increase the font size of text on the Balances tab?
-What history information can I view for brokerage, mutual fund, and college savings plan accounts?
-What history information can I view for annuity accounts?
-How can I sort transaction history information?
-How can I filter transaction history information?
-Can I see specific share information in my transaction history?
-What history information can I view for employee stock purchase plans?
-What stock option exercise history information can I view?
-What stock appreciation rights grant information can I view?
-How do I change a Fidelity Account� in Quicken� to recognize cash transactions like a checking account?
-What transaction detail will I see if my account is enabled for international trading?
-Will I see anything additional if I do a foreign currency exchange in my account?
-What is an ADR* (American Depositary Receipt) Fee?
-How do I increase the font size of text on the Activity tab?
-How does cash availability work in my account?
-What are the investment options for my core position?
-Where can I find my account number(s)?
-When are deposits credited?
-When do trades, checks, bill payments, and check card purchases clear my core position?
-How is interest calculated?
-Where can I see my balances online?
-What do the different account values mean?
-What is an interactive statement, and where can I see my interactive statement online?
-How do I add or change the features offered on my account?
-How do I give someone else the right to view or transact in my account?
-How is my account protected?
-Are all of Fidelity's products and services available to customers residing outside of the United States?
-I am not a resident of the US and I do not t have any existing accounts. Can I establish a relationship with Fidelity?
-I\u2019ve recently moved outside the United States. What does that mean for me?
-What about my dividend and capital gain reinvestment?
-Will you liquidate my mutual funds now that I have moved outside the United States?
-How do I place an order?
-How do I preview an order?
-How is my order confirmed?
-How do I review orders I have placed?
-How do I cancel, or cancel and replace an order?
-Can I place orders when markets are closed?
-Can I trade in extended hours?
-How do I receive proceeds from sales?
-How do I pay for trades?
-How do I deposit securities to my Fidelity Account�?
-What are the order settlement dates?
-What are market-wide circuit breakers?
-What are individual stock price bands (Limit Up-Limit Down)?
-How do I buy, sell, or sell to buy mutual funds?
-Where is the mutual fund trading screen?
-How do I place a trade?
-How do I preview my order?
-Where is my order confirmation?
-How do I cancel an order?
-How are funds priced?
-Do I need to "sell" from my Core account to create cash for my mutual fund purchase?
-What is a fund family?
-Can I sell a non-Fidelity fund and buy a Fidelity fund with the proceeds?
-What is Fidelity's Excessive Trading Policy?
-How do I know at what price my order will get executed?
-What is price improvement?
-What types of orders are eligible for price improvement?
-How is the price improvement indication calculated?
-What does Fidelity do to ensure the best execution price on my orders?
-What is a market order?
-What is a limit order?
-What is a stop order?
-What time limitations can I place on an order?
-How are commissions assessed for good until canceled orders?
-How do dividend distributions affect open orders?
-What are the risks of trading in volatile markets?
-What is a Trailing Stop Order?
-What is a conditional order?
-What is short selling?
-What is a basket?
-What are the advantages of basket trading?
-What are the fees, minimums and commissions when trading in a basket?
-What types of orders can I place?
-How do I cancel a basket?
-What if an order in my basket cannot be executed?
-How can I track gain and loss of securities in my basket?
-How do I use watch baskets?
-How do I allocate my basket?
-Can I trade individual securities within the basket, or do I have to trade the basket as a whole?
-What about record keeping? How do I know what position is part of a basket?
-How do I view my orders and other recent account activity?
-What order information can I view online?
-How can I get information about  electronic funds transfer (EFT) transactions in brokerage and college savings plan accounts?
-How do I view recent updates to my orders?
-How can I cancel a pending order?
-What happens if I fail to cancel an order?
-What does it mean to cancel and replace an order?
-Can Fidelity cancel limit orders?
-Does placing a substitute order automatically cancel a previous order?
-What kinds of cancellations do I have to call a Fidelity rep to handle?
-How can I cancel, or cancel and replace, an annuity order?
-How do I view tax lot shares for a pending order?
-How do I change the quantity for a specific shares order?
-Can I specify tax lot shares when placing a cancel and replace order?
-Can I specify or change tax lots after a trade executes?
-How do mutual fund trades between two fund families price and execute?
-How do I sign up for average price trade reporting?
-Why does Fidelity offer average price trade reporting?
-What types of trades are eligible for average price trade reporting?
-Are there any stock or option orders that are not eligible for average price trade reporting?
-When does the average price update take place?
-How are Good 'til Canceled orders handled?
-How do Good 'til Canceled orders impact the records I see on Fidelity.com?
-How does this impact the records I see on trade confirmations, statements, and tax forms?
-Is there any rounding involved in the average price process?
-If I do not enroll in average price reporting, how are my executions handled?
-How do I increase the font size of text on the Activity tab?
-What securities are eligible for margin?
-How does margin work?
-What are the risks associated with margin?
-What is a margin call?
-What are the types of margin requirements?
-What are the requirements for equities?
-What are the requirements for mutual funds?
-What are the requirements for fixed income?
-What are the covered and uncovered option requirements?
-What is portfolio margin?
-What are the requirements for opening a portfolio margin account?
-How do I apply for portfolio margin?
-Are portfolio margin accounts subject to margin calls?
-What is limited margin?
-What account registrations are eligible for limited margin?
-What are the eligibility requirements for limited margin?
-How does it work?
-What is the difference between my cash account and a margin account?
-How do I view my balance?
-What do the different margin account values mean?
-Can I calculate hypothetical trades on margin?
-What is a customer ID or username?
-What is a cash account?
-What are the rules surrounding cash account trade settlements?
-What are possible cash account violations?
-How can I reduce mailbox clutter?
-What is my balance for cash available to trade?
-What is day trading?
-What is a pattern day trader?
-What is a pattern day trader?
-What is the difference between a pattern day trader and a non-pattern day trader?
-What is a day trade call?
-How do I find my pattern day trader balance?
-How is day trade buying power for options calculated?
-Why should I use Trade Armor(TM)?
-What information displays on the chart?
-How do I change the chart time frame?
-How do I change the support and resistance levels?
-Where can I see my positions for a particular symbol?
-How do I update the news feed?
-What information is available on the Research tab?
-How do I place a trade?
-How do I place an Option trade?
-Where can I see my Option positions?
-How can I add or change an email address on my account?
-How do I update the market and account data?
-How can I make changes to my account?
-How do I cancel an order?
-How do I replace an order?
-How do I increase the font size of text on Trade Armor(TM)?
-How often are my investment objectives reviewed?
-When should I consider making changes to my account investment strategy?
-Whom should I contact for assistance with my account?
-Whom should I contact to update account features or initiate monetary transactions?
-What mailing address should I use?
-How can I conduct monetary transactions online?
-How can I make deposits to my account?
-How can I withdraw from my account?
-How can I establish an additional Fidelity Portfolio Advisory Service  account?
-How can I track the quarterly advisory fee associated with my account?
-Are there any additional charges to my account?
-How can I lower my advisory fee?
-Where should I mail my advisory fee payment?
-How do I access help in My Oracle Support?
-How can I reduce mailbox clutter?
-How can I add or change an email address on my account?
-How can I make changes to my account?
-How often are my investment objectives reviewed?
-What sort of changes may require changes to my account investment strategy?
-Whom should I contact for assistance with my account?
-Whom should I contact to update account features or initiate monetary transactions?
-What mailing address should I use?
-How can I track the quarterly advisory fee associated with my account?
-Are there any additional charges to my account?
-What is a Customer ID?
-How can I reduce mailbox clutter?
-How can I add or change an email address on my account?
-How can I make changes to my account?
-How often are my investment objectives reviewed?
-Whom should I contact for assistance with my account?
-How can I conduct monetary transactions online?
-How can I make deposits to my account?
-How can I withdraw from my account?
-How do I receive cash from my account?
-What happens to the income my account generates?
-How frequently will my account generates dividends and interest?
-How can I establish an additional BlackRock Diversified Income Portfolio account?
-How can I track the quarterly advisory fee associated with my account?
-Are there any additional charges to my account?
-What is a Customer ID?
-How can I reduce mailbox clutter?
-How can I add or change an email address on my account?
-How can I make changes to my account?
-How often are my investment situation and my account preferences reviewed?
-Whom should I contact for assistance with my account?
-Whom should I contact to update account features or initiate monetary transactions?
-What mailing address should I use?
-How can I establish an additional Breckinridge Intermediate Municipal Separately Managed Account ?
-How can I track the quarterly advisory fee associated with my account?
-Are there any additional charges to my account?
-What is a customer ID or username?
-How can I reduce mailbox clutter?
-How can I add or change an email address on my account?
-How can I make changes to my account?
-How often are my investment situation and account preferences reviewed?
-Whom should I contact for assistance with my account?
-Whom should I contact to update account features or initiate monetary transactions?
-What mailing address should I use?
-What happens to the income my account generates?
-How frequently will my account generate dividends?
-How can I establish an additional Fidelity Equity-Income Strategy account?
-How can I track the quarterly advisory fee associated with my account?
-Are there any additional charges to my account?
-What is a customer ID or username?
-How can I reduce mailbox clutter?
-How can I add or change an email address on my account?
-How can I make changes to my account?
-How often are my investment situation and account preferences reviewed?
-Whom should I contact for assistance with my account?
-Whom should I contact to update account features or initiate monetary transactions?
-What mailing address should I use?
-How can I establish an additional Fidelity Tax-Managed U.S. Equity Index Strategy account?
-How can I track the quarterly advisory fee associated with my account?
-Are there any additional charges to my account?
-What types of Fidelity accounts are eligible?
-Can I use the service to deposit checks into an IRA?
-Can I use the service to fund a new account?
-Can I pay Portfolio Advisory Service� or other Fidelity managed account fees using mobile check deposit?
-What types of checks are accepted?
-Are there any types of checks that are not accepted?
-Do I need to endorse my check?
-Are there restrictions on the amount of money that can be deposited?
-Why am I required to enroll in the email alert for a rejected Mobile Check Deposit?
-What should I do with the check after I complete my deposit?
-When will I see my deposit posted to my account?
-When will I have access to my funds?
-I completed a deposit but I don\u2019t see it in my account history. What should I do?
-I completed a deposit but I do not see it in my account history. What should I do?
-What if my check is not accepted?
-What should I do if my deposit is rejected?
-If I need to mail a deposit, what address should I use?
-Are the check photos stored anywhere on my mobile device?
-What is the Fidelity� Cash Management Account?
-I already have a Fidelity brokerage account. Should I still consider a Fidelity Cash Management Account?
-What spending and money movement features are included with the Fidelity� Cash Management Account?
-How do I open a Fidelity� Cash Management Account?
-What spending and money movement features are included with the Fidelity� Cash Management Account?
-How does the FDIC insurance coverage work?
-How does the FDIC Deposit Sweep Program help maximize my FDIC insurance eligibility?
-Who is responsible for monitoring my account to make sure it does not exceed FDIC coverage limits?
-What if my balance at an assigned bank exceeds the FDIC insurance coverage limits?
-How does the FDIC insurance coverage work if I hold investments in my Fidelity Cash Management Account?
-How is interest calculated?
-Can I designate a Fidelity� Cash Management Account as a checking account in Quicken�?
-Why should I set up Cash Manager?
-What is the difference between Cash Manager self-funded overdraft protection and a minimum target balance?
-How does Cash Manager's free self-funded overdraft protection differ from the overdraft protection I get at my bank?
-Will any stocks, bonds, or mutual funds be sold if I drop below my minimum balance or use Cash Manager overdraft protection?
-What types of accounts are eligible to be Cash Manager funding accounts?
-When I link my individual account to a joint account, will the joint owners be able to see my funding account balance?
-Why can I not draw from my bank to provide self-funded overdraft protection?
-Do I need to have more than one funding account?
-When will I be alerted about money movement for Fidelity� Cash Management Account?
-Can I suspend or remove the Cash Manager feature from my Fidelity� Cash Management Account?
-Can I use my current bank account as a Cash Manager funding account?
-Can the automatic investment (AI) service be a Cash Management Account feature, and used with the Cash Manager feature?
-Can the personal withdrawal service (PWS) be a Cash Management Account feature, and used with the Cash Manager feature?
-What is a Fidelity� Visa� Gold Check Card?
-Is the Fidelity� Visa� Gold Check Card chip-enabled?
-How does chip technology protect my information?
-How do I get a chip-enabled debit card?
-Are there any fees with the Fidelity� Visa� Gold Check Card?
-What accounts are eligible for a Fidelity� Visa� Gold Check Card?
-Can I set up my Fidelity� Visa� Gold Check Card to use Apple Pay TM?
-Once I apply for a Fidelity� Visa� Gold Check Card, how long will it take for me to receive the card?
-How do I create a new PIN if I do not have a PIN or forgot my current PIN?
-What do I do if my card is blocked?
-If my card is expiring, when should I expect to receive my new card?
-How can I order a replacement card?
-What should I do if my card is lost or stolen, or if I notice unauthorized card transactions?
-How do I obtain an additional card for a joint account owner?
-Are there transaction limits with my card for purchases and ATM transactions?
-Can I use my card to make purchases?
-How do I use my chip-enabled debit card?
-Can I still swipe my chip-enabled card to pay?
-Where can I use my card to withdraw cash, make a purchase, or authorize an automatic debit?
-Why is the pending debit card transaction different from my actual purchase amount?
-What is Fidelity BillPay�?
-What is the fee for Fidelity BillPay�?
-What are the requirements to establish Fidelity BillPay�?
-How do I establish Fidelity BillPay�?
-How do I contact Fidelity for help with Fidelity BillPay�?
-What accounts are eligible for checkwriting?
-Is there a minimum balance requirement for checkwriting?
-How can I reorder checks and deposit slips?
-Can I order custom style checks (i.e., duplicate checks) and accessories?
-How can I cancel a check order?
-How long will it take for me to receive my checks when I submit a new or reorder request?
-How can I obtain a check image?
-How can I place a stop payment on a check?
-How can I request a cancelled check?
-How long does it take to establish EFT?
-How long does it take to establish EFT?
-When will my funds be available?
-What types of bank accounts are eligible for EFT?
-What types of Fidelity accounts are eligible for EFT?
-Are there restrictions on the amount of money that can be transferred via EFT?
-How do I authorize billers to debit my eligible accounts directly?
-Who may apply for a Fidelity Rewards Credit Card?
-Who is Elan Financial Services?
-How do the Rewards Credit Cards work if I elect to deposit my rewards in a tax-advantaged IRA or a 529 plan at Fidelity?
-How do I make mobile payments with my Fidelity� Visa Signature� Card?
-How do I earn Fidelity Rewards points?
-How are points redeemed into a Fidelity account?
-What Fidelity accounts are eligible for a deposit?
-How many points do I need to earn in order to redeem them?
-What types of rewards are available?
-Where can I find out how many points I have earned?
-What is the cap on the amount of points I can earn or redeem?
-Can my points expire?
-Can I use my points to initially fund a newly opened Fidelity account?
-How are my points that are redeemed as a cash contribution into my Fidelity account going to be invested?
-Can I direct my rewards deposit into a friend or family member's eligible Fidelity account?
-Are Reward points earned taxable?
-What if I already have a Fidelity Rewards Credit Card issued by FIA Card Services�?
-What is Full View�?
-How does Full View� work?
-What information can I access?
-Can I pay my bills through Full View�?
-Is there a charge for Full View�?
-Which browsers support Full View�?
-Can I download Full View� data to another program?
-How secure and private is Full View�?
-How does an IRA benefit me?
-Should I save in my 401(k) or my IRA?
-Are there income limits to contribute to an IRA?
-How much can I contribute to my IRA?
-If I qualify to contribute to both a Traditional IRA and Roth IRA, which one should I save in?
-How much money do I need to open a Fidelity IRA?
-What does a Fidelity IRA have to offer?
-How do I open a Fidelity IRA?
-Where should I invest my money?
-Can someone help me with my investing?
-How can I contribute to my Fidelity IRA?
-Can I withdraw money from my IRA?
-Can I convert my existing Traditional IRA to a Roth IRA?
-Can I transfer my IRA from another institution?
-Can I roll over my old 401(k) from a previous employer to my Roth or Traditional IRA?
-What is a Rollover IRA?
-What do I need to do to roll over my retirement plan assets to a Fidelity IRA?
-Can I roll over assets into my Traditional IRA?
-Will I owe taxes on my rollover?
-Can I move an existing IRA from another institution to Fidelity?
-What should I do if my former employer's 401(k) was recordkept by Fidelity?
-Can I roll my money into a Roth IRA?
-I already received a check made payable to me, and 20% was withheld. If I roll over my money now, can I get that 20% back?
-How do I know if I am eligible for a rollover?
-Can I add more money to my IRA later?
-Can I leave my former employer-sponsored retirement plan assets in my current plan indefinitely?
-Can I leave a portion of my 401(k) in an old employer's plan and roll the remaining amount to an IRA?
-Can I roll over my existing 401(k) assets into an IRA while I am still working?
-Can I roll over an old 401(k) that has both pre-tax and after-tax money in it?
-If I leave my current employer, can my vested participation in a defined benefit plan be rolled into an IRA?
-What is Net Unrealized Appreciation (NUA)?
-When is a Net Unrealized Appreciation (NUA) strategy favorable?
-How is a Roth IRA different from a Traditional IRA?
-Should I consider converting to a Roth IRA?
-What if I am over 70 1/2 and need to take a minimum required distribution (MRD)?
-How much should I consider converting?
-How should I plan to pay for taxes resulting from converting to a Roth IRA?
-What can I convert or roll over to a Roth IRA?
-Can I roll over assets from my workplace retirement account at a former employer directly to a Roth IRA?
-Am I eligible to convert?
-What are the potential tax implications of converting?
-Can I change my mind?
-Are there any limitations on going back to a Roth IRA after I recharacterize?
-How do I convert to a Roth IRA?
-Who can convert to a Roth IRA?
-What account types can you convert?
-What are minimum required distributions (MRDs)?
-Are there any exceptions?
-How do I calculate my MRD?
-What if my spouse is more than 10 years younger?
-Will Fidelity calculate my MRD for me?
-I can not find my MRD estimates on my account statement. Where is it located?
-Where can I find the Retirement Distribution Center?
-Can I find my MRD estimates anywhere else?
-How should I handle year-end transfers or rollovers?
-Will Fidelity send me my MRD automatically?
-How are MRDs taxed?
-What if I made non-deductible contributions to my IRA?
-When should I take my first MRD?
-How should I time my first MRD when it comes to taxes?
-How should I take my MRDs if I have multiple non-Roth accounts?
-What are the deadlines for taking MRDs?
-What are the penalties if I miss a deadline?
-Do I have to take my MRD if I am still working?
-Can I still contribute to my IRAs while taking MRDs?
-Why is it so important to consider beneficiaries when taking MRDs?
-How do I name a beneficiary?
-Should I convert to a Roth IRA, since they do not have MRDs?
-Are Qualified Charitable Distributions (QCDs) available for IRAs in 2015?
-How do I know if I am qualified to make a QCD?
-How to do I request a QCD from my Fidelity IRA?
-How can I contact Fidelity?
-How can I contact Fidelity?
-Who are you
-What can you do
\ No newline at end of file


[02/11] opennlp-sandbox git commit: removed stanford nlp refs

Posted by bg...@apache.org.
http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/resources/tree_kernel/model.txt
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/resources/tree_kernel/model.txt b/opennlp-similarity/src/test/resources/tree_kernel/model.txt
deleted file mode 100644
index 0fb3746..0000000
--- a/opennlp-similarity/src/test/resources/tree_kernel/model.txt
+++ /dev/null
@@ -1,10143 +0,0 @@
-SVM-light Version V5.01-TK-1.5
-5 # kernel type
-3 # kernel parameter -d 
-1 # kernel parameter -g 
-1 # kernel parameter -s 
-1 # kernel parameter -r 
-empty# kernel parameter -u 
-0.4 # kernel parameter -L 
-1 # kernel parameter -T 
-T # kernel parameter -C 
-1 # kernel parameter -F 
-1 # kernel parameter -S 
-0.400000 # kernel parameter -M 
-3 # kernel parameter -N 
-S # kernel parameter -V 
-A # kernel parameter -W 
-0 # kernel parameter -U 
-10 # highest feature index 
-16350 # number of training documents 
-10123 # number of support vectors plus 1 
-0.41254787 # threshold b, each following line is a SV (starting with alpha*y)
--0.30682870204973400340975331346272  |BT| (ROOT (S (NP (PRP$ (My))(CD (200))(NNP (Gucci))(NNS (sunglasses))(JJ (double)))(VP (VBD (were))(VP (VBN (stolen))(ADVP (IN (out))(PP (IN (of))(NP (PRP$ (my))(NN (bag)))))(PP (IN (on))(NP (DT (the))(JJ (16th))))))(. (.)))) |ET| 
--0.48171180282799164196205765620107  |BT| (ROOT (S (NP (PRP$ (My))(CD (200))(NNP (Gucci))(NNS (sunglasses))(NNP (Gucci)))(VP (VBD (were))(VP (VBN (stolen))(ADVP (IN (out))(PP (IN (of))(NP (PRP$ (my))(NN (bag)))))(PP (IN (on))(NP (DT (the))(JJ (16th))))))(. (.)))) |ET| 
--1  |BT| (ROOT (S (NP (PRP$ (Our))(NN (room)))(VP (VBD (was))(ADJP (RB (really))(JJ (nice)))(, (,))(PP (IN (with))(NP (CD (2))(NNS (bathrooms)))))(. (.)))) |ET| 
--0.63405655310332709184706345695304  |BT| (ROOT (S (NP (PRP$ (My))(CD (200))(NNP (Gucci))(NNS (sunglasses)))(VP (VBD (were))(VP (VBN (stolen))(ADVP (IN (out))(PP (IN (of))(NP (PRP$ (my))(NN (bag)))))(PP (IN (on))(NP (DT (the))(JJ (16th))))))(. (.)))) |ET| 
--1  |BT| (ROOT (S (NP (DT (The))(NN (hotel)))(VP (VBD (charged))(NP (PRP (us)))(NP (CD (25)))(S (VP (TO (to))(VP (VB (check))(PP (IN (in))(NP (JJ (early))(NN (10am))))(PP (IN (with))(NP (DT (the))(NN (hotel))(NN (security)))))))))) |ET| 
-2  |BT| (ROOT (S (NP (PRP (We)))(VP (VBD (stayed))(PP (IN (at))(NP (NP (DT (the))(NNP (Schicago))(NNP (Hilton)))(PP (IN (for))(NP (NP (CD (4))(NNS (days)))(CC (and))(NP (CD (3))(NNS (nights)))))))(PP (IN (for))(NP (DT (a))(NN (conference)))))(. (.)))) |ET| 
-0.0082547997383525077708110728735846  |BT| (ROOT (S (PP (IN (After))(elaboration=>Nucleus (VP (VBG (waiting))(NP (DT (an))(NN (hour))(S (VP (TO (to))(attribution=>Nucleus (VB (check))(SBAR (IN (in))(S (NP (PRP (we)))(VP (VBD (were))(RB (not))(ADJP (JJ (able))(S (VP (TO (to))(VP (VB (get))))))))))))))))(NP (DT (the))(attribution=>Nucleus (room)))(VP (VBZ (features))(SBAR (IN (that))(S (NP (PRP (we)))(VP (VBD (had))(VP (VBN (requested)))))))(. (.))(attribution=>Nucleus (room)))) |ET| 
-0.66969960321793142732360593072372  |BT| (ROOT (S (S (NP (PRP (I)))(VP (VBD (figuered))))(, (,))(S (ADJP (JJ (okay))))(, (,))(S (NP (PRP$ (its)))(NP (RB (just))(DT (the))(NN (carpet))))(. (.))(elaboration=>Nucleus (VBD (stayed))(PP (IN (at))(NP (NP (DT (the))(NNP (Schicago))(NNP (Hilton)))(PP (IN (for))(NP (NP (CD (4))(NNS (days)))(CC (and))(NP (CD (3))(NNS (nights)))))))(PP (IN (for))(NP (DT (a))(NN (conference))))))) |ET| 
-1.1105580934267944570592590025626  |BT| (ROOT (S (ADVP (RB (however)))(NP (NP (PRP$ (our))(NN (experience)))(PP (IN (at))(NP (DT (the))(NNP (Hilton)))))(VP (VBD (was))(ADJP (RB (so))(JJ (awful))(SBAR (S (NP (PRP (I)))(VP (VBP (am))(VP (VBG (taking))(NP (DT (the))(NN (time))(S (VP (TO (to))(VP (ADVP (RB (actually)))(VB (write))(NP (DT (this))(NN (review)))))))))))))(. (.))(elaboration=>Nucleus (VBP (have))(S (VP (TO (to))(VP (VB (say)))))))) |ET| 
--0.036794377568570943437542553056119  |BT| (ROOT (S (NP (PRP (I)))(attribution=>Nucleus (VBP (am))(ADJP (JJ (sure))(SBAR (IN (once))(S (NP (NP (DT (the))(NN (summer)))(PP (IN (in))(NP (NNP (Chicago)))))(VP (VBZ (comes))(PP (IN (around))(S (NP (PRP (they)))(VP (MD (will))(VP (VB (work))(NP (DT (all))(NN (night))))))))))))(. (.))(attribution=>Nucleus (VBP (am))(ADJP (JJ (sure))(SBAR (IN (once))(S (NP (NP (DT (the))(NN (summer)))(PP (IN (in))(NP (NNP (Chicago)))))(VP (VBZ (comes))(PP (IN (around))(S (NP (PRP (they)))(VP (MD (will))(VP (VB (work))(NP (DT (all))(NN (night)))))))))))))) |ET| 
--0.02471026951159510653965867277293  |BT| (ROOT (S (SBAR (WHADVP (WRB (When)))(background=>Nucleus (NP (PRP (we)))(VP (VBD (checked))(PP (IN (in))))))(, (,))(NP (PRP (we)))(elaboration=>Nucleus (VBD (were))(VP (VBN (given))(NP (NP (DT (a))(NN (room)))(PP (IN (with))(NP (CD (two))(JJ (full))(NN (size))(NNS (beds))(elaboration=>Nucleus (VBD (stayed))(PP (IN (at))(NP (DT (the))(NNP (Chicago))(NNP (Fairmont))))(PP (IN (for))(NP (NP (CD (four))(NNS (nights)))(PP (IN (for))(NP (DT (a))(NN (conference))))))))))(PP (IN (despite))(NP (DT (the))(NN (fact))))(SBAR (IN (that))(S (NP (PRP$ (our))(NN (reservation)))(VP (VBD (was))(PP (IN (for))(NP (CD (one))(NN (king))(NN (size))(NN (bed))(elaboration=>Nucleus (VBD (stayed))(PP (IN (at))(NP (DT (the))(NNP (Chicago))(NNP (Fairmont))))(PP (IN (for))(NP (NP (CD (four))(NNS (nights)))(PP (IN (for))(NP (DT (a))(NN (conference)))))))))))))))) |ET| 
-1.9694444743542840470240662398282  |BT| (ROOT (S (NP (PRP (It)))(VP (VBD (was))(ADJP (RB (really))(JJ (bad))))(. (.))(elaboration=>Nucleus (VP (VBG (going))(PP (IN (in))(NP (PRP$ (my))(NN (room)))))))) |ET| 
--0.50941036161533714832216901413631  |BT| (ROOT (S (SBAR (IN (As))(temporal=>Nucleus (NP (DT (the))(joint=>Nucleus (cab)))(VP (VBD (slowed))(S (VP (TO (to))(VP (VB (pick))(NP (PRP (me)))(PRT (RP (up)))))))))(, (,))(NP (DT (the))(NN (doorman)))(VP (VBD (continued))(S (VP (TO (to))(VP (VP (VB (yell))(PP (IN (at))(NP (PRP (me)))))(CC (and))(attribution=>Nucleus (VB (blow))(SBAR (S (NP (PRP$ (his)))(background=>Nucleus (VBP (whistle))(SBAR (IN (as))(S (NP (PRP (he)))(VP (VBD (started))(S (VP (TO (to))(VP (VB (run))(PP (IN (in))(NP (PRP$ (my))(NN (direction))))))))))))))))))(. (.))(temporal=>Nucleus (NP (DT (the))(joint=>Nucleus (cab)))(VP (VBD (slowed))(S (VP (TO (to))(VP (VB (pick))(NP (PRP (me)))(PRT (RP (up)))))))))) |ET| 
--0.83931476843149543931588141276734  |BT| (ROOT (S (NP (PRP$ (My))(NN (fiance)))(VP (VBD (accompanied))(NP (PRP (me))))(. (.))(elaboration=>Nucleus (VBD (stayed))(PP (IN (at))(NP (DT (the))(NNP (Chicago))(NNP (Fairmont))))(PP (IN (for))(NP (NP (CD (four))(NNS (nights)))(PP (IN (for))(NP (DT (a))(NN (conference))))))))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (I)))(VP (VBD (was))(ADJP (RB (extremely))(JJ (disappointed))))(. (.))(elaboration=>Nucleus (Average)))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (I)))(VP (VBP (think))(SBAR (S (NP (PRP (it)))(VP (VBD (was))(ADJP (JJ (lop))(SBAR (S (VP (VBD (sided))(SBAR (IN (because))(S (NP (PRP (they)))(ADVP (RB (never)))(VP (VBP (rotate))(NP (DT (the))(NNS (mattresses))))))))))))))(. (.))(elaboration=>Nucleus (NP (PRP (I)))(VP (VBP (check))(PP (IN (in))))))) |ET| 
-1.7832322599446259747679732754477  |BT| (ROOT (S (NP (NP (DT (The))(NN (management)))(PP (IN (of))(NP (DT (the))(NN (hotel)))))(VP (VBZ (is))(NP (NP (JJ (full)))(PP (IN (of))(NP (JJ (cheap))(VBN (minded))(NNS (people))(elaboration=>Nucleus (wife)))))))) |ET| 
-1.3183411021537505547485125134699  |BT| (ROOT (S (SBAR (WHADVP (WRB (When)))(background=>Nucleus (NP (PRP (we)))(VP (VBD (were))(VP (VBG (planning))(NP (PRP$ (our))(NN (vacation)))))))(, (,))(NP (PRP (we)))(VP (VBD (were))(VP (VBN (impressed))(PP (IN (with))(NP (DT (the))(NN (hotel))))))(. (.))(background=>Nucleus (NP (PRP (we)))(VP (VBD (were))(VP (VBG (planning))(NP (PRP$ (our))(NN (vacation)))))))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (I)))(VP (VBD (was))(ADJP (RB (extremely))(JJ (disappointed))))(. (.))(elaboration=>Nucleus (Average)))) |ET| 
-0.76782122575927458374422940323711  |BT| (ROOT (SINV (PP (IN (After))(enablement=>Nucleus (VP (VBG (waiting))(NP (CD (15))(NNS (minutes)))(S (VP (TO (to))(VP (VB (get))(NP (PRP$ (my))(NN (car)))))))))(VP (VBD (parked))(SBAR (S (NP (PRP (he)))(elaboration=>Nucleus (VBD (expected))))))(NP (NP (DT (a))(NN (tip)))(, (,))(SBAR (WHNP (WDT (which)))(S (NP (PRP (I)))(VP (VBD (found))(NP (JJ (rude)))))))(. (.))(elaboration=>Nucleus (VBD (expected))))) |ET| 
--0.1679591627616273674661329096125  |BT| (ROOT (S (NP (PRP (It)))(VP (VBZ (is))(NP (DT (a))(JJ (stately))(NN (building))))(. (.))(elaboration=>Nucleus (VBP (stay))(PP (IN (at))(NP (DT (the))(NNP (Palmer))(NNP (House))))(SBAR (WHADVP (WRB (when)))(S (NP (PRP (we)))(VP (VBP (attend))(NP (NP (NNS (conferences)))(PP (IN (in))(NP (NNP (Chicago))))))))))) |ET| 
--0.94009557651857744708934205846163  |BT| (ROOT (SINV (VP (VBG (Giving))(joint=>Nucleus (RP (up)))(NP (PRP (we))))(VP (VBD (decided))(S (VP (TO (to))(VP (VP (ADVP (RB (just)))(VB (exit))(NP (DT (the))(NN (highway))))(CC (and))(VP (VB (try)))))))(NP (NP (PRP$ (our))(NN (luck)))(PP (IN (at))(NP (QP (DT (a))(CD (711)))(NN (store)))))(SBAR (WHADVP (WRB (how)))(elaboration=>Nucleus (VP (TO (to))(VP (VB (get))(PP (TO (to))(NP (DT (the))(NN (hotel)))))))))) |ET| 
--0.53664656711132407984621295327088  |BT| (ROOT (S (S (NP (PRP$ (My))(joint=>Nucleus (husband)))(VP (VBD (was))(ADJP (JJ (ill)))))(CC (and))(attribution=>Nucleus (NP (PRP (I)))(VP (VBD (wanted))(SBAR (S (NP (DT (the))(enablement=>Nucleus (bed)))(VP (VBD (set))(PRT (RP (up)))(SBAR (IN (so))(S (NP (PRP (I)))(VP (VBP (wouldnt))(VP (VB (disturb))(NP (PRP (him))))))))))))(. (.))(attribution=>Nucleus (NP (PRP (I)))(VP (VBD (wanted))(SBAR (S (NP (DT (the))(enablement=>Nucleus (bed)))(VP (VBD (set))(PRT (RP (up)))(SBAR (IN (so))(S (NP (PRP (I)))(VP (VBP (wouldnt))(VP (VB (disturb))(NP (PRP (him)))))))))))))) |ET| 
-0.44421136499373242711996567777533  |BT| (ROOT (S (NP (PRP (I)))(VP (VBP (feel))(SBAR (IN (like))(S (NP (NNS (turtles)))(VP (MD (could))(VP (VB (have))(VP (VBN (checked))(NP (PRP (me)))(PP (IN (in))(ADVP (RBR (faster))))))))))(. (.))(elaboration=>Nucleus (NP (PRP (I)))(VP (VBD (arrived)))))) |ET| 
--0.24368595639418322296165797524736  |BT| (ROOT (S (SBAR (WHADVP (WRB (When)))(background=>Nucleus (NP (PRP (I)))(VP (VBD (called))(NP (CD (six))(NNS (days)))(PP (IN (before))(NP (PRP$ (my))(NN (arrival))(NN (date))))(S (VP (TO (to))(VP (VB (cancel))))))))(, (,))(NP (PRP (I)))(VP (VBD (was))(VP (VBN (told))(SBAR (IN (that))(S (NP (PRP (I)))(VP (MD (would))(VP (VB (be))(VP (VBN (charged))(PP (IN (for))(NP (PRP$ (my))(NN (stay))))(SBAR (IN (because))(S (NP (PRP (I)))(VP (VBD (did))(RB (not))(VP (VB (cancel))(NP (NP (CD (seven))(NNS (days)))(PP (IN (in))(NP (NN (advance))))))))))))))))(. (.))(background=>Nucleus (NP (PRP (I)))(VP (VBD (called))(NP (CD (six))(NNS (days)))(PP (IN (before))(NP (PRP$ (my))(NN (arrival))(NN (date))))(S (VP (TO (to))(VP (VB (cancel))))))))) |ET| 
--1  |BT| (ROOT (S (SBAR (WHADVP (WRB (When)))(background=>Nucleus (NP (PRP (we)))(ADVP (RB (first)))(VP (VBD (checked))(PP (IN (in))))))(, (,))(NP (PRP (I)))(VP (VBD (was))(VP (ADVP (RB (instantly)))(VBN (discouraged))))(. (.))(background=>Nucleus (NP (PRP (we)))(ADVP (RB (first)))(VP (VBD (checked))(PP (IN (in))))))) |ET| 
--0.26591780688580934910447695074254  |BT| (ROOT (NP (NP (NP (NNP (Hotel))(joint=>Nucleus (staff)))(UCP (ADJP (RB (very))(JJ (friendly))(CC (and))(JJ (helpful)))(, (,))(CC (and))(VP (VBP (respond))(ADVP (RB (immediately))))))(. (.))(joint=>Nucleus (staff)))) |ET| 
-1.5697853483313719546998754594824  |BT| (ROOT (S (NP (NP (NN (Everything)))(PP (IN (from))(NP (NP (DT (the))(NN (lobby)))(PP (TO (to))(NP (NP (DT (the))(NN (staff)))(PP (TO (to))(NP (DT (the))(NN (room))(NN (experience)))))))))(VP (VBD (was))(ADJP (JJ (horrible))))(. (.))(elaboration=>Nucleus (Sheraton)))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (I)))(VP (VBP (am))(UCP (NP (NP (JJ (allergic)))(PP (TO (to))(NP (DT (the))(NN (smoke)))))(CC (and))(SBAR (IN (that))(S (VP (VBN (made))(S (NP (PRP$ (my))(NN (stay)))(ADJP (JJ (uncomfortable)))))))))(. (.))(elaboration=>Nucleus (NP (PRP (we)))(VP (VBD (got))(PP (TO (to))(NP (PRP$ (our))(NN (room)))))))) |ET| 
--1  |BT| (ROOT (S (PP (IN (Upon))(elaboration=>Nucleus (VP (VBG (arriving))(PP (TO (to))(NP (NP (DT (the))(NN (hotel)))(PP (IN (at))(NP (DT (the))(JJ (exact))(NN (time)))))))))(NP (PRP (I)))(attribution=>Nucleus (VBD (indicated))(SBAR (S (PP (IN (in))(NP (PRP$ (my))(NN (reservation))))(NP (PRP (I)))(VP (VBD (was))(VP (VBN (told))(ADVP (RB (Ive)))(VP (VBN (been))(VP (VBN (downgraded))(PP (TO (to))(NP (DT (a))(JJR (lesser))(NN (quality))(NN (room)))))))))))(. (.))(elaboration=>Nucleus (VP (VBG (arriving))(PP (TO (to))(NP (NP (DT (the))(NN (hotel)))(PP (IN (at))(NP (DT (the))(JJ (exact))(NN (time)))))))))) |ET| 
--1  |BT| (ROOT (S (NP (DT (The))(NN (room)))(VP (VBD (smelled)))(elaboration=>Nucleus (VP (VBG (checkin))(PP (TO (to))(NP (NN (departure))(DT (a)))))))) |ET| 
-1.085897568341753771647972826031  |BT| (ROOT (S (NP (PRP (I)))(VP (VBD (elected))(S (VP (TO (to))(VP (VB (go))(PP (IN (with))(NP (PRP$ (their))(NNP (Executive))(NNP (Suite))(NN (upgrade))))))))(. (.))(elaboration=>Nucleus (VBD (stayed))(PP (IN (at))(NP (DT (the))(NNP (Hilton))(NNP (Chicago))))(PP (IN (during))(NP (DT (a))(JJ (recent))(NN (business))(NN (trip))))))) |ET| 
-0.54834637694732268897723770351149  |BT| (ROOT (S (NP (PRP$ (My))(background=>Nucleus (toilet))(NN (paper))(NN (row)))(VP (VBD (was))(NP (NP (DT (half))(NN (way)))(SBAR (S (VP (VBD (finished))(SBAR (WHADVP (WRB (when)))(S (NP (PRP (I)))(VP (VBD (checked))(PP (IN (in)))))))))))(. (.))(background=>Nucleus (toilet)))) |ET| 
--1  |BT| (ROOT (S (SBAR (WHADVP (WRB (When)))(background=>Nucleus (NP (PRP (we)))(ADVP (RB (first)))(VP (VBD (checked))(PP (IN (in))))))(, (,))(NP (PRP (I)))(VP (VBD (was))(VP (ADVP (RB (instantly)))(VBN (discouraged))))(. (.))(background=>Nucleus (NP (PRP (we)))(ADVP (RB (first)))(VP (VBD (checked))(PP (IN (in))))))) |ET| 
--0.53842549761741387293056959606474  |BT| (ROOT (S (NP (PRP (It)))(VP (VBD (was))(ADVP (RBR (more)))(PP (IN (like))(S (VP (VBG (staying))(PP (IN (at))(NP (DT (an))(VBN (overpriced))(NN (W))(NN (Hotel))))))))(. (.))(elaboration=>Nucleus (hotel)))) |ET| 
--0.9608085605251078797905961437209  |BT| (ROOT (S (NP (PRP (It)))(VP (VBD (was))(ADVP (RB (courteously)))(VP (VBN (taken))(NP (NP (NN (care)))(PP (IN (of))(PP (IN (after))(S (VP (VBG (contacting))(NP (NN (hotel))))))))))(. (.))(elaboration=>Nucleus (,)))) |ET| 
-0.77626227980214457247143400309142  |BT| (ROOT (S (NP (PRP (I)))(joint=>Nucleus (VP (VBD (booked))(NP (DT (the))(NN (room))))(CC (and))(cause=>Nucleus (VBD (was))(ADJP (RB (very))(JJ (excited))(SBAR (IN (because))(S (NP (DT (the))(NN (website)))(VP (VBZ (alludes))(PP (TO (to))(NP (NP (DT (a))(ADJP (RB (very))(JJ (lavish)))(NN (interior)))(PP (IN (with))(NP (NP (NNS (amenities)))(ADJP (RB (far))(JJ (superior))(PP (TO (to))(NP (DT (the))(VBG (surrounding))(NNS (hotels)))))))))))))))(. (.))(joint=>Nucleus (VP (VBD (booked))(NP (DT (the))(NN (room))))(CC (and))(cause=>Nucleus (VBD (was))(ADJP (RB (very))(JJ (excited))(SBAR (IN (because))(S (NP (DT (the))(NN (website)))(VP (VBZ (alludes))(PP (TO (to))(NP (NP (DT (a))(ADJP (RB (very))(JJ (lavish)))(NN (interior)))(PP (IN (with))(NP (NP (NNS (amenities)))(ADJP (RB (far))(JJ (superior))(PP (TO (to))(NP (DT (the))(VBG (surrounding))(NNS (hotels))))))))))))))))) |ET| 
-0.94924752720655325433085636177566  |BT| (ROOT (S (NP (PRP (They)))(elaboration=>Nucleus (VP (VBD (gave))(NP (PRP (me)))(NP (DT (a))(NN (discount))))(CC (but))(VP (VBD (had))(PP (TO (to))(NP (NP (NN (downgrade)))(VP (NP (PRP (me)))(PP (TO (to))(NP (DT (a))(JJ (regular))(NN (room)))))))))(. (.))(elaboration=>Nucleus (VP (VBD (gave))(NP (PRP (me)))(NP (DT (a))(NN (discount))))(CC (but))(VP (VBD (had))(PP (TO (to))(NP (NP (NN (downgrade)))(VP (NP (PRP (me)))(PP (TO (to))(NP (DT (a))(JJ (regular))(NN (room))))))))))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (It)))(VP (VBD (was))(ADVP (RBR (more)))(PP (IN (like))(S (VP (VBG (staying))(PP (IN (at))(NP (DT (an))(VBN (overpriced))(NN (W))(NN (Hotel))))))))(. (.))(elaboration=>Nucleus (hotel)))) |ET| 
--1  |BT| (ROOT (S (NP (NNP (Modern))(NN (furniture)))(VP (VBZ (includes))(NP (NP (DT (a))(NN (bed)))(SBAR (WHNP (WDT (that)))(S (VP (VBZ (is))(ADJP (JJ (close))(PP (TO (to))(NP (NP (DT (the))(NN (groud)))(, (,))(NP (NP (DT (a))(JJ (cold))(NN (blck))(NN (slab)))(VP (VBG (functioning))(NP (DT (a))(NP (DT (a))(NN (desh)))(CC (and))(NP (PRP (me)))(elaboration=>Nucleus (VBD (traveled))(PP (TO (to))(NP (NNP (Chicago))))(S (VP (TO (to))(VP (VB (visit))(PP (IN (with))(NP (NP (PRP$ (our))(NN (daughter)))(SBAR (WHNP (WP (who)))(S (VP (VBZ (lives))(PP (IN (in))(NP (DT (the))(NN (city)))))))))))))))))))))))))) |ET| 
-0.13377288785631796796948833616625  |BT| (ROOT (S (PP (IN (After))(enablement=>Nucleus (VP (VBG (waiting))(PP (IN (in))(NP (NP (DT (the))(NN (lobby)))(PP (IN (for))(NP (CD (30))(NNS (minutes)))))))))(NP (PRP (I)))(VP (VBD (was))(ADVP (RB (finally)))(VP (VBN (called))(PRT (RP (over)))(PP (TO (to))(NP (DT (the))(NN (desk))))(ADVP (RB (only)))(S (VP (TO (to))(VP (VB (be))(VP (VBN (told))(SBAR (S (NP (PRP$ (my))(NN (king))(NN (room)))(VP (VBD (was))(VP (VBN (changed))(PP (TO (to))(NP (NP (DT (a))(NN (room)))(PP (IN (with))(NP (NP (CD (two))(NN (queen))(NNS (beds)))(, (,))(NP (NN (fine)))(, (,))))))(FRAG (WHNP (WDT (whatever))))))))))))))(. (.))(manner-means=>Nucleus (JJ (ready))))) |ET| 
--0.61783459067829704647323296740069  |BT| (ROOT (S (NP (NNS (Guests)))(joint=>Nucleus (VBD (had))(S (VP (TO (to))(VP (VP (VB (enter))(NP (DT (the))(NN (room))))(CC (and))(elaboration=>Nucleus (VB (find))(NP (PRP$ (their))(NN (way)))(PP (TO (to))(NP (DT (the))(NN (bed))))))))(S (VP (TO (to))(VP (VB (turn))(PRT (RP (on)))(NP (DT (the))(NN (light)))(PP (TO (to))(NP (DT (the))(NN (room))))))))(. (.))(elaboration=>Nucleus (VBD (traveled))(PP (TO (to))(NP (NNP (Chicago))))(S (VP (TO (to))(VP (VB (visit))(PP (IN (with))(NP (NP (PRP$ (our))(NN (daughter)))(SBAR (WHNP (WP (who)))(S (VP (VBZ (lives))(PP (IN (in))(NP (DT (the))(NN (city))))))))))))))) |ET| 
-1.7058455299512846892184825264849  |BT| (ROOT (S (NP (PRP$ (My))(NN (view)))(ADVP (RB (also)))(VP (VBD (suffered)))(. (.))(elaboration=>Nucleus (hotel)))) |ET| 
-0.42076914316173996688519309827825  |BT| (ROOT (S (CC (But))(joint=>Nucleus (FW (i)))(VP (VP (MD (would)))(CC (nor))(elaboration=>Nucleus (VB (recommend))(NP (DT (this))(NN (hotel)))(PP (TO (to))(background=>Nucleus (PRP$ (my))(NNS (friends))))(SBAR (IN (as))(S (NP (PRP (it)))(VP (VBD (did))(S (ADJP (RB (not))(JJ (satisfied)))(NP (PRP (me)))))))))(. (.))(background=>Nucleus (PRP$ (my))(NNS (friends))))) |ET| 
--0.45495436349165507827763121895259  |BT| (ROOT (S (NP (NN (Ive)))(ADVP (RB (ever)))(VP (VBD (had)))(. (.))(elaboration=>Nucleus (,)))) |ET| 
--1  |BT| (ROOT (S (NP (NN (Ive)))(ADVP (RB (ever)))(VP (VBD (had)))(. (.))(elaboration=>Nucleus (NP (PRP (it)))(VP (VBD (was))(NP (DT (a))(ADJP (RB (very))(JJ (special)))(NN (occasion))))))) |ET| 
-1.0507654802509647229413758395822  |BT| (ROOT (S (ADVP (NP (NNP (First)))(elaboration=>Nucleus (off)))(, (,))(NP (PRP (they)))(VP (VBP (charge))(PP (IN (for))(S (VP (VBG (being))(ADJP (JJ (able))(S (VP (TO (to))(VP (VB (use))(NP (NP (DT (the))(NN (internet)))(, (,))(SBAR (WHNP (WDT (which)))(S (VP (MD (should))(VP (VB (be))(PP (DT (a))(PP (VBN (given))(NP (DT (these))(NNS (days))))(, (,))(RB (especially))(PP (IN (for))(SBAR (WHADJP (WRB (how))(JJ (much)))(S (NP (PRP (you)))(VP (VBP (pay))(PP (IN (for))(NP (DT (the))(NN (room))))))))))))))))))))))(. (.))(elaboration=>Nucleus (off)))) |ET| 
-0.074383334905013198667944607223035  |BT| (ROOT (S (S (NP (PRP (I)))(enablement=>Nucleus (VBD (had))(S (VP (TO (to))(elaboration=>Nucleus (VB (wait))(PP (IN (until))(NP (CD (3))(NN (pm)))))))(S (VP (TO (to))(VP (VB (check))(PP (IN (in))))))))(PRN (-LRB- (-LRB-))(contrast=>Nucleus (RB (even))(joint=>Nucleus (though))(S (NP (PRP$ (my))(NN (flight)))(VP (VBD (was))(PP (IN (in))(NP (DT (the))(NN (morning)))))))(-RRB- (-RRB-)))(CC (and))(explanation=>Nucleus (NP (PRP (I)))(VP (VBD (had))(S (VP (TO (to))(VP (VB (rent))(NP (DT (a))(NN (car)))(PP (IN (at))(NP (DT (the))(NN (airport)))))))(SBAR (IN (because))(S (NP (DT (the))(NN (hotel)))(VP (VBD (did))(RB (not))(VP (VB (offer))(NP (NN (transportation)))(UCP (ADVP (RB (too)))(CC (and))(PP (IN (from))))))))))(. (.))(explanation=>Nucleus (NP (PRP (I)))(VP (VBD (had))(S (VP (TO (to))(VP (VB (rent))(NP (DT (a))(NN (car)))(PP (IN (at))(NP (DT (the))(NN (airport)))))))(SBAR (IN (because))(S (NP (DT (the))(NN (hotel)))(VP (VBD (did))(RB (not))(VP (
 VB (offer))(NP (NN (transportation)))(UCP (ADVP (RB (too)))(CC (and))(PP (IN (from)))))))))))) |ET| 
--1  |BT| (ROOT (S (NP (NP (DT (The))(NN (service)))(PP (IN (by))(NP (NP (DT (the))(NNS (waiters)))(CC (and))(NP (JJ (other))(NN (staff))))))(VP (VBD (was))(ADVP (RB (also)))(ADJP (RB (very))(JJ (good))(elaboration=>Nucleus (VBD (had))(NP (NP (PRP$ (my))(NN (wedding))(NN (ceremony))(CC (and))(NN (reception)))(PP (IN (at))(NP (DT (the))(NNP (Sofitel)))))))))) |ET| 
--1  |BT| (ROOT (S (ADVP (RB (Just)))(attribution=>Nucleus (VB (think))(SBAR (IN (as))(S (NP (PRP (they)))(VP (VBP (keep))(S (VP (VBG (adding))(NP (NP (NNS (floors)))(SBAR (S (NP (PRP (you)))(VP (MD (will))(VP (VB (be))(ADJP (JJ (able))(S (VP (TO (to))(VP (VB (look))(NP (DT (the))(NNS (workers)))(PP (IN (in))(NP (NP (DT (the))(NN (eye))(CC (and))(NN (wave)))(PP (IN (from))(NP (PRP$ (your))(NN (room))))(SBAR (WHNP (IN (that)))(S (VP (VBN (used))(S (VP (TO (to))(VP (VB (have))(NP (NP (DT (a))(NN (view)))(PP (IN (of))(NP (DT (the))(NNP (Navy))(NNP (Pier))(attribution=>Nucleus (VB (think))(SBAR (IN (as))(S (NP (PRP (they)))(VP (VBP (keep))(S (VP (VBG (adding))(NP (NP (NNS (floors)))(SBAR (S (NP (PRP (you)))(VP (MD (will))(VP (VB (be))(ADJP (JJ (able))(S (VP (TO (to))(VP (VB (look))(NP (DT (the))(NNS (workers)))(PP (IN (in))(NP (NP (DT (the))(NN (eye))(CC (and))(NN (wave)))(PP (IN (from))(NP (PRP$ (your))(NN (room))))(SBAR (WHNP (IN (that)))(S (VP (VBN (used))(S (VP (TO (to))(VP (VB (have
 ))(NP (NP (DT (a))(NN (view)))(PP (IN (of))(NP (DT (the))(NNP (Navy))(NNP (Pier)))))))))))))))))))))))))))))))))))))))))))))))))))))))) |ET| 
-2  |BT| (ROOT (S (NP (NNP (Noone)))(ADVP (RB (ever)))(VP (VBD (showed))(PRT (RP (up))))(. (.))(elaboration=>Nucleus (wife)))) |ET| 
-2  |BT| (ROOT (S (NP (PRP (It)))(VP (VBD (was))(NP (DT (a))(JJ (terrible))(NN (choice))))(. (.))(elaboration=>Nucleus (hotel)))) |ET| 
--0.7962352411215678493761060963152  |BT| (ROOT (S (NP (NN (Ive)))(ADVP (RB (ever)))(VP (VBD (had)))(. (.))(elaboration=>Nucleus (,)))) |ET| 
--0.027342103423469293899117360524542  |BT| (ROOT (S (NP (NP (DT (The))(attribution=>Nucleus (downside)))(PP (IN (of))(S (NP (PRP (them)))(VP (VBG (allowing))(NP (NNS (pets)))))))(VP (VBD (was))(SBAR (IN (that))(elaboration=>Nucleus (NP (PRP (we)))(VP (MD (could))(VP (VB (hear))(NP (NP (DT (the))(JJ (poor))(NN (dog)))(VP (VBG (barking))(PP (IN (in))(NP (DT (the))(NN (morning))))(SBAR (ADVP (RB (probably)))(IN (because))(S (NP (PRP (it)))(VP (VBD (needed))(S (VP (TO (to))(VP (VB (go))(PRT (RP (out))))))))))))))))(. (.))(attribution=>Nucleus (downside)))) |ET| 
--0.85266998118272607776191307493718  |BT| (ROOT (S (NP (PRP (It)))(VP (VBD (was))(NP (CD (630pm))))(. (.))(elaboration=>Nucleus (waitress)))) |ET| 
-0.62952518837865878431614419241669  |BT| (ROOT (S (PP (IN (For))(elaboration=>Nucleus (NP (DT (a))(NN (hotel)))(VP (VBN (rated))(attribution=>Nucleus (IN (with))(NP (CD (four))(NNS (diamonds))))(PP (IN (by))(NP (NNP (AAA)))))))(, (,))(NP (CD (one)))(VP (MD (would))(VP (VB (think))(SBAR (S (NP (DT (the))(manner-means=>Nucleus (Hilton))(NNP (Chicago)))(VP (MD (would))(VP (VB (be))(ADJP (RB (almost))(PP (IN (like))(S (VP (VBG (staying))(PP (IN (at))(NP (NP (DT (a))(NN (palace)))(PP (IN (with))(NP (NN (royalty))))))))))))))))(. (.))(manner-means=>Nucleus (Hilton)))) |ET| 
-0.62147084200418478694416535290657  |BT| (ROOT (S (PP (IN (For))(elaboration=>Nucleus (NP (DT (a))(NN (hotel)))(VP (VBN (rated))(attribution=>Nucleus (IN (with))(NP (CD (four))(NNS (diamonds))))(PP (IN (by))(NP (NNP (AAA)))))))(, (,))(NP (CD (one)))(VP (MD (would))(VP (VB (think))(SBAR (S (NP (DT (the))(manner-means=>Nucleus (Hilton))(NNP (Chicago)))(VP (MD (would))(VP (VB (be))(ADJP (RB (almost))(PP (IN (like))(S (VP (VBG (staying))(PP (IN (at))(NP (NP (DT (a))(NN (palace)))(PP (IN (with))(NP (NN (royalty))))))))))))))))(. (.))(attribution=>Nucleus (IN (with))(NP (CD (four))(NNS (diamonds)))))) |ET| 
--1  |BT| (ROOT (S (NP (NP (DT (The))(NN (service)))(PP (IN (by))(NP (NP (DT (the))(NNS (waiters)))(CC (and))(NP (JJ (other))(NN (staff))))))(VP (VBD (was))(ADVP (RB (also)))(ADJP (RB (very))(JJ (good))(elaboration=>Nucleus (VBD (had))(NP (NP (PRP$ (my))(NN (wedding))(NN (ceremony))(CC (and))(NN (reception)))(PP (IN (at))(NP (DT (the))(NNP (Sofitel)))))))))) |ET| 
--0.44958842500939416586547281440289  |BT| (ROOT (S (NP (PRP$ (Our))(NN (room)))(VP (VBD (was))(PP (IN (on))(NP (NP (DT (the))(JJ (4th))(NN (floor)))(PP (IN (with))(NP (NP (DT (a))(NN (view)))(PP (IN (of))(NP (NP (DT (a))(JJ (blank))(NN (brick))(NN (wall)))(PP (IN (about))(NP (NP (CD (16))(NNS (feet)))(JJ (distant))(elaboration=>Nucleus (wife))))))))))))) |ET| 
-0.030090287877807625482873277178442  |BT| (ROOT (S (S (NP (PRP (We)))(joint=>Nucleus (VBD (found))(NP (DT (a))(JJ (few))(NNS (bugs)))(PP (IN (in))(NP (PRP$ (our))(NN (room))))))(CC (and))(attribution=>Nucleus (NP (DT (the))(NNS (sheets)))(VP (VBD (did))(RB (not))(VP (VB (look))(SBAR (IN (like))(S (NP (PRP (they)))(VP (VBP (have))(VP (VBN (been))(VP (ADVP (RB (recently)))(VBN (changed))))))))))(. (.))(joint=>Nucleus (IN (of))(NP (NP (DT (all)))(, (,))(NP (DT (the))(NNS (rooms))))))) |ET| 
-1.3422158369397796384703269723104  |BT| (ROOT (S (NP (PRP (It)))(VP (VBD (was))(RB (n't)))(. (!))(elaboration=>Nucleus (pictures)))) |ET| 
-0.49710878464744506777250876439211  |BT| (ROOT (S (NP (PRP (He)))(VP (VBD (was))(ADJP (RB (almost))(JJ (helpful))))(. (.))(elaboration=>Nucleus (VBD (arrived))(S (VP (TO (to))(VP (VB (find))(SBAR (IN (that))(S (NP (PRP (they)))(VP (VBD (had))(VP (VBN (lost))(NP (PRP$ (my))(NN (reservation))))))))))))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (We)))(VP (VBD (planned))(S (VP (TO (to))(VP (VB (swim))(SBAR (IN (while))(S (NP (PRP (he)))(VP (VBD (was))(VP (VBG (working))))))))))(. (.))(elaboration=>Nucleus (son)))) |ET| 
--0.69135541418216950315667190807289  |BT| (ROOT (S (NP (PRP (We)))(attribution=>Nucleus (VBD (arrived))(S (VP (TO (to))(VP (VB (find))(SBAR (IN (that))(S (NP (DT (the))(NN (website))(NNS (pictures)))(VP (VBD (were))(ADJP (JJ (misleading))))))))))(. (.)))) |ET| 
-0.087415545708280972814208098498057  |BT| (ROOT (S (S (NP (PRP (I)))(background=>Nucleus (VBP (wasnt))(ADJP (JJ (aware))(PP (IN (of))(NP (DT (the))(elaboration=>Nucleus (noise))(NN (level)))))(SBAR (SBAR (WHADVP (WRB (when)))(background=>Nucleus (NP (PRP (I)))(VP (VBD (booked))(NP (DT (the))(NN (room))))))(CC (and))(SBAR (WHADVP (WRB (when)))(S (NP (PRP (I)))(VP (VBD (threatened))(S (VP (TO (to))(VP (VB (make))(NP (JJ (other))(NNS (reservations))))))))))))(, (,))(NP (NP (DT (the))(NNS (people)))(PP (IN (in))(NP (DT (the))(NN (lobby)))))(VP (VBD (had))(NP (NN (nothing))(S (VP (TO (to))(VP (VB (say)))))))(. (.))(elaboration=>Nucleus (noise)))) |ET| 
-0.51219270686567086592333453154424  |BT| (ROOT (S (S (NP (EX (There)))(joint=>Nucleus (VBD (was))(S (NP (DT (a)))(VP (VB (stain))(PP (IN (on))(NP (DT (the))(NN (pillow))))))))(, (,))(CC (and))(S (NP (NP (DT (the))(NN (leg)))(PP (IN (of))(NP (NP (CD (one)))(PP (IN (of))(NP (NP (DT (the))(NNS (chairs)))(PP (IN (in))(NP (DT (the))(NN (room)))))))))(VP (VBD (was))(VP (VBN (broken)))))(. (.))(elaboration=>Nucleus (elevators)))) |ET| 
-0.87471391632498318724486807695939  |BT| (ROOT (S (S (NP (EX (There)))(VP (VBD (was))(S (NP (DT (a)))(VP (VB (stain))(PP (IN (on))(NP (DT (the))(NN (pillow))))))))(, (,))(CC (and))(S (NP (NP (DT (the))(NN (leg)))(PP (IN (of))(NP (NP (CD (one)))(PP (IN (of))(NP (NP (DT (the))(NNS (chairs)))(PP (IN (in))(NP (DT (the))(NN (room)))))))))(VP (VBD (was))(VP (VBN (broken)))))(. (.))(elaboration=>Nucleus (elevators)))) |ET| 
-1.0571924575461015827215760509716  |BT| (ROOT (S (NP (PRP (I)))(joint=>Nucleus (VBD (lived))(PP (IN (in))(NP (NP (NP (NNP (Illinois)))(UCP (PP (IN (during))(NP (NN (college))))(, (,))(CC (and))(elaboration=>Nucleus (IN (as))(S (NP (PRP (I)))(VP (VBD (was))(PP (IN (on))(NP (NP (DT (a))(NN (college))(NN (budget)))(, (,))(NP (NP (JJS (most)))(PP (IN (of))(NP (PRP$ (my))(NNS (trips))))))))))))(ADVP (IN (up))(PP (TO (to))(NP (NP (DT (the))(NN (city)))(VP (VBN (involved))(S (VP (VBG (sharing))(NP (DT (a))(NN (room)))(PP (IN (at))(NP (NP (CD (one)))(PP (IN (of))(NP (NP (DT (the))(JJR (cheaper))(NNS (hotels)))(ADVP (RB (away))(PP (IN (from))(NP (NN (downtown))))))))))))))))))(. (.))(joint=>Nucleus (VBD (lived))(PP (IN (in))(NP (NP (NP (NNP (Illinois)))(UCP (PP (IN (during))(NP (NN (college))))(, (,))(CC (and))(elaboration=>Nucleus (IN (as))(S (NP (PRP (I)))(VP (VBD (was))(PP (IN (on))(NP (NP (DT (a))(NN (college))(NN (budget)))(, (,))(NP (NP (JJS (most)))(PP (IN (of))(NP (PRP$ (my))(NNS (tr
 ips))))))))))))(ADVP (IN (up))(PP (TO (to))(NP (NP (DT (the))(NN (city)))(VP (VBN (involved))(S (VP (VBG (sharing))(NP (DT (a))(NN (room)))(PP (IN (at))(NP (NP (CD (one)))(PP (IN (of))(NP (NP (DT (the))(JJR (cheaper))(NNS (hotels)))(ADVP (RB (away))(PP (IN (from))(NP (NN (downtown)))))))))))))))))))) |ET| 
--1  |BT| (ROOT (S (NP (PRP$ (Our))(NN (room)))(VP (VBD (was))(PP (IN (on))(NP (NP (DT (the))(JJ (4th))(NN (floor)))(PP (IN (with))(NP (NP (DT (a))(NN (view)))(PP (IN (of))(NP (NP (DT (a))(JJ (blank))(NN (brick))(NN (wall)))(PP (IN (about))(NP (NP (CD (16))(NNS (feet)))(JJ (distant))(elaboration=>Nucleus (wife))))))))))))) |ET| 
--0.97993214318854104938338878127979  |BT| (ROOT (S (NP (EX (There)))(elaboration=>Nucleus (VBD (was))(NP (DT (no))(NN (closet)))(SBAR (IN (so))(S (NP (PRP (I)))(VP (VBD (hung))(NP (PRP$ (my))(NN (suit)))(PP (IN (on))(NP (NP (DT (the))(NN (doorknob)))(PP (IN (of))(NP (NP (DT (the))(NN (door)))(PP (IN (of))(NP (DT (the))(JJ (adjoining))(NN (room))))))))))))(. (.))(elaboration=>Nucleus (VBD (was))(NP (DT (no))(NN (closet)))(SBAR (IN (so))(S (NP (PRP (I)))(VP (VBD (hung))(NP (PRP$ (my))(NN (suit)))(PP (IN (on))(NP (NP (DT (the))(NN (doorknob)))(PP (IN (of))(NP (NP (DT (the))(NN (door)))(PP (IN (of))(NP (DT (the))(JJ (adjoining))(NN (room)))))))))))))) |ET| 
--1  |BT| (ROOT (S (PP (IN (In))(NP (DT (the))(NN (room))))(NP (DT (the))(NN (internet)))(VP (VBZ (is))(RB (not))(ADJP (JJ (complementary))(SBAR (S (NP (PRP (it)))(VP (VBZ (is))(NP (NP (CD (16)))(PP (IN (for))(NP (NP (JJ (standard)))(CC (and))(NP (NP (CD (25)))(PP (IN (for))(NP (NP (DT (some))(NN (sort)))(PP (IN (of))(NP (NP (NN (ultra)))(VP (VBN (upgraded))(NP (NN (internet))(NN (service)))))))))))))))))(elaboration=>Nucleus (experiences)))) |ET| 
-1.5093803046535445577802647676435  |BT| (ROOT (S (NP (NP (DT (The))(elaboration=>Nucleus (woman)))(SBAR (WHNP (WP (who)))(S (VP (VBD (answered))))))(VP (VBD (was))(ADJP (RB (very))(JJ (rude)))(, (,))(S (VP (TO (to))(VP (VB (say))(NP (DT (the))(JJS (least))))))(elaboration=>Nucleus (woman)))(. (.)))) |ET| 
-2  |BT| (ROOT (S (NP (PRP (I)))(VP (VBD (was))(ADJP (JJ (willing))(S (VP (TO (to))(VP (VB (let))(NP (DT (this))(NN (slide))))))))(. (.))(elaboration=>Nucleus (,)))) |ET| 
-0.47812349239717732984900067094713  |BT| (ROOT (S (S (ADVP (RB (Really)))(contrast=>Nucleus (PRP (We)))(VP (ADVP (RB (even)))(VBD (asked))(NP (DT (the))(NNP (Lasy)))(PP (IN (at))(NP (DT (the))(JJ (front))(NN (desk))))))(, (,))(CC (but))(attribution=>Nucleus (NP (PRP (she)))(VP (VBD (said))(SBAR (S (NP (PRP (they)))(joint=>Nucleus (VBP (couldnt))(VP (VB (put))(NP (PRP (us)))(PP (IN (in))(NP (DT (a))(NN (room))))(PP (IN (with))(NP (NP (DT (a))(NN (view))(NN (cause)))(SBAR (S (S (NP (PRP (we)))(VP (VBP (didnt))(NP (NN (book))(CD (one)))))(CC (and))(S (NP (PRP (we)))(VP (VBP (couldnt))(NP (NN (upgrade)))))))))))))))(. (.))(elaboration=>Nucleus (view)))) |ET| 
--0.88321989019080660021643325308105  |BT| (ROOT (S (PP (IN (From))(S (VP (VBG (pulling))(PRT (RP (up)))(S (VP (TO (to))(VP (VB (check))(PP (IN (in)))(S (VP (TO (to))(VP (VB (be))(ADJP (JJ (fair)))(SBAR (WHADVP (WRB (when)))(S (NP (PRP (I)))(VP (VB (write))(NP (PRP$ (my))(NNS (reviews)))))))))))))))(NP (PRP (I)))(VP (VBD (felt))(NP (DT (the))(NN (gouging))(NN (start))))(. (.)))) |ET| 
-0.31380347339660086269930161506636  |BT| (ROOT (S (NP (PRP (I)))(attribution=>Nucleus (VBD (complained))(SBAR (IN (that))(joint=>Nucleus (NP (PRP (I)))(VP (VP (VBD (had))(RB (not))(VP (VBN (been))(VP (VBN (informed))(PP (IN (of))(NP (DT (the))(NN (construction)))))))(CC (and))(VP (VBD (requested))(NP (DT (another))(NN (room))))))))(. (.)))) |ET| 
-1.2121897178092089220058369392063  |BT| (ROOT (S (NP (DT (The))(NN (bedroom))(NN (bed))(NNP (Kingsized)))(VP (VBZ (makes))(NP (NP (VBG (rattling))(NNS (noises)))(PP (IN (on))(NP (NP (DT (every))(NN (turn)))(PP (IN (of))(NP (NP (DT (the))(NN (body)))(SBAR (S (NP (PRP (you)))(VP (VBP (make)))(elaboration=>Nucleus (Chicago)))))))))))) |ET| 
--1  |BT| (ROOT (S (NP (EX (There)))(elaboration=>Nucleus (VBD (was))(NP (DT (no))(NN (closet)))(SBAR (IN (so))(S (NP (PRP (I)))(VP (VBD (hung))(NP (PRP$ (my))(NN (suit)))(PP (IN (on))(NP (NP (DT (the))(NN (doorknob)))(PP (IN (of))(NP (NP (DT (the))(NN (door)))(PP (IN (of))(NP (DT (the))(JJ (adjoining))(NN (room))))))))))))(. (.))(elaboration=>Nucleus (VBD (was))(NP (DT (no))(NN (closet)))(SBAR (IN (so))(S (NP (PRP (I)))(VP (VBD (hung))(NP (PRP$ (my))(NN (suit)))(PP (IN (on))(NP (NP (DT (the))(NN (doorknob)))(PP (IN (of))(NP (NP (DT (the))(NN (door)))(PP (IN (of))(NP (DT (the))(JJ (adjoining))(NN (room)))))))))))))) |ET| 
--1  |BT| (ROOT (NP (NP (NNP (Rude)))(, (,))(NP (NP (JJ (rude)))(, (,))(NP (JJ (rude))))(. (!)))) |ET| 
--0.0753562104623306250328340638589  |BT| (ROOT (S (NP (DT (The))(NN (room)))(VP (VBD (was))(ADJP (RB (very))(JJ (small))(CC (and))(JJ (dark))))(. (.))(elaboration=>Nucleus (NP (PRP (I)))(VP (VBD (arrived)))))) |ET| 
-0.61507860722174712009291397407651  |BT| (ROOT (S (NP (PRP (I)))(elaboration=>Nucleus (VBD (had))(S (VP (TO (to))(VP (VB (wait))(NP (PDT (half))(DT (an))(NN (hour)))(SBAR (IN (while))(S (NP (NN (someone)))(VP (VBD (ran))(PRT (RP (out)))(S (VP (TO (to))(VP (VB (get))(NP (JJR (more))(NNS (keys)))))))))))))(. (.))(elaboration=>Nucleus (VBD (had))(S (VP (TO (to))(VP (VB (wait))(NP (PDT (half))(DT (an))(NN (hour)))(SBAR (IN (while))(S (NP (NN (someone)))(VP (VBD (ran))(PRT (RP (out)))(S (VP (TO (to))(VP (VB (get))(NP (JJR (more))(NNS (keys))))))))))))))) |ET| 
-0.59665320664407661688244388642488  |BT| (ROOT (S (NP (PRP (We)))(VP (VBD (came))(ADVP (RB (back)))(PP (IN (from))(S (VP (VBG (siteseeing))(S (VP (TO (to))(VP (VB (find))(SBAR (IN (that))(S (NP (PRP$ (our))(NN (room)))(VP (VBD (was))(PP (IN (in))(NP (NP (DT (the))(JJ (same))(NN (condition)))(SBAR (S (NP (PRP (we)))(VP (VBD (left))(NP (PRP (it)))(PP (IN (in))))))))))))))))))(. (.))(elaboration=>Nucleus (InterContinental)))) |ET| 
-0.17913200471041776373759546459041  |BT| (ROOT (S (S (S (VP (VBG (Having))(contrast=>Nucleus (RB (never)))(VP (VP (VBN (been))(PP (IN (in))(NP (DT (the))(NN (area))))(PP (IN (before))))(CC (or))(VP (VBN (stayed))(PP (IN (at))(NP (DT (an))(NNP (Ambassador))(NNP (Hotel))))))))(NP (PRP (we)))(VP (ADVP (RB (really)))(VBP (didnt))(S (VP (VB (know))(SBAR (WHNP (WP (what)))(S (VP (TO (to))(VP (VB (expect))))))))))(, (,))(CC (but))(comparison=>Nucleus (NP (DT (the))(NNS (pictures))(NN (online)))(VP (VBD (made))(S (NP (PRP (it)))(VP (VB (look))(ADVP (RBR (more)))(S (VP (VBG (inviting))(SBAR (IN (than))(S (NP (PRP (it)))(VP (VBD (turned))(PRT (RP (out)))(S (VP (TO (to))(VP (VB (be))))))))))))))(. (.))(comparison=>Nucleus (NP (DT (the))(NNS (pictures))(NN (online)))(VP (VBD (made))(S (NP (PRP (it)))(VP (VB (look))(ADVP (RBR (more)))(S (VP (VBG (inviting))(SBAR (IN (than))(S (NP (PRP (it)))(VP (VBD (turned))(PRT (RP (out)))(S (VP (TO (to))(VP (VB (be)))))))))))))))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (It)))(VP (VP (VBZ (seems))(SBAR (S (NP (PRP (they)))(VP (VBD (were))(VP (VBG (trying))(S (VP (TO (to))(VP (VB (improve))(NP (PRP (it)))))))))))(CC (but))(VP (ADVP (RB (only)))(VBD (made))(S (NP (PRP (it)))(ADJP (JJR (worse))))))(. (.))(elaboration=>Nucleus (elevator)))) |ET| 
--0.042740903733658436314257755839208  |BT| (ROOT (S (NP (NP (DT (The))(JJ (other))(NN (thing)))(SBAR (IN (that))(S (NP (PRP (you)))(VP (MD (should))(VP (VB (know))(PP (IN (about))(NP (DT (this))(NN (hotel)))))))))(VP (VBZ (is))(SBAR (IN (that))(S (NP (PRP (they)))(VP (VBP (allow))(NP (NN (smoking)))(ADVP (RB (everywhere)))))))(. (.))(elaboration=>Nucleus (VBZ (is))(NP (ADVP (IN (at))(JJS (least)))(NP (DT (a))(CD (fifteen))(NN (minute))(NN (walk)))(SBAR (WHNP (WDT (which)))(S (PP (IN (in))(NP (NP (DT (the))(NN (winter)))(PP (IN (in))(NP (NNP (Chicago))))))(VP (VBZ (means))(NP (DT (a))(NN (taxi))(NN (ride)))))))))) |ET| 
-2  |BT| (ROOT (S (NP (EX (There)))(VP (VBD (was))(NP (NP (NP (NN (mold)))(PP (IN (around))(NP (DT (the))(NN (toilet)))))(CC (and))(NP (NP (DT (a))(NN (film)))(PP (IN (over))(NP (DT (the))(NN (mirror)))))))(. (.))(elaboration=>Nucleus (bathroom)))) |ET| 
-1.1310458717305309495060328117688  |BT| (ROOT (NP (S (S (NP (DT (The))(NNS (beds)))(VP (VBD (were))(ADJP (RB (very))(JJ (old))(CC (and))(JJ (uncomfortable)))))(CC (and))(S (NP (DT (the))(NN (tv)))(VP (VBD (did))(RB (not))(VP (VB (work))(ADVP (IN (at))(DT (all))(elaboration=>Nucleus (IN (of))(NP (NP (PDT (all))(DT (the))(NNS (prices)))(PP (IN (for))(NP (CD (one))))))))))))) |ET| 
--0.87836431022719008154808761901222  |BT| (ROOT (S (NP (DT (The))(NN (room)))(VP (VBD (was))(ADJP (RB (very))(JJ (small))(CC (and))(JJ (dark))))(. (.))(elaboration=>Nucleus (NP (PRP (I)))(VP (VBD (arrived)))))) |ET| 
--0.10595864127393145315281230978144  |BT| (ROOT (S (NP (DT (That)))(VP (VBZ ('s))(RB (not))(NP (DT (a))(ADJP (RB (very))(VBG (welcoming)))(NN (sight))))(. (.))(elaboration=>Nucleus (,)))) |ET| 
--0.95257726553834931593200963106938  |BT| (ROOT (NP (S (NP (DT (The))(JJ (next))(NN (day)))(, (,))(NP (PRP (I)))(VP (VBD (asked))(PP (IN (for))(NP (NP (DT (another))(NN (room)))(CC (and))(NP (NP (DT (the))(NN (concierge)))(SBAR (WHNP (WP (who))))(elaboration=>Nucleus (MD (can))(ADVP (RB (easily)))(VP (VB (say))(SBAR (S (NP (DT (this)))(VP (VBZ (is))(NP (NP (CD (one)))(PP (IN (of))(NP (NP (DT (the))(JJS (worst))(NNS (hotels)))(SBAR (S (NP (PRP (I)))(VP (VBP ('ve))(VP (VBN (stayed))(ADVP (IN (at))(DT (the)))))))))))))))))))))) |ET| 
--0.34472828367064800580976680066669  |BT| (ROOT (S (S (NP (DT (The))(NN (wireless)))(VP (VBD (was))(ADJP (RB (very))(JJ (slow)))))(CC (and))(S (NP (NP (DT (the))(NN (hard-wire)))(PP (IN (from))(NP (DT (the))(NN (wall)))))(VP (VBD (did))(RB (not))(VP (VB (work))(ADVP (IN (at))(DT (all))))))(. (.))(elaboration=>Nucleus (decor)))) |ET| 
-1.184715152074396815606860400294  |BT| (ROOT (S (NP (PRP (I)))(VP (VBD (was)))(elaboration=>Nucleus (carpeting)))) |ET| 
-1.9564073684427409904884598290664  |BT| (ROOT (S (NP (PRP (they)))(attribution=>Nucleus (VBD (knew))(SBAR (S (NP (PRP (we)))(VP (VBD (had))(NP (CD (6)))))))(. (!))(attribution=>Nucleus (VBD (knew))(SBAR (S (NP (PRP (we)))(VP (VBD (had))(NP (CD (6))))))))) |ET| 
--0.66693909647154359099374687502859  |BT| (ROOT (S (NP (PRP (It)))(VP (VBD (was))(NP (CD (630pm))))(. (.))(elaboration=>Nucleus (year)))) |ET| 
--1  |BT| (ROOT (S (SBAR (WHADVP (WRB (When)))(background=>Nucleus (NP (PRP (we)))(VP (VBD (arrived))(SBAR (S (NP (PRP (we)))(VP (VBD (were))(VP (VBN (told))(NP (DT (a))(JJ (previous))(NN (guest))))))))))(VP (VBD (had))(VP (VBN (extended))(NP (PRP$ (their))(NN (stay)))(SBAR (IN (so))(S (NP (PRP (we)))(VP (VBD (did))(RB (not))(VP (VB (have))(NP (DT (a))(NN (room)))))))))(. (.))(background=>Nucleus (NP (PRP (we)))(VP (VBD (arrived))(SBAR (S (NP (PRP (we)))(VP (VBD (were))(VP (VBN (told))(NP (DT (a))(JJ (previous))(NN (guest))))))))))) |ET| 
--0.85570734831105554896168996492634  |BT| (ROOT (S (NP (PRP (It)))(attribution=>Nucleus (VBD (was))(SBAR (RB (not))(IN (until))(S (NP (PRP (we)))(attribution=>Nucleus (VBD (told))(SBAR (S (NP (NP (DT (the))(elaboration=>Nucleus (concierge)))(SBAR (IN (that))(S (NP (PRP (we)))(VP (VBD (were))(VP (VBG (going))(S (VP (TO (to))(VP (VB (post))(NP (NP (DT (the))(NN (picture)))(SBAR (S (NP (PRP (we)))(VP (VBD (took))(PP (IN (of))(NP (PRP (it))))(PP (IN (on))(NP (NNP (Tripadvisor))))))))))))))))(VP (VBD (did))(S (NP (DT (the))(NN (thing)))(VP (VB (get))(VP (VBN (removed))))))))))))(. (.))(attribution=>Nucleus (VBD (was))(SBAR (RB (not))(IN (until))(S (NP (PRP (we)))(attribution=>Nucleus (VBD (told))(SBAR (S (NP (NP (DT (the))(elaboration=>Nucleus (concierge)))(SBAR (IN (that))(S (NP (PRP (we)))(VP (VBD (were))(VP (VBG (going))(S (VP (TO (to))(VP (VB (post))(NP (NP (DT (the))(NN (picture)))(SBAR (S (NP (PRP (we)))(VP (VBD (took))(PP (IN (of))(NP (PRP (it))))(PP (IN (on))(NP (NNP (Tripadvisor
 ))))))))))))))))(VP (VBD (did))(S (NP (DT (the))(NN (thing)))(VP (VB (get))(VP (VBN (removed)))))))))))))) |ET| 
--0.2480929817834434114587338626734  |BT| (ROOT (S (NP (NNS (Rooms)))(attribution=>Nucleus (VBP (are))(ADJP (RB (so))(JJ (dark))(SBAR (S (NP (PRP (we)))(VP (VBD (had))(S (VP (TO (to))(VP (VB (insist))(SBAR (S (NP (PRP (they)))(VP (VBP (bring))(NP (NNS (lamps)))(SBAR (IN (so))(S (NP (PRP (we)))(VP (MD (could))(VP (VB (see)))))))))))))))))(. (.))(attribution=>Nucleus (VBP (are))(ADJP (RB (so))(JJ (dark))(SBAR (S (NP (PRP (we)))(VP (VBD (had))(S (VP (TO (to))(VP (VB (insist))(SBAR (S (NP (PRP (they)))(VP (VBP (bring))(NP (NNS (lamps)))(SBAR (IN (so))(S (NP (PRP (we)))(VP (MD (could))(VP (VB (see))))))))))))))))))) |ET| 
-0.95493294307528620024072552041616  |BT| (ROOT (S (S (NP (DT (The))(NN (hotel)))(VP (VBZ (is))(PP (IN (in))(NP (NP (DT (the))(NN (heart)))(PP (IN (of))(NP (DT (the))(NN (city))))))))(CC (and))(S (NP (NN (traffic)))(VP (VBZ (is))(ADJP (JJ (chaotic)))))(. (.))(elaboration=>Nucleus (Omni)))) |ET| 
-1.9730619060557683663859052103362  |BT| (ROOT (S (NP (DT (The))(NN (staff)))(VP (VBD (was))(ADJP (RB (very))(JJ (rude))(CC (and))(JJ (unhelpful))))(. (.))(elaboration=>Nucleus (family)))) |ET| 
--1  |BT| (ROOT (S (NP (NP (DT (The))(NN (rest)))(PP (IN (of))(NP (DT (the))(NN (staff)))))(ADVP (RB (however)))(VP (VBD (was))(ADJP (JJ (terrible))))(. (.))(elaboration=>Nucleus (fiance)))) |ET| 
--1  |BT| (ROOT (S (NP (DT (The))(NN (staff)))(VP (VBD (was))(ADJP (JJ (helpful))(CC (and))(JJ (attentive))))(. (.))(elaboration=>Nucleus (wireless)))) |ET| 
-0.62018236057649422932058769220021  |BT| (ROOT (SBAR (WHADVP (WRB (When)))(elaboration=>Nucleus (NP (PRP (we)))(VP (VBD (called))(NP (DT (the))(JJ (front))(NN (desk)))(S (VP (TO (to))(VP (VB (complain))(SBAR (S (NP (PRP (they)))(VP (VBD (were))(ADJP (RB (quite))(JJ (rude)))))))(elaboration=>Nucleus (NP (PRP (we)))(VP (VBD (called))(NP (DT (the))(JJ (front))(NN (desk)))(S (VP (TO (to))(VP (VB (complain))(SBAR (S (NP (PRP (they)))(VP (VBD (were))(ADJP (RB (quite))(JJ (rude))))))))))))))))) |ET| 
-2  |BT| (ROOT (S (S (NP (PRP (They)))(attribution=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (MD (will))(VP (VB (fix))(NP (PRP (it)))))))))(, (,))(CC (but))(S (NP (PRP (I)))(VP (VBD (did))(RB (not))(VP (VB (get))(NP (DT (any))(NN (response))))))(. (.))(attribution=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (MD (will))(VP (VB (fix))(NP (PRP (it)))))))))) |ET| 
--0.15010763846522845454956041066907  |BT| (ROOT (S (S (VP (VBN (Told))(elaboration=>Nucleus (NP (DT (the))(JJ (front))(NN (desk)))(SBAR (IN (that))(elaboration=>Nucleus (S (NP (PRP (I)))(VP (VBP (hadnt))(VP (VBN (realized))(PP (IN (about))(NP (DT (the))(NN (construction)))))))(, (,))(RB (so))(background=>Nucleus (NP (NN (Id)))(VP (VBP (have))(S (VP (TO (to))(VP (VB (switch))(NP (NNS (hotels)))))))))))))(, (,))(NP (PRP (they)))(attribution=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (VBD (were))(ADVP (RB (still)))(VP (VBG (going))(S (VP (TO (to))(VP (VB (charge))(NP (PRP (me)))(PP (IN (for))(NP (CD (3))(NNS (nights))))))))))))(. (.))(attribution=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (VBD (were))(ADVP (RB (still)))(VP (VBG (going))(S (VP (TO (to))(VP (VB (charge))(NP (PRP (me)))(PP (IN (for))(NP (CD (3))(NNS (nights)))))))))))))) |ET| 
--0.5205431068541409578287471049407  |BT| (ROOT (S (NP (PRP (I)))(attribution=>Nucleus (VBD (insisted))(SBAR (IN (that))(attribution=>Nucleus (NP (PRP (they)))(VP (VBP (get))(SBAR (S (NP (DT (all))(elaboration=>Nucleus (my))(NNS (clothes)))(VP (VBD (laundered))(, (,))(SBAR (WHNP (WDT (which)))(S (NP (PRP (they)))(VP (VBD (did))))))))))))(. (.))(attribution=>Nucleus (NP (PRP (they)))(VP (VBP (get))(SBAR (S (NP (DT (all))(elaboration=>Nucleus (my))(NNS (clothes)))(VP (VBD (laundered))(, (,))(SBAR (WHNP (WDT (which)))(S (NP (PRP (they)))(VP (VBD (did)))))))))))) |ET| 
-1.1221386441930047972448392101796  |BT| (ROOT (S (NP (DT (The))(NN (staff)))(VP (VBD (was))(ADJP (ADJP (JJ (rude))(CC (and))(JJ (unprofessional)))(CC (and))(ADJP (RB (not))(JJ (helpful)))(ADVP (IN (at))(DT (all)))))(. (.))(elaboration=>Nucleus (NP (DT (the))(NN (hotel)))(VP (VBZ (looks))(ADJP (JJ (nice))))))) |ET| 
-1.906152238456204628391787991859  |BT| (ROOT (S (NP (NP (PRP$ (Our))(NN (stay)))(PP (IN (at))(NP (NNP (Homewood))(NNP (Suites)))))(VP (MD (could))(RB (not))(VP (VB (have))(VP (VBN (been))(ADJP (JJR (worse))))))(. (.))(elaboration=>Nucleus (.)))) |ET| 
--1  |BT| (ROOT (S (NP (NP (DT (The))(NN (rest)))(PP (IN (of))(NP (DT (the))(NN (staff)))))(ADVP (RB (however)))(VP (VBD (was))(ADJP (JJ (terrible))))(. (.))(elaboration=>Nucleus (fiance)))) |ET| 
--0.31229530393155274792249542770151  |BT| (ROOT (S (NP (RB (Even))(DT (the))(NN (concierge)))(VP (VBD (was))(ADJP (JJ (disinterested))))(. (.))(elaboration=>Nucleus (IN (in))(NP (PRP$ (my))(NN (room)))))) |ET| 
-0.54690373480841003583918791264296  |BT| (ROOT (S (NP (NP (NP (DT (The))(`` (``))(S (NP (PRP (I)))(VP (VBP ('m))(ADJP (RB (too))(JJ (ugly))(S (VP (TO (to))(VP (VB (steal))))))))('' (''))(NN (furniture)))(PRN (NP (NNS (patterns)))))(CC (and))(NP (NP (NNS (colors)))(NP (FW (di)))(elaboration=>Nucleus (VBD (was))(PP (IN (in))(NP (NP (NN (business)))(PP (IN (in))(NP (NNP (Chicago))))))))))) |ET| 
-0.30450847501992717170082869415637  |BT| (ROOT (S (SBAR (SBAR (S (NP (DT (The))(joint=>Nucleus (baggage))(NNS (handlers)))(VP (VBD (gave))(NP (PRP (me)))(NP (JJ (rude))(NN (service))))))(CC (and))(same-unit=>Nucleus (WHADVP (WRB (when)))(S (VP (VBG (checking))(ADVP (IN (in))(CC (or))(IN (out)))))))(, (,))(NP (PRP (they)))(ADVP (RB (almost))(RB (just)))(VP (VB (refuse))(S (VP (TO (to))(VP (VB (provide))(NP (NN (service)))))))(. (.))(elaboration=>Nucleus (staff)))) |ET| 
-0.89511293304666950110259904249688  |BT| (ROOT (PRN (ADVP (RB (However)))(, (,))(SBAR (IN (once))(S (NP (PRP (we)))(VP (VBD (arrived))(SBAR (S (NP (NP (DT (the))(JJ (unfriendly))(NN (clerk)))(PP (IN (behind))(NP (DT (the))(NN (counter)))))(VP (VBD (notified))(NP (PRP (us)))(SBAR (IN (that))(S (NP (PRP (we)))(VP (VBD (did))(RB (not))(VP (VB (have))(NP (DT (a))(NN (reservation))(contrast=>Nucleus (husband))))))))))))))) |ET| 
-0.30950151592697006108778623456601  |BT| (ROOT (PRN (ADVP (RB (However)))(same-unit=>Nucleus (,))(SBAR (IN (once))(S (NP (PRP (we)))(VP (VBD (arrived))(SBAR (S (NP (NP (DT (the))(JJ (unfriendly))(NN (clerk)))(PP (IN (behind))(NP (DT (the))(NN (counter)))))(VP (VBD (notified))(NP (PRP (us)))(SBAR (IN (that))(S (NP (PRP (we)))(VP (VBD (did))(RB (not))(VP (VB (have))(NP (DT (a))(NN (reservation))(same-unit=>Nucleus (,))))))))))))))) |ET| 
--1  |BT| (ROOT (S (S (VP (VBN (Told))(elaboration=>Nucleus (NP (DT (the))(JJ (front))(NN (desk)))(SBAR (IN (that))(elaboration=>Nucleus (S (NP (PRP (I)))(VP (VBP (hadnt))(VP (VBN (realized))(PP (IN (about))(NP (DT (the))(NN (construction)))))))(, (,))(RB (so))(background=>Nucleus (NP (NN (Id)))(VP (VBP (have))(S (VP (TO (to))(VP (VB (switch))(NP (NNS (hotels)))))))))))))(, (,))(NP (PRP (they)))(attribution=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (VBD (were))(ADVP (RB (still)))(VP (VBG (going))(S (VP (TO (to))(VP (VB (charge))(NP (PRP (me)))(PP (IN (for))(NP (CD (3))(NNS (nights))))))))))))(. (.))(attribution=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (VBD (were))(ADVP (RB (still)))(VP (VBG (going))(S (VP (TO (to))(VP (VB (charge))(NP (PRP (me)))(PP (IN (for))(NP (CD (3))(NNS (nights)))))))))))))) |ET| 
--0.76237417590797629252108436048729  |BT| (ROOT (S (S (NP (PRP (I)))(VP (VBP (understand))(SBAR (IN (that))(S (NP (DT (these))(NN (parking))(NNS (services)))(VP (VBP (are))(VP (VBN (sub-contracted))(PP (IN (by))(NP (DT (the))(NN (hotel))))))))))(, (,))(CC (but))(S (NP (PRP (I)))(VP (MD (would))(VP (VB (think))(SBAR (IN (that))(S (NP (DT (any))(JJ (worthy))(NN (hotel)))(VP (MD (would))(VP (VB (remedy))(NP (DT (the))(NN (situation))))))))))(. (.))(elaboration=>Nucleus (vehicle)))) |ET| 
--1  |BT| (ROOT (S (NP (DT (The))(JJ (whole))(NN (problem)))(VP (MD (could))(VP (VB (have))(VP (VBN (been))(VP (VBN (avoided))(SBAR (IN (if))(S (NP (PRP (they)))(VP (MD (would))(VP (VP (VB (have))(VP (VBN (told))(S (NP (PRP (us)))(NP (DT (the))(NN (truth))(explanation=>Nucleus (a))))))(CC (and))(VP (VB (let))(S (NP (PRP (us)))(VP (VB (decide))(SBAR (IN (if))(S (NP (PRP (we)))(ADVP (RB (still)))(VP (VBD (were))(ADJP (JJ (willing))(S (VP (TO (to))(VP (VB (stay))(PP (IN (at))(NP (DT (the))(NNP (Omni))(explanation=>Nucleus (a)))))))))))))))))))))))) |ET| 
--0.5735626208790722824204522112268  |BT| (ROOT (S (S (NP (PRP (I)))(VP (VBP (understand))(SBAR (IN (that))(S (NP (DT (these))(NN (parking))(NNS (services)))(VP (VBP (are))(VP (VBN (sub-contracted))(PP (IN (by))(NP (DT (the))(NN (hotel))))))))))(, (,))(CC (but))(S (NP (PRP (I)))(VP (MD (would))(VP (VB (think))(SBAR (IN (that))(S (NP (DT (any))(JJ (worthy))(NN (hotel)))(VP (MD (would))(VP (VB (remedy))(NP (DT (the))(NN (situation))))))))))(. (.))(elaboration=>Nucleus (PRP$ (our))(NN (stay))))) |ET| 
-2  |BT| (ROOT (S (NP (DT (The))(NN (staff)))(VP (VBD (was))(ADJP (JJ (horrible))))(. (.))(elaboration=>Nucleus (husband)))) |ET| 
-1.908798398423783293509359282325  |BT| (ROOT (S (NP (DT (The))(NN (bathroom)))(VP (VBD (smelled))(ADJP (JJ (musty))))(. (.))(elaboration=>Nucleus (RB (recently))))) |ET| 
--0.49784241541487378457375712059729  |BT| (ROOT (S (NP (RB (Even))(DT (the))(NN (concierge)))(VP (VBD (was))(ADJP (JJ (disinterested))))(. (.))(elaboration=>Nucleus (IN (in))(NP (PRP$ (my))(NN (room)))))) |ET| 
--0.21997699489018698870701484793244  |BT| (ROOT (S (NP (DT (The))(NN (room)))(VP (VBD (was))(ADJP (JJ (horrible))))(. (.))(elaboration=>Nucleus (location)))) |ET| 
-0.47688721611368850572532096521172  |BT| (ROOT (S (NP (DT (The))(NNS (maids)))(VP (VBD (seemed))(S (VP (TO (to))(VP (VB (come))(CC (and))(VB (go))(SBAR (IN (with))(S (NP (DT (no))(JJ (intercommunicative))(NNS (qualities)))(ADVP (RB (just)))(VP (VB (knock))(VP (VB (knock))(VP (VB (knock))))))))))))(elaboration=>Nucleus (Regency))) |ET| 
--0.089220328803269688400234826985979  |BT| (ROOT (S (NP (PRP (They)))(elaboration=>Nucleus (VBD (learned))(PP (IN (after))(NP (DT (the))(NN (fact))))(SBAR (IN (that))(S (NP (NP (DT (all))(NNS (rooms)))(PP (IN (with))(NP (CD (two))(NNS (beds)))))(VP (VBP (have))(NP (DT (no))(NN (bath))(NN (tub)))(PP (RB (only))(NP (DT (a))(NN (shower))(elaboration=>Nucleus (VBD (learned))(PP (IN (after))(NP (DT (the))(NN (fact))))(SBAR (IN (that))(S (NP (NP (DT (all))(NNS (rooms)))(PP (IN (with))(NP (CD (two))(NNS (beds)))))(VP (VBP (have))(NP (DT (no))(NN (bath))(NN (tub)))(PP (RB (only))(NP (DT (a))(NN (shower)))))))))))))))) |ET| 
-0.3048156956062814670893601487478  |BT| (ROOT (FRAG (S (S (S (NP (DT (The))(contrast=>Nucleus (room))(NN (service)))(VP (VBD (was))(ADJP (RB (very))(JJ (slow)))))(CC (and))(S (NP (DT (the))(NN (cleaning))(NN (crew)))(VP (VBD (did))(RB (not))(VP (VB (replace))(NP (PRP$ (my))(NN (soap))(contrast=>Nucleus (room)))))))(, (,))(CC (but))(S (NP (PRP (I)))(VP (VBD (did))(SBAR (S (S (VP (VB (notice))(NP (NP (DT (the))(NNS (contents)))(PP (IN (of))(NP (DT (the))(NN (minibar)))))))(VP (VBD (diminished))(NP (DT (every))(NN (time)))(SBAR (S (NP (DT (the))(NN (maid))(NN (service)))(VP (VBD (had))(VP (VBN (been))(PP (IN (in))(NP (PRP$ (my))(NN (room))(contrast=>Nucleus (room)))))))))))))))) |ET| 
-0.54806784789078555331087727608974  |BT| (ROOT (S (SBAR (WHADVP (WRB (When)))(temporal=>Nucleus (NP (PRP (we)))(VP (VBD (arrived))(SBAR (S (NP (PRP$ (our))(NN (reservation)))(VP (VBD (was))(VP (VBN (lost)))))))))(, (,))(NP (NP (RB (then)))(elaboration=>Nucleus (S (NP (PRP (it)))(VP (VBD (took))(ADVP (RB (forever)))(PP (IN (for))(NP (DT (the))(NN (concierge))(elaboration=>Nucleus (S (NP (PRP (it)))(VP (VBD (took))(ADVP (RB (forever)))(PP (IN (for))(NP (DT (the))(NN (concierge))))(S (VP (TO (to))(VP (VB (tell))(NP (PRP (us)))(NP (NP (DT (the))(NN (room)))(SBAR (S (NP (PRP (we)))(VP (VBD (were))(VP (ADVP (RB (instead)))(VBN (given)))))))))))))))(S (VP (TO (to))(VP (VB (tell))(NP (PRP (us)))(NP (NP (DT (the))(NN (room))(elaboration=>Nucleus (S (NP (PRP (it)))(VP (VBD (took))(ADVP (RB (forever)))(PP (IN (for))(NP (DT (the))(NN (concierge))))(S (VP (TO (to))(VP (VB (tell))(NP (PRP (us)))(NP (NP (DT (the))(NN (room)))(SBAR (S (NP (PRP (we)))(VP (VBD (were))(VP (ADVP (RB (instead)))(VBN (gi
 ven))))))))))))))(SBAR (S (NP (PRP (we)))(VP (VBD (were))(VP (ADVP (RB (instead)))(VBN (given))))))))))))))(VP (VBD (was))(ADJP (JJ (available)))))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (We)))(VP (VBD (called))(SBAR (S (NP (NP (DT (the))(JJ (front))(NN (desk)))(CC (and))(NP (PRP (it))))(VP (VBD (took))(NP (NP (QP (RB (almost))(CD (40)))(NNS (minutes)))(PP (IN (for))(NP (NN (someone)))))(S (VP (TO (to))(VP (VB (walk))(PP (IN (over))(PP (TO (to))(NP (PRP$ (our))(NP (NP (NN (room)))(-LRB- (-LRB-))(NP (NP (PRP (we)))(NP (PRP (we))))))))))))))))(elaboration=>Nucleus (husband))) |ET| 
--1  |BT| (ROOT (SBAR (WHADVP (WRB (When)))(S (NP (PRP (we)))(VP (VBD (arrived))(SBAR (S (NP (PRP (they)))(VP (VP (MD (could))(RB (not))(VP (VB (accommodate))(NP (PRP (us)))))(CC (and))(VP (VBD (offered))(NP (NN (nothing)))(PP (TO (to))(NP (PRP (us))))(S (VP (TO (to))(VP (VB (make))(PRT (RP (up)))(PP (IN (for))(NP (PRP (it)))(elaboration=>Nucleus (RB (recently))))))))))))))) |ET| 
--0.75765126072744348739718134311261  |BT| (ROOT (S (NP (PRP (We)))(VP (VBD (called))(SBAR (S (NP (NP (DT (the))(JJ (front))(NN (desk)))(CC (and))(NP (PRP (it))))(VP (VBD (took))(NP (NP (QP (RB (almost))(CD (40)))(NNS (minutes)))(PP (IN (for))(NP (NN (someone)))))(S (VP (TO (to))(VP (VB (walk))(PP (IN (over))(PP (TO (to))(NP (PRP$ (our))(NP (NP (NN (room)))(-LRB- (-LRB-))(NP (NP (PRP (we)))(NP (PRP (we))))))))))))))))) |ET| 
-1.9675075415577680804091187383165  |BT| (ROOT (S (NP (DT (The))(NN (food)))(VP (VBD (was))(ADJP (JJ (unhealthy))(CC (and))(JJ (unsatisfactory))))(. (.))(elaboration=>Nucleus (IN (of))(NP (NP (DT (all)))(, (,))(NP (DT (the))(JJ (continental))(NN (breakfast))))))) |ET| 
-2  |BT| (ROOT (S (NP (DT (The))(NN (room)))(VP (VP (VBD (was))(ADJP (JJ (small))))(CC (and))(PRN (, (,))(ADVP (RB (frankly)))(, (,)))(VP (VBN (outdated))))(. (.))(elaboration=>Nucleus (expectations)))) |ET| 
--0.99599286372503714748205538853654  |BT| (ROOT (S (NP (DT (The))(NN (room)))(VP (VBD (was))(ADJP (JJ (horrible))))(. (.))(elaboration=>Nucleus (location)))) |ET| 
--1  |BT| (ROOT (S (NP (DT (The))(NN (shower)))(VP (VBD (was))(PP (IN (in))(NP (ADJP (RB (really))(JJ (bad)))(NN (shape)))))(. (.))(elaboration=>Nucleus (bathroom)))) |ET| 
--1  |BT| (ROOT (S (NP (DT (The))(NN (staff)))(VP (VBZ (seems))(UCP (VP (VBN (hurried)))(CC (and))(ADJP (JJ (unhelpful)))))(. (.))(elaboration=>Nucleus (VBD (were))(VP (VBN (disappointed))(PP (IN (with))(NP (DT (this))(NN (hotel)))))))) |ET| 
-0.91975243210412915839668812623131  |BT| (ROOT (S (NP (PRP (I)))(elaboration=>Nucleus (VBD (called))(PP (IN (for))(NP (DT (some))(JJ (new))(NNS (sheets))))(SBAR (WHNP (WDT (which)))(S (NP (PRP (they)))(VP (VBD (said))(SBAR (S (S (NP (PRP (they)))(VP (MD (would))(VP (VB (send))(ADVP (RB (right))(RB (up))))))(CC (but))(S (NP (PRP (it)))(ADVP (RB (actually)))(VP (VBD (took))(NP (RB (nearly))(CD (30))(NN (minu))(elaboration=>Nucleus (VBD (called))(PP (IN (for))(NP (DT (some))(JJ (new))(NNS (sheets))))(SBAR (WHNP (WDT (which)))(S (NP (PRP (they)))(VP (VBD (said))(SBAR (S (S (NP (PRP (they)))(VP (MD (would))(VP (VB (send))(ADVP (RB (right))(RB (up))))))(CC (but))(S (NP (PRP (it)))(ADVP (RB (actually)))(VP (VBD (took))(NP (RB (nearly))(CD (30))(NN (minu)))))))))))))))))))))) |ET| 
-0.11031271799104518105405503547445  |BT| (ROOT (S (ADVP (RB (Finally)))(NP (PRP (I)))(VP (VBP (get))(PP (TO (to))(NP (PRP$ (my))(NN (room))(S (VP (TO (to))(VP (VB (try))(CC (and))(VB (relax))))))))(. (.))(temporal=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (MD (would))(VP (VP (VB (take))(NP (NP (NN (care)))(PP (IN (of))(NP (PRP (it))))))(CC (and))(VP (VB (get))(NP (PRP (me)))(ADVP (NP (DT (a))(NN (room)))(RB (right))(RB (away))))))))))) |ET| 
-1.9961845939133302518797563607222  |BT| (ROOT (S (NP (PRP (They)))(attribution=>Nucleus (VBP (mention))(SBAR (IN (that))(S (NP (PRP (they)))(VP (VBP (are))(ADJP (NP (JJ (pet)))(JJ (friendly)))))))(. (.))(attribution=>Nucleus (VBP (mention))(SBAR (IN (that))(S (NP (PRP (they)))(VP (VBP (are))(ADJP (NP (JJ (pet)))(JJ (friendly))))))))) |ET| 
--0.61760897316319063321543580968864  |BT| (ROOT (S (NP (PRP (I)))(elaboration=>Nucleus (VBD (informed))(NP (NP (DT (the))(JJ (front))(NN (desk)))(SBAR (WHNP (WP (who)))(S (VP (VP (VBD (made))(NP (NNS (apologies))))(CC (and))(attribution=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (MD (would))(VP (VB (take))(NP (NP (NN (care)))(PP (IN (of))(NP (PRP (it)))))(ADVP (RB (immediately)))(attribution=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (MD (would))(VP (VB (take))(NP (NP (NN (care)))(PP (IN (of))(NP (PRP (it)))))(ADVP (RB (immediately)))))))))))))))))))) |ET| 
--1  |BT| (ROOT (S (S (NP (PRP (They)))(attribution=>Nucleus (VBD (admitted))(SBAR (S (NP (PRP (it)))(VP (VBD (was))(NP (PRP$ (their))(NN (fault))))))))(, (,))(CC (and))(S (ADVP (RB (now)))(NP (PRP (they)))(VP (MD (wo))(RB (n't))(VP (VB (pay))(NP (DT (the))($ ($))(CD (500)))(S (VP (TO (to))(VP (VB (fix))(NP (PRP (it)))(SBAR (IN (because))(S (NP (PRP (we)))(VP (MD (ca))(RB (n't))(VP (VB (prove))(SBAR (S (NP (PRP (it)))(VP (VBD (was))(RB (not))(VP (VBN (broken))(PP (IN (before))(NP (CD (!!!))))))))))))))))))(attribution=>Nucleus (VBD (admitted))(SBAR (S (NP (PRP (it)))(VP (VBD (was))(NP (PRP$ (their))(NN (fault))))))))) |ET| 
-1.9383865235508224156291134931962  |BT| (ROOT (S (NP (DT (The))(NN (pool)))(VP (VBD (was))(PP (IN (in))(NP (JJ (bad))(NN (shape)))))(. (.))(elaboration=>Nucleus (Regency)))) |ET| 
-1.8632708764277996493774480768479  |BT| (ROOT (S (NP (DT (The))(NN (room)))(ADVP (PRP (itself)))(VP (VBD (was))(NP (DT (a))(NN (nightmare))))(. (.))(elaboration=>Nucleus (front)))) |ET| 
--1  |BT| (ROOT (S (NP (DT (The))(NN (shower)))(VP (VBD (was))(PP (IN (in))(NP (ADJP (RB (really))(JJ (bad)))(NN (shape)))))(. (.))(elaboration=>Nucleus (bathroom)))) |ET| 
--0.80547773731426552945578123399173  |BT| (ROOT (S (NP (NP (DT (The))(NN (sound)))(PP (IN (from))(NP (DT (both))(NNS (rooms)))))(VP (VBD (came))(PP (IN (in))(ADJP (JJ (loud))(CC (and))(JJ (clear)))))(. (.))(elaboration=>Nucleus (NP (DT (the))(NN (price)))(, (,))(ADVP (RB (though)))))) |ET| 
--1  |BT| (ROOT (S (NP (DT (The))(NN (receptionist)))(VP (VP (VBD (was))(ADJP (NP (JJ (outright)))(JJ (rude))))(, (,))(CC (but))(VP (VBD (took))(NP (DT (the))(NN (reservation)))(PP (IN (without))(NP (DT (a))(NN (mistake))))))(. (.))(elaboration=>Nucleus (first)))) |ET| 
-0.15752225026716054623321383587609  |BT| (ROOT (S (S (NP (PRP (I)))(elaboration=>Nucleus (VBD (talked))(PP (TO (to))(NP (DT (the))(NN (manager))))))(CC (and))(attribution=>Nucleus (NP (PRP (he)))(VP (VBD (said))(SBAR (S (NP (PRP (we)))(VP (VBD (cant))(S (NP (NN (use)))(NP (PRP (it))))(PP (IN (on))(NP (PRP$ (our))(JJ (next))(NN (visit)))))))))(. (.))(attribution=>Nucleus (NP (PRP (he)))(VP (VBD (said))(SBAR (S (NP (PRP (we)))(VP (VBD (cant))(S (NP (NN (use)))(NP (PRP (it))))(PP (IN (on))(NP (PRP$ (our))(JJ (next))(NN (visit))))))))))) |ET| 
-0.68447776468963461571348716461216  |BT| (ROOT (S (NP (DT (The))(joint=>Nucleus (food)))(VP (VBD (took))(ADVP (RB (forever)))(SBAR (SBAR (S (VP (TO (to))(VP (VB (arrive))))))(CC (and))(attribution=>Nucleus (WHADVP (WRB (when)))(S (NP (PRP (it)))(VP (VBD (did))(SBAR (S (NP (PRP (it)))(VP (VBD (was))(ADJP (JJ (cold))(CC (and))(JJ (unappetizing)))))))))))(. (.))(attribution=>Nucleus (WHADVP (WRB (when)))(S (NP (PRP (it)))(VP (VBD (did))(SBAR (S (NP (PRP (it)))(VP (VBD (was))(ADJP (JJ (cold))(CC (and))(JJ (unappetizing))))))))))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (I)))(elaboration=>Nucleus (VBD (informed))(NP (NP (DT (the))(JJ (front))(NN (desk)))(SBAR (WHNP (WP (who)))(S (VP (VP (VBD (made))(NP (NNS (apologies))))(CC (and))(attribution=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (MD (would))(VP (VB (take))(NP (NP (NN (care)))(PP (IN (of))(NP (PRP (it)))))(ADVP (RB (immediately)))(attribution=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (MD (would))(VP (VB (take))(NP (NP (NN (care)))(PP (IN (of))(NP (PRP (it)))))(ADVP (RB (immediately)))))))))))))))))))) |ET| 
-0.14364662637560060565178332581127  |BT| (ROOT (S (S (ADVP (RB (Supposedly)))(NP (PRP (they)))(VP (VBD (had))(NP (NNS (planners))(S (VP (TO (to))(VP (VB (help))(VP (VB (explore))(NP (DT (the))(NN (area))))))))))(, (,))(CC (but))(S (NP (PRP (we)))(VP (VP (VBD (requested))(NP (CD (one))))(CC (and))(VP (ADVP (RB (never)))(VBD (saw))(S (VP (VB (hide))(NP (NP (CC (nor))(NN (hair)))(PP (IN (of))(NP (DT (a))(NN (planner))))))))))(. (.))(elaboration=>Nucleus (,)))) |ET| 
--1  |BT| (ROOT (S (SBAR (WHADVP (WRB (When)))(S (NP (PRP (I)))(ADVP (RB (finally)))(VP (VBD (did))(VP (VB (get))(S (VP (TO (to))(VP (VB (speak))(PP (TO (to))(NP (NN (someone))))(, (,))(SBAR (IN (as))(S (NP (PRP (I)))(VP (VBD (was))(VP (VBG (going))(PP (IN (through))(NP (PRP$ (my))(NNS (changes)))))))))))))))(, (,))(NP (PRP (I)))(VP (VBD (asked))(S (NP (PRP (her)))(VP (TO (to))(VP (VB (send))(NP (PRP (me)))(NP (NP (DT (a))(VBN (revised))(NN (copy)))(PP (IN (of))(NP (DT (the))(NN (reservation))))(SBAR (WHPP (TO (to))(WHNP (WDT (which))))(S (NP (PRP (she)))(VP (VP (VBD (huffed)))(CC (and))(VP (VBD (acted))(ADJP (RB (very))(SBAR (S (VP (VBN (put))(PRT (RP (off)))(elaboration=>Nucleus (NP (PRP (I)))(VP (VBD (called))(S (VP (TO (to))(VP (VB (edit))(NP (PRP$ (my))(VBG (existing))(NN (reservation))))))))))))))))))))))) |ET| 
-1.64737100102929168166099316295  |BT| (ROOT (S (NP (DT (The))(NN (problem)))(VP (VBD (was))(PP (IN (with))(NP (NP (DT (all)))(PP (IN (of))(NP (NP (DT (the))(JJ (down))(NNS (pillows)))(NP (FW (etc.))))))))(. (.))(elaboration=>Nucleus (room)))) |ET| 
-1.9701786961213298976502983350656  |BT| (ROOT (S (NP (JJ (Hypoallergenic))(NNS (rooms)))(VP (VBP (are))(ADVP (RB (usually)))(VP (VBN (intended))(PP (IN (for))(NP (NP (DT (the))(NN (wellbeing)))(PP (IN (of))(NP (NP (RB (even))(DT (the))(JJS (worst))(NNS (cases)))(PP (IN (of))(NP (NN (allergen))(NNS (sufferers))))))))))(. (.))(elaboration=>Nucleus (Regency)))) |ET| 
--0.73215909137242574100667980019352  |BT| (ROOT (S (NP (NP (DT (The))(NN (sound)))(PP (IN (from))(NP (DT (both))(NNS (rooms)))))(VP (VBD (came))(PP (IN (in))(ADJP (JJ (loud))(CC (and))(JJ (clear)))))(. (.))(elaboration=>Nucleus (NP (DT (the))(NN (price)))(, (,))(ADVP (RB (though)))))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (I)))(joint=>Nucleus (VP (VBD (was))(PP (IN (in))(NP (NP (NNP (Chicago)))(PP (IN (for))(NP (DT (a))(NN (convention)))))))(CC (and))(VP (VBD (stayed))(PP (IN (at))(NP (DT (the))(NNP (Sheraton))(NNS (towers))))))(. (.))(joint=>Nucleus (VP (VBD (was))(PP (IN (in))(NP (NP (NNP (Chicago)))(PP (IN (for))(NP (DT (a))(NN (convention)))))))(CC (and))(VP (VBD (stayed))(PP (IN (at))(NP (DT (the))(NNP (Sheraton))(NNS (towers)))))))) |ET| 
--1  |BT| (ROOT (S (VP (VBD (Was))(NP (NP (CD (one)))(PP (IN (of))(NP (NP (DT (the))(JJS (worst))(NN (travel))(NNS (experiences)))(PP (IN (of))(NP (ADVP (RB (quite))(NP (DT (some))(NN (time))))(CD (1))))))))(. (.)))) |ET| 
-1.0231193223421650717597231050604  |BT| (ROOT (SBAR (WHADVP (WRB (When)))(S (NP (PRP (I)))(VP (VBD (asked))(S (VP (TO (to))(VP (VB (be))(VP (VBN (moved))(PP (TO (to))(NP (NP (DT (another))(NN (room)))(SBAR (S (NP (PRP$ (my))(NN (wife)))(VP (VBZ (has))(NP (NP (NN (asthma)))(SBAR (S (NP (PRP (we)))(VP (VBD (were))(ADVP (RB (politely)))(VP (VBN (told))(SBAR (IN (that))(S (NP (PRP (we)))(VP (VBD (were))(ADJP (JJ (unable))(S (VP (TO (to))(VP (VB (be))(VP (VBN (switched))(PP (IN (at))(NP (DT (that))(NN (time)))))))))))(elaboration=>Nucleus (wife))))))))))))))))))))) |ET| 
-0.51489194143486372023943431486259  |BT| (ROOT (S (S (NP (PRP$ (Our))(elaboration=>Nucleus (reservation)))(VP (VBD (was))(VP (VBN (lost))(PP (IN (in))(NP (DT (the))(NN (system)))))))(CC (and))(attribution=>Nucleus (NP (PRP (they)))(VP (VBD (seemed))(S (VP (TO (to))(VP (VB (think))(SBAR (S (NP (PRP (it)))(VP (VBD (was))(NP (NP (DT (a))(NN (strain)))(PP (IN (on))(NP (PRP$ (their))(NN (time))(S (VP (TO (to))(VP (VB (have))(S (VP (TO (to))(VP (VB (find))(NP (PRP (it))))))))))))))))))))(elaboration=>Nucleus (.))(attribution=>Nucleus (NP (PRP (they)))(VP (VBD (seemed))(S (VP (TO (to))(VP (VB (think))(SBAR (S (NP (PRP (it)))(VP (VBD (was))(NP (NP (DT (a))(NN (strain)))(PP (IN (on))(NP (PRP$ (their))(NN (time))(S (VP (TO (to))(VP (VB (have))(S (VP (TO (to))(VP (VB (find))(NP (PRP (it)))))))))))))))))))))) |ET| 
-1.6875884657124136101202793724951  |BT| (ROOT (SBAR (WHADVP (WRB (When)))(attribution=>Nucleus (NP (PRP (I)))(VP (VBD (asked))(S (VP (TO (to))(VP (VB (be))(VP (VBN (moved))(PP (TO (to))(NP (NP (DT (another))(NN (room)))(SBAR (S (NP (PRP$ (my))(NN (wife)))(VP (VBZ (has))(NP (NP (NN (asthma)))(SBAR (S (NP (PRP (we)))(VP (VBD (were))(ADVP (RB (politely)))(VP (VBN (told))(SBAR (IN (that))(S (NP (PRP (we)))(VP (VBD (were))(ADJP (JJ (unable))(S (VP (TO (to))(VP (VB (be))(VP (VBN (switched))(PP (IN (at))(NP (DT (that))(NN (time)))))))))))(attribution=>Nucleus (NP (PRP (I)))(VP (VBD (asked))(S (VP (TO (to))(VP (VB (be))(VP (VBN (moved))(PP (TO (to))(NP (NP (DT (another))(NN (room)))(SBAR (S (NP (PRP$ (my))(NN (wife)))(VP (VBZ (has))(NP (NP (NN (asthma)))(SBAR (S (NP (PRP (we)))(VP (VBD (were))(ADVP (RB (politely)))(VP (VBN (told))(SBAR (IN (that))(S (NP (PRP (we)))(VP (VBD (were))(ADJP (JJ (unable))(S (VP (TO (to))(VP (VB (be))(VP (VBN (switched))(PP (IN (at))(NP (DT (that))(NN (time)))))))
 )))))))))))))))))))))))))))))))))))))))) |ET| 
--0.45236400054303527173971133379382  |BT| (ROOT (SBAR (WHADVP (WRB (When)))(elaboration=>Nucleus (NP (PRP$ (my))(NN (wife)))(VP (VBD (wanted))(S (NP (DT (a))(NN (milk)))(VP (VB (shake))(SBAR (S (NP (PRP (we)))(VP (VBD (had))(S (VP (TO (to))(VP (VB (call))(NP (DT (the))(NN (Manager))(S (VP (TO (to))(VP (VB (have))(S (NP (PRP (it)))(VP (VBN (made))(SBAR (IN (since))(S (NP (DT (the))(NN (kitchen))(NN (staff)))(VP (VBD (said))(SBAR (S (NP (PRP (it)))(VP (VBD (wasnt))(NP (DT (a))(NN (choice))))))))))))))))(elaboration=>Nucleus (NP (PRP$ (my))(NN (wife)))(VP (VBD (wanted))(S (NP (DT (a))(NN (milk)))(VP (VB (shake))(SBAR (S (NP (PRP (we)))(VP (VBD (had))(S (VP (TO (to))(VP (VB (call))(NP (DT (the))(NN (Manager))(S (VP (TO (to))(VP (VB (have))(S (NP (PRP (it)))(VP (VBN (made))(SBAR (IN (since))(S (NP (DT (the))(NN (kitchen))(NN (staff)))(VP (VBD (said))(SBAR (S (NP (PRP (it)))(VP (VBD (wasnt))(NP (DT (a))(NN (choice)))))))))))))))))))))))))))))))))))) |ET| 
--0.60123276807273839938972059826483  |BT| (ROOT (SBAR (WHADVP (WRB (When)))(S (NP (PRP (we)))(VP (VBD (went))(S (VP (TO (to))(VP (VB (leave))(NP (DT (the)))(elaboration=>Nucleus (IN (of))(NP (NP (DT (all)))(, (,))(NP (NNP (Expedia.com)))))))))))) |ET| 
--1  |BT| (ROOT (S (NP (DT (The))(attribution=>Nucleus (carpet)))(VP (VBD (was))(ADVP (RB (so)))(VP (VBN (stained))(SBAR (S (NP (PRP (it)))(attribution=>Nucleus (VBD (looked))(SBAR (IN (like))(S (NP (PRP (it)))(VP (VBD (was))(S (VP (VB (suppose))(S (VP (TO (to))(VP (VB (be))(NP (DT (that))(NN (way))))))))))))))))(. (.))(attribution=>Nucleus (VBD (looked))(SBAR (IN (like))(S (NP (PRP (it)))(VP (VBD (was))(S (VP (VB (suppose))(S (VP (TO (to))(VP (VB (be))(NP (DT (that))(NN (way)))))))))))))) |ET| 
-0.31010466346520415559240291258902  |BT| (ROOT (S (NP (PRP (I)))(elaboration=>Nucleus (VBD (stayed))(PP (IN (at))(NP (NP (DT (the))(NNP (Sofitel))(NNP (Chicago))(NNP (Water))(NNP (Tower))(NN (hotel)))(ADVP (NP (NP (DT (a))(NN (couple)))(PP (IN (of))(NP (NNS (weeks)))))(IN (ago)))))(PP (IN (while))(IN (in))(NP (NP (NNP (Chicago)))(PP (IN (for))(NP (CD (3))(NNS (nights)))))))(. (.)))) |ET| 
-0.79613889854572283955036482439027  |BT| (ROOT (S (NP (PRP$ (My))(NN (family)))(VP (VBD (stayed))(PP (IN (at))(NP (NP (DT (the))(NNP (Hotel))(NNP (Monaco))(NNP (Hotel)))(PP (IN (in))(NP (NNP (Chicago))))))(PP (IN (from))(NP (CD (25))))(NP (NNP (September))(CD (2011))))(. (.)))) |ET| 
-2  |BT| (ROOT (S (NP (PRP (I)))(VP (VBD (stayed))(NP (DT (this))(NN (hotel)))(PP (IN (for))(NP (CD (2))(NNS (nights)))))(. (.)))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (I)))(joint=>Nucleus (VP (VBD (was))(PP (IN (in))(NP (NP (NNP (Chicago)))(PP (IN (for))(NP (DT (a))(NN (convention)))))))(CC (and))(VP (VBD (stayed))(PP (IN (at))(NP (DT (the))(NNP (Sheraton))(NNS (towers))))))(. (.))(joint=>Nucleus (VP (VBD (was))(PP (IN (in))(NP (NP (NNP (Chicago)))(PP (IN (for))(NP (DT (a))(NN (convention)))))))(CC (and))(VP (VBD (stayed))(PP (IN (at))(NP (DT (the))(NNP (Sheraton))(NNS (towers)))))))) |ET| 
--0.28359775089024763516931670892518  |BT| (ROOT (S (NP (NP (PRP$ (My))(elaboration=>Nucleus (family)))(CC (and))(NP (PRP (I))))(VP (VBD (stayed))(PP (IN (at))(NP (DT (the))(NNP (Hyatt))))(PP (IN (on))(NP (NP (NNP (Wacker))(NNP (Dr.)))(PP (IN (on))(NP (NNP (March))(CD (27))(, (,))(CD (2012)))))))(. (.)))) |ET| 
--1  |BT| (ROOT (S (NP (NP (PRP$ (My))(NN (family)))(CC (and))(NP (PRP (I))))(VP (VBD (stayed))(PP (IN (at))(NP (DT (the))(NNP (Hyatt))))(PP (IN (on))(NP (NP (NNP (Wacker))(NNP (Dr.)))(PP (IN (on))(NP (NNP (March))(CD (27))(, (,))(CD (2012)))))))(. (.)))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (I)))(VP (MD (could))(RB (not))(VP (VB (have))(VP (VBN (expected))(S (ADJP (JJR (worse)))))))(. (.))(elaboration=>Nucleus (VBD (were))(PP (IN (at))(NP (NP (DT (the))(NNP (Hotel))(NNP (Allegro)))(PP (IN (for))(NP (DT (an))(NN (Industry))(NN (Analyst))(NN (event))))))))) |ET| 
-1.4725909182119731877236290529254  |BT| (ROOT (S (NP (NN (Everything)))(background=>Nucleus (VBD (was))(ADJP (JJ (nice)))(SBAR (IN (until))(S (NP (PRP (I)))(VP (VBD (decided))(S (VP (TO (to))(VP (VB (take))(NP (DT (a))(NN (shower))))))))))(. (.))(background=>Nucleus (VBD (was))(ADJP (JJ (nice)))(SBAR (IN (until))(S (NP (PRP (I)))(VP (VBD (decided))(S (VP (TO (to))(VP (VB (take))(NP (DT (a))(NN (shower)))))))))))) |ET| 
-0.58506041855710888555108795117121  |BT| (ROOT (S (NP (NP (DT (The))(same-unit=>Nucleus (first))(NN (tip)))(PP (IN (off))(SBAR (IN (that))(S (NP (DT (this)))(VP (MD (would))(VP (VB (be))(NP (DT (a))(JJ (bad))(NN (experience)))))))))(VP (VBZ (is))(SBAR (SBAR (WHADVP (WRB (when)))(S (NP (PRP (we)))(VP (VBD (had))(VP (VBN (called))(ADVP (RB (ahead)))(S (VP (TO (to))(VP (VB (make))(ADJP (JJ (sure))(SBAR (S (NP (PRP (it)))(VP (VBD (was))(ADJP (JJ (OK))(S (VP (TO (to))(VP (VB (check))(PP (IN (in))(PP (IN (after))(NP (NNS (hours))))))))))))))))))))(CC (and))(SBAR (IN (that))(S (NP (DT (a))(NN (concierge)))(VP (MD (would))(VP (VB (be))(ADJP (JJ (available)))(SBAR (WHADVP (WRB (when)))(S (NP (PRP (we)))(VP (VBD (arrived))(ADVP (RB (only)))(S (VP (TO (to))(VP (VB (find))(PRT (RP (out)))(SBAR (IN (that))(S (NP (PRP (they)))(VP (VBP (didnt))(RB (even))(VP (VB (have))(NP (NP (DT (a))(NN (record)))(PP (IN (of))(NP (PRP$ (our))(NN (reservation)))))))))))))))))))))(. (.))(same-unit=>Nucleus (first)
 ))) |ET| 
--1  |BT| (ROOT (SBAR (WHADVP (WRB (When)))(S (NP (PRP (we)))(VP (VBD (went))(S (VP (TO (to))(VP (VB (leave))(NP (DT (the)))(elaboration=>Nucleus (IN (of))(NP (NP (DT (all)))(, (,))(NP (NNP (Expedia.com)))))))))))) |ET| 
--0.66075571037482738745438837213442  |BT| (ROOT (S (NP (PRP (they)))(comparison=>Nucleus (VBD (gave))(NP (PRP (us)))(NP (NP (DT (a))(NN (room)))(ADJP (RB (much))(JJR (smaller))))(SBAR (SBAR (IN (than))(joint=>Nucleus (NP (PRP (we)))(VP (VBD (needed)))))(CC (and))(SBAR (WHADVP (WRB (when)))(S (NP (PRP (we)))(VP (VBD (requested))(NP (NN (something)))(S (ADJP (JJ (diffrerent)))(SBAR (S (NP (PRP (they)))(VP (VBD (were))(ADJP (JJ (unable))(S (VP (TO (to))(VP (VB (fulfill))(NP (PRP$ (our))(NN (request))))))))))))))))(. (.))(elaboration=>Nucleus (hotel)))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (they)))(VP (VBD (gave))(NP (PRP (us)))(NP (NP (DT (a))(NN (room)))(ADJP (RB (much))(JJR (smaller))))(SBAR (SBAR (IN (than))(S (NP (PRP (we)))(VP (VBD (needed)))))(CC (and))(SBAR (WHADVP (WRB (when)))(S (NP (PRP (we)))(VP (VBD (requested))(NP (NN (something)))(S (ADJP (JJ (diffrerent)))(SBAR (S (NP (PRP (they)))(VP (VBD (were))(ADJP (JJ (unable))(S (VP (TO (to))(VP (VB (fulfill))(NP (PRP$ (our))(NN (request))))))))))))))))(. (.))(elaboration=>Nucleus (hotel)))) |ET| 
--0.68445506084084339892825710194302  |BT| (ROOT (S (NP (PRP (they)))(comparison=>Nucleus (VBD (gave))(NP (PRP (us)))(NP (NP (DT (a))(NN (room)))(ADJP (RB (much))(JJR (smaller))))(SBAR (SBAR (IN (than))(S (NP (PRP (we)))(VP (VBD (needed)))))(CC (and))(SBAR (WHADVP (WRB (when)))(S (NP (PRP (we)))(VP (VBD (requested))(NP (NN (something)))(S (ADJP (JJ (diffrerent)))(SBAR (S (NP (PRP (they)))(VP (VBD (were))(ADJP (JJ (unable))(S (VP (TO (to))(VP (VB (fulfill))(NP (PRP$ (our))(NN (request))))))))))))))))(. (.))(comparison=>Nucleus (VBD (gave))(NP (PRP (us)))(NP (NP (DT (a))(NN (room)))(ADJP (RB (much))(JJR (smaller))))(SBAR (SBAR (IN (than))(S (NP (PRP (we)))(VP (VBD (needed)))))(CC (and))(SBAR (WHADVP (WRB (when)))(S (NP (PRP (we)))(VP (VBD (requested))(NP (NN (something)))(S (ADJP (JJ (diffrerent)))(SBAR (S (NP (PRP (they)))(VP (VBD (were))(ADJP (JJ (unable))(S (VP (TO (to))(VP (VB (fulfill))(NP (PRP$ (our))(NN (request)))))))))))))))))) |ET| 
-2  |BT| (ROOT (FRAG (PP (IN (In))(NP (NP (DT (the))(NN (carpet)))(CC (and))(NP (NP (RB (even))(DT (an))(NN (amount)))(PP (IN (on))(NP (DT (the))(NN (bed))(NN (cover)))))))(. (.))(elaboration=>Nucleus (PRP (we))))) |ET| 
-0.58471180128461719416321784592583  |BT| (ROOT (S (NP (NP (DT (The))(same-unit=>Nucleus (Hotel))(NNP (Allegro)))(ADJP (JJ (located))(PP (IN (in))(NP (DT (the))(NNP (Chicago))(NNP (Loop))))))(, (,))(VP (VP (VBD (provided))(NP (PRP$ (my))(NN (wife))))(CC (and))(VP (NP (PRP (I)))(PP (IN (with))(NP (NP (CD (one)))(PP (IN (of))(NP (NP (DT (the))(JJS (worst))(NN (hotel))(NNS (experiences)))(PP (IN (in))(NP (JJ (recent))(NN (memory))))))))))(. (.))(same-unit=>Nucleus (Hotel)))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (We)))(elaboration=>Nucleus (ADVP (RB (also)))(VBD (heard))(PP (IN (from))(NP (NP (JJ (several))(NNS (employees)))(PP (IN (from))(NP (DT (the))(NN (cleaning))(NN (staff))(elaboration=>Nucleus (ADVP (RB (also)))(VBD (heard))(PP (IN (from))(NP (NP (JJ (several))(NNS (employees)))(PP (IN (from))(NP (DT (the))(NN (cleaning))(NN (staff))))))(SBAR (IN (that))(S (NP (DT (this)))(VP (VBZ (is))(ADJP (JJ (common))(PP (IN (in))(NP (DT (the))(NN (hotel)))))))))))))(SBAR (IN (that))(S (NP (DT (this)))(VP (VBZ (is))(ADJP (JJ (common))(PP (IN (in))(NP (DT (the))(NN (hotel))(elaboration=>Nucleus (ADVP (RB (also)))(VBD (heard))(PP (IN (from))(NP (NP (JJ (several))(NNS (employees)))(PP (IN (from))(NP (DT (the))(NN (cleaning))(NN (staff))))))(SBAR (IN (that))(S (NP (DT (this)))(VP (VBZ (is))(ADJP (JJ (common))(PP (IN (in))(NP (DT (the))(NN (hotel)))))))))))))))))) |ET| 
--1  |BT| (ROOT (S (NP (NP (DT (All)))(PP (IN (in))(NP (NP (DT (all)))(SBAR (RB (not))(WHNP (WP (what)))(S (VP (VBD (youd))))))))(VP (VBP (expect))(PP (IN (from))(NP (NP (DT (a))(NN (hotel)))(PP (IN (in))(NP (DT (that))(NN (area))(elaboration=>Nucleus (VBD (was))(PP (TO (to))(ADJP (JJ (soft)))))))))))) |ET| 
-1.3544750926028932269673532573506  |BT| (ROOT (S (NP (PRP (He)))(attribution=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (VBP (didnt))(VP (VB (have))(S (NP (DT (any))(NNS (rooms)))(ADJP (JJ (available)))(SBAR (IN (because))(S (NP (PRP (we)))(VP (VBP (didnt))(VP (VB (make))(NP (NNS (arrangements)))))))(attribution=>Nucleus (VBD (said))(SBAR (S (NP (PRP (they)))(VP (VBP (didnt))(VP (VB (have))(S (NP (DT (any))(NNS (rooms)))(ADJP (JJ (available)))(SBAR (IN (because))(S (NP (PRP (we)))(VP (VBP (didnt))(VP (VB (make))(NP (NNS (arrangements))))))))))))))))))))) |ET| 
--0.006173004749697480475489896889485  |BT| (ROOT (S (S (NP (DT (The))(contrast=>Nucleus (rooms)))(VP (VBP (are))(ADJP (RB (very))(SBAR (S (UCP (VP (, (,))(S (VP (ADVP (RB (very))(RB (well)))(VBN (appointed)))))(, (,))(CC (but))(ADJP (RB (not))(JJ (large)))))))))(, (,))(CC (and))(S (NP (NP (DT (the))(NN (quality)))(PP (IN (of))(NP (DT (the))(NNS (materials)))))(VP (VBZ (is))(ADJP (JJ (wonderful))(PP (IN (without))(NP (NN (exception)))))))(. (.))(contrast=>Nucleus (rooms)))) |ET| 
--0.5565781296901106678376436320832  |BT| (ROOT (S (NP (PRP (I)))(attribution=>Nucleus (VBP (didnt))(VP (VB (bother))(S (VP (TO (to))(VP (VB (file))(SBAR (S (NP (DT (a))(attribution=>Nucleus (formal)))(VP (VBP (complain))(SBAR (IN (because))(S (NP (PRP (I)))(VP (VBD (was))(NP (RB (very))(NN (tire))))))))))))))(. (.))(attribution=>Nucleus (formal)))) |ET| 
--0.20464533297533316069660713765188  |BT| (ROOT (S (S (VP (VP (VBN (Requested))(joint=>Nucleus (DT (a))(NN (linen))(NN (change))))(CC (and))(VP (VBD (heard))(NP (DT (a))(NP (VP (VB (knock)))(PP (IN (on))(NP (DT (the))(NN (door)))))(: (-))(NP (NP (DT (a))(NN (gentleman)))(SBAR (S (VP (VBD (was))(ADVP (RB (there)))(S (VP (TO (to))(VP (VB (let))(S (NP (PRP (me)))(VP (VB (know))(SBAR (IN (if))(S (NP (PRP (I)))(VP (VBD (wanted))(SBAR (S (NP (PRP (it)))(VP (VBN (done))(S (VP (TO (to))(VP (VB (take))(PRT (RP (off)))(NP (DT (the))(NN (privacy))(NN (sign)))))))))))))))))))))))))(, (,))(NP (PRP (I)))(VP (VP (VBD (did)))(CC (and))(VP (ADVP (NP (DT (no))(NN (one)))(RB (even)))(VBD (came))(PP (IN (until))(ADVP (RB (later))))(PP (IN (in))(NP (DT (the))(NN (day))))))(. (.))(joint=>Nucleus (DT (a))(NN (linen))(NN (change))))) |ET| 
-0.3195429218843439667097072742763  |BT| (ROOT (S (NP (PRP$ (Our))(NN (room)))(VP (VBD (reeked))(PP (IN (of))(NP (NN (smoke))))(SBAR (WHADVP (WRB (when)))(S (NP (PRP (we)))(ADVP (RB (first)))(VP (VBD (stepped))(PP (IN (in)))))))(. (.))(elaboration=>Nucleus (,)))) |ET| 
-1.3420389574362907580962200881913  |BT| (ROOT (S (NP (DT (The))(NN (room)))(VP (VBD (was))(ADJP (RB (very))(JJ (beautiful)))(PP (IN (besides))(NP (NP (DT (the))(JJ (faint))(NN (mildew))(NN (smell))(elaboration=>Nucleus (ADVP (JJ (high)))(VBN (priced))(NP (NN (hotel))(NN (Ive)))))(PP (IN (in))(NP (DT (the))(NN (room))(elaboration=>Nucleus (ADVP (JJ (high)))(VBN (priced))(NP (NN (hotel))(NN (Ive))))))))))) |ET| 
--1  |BT| (ROOT (FRAG (PP (IN (On))(NP (DT (the))(NN (downside))))(. (.))(elaboration=>Nucleus (RB (recently))))) |ET| 
--0.10687408743801699029241092375742  |BT| (ROOT (S (NP (PRP$ (Our))(JJ (nonsmoking))(NN (room)))(VP (VBN (smelled))(PP (IN (of))(NP (NN (smoke)))))(. (.))(elaboration=>Nucleus (lobby)))) |ET| 
-0.1883557780074279208726295564702  |BT| (ROOT (S (PP (IN (As))(background=>Nucleus (IN (for))(NP (DT (the))(`` (``))(JJ (in-suite))('' (''))(NN (kitchen)))))(, (,))(NP (PRP (it)))(VP (VBD (was))(ADJP (JJ (awful))))(. (.))(elaboration=>Nucleus (VBD (did))(RB (n't))(ADVP (RB (even)))(VP (VB (empty))(NP (DT (the))(NN (trash))(NNS (cans))))))) |ET| 
-0.28939107754378290415786523226416  |BT| (ROOT (S (NP (PRP (I)))(condition=>Nucleus (MD (would))(VP (VB (recommend))(S (NP (PRP (you)))(VP (VB (look))(PP (TO (to))(NP (NP (CD (one)))(PP (IN (of))(NP (DT (those))(JJ (other))(NNS (hotels))))))(SBAR (IN (if))(S (NP (PRP (you)))(VP (VBP (are))(VP (VBG (wanting))(NP (DT (a))(NN (place))(S (VP (TO (to))(VP (VB (stay))(NP (NN (downtown)))))))))))))))(. (.))(condition=>Nucleus (MD (would))(VP (VB (recommend))(S (NP (PRP (you)))(VP (VB (look))(PP (TO (to))(NP (NP (CD (one)))(PP (IN (of))(NP (DT (those))(JJ (other))(NNS (hotels))))))(SBAR (IN (if))(S (NP (PRP (you)))(VP (VBP (are))(VP (VBG (wanting))(NP (DT (a))(NN (place))(S (VP (TO (to))(VP (VB (stay))(NP (NN (downtown))))))))))))))))) |ET| 
--0.1242423359916020875193254369151  |BT| (ROOT (SBAR (WHADVP (WRB (when)))(joint=>Nucleus (NP (DT (the))(elaboration=>Nucleus (room))(NN (service))(NNS (men)))(VP (VP (VBD (came))(S (VP (TO (to))(VP (VB (change))(S (NP (NP (DT (the))(NNS (sheets)))(SBAR (S (NP (PRP (he)))(VP (VBD (brought))(NP (PRP (us)))(NP (QP (DT (another))(CD (one))))(PP (IN (with))(NP (DT (a))(JJ (big))(JJ (red))))))))(VP (VB (stain))(PP (IN (on))(NP (PRP (it))))))))))(CC (and))(VP (ADVP (RB (quicklyhid)))(VBD (changed))(NP (PRP (it)))(SBAR (IN (before))(S (NP (PRP (we)))(VP (VBD (seen))(SBAR (S (NP (PRP (it))(CC (and))(PRP (he)))(VP (VP (VBD (apologized)))(CC (and))(VP (VBD (offered))(S (VP (TO (to))(VP (VB (bring))(NP (PRP (us)))))))(NP (JJ (new))(NNS (ones)))(ADVP (RB (once))(RB (again))(joint=>Nucleus (NP (DT (the))(elaboration=>Nucleus (room))(NN (service))(NNS (men)))(VP (VP (VBD (came))(S (VP (TO (to))(VP (VB (change))(S (NP (NP (DT (the))(NNS (sheets)))(SBAR (S (NP (PRP (he)))(VP (VBD (brought))(NP (PRP
  (us)))(NP (QP (DT (another))(CD (one))))(PP (IN (with))(NP (DT (a))(JJ (big))(JJ (red))))))))(VP (VB (stain))(PP (IN (on))(NP (PRP (it))))))))))(CC (and))(VP (ADVP (RB (quicklyhid)))(VBD (changed))(NP (PRP (it)))(SBAR (IN (before))(S (NP (PRP (we)))(VP (VBD (seen))(SBAR (S (NP (PRP (it))(CC (and))(PRP (he)))(VP (VP (VBD (apologized)))(CC (and))(VP (VBD (offered))(S (VP (TO (to))(VP (VB (bring))(NP (PRP (us)))))))(NP (JJ (new))(NNS (ones)))(ADVP (RB (once))(RB (again)))))))))))))))))))))))) |ET| 
--0.00128610489988269238725848708782  |BT| (ROOT (S (PP (IN (From))(S (VP (VBG (pulling))(PRT (RP (up)))(S (VP (TO (to))(VP (VB (check))(PP (IN (in)))))))))(NP (PRP (I)))(VP (VBD (felt))(NP (DT (the))(NN (gouging))(NN (start))))(. (.))(elaboration=>Nucleus (VBP (try))(S (VP (TO (to))(VP (VB (be))(ADJP (JJ (fair)))(SBAR (WHADVP (WRB (when)))(S (NP (PRP (I)))(VP (VB (write))(NP (PRP$ (my))(NNS (reviews)))))))))))) |ET| 
--1  |BT| (ROOT (S (NP (DT (That)))(background=>Nucleus (VBD (was))(ADJP (JJ (great)))(SBAR (IN (until))(S (NP (PRP (I)))(VP (VBD (checked))(PP (IN (in)))))))(. (.))(background=>Nucleus (VBD (was))(ADJP (JJ (great)))(SBAR (IN (until))(S (NP (PRP (I)))(VP (VBD (checked))(PP (IN (in))))))))) |ET| 
--1  |BT| (ROOT (S (SBAR (IN (If))(attribution=>Nucleus (NP (PRP (I)))(VP (VBP (didnt))(SBAR (S (VP (VBP (have))(S (VP (TO (to))(VP (VB (stay))(ADVP (RB (here))))))))))))(, (,))(NP (PRP (I)))(VP (VBP (wouldnt)))(. (.))(attribution=>Nucleus (NP (PRP (I)))(VP (VBP (didnt))(SBAR (S (VP (VBP (have))(S (VP (TO (to))(VP (VB (stay))(ADVP (RB (here))))))))))))) |ET| 
-1.9350394670285764320283306005877  |BT| (ROOT (S (NP (DT (That)))(VP (VBD (was))(NP (NP (DT (the))(JJS (farthest))(NN (thing)))(PP (IN (from))(NP (DT (the))(NN (truth))))))(. (.))(elaboration=>Nucleus (family)))) |ET| 
-0.64709045498022721432107573491521  |BT| (ROOT (S (NP (LS (i)))(joint=>Nucleus (RB (recently)))(VP (VP (VBD (stayed))(PP (IN (at))(NP (DT (the))(NN (amalfi))(NN (hotel))))(PP (IN (in))(NP (NNP (Chicago)))))(CC (and))(VP (VBD (was))(NP (ADJP (RB (very))(JJ (disappointed)))(NN (right)))(PP (IN (from))(NP (DT (the))(NN (beginning))))))(. (.))(joint=>Nucleus (RB (recently))))) |ET| 
--1  |BT| (ROOT (FRAG (PP (IN (On))(NP (DT (the))(NN (downside))))(. (.))(elaboration=>Nucleus (RB (recently))))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (We)))(elaboration=>Nucleus (ADVP (RB (also)))(VBD (heard))(PP (IN (from))(NP (NP (JJ (several))(NNS (employees)))(PP (IN (from))(NP (DT (the))(NN (cleaning))(NN (staff))(elaboration=>Nucleus (ADVP (RB (also)))(VBD (heard))(PP (IN (from))(NP (NP (JJ (several))(NNS (employees)))(PP (IN (from))(NP (DT (the))(NN (cleaning))(NN (staff))))))(SBAR (IN (that))(S (NP (DT (this)))(VP (VBZ (is))(ADJP (JJ (common))(PP (IN (in))(NP (DT (the))(NN (hotel)))))))))))))(SBAR (IN (that))(S (NP (DT (this)))(VP (VBZ (is))(ADJP (JJ (common))(PP (IN (in))(NP (DT (the))(NN (hotel))(elaboration=>Nucleus (ADVP (RB (also)))(VBD (heard))(PP (IN (from))(NP (NP (JJ (several))(NNS (employees)))(PP (IN (from))(NP (DT (the))(NN (cleaning))(NN (staff))))))(SBAR (IN (that))(S (NP (DT (this)))(VP (VBZ (is))(ADJP (JJ (common))(PP (IN (in))(NP (DT (the))(NN (hotel)))))))))))))))))) |ET| 
--0.40918704363492569564542122861894  |BT| (ROOT (S (S (ADVP (RB (Moreover)))(elaboration=>Nucleus (,))(NP (PRP (you)))(VP (VBP (need))(S (VP (TO (to))(VP (VB (ask))(PP (IN (for))(NP (NP (DT (these))(`` (``))(NNS (tickets))('' ('')))(PP (IN (at))(NP (DT (the))(NN (lobby))))))(SBAR (WHADVP (WRB (when)))(S (NP (PRP (you)))(VP (VBP (check))(PP (IN (in)))))))))))(: (-))(S (NP (PRP (they)))(VP (MD (wo))(RB (n't))(VP (VB (give))(NP (PRP (them)))(PP (TO (to))(NP (PRP (you))))(ADVP (RB (automatically))))))(. (!))(elaboration=>Nucleus (,)))) |ET| 
--1  |BT| (ROOT (S (NP (DT (The))(NN (bathroom)))(VP (VBD (was))(ADJP (RB (very))(JJ (nice)))(ADVP (RB (also))))(. (.))(elaboration=>Nucleus (room)))) |ET| 
-1.1903677343266485522121911344584  |BT| (ROOT (S (NP (PRP (I)))(enablement=>Nucleus (MD (will))(VP (VB (do))(NP (PRP$ (my))(JJS (best)))(S (VP (TO (to))(VP (VB (make))(ADJP (JJ (sure)))(SBAR (IN (that))(S (NP (NP (JJ (future))(NNS (employees)))(PP (IN (of))(NP (PRP$ (my))(NN (company)))))(VP (VBP (do))(SBAR (S (NP (PRP (I)))(VP (VBP (have))(S (VP (TO (to))(VP (VB (stay))(ADVP (RB (here)))))))))))))))))(. (.))(enablement=>Nucleus (MD (will))(VP (VB (do))(NP (PRP$ (my))(JJS (best)))(S (VP (TO (to))(VP (VB (make))(ADJP (JJ (sure)))(SBAR (IN (that))(S (NP (NP (JJ (future))(NNS (employees)))(PP (IN (of))(NP (PRP$ (my))(NN (company)))))(VP (VBP (do))(SBAR (S (NP (PRP (I)))(VP (VBP (have))(S (VP (TO (to))(VP (VB (stay))(ADVP (RB (here))))))))))))))))))) |ET| 
-1.3609329186900289698769483948126  |BT| (ROOT (S (NP (PRP (I)))(enablement=>Nucleus (MD (will))(VP (VB (do))(NP (PRP$ (my))(JJS (best)))(S (VP (TO (to))(attribution=>Nucleus (VB (make))(ADJP (JJ (sure)))(SBAR (IN (that))(S (NP (NP (JJ (future))(NNS (employees)))(PP (IN (of))(NP (PRP$ (my))(NN (company)))))(VP (VBP (do))(SBAR (S (NP (PRP (I)))(VP (VBP (have))(S (VP (TO (to))(VP (VB (stay))(ADVP (RB (here)))))))))))))))))(. (.))(attribution=>Nucleus (VB (make))(ADJP (JJ (sure)))(SBAR (IN (that))(S (NP (NP (JJ (future))(NNS (employees)))(PP (IN (of))(NP (PRP$ (my))(NN (company)))))(VP (VBP (do))(SBAR (S (NP (PRP (I)))(VP (VBP (have))(S (VP (TO (to))(VP (VB (stay))(ADVP (RB (here))))))))))))))) |ET| 
-0.93617379277633638867683885109727  |BT| (ROOT (S (NP (PRP (I)))(enablement=>Nucleus (MD (will))(VP (VB (do))(NP (PRP$ (my))(JJS (best)))(S (VP (TO (to))(attribution=>Nucleus (VB (make))(ADJP (JJ (sure)))(SBAR (IN (that))(attribution=>Nucleus (NP (NP (JJ (future))(NNS (employees)))(PP (IN (of))(NP (PRP$ (my))(NN (company)))))(VP (VBP (do))(SBAR (S (NP (PRP (I)))(VP (VBP (have))(S (VP (TO (to))(VP (VB (stay))(ADVP (RB (here)))))))))))))))))(. (.))(attribution=>Nucleus (NP (NP (JJ (future))(NNS (employees)))(PP (IN (of))(NP (PRP$ (my))(NN (company)))))(VP (VBP (do))(SBAR (S (NP (PRP (I)))(VP (VBP (have))(S (VP (TO (to))(VP (VB (stay))(ADVP (RB (here))))))))))))) |ET| 
--1  |BT| (ROOT (S (NP (DT (That)))(background=>Nucleus (VBD (was))(ADJP (JJ (great)))(SBAR (IN (until))(S (NP (PRP (I)))(VP (VBD (checked))(PP (IN (in)))))))(. (.))(background=>Nucleus (VBD (was))(ADJP (JJ (great)))(SBAR (IN (until))(S (NP (PRP (I)))(VP (VBD (checked))(PP (IN (in))))))))) |ET| 
-2  |BT| (ROOT (S (NP (DT (The))(NN (staff)))(VP (VBD (was))(ADJP (JJ (horrible))))(. (.))(elaboration=>Nucleus (husband)))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (I)))(attribution=>Nucleus (VBP (think))(SBAR (S (NP (PRP (I)))(VP (MD (will))(VP (VB (have))(S (VP (TO (to))(VP (VB (stay))(PP (IN (with))(NP (DT (the))(NNP (InterContinental))(JJ (next))(NN (time))(attribution=>Nucleus (VBP (think))(SBAR (S (NP (PRP (I)))(VP (MD (will))(VP (VB (have))(S (VP (TO (to))(VP (VB (stay))(PP (IN (with))(NP (DT (the))(NNP (InterContinental))(JJ (next))(NN (time)))))))))))))))))))))))) |ET| 
--1  |BT| (ROOT (S (NP (PRP (I)))(same-unit=>Nucleus (VBP (suppose))(NP (NP (DT (the))(NN (conference)))(SBAR (S (NP (PRP (I)))(VP (VBD (attended))(SBAR (S (VP (MD (would))(VP (VB (have))(VP (VBN (had))(S (VP (TO (to))(VP (VB (pay))(NP (NP (JJ (extra)))(PP (IN (for))(NP (PRP (it)))(same-unit=>Nucleus (VBP (suppose))(NP (NP (DT (the))(NN (conference)))(SBAR (S (NP (PRP (I)))(VP (VBD (attended))(SBAR (S (VP (MD (would))(VP (VB (have))(VP (VBN (had))(S (VP (TO (to))(VP (VB (pay))(NP (NP (JJ (extra)))(PP (IN (for))(NP (PRP (it))))))))))))))))))))))))))))))))))) |ET| 
-1.2582526530663757924344281491358  |BT| (ROOT (S (NP (DT (The))(NN (bed)))(VP (VBD (was))(ADJP (ADJP (RB (really))(JJ (hard)))(, (,))(CC (and))(ADJP (RB (crudely))(VBN (made)))))(. (.))(elaboration=>Nucleus (champagne)))) |ET| 
-1.2663938502555660559067973736092  |BT| (ROOT (S (NP (DT (The))(NN (bed)))(VP (VBD (was))(ADJP (ADJP (RB (really))(JJ (hard)))(, (,))(CC (and))(ADJP (RB (crudely))(VBN (made)))))(. (.))(elaboration=>Nucleus (

<TRUNCATED>

[10/11] opennlp-sandbox git commit: removed stanford nlp refs

Posted by bg...@apache.org.
http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/ParseCorefBuilderWithNERandRST.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/ParseCorefBuilderWithNERandRST.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/ParseCorefBuilderWithNERandRST.java
deleted file mode 100644
index 9fe9524..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/ParseCorefBuilderWithNERandRST.java
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.external_rst;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Logger;
-
-import edu.arizona.sista.discourse.rstparser.DiscourseTree;
-import edu.arizona.sista.processors.CorefMention;
-import edu.arizona.sista.processors.Document;
-import edu.arizona.sista.processors.Processor;
-import edu.arizona.sista.processors.Sentence;
-import edu.arizona.sista.processors.corenlp.CoreNLPProcessor;
-import edu.arizona.sista.struct.DirectedGraphEdgeIterator;
-import edu.stanford.nlp.ie.AbstractSequenceClassifier;
-import edu.stanford.nlp.ie.crf.CRFClassifier;
-import edu.stanford.nlp.ling.CoreLabel;
-import edu.stanford.nlp.trees.Tree;
-import opennlp.tools.parse_thicket.ArcType;
-import opennlp.tools.parse_thicket.Pair;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-import opennlp.tools.parse_thicket.communicative_actions.CommunicativeActionsArcBuilder;
-import scala.Option;
-
-public class ParseCorefBuilderWithNERandRST {	
-	public Processor proc = null;
-	CommunicativeActionsArcBuilder caFinder = new CommunicativeActionsArcBuilder();
-	private static Logger log = Logger
-		      .getLogger("opennlp.tools.parse_thicket.external_rst.ParseCorefBuilderWithNERandRST");
-
-
-	AbstractSequenceClassifier<CoreLabel> classifier = null;
-
-	ParseCorefBuilderWithNERandRST() {
-		super();
-		classifier = CRFClassifier.getDefaultClassifier();
-		proc = new CoreNLPProcessor(true, true, 100);
-	}
-
-	public ParseThicketWithDiscourseTree buildParseThicket(String text){
-		List<Tree> ptTrees = new ArrayList<Tree>();
-		List<WordWordInterSentenceRelationArc> arcs = new ArrayList<WordWordInterSentenceRelationArc>();
-		List<List<ParseTreeNode>> nodesThicket = new ArrayList<List<ParseTreeNode>>();
-
-		Document doc=null;
-        try {
-	        doc = proc.annotate(text, false);
-        } catch (IllegalArgumentException iae) {
-        	log.severe("failed to parse text: "+text);
-        } catch (Exception e) {
-	        e.printStackTrace();
-        }
-        // failed to parse - skip this text
-		if (doc==null)
-			return null;
-		//java.lang.IllegalArgumentException
-		for (Sentence sentence: doc.sentences()) {
-			List<ParseTreeNode> sentenceNodes = new ArrayList<ParseTreeNode>();
-			String[] tokens= sentence.words();
-			for(int i=0; i< tokens.length; i++){
-				//sentence.startOffsets(), " "));
-				//sentence.endOffsets(), " "));
-				ParseTreeNode p = new ParseTreeNode(sentence.words()[i], sentence.tags().get()[i]);
-				p.setId(i+1);
-				if(sentence.entities().isDefined()){
-					p.setNe(sentence.entities().get()[i]);
-				}
-				if(sentence.norms().isDefined()){
-					//p.setNormalizedWord(sentence.norms().get()[i]);
-					p.setNormalizedWord(sentence.lemmas().get()[i]);
-				}
-				sentenceNodes.add(p);
-			}
-
-			if(sentence.dependencies().isDefined()) {
-				int i=0;
-				DirectedGraphEdgeIterator<String> iterator = new
-						DirectedGraphEdgeIterator<String>(sentence.dependencies().get());
-				while(iterator.hasNext()) {
-					scala.Tuple3<Object, Object, String> dep = iterator.next();
-					//System.out.println(" head:" + dep._1() + " modifier:" + dep._2() + " label:" + dep._3());
-					if (i>sentenceNodes.size()-1)
-						break;
-					ParseTreeNode p = sentenceNodes.get(i);
-					p.setHead(dep._1().toString());
-					p.setModifier(dep._2().toString());
-					p.setLabel(dep._3());
-					sentenceNodes.set(i, p);
-					i++;
-				}
-			}
-			if(sentence.syntacticTree().isDefined()) {
-				Tree tree = Tree.valueOf(sentence.syntacticTree().get().toString());
-				ptTrees.add(tree);
-				//tree.pennPrint();
-			}
-			nodesThicket.add(sentenceNodes);
-		}
-
-		if(doc.coreferenceChains().isDefined()) {
-			// these are scala.collection Iterator and Iterable (not Java!)
-			scala.collection.Iterator<scala.collection.Iterable<CorefMention>> chains = doc.coreferenceChains().get().getChains().iterator();
-			while(chains.hasNext()) {
-				scala.collection.Iterator<CorefMention> chain = chains.next().iterator();
-				//System.out.println("Found one coreference chain containing the following mentions:");
-				int numInChain = 0;
-				int[] niSentence = new int[4], niWord = new int[4], startOffset = new int[4], endOffset = new int[4];
-
-				while(chain.hasNext()) {
-					CorefMention mention = chain.next();
-					// note that all these offsets start at 0 too
-					niSentence[numInChain ] = mention.sentenceIndex();
-					niWord[numInChain ] = mention.headIndex();
-					startOffset[numInChain ] = mention.startOffset();
-					endOffset[numInChain ] = mention.endOffset();
-					if (numInChain>=4-1)
-						break;
-					numInChain++;
-					//" headIndex:" + mention.headIndex() +
-					//" startTokenOffset:" + mention.startOffset() +
-					//" endTokenOffset:" + mention.endOffset());
-				}
-				if (numInChain>0) { // more than a single mention
-					for(int i=0; i<numInChain; i++){
-						ArcType arcType = new ArcType("coref-", "", 0, 0);
-
-						WordWordInterSentenceRelationArc arc = 
-								new WordWordInterSentenceRelationArc(new Pair<Integer, Integer>(niSentence[i],niWord[i]), 
-										new Pair<Integer, Integer>(niSentence[i+1],niWord[i+1]), 
-									    startOffset[i]+"", startOffset[i+1]+"",
-	      	    					  arcType);
-						arcs.add(arc);
-					}
-				}
-			}
-		}
-
-
-		List<WordWordInterSentenceRelationArc> arcsCA = buildCAarcs(nodesThicket);
-		arcs.addAll(arcsCA);
-		ParseThicketWithDiscourseTree result = new ParseThicketWithDiscourseTree(ptTrees, arcs);
-
-		if(doc.discourseTree().isDefined()) {
-			Option<DiscourseTree> discourseTree = doc.discourseTree();
-
-			//scala.collection.immutable.List<DiscourseTree> scList = discourseTree.toList();
-			scala.collection.Iterator<DiscourseTree> iterator = discourseTree.iterator();
-			while(iterator.hasNext()) {
-				DiscourseTree dt = iterator.next();
-				result.setDt(dt);
-				List<WordWordInterSentenceRelationArc> rstArcs = new ArrayList<WordWordInterSentenceRelationArc>();
-				navigateDiscourseTree(dt, rstArcs, nodesThicket );
-				arcs.addAll(rstArcs);
-				System.out.println(dt);
-				System.out.println("first EDU = "+dt.firstEDU() + "| dt.firstSentence() = "+ dt.firstSentence() + 
-						" \n| last EDU = "+dt.lastEDU() + "| dt.lastSentence() = "+ dt.lastSentence() + 
-						" \n| dt.tokenCount() = " + dt.tokenCount() + "| dt.firstToken " + dt.firstToken() + 
-						" | dt.lastToken() "+ dt.lastToken() + "\n kind =" + dt.kind() + " | text = "+ dt.rawText());
-				StringBuilder sb = new StringBuilder(10000);
-				System.out.println(sb);
-			}
-		}
-
-		result.setOrigText(text);
-		result.setNodesThicket(nodesThicket);
-		
-		result.setDtDump(); // sets the DT representation for TK learning
-		return result;
-	}
-
-	public List<WordWordInterSentenceRelationArc> buildCAarcs(
-			List<List<ParseTreeNode>> nodesThicket) {
-		List<WordWordInterSentenceRelationArc> arcs = new ArrayList<WordWordInterSentenceRelationArc>();
-
-		for(int sentI=0; sentI<nodesThicket.size(); sentI++){
-			for(int sentJ=sentI+1; sentJ<nodesThicket.size(); sentJ++){
-				List<ParseTreeNode> sentenceI = nodesThicket.get(sentI), 
-						sentenceJ = nodesThicket.get(sentJ);
-				Pair<String, Integer[]> caI = caFinder.findCAInSentence(sentenceI);
-				Pair<String, Integer[]> caJ = caFinder.findCAInSentence(sentenceJ);
-				int indexCA1 = caFinder.findCAIndexInSentence(sentenceI);
-				int indexCA2 = caFinder.findCAIndexInSentence(sentenceJ);
-				if (caI==null || caJ==null)
-					continue;
-				Pair<String, Integer[]> caGen = caFinder.generalize(caI, caJ).get(0);
-
-				ArcType arcType = new ArcType("ca", 
-						caGen.getFirst().toString()+printNumArray(caGen.getSecond()), 0, 0);
-				WordWordInterSentenceRelationArc arc = 
-						new WordWordInterSentenceRelationArc(new Pair<Integer, Integer>(sentI,indexCA1), 
-								new Pair<Integer, Integer>(sentJ,indexCA2), caI.getFirst(), caJ.getFirst(), 
-								arcType);
-				arcs.add(arc);
-
-			}
-		}
-
-		return arcs;
-	}
-
-	private String printNumArray(Integer[] arr){
-		StringBuffer buf = new StringBuffer();
-		for(Integer i: arr){
-			buf.append(Integer.toString(i)+ " ");
-		}
-		return buf.toString();
-	}
-
-	// creates a list of Arcs objects 'arcs' from the descourse tree dt, using the list of sentences 'nodesThicket' to identify words 
-	// for nodes being connected with these arcs
-	private void navigateDiscourseTree(DiscourseTree dt, List<WordWordInterSentenceRelationArc> arcs,  List<List<ParseTreeNode>> nodesThicket  ) {
-		if (dt.isTerminal()) {
-			return;
-		} else {
-			ArcType arcType = new ArcType("rst", 
-					dt.relationLabel()+ "=>" + dt.kind(), Boolean.compare(dt.relationDirection().equals("LeftToRight"), true),0);
-			String lemmaFrom = nodesThicket.get(dt.firstSentence()).get(dt.firstToken().copy$default$2()).getWord();
-			String lemmaTo = nodesThicket.get(dt.lastSentence()).get(dt.lastToken().copy$default$2()-1).getWord();
-			
-			WordWordInterSentenceRelationArc arc = 
-					new WordWordInterSentenceRelationArc(new Pair<Integer, Integer>(dt.firstToken().copy$default$1(), dt.firstToken().copy$default$2()), 
-							new Pair<Integer, Integer>(dt.lastToken().copy$default$1(), dt.lastToken().copy$default$2()), 
-							lemmaFrom,lemmaTo, 
-							arcType);
-			System.out.println(arc);
-			arcs.add(arc);
-			DiscourseTree[] kids = dt.children();
-			if (kids != null) {
-				for (DiscourseTree kid : kids) {
-					navigateDiscourseTree(kid, arcs, nodesThicket);
-				}
-			}
-			return ;
-		}
-	}
-
-	public static void main(String[] args){
-		ParseCorefBuilderWithNERandRST builder = new ParseCorefBuilderWithNERandRST ();
-		String text = "I thought I d tell you a little about what I like to write. And I like to immerse myself in my topics. I just like to dive right in and become sort of a human guinea pig. And I see my life as a series of experiments. So , I work for Esquire magazine , and a couple of years ago I wrote an article called  My Outsourced Life ,  where I hired a team of people in Bangalore , India , to live my life for me. "
-		+ "So they answered my emails. They answered my phone. ";
-		
-		ParseThicket pt = builder.buildParseThicket(text);
-		pt = builder.buildParseThicket(
-				"Dutch accident investigators say that evidence points to pro-Russian rebels as being responsible for shooting down plane. The report indicates where the missile was fired from and identifies who was in control of the territory and pins the downing of the plane on the pro-Russian rebels. "+
-						"However, the Investigative Committee of the Russian Federation believes that the plane was hit by a missile from the air which was not produced in Russia. "+
-						"At the same time, rebels deny that they controlled the territory from which the missile was supposedly fired."
-				);
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/ParseThicketWithDiscourseTree.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/ParseThicketWithDiscourseTree.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/ParseThicketWithDiscourseTree.java
deleted file mode 100644
index 44c843c..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/ParseThicketWithDiscourseTree.java
+++ /dev/null
@@ -1,284 +0,0 @@
-package opennlp.tools.parse_thicket.external_rst;
-
-import java.util.List;
-
-import edu.arizona.sista.discourse.rstparser.DiscourseTree;
-import edu.stanford.nlp.trees.Tree;
-import opennlp.tools.parse_thicket.Pair;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-import opennlp.tools.parse_thicket.kernel_interface.TreeExtenderByAnotherLinkedTree;
-
-/*
- * This is subclass of ParseThicket with the focus on Discourse Tree
- * It produces a representation of discourse tree for tree kernel learning
- */
-
-public class ParseThicketWithDiscourseTree extends ParseThicket {
-	private DiscourseTree dt;
-	private String dtDump;
-	private String dtDumpWithPOS;
-	private String dtDumpWithEmbeddedTrees;
-	private String dtDumpWithVerbNet;
-
-	private TreeExtenderByAnotherLinkedTree extender = new TreeExtenderByAnotherLinkedTree();
-	private VerbNetProcessor verbBuilder = VerbNetProcessor.getInstance(null);
-
-	public DiscourseTree getDt() {
-		return dt;
-	}
-	// sets the highest level DT (under further iterations does not set anything)
-	public void setDt(DiscourseTree dt) {
-		if (this.dt==null)
-			this.dt = dt;
-	}
-
-	public ParseThicketWithDiscourseTree(List<Tree> ptTrees, List<WordWordInterSentenceRelationArc> barcs) {
-		super(ptTrees, barcs);
-	}
-
-	public void setDtDump(){
-		StringBuilder sb = new StringBuilder(100000);
-		StringBuilder res = toStringBuilderDTWithPOSSeq(sb, this.dt);
-		dtDumpWithPOS = res.toString();
-
-		sb = new StringBuilder(100000);
-		res = toStringBuilderDT(sb, this.dt);
-		dtDump = res.toString();
-
-		sb = new StringBuilder(100000);
-		res = toStringBuilderDTWithEmbeddedTrees(sb, this.dt);
-		dtDumpWithEmbeddedTrees = res.toString();
-
-		sb = new StringBuilder(100000);
-		res = toStringBuilderDTWithVerbNet(sb, this.dt);
-		dtDumpWithVerbNet = res.toString();
-	}
-	// basic representation of discourse tree 
-	private StringBuilder toStringBuilderDT(StringBuilder sb, DiscourseTree dt) {
-		if (dt.isTerminal()) {
-			if (dt.relationLabel() != null) {
-				sb.append(dt.relationLabel());
-				//sb.append("("+dt.rawText()+")");
-				scala.collection.mutable.StringBuilder sbs = new scala.collection.mutable.StringBuilder(100);
-
-				dt.print(sbs, 0, false, true);
-				String text  =  sbs.replaceAllLiterally("Nucleus TEXT:", "(");
-				text = text.substring(0, text.length()-1)+")";
-				sb.append(text);
-			}
-			return sb;
-		} else {
-			sb.append('(');
-			if (dt.relationLabel() != null) {
-				sb.append(dt.relationLabel());
-			}
-			DiscourseTree[] kids = dt.children();
-			if (kids != null) {
-				for (DiscourseTree kid : kids) {
-					sb.append(' ');
-					toStringBuilderDT(sb, kid);
-				}
-			}
-			return sb.append(')');
-		}
-	}
-
-	private StringBuilder toStringBuilderDTWithPOSSeq(StringBuilder sb, DiscourseTree dt) {
-		if (dt.isTerminal()) {
-			if (dt.relationLabel() != null && dt.relationLabel().length()>2) {
-				sb.append(dt.relationLabel());
-				// different StrBuilder for trees from scala
-				scala.collection.mutable.StringBuilder sbs = new scala.collection.mutable.StringBuilder(100);
-				dt.print(sbs, 0, false, true);
-				String text  =  sbs.replaceAllLiterally("Nucleus TEXT:", "");
-				//text = text.substring(0, text.length()-1)+"";
-				String textDump = substituteTextWithPOStext(text, this.getNodesThicket().get(dt.firstToken().copy$default$1()));
-				sb.append(textDump);
-			}
-			return sb;
-		} else {
-			sb.append('(');
-			if (dt.relationLabel() != null) {
-				sb.append(dt.relationLabel());
-			}
-			DiscourseTree[] kids = dt.children();
-			if (kids != null) {
-				for (DiscourseTree kid : kids) {
-					sb.append(' ');
-					toStringBuilderDTWithPOSSeq(sb, kid);
-				}
-			}
-			return sb.append(')');
-		}
-	}
-
-	private String substituteTextWithPOStext(String text, List<ParseTreeNode> list) {
-		boolean bMatch = false;
-		String[] tokens = text.split(" ");
-		for(int offset = 0; offset<list.size(); offset++ ){	    	
-			List<ParseTreeNode> subList = list.subList(offset, tokens.length+offset);
-			int count = 0;
-			bMatch = true; // if at least one mismatch
-			for(ParseTreeNode n: subList){
-				if (!n.getWord().equals(tokens[count])){
-					bMatch = false;
-					break;
-				} else 
-					count++;
-				if (count>3)
-					break;
-			}
-			if (bMatch){
-				return //"(" + 
-						ParseTreeNode.toTreeRepresentationString(subList); // + ")";
-			}
-		}
-		return null;
-	}
-
-	private StringBuilder toStringBuilderDTWithEmbeddedTrees(StringBuilder sb, DiscourseTree dt) {
-		if (dt.isTerminal()) {
-			if (dt.relationLabel() != null && dt.relationLabel().length()>2) {
-				sb.append(dt.relationLabel());
-				//sb.append("("+dt.rawText()+")");
-				scala.collection.mutable.StringBuilder sbs = new scala.collection.mutable.StringBuilder(100);
-
-				dt.print(sbs, 0, false, true);
-				String text  =  sbs.replaceAllLiterally("Nucleus TEXT:", "");
-				//text = text.substring(0, text.length()-1)+"";
-				substituteTextWithParseTree(sb, text, this.getSentenceTrees().get(dt.firstToken().copy$default$1()));
-			}
-			return sb;
-		} else {
-			sb.append('(');
-			if (dt.relationLabel() != null) {
-				sb.append(dt.relationLabel());
-			}
-			DiscourseTree[] kids = dt.children();
-			if (kids != null) {
-				for (DiscourseTree kid : kids) {
-					sb.append(' ');
-					toStringBuilderDTWithEmbeddedTrees(sb, kid);
-				}
-			}
-			return sb.append(')');
-		}
-	}
-	private void substituteTextWithParseTree(StringBuilder sb, String text, Tree sentenceTree) {
-		String[] tokens = text.split(" ");
-		List<Tree> foundTrees = null;
-		if (tokens.length>1){
-			foundTrees = 
-					extender.getASubtreeWithRootAsNodeForWord1(sentenceTree, sentenceTree, new String[]{tokens[0], tokens[1]});
-		}
-		else{
-			foundTrees = 
-					extender.getASubtreeWithRootAsNodeForWord1(sentenceTree, sentenceTree, new String[]{tokens[0]});
-
-		}
-
-		if (foundTrees == null || foundTrees.size()<1)
-			return;
-
-		extender.toStringBuilder(sb, foundTrees.get(0));
-
-	}
-
-	private StringBuilder toStringBuilderDTWithVerbNet(StringBuilder sb, DiscourseTree dt) {
-		if (dt.isTerminal()) {
-			if (dt.relationLabel() != null && dt.relationLabel().length()>2) {
-				sb.append(dt.relationLabel());
-				//sb.append("("+dt.rawText()+")");
-				scala.collection.mutable.StringBuilder sbs = new scala.collection.mutable.StringBuilder(100);
-
-				dt.print(sbs, 0, false, true);
-				String text  =  sbs.replaceAllLiterally("Nucleus TEXT:", "");
-				String textDump = null;
-				if (text.split(" ").length<100) // if not TOO long, more informative substitution, including VerbNets
-					textDump = substituteTextWithPOStextVerbNet(text, this.getNodesThicket().get(dt.firstToken().copy$default$1()));
-				else // otherwise just lemma-POS chains
-					textDump = substituteTextWithPOStext(text, this.getNodesThicket().get(dt.firstToken().copy$default$1()));
-				
-					
-				sb.append(textDump);
-			}
-			return sb;
-		} else {
-			sb.append('(');
-			if (dt.relationLabel() != null) {
-				sb.append(dt.relationLabel());
-			}
-			DiscourseTree[] kids = dt.children();
-			if (kids != null) {
-				for (DiscourseTree kid : kids) {
-					sb.append(' ');
-					toStringBuilderDTWithVerbNet(sb, kid);
-				}
-			}
-			return sb.append(')');
-		}
-	}
-
-	// substitutes lemma-POS pair instead of just lemma
-	// in case of verb provides moe detailed info
-	private String substituteTextWithPOStextVerbNet(String text, List<ParseTreeNode> list) {
-		boolean bMatch = false;
-		String[] tokens = text.split(" ");
-		for(int offset = 0; offset<list.size(); offset++ ){	    	
-			List<ParseTreeNode> subList = list.subList(offset, tokens.length+offset);
-			int count = 0;
-			bMatch = true; // if at least one mismatch
-			for(ParseTreeNode n: subList){
-				if (!n.getWord().equals(tokens[count])){
-					bMatch = false;
-					break;
-				} else 
-					count++;
-				if (count>3) // three tokens is enough for alignment
-					break;
-			}
-			// alignment found; now 
-			if (bMatch){
-				StringBuilder buf = new StringBuilder();
-				for(ParseTreeNode ch: subList){
-					try {
-	                    if (ch.getPos().startsWith(".") || ch.getPos().startsWith(",") || ch.getPos().startsWith(";") || ch.getPos().startsWith("!"))
-	                    	continue;
-	                    if (ch.getPos().startsWith("VB") && ch.getNormalizedWord()!=null){ // do more info for verbs
-	                    	StringBuilder verbRepr = verbBuilder.
-	                    			buildTreeRepresentationForTreeKernelLearning(ch.getNormalizedWord());
-	                    	if (verbRepr!=null)
-	                    		buf.append(" ("+verbRepr+") ");
-	                    	else
-	                    		buf.append( "("+ch.getWord()+ " " + ch.getPos() + ")" );
-	                    } else { // other than verb
-	                    	buf.append( "("+ch.getWord()+ " " + ch.getPos() + ")" );
-	                    }
-                    } catch (Exception e) {
-	                    e.printStackTrace();
-                    }
-				}
-				return buf.toString().trim();
-			}
-		}
-		return null;
-	}
-
-	public String getDtDump() {
-		return this.dtDump;
-	}
-	public String getDtDumpWithPOS() {
-		return this.dtDumpWithPOS;
-	}
-
-	public String getDtDumpWithEmbeddedTrees() {
-		return this.dtDumpWithEmbeddedTrees;
-	}
-	
-	public String getDtDumpWithVerbNet() {
-		return this.dtDumpWithVerbNet;
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/RstNode.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/RstNode.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/RstNode.java
deleted file mode 100644
index 61e8f13..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/RstNode.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.external_rst;
-
-import org.apache.commons.lang.StringUtils;
-
-import opennlp.tools.similarity.apps.utils.Pair;
-
-public class RstNode {
-	Boolean isNucleus;
-	Pair<Integer, Integer> span;
-	Integer leaf;
-	String rel2par;
-	String text;
-	Integer level;
-	
-	public Boolean getIsNucleus() {
-		return isNucleus;
-	}
-	public void setIsNucleus(Boolean isNucleus) {
-		this.isNucleus = isNucleus;
-	}
-	public Pair<Integer, Integer> getSpan() {
-		return span;
-	}
-	public void setSpan(Pair<Integer, Integer> span) {
-		this.span = span;
-	}
-	public Integer getLeaf() {
-		return leaf;
-	}
-	public void setLeaf(Integer leaf) {
-		this.leaf = leaf;
-	}
-	public String getRel2par() {
-		return rel2par;
-	}
-	public void setRel2par(String rel2par) {
-		this.rel2par = rel2par;
-	}
-	public String getText() {
-		return text;
-	}
-	public void setText(String text) {
-		this.text = text;
-	}
-	
-	public String toString() {
-		String ret = "";
-		if (isNucleus!=null && isNucleus)
-			ret+="Nucleus ";
-		if (span!=null)
-			ret+="["+span.getFirst()+" "+ span.getSecond()+"]";
-		ret += " >> "+ rel2par;
-		if (text!=null)
-			ret+= " >> "+text;
-		return ret;
-	}
-	public RstNode(String line) {
-		if (StringUtils.trim(line).startsWith(")"))
-			return;
-		
-
-		level = line.indexOf("(");
-		line = line.substring(line.indexOf("(")+2);
-		
-		isNucleus = line.substring(0, line.indexOf("(")).indexOf("Nucleus")>-1;
-		line = line.substring(line.indexOf("(")+1);
-		if (line.startsWith("span")){
-			line = line.substring(5);
-			try {
-				span = new Pair<Integer, Integer>();
-				String[] spanStr = line.substring(0, line.indexOf(")")).split(" "); 
-				span.setFirst(Integer.parseInt(spanStr[0]));
-				span.setSecond(Integer.parseInt(spanStr[1]));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			
-		} else if (line.startsWith("leaf")){
-			try {
-				String leafStr = line.substring(5, line.indexOf(")"));
-				leaf = Integer.parseInt(leafStr);
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			
-		} else System.err.println("Problem parsing RST results: '"+line);
-		
-		line = line.substring(line.indexOf("rel2par")+8);
-		rel2par = line.substring(0, line.indexOf(")")).trim();
-		
-		text = StringUtils.substringBetween(line, "_!", "_!)");
-
-		
-	}
-
-	 public static void main(String[] args){
-		 RstNode n1 = new RstNode("        ( Nucleus (leaf 7) (rel2par span) (text _!that it usually takes a day_!) )"),
-		 n2 = new RstNode("       )"),
-		 n3 = new RstNode("          ( Satellite (span 15 16) (rel2par Explanation)");
-		 
-	 }
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/BracesProcessor.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/BracesProcessor.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/BracesProcessor.java
deleted file mode 100644
index b41cd46..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/BracesProcessor.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.kernel_interface;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Stack;
-
-//import org.apache.commons.io.FileUtils;
-
-public class BracesProcessor {
-	private static final int MIN_BRACES_CNT = 5;
-
-	private static final char L_PAREN    = '(';
-	private static final char R_PAREN    = ')';
-	private static final char L_BRACE    = '{';
-	private static final char R_BRACE    = '}';
-	private static final char L_BRACKET  = '[';
-	private static final char R_BRACKET  = ']';
-	private  Stack<Character> stackIncremental = new Stack<Character>();
-	private int count = 0;
-	private Boolean balancedSoFar = true;
-
-	public Boolean getBalancedBracesResult(){
-		if (balancedSoFar)
-			return (stackIncremental.isEmpty() && count> MIN_BRACES_CNT);
-		else 
-			return false;
-	}
-
-	public void analyzeBalancedBracesAddPortionIncremental(String s) {
-
-
-		for (int i = 0; i < s.length(); i++) {
-
-			if      (s.charAt(i) == L_PAREN)   {
-				stackIncremental.push(L_PAREN);
-				count++;
-
-			}
-
-			else if (s.charAt(i) == L_BRACE)   {
-				stackIncremental.push(L_BRACE);
-				count++;
-			}
-
-			else if (s.charAt(i) == L_BRACKET){
-				stackIncremental.push(L_BRACKET);
-				count++;
-			}
-
-			else if (s.charAt(i) == R_PAREN) {
-				if (stackIncremental.isEmpty())        balancedSoFar = false;
-				if (stackIncremental.pop() != L_PAREN) balancedSoFar = false;
-			}
-
-			else if (s.charAt(i) == R_BRACE) {
-				if (stackIncremental.isEmpty())        balancedSoFar = false;
-				if (stackIncremental.pop() != L_BRACE) balancedSoFar = false;
-			}
-
-			else if (s.charAt(i) == R_BRACKET) {
-				if (stackIncremental.isEmpty())        balancedSoFar = false;
-				if (stackIncremental.pop() != L_BRACKET) balancedSoFar = false;
-			}
-
-			// ignore all other characters
-
-		}
-
-	}
-
-	public static boolean isBalanced(String s) {
-		int count = 0;
-		Stack<Character> stack = new Stack<Character>();
-		for (int i = 0; i < s.length(); i++) {
-
-			if      (s.charAt(i) == L_PAREN)   {
-				stack.push(L_PAREN);
-				count++;
-
-			}
-
-			else if (s.charAt(i) == L_BRACE)   {
-				stack.push(L_BRACE);
-				count++;
-			}
-
-			else if (s.charAt(i) == L_BRACKET){
-				stack.push(L_BRACKET);
-				count++;
-			}
-
-			else if (s.charAt(i) == R_PAREN) {
-				if (stack.isEmpty())        return false;
-				if (stack.pop() != L_PAREN) return false;
-			}
-
-			else if (s.charAt(i) == R_BRACE) {
-				if (stack.isEmpty())        return false;
-				if (stack.pop() != L_BRACE) return false;
-			}
-
-			else if (s.charAt(i) == R_BRACKET) {
-				if (stack.isEmpty())        return false;
-				if (stack.pop() != L_BRACKET) return false;
-			}
-
-			// ignore all other characters
-
-		}
-		return (stack.isEmpty());
-	}
-
-	public static boolean checkParentesis(String str)
-	{
-		if (str.isEmpty())
-			return true;
-
-		Stack<Character> stack = new Stack<Character>();
-		for (int i = 0; i < str.length(); i++)
-		{
-			char current = str.charAt(i);
-			if (current == '{' || current == '(' || current == '[')
-			{
-				stack.push(current);
-			}
-
-
-			if (current == '}' || current == ')' || current == ']')
-			{
-				if (stack.isEmpty())
-					return false;
-
-				char last = stack.peek();
-				if (current == '}' && (last == '{' || current == ')')
-						&& last == '(' || (current == ']'
-						&& last == '['))
-					stack.pop();
-				else 
-					return false;
-			}
-
-		}
-
-		return stack.isEmpty();
-	}
-
-	public static boolean isParenthesisMatch(String str) {
-		Stack<Character> stack = new Stack<Character>();
-
-		char c;
-		for(int i=0; i < str.length(); i++) {
-			c = str.charAt(i);
-
-			if(c == '{')
-				return false;
-
-			if(c == '(')
-				stack.push(c);
-
-			if(c == '{') {
-				stack.push(c);
-				if(c == '}')
-					if(stack.empty())
-						return false;
-					else if(stack.peek() == '{')
-						stack.pop();
-			}
-			else if(c == ')')
-				if(stack.empty())
-					return false;
-				else if(stack.peek() == '(')
-					stack.pop();
-				else
-					return false;
-		}
-		return stack.empty();
-	}
-
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/DescriptiveParagraphFromDocExtractor.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/DescriptiveParagraphFromDocExtractor.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/DescriptiveParagraphFromDocExtractor.java
deleted file mode 100644
index 1c07719..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/DescriptiveParagraphFromDocExtractor.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.kernel_interface;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.apache.tika.Tika;
-import org.apache.tika.exception.TikaException;
-
-public class DescriptiveParagraphFromDocExtractor {
-	protected static  Tika tika = new Tika();
-	private static int MIN_PARA_LENGTH = 200, //120, 
-			MIN_NUM_WORDS=15, 
-			MAX_PARA_LENGTH = 500, //200 
-			TEXT_PORTION_FOR_ANALYSIS = 20000, 
-			MAX_PARA_OUTPUT=20;
-	public static String getFirstParagraphFromFile(File f) {
-
-		String text = "";
-		try {
-			try {
-				text = tika.parseToString(f);
-			} catch (TikaException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			} 
-			//text = FileUtils.readFileToString(f, null);
-			if (text.length()>TEXT_PORTION_FOR_ANALYSIS)
-				text = text.substring(0, TEXT_PORTION_FOR_ANALYSIS);
-			float avgSentSizeThr = (float)MIN_PARA_LENGTH/4f; //2f
-			String[] portions = text.split("\\.\\n");
-			for(String p: portions){
-				float avgSentSize = (float)p.length()/(float)p.split("\\n\\n").length;
-
-				if (p.length()> MIN_PARA_LENGTH && p.split(" ").length>MIN_NUM_WORDS &&
-						avgSentSize > avgSentSizeThr &&  p.length() < MAX_PARA_LENGTH){
-					return normalizePara(p);
-				}
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		// if not a suitable paragraph found, return the whole text
-		if (text.length()>150)
-			text = text.substring(0, 150);
-		return text;
-	}
-
-	public static List<String> getLongParagraphsFromFile(File f) {
-		List<String> results = new ArrayList<String>();
-		String text = "";
-		try {
-			try {
-				text = tika.parseToString(f);
-			} catch (TikaException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			} 
-			//text = FileUtils.readFileToString(f, null);
-			if (text.length()>TEXT_PORTION_FOR_ANALYSIS)
-				text = text.substring(0, TEXT_PORTION_FOR_ANALYSIS);
-			float avgSentSizeThr = (float)MIN_PARA_LENGTH/4f; //2f
-			String[] portions = text.split("\\.\\n");
-			if (portions.length<2)
-				portions = text.split("\\n\\n");
-			if (portions.length<2)
-				portions = text.split("\\n \\n");
-			if (portions.length<2){
-				String[] sentences = text.replace('.','&').split(" & ");
-				List<String> portionsLst = new ArrayList<String>();
-				int totalChars = 0;
-				String buffer = "";
-				for(String sent: sentences){
-					totalChars+=sent.length();
-					if (totalChars>MAX_PARA_LENGTH){
-						portionsLst.add(buffer);
-						buffer="";
-						totalChars = 0;
-					} else {
-						buffer+= sent + ". ";
-					}
-				}
-				portions = portionsLst.toArray(new String[0]);
-			}
-			for(String p: portions){
-				try {
-					float avgSentSize = (float)p.length()/(float)p.split("\\n\\n").length;
-
-					if (p.length()> MIN_PARA_LENGTH && p.split(" ").length>MIN_NUM_WORDS &&
-							avgSentSize > avgSentSizeThr) {  
-						if (p.length() < MAX_PARA_LENGTH){
-							results.add(normalizePara(p)); 
-						}
-						else { // reduce length to the latest '.' in substring
-							
-							String pReduced = p;
-							if (p.length()>= MAX_PARA_LENGTH+80)
-								pReduced = p.substring(0, MAX_PARA_LENGTH+80);
-							int indexPeriod = pReduced.lastIndexOf('.');
-							if (indexPeriod>-1){
-								pReduced = pReduced.substring(0, indexPeriod);
-							}
-							results.add(normalizePara(pReduced));
-						}
-						if (results.size()>MAX_PARA_OUTPUT)
-							break;
-					}
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-			}
-			if (results.size()<1){
-				if (text.length()>= MAX_PARA_LENGTH+80)
-					text = text.substring(0, MAX_PARA_LENGTH+80);
-				results.add(text);
-			}
-
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		if (results.size()<1){
-			System.err.println("Failed to extract text from "+f.getName());
-		}
-
-		return results;
-	}
-
-	private static String normalizePara(String p){
-		p = p.replaceAll("\\n", " ").replaceAll("\\.\\.", " ").replaceAll("  ", " ");
-		p = p.replaceAll("[^A-Za-z0-9 _\\.,\\!]", "");
-		return p;
-	}
-
-	public static void main(String args[]){
-		List<String> results = getLongParagraphsFromFile(new File(
-				"/Users/borisgalitsky/Documents/workspace/deepContentInspection/src/test/resources/1k/design_doc_posNeg/pos/2IP40 Detail Design Document.pdf"
-				//+ " Online Screening Tool - Delottie.pdf"
-				));
-		System.out.println(results);
-
-		String res = getFirstParagraphFromFile(new File("/Users/borisgalitsky/Documents/workspace/deepContentInspection/src/test/resources/1k/"
-				+ "design_doc/2004Schalk_BCI2000Implementation.pdf"));
-		System.out.println(res);
-		results = getLongParagraphsFromFile(new File("/Users/borisgalitsky/Documents/workspace/deepContentInspection/src/test/resources/1k/"
-				+ "design_doc/2004Schalk_BCI2000Implementation.pdf"));
-		System.out.println(results);
-
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/MultiSentenceExtendedForestSearchResultsProcessorSetFormer.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/MultiSentenceExtendedForestSearchResultsProcessorSetFormer.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/MultiSentenceExtendedForestSearchResultsProcessorSetFormer.java
deleted file mode 100644
index c568035..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/MultiSentenceExtendedForestSearchResultsProcessorSetFormer.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.kernel_interface;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.logging.Logger;
-
-import edu.stanford.nlp.trees.Tree;
-import edu.stanford.nlp.util.StringUtils;
-
-
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.apps.MultiSentenceSearchResultsProcessor;
-import opennlp.tools.parse_thicket.apps.SnippetToParagraph;
-import opennlp.tools.parse_thicket.apps.WebPageContentSentenceExtractor;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.similarity.apps.BingQueryRunner;
-import opennlp.tools.similarity.apps.HitBase;
-import opennlp.tools.similarity.apps.HitBaseComparable;
-import opennlp.tools.similarity.apps.WebSearchEngineResultsScraper;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.ParseTreeChunkListScorer;
-import opennlp.tools.textsimilarity.SentencePairMatchResult;
-import opennlp.tools.textsimilarity.chunker2matcher.ParserChunker2MatcherProcessor;
-
-public class MultiSentenceExtendedForestSearchResultsProcessorSetFormer  extends MultiSentenceKernelBasedSearchResultsProcessor{
-	private static Logger LOG = Logger
-			.getLogger("opennlp.tools.similarity.apps.MultiSentenceKernelBasedExtendedForestSearchResultsProcessor");
-	protected TreeExtenderByAnotherLinkedTree treeExtender = new TreeExtenderByAnotherLinkedTree();
-	
-	private TreeKernelRunner tkRunner = new TreeKernelRunner();
-	
-	protected static final String modelFileName = "model.txt";
-
-	private static final String trainingFileName = "training.txt";
-
-	protected static final String unknownToBeClassified = "unknown.txt";
-
-	private static final String classifierOutput = "classifier_output.txt";
-	
-	private String path;
-	public void setKernelPath (String path){
-		this.path=path;
-	}
-	
-	WebPageContentSentenceExtractor extractor = new WebPageContentSentenceExtractor();
-	
-	private List<HitBase> formTreeForestDataSet(
-			List<HitBase> hits, String query, boolean isPositive) {
-		List<HitBase> newHitList = new ArrayList<HitBase>(), newHitListReRanked = new ArrayList<HitBase>();
-		// form the training set from original documents. Since search results are ranked, we set the first half as positive set,
-		//and the second half as negative set.
-		// after re-classification, being re-ranked, the search results might end up in a different set
-		List<String[]> treeBankBuffer = new ArrayList<String[]>();
-		int count = 0;
-		for (HitBase hit : hits) {
-			count++;
-			// if orig content has been already set in HIT object, ok; otherwise set it
-			String searchResultText = hit.getPageContent();
-			if (searchResultText ==null){
-				try {
-					HitBase hitWithFullSents = extractor.formTextFromOriginalPageGivenSnippet(hit);
-					for(String paragraph: hitWithFullSents.getOriginalSentences()){
-						List<String[]> res = formTreeKernelStructure(paragraph, count, hits,  isPositive);
-						for(String[] rl : res){
-							StringUtils.printToFile(new File(path+trainingFileName), rl[0]+" \n", true);
-						}
-						//treeBankBuffer.addAll(res);
-					}
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-				
-			}			
-			newHitList.add(hit);
-			
-			
-		}	
-		// write the lits of samples to a file
-		ProfileReaderWriter.appendReport(treeBankBuffer, path+trainingFileName, ' ');
-		return newHitList;
-
-	}
-	
-	protected List<String[]> formTreeKernelStructure(String searchResultText, int count, List<HitBase> hits, boolean isPositive) {
-		List<String[]> treeBankBuffer = new ArrayList<String[]> ();
-		try {
-			// get the parses from original documents, and form the training dataset
-			ParseThicket pt = matcher.buildParseThicketFromTextWithRST(searchResultText);
-			List<Tree> forest = pt.getSentences();
-			// if from the first half or ranked docs, then positive, otherwise negative
-			String posOrNeg = null;
-			if (isPositive)
-				posOrNeg=" 1 ";
-			else 
-				posOrNeg=" -1 ";
-			// form the list of training samples
-			for(Tree t: forest){
-				treeBankBuffer.add(new String[] {posOrNeg+" |BT| "+t.toString()+ " |ET|"});
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return treeBankBuffer;
-	}
-	
-	public List<HitBase> runSearchViaAPI(String query, Boolean isPositive) {
-		
-		try {
-			List<HitBase> hits = bingSearcher.runSearch(query, 20, true);
-			formTreeForestDataSet(hits, query, isPositive);
-
-		} catch (Exception e) {
-			e.printStackTrace();
-			LOG.info("No search results for query '" + query);
-			return null;
-		}
-
-
-		return null;
-	}
-	public static void main(String[] args){
-		String query = "digital camera for my mother as a gift";
-		Boolean isPositive = true;
-		if (args!=null && args.length>0){
-			query = args[0];
-			if (args.length>1 && args[1]!=null && args[1].startsWith("neg"))
-				isPositive = false;
-		}
-		
-		MultiSentenceExtendedForestSearchResultsProcessorSetFormer proc = new MultiSentenceExtendedForestSearchResultsProcessorSetFormer();
-		proc.setKernelPath("C:\\stanford-corenlp\\tree_kernel_big\\");
-		proc.runSearchViaAPI(query, isPositive);
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/MultiSentenceKernelBasedExtendedForestSearchResultsProcessor.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/MultiSentenceKernelBasedExtendedForestSearchResultsProcessor.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/MultiSentenceKernelBasedExtendedForestSearchResultsProcessor.java
deleted file mode 100644
index 1b2790f..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/MultiSentenceKernelBasedExtendedForestSearchResultsProcessor.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.kernel_interface;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.logging.Logger;
-
-import edu.stanford.nlp.trees.Tree;
-
-
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.apps.MultiSentenceSearchResultsProcessor;
-import opennlp.tools.parse_thicket.apps.SnippetToParagraph;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.similarity.apps.BingQueryRunner;
-import opennlp.tools.similarity.apps.HitBase;
-import opennlp.tools.similarity.apps.HitBaseComparable;
-import opennlp.tools.similarity.apps.WebSearchEngineResultsScraper;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.ParseTreeChunkListScorer;
-import opennlp.tools.textsimilarity.SentencePairMatchResult;
-import opennlp.tools.textsimilarity.chunker2matcher.ParserChunker2MatcherProcessor;
-
-public class MultiSentenceKernelBasedExtendedForestSearchResultsProcessor  extends MultiSentenceKernelBasedSearchResultsProcessor{
-	private static Logger LOG = Logger
-			.getLogger("opennlp.tools.similarity.apps.MultiSentenceKernelBasedExtendedForestSearchResultsProcessor");
-	protected TreeExtenderByAnotherLinkedTree treeExtender = new TreeExtenderByAnotherLinkedTree();
-	
-	
-	
-
-	protected List<String[]> formTreeKernelStructure(String searchResultText, int count, List<HitBase> hits) {
-		List<String[]> treeBankBuffer = new ArrayList<String[]> ();
-		try {
-			// get the parses from original documents, and form the training dataset
-			ParseThicket pt = matcher.buildParseThicketFromTextWithRST(searchResultText);
-			List<String> extendedTreesDump = treeExtender.buildForestForCorefArcs(pt);
-			// if from the first half or ranked docs, then positive, otherwise negative
-			String posOrNeg = null;
-			if (count<hits.size()/2)
-				posOrNeg=" 1 ";
-			else 
-				posOrNeg=" -1 ";
-			// form the list of training samples
-			for(String t: extendedTreesDump){
-				treeBankBuffer.add(new String[] {posOrNeg+" |BT| "+t+ " |ET|"});
-			}
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		return treeBankBuffer;
-	}
-
-	public static void main(String[] args){
-		String query = null;
-		
-		/*" I see no meaningful distinction between complacency or complicity in the military's latest failure to uphold their own " +
-				"standards of conduct. Nor do I see a distinction between the service member who orchestrated this offense and the chain of " +
-				"command that was either oblivious to or tolerant of criminal behavior";
-		
-		query = "I am now living abroad and have health insurance from Russia. How can I avoid penalty for not having health insurance in US";
-		
-		query = "ECUADOR'S PRESIDENT RAFAEL CORREA SAYS U.S. VP JOE BIDEN WANTS HIM TO REFUSE WHISTLEBLOWER EDWARD SNOWDEN'S BID FOR ASYLUM";
-		query = "how to pay tax on foreign income from real estate";
-		*/
-		if (args!=null && args.length>0)
-			query = args[0];
-		
-		MultiSentenceKernelBasedExtendedForestSearchResultsProcessor proc = new MultiSentenceKernelBasedExtendedForestSearchResultsProcessor();
-		proc.setKernelPath("C:\\stanford-corenlp\\tree_kernel\\");
-		proc.runSearchViaAPI(query);
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/MultiSentenceKernelBasedSearchResultsProcessor.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/MultiSentenceKernelBasedSearchResultsProcessor.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/MultiSentenceKernelBasedSearchResultsProcessor.java
deleted file mode 100644
index 39d348e..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/MultiSentenceKernelBasedSearchResultsProcessor.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.kernel_interface;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.logging.Logger;
-
-import edu.stanford.nlp.trees.Tree;
-
-
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.apps.BingQueryRunnerMultipageSearchResults;
-import opennlp.tools.parse_thicket.apps.MultiSentenceSearchResultsProcessor;
-import opennlp.tools.parse_thicket.apps.SnippetToParagraph;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.similarity.apps.BingQueryRunner;
-import opennlp.tools.similarity.apps.HitBase;
-import opennlp.tools.similarity.apps.HitBaseComparable;
-import opennlp.tools.similarity.apps.WebSearchEngineResultsScraper;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.ParseTreeChunkListScorer;
-import opennlp.tools.textsimilarity.SentencePairMatchResult;
-import opennlp.tools.textsimilarity.chunker2matcher.ParserChunker2MatcherProcessor;
-
-public class MultiSentenceKernelBasedSearchResultsProcessor  extends MultiSentenceSearchResultsProcessor{
-	private static Logger LOG = Logger
-			.getLogger("opennlp.tools.similarity.apps.MultiSentenceKernelBasedSearchResultsProcessor");
-
-	private WebSearchEngineResultsScraper scraper = new WebSearchEngineResultsScraper();
-	protected Matcher matcher = new Matcher();
-	private ParseTreeChunkListScorer parseTreeChunkListScorer = new ParseTreeChunkListScorer();
-	protected BingQueryRunnerMultipageSearchResults bingSearcher = new BingQueryRunnerMultipageSearchResults();
-	private SnippetToParagraph snp = new SnippetToParagraph();
-	private TreeKernelRunner tkRunner = new TreeKernelRunner();
-
-	private String path;
-	public void setKernelPath (String path){
-		this.path=path;
-	}
-	protected static final String modelFileName = "model.txt";
-
-	private static final String trainingFileName = "training.txt";
-
-	protected static final String unknownToBeClassified = "unknown.txt";
-
-	private static final String classifierOutput = "classifier_output.txt";
-
-
-	public List<HitBase> runSearchViaAPI(String query) {
-		List<HitBase> hits = null;
-		try {
-			List<HitBase> resultList = bingSearcher.runSearch(query);
-			// now we apply our own relevance filter
-			//hits = calculateMatchScoreResortHits(resultList, query);
-			
-			hits = resultList;
-			//once we applied our re-ranking, we set highly ranked as positive set, low-rated as negative set
-			//and classify all these search results again
-			//training set is formed from original documents for the search results, 
-			// and snippets of these search results are classified
-			hits = filterOutIrrelevantHitsByTreeKernelLearning(hits, query);
-
-		} catch (Exception e) {
-			e.printStackTrace();
-			LOG.info("No search results for query '" + query);
-			return null;
-		}
-
-
-		return hits;
-	}
-
-	private List<HitBase> filterOutIrrelevantHitsByTreeKernelLearning(
-			List<HitBase> hits, String query) {
-		List<HitBase> newHitList = new ArrayList<HitBase>(), newHitListReRanked = new ArrayList<HitBase>();
-		// form the training set from original documents. Since search results are ranked, we set the first half as positive set,
-		//and the second half as negative set.
-		// after re-classification, being re-ranked, the search results might end up in a different set
-		List<String[]> treeBankBuffer = new ArrayList<String[]>();
-		int count = 0;
-		for (HitBase hit : hits) {
-			count++;
-			// if orig content has been already set in HIT object, ok; otherwise set it
-			String searchResultText = hit.getPageContent();
-			if (searchResultText ==null){
-				String[] pageSentsAndSnippet = formTextForReRankingFromHit(hit);
-				searchResultText = pageSentsAndSnippet[0];
-				hit.setPageContent(searchResultText);
-			}			
-			newHitList.add(hit);
-			treeBankBuffer.addAll(formTreeKernelStructure(searchResultText, count, hits));
-			
-		}	
-		// write the lits of samples to a file
-		ProfileReaderWriter.writeReport(treeBankBuffer, path+trainingFileName, ' ');
-		// build the model
-		tkRunner.runLearner(path, trainingFileName, modelFileName);
-
-		// now we preparing the same answers to be classifies in/out
-		treeBankBuffer = new ArrayList<String[]>();
-		for (HitBase hit : newHitList) {			
-			// not original docs now but instead a snippet
-			String searchResultTextAbstr = hit.getAbstractText();
-			String snippet = searchResultTextAbstr.replace("<b>...</b>", ". ").replace("<span class='best-phrase'>", " ").replace("<span>", " ").replace("<span>", " ")
-					.replace("<b>", "").replace("</b>", "");
-			snippet = snippet.replace("</B>", "").replace("<B>", "")
-					.replace("<br>", "").replace("</br>", "").replace("...", ". ")
-					.replace("|", " ").replace(">", " ").replace(". .", ". ");
-			snippet =  hit.getTitle() + " " + snippet;
-			
-			ParseThicket pt = matcher.buildParseThicketFromTextWithRST(snippet);
-					//hit.getPageContent());
-			List<Tree> forest = pt.getSentences();
-			// we consider the snippet as a single sentence to be classified
-			if (forest.size()>0){
-				treeBankBuffer.add(new String[] {"0 |BT| "+forest.get(0).toString()+ " |ET|"});
-				newHitListReRanked .add(hit);
-			}
-
-		}	
-		// form a file from the snippets to be classified
-		ProfileReaderWriter.writeReport(treeBankBuffer, path+unknownToBeClassified, ' ');
-		tkRunner.runClassifier(path, unknownToBeClassified, modelFileName, classifierOutput);
-		// read classification results
-		List<String[]> classifResults = ProfileReaderWriter.readProfiles(path+classifierOutput, ' ');
-		// iterate through classification results and set them as scores for hits
-		newHitList = new ArrayList<HitBase>();
-		for(int i=0; i<newHitListReRanked.size() && i<classifResults.size() ; i++){
-			String scoreClassif = classifResults.get(i)[0];
-			float val = Float.parseFloat(scoreClassif);
-			HitBase hit = newHitListReRanked.get(i);
-			hit.setGenerWithQueryScore((double) val);
-			newHitList.add(hit);
-		}
-		
-		// sort by SVM classification results
-		Collections.sort(newHitList, new HitBaseComparable());
-		System.out.println("\n\n ============= NEW ORDER ================= ");
-		for (HitBase hit : newHitList) {
-			System.out.println(hit.getOriginalSentences().toString() + " => "+hit.getGenerWithQueryScore());
-			System.out.println("page content = "+hit.getPageContent());
-			System.out.println("title = "+hit.getAbstractText());
-			System.out.println("snippet = "+hit.getAbstractText());
-			System.out.println("match = "+hit.getSource());
-		}
-		
-		return newHitList;
-
-	}
-
-	protected List<String[]> formTreeKernelStructure(String searchResultText, int count, List<HitBase> hits) {
-		List<String[]> treeBankBuffer = new ArrayList<String[]> ();
-		try {
-			// get the parses from original documents, and form the training dataset
-			ParseThicket pt = matcher.buildParseThicketFromTextWithRST(searchResultText);
-			List<Tree> forest = pt.getSentences();
-			// if from the first half or ranked docs, then positive, otherwise negative
-			String posOrNeg = null;
-			if (count<hits.size()/2)
-				posOrNeg=" 1 ";
-			else 
-				posOrNeg=" -1 ";
-			// form the list of training samples
-			for(Tree t: forest){
-				treeBankBuffer.add(new String[] {posOrNeg+" |BT| "+t.toString()+ " |ET|"});
-			}
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		return treeBankBuffer;
-	}
-
-	public static void main(String[] args){
-		String query = " I see no meaningful distinction between complacency or complicity in the military's latest failure to uphold their own " +
-				"standards of conduct. Nor do I see a distinction between the service member who orchestrated this offense and the chain of " +
-				"command that was either oblivious to or tolerant of criminal behavior";
-		
-		query = "I am now living abroad and have health insurance from Russia. How can I avoid penalty for not having health insurance in US";
-		
-		MultiSentenceKernelBasedSearchResultsProcessor proc = new MultiSentenceKernelBasedSearchResultsProcessor();
-		proc.setKernelPath("C:\\stanford-corenlp\\tree_kernel\\");
-		proc.runSearchViaAPI(query);
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/PT2ExtendedTreeForestBuilder.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/PT2ExtendedTreeForestBuilder.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/PT2ExtendedTreeForestBuilder.java
deleted file mode 100644
index fb5eed8..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/PT2ExtendedTreeForestBuilder.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.kernel_interface;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import edu.stanford.nlp.trees.Tree;
-
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-
-public class PT2ExtendedTreeForestBuilder {
-	private Matcher matcher = new Matcher();	
-	private TreeKernelRunner tkRunner = new TreeKernelRunner();
-	private static final String modelFileName = "model.txt",
-			trainingFileName = "training.txt";
-	
-	private List<String[]> formTrainingSetFromText(String para,  boolean positive){
-		String prefix = null;
-		if (positive)
-			prefix=" 1 ";
-		else
-			prefix=" -1 ";
-			
-		ParseThicket pt = matcher.buildParseThicketFromTextWithRST(para);
-		List<Tree> forest = pt.getSentences();
-		List<String[]> treeBankBuffer = new ArrayList<String[]>();
-		for(Tree t: forest){
-			treeBankBuffer.add(new String[] {prefix+"|BT| "+t.toString()+ " |ET|"});
-		}
-		return treeBankBuffer;
-	}
-	
-	private String formTrainingSetFromTextOneLine(String para,  boolean positive){
-		String prefix = null;
-		if (positive)
-			prefix=" 1 ";
-		else
-			prefix=" -1 ";
-			
-		ParseThicket pt = matcher.buildParseThicketFromTextWithRST(para);
-		List<Tree> forest = pt.getSentences();
-		String line = prefix;
-		for(Tree t: forest){
-			line+= "|BT| "+t.toString()+ " |ET| ";
-		} 
-		return line;
-	}
-	
-	public void formPosNegTrainingSet(String pos, String neg, String path){
-		List<String[]> list = formTrainingSetFromText(pos,  true), 
-				negList= formTrainingSetFromText(neg, false);
-		list.addAll(negList);
-		ProfileReaderWriter.writeReport(list, path+trainingFileName, ' ');
-		tkRunner.runLearner(path, trainingFileName, modelFileName);
-	}
-	
-	public void classifySentences(String sentences, String path){
-		ParseThicket pt = matcher.buildParseThicketFromTextWithRST(sentences);
-		List<Tree> forest = pt.getSentences();
-		List<String[]> treeBankBuffer = new ArrayList<String[]>();
-		for(Tree t: forest){
-			treeBankBuffer.add(new String[] {" 0 |BT| "+t.toString()+ " |ET|"});
-		}
-		
-		ProfileReaderWriter.writeReport(treeBankBuffer, path+"unknown.txt", ' ');
-		tkRunner.runClassifier(path, "unknown.txt", modelFileName, "classifier_output.txt");
-	}
-	
-	
-	public static void main(String[] args){
-		
-		PT2ExtendedTreeForestBuilder builder = new PT2ExtendedTreeForestBuilder();
-		
-			
-		String posSents = "Iran refuses to accept the UN proposal to end its dispute over its work on nuclear weapons."+
-				"UN nuclear watchdog passes a resolution condemning Iran for developing its second uranium enrichment site in secret. " +
-				"A recent IAEA report presented diagrams that suggested Iran was secretly working on nuclear weapons. " +
-				"Iran envoy says its nuclear development is for peaceful purpose, and the material evidence against it has been fabricated by the US. ";
-
-		String negSents = "Iran refuses the UN offer to end a conflict over its nuclear weapons."+
-						"UN passes a resolution prohibiting Iran from developing its uranium enrichment site. " +
-						"A recent UN report presented charts saying Iran was working on nuclear weapons. " +
-				"Iran envoy to UN states its nuclear development is for peaceful purpose, and the evidence against its claim is fabricated by the US. ";
-		builder.formPosNegTrainingSet(posSents, negSents, "C:\\stanford-corenlp\\tree_kernel\\");
-		
-		
-		builder.classifySentences("Iran refuses Iraq's offer to end its conflict with UN. Iran passes a resolution prohibiting UN from doing second" +
-				" uranium enrichment site. Envoy to US says its nuclear development is for peaceful purposes. Material evidence againt US has been fabricated by UN.", 
-				
-				"C:\\stanford-corenlp\\tree_kernel\\");
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/SnippetToParagraphFull.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/SnippetToParagraphFull.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/SnippetToParagraphFull.java
deleted file mode 100644
index d6a295f..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/SnippetToParagraphFull.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.kernel_interface;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.logging.Logger;
-
-import org.apache.commons.lang.StringUtils;
-
-
-import opennlp.tools.parse_thicket.apps.MinedSentenceProcessor;
-import opennlp.tools.parse_thicket.apps.SnippetToParagraph;
-import opennlp.tools.similarity.apps.Fragment;
-import opennlp.tools.similarity.apps.GeneratedSentenceProcessor;
-import opennlp.tools.similarity.apps.HitBase;
-import opennlp.tools.similarity.apps.RelatedSentenceFinder;
-import opennlp.tools.similarity.apps.utils.PageFetcher;
-import opennlp.tools.similarity.apps.utils.StringDistanceMeasurer;
-import opennlp.tools.similarity.apps.utils.Utils;
-import opennlp.tools.textsimilarity.TextProcessor;
-
-
-public class SnippetToParagraphFull extends SnippetToParagraph {
-	private PageFetcher pFetcher = new PageFetcher();
-	private static Logger LOG = Logger
-			.getLogger("com.become.parse_thicket.apps.SnippetToParagraphFull");
-
-	
-
-	public HitBase formTextFromOriginalPageGivenSnippet(HitBase item) {
-
-		String[] sents = extractSentencesFromPage(item.getUrl());
-
-		String title = item.getTitle().replace("<b>", " ").replace("</b>", " ")
-				.replace("  ", " ").replace("  ", " ");
-		// generation results for this sentence
-		List<String> result = new ArrayList<String>();
-		// form plain text from snippet
-		String snapshot = item.getAbstractText().replace("<b>", " ")
-				.replace("</b>", " ").replace("  ", " ").replace("  ", " ").replace("\"", "");
-
-		String snapshotMarked = snapshot.replace(" ...", ".");
-		List<String> fragments = TextProcessor.splitToSentences(snapshotMarked);
-		if (fragments.size()<3 && StringUtils.countMatches(snapshotMarked, ".")>1){
-			snapshotMarked = snapshotMarked.replace("..", "&").replace(".", "&");
-			String[] fragmSents = snapshotMarked.split("&");
-			fragments = Arrays.asList(fragmSents);
-		}
-
-		for (String f : fragments) {
-			String followSent = null;
-			if (f.length() < 50)
-				continue;
-			String pageSentence = "";
-			// try to find original sentence from webpage
-
-			try {
-				String[] mainAndFollowSent = getFullOriginalSentenceFromWebpageBySnippetFragment(
-						f, sents);
-				pageSentence = mainAndFollowSent[0];
-				followSent = mainAndFollowSent[1];
-				if (pageSentence!=null)
-					result.add(pageSentence);
-				else {
-					result.add(f);
-					LOG.info("Could not find the original sentence \n"+f +"\n in the page " );
-				}
-				//if (followSent !=null)
-				//	result.add(followSent);
-			} catch (Exception e) {
-
-				e.printStackTrace();
-			}
-		}
-		item.setOriginalSentences(result);
-		return item;
-	}
-
-	
-}
-

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeExtenderByAnotherLinkedTree.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeExtenderByAnotherLinkedTree.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeExtenderByAnotherLinkedTree.java
deleted file mode 100644
index c980f9f..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeExtenderByAnotherLinkedTree.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.kernel_interface;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Logger;
-
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.parse_thicket.matching.PT2ThicketPhraseBuilder;
-import edu.stanford.nlp.trees.Tree;
-
-public class TreeExtenderByAnotherLinkedTree extends  PT2ThicketPhraseBuilder {
-	private static Logger log = Logger
-		      .getLogger("opennlp.tools.parse_thicket.kernel_interface.TreeExtenderByAnotherLinkedTree");
-
-	public List<String> buildForestForCorefArcs(ParseThicket pt){
-		List<String> results = new ArrayList<String>();
-		for(WordWordInterSentenceRelationArc arc: pt.getArcs()){
-			//if (!arc.getArcType().getType().startsWith("coref"))
-			//	continue;
-			int fromSent = arc.getCodeFrom().getFirst();
-			int toSent = arc.getCodeTo().getFirst();
-			if (fromSent <1 || toSent <1 ) // TODO problem in sentence enumeration => skip building extended trees
-				return results;
-			
-			String wordFrom = arc.getLemmaFrom();
-			String wordTo = arc.getLemmaTo();
-
-			List<Tree> trees = getASubtreeWithRootAsNodeForWord1(pt.getSentences().get(fromSent-1), 
-					pt.getSentences().get(fromSent-1), new String[]{ wordFrom});
-			if (trees==null || trees.size()<1)
-				continue;
-			System.out.println(trees);
-			StringBuilder sb = new StringBuilder(10000);	
-			toStringBuilderExtenderByAnotherLinkedTree1(sb, pt.getSentences().get(toSent-1), trees.get(0), new String[]{wordTo});
-			System.out.println(sb.toString());
-			results.add(sb.toString());
-		}
-		// if no arcs then orig sentences
-		if (results.isEmpty()){
-			for(Tree t: pt.getSentences()){
-				results.add(t.toString());
-			}
-		}
-		return results;
-	}
-	// sentences in pt are enumerarted starting from 0;
-	//this func works with Sista version of Stanford NLP and sentences are coded from 0
-	public List<String> buildForestForRSTArcs(ParseThicket pt){
-		List<String> results = new ArrayList<String>();
-		for(WordWordInterSentenceRelationArc arc: pt.getArcs()){
-			// TODO - uncomment
-			//if (!arc.getArcType().getType().startsWith("rst"))
-			//   continue;
-			int fromSent = arc.getCodeFrom().getFirst();
-			int toSent = arc.getCodeTo().getFirst();
-			
-			String wordFrom = arc.getLemmaFrom();
-			String wordTo = arc.getLemmaTo();
-			
-			if (wordFrom == null || wordFrom.length()<1 || wordTo == null || wordTo.length()<1) 
-				log.severe("Empty lemmas for RST arc "+ arc);
-
-			List<Tree> trees = getASubtreeWithRootAsNodeForWord1(pt.getSentences().get(fromSent), 
-					pt.getSentences().get(fromSent), new String[]{ wordFrom});
-			if (trees==null || trees.size()<1)
-				continue;
-			System.out.println(trees);
-			StringBuilder sb = new StringBuilder(10000);	
-			Tree tree = trees.get(0);
-			// instead of phrase type for the root of the tree, we want to put the RST relation name
-			if (arc.getArcType().getType().startsWith("rst"))
-				tree.setValue(arc.getArcType().getSubtype());
-			
-			toStringBuilderExtenderByAnotherLinkedTree1(sb, pt.getSentences().get(toSent), tree, new String[]{wordTo});
-			System.out.println(sb.toString());
-			results.add(sb.toString());
-		}
-		// if no arcs then orig sentences
-		if (results.isEmpty()){
-			for(Tree t: pt.getSentences()){
-				results.add(t.toString());
-			}
-		}
-		return results;
-	}
-
-	public StringBuilder toStringBuilderExtenderByAnotherLinkedTree1(StringBuilder sb, Tree t, Tree treeToInsert, String[] corefWords) {
-		if (t.isLeaf()) {
-			if (t.label() != null) {
-				sb.append(t.label().value());
-			}
-			return sb;
-		} else {
-			sb.append('(');
-			if (t.label() != null) {
-				if (t.value() != null) {
-					sb.append(t.label().value());
-				}
-			}
-			boolean bInsertNow=false;
-			Tree[] kids = t.children();
-			if (kids != null) {
-				for (Tree kid : kids) {
-					if (corefWords!=null){
-						String word = corefWords[corefWords.length-1];
-						String phraseStr = kid.toString();
-						phraseStr=phraseStr.replace(")", "");
-						if (phraseStr.endsWith(word)){
-							bInsertNow=true;
-						}
-					}
-				}
-				if (bInsertNow){ 
-					for (Tree kid : kids) {
-						sb.append(' ');
-						toStringBuilderExtenderByAnotherLinkedTree1(sb, kid, null, null);
-					}
-					sb.append(' ');
-					toStringBuilderExtenderByAnotherLinkedTree1(sb, treeToInsert, null, null);
-				} else {
-					for (Tree kid : kids) {
-						sb.append(' ');
-						toStringBuilderExtenderByAnotherLinkedTree1(sb, kid, treeToInsert, corefWords);
-					}
-
-				}
-			}
-
-			return sb.append(')');
-		}
-	}
-
-	// given a parse tree and a 
-	public List<Tree> getASubtreeWithRootAsNodeForWord1(Tree tree, Tree currentSubTree, String[] corefWords){
-		if (currentSubTree.isLeaf()){
-			return null;
-		}
-		List<Tree> result = null;
-		Tree[] kids = currentSubTree.children();
-		if (kids != null) {
-			boolean bFound=false;
-			String word = corefWords[corefWords.length-1];
-			for (Tree kid : kids) {
-				if (bFound){
-					result.add(kid);
-				} else {
-					String phraseStr = kid.toString();
-					phraseStr=phraseStr.replace(")", "");
-					if (phraseStr.endsWith(word)){ // found 
-						bFound=true;
-						result = new ArrayList<Tree>();
-					}
-				}
-			}
-			if (bFound){
-				return result;
-			}
-			// if not a selected node, proceed with iteration
-			for (Tree kid : kids) {
-				List<Tree> ts = getASubtreeWithRootAsNodeForWord1(tree, kid, corefWords);
-				if (ts!=null)
-					return ts;
-			}
-
-		}
-		return null;
-	}
-
-	// now obsolete
-	public Tree[] getASubtreeWithRootAsNodeForWord(Tree tree, Tree currentSubTree, String[] corefWords){
-		if (currentSubTree.isLeaf()){
-			return null;
-		}
-
-
-		boolean bInsertNow=false;
-		/*List<ParseTreeNode> bigTreeNodes = parsePhrase(currentSubTree.label().value());	
-		for(ParseTreeNode smallNode: bigTreeNodes ){
-			if (bigTreeNodes.get(0).getWord().equals("") )
-				continue;
-			String word = bigTreeNodes.get(0).getWord();
-			for(String cWord: corefWords){
-
-				if (word.equalsIgnoreCase(cWord))
-					bInsertNow=true;
-			}
-		} */
-
-		String nodePhraseStr = currentSubTree.toString();
-		System.out.println(nodePhraseStr);
-		for(String w: corefWords)
-			nodePhraseStr = nodePhraseStr.replace(w, "");
-		// all words are covered
-		if (nodePhraseStr.toUpperCase().equals(nodePhraseStr))
-			bInsertNow=true;
-
-		//if(bInsertNow)
-		//	return currentSubTree;
-
-		Tree[] kids = currentSubTree.children();
-		if (kids != null) {
-			/*for (Tree kid : kids) {
-				List<ParseTreeNode> bigTreeNodes = parsePhrase(kid.label().value());	
-				if (bigTreeNodes!=null && bigTreeNodes.size()>0 && bigTreeNodes.get(0)!=null &&
-						bigTreeNodes.get(0).getWord().equalsIgnoreCase(corefWords[0])){
-					bInsertNow=true;
-					return kids;
-				}
-
-			}*/
-
-
-			for (Tree kid : kids) {
-				Tree[] t = getASubtreeWithRootAsNodeForWord(tree, kid, corefWords);
-				if (t!=null)
-					return t;
-			}
-
-		}
-		return null;
-	}
-
-
-	public StringBuilder toStringBuilderExtenderByAnotherLinkedTree(StringBuilder sb, Tree t, Tree treeToInsert) {
-		if (t.isLeaf()) {
-			if (t.label() != null) {
-				sb.append(t.label().value());
-			}
-			return sb;
-		} else {
-			sb.append('(');
-			if (t.label() != null) {
-				if (t.value() != null) {
-					sb.append(t.label().value());
-				}
-			}
-
-			boolean bInsertNow=false;
-			// we try match trees to find out if we are at the insertion position
-			if (treeToInsert!=null){
-				List<ParseTreeNode> bigTreeNodes = parsePhrase(t.label().value());	
-				List<ParseTreeNode> smallTreeNodes = parsePhrase(treeToInsert.getChild(0).getChild(0).getChild(0).label().value());	
-
-				System.out.println(t + " \n "+ treeToInsert+ "\n");
-
-				if (smallTreeNodes.size()>0 && bigTreeNodes.size()>0)
-					for(ParseTreeNode smallNode: smallTreeNodes ){
-						if (!bigTreeNodes.get(0).getWord().equals("") 
-								&& bigTreeNodes.get(0).getWord().equalsIgnoreCase(smallNode.getWord()))
-							bInsertNow=true;
-					}
-			}
-
-			if (bInsertNow){ 
-				Tree[] kids = t.children();
-				if (kids != null) {
-					for (Tree kid : kids) {
-						sb.append(' ');
-						toStringBuilderExtenderByAnotherLinkedTree(sb, kid, null);
-					}
-					sb.append(' ');
-					toStringBuilderExtenderByAnotherLinkedTree(sb, treeToInsert.getChild(0).getChild(1), null);
-					int z=0; z++;
-				}
-			} else {
-				Tree[] kids = t.children();
-				if (kids != null) {
-					for (Tree kid : kids) {
-						sb.append(' ');
-						toStringBuilderExtenderByAnotherLinkedTree(sb, kid, treeToInsert);
-					}
-
-				}
-			}
-			return sb.append(')');
-		}
-	}
-
-	public StringBuilder toStringBuilder(StringBuilder sb, Tree t) {
-		if (t.isLeaf()) {
-			if (t.label() != null) {
-				sb.append(t.label().value());
-			}
-			return sb;
-		} else {
-			sb.append('(');
-			if (t.label() != null) {
-				if (t.value() != null) {
-					sb.append(t.label().value());
-				}
-			}
-			Tree[] kids = t.children();
-			if (kids != null) {
-				for (Tree kid : kids) {
-					sb.append(' ');
-					toStringBuilder(sb, kid);
-				}
-			}
-			return sb.append(')');
-		}
-	}
-
-	public static void main(String[] args){
-		VerbNetProcessor p = VerbNetProcessor.
-				getInstance("/Users/borisgalitsky/Documents/workspace/deepContentInspection/src/test/resources"); 
-				
-		Matcher matcher = new Matcher();
-		TreeExtenderByAnotherLinkedTree extender = new TreeExtenderByAnotherLinkedTree();
-		
-		ParseThicket pt = matcher.buildParseThicketFromTextWithRST(//"I went to the forest to look for a tree. I found out that it was thick and green");
-				"Iran refuses to accept the UN proposal to end its dispute over its work on nuclear weapons. "+
-				"UN nuclear watchdog passes a resolution condemning Iran for developing its second uranium enrichment site in secret. " +
-				"A recent IAEA report presented diagrams that suggested Iran was secretly working on nuclear weapons. " +
-				"Iran envoy says its nuclear development is for peaceful purpose, and the material evidence against it has been fabricated by the US. ");
-
-		List<String> results = extender.buildForestForCorefArcs(pt);
-		System.out.println(results);
-		//System.exit(0);
-
-		List<Tree> forest = pt.getSentences();
-		
-		List<Tree> trees = extender.getASubtreeWithRootAsNodeForWord1(forest.get(1), forest.get(1), new String[]{"its"});
-		System.out.println(trees);
-		StringBuilder sb = new StringBuilder(10000);	
-		extender.toStringBuilderExtenderByAnotherLinkedTree1(sb, forest.get(0), trees.get(0), new String[]{"the", "forest"});
-		System.out.println(sb.toString());
-
-
-		//
-		//extender.toStringBuilderExtenderByAnotherLinkedTree(sb, forest.get(0), forest.get(1));
-		//System.out.println(sb.toString());
-	}
-}


[11/11] opennlp-sandbox git commit: removed stanford nlp refs

Posted by bg...@apache.org.
removed stanford nlp refs


Project: http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/repo
Commit: http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/commit/2707f665
Tree: http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/tree/2707f665
Diff: http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/diff/2707f665

Branch: refs/heads/master
Commit: 2707f665636666568300436ce0294df271dc8726
Parents: 1f97041
Author: Boris Galitsky <bg...@hotmail.com>
Authored: Tue Nov 22 05:04:34 2016 -0800
Committer: Boris Galitsky <bg...@hotmail.com>
Committed: Tue Nov 22 05:04:34 2016 -0800

----------------------------------------------------------------------
 opennlp-similarity/README.md                    |     2 +-
 opennlp-similarity/pom.xml                      |   106 +-
 opennlp-similarity/src/main/java/com.zip        |   Bin 47523 -> 0 bytes
 .../apps/relevanceVocabs/SentimentVocab.java    |     2 +-
 .../apps/relevanceVocabs/TopJWNLDictionary.java |   164 -
 .../relevanceVocabs/TopJWNLDictionary.java.txt  |   164 +
 .../apps/relevanceVocabs/WordDictionary.java    |   154 -
 .../relevanceVocabs/WordDictionary.java.txt     |   154 +
 .../main/java/opennlp/tools/doc_classifier.zip  |   Bin 15046 -> 0 bytes
 .../opennlp/tools/fca/BasicLevelMetrics.java    |     1 -
 .../JSMLearnerOnLatticeWithAbduction.java       |     1 -
 .../JSMLearnerOnLatticeWithDeduction.java       |     7 +-
 .../opennlp/tools/parse_thicket/PTTree.java     |    89 -
 .../parse_thicket/ParseCorefBuilderWithNER.java |   156 -
 .../tools/parse_thicket/ParseCorefsBuilder.java |   179 -
 .../tools/parse_thicket/ParseThicket.java       |   105 -
 .../MultiSentenceSearchResultsProcessor.java    |    15 +-
 .../external_rst/ExternalRSTImporter.java       |   264 -
 .../external_rst/MatcherExternalRST.java        |    96 -
 .../PT2ThicketPhraseBuilderExtrnlRST.java       |   115 -
 .../ParseCorefBuilderWithNERandRST.java         |   268 -
 .../ParseThicketWithDiscourseTree.java          |   284 -
 .../parse_thicket/external_rst/RstNode.java     |   119 -
 .../kernel_interface/BracesProcessor.java       |   197 -
 .../DescriptiveParagraphFromDocExtractor.java   |   168 -
 ...edForestSearchResultsProcessorSetFormer.java |   154 -
 ...sedExtendedForestSearchResultsProcessor.java |    92 -
 ...ntenceKernelBasedSearchResultsProcessor.java |   203 -
 .../PT2ExtendedTreeForestBuilder.java           |   111 -
 .../SnippetToParagraphFull.java                 |   100 -
 .../TreeExtenderByAnotherLinkedTree.java        |   355 -
 .../TreeKernelBasedClassifier.java              |   272 -
 .../TreeKernelBasedClassifierMultiplePara.java  |   200 -
 ...reeKernelBasedClassifierOfDiscourseTree.java |   326 -
 .../kernel_interface/TreeKernelRunner.java      |   146 -
 .../style_classif/TSNE_ImporterProcessor.java   |    94 -
 .../matching/FrameQueryBasedIExtractor.java     |   153 -
 .../tools/parse_thicket/matching/Matcher.java   |   263 -
 .../tools/parse_thicket/matching/MyMatcher.java |   126 -
 .../matching/PT2ThicketPhraseBuilder.java       |   477 -
 .../matching/PersonalInformationExtractor.java  |   159 -
 .../opinion_processor/AbstractEngineRunner.java |   120 -
 .../DefaultSentimentProcessor.java              |   523 -
 .../EntityExtractionResult.java                 |   158 -
 .../ExpressionSentimentAnalyzer.java            |    56 -
 .../LinguisticPhraseManager.java                |   591 -
 .../opinion_processor/NamedEntityExtractor.java |   185 -
 .../opinion_processor/PersonExtractor.java      |    96 -
 .../SentencePhraseGivenAWordGetter.java         |   107 -
 .../SentimentCoreAnnotations.java               |    41 -
 .../opinion_processor/StopList.java             |   401 -
 .../TopicAsOpinionMinerRunner.java              |   117 -
 .../opinion_processor/TopicPhraseExtractor.java |   212 -
 .../opinion_processor/TwitterEngineRunner.java  |   157 -
 .../opinion_processor/TwitterFilter.java        |   165 -
 .../opinion_processor/YouTubeMiner.java         |    97 -
 .../opinion_processor/YouTubeMinerResult.java   |    38 -
 .../parse_thicket2graph/EdgeProductBuilder.java |   137 -
 .../GraphFromPTreeBuilder.java                  |   147 -
 .../parse_thicket2graph/ParseGraphNode.java     |    67 -
 .../ParseTreeVisualizer.java                    |   187 -
 ...KernelBasedRecognizerOfRequest_Response.java |    94 -
 .../YahooAnswersTrainingSetCreator.java         |   118 -
 .../RhetoricStructureArcsBuilder.java           |   178 -
 .../RhetoricStructureMarker.java                |   145 -
 ...earchResultsReRankerStanfRequestHandler.java |   306 -
 .../taxo_builder/DomainTaxonomyExtender.java    |     9 +-
 .../tools/textsimilarity/ParseTreeChunk.java    |     3 +-
 .../test/java/opennlp/tools/fca/FCATest.java    |    79 -
 .../apps/RelatedSentenceFinderTest.java         |     7 +-
 .../apps/SnippetToParagraphTest.java            |    37 -
 .../CommunicativeActionsArcBuilderTest.java     |    67 -
 .../external_rst/ExternalRSTImporterTest.java   |    47 -
 .../matching/PT2ThicketPhraseBuilderTest.java   |    40 -
 .../parse_thicket/matching/PTMatcherTest.java   |   139 -
 .../matching/PTPhraseBuilderTest.java           |    93 -
 .../matching/PairwiseMatcherTest.java           |    50 -
 .../pattern_structure/PatternStructureTest.java |   189 -
 .../PhrasePatternStructureTest.java             |   142 -
 .../RhetoricStructureMarkerTest.java            |    67 -
 .../src/test/resources/sentence_parseObject.csv |  2196 ++-
 .../src/test/resources/taxonomies/fidelity.txt  |   503 -
 .../src/test/resources/tree_kernel/model.txt    | 10143 ----------
 .../src/test/resources/tree_kernel/training.txt | 16350 -----------------
 84 files changed, 1576 insertions(+), 39069 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/README.md
----------------------------------------------------------------------
diff --git a/opennlp-similarity/README.md b/opennlp-similarity/README.md
index 65ccfdd..2caf30f 100644
--- a/opennlp-similarity/README.md
+++ b/opennlp-similarity/README.md
@@ -122,7 +122,7 @@ The [classifier code](https://github.com/bgalitsky/relevance-based-on-parse-tree
 <li>detect authors\u2019 doubt and low confidence
 <li>detect fake review
 
-Document classification to six major classes {finance, business, legal, computing, engineering, health} is available via [nearest neighbor model](https://github.com/bgalitsky/relevance-based-on-parse-trees/tree/master/src/main/java/opennlp/tools/doc_classifier/DocClassifier.java). A Lucene training model (1G file) is obtained from Wikipedia corpus. This classifier can be trained for an arbitrary classes once respective Wiki pages are selected and respective [Lucene index is built](https://github.com/bgalitsky/relevance-based-on-parse-trees/tree/master/src/main/java/opennlp/tools/doc_classifier/ClassifierTrainingSetIndexer.java). Once proper training documents are selected from Wikipedia with adequate coverage, the accuracy is usually higher than what can be achieved by word2vec classification models.
+Document classification to six major classes {finance, business, legal, computing, engineering, health} is available via [nearest neighbor model](https://github.com/bgalitsky/relevance-based-on-parse-trees/tree/master/src/main/java/opennlp/tools/doc_classifier/DocClassifier.java). A Lucene training model (1G file) is obtained from Wikipedia corpus. This classifier can be trained for an arbitrary classes once respective Wiki pages are selected and respective [Lucene index is built](https://github.com/bgalitsky/relevance-based-on-parse-trees/tree/master/src/main/java/opennlp/tools/doc_classifier/ClassifierTrainingSetIndexer.java). Once proper training documents are selected from Wikipedia with adequate coverage, the accuracy is usually higher than can be achieved by word2vec classification models.
 
 ### General-purpose [deterministic inductive learner](https://github.com/bgalitsky/relevance-based-on-parse-trees/tree/master/src/main/java/opennlp/tools/jsmlearning) implements JS Mills method of induction and abduction (deduction is also partially implemented).
 

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/pom.xml
----------------------------------------------------------------------
diff --git a/opennlp-similarity/pom.xml b/opennlp-similarity/pom.xml
index a583e8e..506a403 100644
--- a/opennlp-similarity/pom.xml
+++ b/opennlp-similarity/pom.xml
@@ -65,9 +65,9 @@
 			<version>1.6.4</version>
 		</dependency>
 		<dependency>
-			<groupId>org.apache.opennlp</groupId>
-			<artifactId>opennlp-tools</artifactId>
-			<version>1.5.2-incubating</version>
+  			<groupId>org.apache.opennlp</groupId>
+  			<artifactId>opennlp-tools</artifactId>
+  			<version>1.6.0</version>
 		</dependency>
 
 		<dependency>
@@ -198,79 +198,27 @@
 			<systemPath>${project.basedir}/lib/edu.mit.jverbnet-1.2.0.jar</systemPath>
 			<scope>system</scope>
 		</dependency>
-		<dependency>
-			<groupId>edu.stanford.nlp</groupId>
-			<artifactId>stanford-corenlp</artifactId>
-			<version>3.5.2</version>
-		</dependency>
-		<dependency>
-			<groupId>edu.stanford.nlp</groupId>
-			<artifactId>stanford-corenlp-model</artifactId>
-			<version>3.5.2</version>
-			<systemPath>${project.basedir}/lib/stanford-corenlp-3.5.2-models.jar</systemPath>
-			<scope>system</scope>
-		</dependency>
-		<dependency>
-			<groupId>edu.stanford.nlp</groupId>
-			<artifactId>ejml</artifactId>
-			<version>0.23</version>
-			<systemPath>${project.basedir}/lib/ejml-0.23.jar</systemPath>
-			<scope>system</scope>
-		</dependency>
-		<dependency>
-			<groupId>edu.stanford.nlp</groupId>
-			<artifactId>joda-time</artifactId>
-			<version>0.23</version>
-			<systemPath>${project.basedir}/lib/joda-time.jar</systemPath>
-			<scope>system</scope>
-		</dependency>
-		<dependency>
-			<groupId>edu.stanford.nlp</groupId>
-			<artifactId>jollyday</artifactId>
-			<version>0.23</version>
-			<systemPath>${project.basedir}/lib/jollyday.jar</systemPath>
-			<scope>system</scope>
-		</dependency>
-		<dependency>
-			<groupId>edu.stanford.nlp</groupId>
-			<artifactId>xom</artifactId>
-			<version>0.23</version>
-			<systemPath>${project.basedir}/lib/xom.jar</systemPath>
-			<scope>system</scope>
-		</dependency>
+		
 		<dependency>
 			<groupId>org.docx4j</groupId>
 			<artifactId>docx4j</artifactId>
 			<version>2.7.1</version>
 		</dependency>
-
-		<dependency>
-			<groupId>org.clulab</groupId>
-			<artifactId>processors_2.11</artifactId>
-			<version>5.7.1</version>
-		</dependency>
-		<dependency>
-			<groupId>org.clulab</groupId>
-			<artifactId>processors_2.11</artifactId>
-			<version>5.7.1</version>
-			<classifier>models</classifier>
-		</dependency>
 		<dependency>
-                 <groupId>org.deeplearning4j</groupId>
-                 <artifactId>deeplearning4j-ui</artifactId>
-                 <version>${dl4j.version}</version>
-               </dependency>
-               <dependency>
-                 <groupId>org.deeplearning4j</groupId>
-                 <artifactId>deeplearning4j-nlp</artifactId>
-                 <version>${dl4j.version}</version>
-               </dependency>
-               <dependency>
-                 <groupId>org.nd4j</groupId>
-                 <artifactId>nd4j-jblas</artifactId> 
-                 <version>${nd4j.version}</version>
-               </dependency>
-
+            <groupId>org.deeplearning4j</groupId>
+            <artifactId>deeplearning4j-ui</artifactId>
+            <version>${dl4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.deeplearning4j</groupId>
+            <artifactId>deeplearning4j-nlp</artifactId>
+            <version>${dl4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.nd4j</groupId>
+            <artifactId>nd4j-jblas</artifactId> 
+            <version>${nd4j.version}</version>
+        </dependency>
 	</dependencies>
 
 	<build>
@@ -297,23 +245,7 @@
 					</execution>
 				</executions>
 			</plugin>
-			<plugin>
-				<artifactId>maven-javadoc-plugin</artifactId>
-				<executions>
-					<execution>
-						<id>create-javadoc-jar</id>
-						<goals>
-							<goal>jar</goal>
-						</goals>
-						<phase>package</phase>
-						<configuration>
-							<show>public</show>
-							<quiet>true</quiet>
-							<use>false</use> <!-- Speeds up the build of the javadocs -->
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
+			
 			<plugin>
 				<artifactId>maven-antrun-plugin</artifactId>
 				<version>1.6</version>

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/com.zip
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/com.zip b/opennlp-similarity/src/main/java/com.zip
deleted file mode 100644
index 6f96f23..0000000
Binary files a/opennlp-similarity/src/main/java/com.zip and /dev/null differ

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/SentimentVocab.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/SentimentVocab.java b/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/SentimentVocab.java
index aced079..98ac4b2 100644
--- a/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/SentimentVocab.java
+++ b/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/SentimentVocab.java
@@ -140,7 +140,7 @@ public class SentimentVocab {
 			return null;
 
 		// get the normalized form of the word
-		word = WordDictionary.getInstance().getLemmaOrWord(word, posType);
+		//word = WordDictionary.getInstance().getLemmaOrWord(word, posType);
 
 		return sentimentMap.get(word);
 	}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/TopJWNLDictionary.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/TopJWNLDictionary.java b/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/TopJWNLDictionary.java
deleted file mode 100644
index 1505096..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/TopJWNLDictionary.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreemnets.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.apps.relevanceVocabs;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import opennlp.tools.coref.mention.Dictionary;
-
-import net.didion.jwnl.JWNL;
-import net.didion.jwnl.JWNLException;
-import net.didion.jwnl.data.Adjective;
-import net.didion.jwnl.data.IndexWord;
-import net.didion.jwnl.data.POS;
-import net.didion.jwnl.data.Pointer;
-import net.didion.jwnl.data.PointerType;
-import net.didion.jwnl.data.Synset;
-import net.didion.jwnl.data.VerbFrame;
-import net.didion.jwnl.dictionary.MapBackedDictionary;
-import net.didion.jwnl.dictionary.MorphologicalProcessor;
-import net.didion.jwnl.dictionary.morph.DefaultMorphologicalProcessor;
-import net.didion.jwnl.dictionary.morph.DetachSuffixesOperation;
-import net.didion.jwnl.dictionary.morph.LookupExceptionsOperation;
-import net.didion.jwnl.dictionary.morph.LookupIndexWordOperation;
-import net.didion.jwnl.dictionary.morph.Operation;
-import net.didion.jwnl.dictionary.morph.TokenizerOperation;
-import net.didion.jwnl.princeton.file.PrincetonObjectDictionaryFile;
-
-/**
- * An implementation of the Dictionary interface using the JWNL library.
- */
-public class TopJWNLDictionary implements Dictionary {
-
-	private net.didion.jwnl.dictionary.Dictionary dict;
-	private MorphologicalProcessor morphy;
-	private static String[] empty = new String[0];
-
-	public TopJWNLDictionary(String propertiesFile) throws IOException,
-			JWNLException {
-		JWNL.initialize(this.getClass().getResourceAsStream(propertiesFile));
-		dict = net.didion.jwnl.dictionary.Dictionary.getInstance();
-		morphy = dict.getMorphologicalProcessor();
-	}
-
-	@SuppressWarnings("unchecked")
-	public String[] getLemmas(String word, String tag) {
-		try {
-			POS pos;
-			if (tag.startsWith("N") || tag.startsWith("n")) {
-				pos = POS.NOUN;
-			} else if (tag.startsWith("N") || tag.startsWith("v")) {
-				pos = POS.VERB;
-			} else if (tag.startsWith("J") || tag.startsWith("a")) {
-				pos = POS.ADJECTIVE;
-			} else if (tag.startsWith("R") || tag.startsWith("r")) {
-				pos = POS.ADVERB;
-			} else {
-				pos = POS.NOUN;
-			}
-			List<String> lemmas = morphy.lookupAllBaseForms(pos, word);
-			return lemmas.toArray(new String[lemmas.size()]);
-		} catch (JWNLException e) {
-			e.printStackTrace();
-			return null;
-		}
-	}
-
-	public String getSenseKey(String lemma, String pos, int sense) {
-		try {
-			IndexWord iw = dict.getIndexWord(POS.NOUN, lemma);
-			if (iw == null) {
-				return null;
-			}
-			return String.valueOf(iw.getSynsetOffsets()[sense]);
-		} catch (JWNLException e) {
-			e.printStackTrace();
-			return null;
-		}
-
-	}
-
-	public int getNumSenses(String lemma, String pos) {
-		try {
-			IndexWord iw = dict.getIndexWord(POS.NOUN, lemma);
-			if (iw == null) {
-				return 0;
-			}
-			return iw.getSenseCount();
-		} catch (JWNLException e) {
-			return 0;
-		}
-	}
-
-	private void getParents(Synset synset, List<String> parents)
-			throws JWNLException {
-		Pointer[] pointers = synset.getPointers();
-		for (int pi = 0, pn = pointers.length; pi < pn; pi++) {
-			if (pointers[pi].getType() == PointerType.HYPERNYM) {
-				Synset parent = pointers[pi].getTargetSynset();
-				parents.add(String.valueOf(parent.getOffset()));
-				getParents(parent, parents);
-			}
-		}
-	}
-
-	public String[] getParentSenseKeys(String lemma, String pos, int sense) {
-		// System.err.println("JWNLDictionary.getParentSenseKeys: lemma="+lemma);
-		try {
-			IndexWord iw = dict.getIndexWord(POS.NOUN, lemma);
-			if (iw != null) {
-				Synset synset = iw.getSense(sense + 1);
-				List<String> parents = new ArrayList<String>();
-				getParents(synset, parents);
-				return parents.toArray(new String[parents.size()]);
-			} else {
-				return empty;
-			}
-		} catch (JWNLException e) {
-			e.printStackTrace();
-			return null;
-		}
-	}
-
-	public static void main(String[] args) throws IOException, JWNLException {
-		String searchDir = System.getProperty("WNSEARCHDIR");
-		System.err.println("searchDir=" + searchDir);
-		searchDir = "models/WordNet_2.1";
-		if (searchDir != null) {
-			Dictionary dict = new TopJWNLDictionary(
-					System.getProperty("WNSEARCHDIR"));
-			// Dictionary dict = new TopJWNLDictionary();
-			// String word = args[0];
-			String[] lemmas = dict.getLemmas("test", "NN");
-			for (int li = 0, ln = lemmas.length; li < ln; li++) {
-				for (int si = 0, sn = dict.getNumSenses(lemmas[li], "NN"); si < sn; si++) {
-					System.out.println(lemmas[li]
-							+ " ("
-							+ si
-							+ ")\t"
-							+ java.util.Arrays.asList(dict.getParentSenseKeys(
-									lemmas[li], "NN", si)));
-				}
-			}
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/TopJWNLDictionary.java.txt
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/TopJWNLDictionary.java.txt b/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/TopJWNLDictionary.java.txt
new file mode 100644
index 0000000..1505096
--- /dev/null
+++ b/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/TopJWNLDictionary.java.txt
@@ -0,0 +1,164 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreemnets.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.apps.relevanceVocabs;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import opennlp.tools.coref.mention.Dictionary;
+
+import net.didion.jwnl.JWNL;
+import net.didion.jwnl.JWNLException;
+import net.didion.jwnl.data.Adjective;
+import net.didion.jwnl.data.IndexWord;
+import net.didion.jwnl.data.POS;
+import net.didion.jwnl.data.Pointer;
+import net.didion.jwnl.data.PointerType;
+import net.didion.jwnl.data.Synset;
+import net.didion.jwnl.data.VerbFrame;
+import net.didion.jwnl.dictionary.MapBackedDictionary;
+import net.didion.jwnl.dictionary.MorphologicalProcessor;
+import net.didion.jwnl.dictionary.morph.DefaultMorphologicalProcessor;
+import net.didion.jwnl.dictionary.morph.DetachSuffixesOperation;
+import net.didion.jwnl.dictionary.morph.LookupExceptionsOperation;
+import net.didion.jwnl.dictionary.morph.LookupIndexWordOperation;
+import net.didion.jwnl.dictionary.morph.Operation;
+import net.didion.jwnl.dictionary.morph.TokenizerOperation;
+import net.didion.jwnl.princeton.file.PrincetonObjectDictionaryFile;
+
+/**
+ * An implementation of the Dictionary interface using the JWNL library.
+ */
+public class TopJWNLDictionary implements Dictionary {
+
+	private net.didion.jwnl.dictionary.Dictionary dict;
+	private MorphologicalProcessor morphy;
+	private static String[] empty = new String[0];
+
+	public TopJWNLDictionary(String propertiesFile) throws IOException,
+			JWNLException {
+		JWNL.initialize(this.getClass().getResourceAsStream(propertiesFile));
+		dict = net.didion.jwnl.dictionary.Dictionary.getInstance();
+		morphy = dict.getMorphologicalProcessor();
+	}
+
+	@SuppressWarnings("unchecked")
+	public String[] getLemmas(String word, String tag) {
+		try {
+			POS pos;
+			if (tag.startsWith("N") || tag.startsWith("n")) {
+				pos = POS.NOUN;
+			} else if (tag.startsWith("N") || tag.startsWith("v")) {
+				pos = POS.VERB;
+			} else if (tag.startsWith("J") || tag.startsWith("a")) {
+				pos = POS.ADJECTIVE;
+			} else if (tag.startsWith("R") || tag.startsWith("r")) {
+				pos = POS.ADVERB;
+			} else {
+				pos = POS.NOUN;
+			}
+			List<String> lemmas = morphy.lookupAllBaseForms(pos, word);
+			return lemmas.toArray(new String[lemmas.size()]);
+		} catch (JWNLException e) {
+			e.printStackTrace();
+			return null;
+		}
+	}
+
+	public String getSenseKey(String lemma, String pos, int sense) {
+		try {
+			IndexWord iw = dict.getIndexWord(POS.NOUN, lemma);
+			if (iw == null) {
+				return null;
+			}
+			return String.valueOf(iw.getSynsetOffsets()[sense]);
+		} catch (JWNLException e) {
+			e.printStackTrace();
+			return null;
+		}
+
+	}
+
+	public int getNumSenses(String lemma, String pos) {
+		try {
+			IndexWord iw = dict.getIndexWord(POS.NOUN, lemma);
+			if (iw == null) {
+				return 0;
+			}
+			return iw.getSenseCount();
+		} catch (JWNLException e) {
+			return 0;
+		}
+	}
+
+	private void getParents(Synset synset, List<String> parents)
+			throws JWNLException {
+		Pointer[] pointers = synset.getPointers();
+		for (int pi = 0, pn = pointers.length; pi < pn; pi++) {
+			if (pointers[pi].getType() == PointerType.HYPERNYM) {
+				Synset parent = pointers[pi].getTargetSynset();
+				parents.add(String.valueOf(parent.getOffset()));
+				getParents(parent, parents);
+			}
+		}
+	}
+
+	public String[] getParentSenseKeys(String lemma, String pos, int sense) {
+		// System.err.println("JWNLDictionary.getParentSenseKeys: lemma="+lemma);
+		try {
+			IndexWord iw = dict.getIndexWord(POS.NOUN, lemma);
+			if (iw != null) {
+				Synset synset = iw.getSense(sense + 1);
+				List<String> parents = new ArrayList<String>();
+				getParents(synset, parents);
+				return parents.toArray(new String[parents.size()]);
+			} else {
+				return empty;
+			}
+		} catch (JWNLException e) {
+			e.printStackTrace();
+			return null;
+		}
+	}
+
+	public static void main(String[] args) throws IOException, JWNLException {
+		String searchDir = System.getProperty("WNSEARCHDIR");
+		System.err.println("searchDir=" + searchDir);
+		searchDir = "models/WordNet_2.1";
+		if (searchDir != null) {
+			Dictionary dict = new TopJWNLDictionary(
+					System.getProperty("WNSEARCHDIR"));
+			// Dictionary dict = new TopJWNLDictionary();
+			// String word = args[0];
+			String[] lemmas = dict.getLemmas("test", "NN");
+			for (int li = 0, ln = lemmas.length; li < ln; li++) {
+				for (int si = 0, sn = dict.getNumSenses(lemmas[li], "NN"); si < sn; si++) {
+					System.out.println(lemmas[li]
+							+ " ("
+							+ si
+							+ ")\t"
+							+ java.util.Arrays.asList(dict.getParentSenseKeys(
+									lemmas[li], "NN", si)));
+				}
+			}
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/WordDictionary.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/WordDictionary.java b/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/WordDictionary.java
deleted file mode 100644
index cfae086..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/WordDictionary.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.apps.relevanceVocabs;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import opennlp.tools.coref.mention.Dictionary;
-
-public class WordDictionary {
-	private static final String[][] SPECIAL_CASES = { { "lens", "lenses" } };
-
-	//private static final String WORDNET_PROPERTITES_KEY = "wordnet.propertites.file";
-	//private static final String PROPERTIES_FILE = null;;
-
-	// private static final String DATA_DIR;
-	private static WordDictionary instance;
-
-	private Dictionary dictionary;
-	private Map<String, String> specialCaseMap;
-
-	/*static {
-		ConfigProperties config = ConfigFactory.getInstance()
-				.getConfigProperties(ConfigFactory.NLP_CONFIG_PATH);
-		PROPERTIES_FILE = config.getProperty(WORDNET_PROPERTITES_KEY);
-	}*/
-
-	public synchronized static WordDictionary getInstance() {
-		if (instance == null)
-			instance = new WordDictionary();
-
-		return instance;
-	}
-
-	private WordDictionary() {
-		// initialize the dictionary by loading the WordNet database
-		try {
-			dictionary = new TopJWNLDictionary("PROPERTIES_FILE");
-		} catch (Exception e) {
-			e.printStackTrace();
-			System.err.println("Failed to load the WordNet database: " + e);
-		}
-
-		// build the dictionary for special cases
-		specialCaseMap = buildSpecialCaseMap();
-	}
-
-	public String getLemmaOrWord(String word, String type) {
-		String lemma = getLemma(word, type);
-		if (lemma != null)
-			return lemma;
-		else
-			return (word == null) ? null : word.trim().toLowerCase();
-	}
-
-	public String getLemma(String word, String type) {
-		if (word == null)
-			return null;
-		// skip some long word,avoid dictionary getLemmas dead
-		if (word.length() >= 20)
-			return word;
-		word = word.trim().toLowerCase();
-		if (word.length() == 0)
-			return null;
-
-		// check special cases first
-		String lemma = specialCaseMap.get(word);
-		if (lemma != null)
-			return lemma;
-
-		// use the dictionary for general cases
-		// JWNLDictionary has a bug, and we have to use lower case type
-		type = (type == null) ? null : type.toLowerCase();
-		String[] lemmas = dictionary.getLemmas(word, type);
-		if (lemmas == null || lemmas.length == 0)
-			return null;
-
-		return lemmas[0];
-	}
-
-	/**
-	 * get the lemma for a word of unknown POS type return the word if no lemma
-	 * is found
-	 * 
-	 * @param word
-	 * @return
-	 */
-	public String getLemmaOrWord(String word) {
-		if (word == null)
-			return null;
-
-		// try noun first
-		String lemma = getLemma(word, "NN");
-		if (lemma != null)
-			return lemma;
-
-		// then try verb
-		lemma = getLemma(word, "VB");
-		if (lemma != null)
-			return lemma;
-
-		// return word now
-		return word.trim().toLowerCase();
-	}
-
-	private Map<String, String> buildSpecialCaseMap() {
-
-		Map<String, String> specialCaseMap = new HashMap<String, String>();
-		for (String[] wordList : SPECIAL_CASES) {
-			String lemma = wordList[0];
-			for (String word : wordList) {
-				specialCaseMap.put(word, lemma);
-			}
-		}
-
-		return specialCaseMap;
-	}
-
-	public static void main(String[] args) {
-		String[] verbs = { "is", "has", "were", "likes", "TaKen", "going" };
-		String[] nouns = { "efficient", "Cars", "lens", "wives", "lenses",
-				"photos" };
-		String[] adverbs = { "would", "could", "should", "might" };
-		WordDictionary dictionary = WordDictionary.getInstance();
-
-		for (String word : verbs) {
-			System.out
-					.println(word + " ==> " + dictionary.getLemma(word, "VB"));
-		}
-		for (String word : nouns) {
-			System.out
-					.println(word + " ==> " + dictionary.getLemma(word, "NN"));
-		}
-		for (String word : adverbs) {
-			System.out
-					.println(word + " ==> " + dictionary.getLemma(word, "JJ"));
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/WordDictionary.java.txt
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/WordDictionary.java.txt b/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/WordDictionary.java.txt
new file mode 100644
index 0000000..cfae086
--- /dev/null
+++ b/opennlp-similarity/src/main/java/opennlp/tools/apps/relevanceVocabs/WordDictionary.java.txt
@@ -0,0 +1,154 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.apps.relevanceVocabs;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import opennlp.tools.coref.mention.Dictionary;
+
+public class WordDictionary {
+	private static final String[][] SPECIAL_CASES = { { "lens", "lenses" } };
+
+	//private static final String WORDNET_PROPERTITES_KEY = "wordnet.propertites.file";
+	//private static final String PROPERTIES_FILE = null;;
+
+	// private static final String DATA_DIR;
+	private static WordDictionary instance;
+
+	private Dictionary dictionary;
+	private Map<String, String> specialCaseMap;
+
+	/*static {
+		ConfigProperties config = ConfigFactory.getInstance()
+				.getConfigProperties(ConfigFactory.NLP_CONFIG_PATH);
+		PROPERTIES_FILE = config.getProperty(WORDNET_PROPERTITES_KEY);
+	}*/
+
+	public synchronized static WordDictionary getInstance() {
+		if (instance == null)
+			instance = new WordDictionary();
+
+		return instance;
+	}
+
+	private WordDictionary() {
+		// initialize the dictionary by loading the WordNet database
+		try {
+			dictionary = new TopJWNLDictionary("PROPERTIES_FILE");
+		} catch (Exception e) {
+			e.printStackTrace();
+			System.err.println("Failed to load the WordNet database: " + e);
+		}
+
+		// build the dictionary for special cases
+		specialCaseMap = buildSpecialCaseMap();
+	}
+
+	public String getLemmaOrWord(String word, String type) {
+		String lemma = getLemma(word, type);
+		if (lemma != null)
+			return lemma;
+		else
+			return (word == null) ? null : word.trim().toLowerCase();
+	}
+
+	public String getLemma(String word, String type) {
+		if (word == null)
+			return null;
+		// skip some long word,avoid dictionary getLemmas dead
+		if (word.length() >= 20)
+			return word;
+		word = word.trim().toLowerCase();
+		if (word.length() == 0)
+			return null;
+
+		// check special cases first
+		String lemma = specialCaseMap.get(word);
+		if (lemma != null)
+			return lemma;
+
+		// use the dictionary for general cases
+		// JWNLDictionary has a bug, and we have to use lower case type
+		type = (type == null) ? null : type.toLowerCase();
+		String[] lemmas = dictionary.getLemmas(word, type);
+		if (lemmas == null || lemmas.length == 0)
+			return null;
+
+		return lemmas[0];
+	}
+
+	/**
+	 * get the lemma for a word of unknown POS type return the word if no lemma
+	 * is found
+	 * 
+	 * @param word
+	 * @return
+	 */
+	public String getLemmaOrWord(String word) {
+		if (word == null)
+			return null;
+
+		// try noun first
+		String lemma = getLemma(word, "NN");
+		if (lemma != null)
+			return lemma;
+
+		// then try verb
+		lemma = getLemma(word, "VB");
+		if (lemma != null)
+			return lemma;
+
+		// return word now
+		return word.trim().toLowerCase();
+	}
+
+	private Map<String, String> buildSpecialCaseMap() {
+
+		Map<String, String> specialCaseMap = new HashMap<String, String>();
+		for (String[] wordList : SPECIAL_CASES) {
+			String lemma = wordList[0];
+			for (String word : wordList) {
+				specialCaseMap.put(word, lemma);
+			}
+		}
+
+		return specialCaseMap;
+	}
+
+	public static void main(String[] args) {
+		String[] verbs = { "is", "has", "were", "likes", "TaKen", "going" };
+		String[] nouns = { "efficient", "Cars", "lens", "wives", "lenses",
+				"photos" };
+		String[] adverbs = { "would", "could", "should", "might" };
+		WordDictionary dictionary = WordDictionary.getInstance();
+
+		for (String word : verbs) {
+			System.out
+					.println(word + " ==> " + dictionary.getLemma(word, "VB"));
+		}
+		for (String word : nouns) {
+			System.out
+					.println(word + " ==> " + dictionary.getLemma(word, "NN"));
+		}
+		for (String word : adverbs) {
+			System.out
+					.println(word + " ==> " + dictionary.getLemma(word, "JJ"));
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/doc_classifier.zip
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/doc_classifier.zip b/opennlp-similarity/src/main/java/opennlp/tools/doc_classifier.zip
deleted file mode 100644
index 2227504..0000000
Binary files a/opennlp-similarity/src/main/java/opennlp/tools/doc_classifier.zip and /dev/null differ

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/fca/BasicLevelMetrics.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/fca/BasicLevelMetrics.java b/opennlp-similarity/src/main/java/opennlp/tools/fca/BasicLevelMetrics.java
index f1f6bd0..a391557 100755
--- a/opennlp-similarity/src/main/java/opennlp/tools/fca/BasicLevelMetrics.java
+++ b/opennlp-similarity/src/main/java/opennlp/tools/fca/BasicLevelMetrics.java
@@ -26,7 +26,6 @@ import java.util.Set;
 
 import org.apache.commons.collections.ListUtils;
 
-import edu.stanford.nlp.io.EncodingPrintWriter.out;
 
 public class BasicLevelMetrics {
 

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/jsmlearning/JSMLearnerOnLatticeWithAbduction.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/jsmlearning/JSMLearnerOnLatticeWithAbduction.java b/opennlp-similarity/src/main/java/opennlp/tools/jsmlearning/JSMLearnerOnLatticeWithAbduction.java
index 501e908..e6fe47f 100644
--- a/opennlp-similarity/src/main/java/opennlp/tools/jsmlearning/JSMLearnerOnLatticeWithAbduction.java
+++ b/opennlp-similarity/src/main/java/opennlp/tools/jsmlearning/JSMLearnerOnLatticeWithAbduction.java
@@ -26,7 +26,6 @@ import java.util.Set;
 
 import org.apache.commons.collections.ListUtils;
 
-import edu.stanford.nlp.util.StringUtils;
 import opennlp.tools.fca.ConceptLattice;
 import opennlp.tools.fca.FcaWriter;
 import opennlp.tools.fca.FormalConcept;

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/jsmlearning/JSMLearnerOnLatticeWithDeduction.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/jsmlearning/JSMLearnerOnLatticeWithDeduction.java b/opennlp-similarity/src/main/java/opennlp/tools/jsmlearning/JSMLearnerOnLatticeWithDeduction.java
index cea7187..5945eb4 100644
--- a/opennlp-similarity/src/main/java/opennlp/tools/jsmlearning/JSMLearnerOnLatticeWithDeduction.java
+++ b/opennlp-similarity/src/main/java/opennlp/tools/jsmlearning/JSMLearnerOnLatticeWithDeduction.java
@@ -25,10 +25,9 @@ import java.util.List;
 import java.util.Set;
 
 import org.apache.commons.collections.ListUtils;
+import org.apache.commons.lang.StringUtils;
 
-import edu.stanford.nlp.util.StringUtils;
 import opennlp.tools.parse_thicket.pattern_structure.LinguisticPatternStructure;
-
 import opennlp.tools.similarity.apps.utils.Pair;
 import opennlp.tools.textsimilarity.ParseTreeChunk;
 
@@ -183,7 +182,7 @@ public class JSMLearnerOnLatticeWithDeduction extends JSMLearnerOnLatticeBase{
 		for(String posText:posTexts){
 			Boolean multiwordOccurs = true;
 			for(String keyword: keywords){
-				if (!StringUtils.find(posText, keyword))
+				if (posText.indexOf(keyword)<0)
 					multiwordOccurs = false;
 				break;
 			}
@@ -195,7 +194,7 @@ public class JSMLearnerOnLatticeWithDeduction extends JSMLearnerOnLatticeBase{
 		for(String negText:negTexts){
 			Boolean multiwordOccurs = true;
 			for(String keyword: keywords){
-				if (!StringUtils.find(negText, keyword))
+				if (negText.indexOf(keyword)<0)
 					multiwordOccurs = false;
 				break;
 			}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/PTTree.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/PTTree.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/PTTree.java
deleted file mode 100644
index 9a1dfd5..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/PTTree.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package opennlp.tools.parse_thicket;
-
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import edu.stanford.nlp.trees.LabeledScoredTreeNode;
-import edu.stanford.nlp.trees.SimpleTree;
-import edu.stanford.nlp.trees.Tree;
-import edu.stanford.nlp.trees.TreeFactory;
-
-
-
-public class PTTree extends SimpleTree {
-	
-	public PTTree(){
-		super();
-	}
-
-	public PTTree(Tree t){
-		super();
-	}
-	private static final long serialVersionUID = 1L;
-
-	@Override
-	public PTTree[] children() {
-		return children();
-	}
-
-	@Override
-	public TreeFactory treeFactory() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-	
-	public void doNavigate(){
-		List<LabeledScoredTreeNode> phrases = new ArrayList<LabeledScoredTreeNode>();
-		navigate(0, false, false, false, true, true, phrases);
-	}
-	
-	private static void navigateChildren(PTTree[] trChildren, int indent, boolean parentLabelNull, boolean onlyLabelValue, List<LabeledScoredTreeNode> phrases) {
-	    boolean firstSibling = true;
-	    boolean leftSibIsPreTerm = true;  // counts as true at beginning
-	    for (PTTree currentTree : trChildren) {
-	      currentTree.navigate(indent, parentLabelNull, firstSibling, leftSibIsPreTerm, false, onlyLabelValue, phrases);
-	      leftSibIsPreTerm = currentTree.isPreTerminal();
-	      // CC is a special case for English, but leave it in so we can exactly match PTB3 tree formatting
-	      if (currentTree.value() != null && currentTree.value().startsWith("CC")) {
-	        leftSibIsPreTerm = false;
-	      }
-	      firstSibling = false;
-	    }
-	  }
-	
-	/**
-	   * navigate parse tree
-	   */
-	  private void navigate(int indent, boolean parentLabelNull, boolean firstSibling, boolean leftSiblingPreTerminal, boolean topLevel, boolean onlyLabelValue, List<LabeledScoredTreeNode> phrases) {
-	    // the condition for staying on the same line in Penn Treebank
-	    boolean suppressIndent = (parentLabelNull || (firstSibling && isPreTerminal()) || (leftSiblingPreTerminal && isPreTerminal() && (label() == null || !label().value().startsWith("CC"))));
-	    if (suppressIndent) {
-	      //pw.print(" ");
-	      // pw.flush();
-	    } else {
-	      if (!topLevel) {
-	        //pw.println();
-	      }
-	      for (int i = 0; i < indent; i++) {
-	        //pw.print("  ");
-	        // pw.flush();
-	      }
-	    }
-	    if (isLeaf() || isPreTerminal()) {
-	      String terminalString = toStringBuilder(new StringBuilder(), onlyLabelValue).toString();
-	      //pw.print(terminalString);
-	      //pw.flush();
-	      return;
-	    }
-	    //pw.print("(");
-	    String nodeString = onlyLabelValue ? value() : nodeString();
-	    //pw.print(nodeString);
-	    // pw.flush();
-	    boolean parentIsNull = label() == null || label().value() == null;
-	    navigateChildren(children(), indent + 1, parentIsNull, true, phrases);
-	    //pw.print(")");
-	    
-	  }
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/ParseCorefBuilderWithNER.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/ParseCorefBuilderWithNER.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/ParseCorefBuilderWithNER.java
deleted file mode 100644
index 3841592..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/ParseCorefBuilderWithNER.java
+++ /dev/null
@@ -1,156 +0,0 @@
-package opennlp.tools.parse_thicket;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import edu.stanford.nlp.dcoref.CorefChain;
-import edu.stanford.nlp.dcoref.CorefCoreAnnotations;
-import edu.stanford.nlp.dcoref.CorefChain.CorefMention;
-import edu.stanford.nlp.ie.AbstractSequenceClassifier;
-import edu.stanford.nlp.ie.crf.CRFClassifier;
-import edu.stanford.nlp.ling.CoreAnnotations;
-import edu.stanford.nlp.ling.CoreLabel;
-import edu.stanford.nlp.ling.CoreAnnotations.NamedEntityTagAnnotation;
-import edu.stanford.nlp.ling.CoreAnnotations.PartOfSpeechAnnotation;
-import edu.stanford.nlp.ling.CoreAnnotations.TextAnnotation;
-import edu.stanford.nlp.ling.CoreAnnotations.TokensAnnotation;
-import edu.stanford.nlp.neural.rnn.RNNCoreAnnotations;
-import edu.stanford.nlp.pipeline.Annotation;
-import edu.stanford.nlp.sentiment.SentimentCoreAnnotations.SentimentAnnotatedTree;
-import edu.stanford.nlp.trees.Tree;
-import edu.stanford.nlp.trees.TreeCoreAnnotations;
-import edu.stanford.nlp.util.CoreMap;
-import opennlp.tools.parse_thicket.ArcType;
-import opennlp.tools.parse_thicket.Pair;
-import opennlp.tools.parse_thicket.ParseCorefsBuilder;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-
-public class ParseCorefBuilderWithNER extends ParseCorefsBuilder {
-
-	private static ParseCorefBuilderWithNER instanceNER;
-
-	public synchronized static ParseCorefBuilderWithNER  getInstance() {
-		if (instanceNER == null)
-			instanceNER = new ParseCorefBuilderWithNER ();
-
-		return instanceNER;
-	}
-
-
-	AbstractSequenceClassifier<CoreLabel> classifier = null;
-
-	ParseCorefBuilderWithNER() {
-		super();
-		classifier = CRFClassifier.getDefaultClassifier();
-	}
-
-	public ParseThicket buildParseThicket(String text){
-		List<Tree> ptTrees = new ArrayList<Tree>();
-		// all numbering from 1, not 0
-		List<WordWordInterSentenceRelationArc> arcs = new ArrayList<WordWordInterSentenceRelationArc>();
-		List<List<ParseTreeNode>> nodesThicket = new ArrayList<List<ParseTreeNode>>();
-		List<Float> sentimentProfile = new ArrayList<Float>();
-
-		annotation = new Annotation(text);
-		try {
-			pipeline.annotate(annotation);
-			List<CoreMap> sentences = annotation.get(CoreAnnotations.SentencesAnnotation.class);
-			List<List<CoreLabel>> nerClassesText = classifier.classify(text);
-			
-
-			int nSent = 0;
-			if (sentences != null && sentences.size() > 0) 
-				for(CoreMap sentence: sentences){
-					List<ParseTreeNode> nodes = new ArrayList<ParseTreeNode>();
-					if (nSent>=nerClassesText.size())
-						break;
-					List<CoreLabel> nerClassesSent = nerClassesText .get(nSent);
-
-					// traversing the words in the current sentence
-					// a CoreLabel is a CoreMap with additional token-specific methods
-					Class<TokensAnnotation> tokenAnn = TokensAnnotation.class;
-					List<CoreLabel> coreLabelList = sentence.get(tokenAnn);
-					int count=1;
-					for (CoreLabel token: coreLabelList ) {
-						if (count-1>=nerClassesSent.size())
-							break;
-						CoreLabel classNerWord = 	nerClassesSent .get(count-1);
-						// this is the text of the token
-						String lemma = token.get(TextAnnotation.class);
-						// this is the POS tag of the token
-						String pos = token.get(PartOfSpeechAnnotation.class);
-						// this is the NER label of the token
-						String ne = token.get(NamedEntityTagAnnotation.class);     
-
-
-						ParseTreeNode p = new ParseTreeNode(lemma, pos, ne, count);
-						String ner = classNerWord .get(CoreAnnotations.AnswerAnnotation.class);
-						if (!ner.equals("O")){
-							Map<String, Object> nerMap = new HashMap<String, Object>();
-							nerMap.put("ner", ner);
-							p.setAttributes(nerMap);
-						}
-						nodes.add(p);
-						count++;
-					}	
-					nSent++;
-					nodesThicket.add(nodes);
-					Tree tree = sentence.get(TreeCoreAnnotations.TreeAnnotation.class);
-					// now sentiment for given sentence
-					Tree sentimentTree = sentence.get(SentimentAnnotatedTree.class);
-					float sentiment = RNNCoreAnnotations.getPredictedClass(sentimentTree);
-					sentimentProfile.add(sentiment);
-					ptTrees.add(tree);
-				}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-
-
-		// now coreferences
-		Map<Integer, CorefChain> corefs = annotation.get(CorefCoreAnnotations.CorefChainAnnotation.class);
-		List<CorefChain> chains = new ArrayList<CorefChain>(corefs.values());
-		for(CorefChain c: chains){
-			//System.out.println(c);
-			List<CorefMention> mentions = c.getMentionsInTextualOrder();
-			//System.out.println(mentions);
-			if (mentions.size()>1)
-				for(int i=0; i<mentions.size(); i++){
-					for(int j=i+1; j<mentions.size(); j++){
-						CorefMention mi = mentions.get(i), mj=mentions.get(j);
-
-
-						int niSentence = mi.position.get(0);
-						int niWord = mi.startIndex;
-						int njSentence = mj.position.get(0);
-						int njWord = mj.startIndex;
-
-						ArcType arcType = new ArcType("coref-", mj.mentionType+"-"+mj.animacy, 0, 0);
-
-						WordWordInterSentenceRelationArc arc = 
-								new WordWordInterSentenceRelationArc(new Pair<Integer, Integer>(niSentence,niWord), 
-										new Pair<Integer, Integer>(njSentence,njWord), mi.mentionSpan, mj.mentionSpan, 
-										arcType);
-						arcs.add(arc);
-					}
-				}
-		}
-		List<WordWordInterSentenceRelationArc> arcsCA = buildCAarcs(nodesThicket);
-		arcs.addAll(arcsCA);
-
-		ParseThicket result = new ParseThicket(ptTrees, arcs);
-		result.setSentimentProfile(sentimentProfile);
-		result.setNodesThicket(nodesThicket);
-		return result;
-	}
-
-	public static void main(String[] args){
-		new ParseCorefBuilderWithNER ().buildParseThicket("No one knows yet what General Prayuth's real intentions are. He has good reason to worry about resistance. "
-				+ "The pro-government Red-Shirt movement is far better organised than eight years ago, and could still be financed by former Prime Minister Thaksin Shinawatra's deep pockets.");
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/ParseCorefsBuilder.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/ParseCorefsBuilder.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/ParseCorefsBuilder.java
deleted file mode 100644
index 8f215f7..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/ParseCorefsBuilder.java
+++ /dev/null
@@ -1,179 +0,0 @@
-package opennlp.tools.parse_thicket;
-
-import java.io.*;
-import java.util.*;
-
-import opennlp.tools.parse_thicket.communicative_actions.CommunicativeActionsArcBuilder;
-
-import edu.stanford.nlp.dcoref.CorefChain;
-import edu.stanford.nlp.dcoref.CorefCoreAnnotations;
-import edu.stanford.nlp.dcoref.CorefChain.CorefMention;
-import edu.stanford.nlp.ling.*;
-import edu.stanford.nlp.ling.CoreAnnotations.NamedEntityTagAnnotation;
-import edu.stanford.nlp.ling.CoreAnnotations.PartOfSpeechAnnotation;
-import edu.stanford.nlp.ling.CoreAnnotations.TextAnnotation;
-import edu.stanford.nlp.ling.CoreAnnotations.TokensAnnotation;
-import edu.stanford.nlp.pipeline.*;
-import edu.stanford.nlp.trees.*;
-import edu.stanford.nlp.util.*;
-
-public class ParseCorefsBuilder {
-	protected static ParseCorefsBuilder instance;
-	protected Annotation annotation;
-	protected StanfordCoreNLP pipeline;
-	CommunicativeActionsArcBuilder caFinder = new CommunicativeActionsArcBuilder();
-	
-	  /**
-	   * singleton method of instantiating the processor
-	   * 
-	   * @return the instance
-	   */
-	  public synchronized static ParseCorefsBuilder getInstance() {
-	    if (instance == null)
-	      instance = new ParseCorefsBuilder();
-
-	    return instance;
-	  }
-	
-	protected ParseCorefsBuilder(){
-		Properties props = new Properties();
-		props.put("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref, sentiment");
-		pipeline = new StanfordCoreNLP(props);
-	}
-	
-	public ParseThicket buildParseThicket(String text){
-		List<Tree> ptTrees = new ArrayList<Tree>();
-		// all numbering from 1, not 0
-		List<WordWordInterSentenceRelationArc> arcs = new ArrayList<WordWordInterSentenceRelationArc>();
-		List<List<ParseTreeNode>> nodesThicket = new ArrayList<List<ParseTreeNode>>();
-		
-		annotation = new Annotation(text);
-		try {
-			pipeline.annotate(annotation);
-			List<CoreMap> sentences = annotation.get(CoreAnnotations.SentencesAnnotation.class);
-			if (sentences != null && sentences.size() > 0) 
-			for(CoreMap sentence: sentences){
-				List<ParseTreeNode> nodes = new ArrayList<ParseTreeNode>();
-				
-				// traversing the words in the current sentence
-			    // a CoreLabel is a CoreMap with additional token-specific methods
-				Class<TokensAnnotation> tokenAnn = TokensAnnotation.class;
-				List<CoreLabel> coreLabelList = sentence.get(tokenAnn);
-				int count=1;
-			    for (CoreLabel token: coreLabelList ) {
-			      // this is the text of the token
-			      String lemma = token.get(TextAnnotation.class);
-			      // this is the POS tag of the token
-			      String pos = token.get(PartOfSpeechAnnotation.class);
-			      // this is the NER label of the token
-			      String ne = token.get(NamedEntityTagAnnotation.class);     
-			      nodes.add(new ParseTreeNode(lemma, pos, ne, count));
-			      count++;
-			    }	
-			    nodesThicket.add(nodes);
-			  Tree tree = sentence.get(TreeCoreAnnotations.TreeAnnotation.class);
-			  ptTrees.add(tree);
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-	    
-	  
-	    // now coreferences
-	    Map<Integer, CorefChain> corefs = annotation.get(CorefCoreAnnotations.CorefChainAnnotation.class);
-	    List<CorefChain> chains = new ArrayList<CorefChain>(corefs.values());
-	    for(CorefChain c: chains){
-	      //System.out.println(c);
-	      List<CorefMention> mentions = c.getMentionsInTextualOrder();
-	      //System.out.println(mentions);
-	      if (mentions.size()>1)
-	      for(int i=0; i<mentions.size(); i++){
-	    	  for(int j=i+1; j<mentions.size(); j++){
-	    	  CorefMention mi = mentions.get(i), mj=mentions.get(j);
-	    	  
-	    	  
-	    	  int niSentence = mi.position.get(0);
-	    	  int niWord = mi.startIndex;
-	    	  int njSentence = mj.position.get(0);
-	    	  int njWord = mj.startIndex;
-	    	  
-	    	  ArcType arcType = new ArcType("coref-", mj.mentionType+"-"+mj.animacy, 0, 0);
-	    	  
-	    	  WordWordInterSentenceRelationArc arc = 
-	    			  new WordWordInterSentenceRelationArc(new Pair<Integer, Integer>(niSentence,niWord), 
-	    					  new Pair<Integer, Integer>(njSentence,njWord), mi.mentionSpan, mj.mentionSpan, 
-	    					  arcType);
-	    	  arcs.add(arc);
-	    	  }
-	      }
-	    }
-	    List<WordWordInterSentenceRelationArc> arcsCA = buildCAarcs(nodesThicket);
-	    arcs.addAll(arcsCA);
-	    
-	    ParseThicket result = new ParseThicket(ptTrees, arcs);
-	    result.setNodesThicket(nodesThicket);
-	    return result;
-	}
-
-  public List<WordWordInterSentenceRelationArc> buildCAarcs(
-			List<List<ParseTreeNode>> nodesThicket) {
-	  List<WordWordInterSentenceRelationArc> arcs = new ArrayList<WordWordInterSentenceRelationArc>();
-	  
-		for(int sentI=0; sentI<nodesThicket.size(); sentI++){
-			for(int sentJ=sentI+1; sentJ<nodesThicket.size(); sentJ++){
-				List<ParseTreeNode> sentenceI = nodesThicket.get(sentI), 
-						sentenceJ = nodesThicket.get(sentJ);
-				Pair<String, Integer[]> caI = caFinder.findCAInSentence(sentenceI);
-				Pair<String, Integer[]> caJ = caFinder.findCAInSentence(sentenceJ);
-				int indexCA1 = caFinder.findCAIndexInSentence(sentenceI);
-				int indexCA2 = caFinder.findCAIndexInSentence(sentenceJ);
-				if (caI==null || caJ==null)
-					continue;
-				Pair<String, Integer[]> caGen = caFinder.generalize(caI, caJ).get(0);
-				
-				ArcType arcType = new ArcType("ca", 
-						caGen.getFirst().toString()+printNumArray(caGen.getSecond()), 0, 0);
-				 WordWordInterSentenceRelationArc arc = 
-		    			  new WordWordInterSentenceRelationArc(new Pair<Integer, Integer>(sentI,indexCA1), 
-		    					  new Pair<Integer, Integer>(sentJ,indexCA2), caI.getFirst(), caJ.getFirst(), 
-		    					  arcType);
-		    	  arcs.add(arc);
-				
-			}
-					}
-		
-		return arcs;
-	}
-  
-    private String printNumArray(Integer[] arr){
-    	StringBuffer buf = new StringBuffer();
-    	for(Integer i: arr){
-    		buf.append(Integer.toString(i)+ " ");
-    	}
-    	return buf.toString();
-    }
-
-public static void main(String[] args) throws IOException {
-	  ParseCorefsBuilder builder = ParseCorefsBuilder.getInstance();
-	  ParseThicket  th = builder.buildParseThicket("Iran refuses to accept the UN proposal to end its dispute over its work on nuclear weapons."+
-    		  "UN nuclear watchdog passes a resolution condemning Iran for developing its second uranium enrichment site in secret. " +
-    		  "A recent IAEA report presented diagrams that suggested Iran was secretly working on nuclear weapons. " +
-    		  "Iran envoy says its nuclear development is for peaceful purpose, and the material evidence against it has been fabricated by the US. ");
-    //GraphFromPTreeBuilder gbuilder = new GraphFromPTreeBuilder();
-    //gbuilder.buildGraphFromPT(th);
-	 
-  }
-
-}
-
-/*
- * [<sent=1-word=1..Iran> ===> <sent=3-word=9..Iran>, <sent=1-word=1..Iran> ===> <sent=4-word=1..Iran>, <sent=1-word=1..Iran> ===> <sent=4-word=4..its>, <sent=1-word=1..Iran> ===> <sent=4-word=17..it>, <sent=3-word=9..Iran> ===> <sent=4-word=1..Iran>, <sent=3-word=9..Iran> ===> <sent=4-word=4..its>, <sent=3-word=9..Iran> ===> <sent=4-word=17..it>, <sent=4-word=1..Iran> ===> <sent=4-word=4..its>, <sent=4-word=1..Iran> ===> <sent=4-word=17..it>, <sent=4-word=4..its> ===> <sent=4-word=17..it>, <sent=1-word=6..UN> ===> <sent=2-word=1..UN>, <sent=1-word=5..the UN proposal> ===> <sent=1-word=10..its>, <sent=1-word=5..the UN proposal> ===> <sent=1-word=13..its>, <sent=1-word=10..its> ===> <sent=1-word=13..its>, <sent=1-word=16..nuclear weapons> ===> <sent=3-word=14..nuclear weapons>, <sent=2-word=1..UN nuclear watchdog> ===> <sent=2-word=11..its>]
-
-[[[1]Iran:NNP>LOCATION, [2]refuses:VBZ>O, [3]to:TO>O, [4]accept:VB>O, [5]the:DT>O, [6]UN:NNP>ORGANIZATION, [7]proposal:NN>O, [8]to:TO>O, [9]end:VB>O, [10]its:PRP$>O, [11]dispute:NN>O, [12]over:IN>O, [13]its:PRP$>O, [14]work:NN>O, [15]on:IN>O, [16]nuclear:JJ>O, [17]weapons:NNS>O, [18].:.>O], 
-
-[[1]UN:NNP>ORGANIZATION, [2]nuclear:JJ>O, [3]watchdog:NN>O, [4]passes:VBZ>O, [5]a:DT>O, [6]resolution:NN>O, [7]condemning:VBG>O, [8]Iran:NNP>LOCATION, [9]for:IN>O, [10]developing:VBG>O, [11]its:PRP$>O, [12]second:JJ>ORDINAL, [13]uranium:NN>O, [14]enrichment:NN>O, [15]site:NN>O, [16]in:IN>O, [17]secret:NN>O, [18].:.>O], 
-
-[[1]A:DT>O, [2]recent:JJ>O, [3]IAEA:NNP>ORGANIZATION, [4]report:NN>O, [5]presented:VBD>O, [6]diagrams:NNS>O, [7]that:WDT>O, [8]suggested:VBD>O, [9]Iran:NNP>LOCATION, [10]was:VBD>O, [11]secretly:RB>O, [12]working:VBG>O, [13]on:IN>O, [14]nuclear:JJ>O, [15]weapons:NNS>O, [16].:.>O], 
-
-[[1]Iran:NNP>LOCATION, [2]envoy:NN>O, [3]says:VBZ>O, [4]its:PRP$>O, [5]nuclear:JJ>O, [6]development:NN>O, [7]is:VBZ>O, [8]for:IN>O, [9]peaceful:JJ>O, [10]purpose:NN>O, [11],:,>O, [12]and:CC>O, [13]the:DT>O, [14]material:NN>O, [15]evidence:NN>O, [16]against:IN>O, [17]it:PRP>O, [18]has:VBZ>O, [19]been:VBN>O, [20]fabricated:VBN>O, [21]by:IN>O, [22]the:DT>O, [23]US:NNP>LOCATION, [24].:.>O]]
-*/

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/ParseThicket.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/ParseThicket.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/ParseThicket.java
deleted file mode 100644
index 8723e53..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/ParseThicket.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package opennlp.tools.parse_thicket;
-
-import java.util.List;
-
-import edu.stanford.nlp.trees.Tree;
-
-public class ParseThicket {
-	// parse trees 
-	private List<Tree> sentenceTrees;
-	// there should be an arc for each sentence
-	private List<WordWordInterSentenceRelationArc> arcs;
-	// lists of nodes for each sentence
-	// then list for all sentences
-	private List<List<ParseTreeNode>> sentenceNodes;
-	
-	private List<Float> sentimentProfile;
-	
-	private String origText;
-	private List<List<ParseTreeNode>> phrases;
-	
-	
-	public List<Tree> getSentenceTrees() {
-		return sentenceTrees;
-	}
-
-	public void setSentenceTrees(List<Tree> sentenceTrees) {
-		this.sentenceTrees = sentenceTrees;
-	}
-
-	public List<List<ParseTreeNode>> getSentenceNodes() {
-		return sentenceNodes;
-	}
-
-	public void setSentenceNodes(List<List<ParseTreeNode>> sentenceNodes) {
-		this.sentenceNodes = sentenceNodes;
-	}
-
-	public String getOrigText() {
-		return origText;
-	}
-
-	public void setOrigText(String origText) {
-		this.origText = origText;
-	}
-
-	public List<Tree> getSentences() {
-		return sentenceTrees;
-	}
-
-	public void setSentences(List<Tree> sentences) {
-		this.sentenceTrees = sentences;
-	}
-
-	public List<WordWordInterSentenceRelationArc> getArcs() {
-		return arcs;
-	}
-
-	public void setArcs(List<WordWordInterSentenceRelationArc> arcs) {
-		this.arcs = arcs;
-	}
-
-	public List<List<ParseTreeNode>> getNodesThicket() {
-		return sentenceNodes;
-	}
-
-	public void setNodesThicket(List<List<ParseTreeNode>> nodesThicket) {
-		this.sentenceNodes = nodesThicket;
-	}
-
-	public ParseThicket(String paragraph){
-		ParseCorefsBuilder builder = ParseCorefsBuilder.getInstance();
-		ParseThicket res = builder.buildParseThicket(paragraph);
-		this.sentenceTrees= res.sentenceTrees;
-		this.arcs = res.arcs;		
-	}
-
-	public ParseThicket(List<Tree> ptTrees,
-			List<WordWordInterSentenceRelationArc> barcs) {
-		this.sentenceTrees= ptTrees;
-		this.arcs = barcs;				
-	}
-	
-	public String toString(){
-		return this.sentenceTrees+"\n"+this.arcs;
-	}
-
-	public void setPhrases(List<List<ParseTreeNode>> phrs) {
-		this.phrases = phrs;		
-	}
-
-	public List<List<ParseTreeNode>> getPhrases() {
-		return phrases;
-	}
-
-	public List<Float> getSentimentProfile() {
-		return sentimentProfile;
-	}
-
-	public void setSentimentProfile(List<Float> sentimentProfile) {
-		this.sentimentProfile = sentimentProfile;
-	}
-	
-	
-	
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/apps/MultiSentenceSearchResultsProcessor.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/apps/MultiSentenceSearchResultsProcessor.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/apps/MultiSentenceSearchResultsProcessor.java
index edd164f..d6bbbb3 100644
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/apps/MultiSentenceSearchResultsProcessor.java
+++ b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/apps/MultiSentenceSearchResultsProcessor.java
@@ -22,8 +22,8 @@ import java.util.List;
 import java.util.logging.Logger;
 
 
+
 import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.matching.Matcher;
 import opennlp.tools.similarity.apps.BingQueryRunner;
 import opennlp.tools.similarity.apps.HitBase;
 import opennlp.tools.similarity.apps.HitBaseComparable;
@@ -38,7 +38,7 @@ public class MultiSentenceSearchResultsProcessor  {
 			.getLogger("opennlp.tools.similarity.apps.SearchResultsProcessor");
 
 	private WebSearchEngineResultsScraper scraper = new WebSearchEngineResultsScraper();
-	private Matcher matcher = new Matcher();
+	private ParserChunker2MatcherProcessor matcher = ParserChunker2MatcherProcessor.getInstance();
 	private ParseTreeChunkListScorer parseTreeChunkListScorer = new ParseTreeChunkListScorer();
 	private BingQueryRunner bingSearcher = new BingQueryRunner();
 	private SnippetToParagraph snp = new SnippetToParagraph();
@@ -65,17 +65,18 @@ public class MultiSentenceSearchResultsProcessor  {
 					
 			Double score = 0.0;
 			try {
-				List<List<ParseTreeChunk>> match = null;
+				SentencePairMatchResult match = null;
 				if (pageSentsAndSnippet!=null && pageSentsAndSnippet[0].length()>50){
-					match = matcher.assessRelevanceCache(pageSentsAndSnippet[0] ,
+					match = matcher.assessRelevance(pageSentsAndSnippet[0] ,
 							searchQuery);
-					score = parseTreeChunkListScorer.getParseTreeChunkListScore(match);
+					 score = parseTreeChunkListScorer.getParseTreeChunkListScore(match.getMatchResult());
+							//parseTreeChunkListScorer.getParseTreeChunkListScore(match);
 					hit.setSource(match.toString());
 				}
 				if (score < 2){ // attempt to match with snippet, if not much luck with original text
-					match = matcher.assessRelevanceCache(pageSentsAndSnippet[1] ,
+					match = matcher.assessRelevance(pageSentsAndSnippet[1] ,
 							searchQuery);
-					score = parseTreeChunkListScorer.getParseTreeChunkListScore(match);
+					score = parseTreeChunkListScorer.getParseTreeChunkListScore(match.getMatchResult());
 				}
 				LOG.info(score + " | " +pageSentsAndSnippet[1]);
 			} catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/ExternalRSTImporter.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/ExternalRSTImporter.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/ExternalRSTImporter.java
deleted file mode 100644
index 955bcb8..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/ExternalRSTImporter.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.external_rst;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
-
-import edu.stanford.nlp.trees.Tree;
-import opennlp.tools.parse_thicket.ArcType;
-import opennlp.tools.parse_thicket.Pair;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.parse_thicket.matching.PT2ThicketPhraseBuilder;
-import opennlp.tools.similarity.apps.utils.StringDistanceMeasurer;
-
-public class ExternalRSTImporter extends PT2ThicketPhraseBuilder{
-	private StringDistanceMeasurer strDistProc = new StringDistanceMeasurer ();
-	private String resourceDir = null; 
-	
-	public ExternalRSTImporter(){
-		 try {
-			resourceDir = new File( "." ).getCanonicalPath()+"/src/test/resources";
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-
-	public List<RstNode>  buildArrayOfRSTnodes(ParseThicket pt, String jotyDumpFileName){
-		String dump=null;
-		try {
-			dump = FileUtils.readFileToString(new File(jotyDumpFileName), Charset.defaultCharset().toString());
-		} catch (IOException e) {
-			e.printStackTrace();
-			return null;
-		}
-		List<RstNode> nodes = new ArrayList<RstNode>(); 
-		String[] lines = dump.split("\n");
-		int startOfDim = StringUtils.lastIndexOf(lines[0], " ");
-		String dimStr = lines[0].substring(startOfDim).replace(")", "").trim();
-		int dim = Integer.parseInt(dimStr);
-		Integer[][] rstArcsIndices = new Integer[dim][dim];
-		for(int i=1; i< lines.length; i++){
-			RstNode node = new RstNode(lines[i]);
-			nodes.add(node);
-		}
-		return nodes;
-	}
-
-	private Map<String, Integer > phraseRstIndex = new HashMap<String, Integer >();
-	private Map<Integer, List<ParseTreeNode> > rstIndexPhrase = new HashMap<Integer, List<ParseTreeNode> > ();
-
-	public List<WordWordInterSentenceRelationArc> buildRSTArcsFromRSTparser( List<RstNode> rstNodes,
-			List<WordWordInterSentenceRelationArc> arcs,
-			Map<Integer, List<List<ParseTreeNode>>> sentNumPhrasesMap, 
-			ParseThicket pt ) {
-		List<WordWordInterSentenceRelationArc> arcsRST = new ArrayList<WordWordInterSentenceRelationArc>();		
-
-		for(int nSentFrom=0; nSentFrom<pt.getSentences().size(); nSentFrom++){
-			for(int nSentTo=nSentFrom+1; nSentTo<pt.getSentences().size(); nSentTo++){
-
-				// label all phrases with EDU
-				List<List<ParseTreeNode>> phrasesFrom = sentNumPhrasesMap.get(nSentFrom);
-				for(List<ParseTreeNode> p: phrasesFrom ){
-					Integer rstIndex = findBestRstNodeTextForAPhrase(p, rstNodes);
-					if (rstIndex!=null){
-						phraseRstIndex.put(p.toString(), rstIndex );
-						rstIndexPhrase.put(rstIndex , p);
-					}
-				}
-				List<List<ParseTreeNode>> phrasesTo = sentNumPhrasesMap.get(nSentTo);
-				for(List<ParseTreeNode> p: phrasesTo ){
-					Integer rstIndex = findBestRstNodeTextForAPhrase(p, rstNodes);
-					if (rstIndex!=null){
-						phraseRstIndex.put(p.toString(), rstIndex );
-						rstIndexPhrase.put(rstIndex , p);
-					}
-				}
-			}
-		}	// for a pair of phrases, discover ^ in RST tree which connects these sentences
-		
-		for( int nSentFrom=0; nSentFrom<pt.getSentences().size(); nSentFrom++){
-			for(int nSentTo=nSentFrom+1; nSentTo<pt.getSentences().size(); nSentTo++){
-				System.out.println("Sent from # = "+nSentFrom + " -- " + "Sent to # = "+nSentTo);
-				
-				List<List<ParseTreeNode>> phrasesFrom = sentNumPhrasesMap.get(nSentFrom);
-				List<List<ParseTreeNode>> phrasesTo = sentNumPhrasesMap.get(nSentTo);
-				for(List<ParseTreeNode> vpFrom: phrasesFrom){
-					for(List<ParseTreeNode> vpTo: phrasesTo){
-						System.out.println("Computing arc between phrases "+ vpFrom + " => " + vpTo);
-						// get two RST nodes 
-						Integer rstNodeFrom = phraseRstIndex.get(vpFrom.toString());
-						Integer rstNodeTo = phraseRstIndex.get(vpTo.toString());
-						if (rstNodeFrom==null || rstNodeTo==null ||  rstNodeFrom >= rstNodeTo)
-							continue;
-						System.out.println("Finding RST path for phrases "+ vpFrom + "' and '"+vpTo);
-						System.out.println("Sent from # = "+nSentFrom + " -- " + "Sent to # = "+nSentTo);
-
-						Integer commonAncestorIndex = findCommonAncestor(rstNodeFrom , rstNodeTo, rstNodes);
-						if (commonAncestorIndex!=null){
-							// and figure out if they can be properly connected by an arc, by navigating RST tree
-							ArcType arcType = new ArcType("rst", rstNodes.get(rstNodeTo).getRel2par(), 0, 0);
-							WordWordInterSentenceRelationArc arcRST = 
-									new WordWordInterSentenceRelationArc(new Pair<Integer, Integer>(nSentFrom, vpFrom.get(0).getId()), 
-											new Pair<Integer, Integer>(nSentTo,  vpFrom.get(0).getId()), "", "", arcType);
-							arcsRST.add(arcRST);
-
-						}
-					}
-				} 
-			}
-		}
-
-		return arcsRST;
-	}
-
-	private Integer findAncestorForRSTnode(Integer rstNodeFrom, List<RstNode> rstNodes){
-		RstNode initNode = rstNodes.get(rstNodeFrom);
-		if (initNode.level==null)
-			return null;
-
-		try {
-			int initLevel = initNode.level;
-			int iter=1; // start with moving one step up
-			while (rstNodeFrom-iter>=0) {
-				Integer currLevel= rstNodes.get(rstNodeFrom-iter).level;
-				if ( currLevel!=null && currLevel< initLevel ) // found ancestor
-					return rstNodeFrom-iter;
-				iter++;
-			}
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-	private Integer findCommonAncestor(Integer rstNodeFrom, Integer rstNodeTo,
-			List<RstNode> rstNodes) {
-		List<Integer> ancestorsFrom = new ArrayList<Integer>() , ancestorsTo = new ArrayList<Integer>();
-		ancestorsFrom.add(rstNodeFrom);  ancestorsTo.add(rstNodeTo);
-		int curLevel = rstNodes.get(rstNodeTo).level;
-		Integer rstNodeFromCurrent = rstNodeFrom,  rstNodeToCurrent = rstNodeTo; 
-
-		while(curLevel>0){
-			if (rstNodeFromCurrent !=null) {
-				rstNodeFromCurrent = findAncestorForRSTnode(rstNodeFromCurrent, rstNodes);
-			}
-			if (rstNodeToCurrent != null){
-				rstNodeToCurrent = findAncestorForRSTnode(rstNodeToCurrent, rstNodes);
-			}
-			if (rstNodeFromCurrent !=null) {
-				ancestorsFrom.add(rstNodeFromCurrent);  
-			}
-			if (rstNodeToCurrent != null)
-				ancestorsTo.add(rstNodeToCurrent);
-
-			List<Integer> ancestorsFromCurr = new ArrayList<Integer>(ancestorsFrom);
-			ancestorsFromCurr.retainAll(ancestorsTo);
-			if (! ancestorsFromCurr.isEmpty()){
-				System.out.println("Found comm ancestor "+rstNodes.get(ancestorsFromCurr.get(0)).toString() + " id =  "+ancestorsFromCurr.get(0) + 
-						" for two RST nodes | id = "+rstNodeFrom + "'"+
-						rstNodes.get(rstNodeFrom).toString() + "' and | id = "+ rstNodeTo + "'"+ rstNodes.get(rstNodeTo).toString()+"'");
-				String rel2par =  rstNodes.get(ancestorsFromCurr.get(0)).rel2par;
-				// if common ancestor is trivial, return null and do not form a link
-				if (rel2par==null) // || rel2par.equals("span"))
-					return null;
-				else
-					return ancestorsFromCurr.get(0);
-			}
-			curLevel--;
-		}
-		return null;
-	}
-
-	private Integer findBestRstNodeTextForAPhrase(List<ParseTreeNode> ps,
-			List<RstNode> rstNodes) {
-		// firt get  the phrase string
-		String phraseStr="";
-		for(ParseTreeNode n: ps){
-			phraseStr+=" "+n.getWord();
-		}
-		phraseStr= phraseStr.trim();
-		if (phraseStr.length()<10){
-			return null;
-		}
-		// now look for closest EDU text from the list of all 
-		double rMin = -10000d; Integer index = -1;
-		int count =0;
-		for(RstNode r: rstNodes){
-			if (r.getText()==null || r.getText().length()<10){
-				count++;
-				continue;
-			}
-			double res =  strDistProc.measureStringDistanceNoStemming(phraseStr, r.getText());
-			if (res > rMin){
-				rMin=res;
-				index = count;
-			}
-			count++;
-		}
-		if (index==-1)
-			return null;
-		System.out.println("Found RST node "+ rstNodes.get(index) +" for phrase ="+phraseStr);
-		return index;
-	}
-
-	/* 
-	 * Building phrases takes a Parse Thicket and forms phrases for each sentence individually
-	 * Then based on built phrases and obtained arcs, it builds arcs for RST
-	 * Finally, based on all formed arcs, it extends phrases with thicket phrases
-	 */
-
-	public List<WordWordInterSentenceRelationArc> buildPT2ptPhrases(ParseThicket pt, String externalRSTresultFilename ) {
-		List<List<ParseTreeNode>> phrasesAllSent = new ArrayList<List<ParseTreeNode>> ();
-		Map<Integer, List<List<ParseTreeNode>>> sentNumPhrases = new HashMap<Integer, List<List<ParseTreeNode>>>();
-		// build regular phrases
-		for(int nSent=0; nSent<pt.getSentences().size(); nSent++){
-			List<ParseTreeNode> sentence = pt.getNodesThicket().get(nSent);
-			Tree ptree = pt.getSentences().get(nSent);
-			//ptree.pennPrint();
-			List<List<ParseTreeNode>> phrases = buildPT2ptPhrasesForASentence(ptree, sentence);
-			System.out.println(phrases);
-			phrasesAllSent.addAll(phrases);
-			sentNumPhrases.put(nSent, phrases);
-
-		}
-		// TODO: code to run joty suite
-		List<RstNode> rstNodes = new ExternalRSTImporter().buildArrayOfRSTnodes(null, resourceDir+externalRSTresultFilename );
-
-		// discover and add RST arcs
-		List<WordWordInterSentenceRelationArc> arcsRST = buildRSTArcsFromRSTparser(  rstNodes, null, sentNumPhrases, pt );
-		System.out.println(arcsRST);
-		return arcsRST;
-
-	}
-
-
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/MatcherExternalRST.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/MatcherExternalRST.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/MatcherExternalRST.java
deleted file mode 100644
index 215ee35..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/MatcherExternalRST.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.external_rst;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import opennlp.tools.parse_thicket.IGeneralizer;
-import opennlp.tools.parse_thicket.ParseCorefBuilderWithNER;
-import opennlp.tools.parse_thicket.ParseCorefsBuilder;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.parse_thicket.matching.GeneralizationResult;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.parse_thicket.matching.PT2ThicketPhraseBuilder;
-import opennlp.tools.parse_thicket.matching.PhraseGroupGeneralizer;
-import opennlp.tools.textsimilarity.LemmaPair;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.ParseTreeMatcherDeterministic;
-import opennlp.tools.textsimilarity.SentencePairMatchResult;
-import opennlp.tools.textsimilarity.chunker2matcher.ParserChunker2MatcherProcessor;
-
-public class MatcherExternalRST extends Matcher implements IGeneralizer<List<List<ParseTreeNode>>>{
-
-	ParseCorefBuilderWithNERandRST ptBuilderRST = new ParseCorefBuilderWithNERandRST();
-	PT2ThicketPhraseBuilder phraseBuilder = new PT2ThicketPhraseBuilder();
-
-	private String externRSTpath;
-
-	public List<List<ParseTreeChunk>> assessRelevance(String para1, String para2) {
-		// first build PTs for each text
-		ParseThicket pt1 = ptBuilderRST.buildParseThicket(para1);
-		ParseThicket pt2 = ptBuilderRST.buildParseThicket(para2);
-		// then build phrases and rst arcs
-		List<List<ParseTreeNode>> phrs1 = phraseBuilder.buildPT2ptPhrases(pt1);
-		List<List<ParseTreeNode>> phrs2 = phraseBuilder.buildPT2ptPhrases(pt2);
-		// group phrases by type
-		List<List<ParseTreeChunk>> sent1GrpLst = formGroupedPhrasesFromChunksForPara(phrs1), 
-				sent2GrpLst = formGroupedPhrasesFromChunksForPara(phrs2);
-
-		
-		List<List<ParseTreeChunk>> res = pgGen.generalize(sent1GrpLst, sent2GrpLst);
-				
-		return res;
-
-	}
-	
-	// this function is the main entry point into the PT builder if rst arcs are required
-		public ParseThicket buildParseThicketFromTextWithRST(String para){
-			ParseThicket pt = ptBuilderRST.buildParseThicket(para);
-			
-			List<List<ParseTreeNode>> phrs = phraseBuilder.buildPT2ptPhrases(pt);
-			if (pt!=null)
-				pt.setPhrases(phrs);
-			return pt;	
-		}
-	
-	public List<List<ParseTreeChunk>> assessRelevance(List<List<ParseTreeChunk>> para0, String para2) {
-		// first build PTs for each text
-	
-		ParseThicket pt2 = ptBuilder.buildParseThicket(para2);
-		// then build phrases and rst arcs
-		List<List<ParseTreeNode>> phrs2 = phraseBuilder.buildPT2ptPhrases(pt2);
-		// group phrases by type
-		List<List<ParseTreeChunk>> sent2GrpLst = formGroupedPhrasesFromChunksForPara(phrs2);
-		List<List<ParseTreeChunk>> res = pgGen.generalize(para0, sent2GrpLst);
-				
-		return res;
-
-	}
-	
-	
-	public static void main(String[] args){
-		//MatcherExternalRST m = new MatcherExternalRST();
-		
-		
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/PT2ThicketPhraseBuilderExtrnlRST.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/PT2ThicketPhraseBuilderExtrnlRST.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/PT2ThicketPhraseBuilderExtrnlRST.java
deleted file mode 100644
index b915543..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/external_rst/PT2ThicketPhraseBuilderExtrnlRST.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.external_rst;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Logger;
-
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-import opennlp.tools.parse_thicket.kernel_interface.TreeKernelRunner;
-import opennlp.tools.parse_thicket.matching.PT2ThicketPhraseBuilder;
-import opennlp.tools.parse_thicket.rhetoric_structure.RhetoricStructureArcsBuilder;
-
-import org.apache.commons.io.FileUtils;
-import org.jgrapht.Graph;
-import org.jgrapht.graph.DefaultEdge;
-import org.jgrapht.graph.SimpleGraph;
-
-
-
-
-
-
-
-
-
-
-import edu.stanford.nlp.trees.Tree;
-
-public class PT2ThicketPhraseBuilderExtrnlRST extends PT2ThicketPhraseBuilder{
-
-	private RhetoricStructureArcsBuilder rstBuilder = new RhetoricStructureArcsBuilder();
-	private ExternalRSTImporter externalRstBuilder = new ExternalRSTImporter();
-	private static Logger log = Logger
-		      .getLogger("opennlp.tools.parse_thicket.external_rst.PT2ThicketPhraseBuilderExtrnlRST");
-
-
-	/*
-	 * Building phrases takes a Parse Thicket and forms phrases for each sentence individually
-	 * Then based on built phrases and obtained arcs, it builds arcs for RST
-	 * Finally, based on all formed arcs, it extends phrases with thicket phrases
-	 */
-
-	public List<List<ParseTreeNode>> buildPT2ptPhrases(ParseThicket pt, String text, String externRSTpath) {
-		List<List<ParseTreeNode>> phrasesAllSent = new ArrayList<List<ParseTreeNode>> ();
-		Map<Integer, List<List<ParseTreeNode>>> sentNumPhrases = new HashMap<Integer, List<List<ParseTreeNode>>>();
-		// build regular phrases
-		for(int nSent=0; nSent<pt.getSentences().size(); nSent++){
-			List<ParseTreeNode> sentence = pt.getNodesThicket().get(nSent);
-			Tree ptree = pt.getSentences().get(nSent);
-			//ptree.pennPrint();
-			List<List<ParseTreeNode>> phrases = buildPT2ptPhrasesForASentence(ptree, sentence);
-			System.out.println(phrases);
-			phrasesAllSent.addAll(phrases);
-			sentNumPhrases.put(nSent, phrases);
-
-		}
-		String filename = "default.txt";
-		
-		try {
-			filename = text.split("/n")[0]+".txt";
-			FileUtils.writeStringToFile(new File(externRSTpath+"/"+filename), text, "utf-8");
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		// discover and add RST arcs
-		List<WordWordInterSentenceRelationArc> arcsRST =
-				rstBuilder.buildRSTArcsFromMarkersAndCorefs(pt.getArcs(), sentNumPhrases, pt);
-		String[] commandLine1 = new String[]{"python", "Discourse_Segmenter.py",  filename}, commandLine2=
-				new String[]{"python", "Discourse_Parser.py", "tmp.edu"};
-		new TreeKernelRunner().runEXE(commandLine1, externRSTpath);
-		new TreeKernelRunner().runEXE(commandLine2, externRSTpath);
-		
-		// TODO: code to run joty suite
-		List<RstNode> rstNodes = new ExternalRSTImporter().buildArrayOfRSTnodes(null, externRSTpath+"/tmp_doc.dis");
-	
-		// discover and add RST arcs
-		List<WordWordInterSentenceRelationArc> arcsRSTexternal = externalRstBuilder.buildRSTArcsFromRSTparser(  rstNodes, null, sentNumPhrases, pt );
-		System.out.println(arcsRST);
-
-
-		List<WordWordInterSentenceRelationArc> arcs = pt.getArcs();
-		arcs.addAll(arcsRST);
-		arcs.addAll(arcsRSTexternal);
-		pt.setArcs(arcs);
-
-
-		List<List<ParseTreeNode>> expandedPhrases = expandTowardsThicketPhrases(phrasesAllSent, pt.getArcs(), sentNumPhrases, pt);
-		return expandedPhrases;
-	}
-
-	
-
-}


[09/11] opennlp-sandbox git commit: removed stanford nlp refs

Posted by bg...@apache.org.
http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelBasedClassifier.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelBasedClassifier.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelBasedClassifier.java
deleted file mode 100644
index d1c80ad..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelBasedClassifier.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.kernel_interface;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Logger;
-
-import org.apache.commons.io.FileUtils;
-
-
-import org.apache.tika.Tika;
-import org.apache.tika.exception.TikaException;
-
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.parse_thicket.apps.MultiSentenceSearchResultsProcessor;
-import opennlp.tools.parse_thicket.matching.Matcher;
-
-public class TreeKernelBasedClassifier {
-	protected static Logger LOG = Logger
-			.getLogger("opennlp.tools.similarity.apps.TreeKernelBasedClassifier");
-	protected ArrayList<File> queuePos = new ArrayList<File>(), queueNeg = new ArrayList<File>();
-  
-	protected Matcher matcher = new Matcher();
-	protected TreeKernelRunner tkRunner = new TreeKernelRunner();
-	protected TreeExtenderByAnotherLinkedTree treeExtender = new TreeExtenderByAnotherLinkedTree();
-
-
-	protected String path;
-	public void setKernelPath (String path){
-		this.path=path;
-	}
-	protected static final String modelFileName = "model.txt";
-
-	protected static final String trainingFileName = "training.txt";
-
-	protected static final String unknownToBeClassified = "unknown.txt";
-
-	protected static final String classifierOutput = "classifier_output.txt";
-	protected static final Float MIN_SVM_SCORE_TOBE_IN = 0.2f;
-	
-	/* main entry point to SVM TK classifier
-     * gets a file, reads it outside of CI, extracts longer paragraphs and builds parse thickets for them.
-     * Then parse thicket dump is processed by svm_classify
-     */
-	public Boolean classifyText(File f){
-		FileUtils.deleteQuietly(new File(path+unknownToBeClassified)); 
-		if (!(new File(path+modelFileName).exists())){
-			LOG.severe("Model file '" +modelFileName + "'is absent: skip SVM classification");
-			return null;
-		}
-		Map<Integer, Integer> countObject = new HashMap<Integer, Integer>(); 
-		int itemCount=0, objectCount = 0;
-		List<String> treeBankBuffer = new ArrayList<String>();	
-		List<String> texts=DescriptiveParagraphFromDocExtractor.getLongParagraphsFromFile(f);
-		List<String> lines = formTreeKernelStructuresMultiplePara(texts, "0");
-		for(String l: lines){
-			countObject.put(itemCount, objectCount);
-			itemCount++;
-		}
-		objectCount++;
-		treeBankBuffer.addAll(lines);		
-
-		// write the lists of samples to a file
-		try {
-			FileUtils.writeLines(new File(path+unknownToBeClassified), null, treeBankBuffer);
-		} catch (IOException e) {
-			LOG.severe("Problem creating parse thicket files '"+ path+unknownToBeClassified + "' to be classified\n"+ e.getMessage() );
-		}
-
-		tkRunner.runClassifier(path, unknownToBeClassified, modelFileName, classifierOutput);
-		// read classification results
-		List<String[]> classifResults = ProfileReaderWriter.readProfiles(path+classifierOutput, ' ');
-
-
-		itemCount=0; objectCount = 0;
-		int currentItemCount=0;
-		float accum = 0;
-		LOG.info("\nsvm scores per paragraph: " );
-		for(String[] line: classifResults){
-			Float val = Float.parseFloat(line[0]);
-			System.out.print(val+" ");
-			accum+=val;
-			currentItemCount++;
-		}
-
-		float averaged = accum/(float)currentItemCount;
-		LOG.info("\n average = "+averaged);
-		currentItemCount=0;
-		Boolean in = false;
-		if (averaged> MIN_SVM_SCORE_TOBE_IN)
-			return true;
-		else
-			return false;
-	}
-
-	protected void addFilesPos(File file) {
-
-		if (!file.exists()) {
-			System.out.println(file + " does not exist.");
-		}
-		if (file.isDirectory()) {
-			for (File f : file.listFiles()) {
-				//if (!(f.getName().endsWith(".txt") || f.getName().endsWith(".pdf")))
-				//	continue;
-				addFilesPos(f);
-				System.out.println(f.getName());
-			}
-		} else {
-			queuePos.add(file);
-		}
-	}
-	
-	protected void addFilesNeg(File file) {
-
-		if (!file.exists()) {
-			System.out.println(file + " does not exist.");
-		}
-		if (file.isDirectory()) {
-			for (File f : file.listFiles()) {
-				//if (!(f.getName().endsWith(".txt")||f.getName().endsWith(".pdf")))
-				//	continue;
-				addFilesNeg(f);
-				System.out.println(f.getName());
-			}
-		} else {
-			queueNeg.add(file);
-		}
-	}
-
-	protected void trainClassifier(
-			String posDirectory, String negDirectory) {
-		
-		queuePos.clear(); queueNeg.clear();
-		addFilesPos(new File(posDirectory));
-		addFilesNeg(new File(negDirectory));
-		
-		List<File> filesPos = new ArrayList<File>(queuePos), filesNeg = new ArrayList<File>(queueNeg);
-		
-		List<String[]> treeBankBuffer = new ArrayList<String[]>();
-
-		for (File f : filesPos) {
-			// get first paragraph of text
-			String text=DescriptiveParagraphFromDocExtractor.getFirstParagraphFromFile(f);		
-			treeBankBuffer.add(new String[]{formTreeKernelStructure(text, "1")});		
-		}	
-		for (File f : filesNeg) {
-			// get first paragraph of text
-			String text=DescriptiveParagraphFromDocExtractor.getFirstParagraphFromFile(f);
-			treeBankBuffer.add(new String[]{formTreeKernelStructure(text, "-1")});		
-		}	
-		
-		// write the lists of samples to a file
-		ProfileReaderWriter.writeReport(treeBankBuffer, path+trainingFileName, ' ');
-		// build the model
-		tkRunner.runLearner(path, trainingFileName, modelFileName);
-	}
-
-	public List<String[]> classifyFilesInDirectory(String dirFilesToBeClassified){
-		List<String[]> treeBankBuffer = new ArrayList<String[]>();
-		queuePos.clear();
-		addFilesPos(new File( dirFilesToBeClassified));
-		List<File> filesUnkn = new ArrayList<File>(queuePos);
-		for (File f : filesUnkn) {	
-			String text=DescriptiveParagraphFromDocExtractor.getFirstParagraphFromFile(f);
-			String line = formTreeKernelStructure(text, "0");
-			treeBankBuffer.add(new String[]{line});		
-		}	
-	
-		// form a file from the texts to be classified
-		ProfileReaderWriter.writeReport(treeBankBuffer, path+unknownToBeClassified, ' ');
-		
-		tkRunner.runClassifier(path, unknownToBeClassified, modelFileName, classifierOutput);
-		// read classification results
-		List<String[]> classifResults = ProfileReaderWriter.readProfiles(path+classifierOutput, ' ');
-		// iterate through classification results and set them as scores for hits
-		List<String[]>results = new ArrayList<String[]>();
-		int count=0;
-		for(String[] line: classifResults){
-			Float val = Float.parseFloat(line[0]);
-			Boolean in = false;
-			if (val> MIN_SVM_SCORE_TOBE_IN)
-				in = true;
-			
-			String[] rline = new String[]{filesUnkn.get(count).getName(), in.toString(), line[0], filesUnkn.get(count).getAbsolutePath() }; // treeBankBuffer.get(count).toString() };
-			results.add(rline);
-			count++;
-			
-		}
-		return results;
-
-	}
-
-	protected List<String> formTreeKernelStructuresMultiplePara(List<String> texts, String flag) {
-		List<String> extendedTreesDumpTotal = new ArrayList<String>();
-		try {
-
-			for(String text: texts){
-				// get the parses from original documents, and form the training dataset
-				LOG.info("About to build pt from "+text);
-				ParseThicket pt = matcher.buildParseThicketFromTextWithRST(text);
-				LOG.info("About to build extended forest ");
-				List<String> extendedTreesDump = treeExtender.buildForestForCorefArcs(pt);
-				for(String line: extendedTreesDump)
-					extendedTreesDumpTotal.add(flag + " |BT| "+line + " |ET| ");
-				LOG.info("DONE");
-			}
-
-		} catch (Exception e) {
-			LOG.severe("Problem forming  parse thicket flat file to be classified\n"+ e.getMessage() );
-		}
-		return extendedTreesDumpTotal;
-	}
-	protected String formTreeKernelStructure(String text, String flag) {
-		String treeBankBuffer = "";
-		try {
-			// get the parses from original documents, and form the training dataset
-			LOG.info("About to build pt from "+text);
-			ParseThicket pt = matcher.buildParseThicketFromTextWithRST(text);
-			LOG.info("About to build extended forest ");
-			List<String> extendedTreesDump = treeExtender.buildForestForCorefArcs(pt);
-			LOG.info("DONE");
-
-			treeBankBuffer+=flag;
-			// form the list of training samples
-			for(String t: extendedTreesDump ){
-				if (BracesProcessor.isBalanced(t))
-					treeBankBuffer+=" |BT| "+t;
-				else
-					System.err.println("Wrong tree: " + t);
-			}
-			if (extendedTreesDump.size()<1)
-				treeBankBuffer+=" |BT| ";
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return treeBankBuffer+ " |ET|";
-	}
-
-	public static void main(String[] args){
-		VerbNetProcessor p = VerbNetProcessor.
-				getInstance("/Users/borisgalitsky/Documents/workspace/deepContentInspection/src/test/resources"); 
-				
-		TreeKernelBasedClassifier proc = new TreeKernelBasedClassifier();
-		proc.setKernelPath("/Users/borisgalitsky/Documents/tree_kernel/");
-		proc.trainClassifier(args[0], args[1]);
-		List<String[]>res = proc.classifyFilesInDirectory(args[2]);
-		ProfileReaderWriter.writeReport(res, "svmDesignDocReport03minus.csv");
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelBasedClassifierMultiplePara.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelBasedClassifierMultiplePara.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelBasedClassifierMultiplePara.java
deleted file mode 100644
index 45fb98c..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelBasedClassifierMultiplePara.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.kernel_interface;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Logger;
-
-import org.apache.commons.io.FileUtils;
-
-
-import org.apache.tika.Tika;
-import org.apache.tika.exception.TikaException;
-
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.parse_thicket.apps.MultiSentenceSearchResultsProcessor;
-import opennlp.tools.parse_thicket.matching.Matcher;
-
-public class TreeKernelBasedClassifierMultiplePara extends TreeKernelBasedClassifier{
-	boolean bShortRun = false;
-	public void setShortRun(){
-		bShortRun = true;
-	}
-
-
-	public void trainClassifier(
-			String posDirectory, String negDirectory) {
-
-		queuePos.clear(); queueNeg.clear();
-		addFilesPos(new File(posDirectory));
-		addFilesNeg(new File(negDirectory));
-
-		List<File> filesPos = new ArrayList<File>(queuePos), filesNeg = new ArrayList<File>(queueNeg);
-
-		Collection<String> treeBankBuffer = new ArrayList<String>();
-		int countPos=0, countNeg=0;
-
-		for (File f : filesPos) {
-			// get first paragraph of text
-			List<String> texts=DescriptiveParagraphFromDocExtractor.getLongParagraphsFromFile(f);		
-			List<String> lines = formTreeKernelStructuresMultiplePara(texts, "1");
-			treeBankBuffer.addAll(lines);		
-			if (bShortRun && countPos>3000)
-				break;
-
-			countPos++;
-		}	
-		for (File f : filesNeg) {
-			// get first paragraph of text 
-			List<String> texts=DescriptiveParagraphFromDocExtractor.getLongParagraphsFromFile(f);	
-			List<String> lines = formTreeKernelStructuresMultiplePara(texts, "-1");
-			treeBankBuffer.addAll(lines);	
-			if (bShortRun && countNeg>3000)
-				break;
-
-			countNeg++;
-		}	
-
-		// write the lists of samples to a file
-		try {
-			FileUtils.writeLines(new File(path+trainingFileName), null, treeBankBuffer);
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		//	ProfileReaderWriter.writeReport(treeBankBuffer, path+trainingFileName, ' ');
-		// build the model
-		tkRunner.runLearner(path, trainingFileName, modelFileName);
-	}
-
-	public List<String[]> classifyFilesInDirectory(String dirFilesToBeClassified){
-		Map<Integer, Integer> countObject = new HashMap<Integer, Integer>(); 
-		int itemCount=0, objectCount = 0;
-		List<String> treeBankBuffer = new ArrayList<String>();
-		queuePos.clear();
-		addFilesPos(new File( dirFilesToBeClassified));
-		List<File> filesUnkn = new ArrayList<File>(queuePos);
-		for (File f : filesUnkn) {	
-			List<String> texts=DescriptiveParagraphFromDocExtractor.getLongParagraphsFromFile(f);
-			List<String> lines = formTreeKernelStructuresMultiplePara(texts, "0");
-			for(String l: lines){
-				countObject.put(itemCount, objectCount);
-				itemCount++;
-			}
-			objectCount++;
-			treeBankBuffer.addAll(lines);		
-		}	
-		// write the lists of samples to a file
-		try {
-			FileUtils.writeLines(new File(path+unknownToBeClassified), null, treeBankBuffer);
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-
-		tkRunner.runClassifier(path, unknownToBeClassified, modelFileName, classifierOutput);
-		// read classification results
-		List<String[]> classifResults = ProfileReaderWriter.readProfiles(path+classifierOutput, ' ');
-		// iterate through classification results and set them as scores for hits
-		List<String[]>results = new ArrayList<String[]>();
-
-		itemCount=0; objectCount = 0;
-		int currentItemCount=0;
-		float accum = 0;
-		for(String[] line: classifResults){
-			Float val = Float.parseFloat(line[0]);
-			accum+=val;
-			// last line
-			Boolean bLastLine = false;
-			if (itemCount==classifResults.size()-1)
-				bLastLine = true;
-
-			if (objectCount== countObject .get(itemCount) /*&& !bLastLine*/){
-				itemCount++; 
-				currentItemCount++;
-				continue;
-			}
-			else while(objectCount!= countObject .get(itemCount)-1){
-				objectCount++;
-				String[] rline = new String[]{filesUnkn.get(objectCount).getName(), "unknown", "0",
-						filesUnkn.get(objectCount).getAbsolutePath() , new Integer(itemCount).toString(), new Integer(objectCount).toString()}; 
-				results.add(rline);
-			}
-			objectCount = countObject.get(itemCount);
-			itemCount++; 
-
-			float averaged = accum/(float)currentItemCount;
-			currentItemCount=0;
-			Boolean in = false;
-			if (averaged> MIN_SVM_SCORE_TOBE_IN)
-				in = true;
-
-			String[] rline = new String[]{filesUnkn.get(objectCount).getName(), in.toString(), new Float(averaged).toString(),
-					filesUnkn.get(objectCount).getAbsolutePath() , new Integer(itemCount).toString(), new Integer(objectCount).toString()}; 
-			results.add(rline);
-			accum=0;
-		}
-		return results;
-
-	}
-
-
-	protected List<String> formTreeKernelStructuresMultiplePara(List<String> texts, String flag) {
-		List<String> extendedTreesDumpTotal = new ArrayList<String>();
-		try {
-			for(String text: texts){
-				// get the parses from original documents, and form the training dataset
-				System.out.println("About to build pt from "+text);
-				ParseThicket pt = matcher.buildParseThicketFromTextWithRST(text);
-				System.out.print("About to build extended forest ");
-				List<String> extendedTreesDump = treeExtender.buildForestForCorefArcs(pt);
-				for(String line: extendedTreesDump)
-					extendedTreesDumpTotal.add(flag + " |BT| "+line + " |ET| ");
-				System.out.println("DONE");
-			}
-
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return extendedTreesDumpTotal;
-	}
-
-	public static void main(String[] args){
-		VerbNetProcessor p = VerbNetProcessor.
-				getInstance("/Users/bgalitsky/Documents/relevance-based-on-parse-trees/src/test/resources"); 
-
-		TreeKernelBasedClassifierMultiplePara proc = new TreeKernelBasedClassifierMultiplePara();
-		proc.setKernelPath("/Users/bgalitsky/Documents/relevance-based-on-parse-trees/src/test/resources/tree_kernel/");
-		proc.trainClassifier(
-
-				"/Users/bgalitsky/Documents/relevance-based-on-parse-trees/src/test/resources/style_recognizer/txt/ted",
-				"/Users/bgalitsky/Documents/relevance-based-on-parse-trees/src/test/resources/style_recognizer/txt/Tedi");
-
-		//		List<String[]>res = proc.classifyFilesInDirectory(args[2]);
-		//		ProfileReaderWriter.writeReport(res, "svmDesignDocReport05plus.csv");
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelBasedClassifierOfDiscourseTree.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelBasedClassifierOfDiscourseTree.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelBasedClassifierOfDiscourseTree.java
deleted file mode 100644
index 71e8245..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelBasedClassifierOfDiscourseTree.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.kernel_interface;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.parse_thicket.external_rst.MatcherExternalRST;
-import opennlp.tools.parse_thicket.external_rst.ParseThicketWithDiscourseTree;
-
-/*
- * This class performs TK learning based on parse thicket which includes RST relations only 
- * based on Surdeanu at al RST parser. It does sentence parsing and NLP pipeline of 
- * Surdeanu's wrapper of Stanford NLP
- */
-public class TreeKernelBasedClassifierOfDiscourseTree extends TreeKernelBasedClassifierMultiplePara{
-
-	private MatcherExternalRST matcherRST = new MatcherExternalRST();
-
-	protected List<String> formTreeKernelStructuresMultiplePara(List<String> texts, String flag) {
-		//TODO
-		//this.setShortRun();	
-		List<String> extendedTreesDumpTotal = new ArrayList<String>();
-		try {
-
-			for(String text: texts){
-				// get the parses from original documents, and form the training dataset
-				try {
-					System.out.print("About to build pt with external rst from "+text + "\n...");
-					ParseThicket pt = matcherRST.buildParseThicketFromTextWithRST(text);
-					if (pt == null)
-						continue;
-					System.out.print("About to build extended forest with external rst...");
-					List<String> extendedTreesDump =  // use direct option (true
-							buildReptresentationForDiscourseTreeAndExtensions((ParseThicketWithDiscourseTree)pt, false);
-									//true);
-					for(String line: extendedTreesDump)
-						extendedTreesDumpTotal.add(flag + " |BT| "+line + " |ET| ");
-					System.out.println("DONE");
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return extendedTreesDumpTotal;
-	}
-
-	private List<String> buildReptresentationForDiscourseTreeAndExtensions(ParseThicketWithDiscourseTree pt, boolean bDirectDT){
-		List<String> extendedTreesDump = new ArrayList<String>();
-		if (!bDirectDT)
-			// option 1: use RST relation for extended trees 
-			extendedTreesDump = treeExtender.buildForestForRSTArcs(pt);
-		else {
-			// option 2: use DT directly
-			extendedTreesDump.add(pt.getDtDump());
-		    extendedTreesDump.add(pt.getDtDumpWithPOS());
-		    extendedTreesDump.add(pt.getDtDumpWithEmbeddedTrees());
-		    extendedTreesDump.add(pt.getDtDumpWithVerbNet());
-		}		
-		return extendedTreesDump;
-	}
-	
-	/*
-	 * dtDump
-	 * 1 |BT| (elaboration (joint (attribution (I though) (I d tell you a little about what I like to write )) (joint (And I like to immerse myself in my topics ) (joint (I just like to dive right i) (and become sort of a human guinea pig )))) (elaboration (joint (And I see my life as a series of experiments ) (joint (So , I work for Esquire magazine ) (elaboration (elaboration (and a couple of years ago I wrote an articl) (called My Outsourced Life )) (enablement (where I hired a team of people in Bangalore , India ) (to live my life for me ))))) (elaboration (So they answered my emails ) (They answered my phone )))) |ET|
-	 * 
-	 * getDtDumpWithPOS
-	 * 
-	 *  1 |BT| (elaboration (joint (attribution (I PRP)(thought VBD) (I PRP)(d NN)(tell VBP)(you PRP)(a DT)(little JJ)(about IN)(what WP)(I PRP)(like VBP)(to TO)(write VB)) (joint (And CC)(I PRP)(like VBP)(to TO)(immerse VB)(myself PRP)(in IN)(my PRP$)(topics NNS) (joint (I PRP)(just RB)(like VBP)(to TO)(dive NN)(right NN)(in IN) (and CC)(become VB)(sort NN)(of IN)(a DT)(human JJ)(guinea NN)(pig NN)))) (elaboration (joint (And CC)(I PRP)(see VBP)(my PRP$)(life NN)(as IN)(a DT)(series NN)(of IN)(experiments NNS) (joint (So RB)(I PRP)(work VBP)(for IN)(Esquire NNP)(magazine NN) (elaboration (elaboration (and CC)(a DT)(couple NN)(of IN)(years NNS)(ago IN)(I PRP)(wrote VBD)(an DT)(article NN) (called VBN)(My PRP$)(Outsourced JJ)(Life NNP)) (enablement (where WRB)(I PRP)(hired VBD)(a DT)(team NN)(of IN)(people NNS)(in IN)(Bangalore NNP)(India NNP) (to TO)(live VB)(my PRP$)(life NN)(for IN)(me PRP))))) (elaboration (So IN)(they PRP)(answered VBD)(my PRP$)(emails NNS) (They PRP)(answered VBD)
 (my PRP$)(phone NN)))) |ET| 
-	 * 
-	 * getDtDumpWithEmbeddedTrees()
-	 * 1 |BT| (elaboration (joint (attribution (SBAR (S (NP (PRP I)) (VP (ADVP (NN d)) (VBP tell) (NP (PRP you)) (PP (NP (DT a) (JJ little)) (IN about) (SBAR (WHNP (WP what)) (S (NP (PRP I)) (VP (VBP like) (S (VP (TO to) (VP (VB write))))))))))) (VBP tell)) (joint (VP (VBP like) (S (VP (TO to) (VP (VB immerse) (NP (PRP myself)) (PP (IN in) (NP (PRP$ my) (NNS topics))))))) (joint (VP (VP (VBP like) (PP (TO to) (NP (NN dive) (NN right))) (PP (IN in))) (CC and) (VP (VB become) (NP (NP (NN sort)) (PP (IN of) (NP (DT a) (JJ human) (NN guinea) (NN pig)))))) (NP (NP (NN sort)) (PP (IN of) (NP (DT a) (JJ human) (NN guinea) (NN pig))))))) (elaboration (joint (VP (VBP see) (NP (PRP$ my) (NN life)) (PP (IN as) (NP (NP (DT a) (NN series)) (PP (IN of) (NP (NNS experiments)))))) (joint (S (NP (PRP I)) (VP (VBP work) (PP (IN for) (NP (NNP Esquire) (NN magazine))))) (elaboration (elaboration (NN couple) (JJ Outsourced)) (enablement (VP (VBP work) (PP (IN for) (NP (NNP Esquire) (NN magazine)))) (NP (PR
 P$ my) (NN life)))))) (elaboration (VP (VBD answered) (NP (PRP$ my) (NNS emails))) (NP (PRP$ my) (NN phone))))) |ET|
-	 
-	 pt.getDtDumpWithVerbNet()
-	 1 |BT| (elaboration (joint (attribution (I PRP)(thought VBD) (I PRP)(d NN) (tell  (tell-372 tell-372 tell-372 ) (NP V NP NP V NP PP-topic NP V NP S ) (NP NP-PPof-PP NP-S ) ) (you PRP)(a DT)(little JJ)(about IN)(what WP)(I PRP)(like VBP)(to TO)(write VB)) (joint (And CC)(I PRP)(like VBP)(to TO)(immerse VB)(myself PRP)(in IN)(my PRP$)(topics NNS) (joint (I PRP)(just RB)(like VBP)(to TO)(dive NN)(right NN)(in IN) (and CC)(become VB)(sort NN)(of IN)(a DT)(human JJ)(guinea NN)(pig NN)))) (elaboration (joint (And CC)(I PRP) (see  (see-301 see-301 see-301 ) (NP V NP NP V that S NP V NP-ATTR-POS PP-oblique NP V how S NP V what S ) (Basic Transitive S Attribute Object Possessor-Attribute Factoring Alternation HOW-S WHAT-S ) ) (my PRP$)(life NN)(as IN)(a DT)(series NN)(of IN)(experiments NNS) (joint (So RB)(I PRP)(work VBP)(for IN)(Esquire NNP)(magazine NN) (elaboration (elaboration (and CC)(a DT)(couple NN)(of IN)(years NNS)(ago IN)(I PRP)(wrote VBD)(an DT)(article NN) (call  (dub-293 dub-
 293 dub-293 ) (NP V NP NP NP V NP ) (NP-NP Basic Transitive ) ) (My PRP$)(Outsourced JJ)(Life NNP)) (enablement (where WRB)(I PRP) (hire  (hire-1353 hire-1353 hire-1353 ) (NP V NP NP V NP PP-predicate ) (NP NP-PPas-PP ) ) (a DT)(team NN)(of IN)(people NNS)(in IN)(Bangalore NNP)(India NNP) (to TO)(live VB)(my PRP$)(life NN)(for IN)(me PRP))))) (elaboration (So IN)(they PRP)(answered VBD)(my PRP$)(emails NNS) (They PRP)(answered VBD)(my PRP$)(phone NN)))) |ET|
-	 *
-	 */
-	
-	
-	
-	public static void main(String[] args){
-		VerbNetProcessor p = VerbNetProcessor.
-				getInstance("/Users/borisgalitsky/Documents/workspace/relevance-based-on-parse-trees/src/test/resources"); 
-
-		TreeKernelBasedClassifierOfDiscourseTree proc = new TreeKernelBasedClassifierOfDiscourseTree();
-		proc.setKernelPath("/Users/borisgalitsky/Documents/workspace/relevance-based-on-parse-trees/src/test/resources/tree_kernel/");
-		proc.trainClassifier(
-//				"/Users/bgalitsky/Documents/relevance-based-on-parse-trees/src/test/resources/style_recognizer/txt/ted",
-//				"/Users/bgalitsky/Documents/relevance-based-on-parse-trees/src/test/resources/style_recognizer/txt/Tedi");
-				//"/Users/bgalitsky/Documents/ENRON/enron_random",
-				
-	//			"/Users/bgalitsky/Documents/ENRON/data11_17",
-	//	"/Users/bgalitsky/Documents/ENRON/enron_secrecy"
-	//			"/Users/bgalitsky/Downloads/op_spam_v1.4/positive_polarity/truthful_from_TripAdvisor",
-				"/Users/bgalitsky/Downloads/op_spam_v1.4/negative_polarity/deceptive_from_MTurk",
-				"/Users/bgalitsky/Downloads/op_spam_v1.4/negative_polarity/truthful_from_Web" 
-				);
-				
-//				"/Users/borisgalitsky/Documents/workspace/relevance-based-on-parse-trees/src/test/resources/style_recognizer/txt/ted",
-//				"/Users/borisgalitsky/Documents/workspace/relevance-based-on-parse-trees/src/test/resources/style_recognizer/txt/Tedi");
-
-	}
-
-}
-/*
- * 
-RST - based run
-Number of examples: 6980, linear space size: 10
-ted vs Tedi
-
-estimating ...
-Setting default regularization parameter C=1.0000
-Optimizing...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
- Checking optimality of inactive variables...done.
- Number of inactive variables = 1931
-done. (3597 iterations)
-Optimization finished (78 misclassified, maxdiff=0.00100).
-Runtime in cpu-seconds: 198.37
-Number of SV: 3830 (including 652 at upper bound)
-L1 loss: loss=261.78883
-Norm of weight vector: |w|=41.37067
-Norm of longest example vector: |x|=1.00000
-Estimated VCdim of classifier: VCdim<=1712.53247
-Computing XiAlpha-estimates...done
-Runtime for XiAlpha-estimates in cpu-seconds: 0.05
-XiAlpha-estimate of the error: error<=11.53% (rho=1.00,depth=0)
-XiAlpha-estimate of the recall: recall=>97.01% (rho=1.00,depth=0)
-XiAlpha-estimate of the precision: precision=>89.47% (rho=1.00,depth=0)
-Number of kernel evaluations: 73092240
-
-GENERAL RUN (the same set of texts)
-Number of examples: 21146, linear space size: 10
-
-estimating ...
-Setting default regularization parameter C=1.0000
-Optimizing...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 ..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
- Checking optimality of inactive variables...done.
- Number of inactive variables = 8849
-done. (5770 iterations)
-Optimization finished (231 misclassified, maxdiff=0.00098).
-Runtime in cpu-seconds: 1486.33
-Number of SV: 5368 (including 940 at upper bound)
-L1 loss: loss=582.99311
-Norm of weight vector: |w|=46.91885
-Norm of longest example vector: |x|=1.00000
-Estimated VCdim of classifier: VCdim<=2202.37876
-Computing XiAlpha-estimates...done
-Runtime for XiAlpha-estimates in cpu-seconds: 0.13
-XiAlpha-estimate of the error: error<=5.57% (rho=1.00,depth=0)
-XiAlpha-estimate of the recall: recall=>98.42% (rho=1.00,depth=0)
-XiAlpha-estimate of the precision: precision=>95.18% (rho=1.00,depth=0)
-Number of kernel evaluations: 550748695
-Writing model file...done
-
-
-Number of examples: 7461, linear space size: 10
-
-estimating ...
-Setting default regularization parameter C=1.0000
-Optimizing...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
- Checking optimality of inactive variables...done.
- Number of inactive variables = 2091
-done. (3773 iterations)
-Optimization finished (87 misclassified, maxdiff=0.00096).
-Runtime in cpu-seconds: 231.42
-Number of SV: 4092 (including 680 at upper bound)
-L1 loss: loss=280.03696
-Norm of weight vector: |w|=42.82963
-Norm of longest example vector: |x|=1.00000
-Estimated VCdim of classifier: VCdim<=1835.37688
-Computing XiAlpha-estimates...done
-Runtime for XiAlpha-estimates in cpu-seconds: 0.05
-XiAlpha-estimate of the error: error<=11.54% (rho=1.00,depth=0)
-XiAlpha-estimate of the recall: recall=>96.75% (rho=1.00,depth=0)
-XiAlpha-estimate of the precision: precision=>89.59% (rho=1.00,depth=0)
-Number of kernel evaluations: 94432306
-Writing model file...done
-
-
-
-SMALL SET
-
-Number of examples: 172, linear space size: 10
-
-estimating ...
-Setting default regularization parameter C=1.0000
-Optimizing.......................................................done. (56 iterations)
-Optimization finished (0 misclassified, maxdiff=0.00076).
-Runtime in cpu-seconds: 0.01
-Number of SV: 172 (including 59 at upper bound)
-L1 loss: loss=7.38525
-Norm of weight vector: |w|=12.46777
-Norm of longest example vector: |x|=1.00000
-Estimated VCdim of classifier: VCdim<=156.44537
-Computing XiAlpha-estimates...done
-Runtime for XiAlpha-estimates in cpu-seconds: 0.00
-XiAlpha-estimate of the error: error<=44.77% (rho=1.00,depth=0)
-XiAlpha-estimate of the recall: recall=>79.55% (rho=1.00,depth=0)
-XiAlpha-estimate of the precision: precision=>54.26% (rho=1.00,depth=0)
-Number of kernel evaluations: 20139
-Writing model file...done
-
-
-LONGER RUN, DTs only
-Number of examples: 720, linear space size: 10
-
-estimating ...
-Setting default regularization parameter C=1.0000
-Optimizing............................................................................................................................................................................................................................................................................
- Checking optimality of inactive variables...done.
- Number of inactive variables = 114
-done. (269 iterations)
-Optimization finished (11 misclassified, maxdiff=0.00096).
-Runtime in cpu-seconds: 0.17
-Number of SV: 712 (including 140 at upper bound)
-L1 loss: loss=117.83422
-Norm of weight vector: |w|=12.73402
-Norm of longest example vector: |x|=1.00000
-Estimated VCdim of classifier: VCdim<=163.15526
-Computing XiAlpha-estimates...done
-Runtime for XiAlpha-estimates in cpu-seconds: 0.00
-XiAlpha-estimate of the error: error<=20.14% (rho=1.00,depth=0)
-XiAlpha-estimate of the recall: recall=>99.14% (rho=1.00,depth=0)
-XiAlpha-estimate of the precision: precision=>80.42% (rho=1.00,depth=0)
-Number of kernel evaluations: 283615
-Writing model file...done
-
-HYBRID RUN
-Number of examples: 8301, linear space size: 10
-
-estimating ...
-Setting default regularization parameter C=1.0000
-Optimizing................................
- Checking optimality of inactive variables...done.
- Number of inactive variables = 2323
-done. (4206 iterations)
-Optimization finished (98 misclassified, maxdiff=0.00099).
-Runtime in cpu-seconds: 299.94
-Number of SV: 4870 (including 846 at upper bound)
-L1 loss: loss=398.61389
-Norm of weight vector: |w|=44.95124
-Norm of longest example vector: |x|=1.00000
-Estimated VCdim of classifier: VCdim<=2021.61414
-Computing XiAlpha-estimates...done
-Runtime for XiAlpha-estimates in cpu-seconds: 0.05
-XiAlpha-estimate of the error: error<=12.32% (rho=1.00,depth=0)
-XiAlpha-estimate of the recall: recall=>97.15% (rho=1.00,depth=0)
-XiAlpha-estimate of the precision: precision=>88.53% (rho=1.00,depth=0)
-Number of kernel evaluations: 138447398
-Writing model file...done
-
-HYBRID FULL RUN
-
-Number of examples: 2880, linear space size: 10
-
-estimating ...
-Setting default regularization parameter C=1.0021
-Optimizing...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
- Checking optimality of inactive variables...done.
- Number of inactive variables = 1035
-done. (1820 iterations)
-Optimization finished (162 misclassified, maxdiff=0.00099).
-Runtime in cpu-seconds: 1.35
-Number of SV: 1552 (including 556 at upper bound)
-L1 loss: loss=426.90789
-Norm of weight vector: |w|=25.52139
-Norm of longest example vector: |x|=1.00000
-Estimated VCdim of classifier: VCdim<=652.34149
-Computing XiAlpha-estimates...done
-Runtime for XiAlpha-estimates in cpu-seconds: 0.01
-XiAlpha-estimate of the error: error<=23.92% (rho=1.00,depth=0)
-XiAlpha-estimate of the recall: recall=>92.67% (rho=1.00,depth=0)
-XiAlpha-estimate of the precision: precision=>80.55% (rho=1.00,depth=0)
-Number of kernel evaluations: 4075095
-Writing model file...done
-
-
-
-
-
-positive vs negative sentiment
-"/Users/bgalitsky/Downloads/op_spam_v1.4/positive_polarity/truthful_from_TripAdvisor",
-				"/Users/bgalitsky/Downloads/op_spam_v1.4/negative_polarity/truthful_from_Web" 
-
-Number of examples: 15930, linear space size: 10
-
-estimating ...
-Setting default regularization parameter C=1.0000
-Optimizing...........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 .....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
 ............................................................................................................................................................................
- Checking optimality of inactive variables...done.
- Number of inactive variables = 4348
-done. (11130 iterations)
-Optimization finished (14 misclassified, maxdiff=0.00098).
-Runtime in cpu-seconds: 2213.21
-Number of SV: 9219 (including 875 at upper bound)
-L1 loss: loss=126.05211
-Norm of weight vector: |w|=71.25103
-Norm of longest example vector: |x|=1.00000
-Estimated VCdim of classifier: VCdim<=5077.70889
-Computing XiAlpha-estimates...done
-Runtime for XiAlpha-estimates in cpu-seconds: 0.09
-XiAlpha-estimate of the error: error<=10.15% (rho=1.00,depth=0)
-XiAlpha-estimate of the recall: recall=>89.36% (rho=1.00,depth=0)
-XiAlpha-estimate of the precision: precision=>89.85% (rho=1.00,depth=0)
-Number of kernel evaluations: 837061668
-Writing model file...done
- */
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelRunner.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelRunner.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelRunner.java
deleted file mode 100644
index 294fb38..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/TreeKernelRunner.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.kernel_interface;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-public class TreeKernelRunner {
-	public void runEXE(String[] command, String runPath){
-		Runtime r = Runtime.getRuntime();
-		Process mStartProcess = null;
-		try {
-			mStartProcess = r.exec( command, null, new File(runPath));
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-
-		StreamLogger outputGobbler = new StreamLogger(mStartProcess.getInputStream());
-		outputGobbler.start();
-
-		try {
-			int returnCode = mStartProcess.waitFor();
-		} catch (InterruptedException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-
-	public void runLearner(String dir, String learning_file, String  model_file)
-	{
-			if (!dir.endsWith("/"))
-				dir+="/";
-		String[] runString = new String[]{dir+"svm_learn","-t", "5","-j","2","-W","A", dir+learning_file,  dir+model_file};
-		runEXE(runString, dir);
-	}
-	public void runLearnerWin(String dir, String learning_file, String  model_file)
-	{
-		dir = dir.replace('/', '\\');
-		
-		if (!dir.endsWith("\\"))
-				dir+="\\";
-		String[] runString = new String[]{dir+"svm_learn.exe","-t", "5","-j","2","-W","A", dir+learning_file,  dir+model_file};
-		runEXE(runString, dir);
-	}
-	
-	
-	//svm_classify example_file model_file predictions_file
-	public void runClassifier(String dir, String example_file, String  model_file, String predictions_file)
-	{
-		if (!dir.endsWith("/"))
-				dir+="/";
-		String[] runString = new String[]{dir+"svm_classify", dir+example_file,  dir+model_file, dir+predictions_file};
-		runEXE(runString, dir);
-	}
-	public void runClassifierWin(String dir, String example_file, String  model_file, String predictions_file)
-	{
-		dir = dir.replace('/', '\\');
-		
-		if (!dir.endsWith("\\"))
-				dir+="\\";
-		String[] runString = new String[]{dir+"svm_classify.exe", dir+example_file,  dir+model_file, dir+predictions_file};
-		runEXE(runString, dir);
-	}
-
-	class StreamLogger extends Thread{
-
-		private InputStream mInputStream;
-
-		public StreamLogger(InputStream is) {
-			this.mInputStream = is;
-		}
-
-		public void run() {
-			try {
-				InputStreamReader isr = new InputStreamReader(mInputStream);
-				BufferedReader br = new BufferedReader(isr);
-				String line = null;
-				while ((line = br.readLine()) != null) {
-					System.out.println(line);
-				}
-			} catch (IOException ioe) {
-				ioe.printStackTrace();
-			}
-		}
-
-	}
-	
-	public static void main(String[] args){
-		TreeKernelRunner runner = new TreeKernelRunner();
-		runner.runLearner("C:\\stanford-corenlp\\tree_kernel\\", "training.txt", "arg0.model1.txt");
-		runner.runClassifier("C:\\stanford-corenlp\\tree_kernel\\", "arg0.test", "arg0.model1.txt", "arg0.output1.txt");
-	}
-}
-
-	/*
-exec:
-
-public Process exec(String command, String envp[], File dir) 
-
-
-
-   @param      command   a specified system command.
-   @param      envp      array of strings, each element of which 
-                         has environment variable settings in format
-                         <i>name</i>=<i>value</i>.
-   @param      dir       the working directory of the subprocess, or
-                         <tt>null</tt> if the subprocess should inherit
-                         the working directory of the current process.
-
-                         �\u2019 ди�\ufffd�\u201a�\u20acиб�\u0192�\u201aиве два exe-�\u201eайла: svm_learn.exe и svm_classify.exe.
-
-1.   svm_learn.exe бе�\u20acе�\u201a �\u201eайл �\ufffd п�\u20acиме�\u20acами, об�\u20acаба�\u201a�\u2039вае�\u201a его, �\ufffd�\u201a�\u20acои�\u201a �\u201eайл model м п�\u20acавилами об�\u0192�\u2021ение.
-
-�\u0178�\u20acиме�\u20ac�\u2039 зап�\u0192�\ufffdка: 
-svm_learn -t 5 learning_file model_file - �\ufffd�\u201aо �\ufffdам�\u2039й п�\u20acо�\ufffd�\u201aой ва�\u20acиан�\u201a зап�\u0192�\ufffdка, SubSetTreeKernel (доп�\u0192�\ufffdка�\u017d�\u201a�\ufffd�\ufffd �\u20acаз�\u20ac�\u2039в�\u2039 п�\u20acи об�\u2026оде де�\u20acев�\u0152ев)
-
-svm_learn -t 5 -D 0 learning_file model_file - д�\u20ac�\u0192гой ва�\u20acиан�\u201a �\ufffdд�\u20acа, SubTreeKernel
-
-�\u0178�\u20acиме�\u20ac �\u201eайла лежи�\u201a на его �\ufffd�\u201a�\u20acани�\u2021ке. Там же опи�\ufffdание па�\u20acаме�\u201a�\u20acов.
-
-2. svm_classify.exe бе�\u20acе�\u201a �\u201eайл �\ufffd �\u201aе�\ufffd�\u201aов�\u2039ми п�\u20acиме�\u20acами, �\u201eайл �\ufffd модел�\u0152�\u017d, по�\ufffd�\u201a�\u20acоенн�\u2039й svm_learn, и запи�\ufffd�\u2039вае�\u201a �\u20acез�\u0192л�\u0152�\u201aа�\u201a�\u2039 об�\u0192�\u2021ени�\ufffd в �\u201eайл predictions_file.
-
-�\u2014ап�\u0192�\ufffdк:     svm_classify example_file model_file predictions_file
-
-Файл имее�\u201a �\u201aо�\u201a же �\u201eо�\u20acма�\u201a, �\u2021�\u201aо и в�\u2026одн�\u2039е п�\u20acиме�\u20ac�\u2039. �\u017eб�\u20acазе�\u2020 лежи�\u201a в а�\u20ac�\u2026иве на �\ufffd�\u201a�\u20acани�\u2021ке �\u0153о�\ufffdки�\u201a�\u201aи. 
-�\u0153ожно �\ufffd�\u20acаз�\u0192 же �\u0192каз�\u2039ва�\u201a�\u0152, к каком�\u0192 кла�\ufffd�\ufffd�\u0192 о�\u201aно�\ufffdи�\u201a�\ufffd�\ufffd п�\u20acиме�\u20ac (1 или -1 в на�\u2021але �\ufffd�\u201a�\u20acоки). �\u2019 �\ufffd�\u201aом �\ufffdл�\u0192�\u2021ае �\u201aо�\u2021но�\ufffd�\u201a�\u0152 и полно�\u201aа о�\u2020енива�\u017d�\u201a�\ufffd�\ufffd ав�\u201aома�\u201aи�\u2021е�\ufffdки. �\u02dcли �\ufffd�\u201aави�\u201a�\u0152 �\u201aам 0.
-	 */
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/style_classif/TSNE_ImporterProcessor.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/style_classif/TSNE_ImporterProcessor.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/style_classif/TSNE_ImporterProcessor.java
deleted file mode 100644
index ef00e94..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/kernel_interface/style_classif/TSNE_ImporterProcessor.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.kernel_interface.style_classif;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.charset.Charset;
-import java.util.HashMap;
-import java.util.Map;
-
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.parse_thicket.kernel_interface.TreeKernelBasedClassifierMultiplePara;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
-
-public class TSNE_ImporterProcessor {
-	private static String importFilePath = "all-tsne2.txt";
-	public String resourceWorkDir = new File(".").getAbsolutePath().replace("/.", "") + 
-			"/src/test/resources/style_recognizer/";
-
-	public void importFileCreatClassifDirs() {
-		Map<Integer, String> id_Text = new HashMap<Integer, String>();
-		Map<Integer, String> id_Label = new HashMap<Integer, String>();
-
-		try {
-			FileUtils.cleanDirectory(new File(resourceWorkDir+"/txt"));
-		} catch (IOException e2) {
-			e2.printStackTrace();
-		}
-
-		String text = null;
-		try {
-			text = FileUtils.readFileToString(new File(resourceWorkDir+importFilePath ), Charset.defaultCharset().toString());
-		} catch (IOException e) {
-
-			e.printStackTrace();
-		}
-
-		String[] portions = StringUtils.substringsBetween(text, "<text ", "/text>");
-		for(int i=0; i<portions.length; i++){
-			String label = StringUtils.substringBetween(portions[i], "id=\"", "\">");
-			String po =  StringUtils.substringBetween(portions[i],  "\">", "<");
-			id_Text.put(i, po);
-			id_Label.put(i, label);
-			if (true){
-				String localDirName = label.substring(0, 4);
-				if (!new File(resourceWorkDir+"txt/"+localDirName).exists())
-					try {
-						FileUtils.forceMkdir(new File(resourceWorkDir+"txt/"+localDirName));
-					} catch (IOException e1) {
-						e1.printStackTrace();
-					}
-				try {
-					label = label.replace('/', '_');
-					String fullPath = resourceWorkDir+"txt/"+localDirName+"/"+i+label+".txt";
-					FileUtils.writeStringToFile(new File(fullPath), po);
-				} catch (IOException e) {
-					e.printStackTrace();
-				}
-			}
-		}
-
-	}
-
-	public static void main(String[] args){
-		TSNE_ImporterProcessor thisProc = new TSNE_ImporterProcessor();
-		thisProc.importFileCreatClassifDirs();
-
-		VerbNetProcessor p = VerbNetProcessor.
-				getInstance("/Users/borisgalitsky/Documents/workspace/deepContentInspection/src/test/resources"); 
-
-		TreeKernelBasedClassifierMultiplePara proc = new TreeKernelBasedClassifierMultiplePara();
-		proc.setKernelPath("/Users/borisgalitsky/Documents/tree_kernel/");
-		proc.trainClassifier(thisProc.resourceWorkDir+"/txt/Tele", 
-				thisProc.resourceWorkDir+"/txt/Tels");
-		//www.sciencedirect.com/science/article/pii/S095070511300138X
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/FrameQueryBasedIExtractor.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/FrameQueryBasedIExtractor.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/FrameQueryBasedIExtractor.java
deleted file mode 100644
index f75c0b1..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/FrameQueryBasedIExtractor.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.matching;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.TextProcessor;
-
-public class FrameQueryBasedIExtractor {
-	List<GeneralizationResult> templates = new ArrayList<GeneralizationResult>();
-	Matcher matcher = Matcher.getInstance();
-
-
-
-	private void init() {
-		templates.clear();
-
-	}
-	public void buildPTTemplates(String[] smpls){
-
-		GeneralizationResult templateCurr = matcher.assessRelevanceG(smpls[0], smpls[1]);
-		for(int i=2; i<smpls.length; i++){
-
-			templateCurr = matcher.assessRelevanceG(templateCurr, smpls[i]);
-		}
-
-		templates.add(templateCurr);
-		System.out.println("template = "+ templateCurr);
-
-	}
-
-	public void buildTemplates(String[] samples){
-		for(String setOfSamples : samples){
-			List<String> smpls = TextProcessor.splitToSentences(setOfSamples);
-			if (smpls.size()<2)
-				continue;
-			
-			GeneralizationResult templateCurr = matcher.assessRelevanceG(smpls.get(0), smpls.get(1));
-			for(int i=2; i<smpls.size(); i++){
-
-				templateCurr = matcher.assessRelevanceG(templateCurr, smpls.get(i));
-			}
-
-			templates.add(templateCurr);
-			System.out.println("template = "+ templateCurr+ "\n");
-		}
-	}
-	
-	public void buildTemplatesPairWise(String[] samples){
-		for(String setOfSamples : samples){
-			List<String> smpls = TextProcessor.splitToSentences(setOfSamples);
-
-			GeneralizationResult templateCurr = null;
-			for(int i=0; i<smpls.size(); i++)
-				for(int j=i+1; j< smpls.size(); j++){
-					templateCurr = matcher.assessRelevanceG(smpls.get(i), smpls.get(j));
-					templates.add(templateCurr);
-					System.out.println("template = "+ templateCurr+ "\n");
-			}
-		}
-	}
-
-	List<GeneralizationResult>  doIE(String text){
-		List<GeneralizationResult> fires = new ArrayList<GeneralizationResult>();
-
-		List<String> sentences = TextProcessor.splitToSentences(text);{
-			for(String sent: sentences){
-				for(GeneralizationResult t: templates){
-					GeneralizationResult res = matcher.assessRelevanceG(t.getGen(), sent);
-					boolean fire = matcher.isCoveredByTemplate(t.getGen(), res.getGen());
-					System.out.println(res+ " => "+ fire + "\n");
-					if (fire){
-						res.setIfFire(fire);
-						res.setText(sent);
-						fires.add(res);
-						System.out.println("=====================\n TEMPLATE FIRED: "+ sent + "\n====================\n");
-					}
-				}
-			}
-
-		}
-		return fires;
-	}
-
-	List<GeneralizationResult>  doIEforPT(String text){
-		List<GeneralizationResult> fires = new ArrayList<GeneralizationResult>();
-
-		for(GeneralizationResult t: templates){
-			GeneralizationResult res = matcher.assessRelevanceG(t.getGen(), text);
-			boolean fire = matcher.isCoveredByTemplate(t.getGen(), res.getGen());
-			System.out.println(res+ " =PT=> "+ fire + "\n");
-			res.setIfFire(fire);
-			res.setText(text);
-			if (fire)
-				fires.add(res);
-			
-		}
-		return fires;
-	}
-
-
-	public static void main(String[] args){
-		VerbNetProcessor.getInstance("/Users/borisgalitsky/Documents/workspace/opennlp-similarity/src/test/resources");
-		FrameQueryBasedIExtractor extractor = new FrameQueryBasedIExtractor();
-		
-		String[] texts = new String[]{"An amusement park sells adult tickets for $3 and kids tickets for $2, and got the revenue $500 yesterday.",
-						"A certified trainer conducts training for adult customers for $30 per hour and kid customer for $20 per hour, and got the revenue $1000 today."};		
-		extractor.buildPTTemplates(texts);
-		
-		 texts = new String[]{"Crossing the snow slope was dangerous. They informed in the blog that an ice axe should be used. However, I am reporting that crossing the snow field in the late afternoon I had to use crampons.",
-				"I could not cross the snow creek since it was dangerous. This was because the previous hiker reported that ice axe should be used in late afternoon.  To inform the fellow hikers, I had to use crampons going across the show field in the late afternoon ",
-		};		
-		extractor.buildPTTemplates(texts);
-		List<GeneralizationResult>  res = extractor.doIEforPT( "I had to use crampons to cross snow slopes without an ice axe in late afternoon. However in summer I do not feel it was dangerous crossing the snow.");
-
-		System.exit(0);
-
-		extractor.buildTemplates(new String[] { ""
-				+ "A junior sale engineer expert travels to customers on site. A junior design expert goes to customer companies. "
-				+ "A junior software engineer rushes to customer sites. "   
-		});
-		res = extractor.doIE( "Cisco junior sale representative expert flew to customers data centers. ");
-
-		extractor.init();
-
-		extractor.buildTemplates(new String[] { "John Doe send his California driver license 1234567. "
-				+ "Jill Paparapathi received her Ohio license 4567456"   });
-
-		res = extractor.doIE( "Mary Jones send her Canada prisoner id number 666666666. Mary Stewart hid her Mexico cook id number 666666666 . Robin Hood mentioned his UK fisher id  2345."
-				+ "Yesterday Peter Doe hid his Bolivia set id number 666666666. Robin mentioned her best Peru fisher man id  2345. Spain hid her Catalonian driver id number 666666666. John Poppins hid her  prisoner id  666666666. "
-				+ "Microsoft announced its Canada windows azure release number 666666666. John Poppins hid her Apple id  666666666");
-
-	}
-
-}


[04/11] opennlp-sandbox git commit: removed stanford nlp refs

Posted by bg...@apache.org.
http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/resources/sentence_parseObject.csv
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/resources/sentence_parseObject.csv b/opennlp-similarity/src/test/resources/sentence_parseObject.csv
index 8e063ed..c11ec1d 100644
--- a/opennlp-similarity/src/test/resources/sentence_parseObject.csv
+++ b/opennlp-similarity/src/test/resources/sentence_parseObject.csv
@@ -1,1104 +1,1340 @@
-"The engine makes it a powerful car."
-"B-NP","I-NP","B-VP","B-NP","B-NP","I-NP","I-NP"
-"DT","NN","VBZ","PRP","DT","JJ","NN"
-"The","engine","makes","it","a","powerful","car"
-"Go to your town office or city hall."
-"B-VP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP"
-"VB","TO","PRP$","NN","NN","CC","NN","NN"
-"Go","to","your","town","office","or","city","hall"
-"This car has an amazingly good engine."
-"B-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP"
-"DT","NN","VBZ","DT","RB","JJ","NN"
-"This","car","has","an","amazingly","good","engine"
+"\u201cI see no meaningful distinction between complacency or complicity in the military\u2019s latest failure to uphold"
+"B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-VP","B-NP","B-VP","I-VP"
+"PRP","VBP","DT","JJ","NN","IN","NN","CC","NN","IN","DT","JJ","NNS","RB","NN","TO","VB"
+"I","see","no","meaningful","distinction","between","complacency","or","complicity","in","the","military","s","latest","failure","to","uphold"
+". no conservative groups have. president of the Waco Tea Party, said the IRS. conservative groups."
+"B-NP","I-NP","I-NP","B-VP","B-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP"
+"DT","JJ","NNS","VBP","NN","IN","DT","NNP","NNP","NNP","VBD","DT","NNP","JJ","NNS"
+"no","conservative","groups","have","president","of","the","Waco","Tea","Party","said","the","IRS","conservative","groups"
+"I just want to rent a space for myself."
+"B-NP","B-ADVP","B-VP","I-VP","I-VP","B-NP","I-NP","B-PP","B-NP"
+"PRP","RB","VBP","TO","VB","DT","NN","IN","PRP"
+"I","just","want","to","rent","a","space","for","myself"
+"Read this page to learn all the details, and if you have any questions or run into any . . email address] Buy birthday present for Mike today Pay the phone bill tomorrow Make ."
+"B-VP","B-NP","I-NP","B-VP","I-VP","B-NP","I-NP","I-NP","O","B-SBAR","B-NP","B-VP","B-NP","I-NP","O","B-VP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-VP","B-NP","I-NP","I-NP","B-ADVP","O"
+"VB","DT","NN","TO","VB","PDT","DT","NNS","CC","IN","PRP","VBP","DT","NNS","CC","VB","IN","DT","NN","NN","NN","NN","NN","IN","JJ","NN","VBP","DT","NN","NN","RB","VB"
+"Read","this","page","to","learn","all","the","details","and","if","you","have","any","questions","or","run","into","any","email","address","Buy","birthday","present","for","Mike","today","Pay","the","phone","bill","tomorrow","Make"
+"Albert Einstein   Wikipedia, the free encyclopedia ."
+"B-NP","I-NP","I-NP","B-NP","I-NP","I-NP"
+"NNP","NNP","NNP","DT","JJ","NN"
+"Albert","Einstein","Wikipedia","the","free","encyclopedia"
+"In 1956, he met Joe Campbell, at the Jacob Riis Park beach, a popular location for . . but remembered Milk's attitude: I think he was happier than at any time I had ever . ."
+"B-PP","B-NP","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-PP","O","B-VP","B-NP","B-VP","B-SBAR","B-NP","B-VP","B-NP","B-VP","B-ADJP","B-PP","B-PP","B-NP","I-NP","B-NP","B-VP","I-VP"
+"IN","CD","PRP","VBD","NNP","NNP","IN","DT","NNP","NNP","NNP","IN","DT","JJ","NN","IN","CC","VBD","NNP","VBZ","IN","PRP","VBP","PRP","VBD","JJR","IN","IN","DT","NN","PRP","VBD","RB"
+"In","1956","he","met","Joe","Campbell","at","the","Jacob","Riis","Park","beach","a","popular","location","for","but","remembered","Milk","s","attitude","I","think","he","was","happier","than","at","any","time","I","had","ever"
+"Multiple conservative groups have said their applications were delayed and returned with lengthy requests for supporting materials, sometimes including website printouts and lists of guest speakers."
+"B-NP","I-NP","I-NP","I-NP","B-VP","B-NP","I-NP","B-VP","I-VP","O","B-VP","B-PP","B-NP","I-NP","B-PP","B-VP","B-NP","B-VP","I-VP","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP"
+"JJ","JJ","NNS","VBP","VBD","PRP$","NNS","VBD","VBN","CC","VBN","IN","JJ","NNS","IN","VBG","NNS","RB","VBG","JJ","NNS","CC","NNS","IN","NN","NNS"
+"Multiple","conservative","groups","have","said","their","applications","were","delayed","and","returned","with","lengthy","requests","for","supporting","materials","sometimes","including","website","printouts","and","lists","of","guest","speakers"
+"I can't drink milk nor any juices because of my hyperacidity (GERD). ."
+"B-NP","B-VP","I-VP","I-VP","B-NP","O","B-NP","I-NP","B-PP","I-PP","B-NP","I-NP","I-NP"
+"PRP","MD","VB","VB","NN","CC","DT","NNS","IN","IN","PRP$","NN","NN"
+"I","can","t","drink","milk","nor","any","juices","because","of","my","hyperacidity","GERD"
+"Revisiting the military's Tailhook scandal McKeon, a California Republican, has a granddaughter in the Army. ""I see no meaningful distinction between complacency or complicity in the military's latest failure to uphold their own standards of conduct,"" he said. ""Nor do I see a distinction between the service member who orchestrated this offense and the chain of command that was either oblivious to or tolerant of criminal behavior."""
+"B-VP","B-NP","I-NP","I-NP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-NP","I-NP","B-VP","I-VP","B-NP","I-NP","I-NP","B-PP","B-NP","B-NP","B-VP","O","O","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-NP","B-VP","B-NP","I-NP","O","B-NP","I-NP","B-PP","B-NP","B-NP","B-VP","B-ADJP","I-ADJP","B-VP","I-VP","B-NP","B-PP","B-NP","I-NP"
+"VBG","DT","JJ","NNS","NNP","NN","IN","DT","NNP","NNP","VBZ","DT","NN","IN","DT","NNP","PRP","VBP","DT","JJ","NN","IN","NN","CC","NN","IN","DT","JJ","NNS","JJS","NN","TO","VB","PRP$","JJ","NNS","IN","NN","PRP","VBD","CC","VBP","PRP","VB","DT","NN","IN","DT","NN","NN","WP","VBD","DT","NN","CC","DT","NN","IN","NN","WDT","VBD","RB","JJ","TO","CC","NN","IN","JJ","NN"
+"Revisiting","the","military","s","Tailhook","scandal","McKeon","a","California","Republican","has","a","granddaughter","in","the","Army","I","see","no","meaningful","distinction","between","complacency","or","complicity","in","the","military","s","latest","failure","to","uphold","their","own","standards","of","conduct","he","said","Nor","do","I","see","a","distinction","between","the","service","member","who","orchestrated","this","offense","and","the","chain","of","command","that","was","either","oblivious","to","or","tolerant","of","criminal","behavior"
+"Enjoy the best Albert Einstein Quotes at BrainyQuote."
+"B-NP","B-NP","I-NP","I-NP","I-NP","I-NP","B-PP","B-NP"
+"NN","DT","JJS","NNP","NNP","NNP","IN","NNP"
+"Enjoy","the","best","Albert","Einstein","Quotes","at","BrainyQuote"
+".  (IRS) regularly targeted conservative groups when reviewing their requests for tax-exempt status, President Obama on Monday vowed .  The IRS said Monday the .  ."
+"B-NP","B-VP","I-VP","B-NP","I-NP","B-ADVP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-NP","B-PP","B-NP","B-VP","B-NP","I-NP","B-VP","B-NP"
+"NNS","RB","VBN","JJ","NNS","WRB","VBG","PRP$","NNS","IN","NN","JJ","NN","NN","NNP","IN","NN","VBD","DT","NNS","VBD","NN"
+"IRS","regularly","targeted","conservative","groups","when","reviewing","their","requests","for","tax","exempt","status","President","Obama","on","Monday","vowed","The","IRS","said","Monday"
+"I am outraged and disgusted by the reports out of Fort Hood today, said House Armed Services Committee Chairman Howard P."
+"B-NP","B-VP","I-VP","O","B-VP","B-PP","B-NP","I-NP","B-PP","B-PP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP"
+"PRP","VBP","VBN","CC","VBN","IN","DT","NNS","IN","IN","NNP","NNP","NN","VBD","NNP","NNP","NNPS","NNP","NNP","NNP","NNP"
+"I","am","outraged","and","disgusted","by","the","reports","out","of","Fort","Hood","today","said","House","Armed","Services","Committee","Chairman","Howard","P"
+"Albert Einstein, Self: World Leaders on Peace and Democracy."
+"B-NP","I-NP","I-NP","I-NP","I-NP","B-PP","B-NP","O","B-NP"
+"NNP","NNP","NNP","NNP","NNP","IN","NNP","CC","NN"
+"Albert","Einstein","Self","World","Leaders","on","Peace","and","Democracy"
+"He often repeated his philosophy that gays should buy from gay businesses. ."
+"B-NP","B-ADVP","B-VP","B-NP","I-NP","B-SBAR","B-NP","B-VP","I-VP","B-PP","B-NP","I-NP"
+"PRP","RB","VBD","PRP$","NN","IN","NNS","MD","VB","IN","JJ","NNS"
+"He","often","repeated","his","philosophy","that","gays","should","buy","from","gay","businesses"
+"Albert Einstein was a German born theoretical physicist who discovered the theory of general relativity, effecting a revolution in physics."
+"B-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","B-VP","B-NP","I-NP","B-PP","B-NP"
+"NNP","NNP","VBD","DT","JJ","JJ","JJ","NN","WP","VBD","DT","NN","IN","JJ","NN","VBG","DT","NN","IN","NNS"
+"Albert","Einstein","was","a","German","born","theoretical","physicist","who","discovered","the","theory","of","general","relativity","effecting","a","revolution","in","physics"
+"Albert Einstein (March 14, 1879 \u2013 April 18, 1955) was a German born theoretical physicist."
+"B-NP","I-NP","I-NP","I-NP","I-NP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP"
+"NNP","NNP","NNP","CD","CD","NNP","CD","CD","VBD","DT","JJ","JJ","JJ","NN"
+"Albert","Einstein","March","14","1879","April","18","1955","was","a","German","born","theoretical","physicist"
 "Albert Einstein | Facebook ."
 "B-NP","I-NP","I-NP"
 "NNP","NNP","NN"
 "Albert","Einstein","Facebook"
-"The goal with this calculator is to show the effects of the Bush and Obama tax cuts .  Calculate My Income Tax .  The calculator will not display correctly if more than four scenarios are ."
-"B-NP","I-NP","B-PP","B-NP","I-NP","B-VP","B-VP","I-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP","B-NP","I-NP","B-VP","I-VP","I-VP","B-ADJP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP"
-"DT","NN","IN","DT","NN","VBZ","TO","VB","DT","NNS","IN","DT","NNP","CC","NNP","NN","VBZ","NNP","NNP","NNP","NNP","DT","NN","MD","RB","VB","RB","IN","JJR","IN","CD","NNS","VBP"
-"The","goal","with","this","calculator","is","to","show","the","effects","of","the","Bush","and","Obama","tax","cuts","Calculate","My","Income","Tax","The","calculator","will","not","display","correctly","if","more","than","four","scenarios","are"
-"I Can 't Pay the Taxes on my House: What Can I Do?."
-"B-NP","B-VP","I-VP","I-VP","B-NP","I-NP","B-PP","B-NP","I-NP","B-NP","O","B-NP","B-VP"
-"PRP","MD","VB","VB","DT","NNS","IN","PRP$","NNP","WP","MD","PRP","VB"
-"I","Can","t","Pay","the","Taxes","on","my","House","What","Can","I","Do"
-"Albert Einstein - Biographical"
-"B-NP","I-NP","I-NP"
-"NNP","NNP","NNP"
-"Albert","Einstein","Biographical"
+"Einstein was born at Ulm, in W�rttemberg, Germany, on."
+"B-NP","B-VP","I-VP","B-PP","B-NP","B-PP","B-NP","I-NP","B-PP"
+"NNP","VBD","VBN","IN","NNP","IN","NNP","NNP","IN"
+"Einstein","was","born","at","Ulm","in","W�rttemberg","Germany","on"
+"Albert Einstein Biography   The Life and Achievements of .."
+"B-NP","I-NP","I-NP","I-NP","I-NP","O","B-NP","B-PP"
+"NNP","NNP","NNP","NNP","NNP","CC","NNP","IN"
+"Albert","Einstein","Biography","The","Life","and","Achievements","of"
+"Albert Einstein Quotes   The Quotations Page ."
+"B-NP","I-NP","I-NP","B-NP","I-NP","I-NP"
+"NNP","NNP","NNP","DT","NNPS","NNP"
+"Albert","Einstein","Quotes","The","Quotations","Page"
 "Albert Einstein official Web Site and Fan Club, featuring biography, photos, trivia, rights representation, licensing, contact and more."
 "B-NP","I-NP","I-NP","I-NP","I-NP","O","B-NP","I-NP","B-VP","B-NP","I-NP","B-PP","B-NP","B-VP","I-VP","B-NP","I-NP","I-NP"
 "NNP","NNP","NN","NNP","NNP","CC","NNP","NNP","VBG","NN","NNS","IN","NNS","VBP","VBG","NN","CC","RBR"
 "Albert","Einstein","official","Web","Site","and","Fan","Club","featuring","biography","photos","trivia","rights","representation","licensing","contact","and","more"
-"applications of Einstein theories "
-"B-NP","B-PP","B-NP","I-NP"
-"NNS","IN","NNP","NNS"
-"applications","of","Einstein","theories"
-"He completed his Ph.D. at the University of Zurich by 1909."
-"B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-NP","B-PP","B-NP"
-"PRP","VBD","PRP$","NNP","NNP","IN","DT","NNP","IN","NNP","IN","CD"
-"He","completed","his","Ph","D","at","the","University","of","Zurich","by","1909"
-"When I calculate the net income, I take revenue and subtract business expenses such as office rent."
-"B-ADVP","B-NP","B-VP","B-NP","I-NP","I-NP","B-NP","B-VP","B-NP","O","B-VP","B-NP","I-NP","B-PP","I-PP","B-NP","I-NP"
-"WRB","PRP","VBP","DT","JJ","NN","PRP","VBP","NN","CC","VB","NN","NNS","JJ","IN","NN","NN"
-"When","I","calculate","the","net","income","I","take","revenue","and","subtract","business","expenses","such","as","office","rent"
-"To keep your balance you must keep moving."
-"B-VP","I-VP","B-NP","I-NP","B-NP","B-VP","I-VP","I-VP"
-"TO","VB","PRP$","NN","PRP","MD","VB","VBG"
-"To","keep","your","balance","you","must","keep","moving"
+"Let's take a closer look at Remember the Milk's basic and more .  tabs based on when they're due: today, tomorrow, and overdue."
+"B-VP","B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","B-NP","I-NP","B-VP","B-ADJP","O","B-NP","I-NP","B-VP","B-PP","B-ADVP","B-NP","B-VP","B-NP","I-NP","I-NP","O","B-NP"
+"VB","PRP","VB","DT","JJR","NN","IN","VB","DT","NN","VBZ","JJ","CC","RBR","NNS","VBN","IN","WRB","PRP","VBP","JJ","NN","NN","CC","JJ"
+"Let","s","take","a","closer","look","at","Remember","the","Milk","s","basic","and","more","tabs","based","on","when","they","re","due","today","tomorrow","and","overdue"
+"I rent some space for my business."
+"B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP"
+"PRP","VB","DT","NN","IN","PRP$","NN"
+"I","rent","some","space","for","my","business"
+"If you live here temporarily, you'll normally pay tax only on overseas income you bring into ."
+"B-SBAR","B-NP","B-VP","B-ADVP","I-ADVP","B-NP","B-VP","I-VP","I-VP","B-NP","B-ADVP","B-PP","B-NP","I-NP","B-NP","B-VP","O"
+"IN","PRP","VBP","RB","RB","PRP","MD","RB","VB","NN","RB","IN","JJ","NN","PRP","VBP","IN"
+"If","you","live","here","temporarily","you","ll","normally","pay","tax","only","on","overseas","income","you","bring","into"
 "Test Utterances - MIT"
 "B-NP","I-NP","I-NP"
 "NNP","NNP","NNP"
 "Test","Utterances","MIT"
-"Nothing Major. #TeamGNATION SALUTE!!!"
-"B-NP","I-NP","I-NP","I-NP"
-"NN","NNP","NNP","NNP"
-"Nothing","Major","TeamGNATION","SALUTE"
-"You can use your results from the calculator to help fill out the form."
-"B-NP","B-VP","I-VP","B-NP","I-NP","B-PP","B-NP","I-NP","B-VP","I-VP","I-VP","B-PRT","B-NP","I-NP"
-"PRP","MD","VB","PRP$","NNS","IN","DT","NN","TO","VB","VB","RP","DT","NN"
-"You","can","use","your","results","from","the","calculator","to","help","fill","out","the","form"
-"Can I estimate what my income tax would be by using my last pay"
-"O","B-NP","B-VP","B-NP","B-NP","I-NP","I-NP","B-VP","I-VP","B-PP","B-VP","B-NP","I-NP","I-NP"
-"MD","PRP","VB","WP","PRP$","NN","NN","MD","VB","IN","VBG","PRP$","JJ","NN"
-"Can","I","estimate","what","my","income","tax","would","be","by","using","my","last","pay"
+"For many Jews, the fact that Albert Einstein was Jewish is a point of pride."
+"B-PP","B-NP","I-NP","B-NP","I-NP","B-SBAR","B-NP","I-NP","B-VP","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP"
+"IN","JJ","NNPS","DT","NN","IN","NNP","NNP","VBD","NNP","VBZ","DT","NN","IN","NN"
+"For","many","Jews","the","fact","that","Albert","Einstein","was","Jewish","is","a","point","of","pride"
+"NARRATOR: When we think of E = mc2 we have this vision of Einstein as an old wrinkly man with white hair."
+"B-NP","B-ADVP","B-NP","B-VP","B-PP","B-NP","I-NP","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP"
+"NN","WRB","PRP","VBP","IN","NNP","NN","PRP","VBP","DT","NN","IN","NNP","IN","DT","JJ","JJ","NN","IN","JJ","NN"
+"NARRATOR","When","we","think","of","E","mc2","we","have","this","vision","of","Einstein","as","an","old","wrinkly","man","with","white","hair"
+"Remaining rental income needs to be added to my profit and be reported as taxable profit. "
+"B-NP","I-NP","I-NP","B-VP","I-VP","I-VP","I-VP","B-PP","B-NP","I-NP","O","B-VP","I-VP","B-PP","B-NP","I-NP"
+"JJ","JJ","NN","VBZ","TO","VB","VBN","TO","PRP$","NN","CC","VB","VBN","IN","JJ","NN"
+"Remaining","rental","income","needs","to","be","added","to","my","profit","and","be","reported","as","taxable","profit"
+"I can deduct office rental expense from my business profit to calculate net income."
+"B-NP","B-VP","I-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-VP","I-VP","B-NP","I-NP"
+"PRP","MD","VB","NN","JJ","NN","IN","PRP$","NN","NN","TO","VB","JJ","NN"
+"I","can","deduct","office","rental","expense","from","my","business","profit","to","calculate","net","income"
+"Albert Einstein   Wikiquote ."
+"B-NP","I-NP","I-NP"
+"NNP","NNP","NNP"
+"Albert","Einstein","Wikiquote"
+"Hardly anyone will end up paying the tax when the health reform law takes full effect in 2014."
+"B-ADVP","B-NP","B-VP","I-VP","B-ADVP","B-VP","B-NP","I-NP","B-ADVP","B-NP","I-NP","I-NP","I-NP","B-VP","B-NP","I-NP","B-PP","B-NP"
+"RB","NN","MD","VB","RP","VBG","DT","NN","WRB","DT","NN","NN","NN","VBZ","JJ","NN","IN","CD"
+"Hardly","anyone","will","end","up","paying","the","tax","when","the","health","reform","law","takes","full","effect","in","2014"
+"Montefiore Medical Center, the University Hospital for Albert Einstein College of Medicine, is a premier academic medical center and nationally recognized leader in "
+"B-NP","I-NP","I-NP","B-NP","I-NP","I-NP","B-PP","B-NP","B-PP","B-NP","B-PP","B-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP","O","B-VP","I-VP","B-NP","B-PP"
+"NN","JJ","NN","DT","NN","NN","IN","NN","IN","NN","IN","NN","VBZ","DT","JJ","JJ","JJ","NN","CC","RB","VBD","NN","IN"
+"Montefiore","Medical","Center","the","University","Hospital","for","Albert","Einstein","College","of","Medicine","is","a","premier","academic","medical","center","and","nationally","recognized","leader","in"
+"Today, the practical applications of Einstein s theories include the development of the television, remote control devices, automatic door openers, lasers, and DVD-players."
+"B-NP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","B-ADVP","B-NP","I-NP","I-NP","O","B-NP","I-NP"
+"NN","DT","JJ","NNS","IN","NNP","NNS","NNS","VBP","DT","NN","IN","DT","NN","JJ","NN","NNS","JJ","NN","NNS","NNS","CC","NNP","NNS"
+"Today","the","practical","applications","of","Einstein","s","theories","include","the","development","of","the","television","remote","control","devices","automatic","door","openers","lasers","and","DVD","players"
+".  is the IRS targeting scandal."
+"O","B-NP","I-NP","B-VP","B-NP"
+"VBZ","DT","NNP","VBG","NN"
+"is","the","IRS","targeting","scandal"
+"Gay Pulitzer Prize-Winning Reporter Jose Antonio Vargas Comes Out as Undocumented Immigrant Jose Antonio Vargas, a gay journalist who won a Pulitzer Prize for his coverage of the Virginia Tech shootings in the Washington Post"
+"B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","B-PP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","B-NP","I-NP","I-NP","B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
+"NNP","NNP","NNP","NNP","NNP","NNP","NNP","NNP","NNP","IN","IN","JJ","NNP","NNP","NNP","NNP","DT","JJ","NN","WP","VBD","DT","NNP","NNP","IN","PRP$","NN","IN","DT","NNP","NNP","NNS","IN","DT","NNP","NNP"
+"Gay","Pulitzer","Prize","Winning","Reporter","Jose","Antonio","Vargas","Comes","Out","as","Undocumented","Immigrant","Jose","Antonio","Vargas","a","gay","journalist","who","won","a","Pulitzer","Prize","for","his","coverage","of","the","Virginia","Tech","shootings","in","the","Washington","Post"
+"to Remember The Milk just by sending an email to a special address."
+"B-VP","I-VP","B-NP","I-NP","B-ADVP","B-PP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
+"TO","VB","DT","NN","RB","IN","VBG","DT","NN","TO","DT","JJ","NN"
+"to","Remember","The","Milk","just","by","sending","an","email","to","a","special","address"
+"In 1879, Albert Einstein was born in Ulm, Germany."
+"B-PP","B-NP","I-NP","I-NP","B-VP","I-VP","B-PP","B-NP","I-NP"
+"IN","CD","NNP","NNP","VBD","VBN","IN","NNP","NNP"
+"In","1879","Albert","Einstein","was","born","in","Ulm","Germany"
+"Men in Black 3 quotes are a mixed bag but it has a series of okay gags with .  with his dead-on impression of Tommy Lee Jones as young Agent K."
+"B-NP","B-PP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","O","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-PP","B-NP","I-NP","B-PP","B-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
+"NN","IN","NNP","CD","NNS","VBP","DT","JJ","NN","CC","PRP","VBZ","DT","NN","IN","JJ","NNS","IN","IN","PRP$","JJ","IN","NN","IN","NNP","NNP","NNP","IN","JJ","NNP","NNP"
+"Men","in","Black","3","quotes","are","a","mixed","bag","but","it","has","a","series","of","okay","gags","with","with","his","dead","on","impression","of","Tommy","Lee","Jones","as","young","Agent","K"
+"Comedy Central's Jon Stewart stated that the scandal had taken ""the last arrow in your pro-governance quiver,"" he further said that this threw doubt on President Obama's ""managerial competence"" and had proven correct ""conspiracy theorists,"" moving the burden of proof onto federal authorities.[98]."
+"B-NP","I-NP","B-VP","B-NP","I-NP","B-VP","B-SBAR","B-NP","I-NP","B-VP","I-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-NP","B-ADVP","B-VP","B-SBAR","B-NP","I-NP","I-NP","B-SBAR","B-NP","I-NP","B-VP","B-NP","I-NP","O","B-VP","I-VP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","B-PP","B-NP","B-PP","B-NP","I-NP","O"
+"NNP","NNP","VBZ","NNP","NNP","VBD","IN","DT","NN","VBD","VBN","DT","JJ","NN","IN","PRP$","JJ","NN","NN","PRP","RB","VBD","IN","DT","VBD","NN","IN","NNP","NNP","VBZ","JJ","NN","CC","VBD","VBN","JJ","NN","NNS","VBG","DT","NN","IN","NN","IN","JJ","NNS","CD"
+"Comedy","Central","s","Jon","Stewart","stated","that","the","scandal","had","taken","the","last","arrow","in","your","pro","governance","quiver","he","further","said","that","this","threw","doubt","on","President","Obama","s","managerial","competence","and","had","proven","correct","conspiracy","theorists","moving","the","burden","of","proof","onto","federal","authorities","98"
+"Army investigates sergeant for alleged sexual assault.   ""I see no meaningful distinction between complacency or complicity in the military's latest failure to .  ."
+"B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-NP","I-NP","O"
+"NN","NNS","NN","IN","VBN","JJ","NN","IN","VBP","DT","JJ","NN","IN","NN","CC","NN","IN","DT","JJ","NNS","JJS","NN","TO"
+"Army","investigates","sergeant","for","alleged","sexual","assault","I","see","no","meaningful","distinction","between","complacency","or","complicity","in","the","military","s","latest","failure","to"
+"That's one way to remember it. .  I've been getting reactions to much of what I buy at Trader Joe's. .  The rice milk is made by the same company that makes Rice Dream and Rice Dream uses barley gluten in the process, than claims it is taken .  ."
+"B-NP","B-VP","B-NP","I-NP","B-VP","I-VP","B-NP","B-NP","B-VP","I-VP","I-VP","B-NP","B-PP","B-NP","B-PP","B-NP","B-NP","B-VP","B-PP","B-NP","I-NP","B-VP","B-NP","I-NP","I-NP","B-VP","I-VP","B-PP","B-NP","I-NP","I-NP","B-NP","B-VP","B-NP","I-NP","O","B-NP","I-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-NP","B-NP","B-VP","I-VP"
+"DT","VBZ","CD","NN","TO","VB","PRP","PRP","VBP","VBN","VBG","NNS","TO","JJ","IN","WP","PRP","VBP","IN","NN","NNP","VBZ","DT","NN","NN","VBZ","VBN","IN","DT","JJ","NN","WDT","VBZ","NNP","NNP","CC","NNP","NNP","VBZ","NN","NNS","IN","DT","NN","IN","NNS","PRP","VBZ","VBN"
+"That","s","one","way","to","remember","it","I","ve","been","getting","reactions","to","much","of","what","I","buy","at","Trader","Joe","s","The","rice","milk","is","made","by","the","same","company","that","makes","Rice","Dream","and","Rice","Dream","uses","barley","gluten","in","the","process","than","claims","it","is","taken"
 "How to deduct rental expense from income "
 "B-ADVP","B-VP","I-VP","B-NP","I-NP","B-PP","B-NP"
 "WRB","TO","VB","JJ","NN","IN","NN"
 "How","to","deduct","rental","expense","from","income"
-"Where do I apply?"
-"B-ADVP","B-VP","I-VP","I-VP"
-"WRB","VBP","RB","VB"
-"Where","do","I","apply"
-"I love Trader Joes, and will go out of my way to stop at the one in Santa Fe, NM every time I go ."
-"B-NP","B-VP","B-NP","I-NP","O","B-VP","I-VP","B-PP","B-PP","B-NP","I-NP","B-VP","I-VP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-NP","I-NP","B-NP","O"
-"PRP","VBP","NNP","NNP","CC","MD","VB","IN","IN","PRP$","NN","TO","VB","IN","DT","CD","IN","NNP","NNP","NNP","DT","NN","PRP","VBP"
-"I","love","Trader","Joes","and","will","go","out","of","my","way","to","stop","at","the","one","in","Santa","Fe","NM","every","time","I","go"
-"beautiful example of"
-"B-NP","I-NP","B-PP"
-"JJ","NN","IN"
-"beautiful","example","of"
-"The best . .. [as no one seems to remember K at MIB headquarters, J thinks everybody is .  [the agent that had gone to get J some chocolate milk comes up to J with the milk] ."
-"B-NP","I-NP","B-PP","B-NP","I-NP","B-VP","I-VP","I-VP","B-NP","B-PP","B-NP","I-NP","I-NP","B-VP","B-NP","B-VP","B-NP","I-NP","B-NP","B-VP","I-VP","I-VP","I-VP","B-NP","B-NP","I-NP","I-NP","B-VP","B-PP","B-PP","B-NP","B-PP","B-NP","I-NP"
-"DT","JJS","IN","DT","NN","VBZ","TO","VB","NNP","IN","NNP","NN","NNP","VBZ","NN","VBZ","DT","NN","WDT","VBD","VBN","TO","VB","NNP","DT","NN","NN","VBZ","RP","TO","NNP","IN","DT","NN"
-"The","best","as","no","one","seems","to","remember","K","at","MIB","headquarters","J","thinks","everybody","is","the","agent","that","had","gone","to","get","J","some","chocolate","milk","comes","up","to","J","with","the","milk"
-"FAQs - AARO - Association of Americans Resident Overseas"
-"B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
-"NNP","NNP","NNP","IN","NNPS","NNP","NNP"
-"FAQs","AARO","Association","of","Americans","Resident","Overseas"
-"Albert Einstein   Biographical."
+"Montefiore Medical Center ."
 "B-NP","I-NP","I-NP"
 "NNP","NNP","NNP"
-"Albert","Einstein","Biographical"
-"The individual mandate makes sure that people don\ufffdt wait until they are sick to buy health insurance."
-"B-NP","I-NP","I-NP","B-VP","B-ADJP","B-SBAR","B-NP","B-VP","B-NP","I-NP","B-SBAR","B-NP","B-VP","B-ADJP","B-VP","I-VP","B-NP","I-NP"
-"DT","JJ","NN","VBZ","JJ","IN","NNS","VBP","JJ","NN","IN","PRP","VBP","JJ","TO","VB","NN","NN"
-"The","individual","mandate","makes","sure","that","people","don","t","wait","until","they","are","sick","to","buy","health","insurance"
-"Albert Einstein | biography   German American physicist .."
-"B-NP","I-NP","I-NP","B-NP","I-NP","I-NP"
-"NNP","NNP","NN","JJ","NNP","NN"
-"Albert","Einstein","biography","German","American","physicist"
-"Although it "
-"O","B-NP"
-"RB","PRP"
-"Although","it"
-"Enjoy the best Albert Einstein Quotes at BrainyQuote."
-"B-NP","B-NP","I-NP","I-NP","I-NP","I-NP","B-PP","B-NP"
-"NN","DT","JJS","NNP","NNP","NNP","IN","NNP"
-"Enjoy","the","best","Albert","Einstein","Quotes","at","BrainyQuote"
-"Men in Black 3 Quotes - 'Is there anybody here who is not an alien?'"
-"B-NP","B-PP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","B-ADVP","B-NP","B-VP","O","B-NP","I-NP"
-"NN","IN","NNP","CD","NNPS","VBZ","EX","NN","RB","WP","VBZ","RB","DT","NN"
-"Men","in","Black","3","Quotes","Is","there","anybody","here","who","is","not","an","alien"
-"I m afraid I can t vouch for its "
-"B-NP","B-VP","B-ADJP","B-NP","B-VP","I-VP","B-NP","B-PP","B-NP"
-"PRP","VBP","JJ","PRP","MD","VB","NN","IN","PRP$"
-"I","m","afraid","I","can","t","vouch","for","its"
-"Albert Einstein, (born March 14, 1879, Ulm, W�rttemberg, Germany\u2014died April 18, 1955, Princeton, New Jersey, U.S "
-"B-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP"
-"NNP","NNP","VBN","NNP","CD","CD","NNP","NNP","NNP","VBD","NNP","CD","CD","NNP","NNP","NNP","NNP","NNP"
-"Albert","Einstein","born","March","14","1879","Ulm","W�rttemberg","Germany","died","April","18","1955","Princeton","New","Jersey","U","S"
-"However, when I repair my house, I can deduct the repair expense from my rental income. "
-"B-ADVP","B-ADVP","B-NP","B-VP","B-NP","I-NP","B-NP","B-VP","I-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
-"RB","WRB","PRP","VBD","PRP$","NN","PRP","MD","VB","DT","NN","NN","IN","PRP$","JJ","NN"
-"However","when","I","repair","my","house","I","can","deduct","the","repair","expense","from","my","rental","income"
-"This guide is intended as a brief introduction to using Remember The Milk. .  you can select it in the list below and use the task details box on the right. .  The overview screen is a handy way to see what's due today and tomorrow, and the ."
-"B-NP","I-NP","B-VP","I-VP","B-PP","B-NP","I-NP","I-NP","B-PP","B-VP","B-NP","B-NP","I-NP","B-NP","B-VP","I-VP","B-NP","B-PP","B-NP","I-NP","B-PP","O","B-VP","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","B-VP","I-VP","B-NP","B-VP","B-NP","I-NP","O","B-NP","O","B-NP"
-"DT","NN","VBZ","VBN","IN","DT","JJ","NN","TO","VBG","NNP","DT","NN","PRP","MD","VB","PRP","IN","DT","NN","IN","CC","VB","DT","NN","NNS","NN","IN","DT","JJ","DT","NN","NN","VBZ","DT","JJ","NN","TO","VB","WP","VBZ","JJ","NN","CC","NN","CC","DT"
-"This","guide","is","intended","as","a","brief","introduction","to","using","Remember","The","Milk","you","can","select","it","in","the","list","below","and","use","the","task","details","box","on","the","right","The","overview","screen","is","a","handy","way","to","see","what","s","due","today","and","tomorrow","and","the"
-"871 quotes from Albert Einstein:  Two things are infinite: the universe and human stupidity; and I m not sure about the universe. ,  There are only two ways to live "
-"B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-VP","B-ADJP","B-NP","I-NP","I-NP","I-NP","I-NP","O","B-NP","B-VP","I-VP","I-VP","B-PP","B-NP","I-NP","B-NP","B-VP","B-NP","I-NP","I-NP","B-VP","I-VP"
-"CD","NNS","IN","NNP","NNP","CD","NNS","VBP","JJ","DT","NN","CC","JJ","NN","CC","PRP","MD","RB","VB","IN","DT","NN","EX","VBP","RB","CD","NNS","TO","VB"
-"871","quotes","from","Albert","Einstein","Two","things","are","infinite","the","universe","and","human","stupidity","and","I","m","not","sure","about","the","universe","There","are","only","two","ways","to","live"
-"Rental expense needs to be subtracted from revenue."
-"B-NP","I-NP","B-VP","I-VP","I-VP","I-VP","B-PP","B-NP"
-"JJ","NN","VBZ","TO","VB","VBN","IN","NN"
-"Rental","expense","needs","to","be","subtracted","from","revenue"
-"When I calculate the net income, I take revenue and subtract business expenses such as office rent. "
+"Montefiore","Medical","Center"
+"Einstein Archives Online ."
+"B-NP","I-NP","I-NP"
+"NNP","NNP","NNP"
+"Einstein","Archives","Online"
+"remember to buy milk tomorrow from third to jones"
+"B-VP","I-VP","I-VP","B-NP","I-NP","B-PP","B-VP","B-PP","B-NP"
+"VB","TO","VB","NN","NN","IN","JJ","TO","NNS"
+"remember","to","buy","milk","tomorrow","from","third","to","jones"
+"Military sex cases are ""sickening,"" lawmaker says.   said he saw ""no meaningful distinction between complacency or complicity in the military's latest failure to .  ."
+"B-NP","I-NP","I-NP","B-VP","I-VP","B-NP","B-VP","I-VP","B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-NP","I-NP"
+"JJ","NN","NNS","VBP","VBG","NN","VBZ","VBD","PRP","VBD","DT","JJ","NN","IN","NN","CC","NN","IN","DT","JJ","NNS","JJS","NN"
+"Military","sex","cases","are","sickening","lawmaker","says","said","he","saw","no","meaningful","distinction","between","complacency","or","complicity","in","the","military","s","latest","failure"
+"What happens if my income is also taxable abroad? ."
+"B-NP","B-VP","B-PP","B-NP","I-NP","B-VP","B-ADVP","B-ADJP","O"
+"WP","VBZ","IN","PRP$","NN","VBZ","RB","JJ","RB"
+"What","happens","if","my","income","is","also","taxable","abroad"
+"When I calculate the net income, I take revenue and subtract business expenses such as office rent."
 "B-ADVP","B-NP","B-VP","B-NP","I-NP","I-NP","B-NP","B-VP","B-NP","O","B-VP","B-NP","I-NP","B-PP","I-PP","B-NP","I-NP"
 "WRB","PRP","VBP","DT","JJ","NN","PRP","VBP","NN","CC","VB","NN","NNS","JJ","IN","NN","NN"
 "When","I","calculate","the","net","income","I","take","revenue","and","subtract","business","expenses","such","as","office","rent"
-"Albert Einstein: Pictures, Videos, Breaking News ."
-"B-NP","I-NP","I-NP","I-NP","I-NP","I-NP"
-"NNP","NNP","NNP","NNP","NNP","NNP"
-"Albert","Einstein","Pictures","Videos","Breaking","News"
-"Trader Joes Opens in Plano TX Tomorrow"
-"B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
-"NNP","NNP","NNP","IN","NNP","NNP","NN"
-"Trader","Joes","Opens","in","Plano","TX","Tomorrow"
-"Albert Einstein   Wikiquote ."
-"B-NP","I-NP","I-NP"
-"NNP","NNP","NNP"
-"Albert","Einstein","Wikiquote"
-"How do I get rid of some cards?"
-"B-ADVP","O","B-NP","B-VP","I-VP","B-PP","B-NP","I-NP"
-"WRB","VBP","PRP","VB","VB","IN","DT","NNS"
-"How","do","I","get","rid","of","some","cards"
-"Services / Remember The Milk for Android / Features"
-"B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP"
-"NNP","VB","DT","NN","IN","NNP","NNS"
-"Services","Remember","The","Milk","for","Android","Features"
-"Albert Einstein, Self: World Leaders on Peace and Democracy."
-"B-NP","I-NP","I-NP","I-NP","I-NP","B-PP","B-NP","O","B-NP"
-"NNP","NNP","NNP","NNP","NNP","IN","NNP","CC","NN"
-"Albert","Einstein","Self","World","Leaders","on","Peace","and","Democracy"
-"Big News on Albert Einstein."
-"B-NP","I-NP","B-PP","B-NP","I-NP"
-"NNP","NNP","IN","NNP","NNP"
-"Big","News","on","Albert","Einstein"
-"Polls go up tomorrow! http://t.co/aOa2Bsf5 2 days ago; Contest Poll: 2012 Primal ."
-"B-NP","B-VP","B-PRT","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP"
-"NNS","VBP","RP","NN","NN","NN","NN","IN","CD","NNS","IN","NNP","NNP","CD","NNP"
-"Polls","go","up","tomorrow","http","t","co","aOa2Bsf5","2","days","ago","Contest","Poll","2012","Primal"
-"Amazon.com: Albert Einstein: Books, Biography, Blog .."
-"B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP"
-"NNP","NN","NNP","NNP","NNPS","NNP","NNP"
-"Amazon","com","Albert","Einstein","Books","Biography","Blog"
-"He often repeated his philosophy that gays should buy from gay businesses. ."
-"B-NP","B-ADVP","B-VP","B-NP","I-NP","B-SBAR","B-NP","B-VP","I-VP","B-PP","B-NP","I-NP"
-"PRP","RB","VBD","PRP$","NN","IN","NNS","MD","VB","IN","JJ","NNS"
-"He","often","repeated","his","philosophy","that","gays","should","buy","from","gay","businesses"
-"The strong engine gives the car a lot of power."
-"B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","B-NP","I-NP","B-PP","B-NP"
-"DT","JJ","NN","VBZ","DT","NN","DT","NN","IN","NN"
-"The","strong","engine","gives","the","car","a","lot","of","power"
-"Einstein , Albert Online ."
-"B-NP","I-NP","I-NP"
-"NNP","NNP","NNP"
-"Einstein","Albert","Online"
-"I just wanted to thank you for using the site, and tell you that if you like this Website "
-"B-NP","B-ADVP","B-VP","I-VP","I-VP","B-NP","B-PP","B-VP","B-NP","I-NP","O","B-VP","B-NP","B-SBAR","B-SBAR","B-NP","B-PP","B-NP","I-NP"
-"PRP","RB","VBD","TO","VB","PRP","IN","VBG","DT","NN","CC","VB","PRP","IN","IN","PRP","IN","DT","NNP"
-"I","just","wanted","to","thank","you","for","using","the","site","and","tell","you","that","if","you","like","this","Website"
-"Do I have to pay US taxes when I work abroad?"
-"O","B-NP","B-VP","I-VP","I-VP","B-NP","B-NP","B-ADVP","B-NP","B-VP","O"
-"VBP","PRP","VB","TO","VB","PRP","NNS","WRB","PRP","VBP","RB"
-"Do","I","have","to","pay","US","taxes","when","I","work","abroad"
-"Albert Einstein   AMNH ."
+"To keep your balance you must keep moving."
+"B-VP","I-VP","B-NP","I-NP","B-NP","B-VP","I-VP","I-VP"
+"TO","VB","PRP$","NN","PRP","MD","VB","VBG"
+"To","keep","your","balance","you","must","keep","moving"
+"cannot conceive a god"
+"B-NP","B-VP","B-NP","I-NP"
+"NN","VBP","DT","NN"
+"cannot","conceive","a","god"
+"To run my business, I have to rent an office."
+"B-VP","I-VP","B-NP","I-NP","B-NP","B-VP","I-VP","I-VP","B-NP","I-NP"
+"TO","VB","PRP$","NN","PRP","VBP","TO","VB","DT","NN"
+"To","run","my","business","I","have","to","rent","an","office"
+"Share with your friends."
+"B-NP","B-PP","B-NP","I-NP"
+"NN","IN","PRP$","NNS"
+"Share","with","your","friends"
+"Amazon.com: albert einstein ."
+"B-NP","I-NP","B-PP","B-NP"
+"NNP","NN","IN","CD"
+"Amazon","com","albert","einstein"
+"I bake with the almond meal often and buy the fresh almond milk (blue container), . ."
+"B-NP","B-VP","B-PP","B-NP","I-NP","I-NP","B-ADVP","O","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP"
+"PRP","VBP","IN","DT","JJ","NN","RB","CC","VB","DT","JJ","NN","NN","JJ","NN"
+"I","bake","with","the","almond","meal","often","and","buy","the","fresh","almond","milk","blue","container"
+"Albert Einstein   Biography ."
 "B-NP","I-NP","I-NP"
 "NNP","NNP","NNP"
-"Albert","Einstein","AMNH"
-"The net business profit is calculated as follows."
-"B-NP","I-NP","I-NP","I-NP","B-VP","I-VP","B-PP","B-NP"
-"DT","JJ","NN","NN","VBZ","VBN","IN","NNS"
-"The","net","business","profit","is","calculated","as","follows"
-"You'd think that if you're living abroad and earning all your money from a foreign .  My son has been living out of the country for the last five years but is moving back .  Could he be responsible to pay when there's no income? ."
-"B-NP","B-VP","I-VP","B-SBAR","B-SBAR","B-NP","B-VP","I-VP","B-ADVP","O","B-VP","O","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-VP","I-VP","I-VP","B-ADVP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","O","B-VP","I-VP","B-ADVP","O","B-NP","B-VP","B-ADJP","B-VP","I-VP","B-ADVP","B-NP","B-VP","B-NP","I-NP"
-"PRP","VBD","VB","IN","IN","PRP","VBP","VBG","RB","CC","VBG","DT","PRP$","NN","IN","DT","JJ","JJ","NN","VBZ","VBN","VBG","IN","IN","DT","NN","IN","DT","JJ","CD","NNS","CC","VBZ","VBG","RB","MD","PRP","VB","JJ","TO","VB","WRB","EX","VBZ","DT","NN"
-"You","d","think","that","if","you","re","living","abroad","and","earning","all","your","money","from","a","foreign","My","son","has","been","living","out","of","the","country","for","the","last","five","years","but","is","moving","back","Could","he","be","responsible","to","pay","when","there","s","no","income"
-"Let's take a closer look at Remember the Milk's basic and more .  tabs based on when they're due: today, tomorrow, and overdue."
-"B-VP","B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","B-NP","I-NP","B-VP","B-ADJP","O","B-NP","I-NP","B-VP","B-PP","B-ADVP","B-NP","B-VP","B-NP","I-NP","I-NP","O","B-NP"
-"VB","PRP","VB","DT","JJR","NN","IN","VB","DT","NN","VBZ","JJ","CC","RBR","NNS","VBN","IN","WRB","PRP","VBP","JJ","NN","NN","CC","JJ"
-"Let","s","take","a","closer","look","at","Remember","the","Milk","s","basic","and","more","tabs","based","on","when","they","re","due","today","tomorrow","and","overdue"
-"I do not want to rent anything to anyone."
-"B-NP","B-VP","I-VP","I-VP","I-VP","I-VP","B-NP","B-PP","B-NP"
-"PRP","VBP","RB","VB","TO","VB","NN","TO","NN"
-"I","do","not","want","to","rent","anything","to","anyone"
-"Expenses on my time spent on advertisement are subtracted from the rental income."
-"B-NP","B-PP","B-NP","I-NP","B-VP","B-PP","B-NP","B-VP","I-VP","B-PP","B-NP","I-NP","I-NP"
-"NNS","IN","PRP$","NN","VBD","IN","NN","VBP","VBN","IN","DT","JJ","NN"
-"Expenses","on","my","time","spent","on","advertisement","are","subtracted","from","the","rental","income"
-"What happens if my income is also taxable abroad? ."
-"B-NP","B-VP","B-PP","B-NP","I-NP","B-VP","B-ADVP","B-ADJP","O"
-"WP","VBZ","IN","PRP$","NN","VBZ","RB","JJ","RB"
-"What","happens","if","my","income","is","also","taxable","abroad"
-"A black and white photograph of Harvey Milk sitting at the mayor's desk . ."
-"B-NP","I-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-VP","B-PP","B-NP","I-NP","I-NP","I-NP"
-"DT","JJ","CC","JJ","NN","IN","NNP","NNP","VBG","IN","DT","NN","NNS","NN"
-"A","black","and","white","photograph","of","Harvey","Milk","sitting","at","the","mayor","s","desk"
-"His 1905 paper explaining the photoelectric effect, the "
-"B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP"
-"PRP$","CD","NN","VBG","DT","JJ","NN"
-"His","1905","paper","explaining","the","photoelectric","effect"
-"My Favorite Trader Joe's Pantry Items"
-"B-NP","I-NP","I-NP","I-NP","B-VP","B-NP","I-NP"
-"PRP$","JJ","NN","NNP","VBZ","NNP","NNS"
-"My","Favorite","Trader","Joe","s","Pantry","Items"
-"Item 361 - 380 \u2013 Profile picture of djones. djones. @djones active 6 months, 3 weeks ago .  There are many buy one, get one free offers for area restaurants, museums, zoo, sporting events, etc. .  Vicki Todd wrote a new blog post: PLEASE REMEMBER\u2026 .  NOTE: although we collect Swiss Valley milk caps and Campbell's . djones - Rock Island/Milan School District #41"
-"B-NP","B-PP","I-NP","I-NP","I-NP","B-PP","B-NP","B-VP","B-NP","B-ADJP","B-NP","I-NP","B-NP","I-NP","B-PP","B-NP","B-VP","B-NP","B-VP","B-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","B-SBAR","B-NP","B-VP","B-NP","I-NP","I-NP","I-NP","O","B-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","O"
-"PRP","CD","CD","NNP","NN","IN","NNS","NNS","NNS","JJ","CD","NNS","CD","NNS","IN","EX","VBP","JJ","VBP","CD","IN","CD","JJ","NNS","IN","NN","NNS","NNS","NN","VBG","NNS","FW","NNP","NNP","VBD","DT","JJ","NN","NN","NNP","NNP","NNP","IN","PRP","VBP","JJ","NNP","NN","NNS","CC","NNP","VBD","NNS","NNP","NNP","NNP","NNP","NNP","CD"
-"Item","361","380","Profile","picture","of","djones","djones","djones","active","6","months","3","weeks","ago","There","are","many","buy","one","get","one","free","offers","for","area","restaurants","museums","zoo","sporting","events","etc","Vicki","Todd","wrote","a","new","blog","post","PLEASE","REMEMBER","NOTE","although","we","collect","Swiss","Valley","milk","caps","and","Campbell","s","djones","Rock","Island","Milan","School","District","41"
-"How can I pay tax on my income abroad"
-"B-ADVP","O","B-NP","B-VP","B-NP","B-PP","B-NP","I-NP","O"
-"WRB","MD","PRP","VB","NN","IN","PRP$","NN","RB"
-"How","can","I","pay","tax","on","my","income","abroad"
-"Item 361 - 380 \ufffd Profile picture of djones. djones. @djones active 6 months, 3 weeks ago .  There are many buy one, get one free offers for area restaurants, museums, zoo, sporting events, etc. .  Vicki Todd wrote a new blog post: PLEASE REMEMBER\ufffd .  NOTE: although we collect Swiss Valley milk caps and Campbell's . djones - Rock Island/Milan School District #41"
-"B-NP","B-PP","I-NP","I-NP","I-NP","B-PP","B-NP","B-VP","B-NP","B-ADJP","B-NP","I-NP","B-NP","I-NP","B-PP","B-NP","B-VP","B-NP","B-VP","B-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","B-SBAR","B-NP","B-VP","B-NP","I-NP","I-NP","I-NP","O","B-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","O"
-"PRP","CD","CD","NNP","NN","IN","NNS","NNS","NNS","JJ","CD","NNS","CD","NNS","IN","EX","VBP","JJ","VBP","CD","IN","CD","JJ","NNS","IN","NN","NNS","NNS","NN","VBG","NNS","FW","NNP","NNP","VBD","DT","JJ","NN","NN","NNP","NNP","NNP","IN","PRP","VBP","JJ","NNP","NN","NNS","CC","NNP","VBD","NNS","NNP","NNP","NNP","NNP","NNP","CD"
-"Item","361","380","Profile","picture","of","djones","djones","djones","active","6","months","3","weeks","ago","There","are","many","buy","one","get","one","free","offers","for","area","restaurants","museums","zoo","sporting","events","etc","Vicki","Todd","wrote","a","new","blog","post","PLEASE","REMEMBER","NOTE","although","we","collect","Swiss","Valley","milk","caps","and","Campbell","s","djones","Rock","Island","Milan","School","District","41"
-"I am curious how to use the digital zoom of this camera for filming insects"
-"B-NP","B-VP","B-ADJP","B-ADVP","B-VP","I-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-VP","B-NP"
-"PRP","VBP","JJ","WRB","TO","VB","DT","JJ","NN","IN","DT","NN","IN","VBG","NNS"
-"I","am","curious","how","to","use","the","digital","zoom","of","this","camera","for","filming","insects"
-"Men in Black 3 quotes are a mixed bag but it has a series of okay gags with .  with his dead-on impression of Tommy Lee Jones as young Agent K."
-"B-NP","B-PP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","O","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-PP","B-NP","I-NP","B-PP","B-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
-"NN","IN","NNP","CD","NNS","VBP","DT","JJ","NN","CC","PRP","VBZ","DT","NN","IN","JJ","NNS","IN","IN","PRP$","JJ","IN","NN","IN","NNP","NNP","NNP","IN","JJ","NNP","NNP"
-"Men","in","Black","3","quotes","are","a","mixed","bag","but","it","has","a","series","of","okay","gags","with","with","his","dead","on","impression","of","Tommy","Lee","Jones","as","young","Agent","K"
-"Albert Einstein: Theories, Facts, IQ and Quotes ."
-"B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP"
-"NNP","NNP","NNP","NNP","NNP","CC","NNPS"
-"Albert","Einstein","Theories","Facts","IQ","and","Quotes"
-"What I buy at Trader Joe's - 100 Days of Real Food"
-"B-NP","B-NP","B-VP","B-PP","B-NP","I-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP"
-"WP","PRP","VBP","IN","NN","NNP","VBZ","CD","NNS","IN","JJ","NN"
-"What","I","buy","at","Trader","Joe","s","100","Days","of","Real","Food"
-"Can I use turbo tax to file using my last paystub, not my w-2. .  if you use your last pay stub it does not have all the information you need, usually there .  I hope you are only trying to do some initial estimating but will wait to receive your .  plan, no income which may be recharacterized, no pension plan, etc. ."
-"O","B-NP","B-VP","B-NP","I-NP","B-VP","I-VP","I-VP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","B-SBAR","B-NP","B-VP","B-NP","I-NP","I-NP","I-NP","B-NP","B-VP","I-VP","I-VP","B-NP","I-NP","I-NP","B-NP","B-VP","B-ADVP","B-ADVP","B-NP","B-VP","B-NP","B-VP","I-VP","I-VP","I-VP","I-VP","B-NP","I-NP","I-NP","O","B-VP","I-VP","I-VP","I-VP","B-NP","I-NP","B-NP","I-NP","B-NP","B-VP","I-VP","I-VP","B-NP","I-NP","I-NP","O"
-"MD","PRP","VB","NN","NN","TO","VB","VBG","PRP$","JJ","NN","RB","PRP$","NN","CD","IN","PRP","VBP","PRP$","JJ","NN","NN","PRP","VBZ","RB","VB","DT","DT","NN","PRP","VBP","RB","RB","PRP","VBP","PRP","VBP","RB","VBG","TO","VB","DT","JJ","NN","CC","MD","VB","TO","VB","PRP$","NN","DT","NN","WDT","MD","VB","VBN","DT","NN","NN","FW"
-"Can","I","use","turbo","tax","to","file","using","my","last","paystub","not","my","w","2","if","you","use","your","last","pay","stub","it","does","not","have","all","the","information","you","need","usually","there","I","hope","you","are","only","trying","to","do","some","initial","estimating","but","will","wait","to","receive","your","plan","no","income","which","may","be","recharacterized","no","pension","plan","etc"
+"Albert","Einstein","Biography"
+"Here's a list of BPA-free coconut milk, fish, pumpkin, and tomatoes. .  and some (like Trader Joe's) don't even put the label on their products. . . but just remember to check with the supplier before making your purchase. . .."
+"B-ADVP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","O","B-NP","O","B-NP","B-PP","B-NP","I-NP","B-VP","B-PP","B-NP","B-VP","I-VP","B-NP","I-NP","B-PP","B-NP","I-NP","O","B-VP","I-VP","I-VP","I-VP","B-PP","B-NP","I-NP","B-PP","B-VP","B-NP","I-NP"
+"RB","VBZ","DT","NN","IN","NNP","JJ","NN","NN","NN","NN","CC","NNS","CC","DT","IN","NN","NNP","VBZ","IN","NN","RB","VBD","DT","NN","IN","PRP$","NNS","CC","RB","VB","TO","VB","IN","DT","NN","IN","VBG","PRP$","NN"
+"Here","s","a","list","of","BPA","free","coconut","milk","fish","pumpkin","and","tomatoes","and","some","like","Trader","Joe","s","don","t","even","put","the","label","on","their","products","but","just","remember","to","check","with","the","supplier","before","making","your","purchase"
+"Can I Find Out How Much I Will Get Back on My Taxes Without My W"
+"O","B-NP","B-VP","B-ADVP","I-ADVP","O","B-NP","B-VP","I-VP","B-ADVP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP"
+"MD","PRP","VB","RB","WRB","RB","PRP","MD","VB","RB","IN","PRP$","NNS","IN","PRP$","NNP"
+"Can","I","Find","Out","How","Much","I","Will","Get","Back","on","My","Taxes","Without","My","W"
 "I am a US citizen living abroad, and concerned about the health reform regulation of 2014."
 "B-NP","B-VP","B-NP","I-NP","I-NP","B-VP","B-ADVP","O","B-VP","B-PP","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP"
 "PRP","VBP","DT","NNP","NN","VBG","RB","CC","VBN","IN","DT","NN","NN","NN","IN","CD"
 "I","am","a","US","citizen","living","abroad","and","concerned","about","the","health","reform","regulation","of","2014"
-"UN Ambassador Ron Prosor repeated the Israeli position that the only way the Palestinians will get UN membership and statehood is through direct negotiations with the Israelis on a comprehensive peace agreement"
-"B-NP","I-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-NP","I-NP","B-VP","I-VP","B-PP","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP"
-"NNP","NNP","NNP","NNP","VBD","DT","JJ","NN","IN","DT","JJ","NN","DT","NNPS","MD","VB","IN","NN","CC","NN","VBZ","IN","JJ","NNS","IN","DT","NNP","IN","DT","JJ","NN","NN"
-"UN","Ambassador","Ron","Prosor","repeated","the","Israeli","position","that","the","only","way","the","Palestinians","will","get","UN","membership","and","statehood","is","through","direct","negotiations","with","the","Israelis","on","a","comprehensive","peace","agreement"
-"For many Jews, the fact that Albert Einstein was Jewish is a point of pride."
-"B-PP","B-NP","I-NP","B-NP","I-NP","B-SBAR","B-NP","I-NP","B-VP","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP"
-"IN","JJ","NNPS","DT","NN","IN","NNP","NNP","VBD","NNP","VBZ","DT","NN","IN","NN"
-"For","many","Jews","the","fact","that","Albert","Einstein","was","Jewish","is","a","point","of","pride"
-"Albert Einstein Quotes   BrainyQuote ."
-"B-NP","I-NP","I-NP","I-NP"
-"NNP","NNP","NNP","NNP"
-"Albert","Einstein","Quotes","BrainyQuote"
-"Can I use turbo tax to file using my last paystub, not my w-2"
-"O","B-NP","B-VP","B-NP","I-NP","B-VP","I-VP","I-VP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","O"
-"MD","PRP","VB","NN","NN","TO","VB","VBG","PRP$","JJ","NN","RB","PRP$","NN","CD"
-"Can","I","use","turbo","tax","to","file","using","my","last","paystub","not","my","w","2"
-"Photo: Albert Einstein."
-"B-NP","I-NP","I-NP"
-"NNP","NNP","NNP"
-"Photo","Albert","Einstein"
 "Web Pay - Frequently Asked Questions | California Franchise Tax"
 "B-NP","I-NP","B-ADVP","B-VP","B-NP","I-NP","I-NP","I-NP"
 "NNP","NNP","RB","VBD","NNP","NNP","NNP","NNP"
 "Web","Pay","Frequently","Asked","Questions","California","Franchise","Tax"
-"And then I remembered. ."
-"O","B-ADVP","B-NP","B-VP"
-"CC","RB","PRP","VBN"
-"And","then","I","remembered"
+"I love their unsweetened vanilla almond milk! . ."
+"B-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP"
+"PRP","VBP","PRP$","JJ","NN","NN","NN"
+"I","love","their","unsweetened","vanilla","almond","milk"
+"I see no meaningful distinction between complacency or complicity in the military s latest failure to uphold their own standards of conduct."
+"B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-NP","I-NP","B-VP","I-VP","B-NP","I-NP","I-NP","B-PP","B-NP"
+"PRP","VBP","DT","JJ","NN","IN","NN","CC","NN","IN","DT","JJ","NNS","JJS","NN","TO","VB","PRP$","JJ","NNS","IN","NN"
+"I","see","no","meaningful","distinction","between","complacency","or","complicity","in","the","military","s","latest","failure","to","uphold","their","own","standards","of","conduct"
 "Remember The Milk - Getting Started"
 "B-VP","B-NP","I-NP","B-VP","I-VP"
 "VB","DT","NN","VBG","VBN"
 "Remember","The","Milk","Getting","Started"
-"The homepage of the repository of the personal papers of the great scientist, humanist and Jew, Albert Einstein"
-"B-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","O","B-NP","I-NP","I-NP"
-"DT","NN","IN","DT","NN","IN","DT","JJ","NNS","IN","DT","JJ","NN","NN","CC","NNP","NNP","NNP"
-"The","homepage","of","the","repository","of","the","personal","papers","of","the","great","scientist","humanist","and","Jew","Albert","Einstein"
-"JJonesAI11. guess i am the jennifer hudson of the new american idol. . :) ill take it !!!!!  ."
-"B-NP","B-VP","B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-VP","I-VP","B-NP"
-"PRP","VBP","PRP","VBP","DT","NN","NN","IN","DT","JJ","JJ","NN","MD","VB","PRP"
-"JJonesAI11","guess","i","am","the","jennifer","hudson","of","the","new","american","idol","ill","take","it"
-"to Remember The Milk just by sending an email to a special address."
-"B-VP","I-VP","B-NP","I-NP","B-ADVP","B-PP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
-"TO","VB","DT","NN","RB","IN","VBG","DT","NN","TO","DT","JJ","NN"
-"to","Remember","The","Milk","just","by","sending","an","email","to","a","special","address"
-"I advertised my property as a business rental."
-"B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
-"PRP","VBD","PRP$","NN","IN","DT","NN","NN"
-"I","advertised","my","property","as","a","business","rental"
-"Its classy design and the Mercedes name make it a very cool vehicle to drive."
-"B-NP","I-NP","I-NP","O","B-NP","I-NP","I-NP","B-VP","B-NP","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP"
-"PRP$","JJ","NN","CC","DT","NNP","NN","VBP","PRP","DT","RB","JJ","NN","TO","NN"
-"Its","classy","design","and","the","Mercedes","name","make","it","a","very","cool","vehicle","to","drive"
-"DoubleJones Blog - tidbits of love, life, laughter, and food"
-"B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","O","B-NP"
-"NNP","NNP","NNS","IN","NN","NN","NN","CC","NN"
-"DoubleJones","Blog","tidbits","of","love","life","laughter","and","food"
-"Find out more about the history of Albert Einstein, including videos, interesting articles, pictures, historical features and more."
-"B-VP","B-NP","B-ADJP","B-PP","B-NP","I-NP","B-PP","B-NP","B-VP","I-VP","B-NP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP"
-"VB","RP","JJR","IN","DT","NN","IN","NN","VBZ","VBG","NNS","JJ","NNS","NNS","JJ","NNS","CC","RBR"
-"Find","out","more","about","the","history","of","Albert","Einstein","including","videos","interesting","articles","pictures","historical","features","and","more"
-"remember to buy milk tomorrow from third to jones"
-"B-VP","I-VP","I-VP","B-NP","I-NP","B-PP","B-VP","B-PP","B-NP"
-"VB","TO","VB","NN","NN","IN","JJ","TO","NNS"
-"remember","to","buy","milk","tomorrow","from","third","to","jones"
-"Albert Einstein   Wikipedia, the free encyclopedia ."
-"B-NP","I-NP","I-NP","B-NP","I-NP","I-NP"
-"NNP","NNP","NNP","DT","JJ","NN"
-"Albert","Einstein","Wikipedia","the","free","encyclopedia"
-"I subtract my tax from my income"
-"B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP"
-"PRP","VB","PRP$","NN","IN","PRP$","NN"
-"I","subtract","my","tax","from","my","income"
-"This office is for my business."
-"B-NP","I-NP","B-VP","B-PP","B-NP","I-NP"
-"DT","NN","VBZ","IN","PRP$","NN"
-"This","office","is","for","my","business"
-"By Mary Bellis."
-"B-PP","B-NP","I-NP"
-"IN","NNP","NNP"
-"By","Mary","Bellis"
-"I can deduct office rental expense from my business profit to calculate net income. "
-"B-NP","B-VP","I-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-VP","I-VP","B-NP","I-NP"
-"PRP","MD","VB","NN","JJ","NN","IN","PRP$","NN","NN","TO","VB","JJ","NN"
-"I","can","deduct","office","rental","expense","from","my","business","profit","to","calculate","net","income"
-"If your town doesn't have an office, ask the town clerk or a Selectman."
-"B-SBAR","B-NP","I-NP","I-NP","I-NP","B-VP","B-NP","I-NP","B-VP","B-NP","I-NP","I-NP","O","B-NP","I-NP"
-"IN","PRP$","NN","NN","NN","VBP","DT","NN","VB","DT","NN","NN","CC","DT","NNP"
-"If","your","town","doesn","t","have","an","office","ask","the","town","clerk","or","a","Selectman"
-"Can I Find Out How Much I Will Get Back on My Taxes Without My W"
-"O","B-NP","B-VP","B-ADVP","I-ADVP","O","B-NP","B-VP","I-VP","B-ADVP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP"
-"MD","PRP","VB","RB","WRB","RB","PRP","MD","VB","RB","IN","PRP$","NNS","IN","PRP$","NNP"
-"Can","I","Find","Out","How","Much","I","Will","Get","Back","on","My","Taxes","Without","My","W"
-"Pine Tree Legal"
-"B-NP","I-NP","I-NP"
-"NNP","NNP","NNP"
-"Pine","Tree","Legal"
-"A Message From Morgan This is Morgan, creator of Albert Einstein Online."
-"B-NP","I-NP","B-PP","B-NP","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP"
-"DT","NN","IN","NN","DT","VBZ","JJ","NN","IN","NN","NNS"
-"A","Message","From","Morgan","This","is","Morgan","creator","of","Albert","Einstein"
-"Means to deduct educational expense for my son"
-"B-NP","B-VP","I-VP","B-NP","I-NP","B-PP","B-NP","I-NP"
-"NNP","TO","VB","JJ","NN","IN","PRP$","NN"
-"Means","to","deduct","educational","expense","for","my","son"
-"First of all, I don't do all my shopping at Trader Joe's (I get produce, dairy, and other items at . ."
-"B-ADVP","B-PP","B-NP","B-NP","B-VP","I-VP","I-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-VP","B-NP","B-VP","I-VP","B-NP","O","B-NP","I-NP","B-PP"
+"My employer withheld the taxes from my pay. ."
+"B-NP","I-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP"
+"PRP$","NN","VBD","DT","NNS","IN","PRP$","NN"
+"My","employer","withheld","the","taxes","from","my","pay"
+"Albert began reading and "
+"B-NP","B-VP","I-VP","O"
+"NNP","VBD","VBG","CC"
+"Albert","began","reading","and"
+"The Patriot Post \u2014 IRS Target of .  the day before the first Sensitive Case Reports on conservative groups were .  Obama said that if not for .  ."
+"B-NP","I-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-VP","B-NP","B-VP","B-SBAR","B-PP","B-NP","I-NP"
+"DT","NNP","NNP","NNP","NNP","IN","DT","NN","IN","DT","JJ","NN","NN","NNS","IN","JJ","NNS","VBD","NNP","VBD","IN","IN","RB","IN"
+"The","Patriot","Post","IRS","Target","of","the","day","before","the","first","Sensitive","Case","Reports","on","conservative","groups","were","Obama","said","that","if","not","for"
+"Everything you need to know about the IRS scandal in one ..."
+"B-NP","B-NP","B-VP","I-VP","I-VP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP"
+"NN","PRP","VBP","TO","VB","IN","DT","NNP","NN","IN","CD"
+"Everything","you","need","to","know","about","the","IRS","scandal","in","one"
+"Trader Joes Opens in Plano TX Tomorrow"
+"B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
+"NNP","NNP","NNP","IN","NNP","NNP","NN"
+"Trader","Joes","Opens","in","Plano","TX","Tomorrow"
+"I do not want to wait till I am sick to buy health insurance."
+"B-NP","B-VP","I-VP","I-VP","I-VP","I-VP","B-SBAR","B-NP","B-VP","B-ADJP","B-VP","I-VP","B-NP","I-NP"
+"PRP","VBP","RB","VB","TO","VB","IN","PRP","VBP","JJ","TO","VB","NN","NN"
+"I","do","not","want","to","wait","till","I","am","sick","to","buy","health","insurance"
+"Tagged - Damaya Lady D Jones's Profile"
+"B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP"
+"JJ","NNP","NNP","NNP","NNP","NNS","NN"
+"Tagged","Damaya","Lady","D","Jones","s","Profile"
+"One story Einstein liked to "
+"B-NP","I-NP","B-ADVP","I-VP"
+"CD","NN","RB","VBD"
+"One","story","Einstein","liked"
+"Albert Einstein"
+"B-NP","I-NP"
+"NNP","NNP"
+"Albert","Einstein"
+"remember to pick up milk at seven (smste00006) get some cleaning supplies at .  tomorrow (smste00025) can we have a quick dinner this week (smste00026) . .. (smste00217) remind me to call estefana+1 on the twenty third (smste00218) .  of joe's+2 coffee+2 shop+2 then we'll go together (smste00220) can we have a ."
+"B-VP","I-VP","I-VP","B-PRT","B-NP","B-PP","B-NP","I-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-VP","I-VP","I-VP","B-NP","I-NP","I-NP","B-NP","I-NP","B-VP","B-NP","B-VP","B-NP","B-VP","I-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-NP","I-NP","I-NP","I-NP","B-NP","B-ADVP","B-NP","B-VP","I-VP","B-ADJP","I-ADJP","O","B-NP","B-VP","B-NP"
+"VB","TO","VB","RP","NN","IN","CD","NNS","VBP","DT","NN","NNS","IN","NN","NN","MD","PRP","VB","DT","JJ","NN","DT","NN","VBD","CD","VBP","PRP","TO","VB","NN","CD","IN","DT","CD","JJ","NN","IN","NN","NNS","CD","NN","CD","NN","CD","RB","PRP","MD","VB","RB","JJR","MD","PRP","VB","DT"
+"remember","to","pick","up","milk","at","seven","smste00006","get","some","cleaning","supplies","at","tomorrow","smste00025","can","we","have","a","quick","dinner","this","week","smste00026","smste00217","remind","me","to","call","estefana","1","on","the","twenty","third","smste00218","of","joe","s","2","coffee","2","shop","2","then","we","ll","go","together","smste00220","can","we","have","a"
+"His father was a featherbed salesman."
+"B-NP","I-NP","B-VP","B-NP","I-NP","I-NP"
+"PRP$","NN","VBD","DT","JJ","NN"
+"His","father","was","a","featherbed","salesman"
+"Albert Einstein Quotes (Author of Relativity)   Goodreads ."
+"B-NP","B-ADVP","B-VP","B-NP","B-PP","B-NP","I-NP"
+"NN","RB","VBZ","NN","IN","NN","NNS"
+"Albert","Einstein","Quotes","Author","of","Relativity","Goodreads"
+"The best . .. [as no one seems to remember K at MIB headquarters, J thinks everybody is .  [the agent that had gone to get J some chocolate milk comes up to J with the milk] ."
+"B-NP","I-NP","B-PP","B-NP","I-NP","B-VP","I-VP","I-VP","B-NP","B-PP","B-NP","I-NP","I-NP","B-VP","B-NP","B-VP","B-NP","I-NP","B-NP","B-VP","I-VP","I-VP","I-VP","B-NP","B-NP","I-NP","I-NP","B-VP","B-PP","B-PP","B-NP","B-PP","B-NP","I-NP"
+"DT","JJS","IN","DT","NN","VBZ","TO","VB","NNP","IN","NNP","NN","NNP","VBZ","NN","VBZ","DT","NN","WDT","VBD","VBN","TO","VB","NNP","DT","NN","NN","VBZ","RP","TO","NNP","IN","DT","NN"
+"The","best","as","no","one","seems","to","remember","K","at","MIB","headquarters","J","thinks","everybody","is","the","agent","that","had","gone","to","get","J","some","chocolate","milk","comes","up","to","J","with","the","milk"
+"I do not want to rent anything to anyone."
+"B-NP","B-VP","I-VP","I-VP","I-VP","I-VP","B-NP","B-PP","B-NP"
+"PRP","VBP","RB","VB","TO","VB","NN","TO","NN"
+"I","do","not","want","to","rent","anything","to","anyone"
+"Miller was asked to resign."
+"B-NP","B-VP","I-VP","B-PP","B-NP"
+"NNP","VBD","VBN","TO","NN"
+"Miller","was","asked","to","resign"
+"As a 26 year old patent clerk, Albert Einstein revolutionized science in 1905 when he published five new theories, including the theory of relativity."
+"B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","B-VP","B-NP","B-PP","B-NP","B-ADVP","B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-NP"
+"IN","DT","CD","NN","JJ","NN","NN","NNP","NNP","VBD","NN","IN","CD","WRB","PRP","VBD","CD","JJ","NNS","VBG","DT","NN","IN","NN"
+"As","a","26","year","old","patent","clerk","Albert","Einstein","revolutionized","science","in","1905","when","he","published","five","new","theories","including","the","theory","of","relativity"
+"Do I have to pay US taxes when I work abroad?"
+"O","B-NP","B-VP","I-VP","I-VP","B-NP","B-NP","B-ADVP","B-NP","B-VP","O"
+"VBP","PRP","VB","TO","VB","PRP","NNS","WRB","PRP","VBP","RB"
+"Do","I","have","to","pay","US","taxes","when","I","work","abroad"
+"Military sex cases are ""sickening,"" lawmaker says.   no meaningful distinction between complacency or complicity in the military's latest failure to .  ."
+"B-NP","I-NP","I-NP","B-VP","I-VP","B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-NP","I-NP"
+"JJ","NN","NNS","VBP","VBG","NN","VBZ","DT","JJ","NN","IN","NN","CC","NN","IN","DT","JJ","NNS","JJS","NN"
+"Military","sex","cases","are","sickening","lawmaker","says","no","meaningful","distinction","between","complacency","or","complicity","in","the","military","s","latest","failure"
+"I neither calculate deduction of individual or business tax."
+"B-NP","B-ADVP","B-VP","B-NP","B-PP","B-NP","I-NP","I-NP","I-NP"
+"PRP","RB","VBP","NN","IN","JJ","CC","NN","NN"
+"I","neither","calculate","deduction","of","individual","or","business","tax"
+"remember to buy milk tomorrow for details"
+"B-VP","I-VP","I-VP","B-NP","I-NP","B-PP","B-NP"
+"VB","TO","VB","NN","NN","IN","NNS"
+"remember","to","buy","milk","tomorrow","for","details"
+"Obama IRS Should Face Justice - Judicial Watch"
+"B-NP","I-NP","B-VP","I-VP","B-NP","I-NP","I-NP"
+"NNP","NNP","MD","VB","NNP","NNP","NNP"
+"Obama","IRS","Should","Face","Justice","Judicial","Watch"
+"How can I get short focus zoom lens for digital camera"
+"B-ADVP","O","B-NP","B-VP","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP"
+"WRB","MD","PRP","VB","JJ","NN","NN","NN","IN","JJ","NN"
+"How","can","I","get","short","focus","zoom","lens","for","digital","camera"
+"What will happen to my information if I log out before I submit my request? .  Can I use Web Pay if my last name changed in 2011? .  an electronic payment from your bank account to pay your personal and business income taxes. .  Estimated tax; Tax return; Billing notice; Extension; Notice of Proposed Assessment; Tax  ."
+"B-NP","B-VP","I-VP","B-PP","B-NP","I-NP","B-SBAR","B-NP","B-VP","B-PRT","B-SBAR","B-NP","B-VP","B-NP","I-NP","O","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-VP","B-PP","B-NP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-VP","I-VP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
+"WP","MD","VB","TO","PRP$","NN","IN","PRP","VBP","RP","IN","PRP","VBP","PRP$","NN","MD","PRP","VB","NNP","NN","IN","PRP$","JJ","NN","VBD","IN","CD","DT","JJ","NN","IN","PRP$","NN","NN","TO","VB","PRP$","JJ","CC","NN","NN","NNS","JJ","NN","NNP","NN","NNP","NN","NNP","NNP","IN","NNP","NNP","NNP"
+"What","will","happen","to","my","information","if","I","log","out","before","I","submit","my","request","Can","I","use","Web","Pay","if","my","last","name","changed","in","2011","an","electronic","payment","from","your","bank","account","to","pay","your","personal","and","business","income","taxes","Estimated","tax","Tax","return","Billing","notice","Extension","Notice","of","Proposed","Assessment","Tax"
+"Polls go up tomorrow! http://t.co/aOa2Bsf5 2 days ago; Contest Poll: 2012 Primal ."
+"B-NP","B-VP","B-PRT","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP"
+"NNS","VBP","RP","NN","NN","NN","NN","IN","CD","NNS","IN","NNP","NNP","CD","NNP"
+"Polls","go","up","tomorrow","http","t","co","aOa2Bsf5","2","days","ago","Contest","Poll","2012","Primal"
+"His insights fundamentally changed the way we look at "
+"B-NP","I-NP","B-ADVP","B-VP","B-NP","I-NP","B-NP","B-VP","B-PP"
+"PRP$","NNS","RB","VBD","DT","NN","PRP","VBP","IN"
+"His","insights","fundamentally","changed","the","way","we","look","at"
+"Can I use turbo tax to file using my last paystub, not my w-2. .  if you use your last pay stub it does not have all the information you need, usually there .  I hope you are only trying to do some initial estimating but will wait to receive your .  plan, no income which may be recharacterized, no pension plan, etc. ."
+"O","B-NP","B-VP","B-NP","I-NP","B-VP","I-VP","I-VP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","B-SBAR","B-NP","B-VP","B-NP","I-NP","I-NP","I-NP","B-NP","B-VP","I-VP","I-VP","B-NP","I-NP","I-NP","B-NP","B-VP","B-ADVP","B-ADVP","B-NP","B-VP","B-NP","B-VP","I-VP","I-VP","I-VP","I-VP","B-NP","I-NP","I-NP","O","B-VP","I-VP","I-VP","I-VP","B-NP","I-NP","B-NP","I-NP","B-NP","B-VP","I-VP","I-VP","B-NP","I-NP","I-NP","O"
+"MD","PRP","VB","NN","NN","TO","VB","VBG","PRP$","JJ","NN","RB","PRP$","NN","CD","IN","PRP","VBP","PRP$","JJ","NN","NN","PRP","VBZ","RB","VB","DT","DT","NN","PRP","VBP","RB","RB","PRP","VBP","PRP","VBP","RB","VBG","TO","VB","DT","JJ","NN","CC","MD","VB","TO","VB","PRP$","NN","DT","NN","WDT","MD","VB","VBN","DT","NN","NN","FW"
+"Can","I","use","turbo","tax","to","file","using","my","last","paystub","not","my","w","2","if","you","use","your","last","pay","stub","it","does","not","have","all","the","information","you","need","usually","there","I","hope","you","are","only","trying","to","do","some","initial","estimating","but","will","wait","to","receive","your","plan","no","income","which","may","be","recharacterized","no","pension","plan","etc"
+"How to get weed out of your system Fast"
+"B-ADVP","B-VP","I-VP","I-VP","B-PP","B-PP","B-NP","I-NP"
+"WRB","TO","VB","VBN","IN","IN","PRP$","NN"
+"How","to","get","weed","out","of","your","system"
+"Albert Einstein   Biographical ."
+"B-NP","I-NP","I-NP"
+"NNP","NNP","NNP"
+"Albert","Einstein","Biographical"
+"This car provides you a very good mileage."
+"B-NP","I-NP","B-VP","B-NP","B-NP","I-NP","I-NP","I-NP"
+"DT","NN","VBZ","PRP","DT","RB","JJ","NN"
+"This","car","provides","you","a","very","good","mileage"
+"How to deduct repair expense from rental income."
+"B-ADVP","B-VP","I-VP","B-NP","I-NP","B-PP","B-NP","I-NP"
+"WRB","TO","VB","NN","NN","IN","JJ","NN"
+"How","to","deduct","repair","expense","from","rental","income"
+"President Obama said today he has no patience for reports that the Internal Revenue Service singled out conservative."
+"B-NP","I-NP","B-VP","B-NP","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","B-SBAR","B-NP","I-NP","I-NP","I-NP","B-VP","B-NP","I-NP"
+"NN","NNP","VBD","NN","PRP","VBZ","DT","NN","IN","NNS","IN","DT","JJ","NN","NN","VBN","RP","NN"
+"President","Obama","said","today","he","has","no","patience","for","reports","that","the","Internal","Revenue","Service","singled","out","conservative"
+"Even if you avoid U.S."
+"B-SBAR","I-SBAR","B-NP","B-VP","B-NP","I-NP"
+"RB","IN","PRP","VBP","NNP","NNP"
+"Even","if","you","avoid","U","S"
+"beautiful example of"
+"B-NP","I-NP","B-PP"
+"JJ","NN","IN"
+"beautiful","example","of"
+"I cannot conceive of a god who rewards and punishes his creatures or has a will of the kind that we experience in ourselves."
+"B-NP","B-VP","I-VP","B-PP","B-NP","I-NP","B-NP","B-VP","I-VP","I-VP","B-NP","I-NP","O","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","B-SBAR","B-NP","B-VP","B-PP","B-NP"
+"PRP","MD","VB","IN","DT","NN","WP","VBZ","CC","VBZ","PRP$","NNS","CC","VBZ","DT","NN","IN","DT","NN","IN","PRP","VBP","IN","NNS"
+"I","cannot","conceive","of","a","god","who","rewards","and","punishes","his","creatures","or","has","a","will","of","the","kind","that","we","experience","in","ourselves"
+"First of all, I don't do all my shopping at Trader Joe's (I get produce, dairy, and other items at . ."
+"B-ADVP","B-PP","B-NP","B-NP","B-VP","I-VP","I-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-VP","B-NP","B-VP","I-VP","B-NP","O","B-NP","I-NP","B-PP"
 "RB","IN","DT","PRP","VBP","TO","VB","DT","PRP$","NN","IN","NN","NNP","VBZ","PRP","VBP","VB","NN","CC","JJ","NNS","IN"
 "First","of","all","I","don","t","do","all","my","shopping","at","Trader","Joe","s","I","get","produce","dairy","and","other","items","at"
-"Amazon.com: albert einstein ."
-"B-NP","I-NP","B-PP","B-NP"
-"NNP","NN","IN","CD"
-"Amazon","com","albert","einstein"
+"871 quotes from Albert Einstein:  Two things are infinite: the universe and human stupidity; and I m not sure about the universe. ,  There are only two ways to live "
+"B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-VP","B-ADJP","B-NP","I-NP","I-NP","I-NP","I-NP","O","B-NP","B-VP","I-VP","I-VP","B-PP","B-NP","I-NP","B-NP","B-VP","B-NP","I-NP","I-NP","B-VP","I-VP"
+"CD","NNS","IN","NNP","NNP","CD","NNS","VBP","JJ","DT","NN","CC","JJ","NN","CC","PRP","MD","RB","VB","IN","DT","NN","EX","VBP","RB","CD","NNS","TO","VB"
+"871","quotes","from","Albert","Einstein","Two","things","are","infinite","the","universe","and","human","stupidity","and","I","m","not","sure","about","the","universe","There","are","only","two","ways","to","live"
+"IRS Admits To Unfairly Targeting Conservative Groups ..."
+"B-NP","B-VP","I-VP","I-VP","I-VP","B-NP","I-NP"
+"NNS","VBZ","TO","RB","VBG","JJ","NNS"
+"IRS","Admits","To","Unfairly","Targeting","Conservative","Groups"
+"Where do I apply?"
+"B-ADVP","B-VP","I-VP","I-VP"
+"WRB","VBP","RB","VB"
+"Where","do","I","apply"
 "Tell them that you need a 1040 tax form ."
 "B-VP","B-NP","B-SBAR","B-NP","B-VP","B-NP","I-NP","I-NP","I-NP"
 "VB","PRP","IN","PRP","VBP","DT","CD","NN","NN"
 "Tell","them","that","you","need","a","1040","tax","form"
-"Who Can Benefit From The .  and deductions, who would prefer to have tax on that income withheld from their paychecks rather than make periodic separate payments through the estimated tax procedures ."
-"B-NP","B-VP","I-VP","B-PP","B-NP","I-NP","I-NP","B-NP","B-VP","I-VP","I-VP","I-VP","B-NP","B-PP","B-NP","I-NP","B-VP","B-PP","B-NP","I-NP","B-PP","I-PP","O","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP"
-"WP","MD","VB","IN","DT","CC","NNS","WP","MD","VB","TO","VB","NN","IN","DT","NN","VBD","IN","PRP$","NNS","RB","IN","VB","JJ","JJ","NNS","IN","DT","JJ","NN","NNS"
-"Who","Can","Benefit","From","The","and","deductions","who","would","prefer","to","have","tax","on","that","income","withheld","from","their","paychecks","rather","than","make","periodic","separate","payments","through","the","estimated","tax","procedures"
-"See you tomorrow night! . ."
-"B-VP","B-NP","B-VP","B-NP"
-"VB","PRP","VB","NN"
-"See","you","tomorrow","night"
-"He enjoyed classical music and played the violin."
-"B-NP","B-VP","B-NP","I-NP","O","B-VP","B-NP","I-NP"
-"PRP","VBD","JJ","NN","CC","VBD","DT","NN"
-"He","enjoyed","classical","music","and","played","the","violin"
-"I love their unsweetened vanilla almond milk! . ."
-"B-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP"
-"PRP","VBP","PRP$","JJ","NN","NN","NN"
-"I","love","their","unsweetened","vanilla","almond","milk"
-"Albert Einstein   IMDb ."
-"B-NP","I-NP","I-NP"
-"NNP","NNP","NNP"
-"Albert","Einstein","IMDb"
+"The goal with this calculator is to show the effects of the Bush and Obama tax cuts .  Calculate My Income Tax .  The calculator will not display correctly if more than four scenarios are ."
+"B-NP","I-NP","B-PP","B-NP","I-NP","B-VP","B-VP","I-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP","B-NP","I-NP","B-VP","I-VP","I-VP","B-ADJP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP"
+"DT","NN","IN","DT","NN","VBZ","TO","VB","DT","NNS","IN","DT","NNP","CC","NNP","NN","VBZ","NNP","NNP","NNP","NNP","DT","NN","MD","RB","VB","RB","IN","JJR","IN","CD","NNS","VBP"
+"The","goal","with","this","calculator","is","to","show","the","effects","of","the","Bush","and","Obama","tax","cuts","Calculate","My","Income","Tax","The","calculator","will","not","display","correctly","if","more","than","four","scenarios","are"
+"Albert Einstein profoundly changed physics and ideas about space and time."
+"B-NP","I-NP","B-ADVP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
+"NNP","NNP","RB","VBD","NNS","CC","NNS","IN","NN","CC","NN"
+"Albert","Einstein","profoundly","changed","physics","and","ideas","about","space","and","time"
+"Get Organized with Remember the Milk"
+"B-VP","B-NP","I-PRT","B-VP","B-NP","I-NP"
+"VB","NNP","IN","VB","DT","NN"
+"Get","Organized","with","Remember","the","Milk"
+"You'd think that if you're living abroad and earning all your money from a foreign .  My son has been living out of the country for the last five years but is moving back .  Could he be responsible to pay when there's no income? ."
+"B-NP","B-VP","I-VP","B-SBAR","B-SBAR","B-NP","B-VP","I-VP","B-ADVP","O","B-VP","O","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-VP","I-VP","I-VP","B-ADVP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","O","B-VP","I-VP","B-ADVP","O","B-NP","B-VP","B-ADJP","B-VP","I-VP","B-ADVP","B-NP","B-VP","B-NP","I-NP"
+"PRP","VBD","VB","IN","IN","PRP","VBP","VBG","RB","CC","VBG","DT","PRP$","NN","IN","DT","JJ","JJ","NN","VBZ","VBN","VBG","IN","IN","DT","NN","IN","DT","JJ","CD","NNS","CC","VBZ","VBG","RB","MD","PRP","VB","JJ","TO","VB","WRB","EX","VBZ","DT","NN"
+"You","d","think","that","if","you","re","living","abroad","and","earning","all","your","money","from","a","foreign","My","son","has","been","living","out","of","the","country","for","the","last","five","years","but","is","moving","back","Could","he","be","responsible","to","pay","when","there","s","no","income"
+"remember to buy milk tomorrow from 3 to jones"
+"B-VP","I-VP","I-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
+"VB","TO","VB","NN","NN","IN","CD","TO","NNS"
+"remember","to","buy","milk","tomorrow","from","3","to","jones"
 "The strong engine gives it enough power."
 "B-NP","I-NP","I-NP","B-VP","B-NP","B-NP","I-NP"
 "DT","JJ","NN","VBZ","PRP","RB","NN"
 "The","strong","engine","gives","it","enough","power"
-"Einstein Archives Online ."
-"B-NP","I-NP","I-NP"
-"NNP","NNP","NNP"
-"Einstein","Archives","Online"
+"20 Best Online To Do List Apps for Freelancers"
+"B-NP","I-NP","I-NP","B-VP","I-VP","B-NP","I-NP","B-PP","B-NP"
+"CD","NNP","NNP","TO","VB","NNP","NNP","IN","NNS"
+"20","Best","Online","To","Do","List","Apps","for","Freelancers"
+"I advertised my property as a business rental."
+"B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP","I-NP"
+"PRP","VBD","PRP$","NN","IN","DT","NN","NN"
+"I","advertised","my","property","as","a","business","rental"
 "Tax on overseas income : Directgov - Money, tax and benefits"
 "B-NP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP"
 "NNP","IN","JJ","NN","NNP","NNP","NN","CC","NNS"
 "Tax","on","overseas","income","Directgov","Money","tax","and","benefits"
-"While developing general relativity, Einstein became confused about the gauge invariance in the theory."
-"B-PP","B-VP","B-NP","I-NP","I-NP","B-VP","I-VP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP"
-"IN","VBG","JJ","NN","NNP","VBD","VBN","IN","DT","NN","NN","IN","DT","NN"
-"While","developing","general","relativity","Einstein","became","confused","about","the","gauge","invariance","in","the","theory"
-"Read this page to learn all the details, and if you have any questions or run into any . . email address] Buy birthday present for Mike today Pay the phone bill tomorrow Make ."
-"B-VP","B-NP","I-NP","B-VP","I-VP","B-NP","I-NP","I-NP","O","B-SBAR","B-NP","B-VP","B-NP","I-NP","O","B-VP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-VP","B-NP","I-NP","I-NP","B-ADVP","O"
-"VB","DT","NN","TO","VB","PDT","DT","NNS","CC","IN","PRP","VBP","DT","NNS","CC","VB","IN","DT","NN","NN","NN","NN","NN","IN","JJ","NN","VBP","DT","NN","NN","RB","VB"
-"Read","this","page","to","learn","all","the","details","and","if","you","have","any","questions","or","run","into","any","email","address","Buy","birthday","present","for","Mike","today","Pay","the","phone","bill","tomorrow","Make"
-"PBS Airdate: October 11, 2005."
-"B-NP","I-NP","I-NP","I-NP","I-NP"
-"NNP","NNP","NNP","CD","CD"
-"PBS","Airdate","October","11","2005"
-"How do I estimate my tax return with my last pay stub? .  no dependents, your non taxable income is $9350, any excess of that will be taxed at .  Using my pay stub for taxes file my taxes, is H.R.block.  Can I use only my last paystub to do my taxes  ."
-"B-ADVP","O","B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","I-NP","B-ADVP","B-VP","B-NP","I-NP","I-NP","I-NP","B-VP","B-NP","B-NP","I-NP","B-PP","B-NP","B-VP","I-VP","I-VP","B-PP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","B-VP","B-NP","I-NP","B-VP","B-NP","I-NP","I-NP","O","B-NP","B-VP","B-ADVP","B-NP","I-NP","I-NP","B-VP","I-VP","B-NP","I-NP"
-"WRB","VBP","PRP","VB","PRP$","NN","NN","IN","PRP$","JJ","NN","NN","RB","VBZ","PRP$","JJ","JJ","NN","VBZ","CD","DT","NN","IN","DT","MD","VB","VBN","IN","VBG","PRP$","NN","NN","IN","NNS","VBP","PRP$","NNS","VBZ","NNP","NNP","NN","MD","PRP","VB","RB","PRP$","JJ","NN","TO","VB","PRP$","NNS"
-"How","do","I","estimate","my","tax","return","with","my","last","pay","stub","no","dependents","your","non","taxable","income","is","9350","any","excess","of","that","will","be","taxed","at","Using","my","pay","stub","for","taxes","file","my","taxes","is","H","R","block","Can","I","use","only","my","last","paystub","to","do","my","taxes"
-"Some Quotations of ALBERT EINSTEIN (1879-1955)"
-"B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","O"
-"DT","NNS","IN","NNP","NNP","CD","CD"
-"Some","Quotations","of","ALBERT","EINSTEIN","1879","1955"
-"Letter to his son Eduard (5 February 1930), as quoted in Walter Isaacson, Einstein: His Life "
-"B-NP","B-VP","B-NP","I-NP","B-NP","I-NP","I-NP","I-NP","B-SBAR","B-VP","B-PP","B-NP","I-NP","I-NP","I-NP","I-NP"
-"NNP","TO","PRP$","NN","NNP","CD","NNP","CD","IN","VBN","IN","NNP","NNP","NNP","NNP","NN"
-"Letter","to","his","son","Eduard","5","February","1930","as","quoted","in","Walter","Isaacson","Einstein","His","Life"
-"I can deduct office rental expense from my business profit to calculate net income."
-"B-NP","B-VP","I-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-VP","I-VP","B-NP","I-NP"
-"PRP","MD","VB","NN","JJ","NN","IN","PRP$","NN","NN","TO","VB","JJ","NN"
-"I","can","deduct","office","rental","expense","from","my","business","profit","to","calculate","net","income"
-"Albert Einstein was born at Ulm, in W�rttemberg, Germany, on March 14, 1879."
-"B-NP","I-NP","B-VP","I-VP","B-PP","B-NP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP","O"
-"NNP","NNP","VBD","VBN","IN","NNP","IN","NNP","NNP","IN","NNP","CD","CD"
-"Albert","Einstein","was","born","at","Ulm","in","W�rttemberg","Germany","on","March","14","1879"
-"Ask Stacy: Do I Have to Pay Taxes If I'm Not in the US?"
-"B-VP","B-NP","I-NP","B-NP","B-VP","I-VP","I-VP","B-NP","B-SBAR","B-NP","B-VP","B-ADVP","B-PP","B-NP","I-NP"
-"VB","NNP","VB","PRP","VBP","TO","VB","NNS","IN","PRP","VBP","RB","IN","DT","NNP"
-"Ask","Stacy","Do","I","Have","to","Pay","Taxes","If","I","m","Not","in","the","US"
-"remember to buy milk tomorrow from third to joes"
-"B-VP","I-VP","I-VP","B-NP","I-NP","B-PP","B-VP","B-PP","B-NP"
-"VB","TO","VB","NN","NN","IN","JJ","TO","NNS"
-"remember","to","buy","milk","tomorrow","from","third","to","joes"
+"I use the olive oil, I buy my milk and eggs from them. .  Remember I'm talking raw non-homogenized which is even more delicate. ."
+"B-NP","B-VP","B-NP","I-NP","I-NP","B-NP","B-VP","B-NP","I-NP","I-NP","I-NP","B-PP","B-NP","B-VP","I-VP","I-VP","I-VP","B-NP","I-NP","I-NP","B-NP","B-VP","B-NP","I-NP","I-NP"
+"PRP","VBP","DT","JJ","NN","PRP","VBP","PRP$","NN","CC","NNS","IN","PRP","VB","PRP","VB","VBG","JJ","NN","VBN","WDT","VBZ","RB","JJR","NN"
+"I","use","the","olive","oil","I","buy","my","milk","and","eggs","from","them","Remember","I","m","talking","raw","non","homogenized","which","is","even","more","delicate"
+"The net business profit is calculated as follows."
+"B-NP","I-NP","I-NP","I-NP","B-VP","I-VP","B-PP","B-NP"
+"DT","JJ","NN","NN","VBZ","VBN","IN","NNS"
+"The","net","business","profit","is","calculated","as","follows"
+"Fort Hood soldier\u2019s arrest is latest blow to .  \u201cI see no meaningful distinction between complacency or complicity in the military\u2019s latest failure to uphold .  ."
+"B-NP","I-NP","I-NP","B-VP","B-NP","B-VP","B-NP","I-NP","B-PP","B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-VP","B-NP","B-VP","I-VP"
+"NNP","NNP","NN","VBZ","NN","VBZ","JJS","NN","TO","PRP","VBP","DT","JJ","NN","IN","NN","CC","NN","IN","DT","JJ","NNS","RB","NN","TO","VB"
+"Fort","Hood","soldier","s","arrest","is","latest","blow","to","I","see","no","meaningful","distinction","between","complacency","or","complicity","in","the","military","s","latest","failure","to","uphold"
+"The California Republican has a granddaughter in the Army."
+"B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","B-PP","B-NP","I-NP"
+"DT","NNP","NNP","VBZ","DT","NN","IN","DT","NNP"
+"The","California","Republican","has","a","granddaughter","in","the","Army"
+"Albert Einstein: Theories, Facts, IQ and Quotes ."
+"B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP"
+"NNP","NNP","NNP","NNP","NNP","CC","NNPS"
+"Albert","Einstein","Theories","Facts","IQ","and","Quotes"
+"BPA-Free Versions of Popular Foods | Mark's Daily Apple"
+"B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP"
+"NNP","NNP","NNP","IN","NNP","NNP","NNP","VBZ","NNP","NNP"
+"BPA","Free","Versions","of","Popular","Foods","Mark","s","Daily","Apple"
+"Lawmaker: Another Military Sex Case 'Sickening' | Military.com"
+"B-NP","B-NP","I-NP","I-NP","I-NP","I-NP","I-NP","I-NP"
+"NNP","DT","NNP","NN","NNP","NNP","NNP","NN"
+"Lawmaker","Another","Military","Sex","Case","Sickening","Military","com"
+"Expenses on my time spent on advertisement are subtracted from the rental income."
+"B-NP","B-PP","B-NP","I-NP","B-VP","B-PP","B-NP","B-VP","I-VP","B-PP","B-NP","I-NP","I-NP"
+"NNS","IN","PRP$","NN","VBD","IN","NN","VBP","VBN","IN","DT","JJ","NN"
+"Expenses","on","my","time","spent","on","advertisement","are","subtracted","from","the","rental","income"
+"Albert Einstein was a German born theoretical physicist."
+"B-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP"
+"NNP","NNP","VBD","DT","JJ","JJ","JJ","NN"
+"Albert","Einstein","was","a","German","born","theoretical","physicist"
+"A black and white photograph of Harvey Milk sitting at the mayor's desk . ."
+"B-NP","I-NP","I-NP","I-NP","I-NP","B-PP","B-NP","I-NP","B-VP","B-PP","B-NP","I-NP","I-NP","I-NP"
+"DT","JJ","CC","JJ","NN","IN","NNP","NNP","VBG","IN","DT","NN","NNS","NN"
+"A","black","and","white","photograph","of","Harvey","Milk","sitting","at","the","mayor","s","desk"
+"said he saw no meaningful distinction between complacency or complicity in the military's latest failure to"
+"B-VP","B-NP","B-VP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-PP","B-NP","I-NP","I-NP","B-NP","I-NP"
+"VBD","PRP","VBD","DT","JJ","NN","IN","NN","CC","NN","IN","DT","JJ","NNS","JJS","NN"
+"said","he","saw","no","meaningful","distinction","between","complacency","or","complicity","in","the","military","s","latest","failure"
+"How can I pay tax on my income abroad"
+"B-ADVP","O","B-NP","B-VP","B-NP","B-PP","B-NP","I-NP","O"
+"WRB","MD","PRP","VB","NN","IN","PRP$","NN","RB"
+"How","can","I","pay","tax","on","my","income","abroad"
 "A guide to Irish income tax and capital gains tax liability based on some commonly .  In general, tax is deducted from your salary through what is known as the Pay As You Earn (PAYE) . .."
 "B-NP","I-NP","B-PP","B-NP","I-NP","I-NP","O","B-NP","I-NP","I-NP","I-NP","B-VP","B-PP","B-NP","I-NP","B-PP","B-NP","I-NP","B-VP","I-VP","B-PP","B-NP","I-NP","B-PP","B-NP","B-VP","I-VP","B-PP","B-NP","I-NP","B-PP","B-NP","B-NP","I-NP"
 "DT","NN","TO","JJ","NN","NN","CC","NN","NNS","NN","NN","VBN","IN","DT","JJ","IN","JJ","NN","VBZ","VBN","IN","PRP$","NN","IN","WP","VBZ","VBN","IN","DT","NN","IN","PRP","NNP","NN"
 "A","guide","to","Irish","income","tax","and","capital","gains","tax","liability","based","on","some","commonly","In","general","tax","is","deducted","from","your","salary","through","what","is","known","as","the","Pay","As","You","Earn","PAYE"
-"If you're finished viewing a task."
-"B-SBAR","B-NP","B-VP","I-VP","I-VP","B-NP","I-NP"
-"IN","PRP","VBP","VBN","VBG","DT","NN"
-"If","you","re","finished","viewing","a","task"
-"It's sometimes hard to function and hard to want to get out of bed .  Posted in baby amelia   3 Comments � .  I realized that time has gotten away from me, for tomorrow Amelia would have been four weeks old. .  by now, and hopefully, had become an accomplished milk-cow. . ."
-"B-NP","B-VP","B-ADVP","B-ADJP","B-VP","I-VP","O","B-ADVP","B-VP","I-VP","I-VP","I-VP","B-PP","B-PP","B-NP","B-VP","B-PP","B-NP","I-NP","B-NP","I-NP","B-NP","B-VP","B-SBAR","B-NP","B-VP","I-VP","B-ADVP","B-PP","B-NP","B-PP","B-NP","I-NP","B-VP","I-VP","I-VP","B-NP","I-NP","B-ADJP","B-PP","B-ADVP","O","B-VP","I-VP","I-VP","B-NP","I-NP","I-NP","I-NP"
-"PRP","VBZ","RB","JJ","TO","VB","CC","JJ","TO","VB","TO","VB","IN","IN","NN","VBN","IN","NN","NNS","CD","NNS","PRP","VBD","IN","NN","VBZ","VBN","RB","IN","PRP","IN","NN","NNP","MD","VB","VBN","CD","NNS","JJ","IN","RB","CC","RB","VBD","VBN","DT","JJ","NN","NN"
-"It","s","sometimes","hard","to","function","and","hard","to","want","to","get","out","of","bed","Posted","in","baby","amelia","3","Comments","I","realized","that","time","has","gotten","away","from","me","for","tomorrow","Amelia","would","have","been","four","weeks","old","by","now","and","hopefully","had","become","an","accomplished","milk","cow"
-"Albert Einstein (March 14, 1879 \u2013 April 18, 1955) was a German born theoretical physicist."
-"B-NP","I-NP","I-NP","I-NP","I-NP","B-NP","I-NP","I-NP","B-VP","B-NP","I-NP","I-NP","I-NP","I-NP"
-"NNP","NNP","NNP","CD","CD","NNP","CD","CD","VBD","DT","JJ","JJ","JJ","NN"
-"Albert","

<TRUNCATED>

[06/11] opennlp-sandbox git commit: removed stanford nlp refs

Posted by bg...@apache.org.
http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/EdgeProductBuilder.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/EdgeProductBuilder.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/EdgeProductBuilder.java
deleted file mode 100644
index 6b72e47..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/EdgeProductBuilder.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.parse_thicket2graph;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-
-import opennlp.tools.parse_thicket.ParseCorefsBuilder;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-
-import org.jgrapht.Graph;
-import org.jgrapht.alg.BronKerboschCliqueFinder;
-import org.jgrapht.graph.DefaultEdge;
-import org.jgrapht.graph.SimpleGraph;
-
-
-public class EdgeProductBuilder {
-	private Matcher matcher = new Matcher();
-	private ParseCorefsBuilder ptBuilder = ParseCorefsBuilder.getInstance();
-	private GraphFromPTreeBuilder graphBuilder = new GraphFromPTreeBuilder();
-	
-	
-	public Graph<ParseGraphNode[], DefaultEdge>  
-		buildEdgeProduct(Graph<ParseGraphNode, DefaultEdge> g1, Graph<ParseGraphNode, DefaultEdge> g2 ){
-			Graph<ParseGraphNode[], DefaultEdge> gp = 
-				new SimpleGraph<ParseGraphNode[], DefaultEdge>(DefaultEdge.class);
-		
-		Set<DefaultEdge> edges1 = g1.edgeSet();
-		Set<DefaultEdge> edges2 = g2.edgeSet();
-		// build nodes of product graph
-		for(DefaultEdge e1:edges1){
-			for(DefaultEdge e2:edges2){
-				ParseGraphNode sourceE1s = g1.getEdgeSource(e1), sourceE1t = g1.getEdgeTarget(e1);
-				ParseGraphNode sourceE2s = g2.getEdgeSource(e2), sourceE2t = g2.getEdgeTarget(e2);
-				
-				if (isNotEmpty(matcher.generalize(sourceE1s.getPtNodes(), sourceE2s.getPtNodes())) && 
-						isNotEmpty(matcher.generalize(sourceE1t.getPtNodes(), sourceE2t.getPtNodes()))
-					)
-					gp.addVertex(new ParseGraphNode[] {sourceE1s, sourceE1t, sourceE2s, sourceE2t } );
-			}
-		}
-		
-		Set<ParseGraphNode[]> productVerticesSet = gp.vertexSet();
-		List<ParseGraphNode[]> productVerticesList = new ArrayList<ParseGraphNode[]>(productVerticesSet);
-		for(int i=0; i<productVerticesList.size(); i++){
-			for(int j=i+1; j<productVerticesList.size(); j++){
-				ParseGraphNode[] prodVertexI = productVerticesList.get(i);
-				ParseGraphNode[] prodVertexJ = productVerticesList.get(j);
-				if (bothAjacentOrNeitherAdjacent(prodVertexI, prodVertexJ)){
-					gp.addEdge(prodVertexI, prodVertexJ);
-				}
-			}
-		}
-		
-		
-		return gp;
-		
-	}
-	/*
-	 * Finding the maximal clique is the slowest part
-	 */
-	
-	public Collection<Set<ParseGraphNode[]>> getMaximalCommonSubgraphs(Graph<ParseGraphNode[], DefaultEdge>  g){
-		BronKerboschCliqueFinder<ParseGraphNode[], DefaultEdge> finder =
-	            new BronKerboschCliqueFinder<ParseGraphNode[], DefaultEdge>(g);
-
-	        Collection<Set<ParseGraphNode[]>> cliques = finder.getBiggestMaximalCliques();
-	        return cliques;
-	}
-
-
-	private boolean bothAjacentOrNeitherAdjacent(ParseGraphNode[] prodVertexI,
-			ParseGraphNode[] prodVertexJ) {
-		List<ParseGraphNode> prodVertexIlist = 
-				new ArrayList<ParseGraphNode>(Arrays.asList(prodVertexI));
-		List<ParseGraphNode> prodVertexJlist = 
-				new ArrayList<ParseGraphNode>(Arrays.asList(prodVertexJ));
-		prodVertexIlist.retainAll(prodVertexJlist);
-		return (prodVertexIlist.size()==2 || prodVertexIlist.size()==4);
-	}
-
-
-	private boolean isNotEmpty(List<List<ParseTreeChunk>> generalize) {
-		if (generalize!=null && generalize.get(0)!=null && generalize.get(0).size()>0)
-			return true;
-		else
-			return false;
-	}
-	
-	public Collection<Set<ParseGraphNode[]>>  assessRelevanceViaMaximalCommonSubgraphs(String para1, String para2) {
-		// first build PTs for each text
-		ParseThicket pt1 = ptBuilder.buildParseThicket(para1);
-		ParseThicket pt2 = ptBuilder.buildParseThicket(para2);
-		// then build phrases and rst arcs
-		Graph<ParseGraphNode, DefaultEdge> g1 = graphBuilder.buildGraphFromPT(pt1);
-		Graph<ParseGraphNode, DefaultEdge> g2 = graphBuilder.buildGraphFromPT(pt2);
-		
-		Graph<ParseGraphNode[], DefaultEdge> gp =  buildEdgeProduct(g1, g2);
-		Collection<Set<ParseGraphNode[]>> col = getMaximalCommonSubgraphs(gp);
-		return col;
-		}
-	
-	public static void main(String[] args){
-		 EdgeProductBuilder b = new  EdgeProductBuilder();
-		 Collection<Set<ParseGraphNode[]>> col = b.assessRelevanceViaMaximalCommonSubgraphs("Iran refuses to accept the UN proposal to end its dispute over its work on nuclear weapons."+
-				"UN nuclear watchdog passes a resolution condemning Iran for developing its second uranium enrichment site in secret. " +
-				"A recent IAEA report presented diagrams that suggested Iran was secretly working on nuclear weapons. " +
-				"Iran envoy says its nuclear development is for peaceful purpose, and the material evidence against it has been fabricated by the US. "
-
-				, "Iran refuses the UN offer to end a conflict over its nuclear weapons."+
-						"UN passes a resolution prohibiting Iran from developing its uranium enrichment site. " +
-						"A recent UN report presented charts saying Iran was working on nuclear weapons. " +
-				"Iran envoy to UN states its nuclear development is for peaceful purpose, and the evidence against its claim is fabricated by the US. ");
-		System.out.print(col);
-	}
-}
-				

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/GraphFromPTreeBuilder.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/GraphFromPTreeBuilder.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/GraphFromPTreeBuilder.java
deleted file mode 100644
index d19d7db..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/GraphFromPTreeBuilder.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.parse_thicket2graph;
-
-import java.io.PrintWriter;
-import java.util.List;
-
-import opennlp.tools.parse_thicket.PTTree;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import org.jgrapht.Graph;
-import org.jgrapht.graph.DefaultDirectedWeightedGraph;
-import org.jgrapht.graph.DefaultEdge;
-import org.jgrapht.graph.SimpleGraph;
-
-
-import edu.stanford.nlp.trees.LabeledScoredTreeNode;
-import edu.stanford.nlp.trees.Tree;
-
-public class GraphFromPTreeBuilder {
-	
-	
-	public Graph<ParseGraphNode, DefaultEdge> buildGraphFromPT(ParseThicket pt){
-		PrintWriter out = new PrintWriter(System.out);
-
-		
-		List<Tree> ts = pt.getSentences();
-		ts.get(0).pennPrint(out);
-		Graph<ParseGraphNode, DefaultEdge> gfragment = buildGGraphFromTree(ts.get(0));
-		
-		//ParseTreeVisualizer applet = new ParseTreeVisualizer();
-		//applet.showGraph(gfragment);
-		
-		return gfragment;
-		
-	}
-	
-	
-	private Graph<ParseGraphNode, DefaultEdge> buildGGraphFromTree(Tree tree) {
-		Graph<ParseGraphNode, DefaultEdge> g =
-				new SimpleGraph<ParseGraphNode, DefaultEdge>(DefaultEdge.class);
-		ParseGraphNode root = new ParseGraphNode(tree,"S 0");
-		g.addVertex(root);
-		navigate(tree, g, 0, root);
-	        
-		return g;
-	}
-
-
-
-	private void navigate(Tree tree, Graph<ParseGraphNode, DefaultEdge> g, int l, ParseGraphNode currParent) {
-		//String currParent = tree.label().value()+" $"+Integer.toString(l);
-		//g.addVertex(currParent);
-		if (tree.getChildrenAsList().size()==1)
-			navigate(tree.getChildrenAsList().get(0), g, l+1, currParent);
-		else
-			if (tree.getChildrenAsList().size()==0)
-				return;
-		
-		for(Tree child: tree.getChildrenAsList()){
-			String currChild = null;
-			ParseGraphNode currChildNode = null;
-			try {
-				if (child.isLeaf()) 
-					continue;
-				if (child.label().value().startsWith("S"))
-					navigate(child.getChildrenAsList().get(0), g, l+1, currParent);
-				
-				if (!child.isPhrasal() || child.isPreTerminal())
-					currChild = child.toString()+" #"+Integer.toString(l);
-				else 
-					currChild = child.label().value()+" #"+Integer.toString(l);
-				currChildNode = new ParseGraphNode(child, currChild);
-				g.addVertex(currChildNode);
-				g.addEdge(currParent, currChildNode);
-			} catch (Exception e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			navigate(child, g, l+1, currChildNode);
-		}
-	}
-
-
-	/*
-	private static void navigateChildren(PTTree[] trChildren, int indent, boolean parentLabelNull, boolean onlyLabelValue, List<LabeledScoredTreeNode> phrases) {
-	    boolean firstSibling = true;
-	    boolean leftSibIsPreTerm = true;  // counts as true at beginning
-	    for (PTTree currentTree : trChildren) {
-	      currentTree.navigate(indent, parentLabelNull, firstSibling, leftSibIsPreTerm, false, onlyLabelValue, phrases);
-	      leftSibIsPreTerm = currentTree.isPreTerminal();
-	      // CC is a special case for English, but leave it in so we can exactly match PTB3 tree formatting
-	      if (currentTree.value() != null && currentTree.value().startsWith("CC")) {
-	        leftSibIsPreTerm = false;
-	      }
-	      firstSibling = false;
-	    }
-	  }
-	
-	
-	  private void navigate(int indent, boolean parentLabelNull, boolean firstSibling, boolean leftSiblingPreTerminal, boolean topLevel, boolean onlyLabelValue, List<LabeledScoredTreeNode> phrases) {
-	    // the condition for staying on the same line in Penn Treebank
-	    boolean suppressIndent = (parentLabelNull || (firstSibling && isPreTerminal()) || (leftSiblingPreTerminal && isPreTerminal() && (label() == null || !label().value().startsWith("CC"))));
-	    if (suppressIndent) {
-	      //pw.print(" ");
-	      // pw.flush();
-	    } else {
-	      if (!topLevel) {
-	        //pw.println();
-	      }
-	      for (int i = 0; i < indent; i++) {
-	        //pw.print("  ");
-	        // pw.flush();
-	      }
-	    }
-	    if (isLeaf() || isPreTerminal()) {
-	      String terminalString = toStringBuilder(new StringBuilder(), onlyLabelValue).toString();
-	      //pw.print(terminalString);
-	      //pw.flush();
-	      return;
-	    }
-	    //pw.print("(");
-	    String nodeString = onlyLabelValue ? value() : nodeString();
-	    //pw.print(nodeString);
-	    // pw.flush();
-	    boolean parentIsNull = label() == null || label().value() == null;
-	    navigateChildren(children(), indent + 1, parentIsNull, true, phrases);
-	    //pw.print(")");
-	    
-	  }
-	  */
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/ParseGraphNode.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/ParseGraphNode.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/ParseGraphNode.java
deleted file mode 100644
index 6f9c3ea..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/ParseGraphNode.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.parse_thicket2graph;
-
-import java.util.List;
-
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.matching.PT2ThicketPhraseBuilder;
-
-
-import edu.stanford.nlp.trees.Tree;
-
-public class ParseGraphNode {
-	 PT2ThicketPhraseBuilder phraseBuilder = new PT2ThicketPhraseBuilder();
-	 
-	private Tree tree;
-	private String label;
-	private List<List<ParseTreeNode>> ptNodes;
-	
-	
-	
-	public List<List<ParseTreeNode>> getPtNodes() {
-		return ptNodes;
-	}
-
-	public ParseGraphNode(Tree tree, String label) {
-		super();
-		this.tree = tree;
-		this.label = label;
-		ptNodes =  phraseBuilder.buildPT2ptPhrasesForASentence(tree, null);
-	}
-
-	public Tree getTree() {
-		return tree;
-	}
-
-	public void setTree(Tree tree) {
-		this.tree = tree;
-	}
-
-	public String getLabel() {
-		return label;
-	}
-
-	public void setLabel(String label) {
-		this.label = label;
-	}
-
-	public String toString(){
-		return label;
-	}
-}
-	

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/ParseTreeVisualizer.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/ParseTreeVisualizer.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/ParseTreeVisualizer.java
deleted file mode 100644
index 71c1fa3..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/parse_thicket2graph/ParseTreeVisualizer.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- 
-/* ----------------------
- * JGraphAdapterDemo.java
- * ----------------------
- * (C) Copyright 2003-2008, by Barak Naveh and Contributors.
- *
- * Original Author:  Barak Naveh
- * Contributor(s):   -
- *
- * $Id: JGraphAdapterDemo.java 725 2010-11-26 01:24:28Z perfecthash $
- *
- * Changes
- * -------
- * 03-Aug-2003 : Initial revision (BN);
- * 07-Nov-2003 : Adaptation to JGraph 3.0 (BN);
- *
- */
-package opennlp.tools.parse_thicket.parse_thicket2graph;
-
-import java.awt.*;
-import java.awt.geom.*;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-import javax.swing.*;
-
-
-import org.jgraph.*;
-import org.jgraph.graph.*;
-
-import org.jgrapht.*;
-import org.jgrapht.ext.*;
-import org.jgrapht.graph.*;
-
-
-import org.jgrapht.graph.DefaultEdge;
-
-public class ParseTreeVisualizer
-extends JApplet
-{
-	//~ Static fields/initializers ---------------------------------------------
-
-	private static final long serialVersionUID = 3256346823498765434L;
-	private static final Color DEFAULT_BG_COLOR = Color.decode("#FAFBFF");
-	private static final Dimension DEFAULT_SIZE = new Dimension(1200, 800);
-
-	//~ Instance fields --------------------------------------------------------
-
-	//
-	private JGraphModelAdapter<String, DefaultEdge> jgAdapter;
-
-	public void  showGraph(Graph g){
-		ParseTreeVisualizer applet = new ParseTreeVisualizer();
-		applet.importGraph(g);
-
-		JFrame frame = new JFrame();
-		frame.getContentPane().add(applet);
-		frame.setTitle("Showing parse thicket");
-		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
-		frame.pack();
-		frame.setVisible(true);
-	}
-
-	// TODO cast to ParseGraphNode
-	private void importGraph(Graph g) {
-		// create a visualization using JGraph, via an adapter
-		jgAdapter = new JGraphModelAdapter<String, DefaultEdge>(g);
-
-		JGraph jgraph = new JGraph(jgAdapter);
-
-		adjustDisplaySettings(jgraph);
-		getContentPane().add(jgraph);
-		resize(DEFAULT_SIZE);
-
-		Set<String> vertexSet = ( Set<String>)g.vertexSet();
-		int count=0;
-		Map<Integer, Integer> level_count = new HashMap<Integer, Integer> ();
-
-		for(String vertexStr: vertexSet){
-			Integer key = 0;
-			try {
-				if (vertexStr.indexOf('#')>-1)
-					key = Integer.parseInt(vertexStr.split("#")[1]);
-			} catch (Exception e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-			Integer howManyAlready = 0;
-
-			if (key>0){
-				 howManyAlready = level_count.get(key);
-				if (howManyAlready==null){
-					howManyAlready=0;
-					level_count.put(key, 1);
-				} else {
-					level_count.put(key, howManyAlready+1);
-				}
-			}
-			positionVertexAt(vertexStr, count+howManyAlready*50, count);
-			count+=20;
-		}
-
-
-	}
-
-	/**
-	 * An alternative starting point for this demo, to also allow running this
-	 * applet as an application.
-	 *
-	 * @param args ignored.
-	 */
-	public static void main(String [] args)
-	{
-		ParseTreeVisualizer applet = new ParseTreeVisualizer();
-		applet.init();
-
-		JFrame frame = new JFrame();
-		frame.getContentPane().add(applet);
-		frame.setTitle("JGraphT Adapter to JGraph Demo");
-		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
-		frame.pack();
-		frame.setVisible(true);
-	}
-
-
-
-	private void adjustDisplaySettings(JGraph jg)
-	{
-		jg.setPreferredSize(DEFAULT_SIZE);
-
-		Color c = DEFAULT_BG_COLOR;
-		String colorStr = null;
-
-		try {
-			colorStr = getParameter("bgcolor");
-		} catch (Exception e) {
-		}
-
-		if (colorStr != null) {
-			c = Color.decode(colorStr);
-		}
-
-		jg.setBackground(c);
-	}
-
-	@SuppressWarnings("unchecked") // FIXME hb 28-nov-05: See FIXME below
-	private void positionVertexAt(Object vertex, int x, int y)
-	{
-		DefaultGraphCell cell = jgAdapter.getVertexCell(vertex);
-		AttributeMap attr = cell.getAttributes();
-		Rectangle2D bounds = GraphConstants.getBounds(attr);
-
-		Rectangle2D newBounds =
-				new Rectangle2D.Double(
-						x,
-						y,
-						bounds.getWidth(),
-						bounds.getHeight());
-
-		GraphConstants.setBounds(attr, newBounds);
-
-		// TODO: Clean up generics once JGraph goes generic
-		AttributeMap cellAttr = new AttributeMap();
-		cellAttr.put(cell, attr);
-		jgAdapter.edit(cellAttr, null, null, null);
-	}
-
-}
-
-// End JGraphAdapterDemo.java

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/request_response_recognizer/TreeKernelBasedRecognizerOfRequest_Response.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/request_response_recognizer/TreeKernelBasedRecognizerOfRequest_Response.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/request_response_recognizer/TreeKernelBasedRecognizerOfRequest_Response.java
deleted file mode 100644
index e33e089..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/request_response_recognizer/TreeKernelBasedRecognizerOfRequest_Response.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.request_response_recognizer;
-
-
-import java.util.ArrayList;
-import java.util.List;
-
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.parse_thicket.external_rst.MatcherExternalRST;
-import opennlp.tools.parse_thicket.external_rst.ParseThicketWithDiscourseTree;
-import opennlp.tools.parse_thicket.kernel_interface.TreeKernelBasedClassifierMultiplePara;
-
-/*
- * This class performs TK learning based on parse thicket which includes RST relations only 
- * based on Surdeanu at al RST parser. It does sentence parsing and NLP pipeline of 
- * Surdeanu's wrapper of Stanford NLP
- */
-public class TreeKernelBasedRecognizerOfRequest_Response extends TreeKernelBasedClassifierMultiplePara{
-
-	private MatcherExternalRST matcherRST = new MatcherExternalRST();
-
-	protected List<String> formTreeKernelStructuresMultiplePara(List<String> texts, String flag) {
-		//TODO
-		this.setShortRun();	
-		List<String> extendedTreesDumpTotal = new ArrayList<String>();
-		try {
-
-			for(String text: texts){
-				// get the parses from original documents, and form the training dataset
-				try {
-					System.out.print("About to build pt with external rst from "+text + "\n...");
-					ParseThicket pt = matcherRST.buildParseThicketFromTextWithRST(text);
-					if (pt == null)
-						continue;
-					System.out.print("About to build extended forest with external rst...");
-					List<String> extendedTreesDump =  // use direct option (true
-							buildReptresentationForDiscourseTreeAndExtensions((ParseThicketWithDiscourseTree)pt, true);
-					for(String line: extendedTreesDump)
-						extendedTreesDumpTotal.add(flag + " |BT| "+line + " |ET| ");
-					System.out.println("DONE");
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return extendedTreesDumpTotal;
-	}
-
-	private List<String> buildReptresentationForDiscourseTreeAndExtensions(ParseThicketWithDiscourseTree pt, boolean bDirectDT){
-		List<String> extendedTreesDump = new ArrayList<String>();
-		if (!bDirectDT)
-			// option 1: use RST relation for extended trees 
-			extendedTreesDump = treeExtender.buildForestForRSTArcs(pt);
-		else {
-			// option 2: use DT directly
-			extendedTreesDump.add(pt.getDtDump());
-		    extendedTreesDump.add(pt.getDtDumpWithPOS());
-		    extendedTreesDump.add(pt.getDtDumpWithEmbeddedTrees());
-		    extendedTreesDump.add(pt.getDtDumpWithVerbNet());
-		}		
-		return extendedTreesDump;
-	}
-	
-	public static void main(String[] args){
-		VerbNetProcessor p = VerbNetProcessor.
-				getInstance("/Users/bgalitsky/Documents/relevance-based-on-parse-trees/src/test/resources"); 
-
-		TreeKernelBasedRecognizerOfRequest_Response proc = new TreeKernelBasedRecognizerOfRequest_Response();
-		proc.setKernelPath("/Users/bgalitsky/Documents/relevance-based-on-parse-trees/src/test/resources/tree_kernel/");
-		proc.trainClassifier(
-				YahooAnswersTrainingSetCreator.origFilesDir,
-				YahooAnswersTrainingSetCreator.origFilesDir.replace("/text", "/neg_text")
-				);
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/request_response_recognizer/YahooAnswersTrainingSetCreator.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/request_response_recognizer/YahooAnswersTrainingSetCreator.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/request_response_recognizer/YahooAnswersTrainingSetCreator.java
deleted file mode 100644
index c060c95..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/request_response_recognizer/YahooAnswersTrainingSetCreator.java
+++ /dev/null
@@ -1,118 +0,0 @@
-package opennlp.tools.parse_thicket.request_response_recognizer;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import opennlp.tools.similarity.apps.BingQueryRunner;
-
-import org.apache.commons.io.FileUtils;
-
-public class YahooAnswersTrainingSetCreator {
-	protected List<File> queuePos = new ArrayList<File>(), queueNeg = new ArrayList<File>();
-	public static String origFilesDir = "/Users/bgalitsky/Downloads/NewCategoryIdentification/text";
-	//private BingQueryRunner searcher = new BingQueryRunner();
-	protected void addFilesPos(File file) {
-
-		if (!file.exists()) {
-			System.out.println(file + " does not exist.");
-		}
-		if (file.isDirectory()) {
-			for (File f : file.listFiles()) {
-				addFilesPos(f);
-				System.out.println(f.getName());
-			}
-		} else {
-			queuePos.add(file);
-		}
-	}
-	
-	protected void addFilesNeg(File file) {
-
-		if (!file.exists()) {
-			System.out.println(file + " does not exist.");
-		}
-		if (file.isDirectory()) {
-			for (File f : file.listFiles()) {
-				addFilesNeg(f);
-				System.out.println(f.getName());
-			}
-		} else {
-			queueNeg.add(file);
-		}
-	}
-	
-	public void formNegTrainingSet(String posPath , String negPath){
-		 if (!new File(negPath).exists())
-			 new File(negPath).mkdir();
-		 
-		addFilesPos(new File(posPath));
-		for(int i=0; i< queuePos.size()-1; i+=2){ //take two files at a time
-			File f1 = queuePos.get(i), f2 = queuePos.get(i+1);
-			String content1 = null, content2 = null;
-            try {
-	            content1 = FileUtils.readFileToString(f1);
-	            content2 = FileUtils.readFileToString(f2);
-            } catch (IOException e) {
-	            e.printStackTrace();
-            }
-			String[] portions1 = content1.split("\n\n");
-			String[] portions2 = content2.split("\n\n");
-
-			portions1 = splitIntoRR(portions1, content1);
-			portions2 = splitIntoRR(portions2, content2);
-			if (portions1==null || portions2==null)
-				continue;
-			// do cross-breeding
-			try {
-	            FileUtils.writeStringToFile(new File(negPath+"/" + f1.getName()+".txt"),
-	            		portions1[0] + "\n\n" + portions2[1] );
-	            FileUtils.writeStringToFile(new File(negPath+"/" + f2.getName()+".txt"),
-	            		portions2[0] + "\n\n" + portions1[1] );
-            } catch (IOException e) {
-	            e.printStackTrace();
-            }
-		}
-		
-		
-	}
-	private String[] splitIntoRR(String[] portions, String content) {
-		if (portions.length<2 ){
-			portions = content.replace("?","#_#").split("#_#");
-		}
-		if (portions.length<2 ){
-			portions = content.split("\n");
-		}
-		if (portions.length<2)
-			return null;
-		if (portions.length>2){
-			String q= "", a = "";
-			boolean bQ = true;
-			for(int p=0; p<portions.length; p++){
-				if ( bQ )
-					q+=portions[p]+" \n";
-				else
-					a +=portions[p]+" \n";
-				
-				if (portions[p].endsWith("?")){
-					bQ=false;
-				}
-
-			}
-			if (!bQ) {
-				portions = new String[2];
-				portions[0] = q;
-				portions[1] = a;
-			} else
-				return null;
-		}
-		
-		return portions;
-    }
-	
-	public static void main(String[] args){
-		String dir = YahooAnswersTrainingSetCreator.origFilesDir;
-		new YahooAnswersTrainingSetCreator().formNegTrainingSet(dir, dir.replace("/text", "/neg_text"));
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/rhetoric_structure/RhetoricStructureArcsBuilder.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/rhetoric_structure/RhetoricStructureArcsBuilder.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/rhetoric_structure/RhetoricStructureArcsBuilder.java
deleted file mode 100644
index 96bec44..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/rhetoric_structure/RhetoricStructureArcsBuilder.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.rhetoric_structure;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import opennlp.tools.parse_thicket.ArcType;
-import opennlp.tools.parse_thicket.Pair;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-
-import org.jgrapht.Graph;
-import org.jgrapht.graph.DefaultEdge;
-import org.jgrapht.graph.SimpleGraph;
-
-
-import edu.stanford.nlp.trees.Tree;
-
-public class RhetoricStructureArcsBuilder {
-	private RhetoricStructureMarker markerBuilderForSentence = new RhetoricStructureMarker();
-
-	private Map<Integer, List<Pair<String, Integer[]>>> buildMarkers(ParseThicket pt){
-
-		Map<Integer, List<Pair<String, Integer[]>>> sentNumMarkers = new 
-				HashMap<Integer, List<Pair<String, Integer[]>>>();
-		int count = 0;
-		for( List<ParseTreeNode> sent: pt.getNodesThicket()){
-			List<Pair<String, Integer[]>> markersForSentence = markerBuilderForSentence.
-					extractRSTrelationInSentenceGetBoundarySpan(sent);
-			sentNumMarkers.put(count,  markersForSentence);
-			count++;
-		}
-		return sentNumMarkers;
-	}
-
-
-	/*
-	 * Induced RST algorithm
-	 * 
-	 * Input: obtained RST markers (numbers of words which 
-	 * splits sentence in potential RST relation arguments) +
-	 * Current Parse Thicket with arcs for coreferences
-	 * 
-	 * We search for parts of sentences on the opposite side of RST markers
-	 * 
-	 * $sentPosFrom$  marker
-	 *  | == == == [ ] == == == |
-	 *     \				\
-	 *       \				  \
-	 *       coref          RST arc being formed
-	 *           \ 				\
-	 *             \			 \
-	 *     | == == == == == [  ] == == ==|      
-	 *     
-	 *       Mark yelled at his dog, but it disobeyed
-	 *        |							\
-	 *       coref                 RST arc for CONTRAST being formed
-	 *        | 							\
-	 *       He was upset, however he did not show it
-	 *       $sentPosTo$
-	 */
-	public List<WordWordInterSentenceRelationArc> buildRSTArcsFromMarkersAndCorefs(
-			List<WordWordInterSentenceRelationArc> arcs,
-			Map<Integer, List<List<ParseTreeNode>>> sentNumPhrasesMap, 
-			ParseThicket pt ) {
-		List<WordWordInterSentenceRelationArc> arcsRST = new ArrayList<WordWordInterSentenceRelationArc>();		
-
-		Map<Integer, List<Pair<String, Integer[]>>> rstMarkersMap = buildMarkers(pt);
-
-		for(int nSentFrom=0; nSentFrom<pt.getSentences().size(); nSentFrom++){
-			for(int nSentTo=nSentFrom+1; nSentTo<pt.getSentences().size(); nSentTo++){
-				// for given arc, find phrases connected by this arc and add to the list of phrases
-
-				List<List<ParseTreeNode>> phrasesFrom = sentNumPhrasesMap.get(nSentFrom);
-				List<List<ParseTreeNode>> phrasesTo = sentNumPhrasesMap.get(nSentTo);
-				List<Pair<String, Integer[]>> markersFrom = rstMarkersMap.get(nSentFrom);
-				List<Pair<String, Integer[]>> markersTo = rstMarkersMap.get(nSentTo);
-				for(WordWordInterSentenceRelationArc arc: arcs){
-					// arc should be coref and link these sentences
-					if (nSentFrom != arc.getCodeFrom().getFirst() ||
-							nSentTo != arc.getCodeTo().getFirst() ||
-							!arc.getArcType().getType().startsWith("coref")
-							)
-						continue;
-					int sentPosFrom = arc.getCodeFrom().getSecond();
-					int sentPosTo = arc.getCodeTo().getSecond();
-					// not more than a single RST link for a pair of sentences
-					boolean bFound = false;
-					for(List<ParseTreeNode> vpFrom: phrasesFrom){
-						if (bFound)
-							break;
-						for(List<ParseTreeNode> vpTo: phrasesTo){
-							for(Pair<String, Integer[]> mFrom: markersFrom){
-								for(Pair<String, Integer[]> mTo: markersTo) {
-									{
-										// the phrases should be on an opposite side of rst marker for a coref link
-										if (isSequence( new Integer[] { sentPosFrom,  vpFrom.get(0).getId(), mFrom.getSecond()[0]}) &&
-												isSequence( new Integer[] { sentPosTo,  vpTo.get(0).getId(), mTo.getSecond()[0]})	){
-											ArcType arcType = new ArcType("rst", mFrom.getFirst(), 0, 0);
-
-											WordWordInterSentenceRelationArc arcRST = 
-													new WordWordInterSentenceRelationArc(new Pair<Integer, Integer>(nSentFrom, mFrom.getSecond()[1]), 
-															new Pair<Integer, Integer>(nSentTo, mTo.getSecond()[1]), "", "", arcType);
-											arcsRST.add(arcRST);
-											bFound = true;
-											break;
-										}
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-		}
-
-		return arcs;
-	}
-
-// check if the word positions occur in sentence in the order Integer[]
-// TODO make more sensitive algo	
-	private static boolean isSequence(Integer[] integers) {
-		//TODO better construction of array
-		if (integers==null || integers.length<3)
-			return false;
-		try {
-			for(Integer i: integers)
-				if (i==0)
-					return false;
-		} catch (Exception e) {
-			return false;
-		}
-		
-		Boolean bWrongOrder = false;
-		for(int i=1; i< integers.length; i++){
-			if (integers[i-1]>integers[i]){
-				bWrongOrder = true;
-				break;
-			}
-		}
-		
-		Boolean bWrongInverseOrder = false;
-		for(int i=1; i< integers.length; i++){
-			if (integers[i-1]<integers[i]){
-				bWrongInverseOrder = true;
-				break;
-			}
-		}
-		
-		return !(bWrongOrder && bWrongInverseOrder);
-	}
-
-
-
-	public static void main(String[] args){
-
-
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/rhetoric_structure/RhetoricStructureMarker.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/rhetoric_structure/RhetoricStructureMarker.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/rhetoric_structure/RhetoricStructureMarker.java
deleted file mode 100644
index 3b1c576..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/rhetoric_structure/RhetoricStructureMarker.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.rhetoric_structure;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import opennlp.tools.parse_thicket.IGeneralizer;
-import opennlp.tools.parse_thicket.Pair;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-
-
-public class RhetoricStructureMarker implements IGeneralizer<Integer[]>  {
-	//private static String rstRelations[] = {"antithesis", "concession", "contrast", "elaboration"};
-	List<Pair<String, ParseTreeNode[]>> rstMarkers = new ArrayList<Pair<String, ParseTreeNode[]>>();
-
-	public  RhetoricStructureMarker(){
-
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>("contrast", new ParseTreeNode[]{new ParseTreeNode(",",","),  new ParseTreeNode("than",",")  }));
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>( "antithesis", new ParseTreeNode[]{new ParseTreeNode("although",","),  new ParseTreeNode("*","*")  }));
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>( "contrast", new ParseTreeNode[]{new ParseTreeNode(",",","),  new ParseTreeNode("however","*")  }));
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>( "contrast", new ParseTreeNode[]{new ParseTreeNode("however","*"), new ParseTreeNode(",",","),
-					new ParseTreeNode("*","prp"),   }));
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>( "elaboration", new ParseTreeNode[]{new ParseTreeNode(",",","),  new ParseTreeNode("*","NN")  }));
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>( "elaboration", new ParseTreeNode[]{new ParseTreeNode("as","*"),  new ParseTreeNode("a","*")  }));
-	
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>("explanation", new ParseTreeNode[]{new ParseTreeNode(",",","),  new ParseTreeNode("because",",")  }));
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>( "example", new ParseTreeNode[]{new ParseTreeNode("for","IN"),  new ParseTreeNode("example","NN")  }));
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>( "contrast", new ParseTreeNode[]{new ParseTreeNode(",",","),  new ParseTreeNode("ye","*")  }));
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>( "contrast", new ParseTreeNode[]{new ParseTreeNode("yet","*"), new ParseTreeNode(",",","),
-					new ParseTreeNode("*","prp"),   }));
-		
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>( "contrast", new ParseTreeNode[]{new ParseTreeNode("yet","*"), new ParseTreeNode("i","*"),
-				  }));
-		
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>( "explanation", new ParseTreeNode[]{new ParseTreeNode(",",","),  new ParseTreeNode("where","*")  }));
-		//as long as
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>( "temp_sequence", new ParseTreeNode[]{/*new ParseTreeNode("as","*"),*/ new ParseTreeNode("*","RB"), 
-				new ParseTreeNode("as","IN"),}));
-		rstMarkers.add(new Pair<String, ParseTreeNode[]>( "temp_sequence", new ParseTreeNode[]{/*new ParseTreeNode("as","*"),*/ new ParseTreeNode("*","VB*"), 
-				new ParseTreeNode("until","IN"),}));
-
-	}
-
-	/* For a sentence, we obtain a list of markers with the CA word and position in the sentence
-	 * Output span is an integer array with start/end occurrence of an RST marker in a sentence
-	 * */
-	public List<Pair<String, Integer[]>> extractRSTrelationInSentenceGetBoundarySpan(List<ParseTreeNode> sentence){
-		List<Pair<String, Integer[]>> results = new ArrayList<Pair<String, Integer[]>> ();
-		
-		for(Pair<String, ParseTreeNode[]> template: rstMarkers){
-			List<Integer[]> spanList = generalize(sentence,template.getSecond() );
-			if (!spanList.isEmpty())
-				results.add(new Pair<String, Integer[]>(template.getFirst(), spanList.get(0)));
-		}
-		return results;
-	}
-
-	/* Rule application in the form of generalization
-	 * Generalizing a sentence with a rule (a template), we obtain the occurrence of rhetoric marker
-	 *
-	 * o1 - sentence
-	 * o2 - rule/template, specifying lemmas and/or POS, including punctuation
-	 * @see opennlp.tools.parse_thicket.IGeneralizer#generalize(java.lang.Object, java.lang.Object)
-	 * returns the span Integer[] 
-	 */
-	@Override
-	public List<Integer[]> generalize(Object o1, Object o2) {
-		List<Integer[]> result = new ArrayList<Integer[]>();
-
-		List<ParseTreeNode> sentence = (List<ParseTreeNode> )o1;
-		ParseTreeNode[] template = (ParseTreeNode[]) o2;
-
-		boolean bBeingMatched = false;
-		for(int wordIndexInSentence=0; wordIndexInSentence<sentence.size(); wordIndexInSentence++){
-			ParseTreeNode word = sentence.get(wordIndexInSentence);
-			int wordIndexInSentenceEnd = wordIndexInSentence; //init iterators for internal loop
-			int templateIterator=0;
-			while (wordIndexInSentenceEnd<sentence.size() && templateIterator< template.length){
-				ParseTreeNode tword = template[templateIterator];
-				ParseTreeNode currWord=sentence.get(wordIndexInSentenceEnd);
-				List<ParseTreeNode> gRes = tword.generalize(tword, currWord);
-				if (gRes.isEmpty()|| gRes.get(0)==null || ( gRes.get(0).getWord().equals("*") 
-						&& gRes.get(0).getPos().equals("*") )){
-					bBeingMatched = false;
-					break;
-				} else {
-					bBeingMatched = true;
-				}
-				wordIndexInSentenceEnd++;
-				templateIterator++;
-			}
-			// template iteration is done
-			// the only condition for successful match is IF we are at the end of template
-			if (templateIterator == template.length){
-				result.add(new Integer[]{wordIndexInSentence, wordIndexInSentenceEnd-1});
-				return result;
-			}
-
-			// no match for current sentence word: proceed to the next
-		}
-		return result; 
-	}
-	
-	public String markerToString(List<Pair<String, Integer[]>> res){
-		StringBuffer buf = new StringBuffer();
-		buf.append("[");
-		for(Pair<String, Integer[]> marker: res){
-			buf.append(marker.getFirst()+":");
-			for(int a: marker.getSecond()){
-				buf.append(a+" ");
-			}
-			buf.append (" | ");
-		}
-		buf.append("]");
-		return buf.toString();
-	}
-
-	public static void main(String[] args){
-		ParseTreeNode[] sent = 	
-		new ParseTreeNode[]{new ParseTreeNode("he","prn"), new ParseTreeNode("was","vbz"), new ParseTreeNode("more","jj"), 
-				new ParseTreeNode(",",","),  new ParseTreeNode("than",","), new ParseTreeNode("little","jj"), new ParseTreeNode("boy","nn"),
-				new ParseTreeNode(",",","), new ParseTreeNode("however","*"), new ParseTreeNode(",",","),
-				new ParseTreeNode("he","prp"), new ParseTreeNode("was","vbz"), new ParseTreeNode("adult","jj")
-		};
-		
-		List<Pair<String, Integer[]>> res = new RhetoricStructureMarker().extractRSTrelationInSentenceGetBoundarySpan(Arrays.asList(sent));
-		System.out.println( new RhetoricStructureMarker().markerToString(res));
-	} 
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/similarity/apps/solr/SearchResultsReRankerStanfRequestHandler.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/similarity/apps/solr/SearchResultsReRankerStanfRequestHandler.java b/opennlp-similarity/src/main/java/opennlp/tools/similarity/apps/solr/SearchResultsReRankerStanfRequestHandler.java
deleted file mode 100644
index 477f022..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/similarity/apps/solr/SearchResultsReRankerStanfRequestHandler.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.similarity.apps.solr;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.logging.Logger;
-
-import opennlp.tools.parse_thicket.apps.SnippetToParagraph;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.similarity.apps.BingQueryRunner;
-import opennlp.tools.similarity.apps.HitBase;
-import opennlp.tools.similarity.apps.HitBaseComparable;
-import opennlp.tools.similarity.apps.utils.Pair;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.ParseTreeChunkListScorer;
-import opennlp.tools.textsimilarity.SentencePairMatchResult;
-import opennlp.tools.textsimilarity.chunker2matcher.ParserChunker2MatcherProcessor;
-
-import org.apache.commons.lang.ArrayUtils;
-import org.apache.commons.lang.StringUtils;
-import org.apache.lucene.document.Document;
-import org.apache.lucene.index.CorruptIndexException;
-import org.apache.lucene.index.IndexReader;
-import org.apache.lucene.queryparser.classic.ParseException;
-import org.apache.lucene.search.BooleanClause.Occur;
-import org.apache.lucene.search.BooleanQuery;
-import org.apache.lucene.search.CachingWrapperFilter;
-import org.apache.lucene.search.Collector;
-import org.apache.lucene.search.Filter;
-import org.apache.lucene.search.Query;
-import org.apache.lucene.search.QueryWrapperFilter;
-import org.apache.lucene.search.ScoreDoc;
-import org.apache.solr.common.SolrDocument;
-import org.apache.solr.common.SolrDocumentList;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.params.CommonParams;
-import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.params.ShardParams;
-import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.NamedList;
-import org.apache.solr.handler.component.SearchHandler;
-import org.apache.solr.request.SolrQueryRequest;
-import org.apache.solr.response.SolrQueryResponse;
-
-
-
-public class SearchResultsReRankerStanfRequestHandler extends SearchHandler {
-	private static Logger LOG = Logger
-			.getLogger("com.become.search.requestHandlers.SearchResultsReRankerRequestHandler");
-	private final static int MAX_SEARCH_RESULTS = 100;
-	private ParseTreeChunkListScorer parseTreeChunkListScorer = new ParseTreeChunkListScorer();
-	private int MAX_QUERY_LENGTH_NOT_TO_RERANK=3;
-	private Matcher matcher = new Matcher();
-	private BingQueryRunner bingSearcher = new BingQueryRunner();
-	private SnippetToParagraph snp = new SnippetToParagraph();
-	
-	
-	public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp){
-		// get query string
-		String requestExpression = req.getParamString();
-		String[] exprParts = requestExpression.split("&");
-		for(String part: exprParts){
-			if (part.startsWith("q="))
-				requestExpression = part;			
-		}
-		String query = StringUtils.substringAfter(requestExpression, ":");
-		LOG.info(requestExpression);
-
-
-		SolrParams ps = req.getOriginalParams();
-		Iterator<String> iter =  ps.getParameterNamesIterator();
-		List<String> keys = new ArrayList<String>();
-		while(iter.hasNext()){
-			keys.add(iter.next());
-		}
-
-		List<HitBase> searchResults = new ArrayList<HitBase>();
-
-
-
-
-
-		for ( Integer i=0; i< MAX_SEARCH_RESULTS; i++){
-			String title = req.getParams().get("t"+i.toString());
-			String descr = req.getParams().get("d"+i.toString());
-
-			if(title==null || descr==null)
-				continue;
-
-			HitBase hit = new HitBase();
-			hit.setTitle(title);
-			hit.setAbstractText(descr);
-			hit.setSource(i.toString());
-			searchResults.add(hit);
-		}
-
-		/*
-		 * http://173.255.254.250:8983/solr/collection1/reranker/?
-		 * q=search_keywords:design+iphone+cases&fields=spend+a+day+with+a+custom+iPhone+case&fields=Add+style+to+your+every+day+fresh+design+with+a+custom+iPhone+case&fields=Add+style+to+your+every+day+with+mobile+case+for+your+family&fields=Add+style+to+your+iPhone+and+iPad&fields=Add+Apple+fashion+to+your+iPhone+and+iPad
-		 * 
-		 */
-
-		if (searchResults.size()<1) {
-			int count=0;
-			for(String val : exprParts){
-				if (val.startsWith("fields=")){
-					val = StringUtils.mid(val, 7, val.length());
-					HitBase hit = new HitBase();
-					hit.setTitle("");
-					hit.setAbstractText(val);
-					hit.setSource(new Integer(count).toString());
-					searchResults.add(hit);
-					count++;
-				}
-
-			}
-		}
-
-
-		List<HitBase> reRankedResults = null;
-		query = query.replace('+', ' ');
-		if (tooFewKeywords(query)|| orQuery(query)){
-			reRankedResults = searchResults;
-			LOG.info("No re-ranking for "+query);
-		}
-		else 
-			reRankedResults = calculateMatchScoreResortHits(searchResults, query);
-		/*
-		 * <scores>
-<score index="2">3.0005</score>
-<score index="1">2.101</score>
-<score index="3">2.1003333333333334</score>
-<score index="4">2.00025</score>
-<score index="5">1.1002</score>
-</scores>
-		 * 
-		 * 
-		 */
-		StringBuffer buf = new StringBuffer(); 
-		buf.append("<scores>");
-		for(HitBase hit: reRankedResults){
-			buf.append("<score index=\""+hit.getSource()+"\">"+hit.getGenerWithQueryScore()+"</score>");				
-		}
-		buf.append("</scores>");
-
-		NamedList<Object> scoreNum = new NamedList<Object>();
-		for(HitBase hit: reRankedResults){
-			scoreNum.add(hit.getSource(), hit.getGenerWithQueryScore());				
-		}
-		
-		StringBuffer bufNums = new StringBuffer(); 
-		bufNums.append("order>");
-		for(HitBase hit: reRankedResults){
-			bufNums.append(hit.getSource()+"_");				
-		}
-		bufNums.append("/order>");
-		
-		LOG.info("re-ranking results: "+buf.toString());
-		NamedList<Object> values = rsp.getValues();
-		values.remove("response");
-		values.add("response", scoreNum); 
-		values.add("new_order", bufNums.toString().trim());
-		rsp.setAllValues(values);
-		
-	}
-
-	private boolean orQuery(String query) {
-		if (query.indexOf('|')>-1)
-			return true;
-
-		return false;
-	}
-
-	private boolean tooFewKeywords(String query) {
-		String[] parts = query.split(" ");
-		if (parts!=null && parts.length< MAX_QUERY_LENGTH_NOT_TO_RERANK)
-			return true;
-
-		return false;
-	}
-
-	protected List<HitBase> calculateMatchScoreResortHits(List<HitBase> hits,
-			String searchQuery) {
-
-		List<HitBase> newHitList = new ArrayList<HitBase>();
-		int count = 0;
-		for (HitBase hit : hits) {
-			if (count>10)
-				break;
-			count++;
-			String[] pageSentsAndSnippet = formTextForReRankingFromHit(hit);
-					
-			Double score = 0.0;
-			try {
-				List<List<ParseTreeChunk>> match = null;
-				if (pageSentsAndSnippet!=null && pageSentsAndSnippet[0].length()>50){
-					match = matcher.assessRelevanceCache(pageSentsAndSnippet[0] ,
-							searchQuery);
-					score = parseTreeChunkListScorer.getParseTreeChunkListScore(match);
-					hit.setSource(match.toString());
-				}
-				if (score < 2){ // attempt to match with snippet, if not much luck with original text
-					match = matcher.assessRelevanceCache(pageSentsAndSnippet[0] ,
-							searchQuery);
-					score = parseTreeChunkListScorer.getParseTreeChunkListScore(match);
-				}
-				LOG.info(score + " | " +pageSentsAndSnippet[1]);
-			} catch (Exception e) {
-				LOG.severe("Problem processing snapshot " + pageSentsAndSnippet[1]);
-				e.printStackTrace();
-			}
-			hit.setGenerWithQueryScore(score);
-			newHitList.add(hit);
-		}
-		
-		System.out.println("\n\n ============= old ORDER ================= ");
-		for (HitBase hit : newHitList) {
-			System.out.println(hit.getOriginalSentences().toString() + " => "+hit.getGenerWithQueryScore());
-			System.out.println("match = "+hit.getSource());
-		}
-		Collections.sort(newHitList, new HitBaseComparable());
-
-		System.out.println("\n\n ============= NEW ORDER ================= ");
-		for (HitBase hit : newHitList) {
-			System.out.println(hit.getOriginalSentences().toString() + " => "+hit.getGenerWithQueryScore());
-			System.out.println("match = "+hit.getSource());
-		}
-
-		return newHitList;
-	}
-	
-	protected String[] formTextForReRankingFromHit(HitBase hit) {
-		HitBase hitWithFullSents = snp.formTextFromOriginalPageGivenSnippet(hit);
-		String textFromOriginalPage = "";
-		try {
-			List<String> sents = hitWithFullSents.getOriginalSentences();
-			for(String s: sents){
-				textFromOriginalPage+=s+" ";
-			}
-
-			if (textFromOriginalPage.startsWith(".")){
-				textFromOriginalPage = textFromOriginalPage.substring(2);
-			}
-			textFromOriginalPage = textFromOriginalPage.replace(" . .", ". ").replace(". . ", ". ").
-					replace("..", ". ").trim();
-		} catch (Exception e1) {
-			e1.printStackTrace();
-			LOG.info("Problem processing snapshot "+hit.getAbstractText());
-		}
-		hit.setPageContent(textFromOriginalPage);
-		String snapshot = hit.getAbstractText().replace("<b>...</b>", ". ").replace("<span class='best-phrase'>", " ").replace("<span>", " ").replace("<span>", " ")
-				.replace("<b>", "").replace("</b>", "");
-		snapshot = snapshot.replace("</B>", "").replace("<B>", "")
-				.replace("<br>", "").replace("</br>", "").replace("...", ". ")
-				.replace("|", " ").replace(">", " ").replace(". .", ". ");
-		snapshot += " . " + hit.getTitle();
-		
-		return new String[] { textFromOriginalPage, snapshot };
-	}
-
-
-	public class HitBaseComparable implements Comparator<HitBase> {
-		// @Override
-		public int compare(HitBase o1, HitBase o2) {
-			return (o1.getGenerWithQueryScore() > o2.getGenerWithQueryScore() ? -1
-					: (o1 == o2 ? 0 : 1));
-		}
-	}
-
-}
-
-/*
-
-http://dev1.exava.us:8086/solr/collection1/reranker/?q=search_keywords:I+want+style+in+my+every+day+fresh+design+iphone+cases
-&t1=Personalized+iPhone+4+Cases&d1=spend+a+day+with+a+custom+iPhone+case
-&t2=iPhone+Cases+to+spend+a+day&d2=Add+style+to+your+every+day+fresh+design+with+a+custom+iPhone+case
-&t3=Plastic+iPhone+Cases&d3=Add+style+to+your+every+day+with+mobile+case+for+your+family
-&t4=Personalized+iPhone+and+iPad+Cases&d4=Add+style+to+your+iPhone+and+iPad
-&t5=iPhone+accessories+from+Apple&d5=Add+Apple+fashion+to+your+iPhone+and+iPad
-
-http://dev1.exava.us:8086/solr/collection1/reranker/?q=search_keywords:I+want+style+in+my+every+day+fresh+design+iphone+cases&t1=Personalized+iPhone+4+Cases&d1=spend+a+day+with+a+custom+iPhone+case&t2=iPhone+Cases+to+spend+a+day&d2=Add+style+to+your+every+day+fresh+design+with+a+custom+iPhone+case&t3=Plastic+iPhone+Cases&d3=Add+style+to+your+every+day+with+mobile+case+for+your+family&t4=Personalized+iPhone+and+iPad+Cases&d4=Add+style+to+your+iPhone+and+iPad&t5=iPhone+accessories+from+Apple&d5=Add+Apple+fashion+to+your+iPhone+and+iPad
- */
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/similarity/apps/taxo_builder/DomainTaxonomyExtender.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/similarity/apps/taxo_builder/DomainTaxonomyExtender.java b/opennlp-similarity/src/main/java/opennlp/tools/similarity/apps/taxo_builder/DomainTaxonomyExtender.java
index 8538c25..78ce8f5 100644
--- a/opennlp-similarity/src/main/java/opennlp/tools/similarity/apps/taxo_builder/DomainTaxonomyExtender.java
+++ b/opennlp-similarity/src/main/java/opennlp/tools/similarity/apps/taxo_builder/DomainTaxonomyExtender.java
@@ -25,13 +25,11 @@ import java.util.logging.Logger;
 
 import org.apache.commons.lang.StringUtils;
 
-import opennlp.tools.parse_thicket.matching.Matcher;
 import opennlp.tools.similarity.apps.BingQueryRunner;
 import opennlp.tools.similarity.apps.HitBase;
 import opennlp.tools.similarity.apps.utils.StringCleaner;
 import opennlp.tools.stemmer.PStemmer;
 import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.ParseTreeChunkListScorer;
 import opennlp.tools.textsimilarity.SentencePairMatchResult;
 import opennlp.tools.textsimilarity.TextProcessor;
 import opennlp.tools.textsimilarity.chunker2matcher.ParserChunker2MatcherProcessor;
@@ -46,9 +44,10 @@ public class DomainTaxonomyExtender {
 			.getLogger("opennlp.tools.similarity.apps.taxo_builder.DomainTaxonomyExtender");
 
 	private BingQueryRunner brunner = new BingQueryRunner();
+	private ParserChunker2MatcherProcessor matcher = ParserChunker2MatcherProcessor.getInstance();
 
 	protected static String BING_KEY = "WFoNMM706MMJ5JYfcHaSEDP+faHj3xAxt28CPljUAHA";
-	Matcher matcher = new Matcher(); 
+	
 
 	private final static String TAXO_FILENAME = "taxo_data.dat";
 
@@ -161,8 +160,8 @@ public class DomainTaxonomyExtender {
 								.getTitle() + " " + h1.getAbstractText());
 						String snapshot2 = StringCleaner.processSnapshotForMatching(h2
 								.getTitle() + " " + h2.getAbstractText());
-						List<List<ParseTreeChunk>> overlaps =matcher.assessRelevance(snapshot1, snapshot2);
-						genResult.addAll(overlaps);
+						 SentencePairMatchResult overlaps = matcher.assessRelevance(snapshot1, snapshot2);
+						genResult.addAll(overlaps.matchResult);
 					}
 				}
 			}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/textsimilarity/ParseTreeChunk.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/textsimilarity/ParseTreeChunk.java b/opennlp-similarity/src/main/java/opennlp/tools/textsimilarity/ParseTreeChunk.java
index f151768..27f457c 100644
--- a/opennlp-similarity/src/main/java/opennlp/tools/textsimilarity/ParseTreeChunk.java
+++ b/opennlp-similarity/src/main/java/opennlp/tools/textsimilarity/ParseTreeChunk.java
@@ -17,6 +17,7 @@
 
 package opennlp.tools.textsimilarity;
 
+import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -27,7 +28,7 @@ import org.apache.commons.lang3.StringUtils;
 
 import opennlp.tools.parse_thicket.ParseTreeNode;
 
-public class ParseTreeChunk {
+public class ParseTreeChunk implements Serializable{
 	private String mainPOS;
 
 	private List<String> lemmas;

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/java/opennlp/tools/fca/FCATest.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/java/opennlp/tools/fca/FCATest.java b/opennlp-similarity/src/test/java/opennlp/tools/fca/FCATest.java
deleted file mode 100755
index 531e6ec..0000000
--- a/opennlp-similarity/src/test/java/opennlp/tools/fca/FCATest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.fca;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.LinkedHashSet;
-
-import junit.framework.TestCase;
-
-public class FCATest extends TestCase{
-	ConceptLattice cl=null;
-/*
-	public void testConceptLattice() {
-
-
-		try {
-			cl = new ConceptLattice("src/test/resources/fca/sports.cxt",true);
-			cl.printLatticeStats();
-			cl.printLatticeFull();
-			cl.printBinContext();
-
-			FcaWriter wt = new FcaWriter();
-			wt.WriteStatsToCvs("stats.csv", cl, 0);
-		} catch (FileNotFoundException e) {
-			e.printStackTrace();
-		} catch (IOException e) {
-
-			e.printStackTrace();
-		}
-
-		FcaConverter converter = new FcaConverter();
-		int [][] binCon = converter.latticeToContext(cl);
-
-		if (binCon!=null){
-			ConceptLattice new_cl = new ConceptLattice(binCon.length, binCon[0].length, binCon, false);	
-			new_cl.printLatticeStats();
-			new_cl.printLatticeFull();
-			new_cl.printBinContext();
-			FcaWriter wt = new FcaWriter();
-			wt.WriteStatsToCvs("stats.txt", cl, 0);
-			//wt.WriteAsCxt("cl.cxt", cl);
-			wt.WriteAsCxt("cl_new.cxt", new_cl);
-		}
-	}		
-
-	public void testRandom(){
-		RandomNoiseGenerator rng = new RandomNoiseGenerator();
-		try {
-			cl = new ConceptLattice("src/test/resources/fca/sports.cxt",true);
-		} catch (FileNotFoundException e) {
-			e.printStackTrace();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		//int[][] bc = rng.AddObjectsAttributesWithProbability(10, 0.5, cl.binaryContext);
-		int[][] bc = rng.AlterCellsWithProbability(0.2, cl.binaryContext);
-		ConceptLattice new_cl = new ConceptLattice(bc.length, bc[0].length, bc, false);	
-		new_cl.printLatticeStats();
-		new_cl.printLattice();
-	}
-*/
-}
-

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/apps/RelatedSentenceFinderTest.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/apps/RelatedSentenceFinderTest.java b/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/apps/RelatedSentenceFinderTest.java
index f385a69..f5c6222 100644
--- a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/apps/RelatedSentenceFinderTest.java
+++ b/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/apps/RelatedSentenceFinderTest.java
@@ -43,7 +43,7 @@ public class RelatedSentenceFinderTest extends TestCase {
 		//assertTrue(result.getFragments().get(0).getFragment().indexOf("Swiss Patent Office")>-1);
 	}
 	
-	
+	/*
 	public void testBuildParagraphOfGeneratedTextTest(){
 		HitBase input = new HitBase();
 		input.setAbstractText("Albert Einstein was a German-born theoretical physicist who developed the general theory of relativity, one of the two pillars of modern physics (alongside ...");
@@ -57,7 +57,7 @@ public class RelatedSentenceFinderTest extends TestCase {
 		assertTrue(result.getFragments().size()>0);
 		assertTrue(result.getFragments().get(0).getFragment().indexOf("Albert Einstein")>-1);
 	} 
-
+*/
 	
 	public void testBuildParagraphOfGeneratedTextTestYearInTheEnd(){
 	    
@@ -74,6 +74,7 @@ public class RelatedSentenceFinderTest extends TestCase {
 		assertTrue(result.getFragments().get(0).getFragment().indexOf("Albert Einstein")>-1);
 	} 
 	
+	/*
 	public void testBuildParagraphOfGeneratedTextTestBio1(){
 		HitBase input = new HitBase();
 		input.setAbstractText("Today, the practical applications of Einstein\ufffds theories ...");
@@ -87,7 +88,7 @@ public class RelatedSentenceFinderTest extends TestCase {
 		assertTrue(result.getFragments().size()>0);
 		assertTrue(result.getFragments().get(0).getFragment().indexOf("Einstein")>-1);
 	} 
-/*	
+	
 	public void testBuildParagraphOfGeneratedTextTestBio2(){
 		HitBase input = new HitBase();
 		input.setAbstractText("The theory of relativity is a beautiful example of  ...");

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/apps/SnippetToParagraphTest.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/apps/SnippetToParagraphTest.java b/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/apps/SnippetToParagraphTest.java
deleted file mode 100644
index fb6259b..0000000
--- a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/apps/SnippetToParagraphTest.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.apps;
-
-
-import opennlp.tools.similarity.apps.HitBase;
-import junit.framework.TestCase;
-
-
-public class SnippetToParagraphTest extends TestCase {
-	SnippetToParagraph converter = new SnippetToParagraph();
-
-	public void testConversionTest(){
-		HitBase input = new HitBase();
-		input.setAbstractText("... complicity in the military's latest failure to uphold their own standards of conduct. Nor do I see a distinction between the service member who orchestrated this offense ...");
-		input.setUrl("http://armedservices.house.gov/index.cfm/press-releases?ContentRecord_id=b5d9aeab-6745-4eba-94ea-12295fd40e67");
-		input.setTitle("Press Releases - News - Armed Services Republicans");
-		HitBase result = converter.formTextFromOriginalPageGivenSnippet(input);
-		assertTrue(result.getOriginalSentences()!=null);
-		assertTrue(result.getOriginalSentences().size()>0);
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/communicative_actions/CommunicativeActionsArcBuilderTest.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/communicative_actions/CommunicativeActionsArcBuilderTest.java b/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/communicative_actions/CommunicativeActionsArcBuilderTest.java
deleted file mode 100644
index bbce9e8..0000000
--- a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/communicative_actions/CommunicativeActionsArcBuilderTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.communicative_actions;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.similarity.apps.HitBase;
-
-import junit.framework.TestCase;
-
-public class CommunicativeActionsArcBuilderTest extends TestCase {
-	Matcher matcher = new Matcher();
-	
-	public void testCommunicativeActionsArcBuilderTestQ(){
-		String text = "As a US citizen living abroad, I am concerned about the health reform regulation of 2014. "+
-				"I do not want to wait till I am sick to buy health insurance. "+
-				"Yet I am afraid I will end up being requested to pay the tax. "+
-				"Although I live abroad, I am worried about having to pay a fine for being reported as not having health insurance coverage. ";
-		ParseThicket pt = matcher.buildParseThicketFromTextWithRST(text);
-		List<WordWordInterSentenceRelationArc> results = new ArrayList<WordWordInterSentenceRelationArc>();
-		for(WordWordInterSentenceRelationArc arc: pt.getArcs()){
-			if(arc.getArcType().getType().startsWith("ca")){
-				results.add(arc);
-				System.out.println(arc);
-			}
-		}
-		assertTrue(results.size()>11);
-		
-	}
-	public void testCommunicativeActionsArcBuilderTestA(){
-		String text =	"People are worried about paying a fine for not carrying health insurance coverage, having been informed by IRS about new regulations. "+
-				"Yet hardly anyone is expected to pay the tax, when the health reform law takes full effect in 2014. "+
-				"The individual mandate confirms that people don\ufffdt wait until they are sick to buy health insurance. "+
-				"People are exempt from health insurance fine if they report they make too little money, or US citizens living abroad.";
-		ParseThicket pt = matcher.buildParseThicketFromTextWithRST(text);
-		List<WordWordInterSentenceRelationArc> results = new ArrayList<WordWordInterSentenceRelationArc>();
-		for(WordWordInterSentenceRelationArc arc: pt.getArcs()){
-			if(arc.getArcType().getType().startsWith("ca")){
-				results.add(arc);
-				System.out.println(arc);
-			}
-		}
-		assertTrue(results.size()>5);
-	}
-	
-
-	
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/external_rst/ExternalRSTImporterTest.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/external_rst/ExternalRSTImporterTest.java b/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/external_rst/ExternalRSTImporterTest.java
deleted file mode 100644
index c2b5877..0000000
--- a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/external_rst/ExternalRSTImporterTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.external_rst;
-
-
-import java.util.List;
-
-import junit.framework.TestCase;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-import opennlp.tools.parse_thicket.matching.Matcher;
-
-public class ExternalRSTImporterTest extends TestCase{
-	
-
-	public void testBuildParseThicketFromTextWithRSTtest(){
-		Matcher m = new Matcher();
-		// We combine our own RST rules with those of Joty 2014 to produce an augmented parse thicket
-		String externalRSTresultFilename = "/external_rst/resInput.txt";
-
-		ParseThicket pt = m.buildParseThicketFromTextWithRST("I explained that I made a deposit, and then wrote a check, which bounced due to a bank error. A customer service representative confirmed that it usually takes a day to process the deposit. "
-				+ "I reminded that I was unfairly charged an overdraft fee amonth ago in a similar situation. "+
-				"  They explained that the overdraft fee was due to insufficient funds as disclosed in my account information. I disagreed with their fee because I made a deposit well in "+
-				" advance and wanted this fee back. They denied responsibility saying that nothing an be done at this point. They also confirmed that I needed to look into the account rules closer.");
-		ExternalRSTImporter imp = new ExternalRSTImporter();
-
-		List<WordWordInterSentenceRelationArc> arcsRST = imp.buildPT2ptPhrases( pt , externalRSTresultFilename);
-		assertTrue(arcsRST .size() > 10);
-
-
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PT2ThicketPhraseBuilderTest.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PT2ThicketPhraseBuilderTest.java b/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PT2ThicketPhraseBuilderTest.java
deleted file mode 100644
index 0517f4c..0000000
--- a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PT2ThicketPhraseBuilderTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.matching;
-
-import java.util.List;
-
-import opennlp.tools.parse_thicket.ParseTreeNode;
-
-
-import junit.framework.TestCase;
-
-public class PT2ThicketPhraseBuilderTest extends TestCase {
-	private PT2ThicketPhraseBuilder builder = new PT2ThicketPhraseBuilder();
-	
-	public  void testParsePhrase(){
-		  String line = "(NP (NNP Iran)) (VP (VBZ refuses) (S (VP (TO to) (VP (VB accept) (S (NP (DT the) " +
-		  		"(NNP UN) (NN proposal)) (VP (TO to) (VP (VB end) (NP (PRP$ its) (NN dispute))))))))";
-		  
-		  List<ParseTreeNode> res = builder.parsePhrase("NP", line);
-		  System.out.println(res);
-		  assertTrue(res!=null);
-		  assertTrue(res.size()>0);
-				   
-	  }
-}


[07/11] opennlp-sandbox git commit: removed stanford nlp refs

Posted by bg...@apache.org.
http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/LinguisticPhraseManager.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/LinguisticPhraseManager.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/LinguisticPhraseManager.java
deleted file mode 100644
index 0f53ec5..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/LinguisticPhraseManager.java
+++ /dev/null
@@ -1,591 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import org.apache.commons.lang3.StringUtils;
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.similarity.apps.BingQueryRunner;
-import opennlp.tools.similarity.apps.HitBase;
-import opennlp.tools.similarity.apps.utils.ValueSortMap;
-import opennlp.tools.stemmer.PStemmer;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.TextProcessor;
-
-public class LinguisticPhraseManager {
-	private Map<String, Integer> freq = new ConcurrentHashMap<String, Integer>();
-	
-	// the purpose to init this static object is to show the path to resources
-	private static StopList stop = StopList.getInstance(new File(".").getAbsolutePath().replace(".","")+ "src/test/resources/");
-
-	// this list will be overwritten by the external synonyms.csv
-	private static String[][] synonymPairs = new String[][]{};
-	private PStemmer stemmer = new PStemmer();
-
-	private List<ParseTreeChunk> lingPhrases = new ArrayList<ParseTreeChunk>();
-	private List<String> standardizedTopics = new ArrayList<String>();
-	// map which shows for each ling phrase the list of ling phrases with the same head noun it belongs
-	private Map<ParseTreeChunk, List<ParseTreeChunk>> entry_group = new ConcurrentHashMap<ParseTreeChunk, List<ParseTreeChunk>>();
-
-	//  map which shows for each string phrase the list of ling phrases with the same head noun it belongs
-	private Map<String, List<ParseTreeChunk>> std_group = new ConcurrentHashMap<String, List<ParseTreeChunk>>();
-
-	private BingQueryRunner runner = new BingQueryRunner();
-	private static final int MIN_NUMBER_OF_PHRASES_TO_CONSIDER = 3;//2; 5
-	private static final int MIN_LENGTH_OF_WORD_TO_CONSIDER = 3;
-	// this function takes a log of a chain of the nodes of parse trees and builds their instances
-	// the phrases should only be VP or NP, otherwise an exception should be thrown
-	
-	
-
-	private String resourceDir;
-	public LinguisticPhraseManager(){
-		try {
-			resourceDir  = new File( "." ).getCanonicalPath()+"/src/main/resources/";
-			List<String[]> vocabs = ProfileReaderWriter.readProfiles(resourceDir+"/synonyms.csv");
-			synonymPairs = new String[vocabs.size()][2];
-			int count = 0;
-			for(String[] line: vocabs){
-				try {
-					synonymPairs[count] = line;
-					count++;
-	            } catch (Exception e) {
-	                e.printStackTrace();
-	            }
-			}
-			
-		} catch (Exception e) {
-			e.printStackTrace();
-		}		
-	}
-
-	private ParseTreeChunk parseLingPhraseIntoParseTreeChunk(String phrStr){
-		ParseTreeChunk ch = new ParseTreeChunk();
-		List<String> POSs = new ArrayList<String>(), lemmas = new ArrayList<String>();
-
-		String[] parts = phrStr.replace("]","").split(", <");
-
-		ch.setMainPOS( StringUtils.substringBetween(phrStr, ">", "'"));
-		try {
-			for(String part: parts){
-				String lemma = StringUtils.substringBetween(part, "P'", "':").toLowerCase();
-				String pos = part.substring(part.indexOf(":")+1, part.length());
-
-				if (pos==null || lemma ==null){
-					continue;
-				}
-				POSs.add(pos.trim());
-				lemmas.add(lemma.trim());
-				ch.setPOSs(POSs); ch.setLemmas(lemmas);
-			}
-		} catch (Exception e) {
-			// we expect exceptions if extracted phrases are NEITHER NP nor VP
-			// empty chunk will be given which will not create a new topic
-			e.printStackTrace();
-		}
-
-		return ch;
-	}
-
-	// this is a constructor with an array of extraction files
-	// optimized for performance
-	// only topics occurring more than MIN_NUMBER_OF_PHRASES_TO_CONSIDER times will be considered
-	public LinguisticPhraseManager(String[] loadPaths){
-		List<String[]> columns = new ArrayList<String[]>();
-		for(String file: loadPaths){
-			columns.addAll(ProfileReaderWriter.readProfiles( file));
-		}
-
-		for(String[] l: columns){
-			if (l.length<3 || l[1]==null || l[2]==null)
-				continue;
-			String word = l[1].toLowerCase().trim();
-			if (word.indexOf("=>")>-1)
-				continue;
-
-			word = isAcceptableStringPhrase(word);
-			if (word==null)
-				continue;
-
-			if (!freq.containsKey(word)) {
-				freq.put(word, 1);
-
-			} else {
-				freq.put(word, freq.get(word) + 1);
-				// once we reached the count for a topic, create it
-				if (freq.get(word)==MIN_NUMBER_OF_PHRASES_TO_CONSIDER){
-					ParseTreeChunk ch = parseLingPhraseIntoParseTreeChunk(l[2]);
-					ch = isAcceptableLingPhrase(ch);
-					if (ch==null)
-						continue;
-					lingPhrases.add(ch);
-				}
-			}		  
-		}
-		// we dont need frequency data any more
-		freq.clear();
-	}
-
-	// this is a default constructor with a single topic extraction file
-	// not optimized for performance
-	public LinguisticPhraseManager(String loadPath){
-		List<String[]> columns = ProfileReaderWriter.readProfiles( loadPath);
-		for(String[] l: columns){
-			if (l.length<3 || l[1]==null || l[2]==null)
-				continue;
-			String word = l[1].toLowerCase().trim();
-			if (word.indexOf("=>")>-1)
-				continue;
-
-			word = isAcceptableStringPhrase(word);
-			if (word==null)
-				continue;
-
-			if (!freq.containsKey(word)) {
-
-				ParseTreeChunk ch = parseLingPhraseIntoParseTreeChunk(l[2]);
-				ch = isAcceptableLingPhrase(ch);
-				if (ch==null)
-					continue;
-				freq.put(word, 1);
-				lingPhrases.add(ch);
-			} else {
-				freq.put(word, freq.get(word) + 1);
-			}		  
-
-
-		}
-		freq = ValueSortMap.sortMapByValue(freq, false);
-
-
-	}
-	// removing prepositions and articles in case it has not worked at phrase forming stage
-	private String isAcceptableStringPhrase(String word) {
-		if (word.startsWith("to "))
-			return null;
-		if (word.startsWith("a "))
-			return word.substring(2, word.length());
-
-		if (word.endsWith(" !") || word.endsWith(" ."))
-			return word.substring(0, word.length()-2).trim();
-
-		return word;
-	}
-	// we only accept NP 
-	private ParseTreeChunk isAcceptableLingPhrase(ParseTreeChunk ch) {
-		if (!ch.getMainPOS().equals("NP"))
-			return null;
-
-
-		return ch;
-	}
-
-	// groups are sets of phrases with the same head noun
-	// put all phrases in a group. Have a map from each phrase to its group: the list of members
-	public void doLingGrouping(){
-		for(int i=0; i< lingPhrases.size(); i++){
-			for(int j=i+1; j< lingPhrases.size(); j++){
-				ParseTreeChunk chI = lingPhrases.get(i);
-				ParseTreeChunk chJ = lingPhrases.get(j);
-				if (chI.getLemmas().get(chI.getLemmas().size()-1).equals(chJ.getLemmas().get(chJ.getLemmas().size()-1))
-						&& chI.getPOSs().get(chI.getLemmas().size()-1).startsWith("NN") ){
-					List<ParseTreeChunk> values = null; 
-					if( chI.getLemmas().size()<chJ.getLemmas().size()){		
-
-						if (values == null)
-							values = new ArrayList<ParseTreeChunk>();
-						values.add(chI);
-						entry_group.put(chJ, values);
-					} else {
-						values = entry_group.get(chI);
-						if (values == null)
-							values = new ArrayList<ParseTreeChunk>();
-						values.add(chJ);
-						entry_group.put(chI, values);
-					}
-				}
-			}
-		}
-
-
-	}
-
-	public List<String> formStandardizedTopic(){
-		Set<ParseTreeChunk> keys = entry_group.keySet();
-		for(ParseTreeChunk k: keys){
-			List<ParseTreeChunk> lingPhrases = entry_group.get(k);		
-			for(int i=0; i< lingPhrases.size(); i++)
-				for(int j=i+1; j< lingPhrases.size(); j++){
-					ParseTreeChunk chI = lingPhrases.get(i);
-					ParseTreeChunk chJ = lingPhrases.get(j);
-					List<String> lemmas = new ArrayList<String>(chI.getLemmas());
-					lemmas.retainAll(chJ.getLemmas());
-					if (lemmas.size()<2)
-						continue;
-					String buf = ""; List<String> candTopicLst = new ArrayList<String>();
-					for(String w: lemmas){
-						if (w.length()<MIN_LENGTH_OF_WORD_TO_CONSIDER)
-							continue;
-						if (!StringUtils.isAlpha(w))
-							continue;
-						// find POS of w
-						boolean bAccept = false;
-						for(int iw=0; iw<chI.getLemmas().size(); iw++){
-							if (w.equals(chI.getLemmas().get(iw))){
-								if (chI.getPOSs().get(iw).startsWith("NN") || chI.getPOSs().get(iw).startsWith("JJ")
-										|| chI.getPOSs().get(iw).startsWith("VB"))
-									bAccept=true;
-							}
-						}
-						if (bAccept){
-							//buf+=w+" ";
-							String ws = substituteSynonym(w);
-							candTopicLst.add(ws);
-						}
-					}
-					// remove duplicates like 'new new house'
-					//candTopicLst = new ArrayList<String>(new HashSet<String>(candTopicLst));
-					for(String w: candTopicLst){
-						buf+=w+" ";
-					}
-
-					buf = buf.trim();
-					if (buf.indexOf(' ')<0)
-						continue;
-
-					if (!standardizedTopics.contains(buf)){
-						standardizedTopics.add(buf);		
-						std_group.put(buf, lingPhrases);
-					}
-				}
-		}
-		cleanUpStandardizedTopics();
-
-		return standardizedTopics;
-	}
-
-	public void cleanUpStandardizedTopics(){
-		List<String> toDelete = new ArrayList<String>();
-		for(int i=0; i< standardizedTopics.size(); i++)
-			for(int j=i+1; j< standardizedTopics.size(); j++){
-				List<String> t1 = TextProcessor.fastTokenize(standardizedTopics.get(i), false);
-				List<String> t2 = TextProcessor.fastTokenize(standardizedTopics.get(j), false);
-				for(int k=0; k< t1.size(); k++){
-					t1.set(k, stemmer.stem(t1.get(k)));
-				}
-				for(int k=0; k< t2.size(); k++){
-					t2.set(k, stemmer.stem(t2.get(k)));
-				} 
-				// check if lists are equal
-				if (t1.size()!=t2.size())
-					continue;
-				//if in two phrases once all keywords are tokenized, one phrase annihilates another, 
-				t1.removeAll(t2);
-				if (t1.isEmpty()){ 
-					if (standardizedTopics.get(i).length()> standardizedTopics.get(j).length()){
-						toDelete.add(standardizedTopics.get(i));
-						// TODO update std_group entry
-						System.out.println("Removing '" + standardizedTopics.get(i) + "' because of '" + standardizedTopics.get(j) );
-						List<ParseTreeChunk> stJ = std_group.get(standardizedTopics.get(j));
-						stJ.addAll(std_group.get(standardizedTopics.get(i)));
-						stJ = new ArrayList<ParseTreeChunk>(new HashSet<ParseTreeChunk>(stJ));
-						std_group.put(standardizedTopics.get(j), stJ);
-					}
-					else {
-						toDelete.add(standardizedTopics.get(j));
-						System.out.println("Removing '" + standardizedTopics.get(j) + "' because of '" + standardizedTopics.get(i) );
-						List<ParseTreeChunk> stI = std_group.get(standardizedTopics.get(i));
-						stI.addAll(std_group.get(standardizedTopics.get(j)));
-						stI = new ArrayList<ParseTreeChunk>(new HashSet<ParseTreeChunk>(stI));
-						std_group.put(standardizedTopics.get(i), stI);
-					}
-
-				}
-			}
-		for(String d: toDelete){
-			//System.out.println("Removed '" + d + "'");
-			standardizedTopics.remove(d);
-		}
-	}
-
-	// substitute synonyms according to internal vocab
-	private String substituteSynonym(String w) {
-		try {
-			for(String[] pair: synonymPairs){
-				if (w.equals(pair[0]))
-					return pair[1];
-			}
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return w;
-	}
-
-	public void generateGroupingReport(String reportName){
-		List<String[]>  report = new ArrayList<String[]>();
-		Set<ParseTreeChunk> chs = entry_group.keySet();
-		report.add(new String[]{"string phrase" , "class", "linguistic phrase",  "list of ling phrases class representatives"});
-
-		for(ParseTreeChunk ch: chs){
-			String head = ch.getLemmas().get(ch.getLemmas().size()-1);
-			List<ParseTreeChunk> values = entry_group.get(ch);
-			if (values.size()<6)
-				head = "";
-			report.add(new String[]{ch.toWordOnlyString(), head,  ch.toString(),  values.toString()});
-		}
-		ProfileReaderWriter.writeReport(report, reportName);
-	}
-
-	//final merge floor-floors-flooring as head nound with phrase update
-	public void applyLastRoundOfAggregation(){
-		//merge <floor - floors - flooring>
-		/*
-			List<ParseTreeChunk> entries =  new ArrayList<ParseTreeChunk>(entry_group.keySet());
-			for(int i=0; i< entries.size(); i++){
-				for(int j=i+1; j< entries.size(); j++){
-					ParseTreeChunk chI = entries.get(i);
-					ParseTreeChunk chJ = entries.get(j);
-					String headI = getLastElement(chI.getLemmas());
-					String headJ = getLastElement(chJ.getLemmas());
-					if (headI==null || headI.length()<MIN_LENGTH_OF_WORD_TO_CONSIDER  || 
-							headJ==null || headJ.length()<MIN_LENGTH_OF_WORD_TO_CONSIDER )
-						continue;
-
-					if (headI.indexOf(headJ)>-1){
-						//leave headJ
-						List<ParseTreeChunk> valuesToAddTo = entry_group.get(chJ);
-						List<ParseTreeChunk> valuesBeingAdded = entry_group.get(chI);
-						if (valuesToAddTo==null || valuesBeingAdded == null)
-							continue;
-						valuesToAddTo.addAll(valuesBeingAdded);
-						entry_group.put(chJ, valuesToAddTo);
-						entry_group.remove(chI);
-						System.out.println("Deleting entry '"+ headI +"' and moving group to entry '"+ headJ +"'");
-					} else if (headJ.indexOf(headI)>-1){
-						//leave headJ
-						List<ParseTreeChunk> valuesToAddTo = entry_group.get(chI);
-						List<ParseTreeChunk> valuesBeingAdded = entry_group.get(chJ);
-						if (valuesToAddTo==null || valuesBeingAdded == null)
-							continue;
-						valuesToAddTo.addAll(valuesBeingAdded);
-						entry_group.put(chI, valuesToAddTo);
-						entry_group.remove(chJ);
-						System.out.println("Deleting entry '"+ headJ +"' and moving group to entry '"+ headI +"'");
-					}
-
-				}
-			}
-		 */
-		for(int i = 0; i<standardizedTopics.size(); i++ )
-			for(int j = i+1; j<standardizedTopics.size(); j++ ){
-				String headI = extractHeadNounFromPhrase(standardizedTopics.get(i));
-				String headJ = extractHeadNounFromPhrase(standardizedTopics.get(j));
-				// if the same word do nothing
-				if (headI.equals(headJ))
-					continue;
-
-				//only if one is sub-word of another
-				if (headI.indexOf(headJ)>-1){
-
-					if (!properSubWordForm(headI, headJ))
-						continue;
-					//entry 'I' will be updated
-					String newKey = standardizedTopics.get(i).replace(headI, headJ);
-
-					List<ParseTreeChunk> stI = std_group.get(standardizedTopics.get(i));
-					List<ParseTreeChunk> stInew = std_group.get(newKey);
-					//if (stInew!=null && !stInew.isEmpty())
-					//	stI.addAll(stInew);
-					if(stI==null)
-						continue;
-					std_group.put(newKey, stI);
-					std_group.remove(standardizedTopics.get(i));
-					System.out.println("Deleted entry for key '"+ standardizedTopics.get(i) +"' and created  '"+ newKey +"'");
-					standardizedTopics.set(i, newKey);
-
-				} else if (headJ.indexOf(headI)>-1){
-					if (!properSubWordForm(headJ, headI))
-						continue;
-					//entry 'J' will be updated
-					String newKey = standardizedTopics.get(j).replace(headJ, headI);
-
-					List<ParseTreeChunk> stJ = std_group.get(standardizedTopics.get(j));
-					List<ParseTreeChunk> stJnew = std_group.get(newKey);
-					//if (stJnew!=null && !stJnew.isEmpty())
-					//	stJ.addAll(stJnew);
-					if(stJ==null)
-						continue;
-					std_group.put(newKey, stJ);
-					std_group.remove(standardizedTopics.get(j));
-					System.out.println("Deleted entry for key '"+ standardizedTopics.get(j) +"' and created  '"+ newKey +"'");
-					standardizedTopics.set(j, newKey);
-				}
-			}
-
-
-
-	}
-
-	private boolean properSubWordForm(String headI, String headJ) {
-		String suffix = headI.replace(headJ, "");
-		if (suffix.equals("s") || suffix.equals("ing") //|| suffix.equals("er") 
-				|| suffix.equals("rooms") ||
-				suffix.equals("") || suffix.equals("counter") ||
-				suffix.equals("room") || suffix.equals("back"))
-			return true;
-
-		//System.out.println("Wrong word '"+ headI + "'reduction into '" + headJ +"'");
-		return false;
-	}
-
-	//generates report 
-	public void generateStdTopicReport(String reportName){
-		List<String[]>  report = new ArrayList<String[]>();
-		report.add(new String[]{"category", "topic", "sub-topics", "phrase instances" });
-
-		for(String t: standardizedTopics){
-
-			String bufCover = "";
-			int count = 0;
-			List<ParseTreeChunk> ptcList = std_group.get(t);
-			if (ptcList == null)
-				continue;
-			for(ParseTreeChunk ch: ptcList){
-				List<String> candidate = TextProcessor.fastTokenize(ch.toWordOnlyString(), false);
-				List<String> tList = TextProcessor.fastTokenize(t, false);
-				List<String> tListChk = new ArrayList<String>(tList);
-
-				tListChk.removeAll(candidate);
-				// fully covered by phrase instance
-				if (!tListChk.isEmpty() || ch.toWordOnlyString().equals(t)){
-					continue;
-				}
-
-				boolean bCovered = true;
-				
-				for(String ts: tList){
-					boolean bCandWordsIsCovered = false;
-					for(String s: candidate){
-						if ((s.indexOf(ts)>-1) )//  && properSubWordForm(s, ts))
-							bCandWordsIsCovered = true;
-					}
-					if (!bCandWordsIsCovered){
-						bCovered = false;
-						break;
-					}
-				}
-				if (!bCovered)
-					continue;
-				bufCover+=ch.toWordOnlyString()+ " # ";
-				count++;
-				if (count > 40)
-					break;
-
-			}
-			if (bufCover.endsWith(" # "))
-				bufCover = bufCover.substring(0, bufCover.length()-3).trim();
-
-			String buf = "";
-			count = 0;
-			// only up to 40 instances of phrases per 1-st level topic
-			for(ParseTreeChunk ch: ptcList){
-				buf+=ch.toWordOnlyString()+ "|";
-				count++;
-				if (count > 40)
-					break;
-			}
-			
-			//TODO uncomment
-			//t = spell.getSpellCheckResult(t);
-			report.add(new String[]{extractHeadNounFromPhrase(t), t, bufCover, buf //, std_group.get(t).toString()
-			});
-		}
-		
-		
-		ProfileReaderWriter.writeReport(report, reportName);
-	}
-	// get a last word from a phrase (supposed to be a head noun)
-	private String extractHeadNounFromPhrase(String topic){
-		String[] tops = topic.split(" ");
-		int len = tops.length;
-		if (len>1){
-			return tops[len-1];
-		}
-		else return topic;
-	}
-
-	// get last elem of a list
-	private String getLastElement(List<String> arrayList ){
-		if (arrayList != null && !arrayList.isEmpty()) {
-			return arrayList.get(arrayList.size()-1);
-		}
-		return null;
-	}
-	/*
-	 * Using Bing API to check if an extracted phrase can be found on the web, therefore is a meaningful phrase 
-	 */
-	public List<String> verifyTopic(){
-		Set<String> phrases = freq.keySet();
-		List<String> approvedPhrases = new ArrayList<String>();
-		for(String p: phrases){
-			List<HitBase> hits = runner.runSearch("\""+p+"\"");
-			for(HitBase h: hits){
-				String lookup = h.getTitle() + " " + h.getAbstractText();
-				if (lookup.indexOf(p)>-1){
-					approvedPhrases.add(p);
-					break;
-				}
-			}
-		}
-		return approvedPhrases;
-	}
-
-	public Set<String> getPhraseLookup(){
-		return freq.keySet();
-	}
-
-	// using phrase frequency to filter phrases
-	public boolean isAcceptablePhrase(String phrase){
-		Integer count = freq.get(phrase.toLowerCase().trim());
-		if (count==null)
-			return false;
-
-		if (count>0 && count < 10000)
-			return true;
-		return false;
-	}
-
-	public static void main(String[] args){
-		LinguisticPhraseManager man = new  LinguisticPhraseManager(
-				"/Users/bgalitsky/Documents/workspace/move_com/phrasesOfInterest.csv");
-		man.doLingGrouping();
-		man.generateGroupingReport("topics_groups7_mergedHeads.csv");
-		List<String> stdTopics = man.formStandardizedTopic();
-		man.applyLastRoundOfAggregation();
-		man.generateStdTopicReport("std_topics7_mergedHeads.csv");
-		System.out.println(stdTopics);
-
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/NamedEntityExtractor.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/NamedEntityExtractor.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/NamedEntityExtractor.java
deleted file mode 100644
index b766c7c..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/NamedEntityExtractor.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import opennlp.tools.apps.relevanceVocabs.SentimentVocab;
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.parse_thicket.kernel_interface.DescriptiveParagraphFromDocExtractor;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.parse_thicket.matching.PT2ThicketPhraseBuilder;
-import opennlp.tools.similarity.apps.utils.Pair;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.TextProcessor;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
-
-public class NamedEntityExtractor {
-	protected static Matcher matcher;
-	private static int PARA_LENGTH_IN_SENTENCES = 5, PARA_LENGTH = 250;
-	protected ArrayList<File> queue = new ArrayList<File>();
-	protected static PT2ThicketPhraseBuilder phraseBuilder;
-	protected static SentimentVocab sVocab = SentimentVocab.getInstance();
-	String resourceDirSentimentList = null;
-	Set<String> sentimentVcb = new HashSet<String> ();
-
-	static {
-		synchronized (NamedEntityExtractor.class) {
-			matcher = new Matcher();
-			phraseBuilder = new PT2ThicketPhraseBuilder();
-		}
-	}
-
-	public NamedEntityExtractor(){
-		try {
-			resourceDirSentimentList = new File( "." ).getCanonicalPath()+"/src/test/resources/opinions/sentiment_listReduced.csv";
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		List<String[]> sentimentList=null;
-		sentimentList = ProfileReaderWriter.readProfiles(resourceDirSentimentList);
-		for(String[] line: sentimentList){
-			sentimentVcb.add(line[0]);
-		}
-	}
-
-	protected boolean isSentimentWord(String word){
-		if (sentimentVcb.contains(word))
-			return true;
-		else
-			return false;		
-	}
-
-	public EntityExtractionResult extractEntities(String para){
-		List<List<ParseTreeNode>> extractedNERs = new ArrayList<List<ParseTreeNode>>();
-		List<String> extractedNERsWords = new ArrayList<String>();
-		List<List<ParseTreeNode>> extractedSentimentPhrases = 
-				new ArrayList<List<ParseTreeNode>>();
-		EntityExtractionResult result = new EntityExtractionResult();
-
-		ParseThicket pt = null;
-
-		System.out.println("Processing paragraph of length "+para.length() + " | "+ para);
-		pt = matcher.buildParseThicketFromTextWithRST(para);
-		List<List<ParseTreeNode>> nodeList = pt.getSentenceNodes();
-
-
-		for(List<ParseTreeNode> sentence: nodeList){
-			//System.out.println("   Processing sentence: "+ sentence);
-			boolean bInsideNER = false; 
-			String currentPhrase = "";
-			List<ParseTreeNode> currentPhraseNode = new ArrayList<ParseTreeNode>(); 
-			for(ParseTreeNode word: sentence){
-				if (isNERforPhraseExtraction(word)){
-					//System.out.println("++Found word ="+word + " | NER="+ word.getNe());
-					if (bInsideNER){
-						currentPhrase += " "+word.getWord();
-						currentPhraseNode.add(word);
-					} else {
-						bInsideNER=true;
-						currentPhrase = word.getWord();
-						currentPhraseNode.add(word);
-					}
-				} else {
-					if (bInsideNER){
-						if (currentPhrase.indexOf(' ')>-1) // at least two tokens
-							extractedNERsWords.add(currentPhrase);
-							extractedNERs.add(currentPhraseNode);
-						currentPhrase = "";
-						bInsideNER=false;
-					} else {
-						// do nothing, continue scan
-					}
-				}
-			}
-			if (currentPhrase.length()>1 && currentPhrase.indexOf(' ')>-1){
-				extractedNERs.add(currentPhraseNode);
-				extractedNERsWords.add(currentPhrase);
-			}
-
-			Set<String> foundSentimentWords = new HashSet<String>();
-			// now we extract phrases
-			List<List<ParseTreeNode>> phrases = pt.getPhrases();
-			for(List<ParseTreeNode> phrase: phrases){
-				// find a noun phrase under sentiment
-				try {
-					for(int i = phrase.size()-1; i>-1; i--){
-						ParseTreeNode word = phrase.get(i);
-						if ((isSentimentWord(word.getWord()) ||
-								sVocab.isSentimentWord(word.getWord()) && !foundSentimentWords.contains(word.getWord()) )){
-							foundSentimentWords.add(word.getWord());
-							System.out.println("Sentim = " + word.getWord() + " | Found opinionated phrase "+phrase.toString());
-							if (phrase.size()>1 && phrase.size()<7)
-								extractedSentimentPhrases.add(phrase);			
-							break;
-						}
-					}
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-			}
-
-		} 
-		
-		extractedSentimentPhrases = reduceExtractedPhrases(extractedSentimentPhrases);
-		
-		result.setExtractedNER(extractedNERs);
-		result.setExtractedNERWords(extractedNERsWords);
-		result.setExtractedSentimentPhrases(extractedSentimentPhrases);
-		return result;
-	}
-
-	private List<List<ParseTreeNode>> reduceExtractedPhrases(List<List<ParseTreeNode>> extractedSentimentPhrases) {
-	    List<Integer> idsToDelete = new ArrayList<Integer>();
-		for(int i = 0; i<extractedSentimentPhrases.size(); i++){
-			for(int j = i+1; j<extractedSentimentPhrases.size(); j++){
-				String phrStr1 = ParseTreeNode.toWordString(extractedSentimentPhrases.get(i));
-				String phrStr2 = ParseTreeNode.toWordString(extractedSentimentPhrases.get(j));
-				if (phrStr1 .indexOf(phrStr2 )>-1)
-					idsToDelete.add(j);
-			}
-		}
-		List<List<ParseTreeNode>> resultPhrases = new ArrayList<List<ParseTreeNode>>();
-		for(int i = 0; i<extractedSentimentPhrases.size(); i++){
-			if (!idsToDelete.contains(i))
-				resultPhrases .add(extractedSentimentPhrases.get(i));
-		}
-	    return resultPhrases ;
-    }
-
-	private boolean isNERforPhraseExtraction(ParseTreeNode word){
-		if ((word.getNe().equals("ORGANIZATION") ||word.getNe().equals("LOCATION") || word.getNe().equals("PERSON") ) &&
-				(word.getPos().startsWith("NN") || word.getPos().startsWith("PR") || word.getPos().startsWith("IN")|| 
-						word.getPos().startsWith("JJ") || word.getPos().startsWith("DT")  ))
-			return true;
-
-		return false;
-
-	}
-
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/PersonExtractor.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/PersonExtractor.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/PersonExtractor.java
deleted file mode 100644
index cb04154..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/PersonExtractor.java
+++ /dev/null
@@ -1,96 +0,0 @@
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-
-public class PersonExtractor extends NamedEntityExtractor {
-	private boolean isNERforPhraseExtraction(ParseTreeNode word){
-		if ((word.getNe().equals("PERSON") ) &&
-				(word.getPos().startsWith("NN") || word.getPos().startsWith("PR") || word.getPos().startsWith("IN")|| 
-						word.getPos().startsWith("JJ") || word.getPos().startsWith("DT")  ))
-			return true;
-
-		return false;
-
-	}
-	
-	public EntityExtractionResult extractEntities(String para){
-		List<List<ParseTreeNode>> extractedNERs = new ArrayList<List<ParseTreeNode>>();
-		List<String> extractedNERsWords = new ArrayList<String>();
-		List<List<ParseTreeNode>> extractedSentimentPhrases = 
-				new ArrayList<List<ParseTreeNode>>();
-		EntityExtractionResult result = new EntityExtractionResult();
-
-		ParseThicket pt = null;
-
-		System.out.println("Processing paragraph of length "+para.length() + " | "+ para);
-		pt = matcher.buildParseThicketFromTextWithRST(para);
-		List<List<ParseTreeNode>> nodeList = pt.getSentenceNodes();
-
-
-		for(List<ParseTreeNode> sentence: nodeList){
-			System.out.println("   Processing sentence: "+ sentence);
-			boolean bInsideNER = false; 
-			String currentPhrase = "";
-			List<ParseTreeNode> currentPhraseNode = new ArrayList<ParseTreeNode>(); 
-			for(ParseTreeNode word: sentence){
-				if (isNERforPhraseExtraction(word)){
-					System.out.println("++Found word ="+word + " | NER="+ word.getNe());
-					if (bInsideNER){
-						currentPhrase += " "+word.getWord();
-						currentPhraseNode.add(word);
-					} else {
-						bInsideNER=true;
-						currentPhrase = word.getWord();
-						currentPhraseNode.add(word);
-					}
-				} else {
-					if (bInsideNER){
-						if (currentPhrase.indexOf(' ')>-1) // at least two tokens
-							extractedNERsWords.add(currentPhrase);
-							extractedNERs.add(currentPhraseNode);
-						currentPhrase = "";
-						bInsideNER=false;
-					} else {
-						// do nothing, continue scan
-					}
-				}
-			}
-			if (currentPhrase.length()>1 && currentPhrase.indexOf(' ')>-1){
-				extractedNERs.add(currentPhraseNode);
-				extractedNERsWords.add(currentPhrase);
-			}
-
-			Set<String> foundSentimentWords = new HashSet<String>();
-			// now we extract phrases
-			List<List<ParseTreeNode>> phrases = phraseBuilder.buildPT2ptPhrases(pt);
-			for(List<ParseTreeNode> phrase: phrases){
-				// find a noun phrase under sentiment
-				try {
-					for(int i = phrase.size()-1; i>-1; i--){
-						ParseTreeNode word = phrase.get(i);
-						if ((isSentimentWord(word.getWord()) ||
-								sVocab.isSentimentWord(word.getWord()) && !foundSentimentWords.contains(word.getWord()) )){
-							foundSentimentWords.add(word.getWord());
-							System.out.println("Found opinionated phrase "+phrase.toString());
-							extractedSentimentPhrases.add(phrase);			
-							break;
-						}
-					}
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-			}
-
-		} 
-		result.setExtractedNER(extractedNERs);
-		result.setExtractedNERWords(extractedNERsWords);
-		result.setExtractedSentimentPhrases(extractedSentimentPhrases);
-		return result;
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/SentencePhraseGivenAWordGetter.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/SentencePhraseGivenAWordGetter.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/SentencePhraseGivenAWordGetter.java
deleted file mode 100644
index 86cd2dc..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/SentencePhraseGivenAWordGetter.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import opennlp.tools.apps.relevanceVocabs.SentimentVocab;
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.parse_thicket.kernel_interface.DescriptiveParagraphFromDocExtractor;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.parse_thicket.matching.PT2ThicketPhraseBuilder;
-import opennlp.tools.similarity.apps.utils.Pair;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.TextProcessor;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
-
-public class SentencePhraseGivenAWordGetter {
-	protected static Matcher matcher;
-	protected ArrayList<File> queue = new ArrayList<File>();
-	protected static PT2ThicketPhraseBuilder phraseBuilder;
-
-
-	static {
-		synchronized (SentencePhraseGivenAWordGetter.class) {
-			matcher = new Matcher();
-			phraseBuilder = new PT2ThicketPhraseBuilder();
-		}
-	}
-
-	public SentencePhraseGivenAWordGetter(){
-	}
-
-	public EntityExtractionResult extractEntities(String para, String keyword){
-		List<List<ParseTreeNode>> extractedPhrases = new ArrayList<List<ParseTreeNode>>();
-
-		EntityExtractionResult result = new EntityExtractionResult();
-
-		ParseThicket pt =  matcher.buildParseThicketFromTextWithRST(para);
-
-		List<List<ParseTreeNode>> phrases = pt.getPhrases();
-		for(List<ParseTreeNode> phrase: phrases){
-			// find a noun phrase under sentiment
-			try {
-				for(int i = 0; i<phrase.size(); i++){
-					ParseTreeNode word = phrase.get(i);
-					if (word.getWord().toLowerCase().equals(keyword.toLowerCase())){
-						extractedPhrases.add(phrase);		
-						break;
-					}
-				}
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		}
-
-		result.setExtractedSentimentPhrases(extractedPhrases);
-		return result;
-	}
-
-
-	public static void main(String[] args){
-		SentencePhraseGivenAWordGetter self = new SentencePhraseGivenAWordGetter();
-		EntityExtractionResult result = self.extractEntities("However i put a foam panel inside the main case if i do not have my headphones or an iPad to brace the mac book", 
-				"panel");
-		System.out.println(result.getExtractedSentimentPhrases());
-	}
-}
-
-
-/*
- 3 phrases are given as a result
- * 
-[[<2>SBAR'i':FW, <3>SBAR'put':VBD, <4>SBAR'a':DT, <5>SBAR'foam':NN, <6>SBAR'panel':NN, <7>SBAR'inside':IN, <8>SBAR'the':DT, <9>SBAR'main':JJ, <10>SBAR'case':NN, <11>SBAR'if':IN, <12>SBAR'i':FW, 
-<13>SBAR'do':VBP, <14>SBAR'not':RB, <15>SBAR'have':VB, <16>SBAR'my':PRP$, <17>SBAR'headphones':NNS, <18>SBAR'or':CC, <19>SBAR'an':DT, <20>SBAR'iPad':NN, <21>SBAR'to':TO, 
-<22>SBAR'brace':VB, <23>SBAR'the':DT, <24>SBAR'mac':NN, <25>SBAR'book':NN], 
-
-[<3>VP'put':VBD, <4>VP'a':DT, <5>VP'foam':NN, <6>VP'panel':NN, <7>VP'inside':IN, <8>VP'the':DT, <9>VP'main':JJ, <10>VP'case':NN, <11>VP'if':IN, <12>VP'i':FW, <13>VP'do':VBP, 
-<14>VP'not':RB, <15>VP'have':VB, <16>VP'my':PRP$, <17>VP'headphones':NNS, <18>VP'or':CC, <19>VP'an':DT, <20>VP'iPad':NN, <21>VP'to':TO, <22>VP'brace':VB, <23>VP'the':DT, 
-<24>VP'mac':NN, <25>VP'book':NN], 
-
-[<4>NP'a':DT, <5>NP'foam':NN, <6>NP'panel':NN]]
-
-*/

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/SentimentCoreAnnotations.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/SentimentCoreAnnotations.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/SentimentCoreAnnotations.java
deleted file mode 100644
index 1efe428..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/SentimentCoreAnnotations.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import edu.stanford.nlp.ling.CoreAnnotation;
-
-import edu.stanford.nlp.trees.Tree;
-
-/**
- * Annotations specific to the Sentiment project.  In case there are
- * other projects that use the same RNN machinery, including the RNN
- * core annotations, this lets a sentence have a tree attached where
- * that tree specifically has the sentiment annotations.
- *
- * @author John Bauer
- */
-public class SentimentCoreAnnotations {
-
-  /**
-   * A tree which contains the annotations used for the Sentiment
-   * task.  After forwardPropagate has been called, the Tree will have
-   * prediction, etc. attached to it.
-   */
-  public static class SentimentAnnotatedTree implements CoreAnnotation<Tree> {
-    @Override
-    public Class<Tree> getType() {
-      return Tree.class;
-    }
-  }
-
-
-  /**
-   * The final label given for a sentence.  Set by the
-   * SentimentAnnotator and used by various forms of text output.
-   */
-  public static class SentimentClass implements CoreAnnotation<String> {
-    @Override
-    public Class<String> getType() {
-      return String.class;
-    }
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/StopList.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/StopList.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/StopList.java
deleted file mode 100755
index ad0f791..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/StopList.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-
-import opennlp.tools.stemmer.PStemmer;
-
-import org.apache.commons.lang.StringUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-
-public class StopList {
-    private static StopList m_StopList = null;
-    private static Hashtable<String, HashSet<String>> m_stopHash = new Hashtable<String, HashSet<String>>();
-    public static final Log logger = LogFactory.getLog(StopList.class);
-    private static final String DEFAULT_STOPLIST = "STANDARD";
-    public static String resourceDir =null;
-    private static PStemmer stemmer = new PStemmer();
-
-    static {
-        synchronized (StopList.class) {
-            try {
-                LoadStopList();
-            } catch (IOException e) {
-                // TODO Auto-generated catch block
-                e.printStackTrace();
-            }
-        }
-    }
-
-    /**
-     * Get the StopList singleton instance.
-     * 
-     * @return The StopList
-     */
-    static public synchronized StopList getInstance() {
-
-        if (m_StopList == null) {
-            m_StopList = new StopList();
-
-            try {
-                m_StopList.LoadStopList();
-            } catch (Exception e) {
-
-            }
-        }
-        return m_StopList;
-    }
-
-    static public synchronized StopList getInstance(String dir) {
-        resourceDir = dir;
-        if (m_StopList == null) {
-            m_StopList = new StopList();
-
-            try {
-                m_StopList.LoadStopList();
-            } catch (Exception e) {
-
-            }
-        }
-        return m_StopList;
-    }
-
-    private static void LoadStopList() throws IOException {
-
-        File dir = new File(resourceDir + "/maps");
-        String[] children = dir.list();
-        if (children == null) {
-            System.err.println("Problem reading Stop Lists!");
-        } else {
-            for (int i = 0; i < children.length; i++) {
-                String fn = children[i];
-                if (fn.endsWith(".vcb")) {
-                    String fileName = resourceDir + "/maps/" + fn;
-                    File f = new File(fileName);
-                    loadStopListFile(f);
-                }
-            }
-        }
-    }
-
-    private static void loadStopListFile(File f) throws FileNotFoundException {
-
-        FileReader fileReader = new FileReader(f);
-        BufferedReader in = new BufferedReader(fileReader);
-
-        String str = new String();
-        boolean fLine = true;
-        HashSet<String> t = new HashSet<String>();
-        String listName = "";
-
-        try {
-            while ((str = in.readLine()) != null) {
-                if (fLine && str.length() > 0) {
-                    fLine = false;
-                    listName = str;
-                } else {
-                    t.add(str);
-                }
-            }
-        } catch (IOException ioe) {
-
-        } finally {
-            try {
-                if (in != null) {
-                    in.close();
-                }
-                if (fileReader != null) {
-                    fileReader.close();
-                }
-            } catch (IOException ioe) {
-                ioe.printStackTrace();
-            }
-        }
-
-        if (listName.length() > 0) {
-            HashSet<String> l = m_stopHash.get(listName);
-            if (l != null) {
-                synchronized (l) {
-                    m_stopHash.put(listName, t);
-                }
-            } else {
-                m_stopHash.put(listName, t);
-            }
-        }
-    }
-
-    /**
-     * Is the given word in the stop words list? Uses the defaut "STANDARD"
-     * stoplist
-     * 
-     * @param str
-     *            The word to check
-     * @return is a stop word
-     */
-    public static boolean isStopWord(String str) {
-        boolean retVal = false;
-        if (m_stopHash.containsKey(DEFAULT_STOPLIST))
-            retVal = m_stopHash.get(DEFAULT_STOPLIST).contains(str);
-        return retVal;
-    }
-
-    public static boolean isFirstName(String str) {
-        boolean retVal = false;
-        if (m_stopHash.containsKey("FIRST_NAMES"))
-            retVal = m_stopHash.get("FIRST_NAMES").contains(str.toUpperCase());
-        return retVal;
-    }
-
-    public String getRandomFirstName() {
-        HashSet<String> firstNames = m_stopHash.get("FIRST_NAMES");
-        int indexRand = (int) (Math.random() * new Float(firstNames.size()));
-        Iterator iter = firstNames.iterator();
-        for (int i = 0; i < indexRand; i++) {
-            iter.next();
-        }
-        return ((String) iter.next()).toLowerCase();
-    }
-
-    public static boolean isCommonWord(String str) {
-        if (str == null)
-            return true;
-        String stemmed="";
-		try {
-			stemmed = stemmer.stem(str).toLowerCase();
-		} catch (Exception e) {
-			//stemming exceptions are not informative, jiust ignore wthis word
-			//e.printStackTrace();
-		}
-
-        boolean retVal = false;
-        if (m_stopHash.containsKey("ENG_DICT"))
-            retVal = m_stopHash.get("ENG_DICT").contains(stemmed);
-        return retVal;
-    }
-
-    public boolean isCommonEventWord(String str) {
-        if (str == null)
-            return true;
-        boolean retVal = false;
-
-        try {
-            String stemmed = str.toLowerCase();
-
-            if (m_stopHash.containsKey("fREQUENTEVENTNAMEWORDS"))
-                retVal = m_stopHash.get("fREQUENTEVENTNAMEWORDS").contains(
-                        stemmed);
-        } catch (Exception e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
-        }
-        return retVal;
-    }
-
-    /**
-     * Is the given word in the stop words list provided?
-     * 
-     * @param str
-     *            The word to check
-     * @param stop_list
-     *            the name of the stoplist to check against
-     * @return is a stop word
-     */
-    public static boolean isStopWord(String str, String stop_list) {
-        boolean retVal = false;
-        if (m_stopHash.containsKey(stop_list))
-            retVal = m_stopHash.get(stop_list).contains(str);
-        return retVal;
-    }
-
-    public boolean isStopWordAll(String str) {
-        return isStopWord(str);
-    }
-
-    public HashSet<String> getStopListMap(String name) {
-        return m_stopHash.get(name);
-    }
-
-    public static List<List<String>> preFilterCommonEnglishExpressions(
-            List<String> userLikes) {
-        List<List<String>> results = new ArrayList<List<String>>();
-
-        List<String> resultUserLikes = new ArrayList<String>(), potentialCategs = new ArrayList<String>();
-        if (userLikes.size() < 6) {// too short, do not filter
-            results.add(userLikes);
-            results.add(potentialCategs);
-            return results;
-
-        }
-
-        for (String like : userLikes) {
-            like = like.toLowerCase();
-            if (!StringUtils.isAlphanumeric(like.replace(" ", ""))) {
-                logger.info("removed isAlphanumeric " + like);
-                continue;
-            }
-
-            if (StringUtils.isNumeric(like)) {
-                logger.info("removed isNumericSpace " + like);
-                continue;
-            }
-
-            if (like.length() < 4) {
-                logger.info("removed too short likes " + like);
-                continue;
-            }
-            boolean existFirstName = false, allWordsCommonEnglish = true, bStop = false;
-            String[] comps = like.split(" ");
-            StringBuffer buf = new StringBuffer();
-            for (String word : comps) {
-                boolean isCommon = isCommonWord(word);
-                boolean isName = isFirstName(word);
-                if (!isCommon)
-                    allWordsCommonEnglish = false;
-                if (isName)
-                    existFirstName = true;
-                if (isStopWord(word) || word.length() < 3)
-                    bStop = true;
-                else
-                    buf.append(word + " ");
-            } // / does not have to include stop word
-            if (!existFirstName && allWordsCommonEnglish && comps.length < 3) {
-                logger.info("moved to category:  NoFirstName+AllCommonEng+ShorterThan3 "
-                        + like);
-
-                continue;
-            }
-            if (!existFirstName && allWordsCommonEnglish && comps.length == 1) {
-                logger.info("moved to category: NoFirstName+AllCommonEng+Short1word "
-                        + like);
-                potentialCategs.add(like);
-                continue;
-            }
-
-            if (existFirstName && comps.length == 1) {
-                logger.info("removed : only first name, no last name " + like);
-
-                continue;
-            }
-
-            resultUserLikes.add(buf.toString().trim());
-
-        }
-
-        resultUserLikes = new ArrayList<String>(new HashSet<String>(
-                resultUserLikes));
-        if (resultUserLikes.size() > 1) {
-            results.add(resultUserLikes);
-            results.add(potentialCategs);
-            return results;
-        }
-
-        else {// do not do reduction
-            results.add(userLikes);
-            results.add(potentialCategs);
-            return results;
-        }
-    }
-
-    public static boolean isAcceptableIndividualLikes(String like) {
-        StopList finder = StopList.getInstance();
-        like = like.toLowerCase();
-        if (!StringUtils.isAlphanumeric(like.replace(" ", ""))) {
-            logger.info("removed isAlphanumeric " + like);
-            return false;
-        }
-
-        if (StringUtils.isNumeric(like)) {
-            logger.info("removed isNumericSpace " + like);
-            return false;
-        }
-
-        if (like.length() < 4) {
-            logger.info("removed too short likes " + like);
-            return false;
-        }
-        boolean existFirstName = false, allWordsCommonEnglish = true, bStop = false;
-        String[] comps = like.split(" ");
-        StringBuffer buf = new StringBuffer();
-        for (String word : comps) {
-            boolean isCommon = finder.isCommonWord(word);
-            boolean isName = finder.isFirstName(word);
-            if (!isCommon)
-                allWordsCommonEnglish = false;
-            if (isName)
-                existFirstName = true;
-            if (finder.isStopWord(word) || word.length() < 3)
-                bStop = true;
-            else
-                buf.append(word + " ");
-        } // / does not have to include stop word
-        if (!existFirstName && allWordsCommonEnglish && comps.length < 3) {
-            logger.info("  NoFirstName+AllCommonEng+ShorterThan3 " + like);
-
-            return false;
-        }
-        if (!existFirstName && allWordsCommonEnglish && comps.length == 1) {
-            logger.info(" NoFirstName+AllCommonEng+Short1word " + like);
-
-            return false;
-        }
-
-        if (existFirstName && comps.length == 1) {
-            logger.info("removed : only first name, no last name " + like);
-
-            return false;
-        }
-
-        return true;
-    }
-
-    @SuppressWarnings("all")
-    public static void main(String[] args) {
-
-        StopList list = StopList
-                .getInstance("/Users/borisgalitsky/Documents/workspace/opennlp-similarity/src/test/resources/");
-        Boolean b = list.isCommonWord("demonstration");
-
-        String fname = list.getRandomFirstName();
-
-        b = list.isCommonEventWord("tour");
-        b = list.isCommonEventWord("dance");
-        b = list.isCommonEventWord("salsa");
-        b = list.isCommonEventWord("center");
-        b = list.isCommonEventWord("family");
-
-      
-
-        b = isAcceptableIndividualLikes("forest glen");
-        b = isAcceptableIndividualLikes("drive");
-        b = isAcceptableIndividualLikes("house");
-        b = isAcceptableIndividualLikes("Timothy Kloug");
-        b = isAcceptableIndividualLikes("Mamma Mia");
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TopicAsOpinionMinerRunner.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TopicAsOpinionMinerRunner.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TopicAsOpinionMinerRunner.java
deleted file mode 100644
index f4d56aa..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TopicAsOpinionMinerRunner.java
+++ /dev/null
@@ -1,117 +0,0 @@
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.StringUtils;
-
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-
-public class TopicAsOpinionMinerRunner {
-	private List<File> queue;
-	private final static String reviewSource = "/Users/bgalitsky/Documents/solr/example/exampledocs/publication_page0.json";
-	NamedEntityExtractor neExtractor = new NamedEntityExtractor();
-	Set<String> allPhrases = new HashSet<String>();
-	
-	public void processJSONfileWithReviews(){
-		List<String[]> report = new ArrayList<String[]>();
-		report.add(new String[] { "text", "phrases of potential interest list" , });
-
-		
-		String content=null;
-		try {
-			content = FileUtils.readFileToString(new File(reviewSource));
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		String[] texts = StringUtils.substringsBetween(content, "summary\":\"", "\"");
-		for(String text: texts){
-			report.clear();
-			EntityExtractionResult result = neExtractor.extractEntities(text);
-			//report.add(new String[]{text});
-			allPhrases.addAll(result.extractedNERWords);
-			allPhrases = new HashSet<String>(allPhrases);
-			for(String p: allPhrases){
-				report.add(new String[]{p});
-			}
-			/*
-			String[] phrases = (String[])result.extractedNERWords.toArray(new String[0]);
-			if (phrases!=null && phrases.length>0)
-				report.add(phrases);
-			*/
-			/*report.add((String[])result.extractedSentimentPhrases.toArray(new String[0]));
-			List<String> stringPhrases = new ArrayList<String>(),
-					nodePhrases = new ArrayList<String>();
-			for(List<ParseTreeNode> chList: result.extractedSentimentPhrases){
-				String buf = "", nodeBuf="";
-				for(ParseTreeNode ch: chList){
-					buf+=ch.getWord()+ " ";
-					nodeBuf+=ch.toString()+ " ";
-				}
-				stringPhrases.add(buf.trim());
-				nodePhrases.add(nodeBuf.trim());
-			}
-			report.add((String[])stringPhrases.toArray(new String[0]));
-			report.add((String[])nodePhrases.toArray(new String[0]));
-			*/
-			
-			ProfileReaderWriter.writeReport(report, "phrasesExtracted3.csv");
-		}
-	}
-
-	private void addFiles(File file) {
-
-		if (!file.exists()) {
-			System.out.println(file + " does not exist.");
-
-			if (file.isDirectory()) {
-				for (File f : file.listFiles()) {
-					if (f.getName().startsWith("."))
-						continue;
-					addFiles(f);
-					System.out.println(f.getName());
-				}
-			} else {
-				queue.add(file);
-
-			}
-		}
-	}
-	
-	public static void main(String[] args){
-		TopicAsOpinionMinerRunner runner = new TopicAsOpinionMinerRunner();
-		runner.processJSONfileWithReviews();
-
-	}
-}
-
-/*
-	public void processDirectory(String path){
-		List<String[]> report = new ArrayList<String[]>();
-		report.add(new String[] { "filename", "named entity list", "phrases of potential interest list" });
-
-		List<String> allNamedEntities = new ArrayList<String>();
-
-		addFiles(new File(path));
-		for(File f: queue){
-			List<String> entities = (List<String>) extractEntities(f.getAbsolutePath()).getFirst();
-			List<String> opinions = (List<String>) extractEntities(f.getAbsolutePath()).getSecond();
-			report.add(new String[]{ f.getName(), entities.toString(),  opinions.toString()});	
-			ProfileReaderWriter.writeReport(report, "nameEntitiesExtracted.csv");
-
-			allNamedEntities.addAll(entities);
-
-			allNamedEntities = new ArrayList<String>(new HashSet<String> (allNamedEntities ));
-
-
-		}
-		ProfileReaderWriter.writeReport(report, "nameEntitiesTopicsOfInterestExtracted.csv");
-	} 
-} */

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TopicPhraseExtractor.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TopicPhraseExtractor.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TopicPhraseExtractor.java
deleted file mode 100644
index a704f22..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TopicPhraseExtractor.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import opennlp.tools.apps.relevanceVocabs.SentimentVocab;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.matching.Matcher;
-
-public class TopicPhraseExtractor {
-	Matcher matcher = new Matcher();
-
-	// sentiment vocabulary for phrase under the focus of sentiment
-	SentimentVocab sVocab = SentimentVocab.getInstance();
-	//This is used to create an XML with phrases. The same class for acro  & phrases
-
-	public EntityExtractionResult extractEntities(String para){
-		EntityExtractionResult result = new EntityExtractionResult();
-		List<String> extractedNerPhrasesStr = new ArrayList<String>(), 
-				extractedNerExactStr = new ArrayList<String>(),
-				extractedSentimentPhrasesStr = 
-				new ArrayList<String>(), extractedNONSentimentPhrasesStr = 
-				new ArrayList<String>(), extractedNerPhraseTags = new ArrayList<String>();
-		// no need to change to extract more/less phrases
-		ParseThicket pt = matcher.buildParseThicketFromTextWithRST(para);
-
-		List<List<ParseTreeNode>> extractedSentimentPhrases = new ArrayList<List<ParseTreeNode>>(), 
-				extractedNONSentimentPhrases = new ArrayList<List<ParseTreeNode>>(),
-				extractedNerPhrases = new ArrayList<List<ParseTreeNode>>(),
-						extractedNerExactPhrases= new ArrayList<List<ParseTreeNode>>();
-		//TODO document examples / cases for each rule
-		// now we extract phrases
-		List<List<ParseTreeNode>> phrases = pt.getPhrases();
-		List<Float> sentimentProfile = pt.getSentimentProfile();
-		for(List<ParseTreeNode> phrase: phrases){
-
-			// find a noun phrase under sentiment
-			boolean bAccept = true, bNER = false;
-
-			String phraseStr = asString(phrase);
-
-
-			if (!phrase.get(0).getPhraseType().equals("NP") && !phrase.get(0).getPhraseType().equals("VP") )	
-				bAccept = false;
-
-			boolean bSentiment = false;
-			for(ParseTreeNode word: phrase){
-				if (sVocab.isSentimentWord(word.getWord())){
-					bSentiment=true;
-					break;
-				}
-			}
-
-			String nerTagConfirmed = null;
-			for(ParseTreeNode word: phrase){
-				// no Named Entity
-				String nerTag = isNERforPhraseExtraction(word);
-				if (nerTag!=null){
-					bNER = true;
-					nerTagConfirmed = nerTag;
-				}
-
-				// no numbers nor prepositions
-				if (word.getPos().startsWith("CD") || word.getPos().indexOf("PRP")>-1 )
-					bAccept = false;
-			}
-			if (!bAccept)
-				continue;
-			// was 7 -> 2
-			if (phrase.size()>7 || phrase.size()<2)
-				bAccept = false;
-
-			if (phrase.get(0).getPos().equals("DT") && phrase.size()<3)
-				bAccept = false;
-			if (!bAccept)
-				continue;
-
-			String cleanedPhraseStr = cleanPhraseString(phraseStr);
-			if (cleanedPhraseStr==null)
-				bAccept = false;
-
-			if (bAccept){
-				if (bNER){
-					extractedNerPhrases.add(phrase);
-					extractedNerPhrasesStr.add(phraseStr);
-					extractedNerPhraseTags.add(nerTagConfirmed );
-					// forming exact NER
-					List<ParseTreeNode> phraseNER_exact = new ArrayList<ParseTreeNode>();
-					String nerExactStr = "";
-					for(ParseTreeNode word: phrase){
-						String ner = isNERforPhraseExtraction(word);
-						if (ner!=null && ner.equals(nerTagConfirmed)){
-							phraseNER_exact.add(word);
-							nerExactStr+=" "+word.getWord();
-						}
-					}
-					nerExactStr.trim();
-					extractedNerExactPhrases.add(phraseNER_exact);
-					extractedNerExactStr.add(nerExactStr);
-				}
-				else if (bSentiment) {
-					extractedSentimentPhrasesStr.add(cleanedPhraseStr);					
-					extractedSentimentPhrases.add(phrase);
-				} else {
-					extractedNONSentimentPhrasesStr.add(cleanedPhraseStr);					
-					extractedNONSentimentPhrases.add(phrase);
-				}
-			}
-		} 
-
-		result.setExtractedSentimentPhrases(extractedSentimentPhrases);
-		result.setExtractedSentimentPhrasesStr(extractedSentimentPhrasesStr);
-
-		result.setExtractedNONSentimentPhrases(extractedNONSentimentPhrases);
-		result.setExtractedNONSentimentPhrasesStr(extractedNONSentimentPhrasesStr);
-		
-		result.setExtractedNerPhrases(extractedNerPhrases);
-		result.setExtractedNerPhrasesStr(extractedNerPhrasesStr);
-		result.setExtractedNerPhraseTags(extractedNerPhraseTags);
-		
-		result.setExtractedNerExactPhrases(extractedNerExactPhrases);
-		result.setExtractedNerExactStr(extractedNerExactStr);
-
-		result.setSentimentProfile(sentimentProfile );
-
-		return result;
-	}
-
-
-
-
-
-
-	private String cleanPhraseString(String phraseStr) {
-		String p = phraseStr.toLowerCase();
-
-		if (p.startsWith("*") || p.startsWith("&") || p.startsWith("$"))
-			return null;
-
-		if (p.startsWith("this ") || p.startsWith("other "))
-			return null;
-
-		if (p.startsWith("a "))
-			p = p.substring(2, p.length());
-		if (p.startsWith("the "))
-			p = p.substring(4, p.length());
-		if (p.startsWith(", "))
-			p = p.substring(2, p.length());
-
-		return p;
-	}
-
-	private String asString(List<ParseTreeNode> phrase) {
-		String buf = "";
-		for(ParseTreeNode p: phrase)
-			buf+=p.getWord()+" ";
-		return buf.trim();
-	}
-
-	private String isNERforPhraseExtraction(ParseTreeNode word){
-		if (word.getNe() == null)
-			return null;
-		
-
-		if (!(word.getPos().startsWith("NN") || word.getPos().startsWith("PR") || word.getPos().startsWith("IN")|| 
-				word.getPos().startsWith("JJ") || word.getPos().startsWith("DT")))
-			return null;
-				
-
-		if (word.getNe().equals("ORGANIZATION"))
-				return "ORGANIZATION";
-		if(word.getNe().equals("LOCATION"))
-			return "LOCATION";
-					
-		if(word.getNe().equals("PERSON") ) 
-			return "PERSON";
-		
-		if(word.getNe().equals("MONEY") ) 
-			return "MONEY";
-		if(word.getNe().equals("DATE") ) 
-			return "DATE";
-		if(word.getNe().equals("TIME") ) 
-			return "TIME";
-
-		return null;
-
-	}
-}
-
-/*
- * Na�ve  sentiment prediction systems work just by looking at words in isolation, giving positive points for positive words and negative points for negative words and then summing up these points. That way, the order of words is ignored and important information is lost. The deep learning model of (Socher et al 2013) builds a representation of whole sentences based on the sentence structure. It computes the sentiment based on how words compose the meaning of longer phrases. However, in most applications just taking individual sentences into account do not give accurate results and rhetoric information needs to be taken into account to determine the overall sentiment of a paragraph and then back to the individual sentence level.
- */
-

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TwitterEngineRunner.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TwitterEngineRunner.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TwitterEngineRunner.java
deleted file mode 100644
index 6de3180..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TwitterEngineRunner.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.StringUtils;
-
-import au.com.bytecode.opencsv.CSVWriter;
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-
-public class TwitterEngineRunner {
-	private List<File> queue;
-	private final static String twSource = "/Users/bgalitsky/Documents/workspace/TwitterMiner/data/TwitterArtistsDynamicsTot12_07.csv";
-	TwitterFilter neExtractor = new TwitterFilter();
-	private static int iWind = 80;
-
-	public void processTweetFile(int nRun){
-		List<String[]> report = new ArrayList<String[]>(), ful_less =  new ArrayList<String[]>();
-		List<String> meaningLESS = new ArrayList<String>(), meaningFUL = new ArrayList<String>();
-		report.add(new String[] { "text", "phrases of potential interest list" , });
-
-		List<String[]> texts = ProfileReaderWriter.readProfiles(twSource);
-		int offset = iWind*nRun;
-		
-		//for(int i=offset; i< offset+iWind; i++){
-			
-		//	String[] text = texts.get(i);
-		for(String[] text: texts){
-			List<String> textDeduped = new ArrayList<String>(new HashSet<String>(Arrays.asList(text)));
-			EntityExtractionResult result = null;
-			if (text==null || text.length<4)
-				continue;
-
-			for(int nInLine=3; nInLine<textDeduped.size(); nInLine++){
-				if (textDeduped.get(nInLine).length()>180)
-					continue;
-				
-				String cleanedTweet = textDeduped.get(nInLine).replace("/\\bs\\@+/ig","");
-				try {
-					result = neExtractor.extractEntities(cleanedTweet);
-				} catch (Exception e) {
-					e.printStackTrace();
-					continue;
-				}
-				report.add(new String[]{text[0],text[nInLine]});
-				report.add((String[])result.extractedNERWords.toArray(new String[0]));
-				//report.add((String[])result.extractedSentimentPhrases.toArray(new String[0]));
-				List<String> stringPhrases = new ArrayList<String>(),
-						nodePhrases = new ArrayList<String>();
-				Boolean bMeaningf = false;
-
-				//stringPhrases.add(""); nodePhrases.add(""); // to make report more readable
-				for(List<ParseTreeNode> chList: result.extractedSentimentPhrases){
-					String buf = "", nodeBuf="";
-					for(ParseTreeNode ch: chList){
-						buf+=ch.getWord()+ " ";
-						nodeBuf+=ch.toString()+ " ";
-					}
-					stringPhrases.add(buf.trim());
-					nodePhrases.add(nodeBuf.trim());
-				}
-				// selecting MEANINGFULL
-				if (nodePhrases.size()>1){
-					if ((nodePhrases.get(0).indexOf(">VP'")>-1 || nodePhrases.get(0).indexOf(">NNP'")>-1) &&
-							(nodePhrases.get(1).indexOf(">VP'")>-1 || nodePhrases.get(1).indexOf(">NNP'")>-1)){
-						bMeaningf = true;
-
-					}
-				}
-
-				report.add((String[])stringPhrases.toArray(new String[0]));
-				report.add((String[])nodePhrases.toArray(new String[0]));
-				if (bMeaningf){
-					report.add(new String[]{"===", "MEANINGFUL tweet"});
-					if (!meaningFUL.contains(cleanedTweet))
-						meaningFUL.add(cleanedTweet);
-				} else {
-					if (!meaningLESS.contains(cleanedTweet))
-						meaningLESS.add(cleanedTweet);
-				}
-
-				int count = 0;
-				ful_less.clear();
-				for(String less: meaningLESS ){
-					String fl = "";
-					if (count<meaningFUL.size())
-						fl = meaningFUL.get(count);
-					ful_less.add(new String[]{less, fl});
-					count++;
-				}
-
-				report.add(new String[]{"-----------------------------------------------------"});
-					ProfileReaderWriter.writeReport(report, "phrasesExtractedFromTweets3_"+nRun+".csv");
-					ProfileReaderWriter.writeReport(ful_less, "ful_lessTweets3_"+nRun+".csv");
-				
-			}
-		}
-	}
-
-
-	public static void main(String[] args){
-		TwitterEngineRunner runner = new TwitterEngineRunner();
-		int nRun = Integer.parseInt(args[0]);
-		runner.processTweetFile(nRun);
-
-	}
-}
-
-/*
-	public void processDirectory(String path){
-		List<String[]> report = new ArrayList<String[]>();
-		report.add(new String[] { "filename", "named entity list", "phrases of potential interest list" });
-
-		List<String> allNamedEntities = new ArrayList<String>();
-
-		addFiles(new File(path));
-		for(File f: queue){
-			List<String> entities = (List<String>) extractEntities(f.getAbsolutePath()).getFirst();
-			List<String> opinions = (List<String>) extractEntities(f.getAbsolutePath()).getSecond();
-			report.add(new String[]{ f.getName(), entities.toString(),  opinions.toString()});	
-			ProfileReaderWriter.writeReport(report, "nameEntitiesExtracted.csv");
-
-			allNamedEntities.addAll(entities);
-
-			allNamedEntities = new ArrayList<String>(new HashSet<String> (allNamedEntities ));
-
-
-		}
-		ProfileReaderWriter.writeReport(report, "nameEntitiesTopicsOfInterestExtracted.csv");
-	} 
-} */
-
-

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TwitterFilter.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TwitterFilter.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TwitterFilter.java
deleted file mode 100644
index 0e5053d..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/TwitterFilter.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import opennlp.tools.apps.relevanceVocabs.SentimentVocab;
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.parse_thicket.kernel_interface.DescriptiveParagraphFromDocExtractor;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.parse_thicket.matching.PT2ThicketPhraseBuilder;
-import opennlp.tools.similarity.apps.utils.Pair;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.TextProcessor;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
-
-public class TwitterFilter {
-	protected static Matcher matcher;
-	private static int PARA_LENGTH_IN_SENTENCES = 5, PARA_LENGTH = 250;
-	protected ArrayList<File> queue = new ArrayList<File>();
-	protected static PT2ThicketPhraseBuilder phraseBuilder;
-	protected static SentimentVocab sVocab = SentimentVocab.getInstance();
-	String resourceDirSentimentList = null;
-	Set<String> sentimentVcb = new HashSet<String> ();
-
-	static {
-		synchronized (TwitterFilter.class) {
-			matcher = new Matcher();
-			phraseBuilder = new PT2ThicketPhraseBuilder();
-		}
-	}
-
-	public TwitterFilter(){
-		try {
-			resourceDirSentimentList = new File( "." ).getCanonicalPath()+"/src/test/resources/opinions/sentiment_listReduced.csv";
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		List<String[]> sentimentList=null;
-		sentimentList = ProfileReaderWriter.readProfiles(resourceDirSentimentList);
-		for(String[] line: sentimentList){
-			sentimentVcb.add(line[0]);
-		}
-	}
-
-	private boolean isSentimentWord(String word){
-		if (sentimentVcb.contains(word))
-			return true;
-		else
-			return false;		
-	}
-
-	public EntityExtractionResult extractEntities(String para){
-		List<List<ParseTreeNode>> extractedNERs = new ArrayList<List<ParseTreeNode>>();
-		List<String> extractedNERsWords = new ArrayList<String>();
-		List<List<ParseTreeNode>> extractedSentimentPhrases = 
-				new ArrayList<List<ParseTreeNode>>();
-		EntityExtractionResult result = new EntityExtractionResult();
-
-		ParseThicket pt = null;
-
-		System.out.println("Processing paragraph of length "+para.length() + " | "+ para);
-		pt = matcher.buildParseThicketFromTextWithRST(para);
-		List<List<ParseTreeNode>> nodeList = pt.getSentenceNodes();
-
-
-		for(List<ParseTreeNode> sentence: nodeList){
-			System.out.println("   Processing sentence: "+ sentence);
-			boolean bInsideNER = false; 
-			String currentPhrase = "";
-			List<ParseTreeNode> currentPhraseNode = new ArrayList<ParseTreeNode>(); 
-			for(ParseTreeNode word: sentence){
-				if (isNERforPhraseExtraction(word)){
-					System.out.println("++Found word ="+word + " | NER="+ word.getNe());
-					if (bInsideNER){
-						currentPhrase += " "+word.getWord();
-						currentPhraseNode.add(word);
-					} else {
-						bInsideNER=true;
-						currentPhrase = word.getWord();
-						currentPhraseNode.add(word);
-					}
-				} else {
-					if (bInsideNER){
-						if (currentPhrase.indexOf(' ')>-1) // at least two tokens
-							extractedNERsWords.add(currentPhrase);
-							extractedNERs.add(currentPhraseNode);
-						currentPhrase = "";
-						bInsideNER=false;
-					} else {
-						// do nothing, continue scan
-					}
-				}
-			}
-			if (currentPhrase.length()>1 && currentPhrase.indexOf(' ')>-1){
-				extractedNERs.add(currentPhraseNode);
-				extractedNERsWords.add(currentPhrase);
-			}
-
-			Set<String> foundSentimentWords = new HashSet<String>();
-			// now we extract phrases
-			List<List<ParseTreeNode>> phrases = pt.getPhrases();
-			for(List<ParseTreeNode> phrase: phrases){
-				// find a noun phrase under sentiment
-				try {
-					for(int i = phrase.size()-1; i>-1; i--){
-						ParseTreeNode word = phrase.get(i);
-						if ((isSentimentWord(word.getWord()) ||
-								sVocab.isSentimentWord(word.getWord()) && !foundSentimentWords.contains(word.getWord()) )){
-							foundSentimentWords.add(word.getWord());
-							System.out.println("Found opinionated phrase "+phrase.toString());
-							extractedSentimentPhrases.add(phrase);			
-							break;
-						}
-					}
-				} catch (Exception e) {
-					e.printStackTrace();
-				}
-			}
-
-		} 
-		result.setExtractedNER(extractedNERs);
-		result.setExtractedNERWords(extractedNERsWords);
-		result.setExtractedSentimentPhrases(extractedSentimentPhrases);
-		return result;
-	}
-
-
-
-	private boolean isNERforPhraseExtraction(ParseTreeNode word){
-		if ((word.getNe().equals("ORGANIZATION") ||word.getNe().equals("LOCATION") || word.getNe().equals("PERSON") ) &&
-				(word.getPos().startsWith("NN") || word.getPos().startsWith("PR") || word.getPos().startsWith("IN")|| 
-						word.getPos().startsWith("JJ") || word.getPos().startsWith("DT")  ))
-			return true;
-
-		return false;
-
-	}
-
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/YouTubeMiner.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/YouTubeMiner.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/YouTubeMiner.java
deleted file mode 100644
index a138de6..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/YouTubeMiner.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
-
-import opennlp.tools.similarity.apps.utils.PageFetcher;
-
-public class YouTubeMiner {
-	private PageFetcher fetcher = new PageFetcher();
-	public YouTubeMinerResult getData(String url){
-		YouTubeMinerResult result = new YouTubeMinerResult();
-		String content = fetcher.fetchOrigHTML(url);
-		try {
-			FileUtils.writeStringToFile(new File(url.replace(':', '_').replace('/', '_')), content);
-		} catch (IOException e1) {
-			// TODO Auto-generated catch block
-			e1.printStackTrace();
-		}
-		if (url.indexOf("channel")>-1){
-			try { //subscriber-count" title="30" 
-				String subscribersStr = StringUtils.substringBetween(content,"subscriber-count", "tabindex");
-				String dirtyNumber = StringUtils.substringBetween(subscribersStr, "title=\"", "\"");
-				String cleanNumber = dirtyNumber.replaceAll("[^\\x00-\\x7F]", "");
-				if (cleanNumber!=null){
-					int subscribers = Integer.parseInt(cleanNumber );
-					result.subscribers = subscribers;
-				} else {
-					System.err.println("Not found data for 'subscriber-count', 'tabindex'");
-				}
-			} catch (NumberFormatException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		} else {
-			try {
-
-				String subscribersStr = StringUtils.substringBetween(content,"subscriber-count", "tabindex");
-				String dirtyNumber = StringUtils.substringBetween(subscribersStr, "title=\"", "\"").replace(" ", "");
-				if (dirtyNumber!=null){
-					int subscribers = Integer.parseInt(dirtyNumber );
-					result.subscribers = subscribers;
-				} else {
-					System.err.println("Not found data for 'subscriber-count', 'tabindex'");
-				}
-
-				String viewsStrDirty = StringUtils.substringBetween(content,
-						//"div class=\"watch-view-count\">"," views</div>");
-						//view-count">12 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u043e\u0432</div>
-						"view-count","<div>");
-				String viewsStr = StringUtils.substringBetween(viewsStrDirty,">", " ");
-				if (viewsStr!=null){
-					int views = Integer.parseInt(viewsStr );
-					result.views = views;
-				} else {
-					System.err.println("Not found data for 'view-count','<div>'");
-				}
-			} catch (NumberFormatException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		}
-
-		return result;
-	}
-
-
-
-
-	public static void main(String[] args){
-		YouTubeMiner  miner = new YouTubeMiner();
-		System.out.println(miner.getData("https://www.youtube.com/channel/UC-maQbG5eUS5c1wmaTnLwTA"));
-		System.out.println(miner.getData("https://www.youtube.com/watch?v=U6X4VT9dVr8"));
-		System.out.println(miner.getData("https://www.youtube.com/watch?v=kH-AQnta714"));
-		System.out.println(miner.getData("https://www.youtube.com/watch?v=pWb50Kn1ShQ"));
-	}
-}
-
-

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/YouTubeMinerResult.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/YouTubeMinerResult.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/YouTubeMinerResult.java
deleted file mode 100644
index 86c8e9d..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/YouTubeMinerResult.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.opinion_processor;
-
-public class YouTubeMinerResult {
-	public int likes;
-	public int subscribers;
-	public int views;
-	
-	boolean isPromisingYoungIndividual(){
-		if (subscribers>0)
-			if (subscribers>10 && subscribers< 20000)
-				return true;
-		if (views>0)
-			if (views>10 && views< 20000)
-				return true;
-		return false;
-
-	}
-	
-	public String toString(){
-		return "views :"+ views + "| subscribers = "+ subscribers;
-	}
-}


[05/11] opennlp-sandbox git commit: removed stanford nlp refs

Posted by bg...@apache.org.
http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PTMatcherTest.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PTMatcherTest.java b/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PTMatcherTest.java
deleted file mode 100644
index 7d2ebef..0000000
--- a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PTMatcherTest.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.matching;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import junit.framework.TestCase;
-
-public class PTMatcherTest extends TestCase {
-	//public static String resourceDir = new File(".").getAbsolutePath().replace("/.", "") + "/src/test/resources";
-	//VerbNetProcessor proc = VerbNetProcessor.getInstance(resourceDir);
-	Matcher m = new Matcher();
-	
-	public void testMatchTwoParaTestReduced(){
-		String q = "I am a US citizen living abroad, and concerned about the health reform regulation of 2014. I do not want to wait till I am sick to buy health insurance. I am afraid I will end up paying the tax.";
-		String a = "People are worried about having to pay a fine for not carrying health insurance coverage got more guidance this week with some new federal regulations. "+
-				"Hardly anyone will end up paying the tax when the health reform law takes full effect in 2014. "+
-				"The individual mandate makes sure that people don\ufffdt wait until they are sick to buy health insurance. "+
-				"People are exempt from health insurance fine if they make too little money to file an income tax return, or US citizens living abroad."; 
-		List<List<ParseTreeChunk>> res = m.assessRelevance(q, a);
-		System.out.print(res);
-		assertTrue(res!=null);
-		assertTrue(res.size()>0);
-		assertEquals(  "[[NP [NNP-us (LOCATION) NN*-citizen VB-living RB-abroad ], NP [,-, CC-* ], NP [DT-the NN-* NN-health NN-reform NN-* CD-2014 ], NP [NN-health NN-* NN-* IN-* ], NP [DT-the NN-health NN-reform NN-* ], NP [NN-health NN-insurance ], NP [NN*-* NN-* JJ-* NN-* ]], [VP [VB-* {phrStr=[], phrDescr=[], roles=[A, *, *]} DT-a NN*-* NN-health NN-* NN-* NN*-regulation ], VP [VB-* NN*-* NN-* VB-* RB*-* IN-* DT-* NN*-regulation ], VP [VB-* NN-* NN-health NN-* NN-* ], VP [IN-about NN-health NN-* NN-* NN*-regulation ], VP [VB-living RB-abroad ], VP [TO-to VB-* VB-wait IN-* PRP-* VB-* JJ-sick TO-to VB-buy NN-health NN-insurance ], VP [VB-* TO-to VB-* VB-* NN-health NN-insurance ], UCP [MD-will VB-end RP-up VB-paying DT-the NN-tax ], VP [TO-to VB-* VB-buy NN-health NN-insurance ], VP [VB-* TO-to VB-* JJ-sick TO-to VB-buy NN-health NN-insurance ]]]" 
-				, res.toString());
-	
-	}
-
-	public void testMatchTwoParaTest1(){
-		List<List<ParseTreeChunk>> res = m.assessRelevance("Iran refuses to accept the UN proposal to end its dispute over its work on nuclear weapons."+
-				"UN nuclear watchdog passes a resolution condemning Iran for developing its second uranium enrichment site in secret. " +
-				"A recent IAEA report presented diagrams that suggested Iran was secretly working on nuclear weapons. " +
-				"Iran envoy says its nuclear development is for peaceful purpose, and the material evidence against it has been fabricated by the US. "
-
-			, "Iran refuses the UN offer to end a conflict over its nuclear weapons."+
-					"UN passes a resolution prohibiting Iran from developing its uranium enrichment site. " +
-					"A recent UN report presented charts saying Iran was working on nuclear weapons. " +
-				"Iran envoy to UN states its nuclear development is for peaceful purpose, and the evidence against its claim is fabricated by the US. ");
-		System.out.print(res);
-		assertTrue(res!=null);
-		assertTrue(res.size()>0);
-		assertEquals(res.toString(), 
-				"[[NP [DT-a NN-* PRP$-its JJ-* NN-* ], NP [DT-a NN-resolution VB-* NNP-iran (LOCATION) IN-* VB-developing PRP$-its NN-uranium NN-enrichment NN-site ], NP [DT-a IN-for ], NP [DT-a PRP$-its ], NP [VB-* JJ-nuclear NN*-* ], NP [JJ-nuclear NNS-weapons ], NP [PRP$-its JJ-nuclear NN-development ], NP [DT-the NN-* NN-evidence IN-against PR*-it ], NP [DT-the NNP-un (ORGANIZATION) NN-* ], NP [VB-* NN-* NN-* NN-* ], NP [VB-* NNP-iran (LOCATION) NN*-* ], NP [NNP-iran (LOCATION) NN-envoy ]], [VP [VB-refuses TO-to VB-* DT-* NN*-* ], VP [VB-* DT-the NNP-un (ORGANIZATION) NN-* TO-to VB-end PRP$-its ], VP [VB-* NN-* NN-work IN-on JJ-nuclear NN*-weapons.un ], VP [VB-* DT-a NN-* NN-resolution VB-* NNP-iran (LOCATION) IN-* VB-developing PRP$-its ], VP [VB-* DT-a NN-* PRP$-its JJ-* NN-* ], VP [VB-passes DT-a NN-resolution VB-* NNP-iran (LOCATION) IN-* VB-developing PRP$-its NN-uranium NN-enrichment NN-site ], VP [PRP$-its JJ-* NN-* NN-uranium NN-enrichment NN-site ], VP [VB-presented NNS-* NNP-iran 
 (LOCATION) VB-was VB-working IN-on JJ-nuclear NNS-weapons ], VP [VB-* VB-fabricated IN-by DT-the NNP-us (LOCATION) ], VP [VB-* DT-the NNP-un (ORGANIZATION) NN-* TO-to VB-end NN-* IN-over PRP$-its NNP-* ], VP [TO-to VB-* DT-* NN*-* VB-end PRP$-its ], VP [PRP$-its JJ-nuclear NN-weapons.un ], VP [IN-* VB-* PRP$-its NN-* ], VP [DT-a PRP$-its JJ-nuclear NN-* VB-* NN-development ], VP [DT-a VB-* PRP$-its ], VP [VB-* NN-development NN-* ], VP [NN*-* VB-says JJ-nuclear NN*-* ], VP [VB-is IN-for JJ-peaceful NN-purpose ]]]" )	;	}
-
-	public void testMatchTwoParaTest2(){
-		List<List<ParseTreeChunk>> res = m.assessRelevance("I am a US citizen living abroad, and concerned about the health reform regulation of 2014. "+
-				"I do not want to wait till I am sick to buy health insurance. "+
-				"I am afraid I will end up paying the tax. "+
-				"I am worried about having to pay a fine for not having health insurance coverage. "
-				, 
-				"People are worried about having to pay a fine for not carrying health insurance coverage got more guidance this week with some new federal regulations. "+
-						"Hardly anyone will end up paying the tax when the health reform law takes full effect in 2014. "+
-						"The individual mandate makes sure that people don\ufffdt wait until they are sick to buy health insurance. "+
-				"People are exempt from health insurance fine if they make too little money to file an income tax return, or US citizens living abroad.");
-		System.out.print(res);
-		assertTrue(res!=null);
-		assertTrue(res.size()>0);
-		assertEquals(res.toString(), "[[NP [NNP-us (LOCATION) NN*-citizen VB-living RB-abroad ], NP [,-, CC-* ], NP [DT-the NN-* NN-health NN-reform NN-* CD-2014 ], NP [NN-health NN-* NN-* IN-* ], NP [DT-the NN-health NN-reform NN-* ], UCP [NN-health NN-insurance NN-coverage ], UCP [TO-to VB-* {phrStr=[], phrDescr=[], roles=[A, *, *]} DT-a NN-* ], NP [NN*-* NN-* JJ-* NN-* ]], [VP [VB-* {phrStr=[], phrDescr=[], roles=[A, *, *]} DT-a NN*-* NN-health NN-* NN-* NN*-regulation ], VP [VB-* NN*-* NN-* VB-* RB*-* IN-* DT-* NN*-regulation ], VP [IN-about NN-health NN-* NN-* NN*-regulation ], VP [VB-living RB-abroad ], VP [TO-to VB-* VB-wait IN-* PRP-* VB-* JJ-sick TO-to VB-buy NN-health NN-insurance ], VP [VB-* VB-pay DT-* NN-* NN-health NN-* NN-* ], VP [VB-having NN-health NN-insurance NN-coverage ], UCP [MD-will VB-end RP-up VB-paying DT-the NN-tax ], VP [VB-* TO-to VB-* VB-* NN-health NN-insurance ], VP [TO-to VB-* VB-buy NN-health NN-insurance ], VP [VB-* TO-to VB-* JJ-sick TO-to VB-buy NN-hea
 lth NN-insurance ], VP [VB-* TO-to VB-* VB-pay {phrStr=[NP V NP PP.theme, NP V NP], phrDescr=[NP-PPfor-PP, (SUBCAT MP)], roles=[A, A, T]} DT-a NN-fine IN-for RB-not VB-* NN-health NN-insurance NN-coverage ], VP [VB-paying DT-the NN-tax NN-health NN-* NN-* ], VP [VB-* TO-to VB-* NN-health NN-insurance ], UCP [VB-* VB-worried IN-about VB-having TO-to VB-pay {phrStr=[NP V NP PP.theme, NP V NP], phrDescr=[NP-PPfor-PP, (SUBCAT MP)], roles=[A, A, T]} DT-a NN-fine IN-for RB-not VB-* NN-health NN-insurance NN-coverage ], VP [VB-paying DT-* NN-* DT-a NN-fine IN-for RB-not VB-* NN-health NN-insurance NN-coverage ]]]"
-		);
-	}
-
-
-	public void testMatchTwoParaTestCA(){
-		List<List<ParseTreeChunk>> res = m.assessRelevance("As a US citizen living abroad, I am concerned about the health reform regulation of 2014. "+
-				"I do not want to wait till I am sick to buy health insurance. "+
-				"Yet I am afraid I will end up paying the tax. "+
-				"Although I live abroad, I am worried about having to pay a fine for being reported as not having health insurance coverage. "
-				, 
-				"People are worried about paying a fine for not carrying health insurance coverage, having been informed by IRS about new regulations. "+
-						"Yet hardly anyone is expected to pay the tax, when the health reform law takes full effect in 2014. "+
-						"The individual mandate confirms that people don\ufffdt wait until they are sick to buy health insurance. "+
-				"People are exempt from health insurance fine if they report they make too little money, or US citizens living abroad.");
-		System.out.print(res);
-		assertTrue(res!=null);
-		assertTrue(res.size()>0);
-	}
-
-	public void testMatchTwoParaTestCA1(){
-		String text1 = "As a US citizen living abroad, I am concerned about the health reform regulation of 2014. "+
-				"I do not want to wait till I am sick to buy health insurance. "+
-				"Yet I am afraid I will end up being requested to pay the tax. "+
-				"Although I live abroad, I am worried about having to pay a fine for being reported as not having health insurance coverage. ";
-
-		String text2 =	"People are worried about paying a fine for not carrying health insurance coverage, having been informed by IRS about new regulations. "+
-				"Yet hardly anyone is expected to pay the tax, when the health reform law takes full effect in 2014. "+
-				"The individual mandate confirms that people don\ufffdt wait until they are sick to buy health insurance. "+
-				"People are exempt from health insurance fine if they report they make too little money, or US citizens living abroad.";
-		List<List<ParseTreeChunk>> res = m.assessRelevance(text1, text2);
-		System.out.print(res);
-		assertTrue(res!=null);
-		assertTrue(res.size()>0);
-	}
-	
-	public void testMatchTwoParaTestREq1(){
-		String q = "I am buying a foreclosed house. "
-				+ "A bank offered me to waive inspection; however I am afraid I will not identify "
-				+ "some problems in this property unless I call a specialist.";
-
-		String a1 =	"I am a foreclosure specialist in a bank which is subject to an inspection. "
-				+ "FTC offered us to waive inspection "
-				+ "if we can identify our potential problems with customers we lent money to buy their properties.";
-		
-		String a2 =	"My wife and I are buying a foreclosure from a bank. "
-				+ "In return for accepting a lower offer, they want me to waive the inspection.  "
-				+ "I prefer to let the�bank know that I would not�waive�the�inspection.";
-		List<List<ParseTreeChunk>> res = m.assessRelevance(q, a1);
-		assertEquals(res.toString(), "[[NP [DT-a NN-bank ], NP [NNS-problems ], NP [NN*-property ], NP [PRP-i ]], [VP [VB-am {phrStr=[NP V ADVP-Middle PP, NP V ADVP-MIddle], phrDescr=[Middle Construction, Middle Construction], roles=[A, P, P, P]} DT-a ], VP [VB-* TO-to NN-inspection ], VP [VB-offered PRP-* TO-to VB-waive NN-inspection ], VP [VB-* TO-to VB-* ], VP [VB-am {phrStr=[NP V ADVP-Middle PP, NP V ADVP-MIddle], phrDescr=[Middle Construction, Middle Construction], roles=[A, P, P, P]} NN*-* IN-in DT-* NN-* ], VP [VB-* VB-identify NNS-problems IN-* NN*-property ], VP [VB-* DT-* NN*-* VB-* ], VP [VB-* {phrStr=[], phrDescr=[], roles=[A, *, *]} DT-a NN-* ]]]");	    
-		System.out.println(res);
-		res = m.assessRelevance(q, a2);
-		assertEquals(res.toString(), "[[NP [DT-a NN-bank ], NP [PRP-i ]], [VP [VB-* VB-buying DT-a ], VP [VB-* PRP-me TO-to VB-waive NN-inspection ], VP [TO-to VB-* VB-waive NN-inspection ], VP [VB-* {phrStr=[], phrDescr=[], roles=[]} PRP-i MD-* RB-not VB-* DT-* NN*-* ], VP [VB-* DT-* NN*-* VB-* DT-* NN-* ], VP [VB-* DT-a NN-* ]]]");
-		System.out.println(res);
-		assertTrue(res!=null);
-		assertTrue(res.size()>0);
-	}
-
-}
-
-

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PTPhraseBuilderTest.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PTPhraseBuilderTest.java b/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PTPhraseBuilderTest.java
deleted file mode 100644
index 88132d0..0000000
--- a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PTPhraseBuilderTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.matching;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import edu.stanford.nlp.trees.Tree;
-
-import opennlp.tools.parse_thicket.ParseCorefsBuilder;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import junit.framework.TestCase;
-
-public class PTPhraseBuilderTest extends TestCase {
-	private ParseCorefsBuilder ptBuilder = ParseCorefsBuilder.getInstance();
-	private PT2ThicketPhraseBuilder phraseBuilder = new PT2ThicketPhraseBuilder();
-		
-	public void testBuildPhraseForUCP(){
-		String q = "I am a US citizen living abroad, and concerned about the health reform regulation of 2014. " +
-				"I do not want to wait till I am sick to buy health insurance. I am afraid I will end up paying the tax.";
-		
-		ParseThicket pt = ptBuilder.buildParseThicket(q);
-		List<ParseTreeNode> sentence = pt.getNodesThicket().get(0);
-		Tree ptree = pt.getSentences().get(0);		
-		List<List<ParseTreeNode>> res = phraseBuilder.buildPT2ptPhrasesForASentence(ptree, sentence );	
-		assertTrue(res!=null);  
-		assertEquals(res.get(7).toString(), 
-				"[<10>ADJP'concerned':JJ, <11>ADJP'about':IN, <12>ADJP'the':DT, <13>ADJP'health':NN, <14>ADJP'reform':NN, <15>ADJP'regulation':NN, <16>ADJP'of':IN, <17>ADJP'2014':CD]");
-		
-		assertTrue(res.size()>12);
-		
-		sentence = pt.getNodesThicket().get(1);
-		ptree = pt.getSentences().get(1);		
-		ptree.pennPrint();
-		res = phraseBuilder.buildPT2ptPhrasesForASentence(ptree, sentence );		
-		assertTrue(res!=null);
-		assertTrue(res.size()>0);
-	
-	}
-	
-	public void testParsePhrase(){
-		String line = "(NP (NNP Iran)) (VP (VBZ refuses) (S (VP (TO to) (VP (VB accept) (S (NP (DT the) " +
-				"(NNP UN) (NN proposal)) (VP (TO to) (VP (VB end) (NP (PRP$ its) (NN dispute))))))))";
-
-		List<ParseTreeNode> res = phraseBuilder. parsePhrase("NP", line);
-		System.out.println(res);
-		assertEquals(res.toString(), 
-				"[NP'Iran':NNP, NP'refuses':VBZ, NP'to':TO, NP'accept':VB, NP'the':DT, NP'UN':NNP, NP'proposal':NN, NP'to':TO, NP'end':VB, NP'its':PRP$, NP'dispute':NN]");
-
-
-		line = "(VP (VBP am) (NP (NP (DT a) (NNP US) (NN citizen)) (UCP (VP (VBG living) (ADVP (RB abroad))) (, ,) (CC and) (ADJP (JJ concerned) (PP (IN about) (NP (NP (DT the) (NN health) (NN reform) (NN regulation)) (PP (IN of) (NP (CD 2014)))))))))";
-		res = phraseBuilder. parsePhrase("VP", line);
-		System.out.println(res);
-		assertEquals(res.toString(), "[VP'am':VBP, VP'a':DT, VP'US':NNP, VP'citizen':NN, VP'living':VBG, VP'abroad':RB, VP',':,, VP'and':CC, VP'concerned':JJ, VP'about':IN, VP'the':DT, VP'health':NN, VP'reform':NN, VP'regulation':NN, VP'of':IN, VP'2014':CD]");
-
-		
-		line = "(VP (TO to) (VP (VB wait) (SBAR (IN till) (S (NP (PRP I)) (VP (VBP am) (ADJP (JJ sick) (S (VP (TO to) (VP (VB buy) (NP (NN health) (NN insurance)))))))))))";
-		res = phraseBuilder. parsePhrase("VP", line);
-		assertEquals(res.toString(), "[VP'to':TO, VP'wait':VB, VP'till':IN, VP'I':PRP, VP'am':VBP, VP'sick':JJ, VP'to':TO, VP'buy':VB, VP'health':NN, VP'insurance':NN]");
-		System.out.println(res);
-	}
-	
-	public void testBuilderPTPhrase(){
-		String q = "I am a US citizen living abroad, and concerned about the health reform regulation of 2014. " +
-				"I do not want to wait till I am sick to buy health insurance. I am afraid I will end up paying the tax.";
-			ParseThicket pt = ptBuilder.buildParseThicket(q);
-			List<List<ParseTreeNode>> res = phraseBuilder.buildPT2ptPhrases(pt);
-			assertTrue(res!=null);
-			assertTrue(res.size()>0);
-
-	}
-
-}
-
-

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PairwiseMatcherTest.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PairwiseMatcherTest.java b/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PairwiseMatcherTest.java
deleted file mode 100644
index de758a9..0000000
--- a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/matching/PairwiseMatcherTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.matching;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.SentencePairMatchResult;
-import opennlp.tools.textsimilarity.chunker2matcher.ParserChunker2MatcherProcessor;
-import junit.framework.TestCase;
-
-public class PairwiseMatcherTest extends TestCase {
-	public void testMatchTwoParaTestReduced(){
-		String q = "I am a US citizen living abroad, and concerned about the health reform regulation of 2014. I do not want to wait till I am sick to buy health insurance. I am afraid I will end up paying the tax.";
-		String a = "People are worried about having to pay a fine for not carrying health insurance coverage got more guidance this week with some new federal regulations. "+
-				"Hardly anyone will end up paying the tax when the health reform law takes full effect in 2014. "+
-				"The individual mandate makes sure that people don\ufffdt wait until they are sick to buy health insurance. "+
-				"People are exempt from health insurance fine if they make too little money to file an income tax return, or US citizens living abroad."; 
-		ParserChunker2MatcherProcessor sm = ParserChunker2MatcherProcessor.getInstance();
-		SentencePairMatchResult res1 = sm.assessRelevance(a, q);
-		System.out.print(res1.getMatchResult());
-		System.out.print(res1);
-		assertTrue(res1!=null);
-		assertTrue(res1.getMatchResult().size()>0);
-	
-	}
-
-	
-
-}
-
-

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/pattern_structure/PatternStructureTest.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/pattern_structure/PatternStructureTest.java b/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/pattern_structure/PatternStructureTest.java
deleted file mode 100644
index 47324a2..0000000
--- a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/pattern_structure/PatternStructureTest.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.pattern_structure;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.LinkedHashSet;
-import java.util.List;
-
-import junit.framework.TestCase;
-import opennlp.tools.fca.ConceptLattice;
-import opennlp.tools.fca.FcaWriter;
-import opennlp.tools.fca.FormalConcept;
-import opennlp.tools.similarity.apps.BingWebQueryRunner;
-import opennlp.tools.similarity.apps.HitBase;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.chunker2matcher.ParserChunker2MatcherProcessor;
-
-public class PatternStructureTest extends TestCase{
-		ParserChunker2MatcherProcessor chunk_maker = ParserChunker2MatcherProcessor.getInstance();
-		LinguisticPatternStructure ps = new LinguisticPatternStructure(0,0);
-		BingWebQueryRunner bqr = new BingWebQueryRunner();
-
-	public void test6texts() {
-
-		String text1 = "I rent an office space. This office is for my business. I can deduct office rental expense from my business profit to calculate net income.";
-		String text2 = "To run my business, I have to rent an office. The net business profit is calculated as follows. Rental expense needs to be subtracted from revenue.";
-		String text3 = "To store goods for my retail business I rent some space. When I calculate the net income, I take revenue and subtract business expenses such as office rent.";
-		String text4 = "I rent out a first floor unit of my house to a travel business. I need to add the rental income to my profit. However, when I repair my house, I can deduct the repair expense from my rental income.";
-		String text5 = "I receive rental income from my office. I have to claim it as a profit in my tax forms. I need to add my rental income to my profits, but subtract rental expenses such as repair from it.";
-		String text6 = "I advertised my property as a business rental. Advertisement and repair expenses can be subtracted from the rental income. Remaining rental income needs to be added to my profit and be reported as taxable profit. ";				
-		
-		List<List<ParseTreeChunk>> chunks1 = chunk_maker.formGroupedPhrasesFromChunksForPara(text1);
-		List<List<ParseTreeChunk>> chunks2 = chunk_maker.formGroupedPhrasesFromChunksForPara(text2);
-		List<List<ParseTreeChunk>> chunks3 = chunk_maker.formGroupedPhrasesFromChunksForPara(text3);
-		List<List<ParseTreeChunk>> chunks4 = chunk_maker.formGroupedPhrasesFromChunksForPara(text4);
-		List<List<ParseTreeChunk>> chunks5 = chunk_maker.formGroupedPhrasesFromChunksForPara(text5);
-		List<List<ParseTreeChunk>> chunks6 = chunk_maker.formGroupedPhrasesFromChunksForPara(text6);
-		//ArrayList<ParseTreeChunk> lst = new ArrayList<ParseTreeChunk>();
-		
-
-		LinkedHashSet<Integer> obj = null;
-		obj = new LinkedHashSet<Integer>();
-		obj.add(0);
-		ps.AddIntent(chunks1, obj, 0);
-		obj = new LinkedHashSet<Integer>();
-		obj.add(1);
-		ps.AddIntent(chunks2, obj, 0);
-		obj = new LinkedHashSet<Integer>();
-		obj.add(2);
-		ps.AddIntent(chunks3, obj, 0);
-		obj = new LinkedHashSet<Integer>();
-		obj.add(3);
-		ps.AddIntent(chunks4, obj, 0);
-		obj = new LinkedHashSet<Integer>();
-		obj.add(4);
-		ps.AddIntent(chunks5, obj, 0);
-		obj = new LinkedHashSet<Integer>();
-		obj.add(5);
-		ps.AddIntent(chunks6, obj, 0);
-
-		ps.logStability();				
-		ps.printLatticeExtended();
-
-		int [][] binaryContext = ps.toContext(3);
-		for (int i = 0; i < binaryContext.length; i++ ){
-			System.out.println(Arrays.toString(binaryContext[i]));
-		}	
-
-		ConceptLattice new_cl = new ConceptLattice(binaryContext.length, binaryContext[0].length, binaryContext,true);	
-		new_cl.printLatticeStats();
-		new_cl.printLatticeFull();
-		assertEquals(new_cl.getLattice().size(), 7);
-		assertEquals(new_cl.getAttributesCount(), 21);
-		assertEquals(new_cl.getObjectCount(), 3);
-	}
-
-				// TEST 2 QUERY NEWS
-	public void testQueryNews(){
-				List<List<ParseTreeChunk>> chunks = null;
-				BingWebQueryRunner bq = new BingWebQueryRunner();
-
-				String q = "";
-//				q = "barack obama";
-// 				q = "lady gaga";
- 				q = "angela merkel";
-// 				q = "putin";
-				ArrayList <HitBase> hb = (ArrayList<HitBase>) bq.runSearch(q, 10);
-				int cnt = 0;
-				for (HitBase news: hb){
-					LinkedHashSet<Integer> obj = null;
-					obj = new LinkedHashSet<Integer>();
-					obj.add(cnt);
-					chunks = chunk_maker.formGroupedPhrasesFromChunksForPara(news.getAbstractText());
-					System.out.println(chunks);
-					ps.AddIntent(chunks,obj, 0);
-					cnt++;
-				}
-
-				ps.logStability();
-				System.out.println("LATTICE");
-				ps.printLatticeExtended();
-
-				int [][] binaryContext = ps.toContext(cnt);
-				for (int i = 0; i < binaryContext.length; i++ ){
-					System.out.println(Arrays.toString(binaryContext[i]));
-				}	
-
-				ConceptLattice new_cl = new ConceptLattice(binaryContext.length, binaryContext[0].length, binaryContext,true);	
-				new_cl.printLatticeStats();
-				new_cl.printLatticeFull();
-
-				FcaWriter wr = new FcaWriter();
-				wr.WriteAsCxt("res.cxt", new_cl);
-
-				System.out.println("Extent PS "+ps.conceptList.size());
-				//for (int i = 0; i<ps.conceptList.size();i++){
-				//	System.out.println(ps.conceptList.get(i).extent);
-				//}
-				System.out.println("Extent CL "+new_cl.getLattice().size());
-				//for (int i = 0; i<new_cl.getLattice().size();i++){
-				//	System.out.println(new_cl.getLattice().get(i).getExtent());
-				//}
-	}
-	public void testNews(){
-		List<List<ParseTreeChunk>> chunks = null;
-
-				ArrayList <HitBase>  result = (ArrayList<HitBase>) bqr.runSearch("site:http://news.yahoo.com "  + "merkel", 10);
-				System.out.println(" ResultSize  " + result.size());
-				int ind = -1;
-				String text_result = "";
-				for (int i = 0; i < result.size(); i++ ){
-					System.out.println(result.get(i).getAbstractText());
-					ind = result.get(i).getAbstractText().indexOf(") -");
-					if (ind < 0)
-						ind = result.get(i)//.getDescription()
-								.getAbstractText().indexOf(") \ufffd");
-					if (ind > 0)
-						text_result = result.get(i)//.getDescription()
-								.getAbstractText().substring(ind + 3);
-					else 
-						text_result = result.get(i)//.getDescription()
-								.getAbstractText();
-
-					LinkedHashSet<Integer> obj = null;
-					obj = new LinkedHashSet<Integer>();
-					obj.add(i);
-					chunks = chunk_maker.formGroupedPhrasesFromChunksForPara(text_result);
-					ps.AddIntent(chunks,obj, 0);
-				}
-
-				ps.logStability();
-				ps.printLatticeExtended();
-
-				int [][] binaryContext = ps.toContext(result.size());
-
-				ConceptLattice new_cl = new ConceptLattice(binaryContext.length, binaryContext[0].length, binaryContext,true);	
-
-				FcaWriter wt = new FcaWriter();
-				wt.WriteStatsToTxt("merkel_stats.txt", new_cl, 0);
-				wt.WriteStatsToCvs("merkel_stats.csv", new_cl, ps.conceptList.size());
-				wt.WriteAsCxt("merkel_lattice.cxt", new_cl);
-
-				PatternStructureWriter pswt = new PatternStructureWriter();
-				pswt.WriteStatsToTxt("ps_res.txt", ps);
-
-				System.out.println("Extent PS "+ps.conceptList.size());
-				System.out.println("Extent CL "+new_cl.getLattice().size());
-	}
-
-
-
-
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/pattern_structure/PhrasePatternStructureTest.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/pattern_structure/PhrasePatternStructureTest.java b/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/pattern_structure/PhrasePatternStructureTest.java
deleted file mode 100644
index 7a8cdec..0000000
--- a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/pattern_structure/PhrasePatternStructureTest.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.pattern_structure;
-
-import java.util.*;
-import java.io.*;
-
-import junit.framework.TestCase;
-
-import opennlp.tools.parse_thicket.ParseCorefsBuilder;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.matching.PT2ThicketPhraseBuilder;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.ParseTreeMatcherDeterministic;
-
-
-public class PhrasePatternStructureTest extends TestCase{
-	ParseTreeMatcherDeterministic md = new ParseTreeMatcherDeterministic();
-	ParseCorefsBuilder ptBuilder = ParseCorefsBuilder.getInstance();
-	PT2ThicketPhraseBuilder phraseBuilder = new PT2ThicketPhraseBuilder();
-	
-	public void testLeoTolstoyTest() {
-		PhrasePatternStructure lat = new PhrasePatternStructure(3,1);	
-		
-		String description;
-		ParseThicket pt1;
-		List<List<ParseTreeNode>> phrs1;
-		List<List<ParseTreeChunk>> sent1GrpLst;
-		//Example 1
-		description = "Eh bien, mon prince, so Genoa and Lucca are now no more than family estates of the Bonapartes. No, I warn you, if you don\ufffdt say that this means war, if you still permit yourself to condone all the infamies, all the atrocities, of this Antichrist\ufffdand that\ufffds what I really believe he is\ufffdI will have nothing more to do with you, you are no longer my friend, my faithful slave, as you say. But how do you do, how do you do? I see that I am frightening you. Sit down and tell me all about it.";
-		pt1 = ptBuilder.buildParseThicket(description);	
-		phrs1 = phraseBuilder.buildPT2ptPhrases(pt1);
-		sent1GrpLst = lat.formGroupedPhrasesFromChunksForPara(phrs1);
-		lat.AddIntent(sent1GrpLst, 0);
-		
-		description = "Well, Prince, so Genoa and Lucca are now just family estates of the Buonapartes. But I warn you, if you don't tell me that this means war, if you still try to defend the infamies and horrors perpetrated by that Antichrist\ufffdI really believe he is Antichrist\ufffdI will have nothing more to do with you and you are no longer my friend, no longer my 'faithful slave,' as you call yourself! But how do you do? I see I have frightened you\ufffdsit down and tell me all the news";		
-		pt1 = ptBuilder.buildParseThicket(description);	
-		phrs1 = phraseBuilder.buildPT2ptPhrases(pt1);
-		sent1GrpLst = lat.formGroupedPhrasesFromChunksForPara(phrs1);
-		lat.AddIntent(sent1GrpLst, 0);
-		
-		
-		description = "Well, Prince, Genoa and Lucca are now nothing more than estates taken over by the Buonaparte family.1 No, I give you fair warning. If you won\ufffdt say this means war, if you will allow yourself to condone all the ghastly atrocities perpetrated by that Antichrist \ufffd yes, that\ufffds what I think he is \ufffd I shall disown you. You\ufffdre no friend of mine \ufffd not the \ufffdfaithful slave\ufffd you claim to be . . . But how are you? How are you keeping? I can see I\ufffdm intimidating you. Do sit down and talk to me.";
-		pt1 = ptBuilder.buildParseThicket(description);	
-		phrs1 = phraseBuilder.buildPT2ptPhrases(pt1);
-		sent1GrpLst = lat.formGroupedPhrasesFromChunksForPara(phrs1);
-		lat.AddIntent(sent1GrpLst, 0);
-		
-		description = "Well, prince, Genoa and Lucca are now nothing more than the apanages, than the private property of the Bonaparte family. I warn you that if you do not tell me we are going to have war, if you still allow yourself to condone all the infamies, all the atrocities of this Antichrist - on my word I believe he is Antichrist - that is the end of our acquaintance; you are no longer my friend, you are no longer my faithful slave, as you call yourself. Now, be of good courage, I see I frighten you. Come, sit down and tell me all about it.";
-		pt1 = ptBuilder.buildParseThicket(description);	
-		phrs1 = phraseBuilder.buildPT2ptPhrases(pt1);
-		sent1GrpLst = lat.formGroupedPhrasesFromChunksForPara(phrs1);
-		lat.AddIntent(sent1GrpLst, 0); 
-		
-		lat.printLattice();
-		lat.printLatticeStats();
-	}
-		//Example 2
-	public void testNewsTest() {
-		PhrasePatternStructure lat = new PhrasePatternStructure(3,4);	
-		
-		String description;
-		ParseThicket pt1;
-		List<List<ParseTreeNode>> phrs1;
-		List<List<ParseTreeChunk>> sent1GrpLst;
-		/*List<List<ParseTreeChunk>> res = m.assessRelevance("At least 9 people were killed and 43 others wounded in shootings and bomb attacks, including four car bombings, in central and western Iraq on Thursday, the police said. A car bomb parked near the entrance of the local government compound in Anbar's provincial capital of Ramadi, some 110 km west of Baghdad, detonated in the morning near a convoy of vehicles carrying the provincial governor Qassim al-Fahdawi, a provincial police source told Xinhua on condition of anonymity.",
-				"Officials say a car bomb in northeast Baghdad killed four people, while another bombing at a market in the central part of the capital killed at least two and wounded many more. Security officials also say at least two policemen were killed by a suicide car bomb attack in the northern city of Mosul. No group has claimed responsibility for the attacks, which occurred in both Sunni and Shi'ite neighborhoods."
-				);*/
-		description = "At least 9 people were killed and 43 others wounded in shootings and bomb attacks, including four car bombings, in central and western Iraq on Thursday, the police said. A car bomb parked near the entrance of the local government compound in Anbar's provincial capital of Ramadi, some 110 km west of Baghdad, detonated in the morning near a convoy of vehicles carrying the provincial governor Qassim al-Fahdawi, a provincial police source told Xinhua on condition of anonymity.";
-		pt1 = ptBuilder.buildParseThicket(description);	
-		phrs1 = phraseBuilder.buildPT2ptPhrases(pt1);
-		sent1GrpLst = lat.formGroupedPhrasesFromChunksForPara(phrs1);
-		lat.AddIntent(sent1GrpLst, 0);
-		
-		description = "Officials say a car bomb in northeast Baghdad killed four people, while another bombing at a market in the central part of the capital killed at least two and wounded many more. Security officials also say at least two policemen were killed by a suicide car bomb attack in the northern city of Mosul. No group has claimed responsibility for the attacks, which occurred in both Sunni and Shi'ite neighborhoods.";
-		pt1 = ptBuilder.buildParseThicket(description);	
-		phrs1 = phraseBuilder.buildPT2ptPhrases(pt1);
-		sent1GrpLst = lat.formGroupedPhrasesFromChunksForPara(phrs1);
-		lat.AddIntent(sent1GrpLst, 0);
-		
-		description = "Two car bombs killed at least four people and wounded dozens of others on Monday in one of the bloodiest attacks this year in Dagestan, a turbulent province in Russia's North Caucasus region where armed groups are waging an Islamist insurgency. Car bombs, suicide bombings and firefights are common in Dagestan, at the centre of an insurgency rooted in two post-Soviet wars against separatist rebels in neighbouring Chechnya. Such attacks are rare in other parts of Russia, but in a separate incident in a suburb of Moscow on Monday, security forces killed two suspected militants alleged to have been plotting an attack in the capital and arrested a third suspect after a gunbattle";
-	//	Description = "AMMAN, Jordan (AP) \ufffd A Syrian government official says a car bomb has exploded in a suburb of the capital Damascus, killing three people and wounding several others. The Britain-based Syrian Observatory for Human Rights confirmed the Sunday explosion in Jouber, which it said has seen heavy clashes recently between rebels and the Syrian army. It did not have any immediate word on casualties. It said the blast targeted a police station and was carried out by the Jabhat al-Nusra, a militant group linked to al-Qaida, did not elaborate.";
-	//	Description = "A car bombing in Damascus has killed at least nine security forces, with aid groups urging the evacuation of civilians trapped in the embattled Syrian town of Qusayr. The Syrian Observatory for Human Rights said on Sunday the explosion, in the east of the capital, appeared to have been carried out by the extremist Al-Nusra Front, which is allied to al-Qaeda, although there was no immediate confirmation. In Lebanon, security sources said two rockets fired from Syria landed in a border area, and Israeli war planes could be heard flying low over several parts of the country.";
-		pt1 = ptBuilder.buildParseThicket(description);	
-		phrs1 = phraseBuilder.buildPT2ptPhrases(pt1);
-		sent1GrpLst = lat.formGroupedPhrasesFromChunksForPara(phrs1);
-		lat.AddIntent(sent1GrpLst, 0);
-		
-		
-	
-		lat.printLattice();
-		lat.printConceptByPosition(0);
-		/*
-		Set<Integer> intent = new HashSet<Integer>();
-		intent.add(0);
-		intent.add(1);
-		int gen = lat.GetMaximalConcept(intent,0);
-		System.out.println("generator: " + gen);
-		intent.clear();
-		intent.add(0);
-		intent.add(3);
-		
-		lat.AddIntent(intent, 0);
-		//System.out.println("after first addintent");
-		//lat.printConceptByPosition(0);
-		//lat.printConceptByPosition(1);
-		intent.clear();
-		intent.add(0);
-		intent.add(2);
-		lat.AddIntent(intent, 0);
-
-		intent.clear();
-		intent.add(1);
-		intent.add(2);
-
-		lat.AddIntent(intent, 0);
-		intent.clear();
-		intent.add(tes1);
-		intent.add(2);
-		intent.add(3);
-		lat.AddIntent(intent, 0);
-		lat.printLattice();
-		lat.printLatticeStats();
-		*/
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/rhetoric_structure/RhetoricStructureMarkerTest.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/rhetoric_structure/RhetoricStructureMarkerTest.java b/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/rhetoric_structure/RhetoricStructureMarkerTest.java
deleted file mode 100644
index 4a39a7f..0000000
--- a/opennlp-similarity/src/test/java/opennlp/tools/parse_thicket/rhetoric_structure/RhetoricStructureMarkerTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package opennlp.tools.parse_thicket.rhetoric_structure;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import opennlp.tools.parse_thicket.IGeneralizer;
-import opennlp.tools.parse_thicket.Pair;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.matching.Matcher;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-
-
-public class RhetoricStructureMarkerTest extends TestCase  {
-	
-	private RhetoricStructureMarker rstMarker = new RhetoricStructureMarker();
-	private Matcher matcher = new Matcher();
-	
-	public  RhetoricStructureMarkerTest(){
-
-		
-	}
-
-	public void testRSTmarker(){
-		String text1 = "As a US citizen living abroad, I am concerned about the health reform regulation of 2014. "+
-				"I do not want to wait till I am sick to buy health insurance. "+
-				"Yet I am afraid I will end up being requested to pay the tax. "+
-				"Although I live abroad, I am worried about having to pay a fine for being reported as not having health insurance coverage. ";
-
-		String text2 =	"People are worried about paying a fine for not carrying health insurance coverage, having been informed by IRS about new regulations. "+
-				"Yet hardly anyone is expected to pay the tax, when the health reform law takes full effect in 2014. "+
-				"The individual mandate confirms that people don\ufffdt wait until they are sick to buy health insurance. "+
-				"People are exempt from health insurance fine as long as they report they make too little money, or US citizens living abroad.";
-		ParseThicket pt = matcher.buildParseThicketFromTextWithRST(text1);
-		for(List<ParseTreeNode> sent: pt.getNodesThicket()){
-			List<Pair<String, Integer[]>> res = rstMarker .extractRSTrelationInSentenceGetBoundarySpan(sent);
-			System.out.println(rstMarker.markerToString(res));
-		}
-		
-		//assertTrue(res.size()>1);
-		
-		
-		pt = matcher.buildParseThicketFromTextWithRST(text2);
-		for(List<ParseTreeNode> sent: pt.getNodesThicket()){
-			List<Pair<String, Integer[]>> res = rstMarker .extractRSTrelationInSentenceGetBoundarySpan(sent);
-			System.out.println(rstMarker.markerToString(res));
-		}
-		
-	}
-
-	public void testLocal(){
-		ParseTreeNode[] sent = 	
-		new ParseTreeNode[]{new ParseTreeNode("he","prn"), new ParseTreeNode("was","vbz"), new ParseTreeNode("more","jj"), 
-				new ParseTreeNode(",",","),  new ParseTreeNode("than",","), new ParseTreeNode("little","jj"), new ParseTreeNode("boy","nn"),
-				new ParseTreeNode(",",","), new ParseTreeNode("however","*"), new ParseTreeNode(",",","),
-				new ParseTreeNode("he","prp"), new ParseTreeNode("was","vbz"), new ParseTreeNode("adult","jj")
-		};
-		
-		List<Pair<String, Integer[]>> res = rstMarker.extractRSTrelationInSentenceGetBoundarySpan(Arrays.asList(sent));
-		assertTrue(res.size()>2);
-		assertTrue(res.get(0).getFirst().startsWith("contrast"));
-		System.out.println(rstMarker.markerToString(res));
-	}
-}


[08/11] opennlp-sandbox git commit: removed stanford nlp refs

Posted by bg...@apache.org.
http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/Matcher.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/Matcher.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/Matcher.java
deleted file mode 100644
index 8540ff2..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/Matcher.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.matching;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import opennlp.tools.parse_thicket.IGeneralizer;
-import opennlp.tools.parse_thicket.ParseCorefBuilderWithNER;
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-
-public class Matcher implements IGeneralizer<List<List<ParseTreeNode>>>{
-	public static String resourceDir = new File(".").getAbsolutePath().replace("/.", "") + "/src/test/resources";
-	VerbNetProcessor proc = VerbNetProcessor.getInstance(resourceDir);
-
-	protected PhraseGroupGeneralizer pgGen = new PhraseGroupGeneralizer();
-
-	protected static ParseCorefBuilderWithNER ptBuilder = null;
-	
-	static {
-		synchronized (Matcher.class) {
-			ptBuilder = ParseCorefBuilderWithNER.getInstance();
-		}
-	}
-	
-	
-	PT2ThicketPhraseBuilder phraseBuilder = new PT2ThicketPhraseBuilder();
-	protected Map<String, ParseThicket> parseThicketHash = new HashMap<String, ParseThicket>();
-
-
-	/**	   * The key function of similarity component which takes two portions of text
-	 * and does similarity assessment by finding the set of all maximum common
-	 * subtrees of the set of parse trees for each portion of text
-	 * 
-	 * @param input
-	 *          text 1
-	 * @param input
-	 *          text 2
-	 * @return the matching results structure, which includes the similarity score
-	 */
-	private static Matcher instance;
-
-	public synchronized static Matcher getInstance() {
-		if (instance == null)
-			instance = new Matcher();
-
-		return instance;
-	}
-
-
-	public List<List<ParseTreeChunk>> assessRelevance(String para1, String para2) {
-		// first build PTs for each text
-		ParseThicket pt1 = ptBuilder.buildParseThicket(para1);
-		ParseThicket pt2 = ptBuilder.buildParseThicket(para2);
-		// then build phrases and rst arcs
-		List<List<ParseTreeNode>> phrs1 = phraseBuilder.buildPT2ptPhrases(pt1);
-		List<List<ParseTreeNode>> phrs2 = phraseBuilder.buildPT2ptPhrases(pt2);
-		// group phrases by type
-		List<List<ParseTreeChunk>> sent1GrpLst = formGroupedPhrasesFromChunksForPara(phrs1), 
-				sent2GrpLst = formGroupedPhrasesFromChunksForPara(phrs2);
-
-
-		List<List<ParseTreeChunk>> res = pgGen.generalize(sent1GrpLst, sent2GrpLst);
-
-		return res;
-
-	}
-
-
-	public List<List<ParseTreeChunk>> assessRelevance(List<List<ParseTreeChunk>> para0, String para2) {
-		// first build PTs for each text
-
-		ParseThicket pt2 = ptBuilder.buildParseThicket(para2);
-		// then build phrases and rst arcs
-		List<List<ParseTreeNode>> phrs2 = phraseBuilder.buildPT2ptPhrases(pt2);
-		// group phrases by type
-		List<List<ParseTreeChunk>> sent2GrpLst = formGroupedPhrasesFromChunksForPara(phrs2);
-
-
-		List<List<ParseTreeChunk>> res = pgGen.generalize(para0, sent2GrpLst);
-
-		return res;
-
-	}
-
-	public GeneralizationResult  assessRelevanceG(List<List<ParseTreeChunk>> para0, String para2) {
-		List<List<ParseTreeChunk>> res = assessRelevance( para0, para2);
-		return new GeneralizationResult(res);
-	}
-
-	public GeneralizationResult  assessRelevanceG(String para0, String para2) {
-		List<List<ParseTreeChunk>> res = assessRelevance( para0, para2);
-		return new GeneralizationResult(res);
-	}
-
-	public GeneralizationResult  assessRelevanceG(GeneralizationResult  para0, String para2) {
-		List<List<ParseTreeChunk>> res = assessRelevance( para0.getGen(), para2);
-		return new GeneralizationResult(res);
-	}
-
-	public List<List<ParseTreeChunk>> assessRelevanceCache(String para1, String para2) {
-		// first build PTs for each text
-
-		ParseThicket pt1 = parseThicketHash.get(para1);
-		if (pt1==null){
-			pt1=	ptBuilder.buildParseThicket(para1);
-			parseThicketHash.put(para1, pt1);
-		}
-
-		ParseThicket pt2 = parseThicketHash.get(para2);
-		if (pt2==null){
-			pt2=	ptBuilder.buildParseThicket(para2);
-			parseThicketHash.put(para2, pt2);
-		}
-
-		// then build phrases and rst arcs
-		List<List<ParseTreeNode>> phrs1 = phraseBuilder.buildPT2ptPhrases(pt1);
-		List<List<ParseTreeNode>> phrs2 = phraseBuilder.buildPT2ptPhrases(pt2);
-		// group phrases by type
-		List<List<ParseTreeChunk>> sent1GrpLst = formGroupedPhrasesFromChunksForPara(phrs1), 
-				sent2GrpLst = formGroupedPhrasesFromChunksForPara(phrs2);
-
-
-		List<List<ParseTreeChunk>> res = pgGen.generalize(sent1GrpLst, sent2GrpLst);
-		return res;
-
-	}
-
-	public List<List<ParseTreeChunk>> generalize(List<List<ParseTreeNode>> phrs1,
-			List<List<ParseTreeNode>> phrs2) {
-		// group phrases by type
-		List<List<ParseTreeChunk>> sent1GrpLst = formGroupedPhrasesFromChunksForPara(phrs1), 
-				sent2GrpLst = formGroupedPhrasesFromChunksForPara(phrs2);
-
-
-		List<List<ParseTreeChunk>> res = pgGen.generalize(sent1GrpLst, sent2GrpLst);
-		return res;
-	}
-	protected List<List<ParseTreeChunk>> formGroupedPhrasesFromChunksForPara(
-			List<List<ParseTreeNode>> phrs) {
-		List<List<ParseTreeChunk>> results = new ArrayList<List<ParseTreeChunk>>();
-		List<ParseTreeChunk> nps = new ArrayList<ParseTreeChunk>(), vps = new ArrayList<ParseTreeChunk>(), 
-				pps = new ArrayList<ParseTreeChunk>();
-		for(List<ParseTreeNode> ps:phrs){
-			ParseTreeChunk ch = new ParseTreeChunk(ps);
-			String ptype = ps.get(0).getPhraseType();
-			if (ptype.equals("NP")){
-				nps.add(ch);
-			} else if (ptype.equals("VP")){
-				vps.add(ch);
-			} else if (ptype.equals("PP")){
-				pps.add(ch);
-			}
-		}
-		results.add(nps); results.add(vps); results.add(pps);
-		return results;
-	}
-
-	private ParseTreeChunk convertNodeListIntoChunk(List<ParseTreeNode> ps) {
-		List<String> lemmas = new ArrayList<String>(),  poss = new ArrayList<String>();
-		for(ParseTreeNode n: ps){
-			lemmas.add(n.getWord());
-			poss.add(n.getPos());
-		}
-		ParseTreeChunk ch = new ParseTreeChunk(lemmas, poss, 0, 0);
-		ch.setMainPOS(ps.get(0).getPhraseType());
-		ch.setParseTreeNodes(ps);
-		return ch;
-	}
-
-	// this function is the main entry point into the PT builder if rst arcs are required
-	public ParseThicket buildParseThicketFromTextWithRST(String para){
-		ParseThicket pt = ptBuilder.buildParseThicket(para);
-		List<List<ParseTreeNode>> phrs = phraseBuilder.buildPT2ptPhrases(pt);
-		pt.setPhrases(phrs);
-		return pt;	
-	}
-
-	// verify that all sections (NP, PRP and VP are present
-	public boolean isCoveredByTemplate(List<List<ParseTreeChunk>> template, List<List<ParseTreeChunk>> sampleGen){
-		try {
-			if (template.size() == sampleGen.size() && sampleGen.get(0).size()>0  &&  sampleGen.get(1).size()>0  )
-				//template.get(0).get(0).getParseTreeNodes().size() == template.get(0).get(0).size())
-				return true;
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-
-		return false;
-	}
-
-	@Override
-	public List<List<List<ParseTreeNode>>> generalize(Object o1, Object o2) {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-
-	public static void main(String[] args){
-		Matcher m = new Matcher();
-
-		m.buildParseThicketFromTextWithRST("Mary Poppins got her identification 8765");
-
-		List<List<ParseTreeChunk>> template = m.assessRelevance("John Doe send his California driver license 1234567", 
-				"John Travolta send her california license 4567456"
-				//"New York hid her US social number 666-66-6666");
-				);
-
-		System.out.println(template+"\n");
-		//in		
-		List<List<ParseTreeChunk>> res = m.assessRelevance(template, "Mary Jones send her Canada prisoner id number 666666666");
-		System.out.println(res+ " => "+
-				m.isCoveredByTemplate(template, res));
-		res = m.assessRelevance(template, "Mary Stewart hid her Mexico cook id number 666666666");
-		System.out.println(res + " => "+
-				m.isCoveredByTemplate(template, res));
-		res = m.assessRelevance(template, "Robin mentioned her Peru fisher id  2345");
-		System.out.println(res+ " => "+
-				m.isCoveredByTemplate(template, res));
-		res = m.assessRelevance(template, "Yesterday Peter Doe hid his Bolivia set id number 666666666");
-		System.out.println(res + " => "+
-				m.isCoveredByTemplate(template, res));
-		res = m.assessRelevance(template, "Robin mentioned her best Peru fisher man id  2345");
-		System.out.println(res+ " => "+
-				m.isCoveredByTemplate(template, res));
-		//out		
-		res = m.assessRelevance(template, "Spain hid her Canada driver id number 666666666");
-		System.out.println(res+ " => "+
-				m.isCoveredByTemplate(template, res));
-		res = m.assessRelevance(template, "John Poppins hid her  prisoner id  666666666");
-		System.out.println(res+ " => "+
-				m.isCoveredByTemplate(template, res));
-
-		res = m.assessRelevance(template, "Microsoft announced its Windows Azure release number 666666666");
-		System.out.println(res+ " => "+
-				m.isCoveredByTemplate(template, res));
-		res = m.assessRelevance(template, "John Poppins hid her Google id  666666666");
-		System.out.println(res+ " => "+
-				m.isCoveredByTemplate(template, res));
-	}
-}
-

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/MyMatcher.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/MyMatcher.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/MyMatcher.java
deleted file mode 100644
index 97ab041..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/MyMatcher.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package opennlp.tools.parse_thicket.matching;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.log4j.Logger;
-import org.deeplearning4j.berkeley.Pair;
-
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-import opennlp.tools.textsimilarity.ParseTreeChunkListScorer;
-import opennlp.tools.textsimilarity.TextProcessor;
-
-import org.apache.log4j.Level;
-import org.apache.log4j.LogManager;
-
-import edu.stanford.nlp.util.StringUtils;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.util.*;
-
-/**
- * Created by sanviswa on 10/29/16.
- */
-public class MyMatcher {
-
-    Matcher m = new Matcher();
-
-
-    public static void main(String[] args) throws Exception
-    {
-
-        MyMatcher myMatcher = new MyMatcher();
-        myMatcher.runTest(myMatcher.readFile());
-    }
-
-    public List<String> readFile() throws Exception
-    {
-     //   BufferedReader br = new BufferedReader(new FileReader(this.getClass().getResource("/fidelity.txt").getPath()));
-        List<String> al = new ArrayList<String>();
-     /*   String line = null;
-        while ((line = br.readLine()) != null) {
-
-            al.add(line);
-        }
-        br.close(); */
-    	String content = FileUtils.readFileToString(new File("/Users/bgalitsky/Documents/relevance-based-on-parse-trees/fidelity.txt"));
-        String[] als = content.split("\n");
-    	al = Arrays.asList(als);
-    	return al;
-    }
-
-    public void runTest(List<String> lst) throws Exception
-    {
-        System.out.println("Enter text: ");
-        Scanner scanner = new Scanner(System.in);
-        String queryStr = scanner.nextLine();
-        if("quit".equals(queryStr))
-        {
-            return;
-        }
-        else
-        {
-            checkLinguisticScores(queryStr,lst);
-            runTest(lst);
-        }
-
-    }
-
-    public void checkLinguisticScores(String q, List<String> aList) throws Exception
-    {   // convert query into list of tokens
-    	List<String> queryTokens = TextProcessor.fastTokenize(q.toLowerCase(), false);
-    	
-    	List<String> shortListedClasses = new ArrayList<String>();
-    	for (String ans: aList) {
-    		// convert answer class into the list of tokens
-    		List<String> classTokens = TextProcessor.fastTokenize(ans.toLowerCase(), false);
-    		// do intersection of tokens
-    		classTokens.retainAll(queryTokens);
-    		int tokenScore = 0;
-    		// count significant tokens / no stopwords
-    		for(String word: classTokens){
-    			if (word.length()>2 && StringUtils.isAlpha(word))
-    				tokenScore++;
-    		}
-    		if (tokenScore>1)
-    			 shortListedClasses.add(ans);
-    	}
-    	// do it again with lower thresh, if too few results
-    	if (shortListedClasses.size()<5)
-    		for (String ans: aList) {
-        		List<String> classTokens = TextProcessor.fastTokenize(ans.toLowerCase(), false);
-        		classTokens.retainAll(queryTokens);
-        		int tokenScore = 0;
-        		for(String word: classTokens){
-        			if (word.length()>2 && StringUtils.isAlpha(word))
-        				tokenScore++;
-        		}
-        		if (tokenScore>=1)
-        			 shortListedClasses.add(ans);
-        	}
-    	// if no overlap give up of do the full list 
-    	if (shortListedClasses.isEmpty())
-    		shortListedClasses = aList;
-    		
-        ParseTreeChunkListScorer parseTreeChunkListScorer = new ParseTreeChunkListScorer();
-
-        ArrayList<Pair<String,Double>> pairList = new ArrayList<Pair<String,Double>>();
-
-        for (String ans: shortListedClasses) {
-
-            List<List<ParseTreeChunk>> res = m.assessRelevanceCache(q, ans);
-            double score1 = parseTreeChunkListScorer.getParseTreeChunkListScoreAggregPhraseType(res);
-            Pair<String,Double> p = new Pair<String, Double>(ans, score1);
-            pairList.add(p);
-        }
-
-        Collections.sort(pairList, Comparator.comparing(p -> p.getSecond()));
-
-      System.out.println("***** '" + q + "' ******* falls into the following categories: ");
-        for (Pair<String, Double> score: pairList) {
-            System.out.println("        " + score.getFirst() + ": " + score.getSecond());
-        }
-
-
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/PT2ThicketPhraseBuilder.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/PT2ThicketPhraseBuilder.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/PT2ThicketPhraseBuilder.java
deleted file mode 100644
index 5f07593..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/PT2ThicketPhraseBuilder.java
+++ /dev/null
@@ -1,477 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.matching;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.logging.Logger;
-
-import opennlp.tools.parse_thicket.ParseThicket;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.parse_thicket.WordWordInterSentenceRelationArc;
-import opennlp.tools.parse_thicket.rhetoric_structure.RhetoricStructureArcsBuilder;
-import edu.stanford.nlp.trees.Tree;
-
-public class PT2ThicketPhraseBuilder {
-
-	RhetoricStructureArcsBuilder rstBuilder = new RhetoricStructureArcsBuilder();
-	private static Logger log = Logger
-		      .getLogger("opennlp.tools.parse_thicket.matching.PT2ThicketPhraseBuilder");
-
-	/*
-	 * Building phrases takes a Parse Thicket and forms phrases for each sentence individually
-	 * Then based on built phrases and obtained arcs, it builds arcs for RST
-	 * Finally, based on all formed arcs, it extends phrases with thicket phrases
-	 */
-
-	public List<List<ParseTreeNode>> buildPT2ptPhrases(ParseThicket pt ) {
-		List<List<ParseTreeNode>> phrasesAllSent = new ArrayList<List<ParseTreeNode>> ();
-		if (pt ==null) // parsing failed, return empty
-			return phrasesAllSent;
-		Map<Integer, List<List<ParseTreeNode>>> sentNumPhrases = new HashMap<Integer, List<List<ParseTreeNode>>>();
-		// build regular phrases
-		for(int nSent=0; nSent<pt.getSentences().size(); nSent++){
-			List<ParseTreeNode> sentence = pt.getNodesThicket().get(nSent);
-			Tree ptree = pt.getSentences().get(nSent);
-			//ptree.pennPrint();
-			List<List<ParseTreeNode>> phrases = buildPT2ptPhrasesForASentence(ptree, sentence);
-			log.info(phrases.toString());
-			phrasesAllSent.addAll(phrases);
-			sentNumPhrases.put(nSent, phrases);
-
-		}
-
-		// discover and add RST arcs
-		List<WordWordInterSentenceRelationArc> arcsRST =
-				rstBuilder.buildRSTArcsFromMarkersAndCorefs(pt.getArcs(), sentNumPhrases, pt);
-
-		List<WordWordInterSentenceRelationArc> arcs = pt.getArcs();
-		arcs.addAll(arcsRST);
-		pt.setArcs(arcs);
-		
-		if (pt.getArcs().size()>20){
-			log.info(pt.toString());
-		}
-
-		List<List<ParseTreeNode>> expandedPhrases = expandTowardsThicketPhrases(phrasesAllSent, pt.getArcs(), sentNumPhrases, pt);
-		return expandedPhrases;
-	}
-
-	/* Take all phrases, all arcs and merge phrases into Thicket phrases.
-	 * Then add the set of generalized (Thicket) phrases to the input set of phrases
-	 * phrasesAllSent - list of lists of phrases for each sentence
-	 * sentNumPhrase - map , gives for each sentence id, the above list
-	 * arcs - arcs formed so far
-	 * pt - the built Parse Thicket
-	 */
-	protected List<List<ParseTreeNode>> expandTowardsThicketPhrases(
-			List<List<ParseTreeNode>> phrasesAllSent,
-			List<WordWordInterSentenceRelationArc> arcs,
-			Map<Integer, List<List<ParseTreeNode>>> sentNumPhrases, 
-			ParseThicket pt ) {
-		List<List<ParseTreeNode>> thicketPhrasesAllSent = new ArrayList<List<ParseTreeNode>>();
-
-
-		for(int nSent=0; nSent<pt.getSentences().size(); nSent++){
-			for(int mSent=nSent+1; mSent<pt.getSentences().size(); mSent++){
-				// for given arc, find phrases connected by this arc and add to the list of phrases
-				for(WordWordInterSentenceRelationArc arc: arcs){
-					List<List<ParseTreeNode>> phrasesFrom = sentNumPhrases.get(nSent);
-					List<List<ParseTreeNode>> phrasesTo = sentNumPhrases.get(mSent);
-					int fromIndex = arc.getCodeFrom().getFirst();
-					int toIndex = arc.getCodeTo().getFirst();
-					if (nSent==fromIndex && mSent==toIndex){
-						int sentPosFrom = arc.getCodeFrom().getSecond();
-						int sentPosTo = arc.getCodeTo().getSecond();
-						// for the given arc arc, find phrases which are connected by it
-						List<ParseTreeNode> lFromFound = null, lToFound = null;
-						for(List<ParseTreeNode> lFrom: phrasesFrom){
-							if (lToFound!=null)
-								break;
-							for(ParseTreeNode lFromP: lFrom){
-								if (lFromP.getId()!=null &&  lFromP.getId()==sentPosFrom){
-									lFromFound = lFrom;
-									break;
-								}
-							}
-						}
-						for(List<ParseTreeNode> lTo: phrasesTo){
-							if (lToFound!=null)
-								break;
-							for(ParseTreeNode lToP: lTo)
-								if (lToP.getId()!=null && lToP.getId()==sentPosTo){
-									lToFound = lTo;
-									break;
-								}
-						}
-						// obtain a thicket phrase and add it to the list
-						if (lFromFound!=null && lToFound!=null){
-
-							if (identicalSubPhrase(lFromFound, lToFound))
-								continue;
-							List<ParseTreeNode> appended = append(lFromFound, lToFound);
-							if (thicketPhrasesAllSent.contains(appended))
-								continue;
-							log.info("rel: "+arc);
-							log.info("From "+lFromFound);
-							System.out.println("TO "+lToFound);
-							thicketPhrasesAllSent.add(append(lFromFound, lToFound));	
-							//break;
-						}
-					}
-
-				}
-			}
-		}
-		phrasesAllSent.addAll(thicketPhrasesAllSent);
-		return phrasesAllSent;
-	}
-
-	/* check that one phrase is subphrase of another by lemma (ignoring other node properties)
-	 * returns true if not found different word
-	 */
-
-	private boolean identicalSubPhrase(List<ParseTreeNode> lFromFound,
-			List<ParseTreeNode> lToFound) {
-		for(int pos=0; pos<lFromFound.size()&& pos<lToFound.size(); pos++){
-			if (!lFromFound.get(pos).getWord().equals(lToFound.get(pos).getWord()))
-				return false;
-		}
-		return true;
-	}
-
-	private List<ParseTreeNode> append(List<ParseTreeNode> lFromFound,
-			List<ParseTreeNode> lToFound) {
-		List<ParseTreeNode> appendList = new ArrayList<ParseTreeNode>();
-		if (lFromFound.get(0).getPhraseType().equals(lToFound.get(0).getPhraseType())){
-			appendList.addAll(lFromFound);
-			appendList.addAll(lToFound);
-		} else {
-			String pType = lFromFound.get(0).getPhraseType();
-			appendList.addAll(lFromFound);
-			for(ParseTreeNode p: lToFound){
-				p.setPhraseType(pType);
-				appendList.add(p);
-			}
-		}
-		return appendList;
-	}
-
-
-	public List<List<ParseTreeNode>> buildPT2ptPhrasesForASentence(Tree tree, List<ParseTreeNode> sentence ) {
-		List<List<ParseTreeNode>> phrases;
-
-		phrases = new ArrayList<List<ParseTreeNode>>();		
-		navigateR(tree, sentence, phrases);
-
-		return phrases;
-	}
-
-
-
-
-	/*
-	 * 
-[[<1>NP'Iran':NNP], [<2>VP'refuses':VBZ, <3>VP'to':TO, <4>VP'accept':VB, <5>VP'the':DT, <6>VP'UN':NNP, 
-<7>VP'proposal':NN, <8>VP'to':TO, <9>VP'end':VB, <10>VP'its':PRP$, <11>VP'dispute':NN, <12>VP'over':IN, <13>VP'its':PRP$,
- <14>VP'work':NN, <15>VP'on':IN, <16>VP'nuclear':JJ, <17>VP'weapons':NNS], [<3>VP'to':TO, <4>VP'accept':VB, <5>VP'the':DT,
-  <6>VP'UN':NNP, <7>VP'proposal':NN, <8>VP'to':TO, <9>VP'end':VB, <10>VP'its':PRP$, <11>VP'dispute':NN, <12>VP'over':IN, 
-  <13>VP'its':PRP$, <14>VP'work':NN, <15>VP'on':IN, <16>VP'nuclear':JJ, <17>VP'weapons':NNS], [<4>VP'accept':VB, 
-  <5>VP'the':DT, <6>VP'UN':NNP, <7>VP'proposal':NN, <8>VP'to':TO, <9>VP'end':VB, <10>VP'its':PRP$, <11>VP'dispute':NN, 
-  <12>VP'over':IN, <13>VP'its':PRP$, <14>VP'work':NN, <15>VP'on':IN, <16>VP'nuclear':JJ, <17>VP'weapons':NNS], 
-  [<5>NP'the':DT, <6>NP'UN':NNP, <7>NP'proposal':NN], [<8>VP'to':TO, <9>VP'end':VB, <10>VP'its':PRP$, <11>VP'dispute':NN, 
-  <12>VP'over':IN, <13>VP'its':PRP$, <14>VP'work':NN, <15>VP'on':IN, <16>VP'nuclear':JJ, <17>VP'weapons':NNS], 
-  [<9>VP'end':VB, <10>VP'its':PRP$, <11>VP'dispute':NN, <12>VP'over':IN, <13>VP'its':PRP$, <14>VP'work':NN, <15>VP'on':IN,
-   <16>VP'nuclear':JJ, <17>VP'weapons':NNS], [<10>NP'its':PRP$, <11>NP'dispute':NN], [<12>PP'over':IN, <13>PP'its':PRP$, 
-   <14>PP'work':NN, <15>PP'on':IN, <16>PP'nuclear':JJ, <17>PP'weapons':NNS], [<13>NP'its':PRP$, <14>NP'work':NN, 
-   <15>NP'on':IN, <16>NP'nuclear':JJ, <17>NP'weapons':NNS], [<13>NP'its':PRP$, <14>NP'work':NN],
- [<15>PP'on':IN, <16>PP'nuclear':JJ, <17>PP'weapons':NNS], [<16>NP'nuclear':JJ, <17>NP'weapons':NNS]]
-	 *  
-	 * 
-	 */
-	private void navigateR(Tree t, List<ParseTreeNode> sentence,
-			List<List<ParseTreeNode>> phrases) {
-		if (!t.isPreTerminal()) {
-			if (t.label() != null) {
-				if (t.value() != null) {
-					// if ROOT or S, returns empty
-					List<ParseTreeNode> nodes = parsePhrase(t.label().value(), t.toString());
-					nodes = assignIndexToNodes(nodes, sentence);
-					if (!nodes.isEmpty())
-						phrases.add(nodes);
-					if (nodes.size()>0 && nodes.get(0).getId()==null){
-						if (nodes.size()>1 && nodes.get(1)!=null && nodes.get(1).getId()!=null){
-							try {
-								ParseTreeNode n = nodes.get(0);
-								n.setId(nodes.get(1).getId()-1);
-								nodes.set(0, n);
-							} catch (Exception e) {
-								e.printStackTrace();
-							}
-						} else {
-							log.severe("Failed alignment:"+nodes);
-						}
-					}
-				}
-			}
-			Tree[] kids = t.children();
-			if (kids != null) {
-				for (Tree kid : kids) {
-					navigateR(kid,sentence,  phrases);
-				}
-			}
-			return ;
-		}
-	}
-
-
-	/* alignment of phrases extracted from tree against the sentence as a list of lemma-pos */
-
-	private List<ParseTreeNode> assignIndexToNodes(List<ParseTreeNode> node,
-			List<ParseTreeNode> sentence) {
-		if (sentence==null || sentence.size()<1)
-			return node;
-
-		List<ParseTreeNode> results = new ArrayList<ParseTreeNode>();
-
-		for(int i= 0; i<node.size(); i++){
-			String thisLemma = node.get(i).getWord();			
-			String thisPOS = node.get(i).getPos();
-			String nextLemma = null, nextPOS = null;
-
-			if (i+1<node.size()){
-				nextLemma = node.get(i+1).getWord();
-				nextPOS = node.get(i+1).getPos();
-			}
-			Boolean matchOccurred = false;
-			int j = 0;
-			for(j= 0; j<sentence.size(); j++){
-				if (!(sentence.get(j).getWord().equals(thisLemma) && (sentence.get(j).getPos().equals(thisPOS))))
-					continue;
-				if (i+1<node.size() && j+1 < sentence.size() && nextLemma!=null 
-						&& ! (sentence.get(j+1).getWord().equals(nextLemma)
-								&& sentence.get(j+1).getPos().equals(nextPOS)))
-					continue;
-				matchOccurred = true;
-				break;
-			}
-
-			ParseTreeNode n = node.get(i);
-			if (matchOccurred){
-				n.setId(sentence.get(j).getId());
-				n.setNe(sentence.get(j).getNe());
-				n.setAttributes(sentence.get(j).getAttributes());
-			}
-			results.add(n);
-		}
-
-		try {
-			if (results!=null && results.size()>1 && results.get(0)!=null && results.get(0).getId()!=null &&
-					results.get(1) !=null && results.get(1).getId()!=null &&  results.get(1).getId()>0){
-				ParseTreeNode p = results.get(0);
-				p.setId(results.get(1).getId()-1);
-				results.set(0, p);
-			}
-		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		return results;
-	}
-
-
-	/*
-	 * [[NP'':], ['(NNP':Iran)], [VP'':], ['(VBZ':refuses)], [VP'':], ['(TO':to)], [VP'':], ['(VB':accept)], [NP'':], 
-	 * ['(DT':the)], ['(NNP':UN)], ['(NN':proposal)], [VP'':], ['(TO':to)], [VP'':], ['(VB':end)], [NP'':], 
-	 * ['(PRP$':its)], ['(NN':dispute)], [PP'':], ['(IN':over)], [NP'':], [NP'':],
-	 *  ['(PRP$':its)], ['(NN':work)], [PP'':], ['(IN':on)], [NP'':], ['(JJ':nuclear)], ['(NNS':weapons)], ['(.':.)]]
-	 * 
-	 * [[NP'':], ['(NNP':Iran)],
- [VP'':], ['(VBZ':refuses)], 
- [VP'':], ['(TO':to)], 
- [VP'':], ['(VB':accept)], 
-    [NP'':], ['(DT':the)], ['(NNP':UN)], ['(NN':proposal)], 
-    [VP'':], ['(TO':to)], [VP'':], ['(VB':end)], 
-    [NP'':], ['(PRP$':its)], ['(NN':dispute)], 
-        [PP'':], ['(IN':over)], 
-            [NP'':], [NP'':], ['(PRP$':its)], ['(NN':work)], 
-              [PP'':], ['(IN':on)], 
-                [NP'':], ['(JJ':nuclear)], ['(NNS':weapons)], 
-['(.':.)]]
-	 */
-	private void navigateR1(Tree t, List<ParseTreeNode> sentence, int l,
-			List<List<ParseTreeNode>> phrases) {
-		if (t.isPreTerminal()) {
-			if (t.label() != null) {
-				List<ParseTreeNode> node = parsePhrase(t.toString());	
-				if (!node.isEmpty())
-					phrases.add(node);
-			}
-			return;
-		} else {
-			if (t.label() != null) {
-				if (t.value() != null) {
-					List<ParseTreeNode> node = parsePhrase(t.label().value());		 
-					if (!node.isEmpty())
-						phrases.add(node);
-				}
-			}
-			Tree[] kids = t.children();
-			if (kids != null) {
-				for (Tree kid : kids) {
-					navigateR1(kid,sentence,  l, phrases);
-				}
-			}
-			return ;
-		}
-	}
-
-
-	protected List<ParseTreeNode> parsePhrase(String value) {
-		List<ParseTreeNode> nlist = new ArrayList<ParseTreeNode>(); 
-		if (value==null)
-			return nlist;
-		if (value.equals("ROOT")|| value.equals("S")) 
-			return nlist;
-
-		String[] pos_value = value.split(" ");
-		ParseTreeNode node = null;
-		if (value.endsWith("P")){
-			node = new ParseTreeNode("", ""); 
-			node.setPhraseType(value);
-		} else 
-			if (pos_value != null && pos_value.length==2){
-				node = new ParseTreeNode(pos_value[0], pos_value[1]);
-			} else {
-				node = new ParseTreeNode(value, "");
-			}
-
-		nlist.add(node);
-		return nlist;
-	}
-
-	private ParseTreeNode parsePhraseNode(String value) {
-
-		if (value.equals("ROOT")|| value.equals("S")) 
-			return null;
-
-		String[] pos_value = value.split(" ");
-		ParseTreeNode node = null;
-		if (value.endsWith("P")){
-			node = new ParseTreeNode("", ""); 
-			node.setPhraseType(value);
-		} else 
-			if (pos_value != null && pos_value.length==2){
-				node = new ParseTreeNode(pos_value[0], pos_value[1]);
-			} else {
-				node = new ParseTreeNode(value, "");
-			}			
-
-		return node;
-	}
-
-	public List<ParseTreeNode> parsePhrase(String value, String fullDump) {
-
-		List<ParseTreeNode> nlist = new ArrayList<ParseTreeNode>(); 
-		if (value.equals("S")|| value.equals("ROOT"))
-			return nlist;
-		// first phrase type normalization
-		fullDump = fullDump.replace("NP-TMP", "NP");
-		
-		String flattened = fullDump.replace("(ROOT","").replace("(NP","").replace("(VP","").replace("(PP","")
-				.replace("(ADVP","").replace("(UCP","").replace("(ADJP","").replace("(SBAR","").
-				replace("(PRT", "").replace("(WHNP","").
-				replace("))))",")").replace(")))",")").replace("))",")")
-				.replace("   ", " ").replace("  ", " ").replace("(S","")
-				.replace(") (","#").replace(")  (", "#");
-		String[] flattenedArr =  flattened.split("#");
-		for(String term: flattenedArr){
-			term = term.replace('(', ' ').replace(')',' ').trim();
-			if (term!=null && term.split(" ")!=null && term.split(" ").length==2){
-				ParseTreeNode node = new ParseTreeNode(term.split(" ")[1],term.split(" ")[0] );
-				node.setPhraseType(value);
-				nlist.add(node);
-			}
-		}
-		return nlist;
-	}
-
-	/* recursion example */
-
-	private StringBuilder toStringBuilder(StringBuilder sb, Tree t) {
-		if (t.isLeaf()) {
-			if (t.label() != null) {
-				sb.append(t.label().value());
-			}
-			return sb;
-		} else {
-			sb.append('(');
-			if (t.label() != null) {
-				if (t.value() != null) {
-					sb.append(t.label().value());
-				}
-			}
-			Tree[] kids = t.children();
-			if (kids != null) {
-				for (Tree kid : kids) {
-					sb.append(' ');
-					toStringBuilder(sb, kid);
-				}
-			}
-			return sb.append(')');
-		}
-	}
-
-	public static void main(String[] args){
-		Matcher matcher = new Matcher();
-		String para = 
-				"Last Wednesday, world powers reached agreement with Iran on limiting Iranian nuclear activity in return for the lifting of sanctions. "
-		/*+
-						"The Israeli Prime Minister called the deal an historic mistake which would only make it easier for Iran to back its proxies in the Middle East. "+
-						"That position may have hardened after Iran's supreme leader Ayatollah Ali Khamenei said his country would continue its support for the people of Palestine after the deal. "+
-						"Saudi Arabia has officially said it supports the deal, although it is also thought to have similar concerns to Israel that the agreement legitimises Iran. "
-						*/
-						;
-		matcher.buildParseThicketFromTextWithRST(para);
-		
-		
-		PT2ThicketPhraseBuilder phraseBuilder = new PT2ThicketPhraseBuilder();
-		String line = "(NP (NNP Iran)) (VP (VBZ refuses) (S (VP (TO to) (VP (VB accept) (S (NP (DT the) " +
-				"(NNP UN) (NN proposal)) (VP (TO to) (VP (VB end) (NP (PRP$ its) (NN dispute))))))))";
-
-		List<ParseTreeNode> res = phraseBuilder. parsePhrase("NP", line);
-		System.out.println(res);
-
-
-		line = "(VP (VBP am) (NP (NP (DT a) (NNP US) (NN citizen)) (UCP (VP (VBG living) (ADVP (RB abroad))) (, ,) (CC and) (ADJP (JJ concerned) (PP (IN about) (NP (NP (DT the) (NN health) (NN reform) (NN regulation)) (PP (IN of) (NP (CD 2014)))))))))";
-		res = phraseBuilder. parsePhrase("VP", line);
-		System.out.println(res);
-
-		line = "(VP (TO to) (VP (VB wait) (SBAR (IN till) (S (NP (PRP I)) (VP (VBP am) (ADJP (JJ sick) (S (VP (TO to) (VP (VB buy) (NP (NN health) (NN insurance)))))))))))";
-		res = phraseBuilder. parsePhrase("VP", line);
-		System.out.println(res);
-	}
-
-}
-/*
- * The Ukrainian government, Western leaders and Nato all say there is clear evidence that Russia is helping the rebels in the eastern Donetsk and Luhansk regions with heavy weapons and soldiers. Independent experts echo that accusation.
-Moscow denies it, insisting that any Russians serving with the rebels are volunteers.
-
-*/

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/PersonalInformationExtractor.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/PersonalInformationExtractor.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/PersonalInformationExtractor.java
deleted file mode 100644
index 5df0dee..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/matching/PersonalInformationExtractor.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package opennlp.tools.parse_thicket.matching;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.VerbNetProcessor;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.tika.Tika;
-import org.apache.tika.exception.TikaException;
-
-public class PersonalInformationExtractor {
-	FrameQueryBasedIExtractor extractor = new FrameQueryBasedIExtractor();
-	private ArrayList<File> queue = new ArrayList<File>();
-	private Tika tika = new Tika();
-
-	public void runExtractor(String filename){
-		String content = null;
-		try {
-			content = FileUtils.readFileToString(new File(filename));
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-
-
-		extractor.buildTemplates(new String[] { "John Doe send his California driver license 1234567 . "
-				+ "Jill Jones received her Ohio license 4567456. ", 
-				" Mary Poppins got her identification 8765. Jorge Malony sold his identification 9876. ",
-				//" President Jorge Smith of Microsoft used his id 4567. Manager John Smith of Google used his id 8765. "
-				" Johh Doe 123. Don Joe 1323. "
-
-		});
-
-		List<GeneralizationResult>  res = extractor.doIE( content);
-
-	}
-
-
-	private void addFiles(File file) {
-
-		try {
-			if (!file.exists()) {
-				System.out.println(file + " does not exist.");
-			}
-			if (file.isDirectory()) {
-				for (File f : file.listFiles()) {
-					try {
-						addFiles(f);
-					} catch (Exception e) {
-					}
-				}
-			} else {
-				queue.add(file);
-			}
-		} catch (Exception e) {
-
-		}
-	}
-
-	public void processDirectory(String filename, String template) throws IOException {
-		List<String[]> report = new ArrayList<String[]>(); 
-		report.add(new String[]{"filename", "text",  "generalization", "fired?" });
-		String templateStr = null;
-		try {
-
-			templateStr =  FileUtils.readFileToString(new File(template));
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-
-		String[] samples = templateStr.split("&");
-
-		extractor.buildTemplates(samples);
-
-		addFiles(new File(filename));
-
-
-		for (File f : queue) {
-			String content=null;
-			try {
-				content = tika.parseToString(f);
-				List<GeneralizationResult>  res = extractor.doIE( content);
-
-				for(GeneralizationResult gr: res){
-					report.add(new String[]{filename, gr.getText(),  gr.getGen().toString(), gr.getbFire().toString() });
-				}
-
-			} catch (TikaException e) {
-				System.out.println("Tika problem with file" + f.getAbsolutePath());
-			} catch (Exception ee){
-				ee.printStackTrace();
-			}
-			ProfileReaderWriter.writeReport(report, "PII_report.csv");
-		}
-
-		queue.clear();
-	}
-
-
-	public void runExtractor(String filename, String template){
-		String content = null, templateStr = null;
-		try {
-			content = FileUtils.readFileToString(new File(filename));
-			templateStr =  FileUtils.readFileToString(new File(template));
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-
-		String[] samples = templateStr.split("&");
-
-		extractor.buildTemplates(samples);
-
-		List<GeneralizationResult>  res = extractor.doIE( content);
-		List<String[]> report = new ArrayList<String[]>();
-
-		for(GeneralizationResult gr: res){
-			report.add(new String[]{filename, gr.getText(),  gr.getGen().toString(), gr.getbFire().toString() });
-		}
-
-
-	}
-
-	public static void main(String[] args){
-		//String filename = "/Users/borisgalitsky/Documents/workspace/deepContentInspection/src/test/resources/pii/agreement.txt";
-		
-		if (args ==null || args.length!=3)
-			System.err.println("Usage: java -Xmx10g -jar *.jar path-to-resources path-to-file-to-analyze path-to-file-with_samples\n");
-		try {
-			VerbNetProcessor.getInstance(args[0]);
-			new PersonalInformationExtractor().processDirectory( args[1], args[2]);
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/AbstractEngineRunner.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/AbstractEngineRunner.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/AbstractEngineRunner.java
deleted file mode 100644
index ba8a140..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/AbstractEngineRunner.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.StringUtils;
-
-import opennlp.tools.jsmlearning.ProfileReaderWriter;
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.textsimilarity.ParseTreeChunk;
-
-public class AbstractEngineRunner {
-	private List<File> queue;
-	private final static String reviewSource = "/Users/bgalitsky/Documents/relevance-based-on-parse-trees/src/test/resources/opinions/macbook_pro.txt";
-	NamedEntityExtractor neExtractor = new NamedEntityExtractor();
-	
-	public void processJSONfileWithReviews(){
-		List<String[]> report = new ArrayList<String[]>();
-		report.add(new String[] { "text", "phrases of potential interest list" , });
-
-		
-		String content=null;
-		try {
-			content = FileUtils.readFileToString(new File(reviewSource));
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		String[] texts = StringUtils.substringsBetween(content, "reviewText\": \"", "\", \"overall");
-		for(String text: texts){
-			EntityExtractionResult result = neExtractor.extractEntities(text);
-			report.add(new String[]{text});
-			//report.add((String[])result.extractedNERWords.toArray(new String[0]));
-			//report.add((String[])result.extractedSentimentPhrases.toArray(new String[0]));
-			List<String> stringPhrases = new ArrayList<String>(),
-					nodePhrases = new ArrayList<String>();
-			for(List<ParseTreeNode> chList: result.extractedSentimentPhrases){
-				String buf = "", nodeBuf="";
-				for(ParseTreeNode ch: chList){
-					buf+=ch.getWord()+ " ";
-					nodeBuf+=ch.toString()+ " ";
-				}
-				stringPhrases.add(buf.trim());
-				nodePhrases.add(nodeBuf.trim());
-			}
-			report.add((String[])stringPhrases.toArray(new String[0]));
-			report.add((String[])nodePhrases.toArray(new String[0]));
-			report.add(new String[]{"-----------------------------"});
-			ProfileReaderWriter.writeReport(report, "nameEntitiesTopicsOfInterestExtracted.csv");
-		}
-	}
-
-	// this func collects files 
-		private void addFiles(File file) {
-
-			if (!file.exists()) {
-				System.out.println(file + " does not exist.");
-			}
-			if (file.isDirectory()) {
-				for (File f : file.listFiles()) {
-					if (f.getName().startsWith("."))
-						continue;
-					addFiles(f);
-					System.out.println(f.getName());
-				}
-			} else {
-				queue.add(file);
-
-			}
-		}
-	
-	public static void main(String[] args){
-		AbstractEngineRunner runner = new AbstractEngineRunner();
-		runner.processJSONfileWithReviews();
-
-	}
-}
-
-/*
-	public void processDirectory(String path){
-		List<String[]> report = new ArrayList<String[]>();
-		report.add(new String[] { "filename", "named entity list", "phrases of potential interest list" });
-
-		List<String> allNamedEntities = new ArrayList<String>();
-
-		addFiles(new File(path));
-		for(File f: queue){
-			List<String> entities = (List<String>) extractEntities(f.getAbsolutePath()).getFirst();
-			List<String> opinions = (List<String>) extractEntities(f.getAbsolutePath()).getSecond();
-			report.add(new String[]{ f.getName(), entities.toString(),  opinions.toString()});	
-			ProfileReaderWriter.writeReport(report, "nameEntitiesExtracted.csv");
-
-			allNamedEntities.addAll(entities);
-
-			allNamedEntities = new ArrayList<String>(new HashSet<String> (allNamedEntities ));
-
-
-		}
-		ProfileReaderWriter.writeReport(report, "nameEntitiesTopicsOfInterestExtracted.csv");
-	} 
-} */

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/DefaultSentimentProcessor.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/DefaultSentimentProcessor.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/DefaultSentimentProcessor.java
deleted file mode 100644
index 44a3640..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/DefaultSentimentProcessor.java
+++ /dev/null
@@ -1,523 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.io.IOException;
-import java.util.List;
-
-import edu.stanford.nlp.util.logging.Redwood;
-
-import java.util.Iterator;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.FileOutputStream;
-import java.io.PrintStream;
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Properties;
-import java.util.logging.Logger;
-
-import org.ejml.simple.SimpleMatrix;
-
-import edu.stanford.nlp.io.IOUtils;
-import edu.stanford.nlp.ling.CoreAnnotations;
-import edu.stanford.nlp.ling.CoreLabel;
-import edu.stanford.nlp.ling.Label;
-import edu.stanford.nlp.ling.LabeledWord;
-import edu.stanford.nlp.ling.TaggedWord;
-import edu.stanford.nlp.ling.WordLemmaTag;
-import edu.stanford.nlp.ling.WordTag;
-import edu.stanford.nlp.neural.rnn.RNNCoreAnnotations;
-import edu.stanford.nlp.pipeline.Annotation;
-import edu.stanford.nlp.pipeline.StanfordCoreNLP;
-import edu.stanford.nlp.sentiment.SentimentCoreAnnotations.SentimentAnnotatedTree;
-import edu.stanford.nlp.sentiment.SentimentUtils;
-import edu.stanford.nlp.trees.MemoryTreebank;
-import edu.stanford.nlp.trees.Tree;
-import edu.stanford.nlp.trees.TreeCoreAnnotations;
-import edu.stanford.nlp.util.CoreMap;
-import edu.stanford.nlp.util.Generics;
-import edu.stanford.nlp.ling.CoreAnnotations;
-import edu.stanford.nlp.pipeline.Annotation;
-import edu.stanford.nlp.pipeline.StanfordCoreNLP;
-import edu.stanford.nlp.sentiment.SentimentCoreAnnotations;
-import edu.stanford.nlp.trees.Tree;
-import edu.stanford.nlp.util.CoreMap;
-
-public class DefaultSentimentProcessor {
-	/** A logger for this class */
-	private static final Logger log = Logger
-			.getLogger("opennlp.tools.parse_thicket.opinion_processor.DefaultSentimentProcessor");
-
-	private static final NumberFormat NF = new DecimalFormat("0.0000");
-
-	enum Output {
-		PENNTREES, VECTORS, ROOT, PROBABILITIES
-	}
-
-	enum Input {
-		TEXT, TREES
-	}
-
-	/**
-	 * Sets the labels on the tree (except the leaves) to be the integer
-	 * value of the sentiment prediction.  Makes it easy to print out
-	 * with Tree.toString()
-	 */
-	static void setSentimentLabels(Tree tree) {
-		if (tree.isLeaf()) {
-			return;
-		}
-
-		for (Tree child : tree.children()) {
-			setSentimentLabels(child);
-		}
-
-		Label label = tree.label();
-		if (!(label instanceof CoreLabel)) {
-			throw new IllegalArgumentException("Required a tree with CoreLabels");
-		}
-		CoreLabel cl = (CoreLabel) label;
-		cl.setValue(Integer.toString(RNNCoreAnnotations.getPredictedClass(tree)));
-	}
-
-	/**
-	 * Sets the labels on the tree to be the indices of the nodes.
-	 * Starts counting at the root and does a postorder traversal.
-	 */
-	static int setIndexLabels(Tree tree, int index) {
-		if (tree.isLeaf()) {
-			return index;
-		}
-
-		tree.label().setValue(Integer.toString(index));
-		index++;
-		for (Tree child : tree.children()) {
-			index = setIndexLabels(child, index);
-		}
-		return index;
-	}
-
-	/**
-	 * Outputs the vectors from the tree.  Counts the tree nodes the
-	 * same as setIndexLabels.
-	 */
-	static int outputTreeVectors(PrintStream out, Tree tree, int index) {
-		if (tree.isLeaf()) {
-			return index;
-		}
-
-		out.print("  " + index + ":");
-		SimpleMatrix vector = RNNCoreAnnotations.getNodeVector(tree);
-		for (int i = 0; i < vector.getNumElements(); ++i) {
-			out.print("  " + NF.format(vector.get(i)));
-		}
-		out.println();
-		index++;
-		for (Tree child : tree.children()) {
-			index = outputTreeVectors(out, child, index);
-		}
-		return index;
-	}
-
-	/**
-	 * Outputs the scores from the tree.  Counts the tree nodes the
-	 * same as setIndexLabels.
-	 */
-	static int outputTreeScores(PrintStream out, Tree tree, int index) {
-		if (tree.isLeaf()) {
-			return index;
-		}
-
-		out.print("  " + index + ":");
-		SimpleMatrix vector = RNNCoreAnnotations.getPredictions(tree);
-		for (int i = 0; i < vector.getNumElements(); ++i) {
-			out.print("  " + NF.format(vector.get(i)));
-		}
-		out.println();
-		index++;
-		for (Tree child : tree.children()) {
-			index = outputTreeScores(out, child, index);
-		}
-		return index;
-	}
-
-	public static <T> String wordToString(T o, final boolean justValue) {
-		return wordToString(o, justValue, null);
-	}
-
-	public static <T> String wordToString(T o, final boolean justValue,
-			final String separator) {
-		if (justValue && o instanceof Label) {
-			if (o instanceof CoreLabel) {
-				CoreLabel l = (CoreLabel) o;
-				String w = l.value();
-				if (w == null)
-					w = l.word();
-				return w;
-			} else {
-				return (((Label) o).value());
-			}
-		} else if (o instanceof CoreLabel) {
-			CoreLabel l = ((CoreLabel) o);
-			String w = l.value();
-			if (w == null)
-				w = l.word();
-			if (l.tag() != null) {
-				if (separator == null) {
-					return w + CoreLabel.TAG_SEPARATOR + l.tag();
-				} else {
-					return w + separator + l.tag();
-				}
-			}
-			return w;
-			// an interface that covered these next four cases would be
-			// nice, but we're moving away from these data types anyway
-		} else if (separator != null && o instanceof TaggedWord) {
-			return ((TaggedWord) o).toString(separator);
-		} else if (separator != null && o instanceof LabeledWord) {
-			return ((LabeledWord) o).toString();
-		} else if (separator != null && o instanceof WordLemmaTag) {
-			return ((WordLemmaTag) o).toString(separator);
-		} else if (separator != null && o instanceof WordTag) {
-			return ((WordTag) o).toString(separator);
-		} else {
-			return (o.toString());
-		}
-	}
-
-
-	/**
-	 * Returns the sentence as a string with a space between words.
-	 * It prints out the {@code value()} of each item -
-	 * this will give the expected answer for a short form representation
-	 * of the "sentence" over a range of cases.  It is equivalent to
-	 * calling {@code toString(true)}.
-	 *
-	 * TODO: Sentence used to be a subclass of ArrayList, with this
-	 * method as the toString.  Therefore, there may be instances of
-	 * ArrayList being printed that expect this method to be used.
-	 *
-	 * @param list The tokenized sentence to print out
-	 * @return The tokenized sentence as a String
-	 */
-	public static <T> String listToString(List<T> list) {
-		return listToString(list, true);
-	}
-	/**
-	 * Returns the sentence as a string with a space between words.
-	 * Designed to work robustly, even if the elements stored in the
-	 * 'Sentence' are not of type Label.
-	 *
-	 * This one uses the default separators for any word type that uses
-	 * separators, such as TaggedWord.
-	 *
-	 * @param list The tokenized sentence to print out
-	 * @param justValue If {@code true} and the elements are of type
-	 *                  {@code Label}, return just the
-	 *                  {@code value()} of the {@code Label} of each word;
-	 *                  otherwise,
-	 *                  call the {@code toString()} method on each item.
-	 * @return The sentence in String form
-	 */
-	public static <T> String listToString(List<T> list, final boolean justValue) {
-		return listToString(list, justValue, null);
-	}
-
-	/**
-	 * As already described, but if separator is not null, then objects
-	 * such as TaggedWord
-	 *
-	 * @param separator The string used to separate Word and Tag
-	 *                  in TaggedWord, etc
-	 */
-	public static <T> String listToString(List<T> list, final boolean justValue,
-			final String separator) {
-		StringBuilder s = new StringBuilder();
-		for (Iterator<T> wordIterator = list.iterator(); wordIterator.hasNext();) {
-			T o = wordIterator.next();
-			s.append(wordToString(o, justValue, separator));
-			if (wordIterator.hasNext()) {
-				s.append(' ');
-			}
-		}
-		return s.toString();
-	}
-
-	/**
-	 * Outputs a tree using the output style requested
-	 */
-	static void outputTree(PrintStream out, CoreMap sentence, List<Output> outputFormats) {
-		Tree tree = sentence.get(SentimentCoreAnnotations.SentimentAnnotatedTree.class);
-		for (Output output : outputFormats) {
-			switch (output) {
-			case PENNTREES: {
-				Tree copy = tree.deepCopy();
-				setSentimentLabels(copy);
-				out.println(copy);
-				break;
-			}
-			case VECTORS: {
-				Tree copy = tree.deepCopy();
-				setIndexLabels(copy, 0);
-				out.println(copy);
-				outputTreeVectors(out, tree, 0);
-				break;
-			}
-			case ROOT: {
-				out.println("  " + sentence.get(SentimentCoreAnnotations.SentimentClass.class));
-				break;
-			}
-			case PROBABILITIES: {
-				Tree copy = tree.deepCopy();
-				setIndexLabels(copy, 0);
-				out.println(copy);
-				outputTreeScores(out, tree, 0);
-				break;
-			}
-			default:
-				throw new IllegalArgumentException("Unknown output format " + output);
-			}
-		}
-	}
-
-	/**
-	 * Reads an annotation from the given filename using the requested input.
-	 */
-	public static List<Annotation> getAnnotations(StanfordCoreNLP tokenizer, Input inputFormat, String filename, boolean filterUnknown) {
-		switch (inputFormat) {
-		case TEXT: {
-			String text = IOUtils.slurpFileNoExceptions(filename);
-			Annotation annotation = new Annotation(text);
-			tokenizer.annotate(annotation);
-			List<Annotation> annotations = Generics.newArrayList();
-			for (CoreMap sentence : annotation.get(CoreAnnotations.SentencesAnnotation.class)) {
-				Annotation nextAnnotation = new Annotation(sentence.get(CoreAnnotations.TextAnnotation.class));
-				nextAnnotation.set(CoreAnnotations.SentencesAnnotation.class, Collections.singletonList(sentence));
-				annotations.add(nextAnnotation);
-			}
-			return annotations;
-		}
-		case TREES: {
-			List<Tree> trees;
-			if (filterUnknown) {
-				trees = SentimentUtils.readTreesWithGoldLabels(filename);
-				trees = SentimentUtils.filterUnknownRoots(trees);
-			} else {
-				trees = Generics.newArrayList();
-				MemoryTreebank treebank = new MemoryTreebank("utf-8");
-				treebank.loadPath(filename, null);
-				for (Tree tree : treebank) {
-					trees.add(tree);
-				}
-			}
-
-			List<Annotation> annotations = Generics.newArrayList();
-			for (Tree tree : trees) {
-				CoreMap sentence = new Annotation(listToString(tree.yield()));
-				sentence.set(TreeCoreAnnotations.TreeAnnotation.class, tree);
-				List<CoreMap> sentences = Collections.singletonList(sentence);
-				Annotation annotation = new Annotation("");
-				annotation.set(CoreAnnotations.SentencesAnnotation.class, sentences);
-				annotations.add(annotation);
-			}
-			return annotations;
-		}
-		default:
-			throw new IllegalArgumentException("Unknown format " + inputFormat);
-		}
-	}
-
-	/** Runs the tree-based sentiment model on some text. */
-	public void processTextWithArgs(String[] args) throws IOException {
-		String parserModel = null;
-		String sentimentModel = null;
-
-		String filename = null;
-		String fileList = null;
-		boolean stdin = false;
-
-		boolean filterUnknown = false;
-
-		List<Output> outputFormats = Collections.singletonList(Output.ROOT);
-		Input inputFormat = Input.TEXT;
-
-		String tlppClass = "DEFAULT_TLPP_CLASS";
-
-		for (int argIndex = 0; argIndex < args.length; ) {
-			if (args[argIndex].equalsIgnoreCase("-sentimentModel")) {
-				sentimentModel = args[argIndex + 1];
-				argIndex += 2;
-			} else if (args[argIndex].equalsIgnoreCase("-parserModel")) {
-				parserModel = args[argIndex + 1];
-				argIndex += 2;
-			} else if (args[argIndex].equalsIgnoreCase("-file")) {
-				filename = args[argIndex + 1];
-				argIndex += 2;
-			} else if (args[argIndex].equalsIgnoreCase("-fileList")) {
-				fileList = args[argIndex + 1];
-				argIndex += 2;
-			} else if (args[argIndex].equalsIgnoreCase("-stdin")) {
-				stdin = true;
-				argIndex++;
-			} else if (args[argIndex].equalsIgnoreCase("-input")) {
-				inputFormat = Input.valueOf(args[argIndex + 1].toUpperCase());
-				argIndex += 2;
-			} else if (args[argIndex].equalsIgnoreCase("-output")) {
-				String[] formats = args[argIndex + 1].split(",");
-				outputFormats = new ArrayList<>();
-				for (String format : formats) {
-					outputFormats.add(Output.valueOf(format.toUpperCase()));
-				}
-				argIndex += 2;
-			} else if (args[argIndex].equalsIgnoreCase("-filterUnknown")) {
-				filterUnknown = true;
-				argIndex++;
-			} else if (args[argIndex].equalsIgnoreCase("-tlppClass")) {
-				tlppClass = args[argIndex + 1];
-				argIndex += 2;
-			} else if (args[argIndex].equalsIgnoreCase("-help")) {
-				System.exit(0);
-			} else {
-				log.info("Unknown argument " + args[argIndex + 1]);
-				throw new IllegalArgumentException("Unknown argument " + args[argIndex + 1]);
-			}
-		}
-
-		// We construct two pipelines.  One handles tokenization, if
-		// necessary.  The other takes tokenized sentences and converts
-		// them to sentiment trees.
-		Properties pipelineProps = new Properties();
-		Properties tokenizerProps = null;
-		if (sentimentModel != null) {
-			pipelineProps.setProperty("sentiment.model", sentimentModel);
-		}
-		if (parserModel != null) {
-			pipelineProps.setProperty("parse.model", parserModel);
-		}
-		if (inputFormat == Input.TREES) {
-			pipelineProps.setProperty("annotators", "binarizer, sentiment");
-			pipelineProps.setProperty("customAnnotatorClass.binarizer", "edu.stanford.nlp.pipeline.BinarizerAnnotator");
-			pipelineProps.setProperty("binarizer.tlppClass", tlppClass);
-			pipelineProps.setProperty("enforceRequirements", "false");
-		} else {
-			pipelineProps.setProperty("annotators", "parse, sentiment");
-			pipelineProps.setProperty("enforceRequirements", "false");
-			tokenizerProps = new Properties();
-			tokenizerProps.setProperty("annotators", "tokenize, ssplit");
-		}
-
-		if (stdin && tokenizerProps != null) {
-			tokenizerProps.setProperty(StanfordCoreNLP.NEWLINE_SPLITTER_PROPERTY, "true");
-		}
-
-		int count = 0;
-		if (filename != null) count++;
-		if (fileList != null) count++;
-		if (stdin) count++;
-		if (count > 1) {
-			throw new IllegalArgumentException("Please only specify one of -file, -fileList or -stdin");
-		}
-		if (count == 0) {
-			throw new IllegalArgumentException("Please specify either -file, -fileList or -stdin");
-		}
-
-		StanfordCoreNLP tokenizer = (tokenizerProps == null) ? null : new StanfordCoreNLP(tokenizerProps);
-		StanfordCoreNLP pipeline = new StanfordCoreNLP(pipelineProps);
-
-		if (filename != null) {
-			// Process a file.  The pipeline will do tokenization, which
-			// means it will split it into sentences as best as possible
-			// with the tokenizer.
-			List<Annotation> annotations = getAnnotations(tokenizer, inputFormat, filename, filterUnknown);
-			for (Annotation annotation : annotations) {
-				pipeline.annotate(annotation);
-
-				for (CoreMap sentence : annotation.get(CoreAnnotations.SentencesAnnotation.class)) {
-					System.out.println(sentence);
-					outputTree(System.out, sentence, outputFormats);
-				}
-			}
-		} else if (fileList != null) {
-			// Process multiple files.  The pipeline will do tokenization,
-			// which means it will split it into sentences as best as
-			// possible with the tokenizer.  Output will go to filename.out
-			// for each file.
-			for (String file : fileList.split(",")) {
-				List<Annotation> annotations = getAnnotations(tokenizer, inputFormat, file, filterUnknown);
-				FileOutputStream fout = new FileOutputStream(file + ".out");
-				PrintStream pout = new PrintStream(fout);
-				for (Annotation annotation : annotations) {
-					pipeline.annotate(annotation);
-
-					for (CoreMap sentence : annotation.get(CoreAnnotations.SentencesAnnotation.class)) {
-						pout.println(sentence);
-						outputTree(pout, sentence, outputFormats);
-					}
-				}
-				pout.flush();
-				fout.close();
-			}
-		} else {
-			// Process stdin.  Each line will be treated as a single sentence.
-			log.info("Reading in text from stdin.");
-			log.info("Please enter one sentence per line.");
-			log.info("Processing will end when EOF is reached.");
-			BufferedReader reader = IOUtils.readerFromStdin("utf-8");
-
-			for (String line; (line = reader.readLine()) != null; ) {
-				line = line.trim();
-				if ( ! line.isEmpty()) {
-					Annotation annotation = tokenizer.process(line);
-					pipeline.annotate(annotation);
-					for (CoreMap sentence : annotation.get(CoreAnnotations.SentencesAnnotation.class)) {
-						outputTree(System.out, sentence, outputFormats);
-					}
-				} else {
-					// Output blank lines for blank lines so the tool can be
-					// used for line-by-line text processing
-					System.out.println();
-				}
-			}
-
-		}
-	}
-
-	public float getNumericSentimentValue(String expression) {
-		Properties props = new Properties();
-		props.setProperty("annotators", "tokenize, ssplit, parse, sentiment");
-		StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
-		int mainSentiment = 0;
-		if (expression != null && expression.length() > 0) {
-			int longest = 0;
-			Annotation annotation = pipeline.process(expression);
-			for (CoreMap sentence : annotation.get(CoreAnnotations.SentencesAnnotation.class)) {
-				Tree tree = sentence.get(SentimentAnnotatedTree.class);
-				int sentiment = RNNCoreAnnotations.getPredictedClass(tree);
-				String partText = sentence.toString();
-				if (partText.length() > longest) {
-					mainSentiment = sentiment;
-					longest = partText.length();
-				}
-			}
-		}
-		return mainSentiment;
-	}
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/EntityExtractionResult.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/EntityExtractionResult.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/EntityExtractionResult.java
deleted file mode 100644
index 69eae1d..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/EntityExtractionResult.java
+++ /dev/null
@@ -1,158 +0,0 @@
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.util.List;
-
-import opennlp.tools.parse_thicket.ParseTreeNode;
-import opennlp.tools.similarity.apps.HitBase;
-
-public class EntityExtractionResult {
-	List<List<ParseTreeNode>> extractedNERs;
-	public List<String> extractedNERWords;
-	// phrases w/sentiments
-	public List<List<ParseTreeNode>> extractedSentimentPhrases;
-	public List<String> extractedSentimentPhrasesStr;
-	// phrases w/o sentiments
-	public List<List<ParseTreeNode>> extractedNONSentimentPhrases;
-	public List<String> extractedNONSentimentPhrasesStr;
-	public List<Float> sentimentProfile;
-	
-	
-	public List<String> getExtractedSentimentPhrasesStr() {
-		return extractedSentimentPhrasesStr;
-	}
-
-	public void setExtractedSentimentPhrasesStr(List<String> extractedSentimentPhrasesStr) {
-		this.extractedSentimentPhrasesStr = extractedSentimentPhrasesStr;
-	}
-	/*
-	 * Licensed to the Apache Software Foundation (ASF) under one or more
-	 * contributor license agreements.  See the NOTICE file distributed with
-	 * this work for additional information regarding copyright ownership.
-	 * The ASF licenses this file to You under the Apache License, Version 2.0
-	 * (the "License"); you may not use this file except in compliance with
-	 * the License. You may obtain a copy of the License at
-	 *
-	 *     http://www.apache.org/licenses/LICENSE-2.0
-	 *
-	 * Unless required by applicable law or agreed to in writing, software
-	 * distributed under the License is distributed on an "AS IS" BASIS,
-	 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-	 * See the License for the specific language governing permissions and
-	 * limitations under the License.
-	 */
-	public List<List<ParseTreeNode>> getExtractedNONSentimentPhrases() {
-		return extractedNONSentimentPhrases;
-	}
-
-	public void setExtractedNONSentimentPhrases(List<List<ParseTreeNode>> extractedNONSentimentPhrases) {
-		this.extractedNONSentimentPhrases = extractedNONSentimentPhrases;
-	}
-
-	public List<String> getExtractedNONSentimentPhrasesStr() {
-		return extractedNONSentimentPhrasesStr;
-	}
-
-	public void setExtractedNONSentimentPhrasesStr(List<String> extractedNONSentimentPhrasesStr) {
-		this.extractedNONSentimentPhrasesStr = extractedNONSentimentPhrasesStr;
-	}
-
-	public List<HitBase> hits;
-	private List<List<ParseTreeNode>> extractedNerPhrases;
-	private List<String> extractedNerPhrasesStr;
-	private List<String> extractedNerPhraseTags;
-	private List<List<ParseTreeNode>> extractedNerExactPhrases;
-	private List<String> extractedNerExactStr;
-
-	public void setExtractedNERWords(List<String> extractedNERWords) {
-		this.extractedNERWords = extractedNERWords;
-	}
-
-	public void setExtractedSentimentPhrases(List<List<ParseTreeNode>> extractedSentimentPhrases) {
-		this.extractedSentimentPhrases = extractedSentimentPhrases;
-	}
-
-	public void setExtractedNER(List<List<ParseTreeNode>> extractedNERs) {
-		this.extractedNERs = extractedNERs;
-	}
-
-	public void setGossipHits(List<HitBase> hitsForAnEntity) {
-		hits = hitsForAnEntity;
-	}
-
-	public List<List<ParseTreeNode>> getExtractedNERs() {
-		return extractedNERs;
-	}
-
-	public void setExtractedNERs(List<List<ParseTreeNode>> extractedNERs) {
-		this.extractedNERs = extractedNERs;
-	}
-
-	public List<HitBase> getHits() {
-		return hits;
-	}
-
-	public void setHits(List<HitBase> hits) {
-		this.hits = hits;
-	}
-
-	public List<String> getExtractedNERWords() {
-		return extractedNERWords;
-	}
-
-	public List<List<ParseTreeNode>> getExtractedSentimentPhrases() {
-		return extractedSentimentPhrases;
-	}
-
-	public void setSentimentProfile(List<Float> sentimentProfile) {
-	    this.sentimentProfile = sentimentProfile;
-    }
-
-	public List<Float> getSentimentProfile() {
-		return sentimentProfile;
-	}
-
-	public void setExtractedNerPhrases(List<List<ParseTreeNode>> extractedNerPhrases) {
-	    this.extractedNerPhrases = extractedNerPhrases;
-	    
-    }
-
-	public void setExtractedNerPhrasesStr(List<String> extractedNerPhrasesStr) {
-	    this.extractedNerPhrasesStr = extractedNerPhrasesStr;
-	    
-    }
-
-	public List<List<ParseTreeNode>> getExtractedNerPhrases() {
-		return extractedNerPhrases;
-	}
-
-	public List<String> getExtractedNerPhrasesStr() {
-		return extractedNerPhrasesStr;
-	}
-
-	public void setExtractedNerPhraseTags(List<String> extractedNerPhraseTags) {
-	    this.extractedNerPhraseTags = extractedNerPhraseTags;	    
-    }
-
-	public List<String> getExtractedNerPhraseTags() {
-	    return this.extractedNerPhraseTags;    
-    }
-
-	public void setExtractedNerExactPhrases(List<List<ParseTreeNode>> extractedNerExactPhrases) {
-	   this.extractedNerExactPhrases = extractedNerExactPhrases;
-	    
-    }
-
-	public void setExtractedNerExactStr(List<String> extractedNerExactStr) {
-	    this.extractedNerExactStr = extractedNerExactStr;
-	    
-    }
-
-	public List<List<ParseTreeNode>> getExtractedNerExactPhrases() {
-		return extractedNerExactPhrases;
-	}
-
-	public List<String> getExtractedNerExactStr() {
-		return extractedNerExactStr;
-	}
-	
-}

http://git-wip-us.apache.org/repos/asf/opennlp-sandbox/blob/2707f665/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/ExpressionSentimentAnalyzer.java
----------------------------------------------------------------------
diff --git a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/ExpressionSentimentAnalyzer.java b/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/ExpressionSentimentAnalyzer.java
deleted file mode 100644
index dc89d8b..0000000
--- a/opennlp-similarity/src/main/java/opennlp/tools/parse_thicket/opinion_processor/ExpressionSentimentAnalyzer.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package opennlp.tools.parse_thicket.opinion_processor;
-
-import java.util.Properties;
-
-import edu.stanford.nlp.ling.CoreAnnotations;
-import edu.stanford.nlp.neural.rnn.RNNCoreAnnotations;
-import edu.stanford.nlp.pipeline.Annotation;
-import edu.stanford.nlp.pipeline.StanfordCoreNLP;
-import edu.stanford.nlp.sentiment.SentimentCoreAnnotations;
-import edu.stanford.nlp.sentiment.SentimentCoreAnnotations.SentimentAnnotatedTree;
-import edu.stanford.nlp.trees.Tree;
-import edu.stanford.nlp.util.CoreMap;
-
-public class ExpressionSentimentAnalyzer {
-	float findSentiment(String line) {
-		Properties props = new Properties();
-		props.setProperty("annotators", "tokenize, ssplit, parse, sentiment");
-		StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
-		int mainSentiment = 0;
-		if (line != null && line.length() > 0) {
-			int longest = 0;
-			Annotation annotation = pipeline.process(line);
-			for (CoreMap sentence : annotation.get(CoreAnnotations.SentencesAnnotation.class)) {
-				Tree tree = sentence.get(SentimentAnnotatedTree.class);
-				int sentiment = RNNCoreAnnotations.getPredictedClass(tree);
-				String partText = sentence.toString();
-				if (partText.length() > longest) {
-					mainSentiment = sentiment;
-					longest = partText.length();
-				}
-			}
-		}
-		return mainSentiment;
-	}
-
-	public static void main(String[] args) {
-		float sent = new ExpressionSentimentAnalyzer().findSentiment("poor president nomee Hilary Clinton visited Mexico");
-		System.out.println(sent);
-	}
-}
\ No newline at end of file