ó Ç,{Sc@s¹dZddlmZddlTddlTddlTddlTddlTddlTddl Tddl Tddl m Z m Z ddlTddlmZddlZdd d„ƒYZdS( t 17dec2013iÿÿÿÿ(tetree(t*(tCdependency_extractortCconstituency_extractor(t CreferencesNt KafNafParsercBsøeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zejd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(c Csd|_||_tj|tjdtƒƒ|_|jjƒ|_|jj |_ d|_ d|_ d|_ d|_d|_d|_d|_d|_d|_d|_d|_d|_|jjdƒ|_|jjdƒ|_|j dkr|jjdƒ}n$|j dkr2|jjdƒ}n|dk rVt||j ƒ|_ n|jjdƒ}|dk r’td |d |j ƒ|_ n|jjd ƒ}|dk rÎtd |d |j ƒ|_ n|jjd ƒ}|dk rt|d |j ƒ|_n|jjd ƒ}|dk r@t|d |j ƒ|_n|jjdƒ}|dk ryt |d |j ƒ|_n|jjdƒ}|dk r©t!|ƒ|_n|jjdƒ} | dk rÙt"| ƒ|_n|jjdƒ} | dk rt#| d |j ƒ|_ndS(Ntremove_blank_texts*{http://www.w3.org/XML/1998/namespace}langtversiontNAFt nafHeadertKAFt kafHeaderttexttnodettypettermstentitiestfeaturestopinionst constituencytdepst coreferences($tNonettreetfilenameRtparset XMLParsertTruetgetroottrootttagRtheadert text_layert term_layert entity_layertfeatures_layert opinion_layertconstituency_layertdependency_layertcoreference_layertmy_dependency_extractortmy_constituency_extractortdict_tokens_for_tidtgettlangRtfindtCHeadertCtexttCtermst Centitiest Cfeaturest Copinionst Cconstituencyt Cdependenciest Ccoreferences( tselfRt node_headert node_textt node_termt node_entityt node_featurest node_opinionstnode_constituencytnode_dependencytnode_coreferences((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyt__init__%sb  !                     cCs|jS(N(R(R8((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pytget_typemscCs|jS(N(R(R8((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyt get_filenamepscCsB|jdkr'd|j_d|_n|jdk rF|jjƒn|jdk re|jjƒn|jdk r„|jjƒn|jdk r£|jjƒn|j dk rÂ|j jƒn|j dk rá|j jƒn|j dk r|j jƒn|j dk r|j jƒn|j dk r>|j jƒndS(NR R (RRRR Rtto_kafR!R"R#R$R%R&R'R((R8((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyREss*  cCs@|jdkr%d|j_|_n|jdk rD|jjƒn|jdk rc|jjƒn|jdk r‚|jjƒn|jdk r¡|jjƒn|j dk rÀ|j jƒn|j dk rß|j jƒn|j dk rþ|j jƒn|j dk r|j jƒn|j dk r<|j jƒndS(NR R (RRRR Rtto_nafR!R"R#R$R%R&R'R((R8((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyRF£s(cCs |jGHdS(N(R&(R8((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pytprint_constituencyÖsccs5|jdk r1x|jjƒD] }|VqWndS(N(R&Rt get_trees(R8R((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyRHÙsccs5|jdk r1x|jjƒD] }|VqWndS(N(R'Rtget_dependencies(R8tdep((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyRIßscCs|jS(N(R-(R8((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyt get_languageäsccsx|jD] }|Vq WdS(N(R!(R8ttoken((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyt get_tokensçsccsx|jD] }|Vq WdS(N(R"(R8tterm((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyt get_termsëscCs'|jdk r|jj|ƒSdSdS(N(R!Rtget_wf(R8ttoken_id((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyt get_tokenïscCs'|jdk r|jj|ƒSdSdS(N(R"Rtget_term(R8tterm_id((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyRSõsccs5|jdk r1x|jjƒD] }|VqWndS(N(R$Rtget_properties(R8tproperty((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyRUûsccs/|jdk r+x|jD] }|VqWndS(N(R#R(R8tentity((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyt get_entitiessccs5|jdk r1x|jjƒD] }|VqWndS(N(R%Rt get_opinions(R8topinion((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyRYscCs&|jj|dddtdtƒdS(NtencodingsUTF-8t pretty_printtxml_declaration(RtwriteR(R8R((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pytdump scCs>|jdk r:|jjƒ}|jj|ƒd|_ndS(N(R%Rtget_nodeRtremove(R8t this_node((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pytremove_opinion_layerscCs`|jdk r\|jjƒ}|jj|ƒd|_|jdk r\|jjdƒq\ndS(NR(R"RR`RRaR t remove_lp(R8Rb((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pytremove_term_layers  cCs?|jdk r7|jdkr0t|ƒ|_n|jSdSdS(N(R&RR*R(R8((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pytget_constituency_extractors cCs?|jdk r7|jdkr0t|ƒ|_n|jSdSdS(N(R'RR)R(R8((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pytget_dependency_extractor&s cCsT|jdkr@td|jƒ|_|jj|jjƒƒn|jj|ƒdS(NR(R!RR0RRtappendR`tadd_wf(R8twf_obj((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyRi/scCsK|jdkr7tƒ|_|jj|jjƒƒn|jj|ƒdS(N(R%RR4RRhR`t add_opinion(R8t opinion_obj((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyRk5s cCs|jj||ƒdS(N(R tadd_linguistic_processor(R8tlayertmy_lp((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyRm;scCsK|jdkr7tƒ|_|jj|jjƒƒn|jj|ƒdS(N(R'RR6RRhR`tadd_dependency(R8tmy_dep((s9/tmp/tmp_GOUar/lib/python/KafNafParser/KafNafParserMod.pyRp?s cCsd|jdkrQi|_x6|jƒD]%}|jƒjƒ|j|jƒs