U C^@sddlmZddlmZddlmZddlmZedddd gd d d dZed dddgd d dd Z eddgd d dddZ dS))unicode_literals) component)Matcher) filter_spansmerge_noun_chunksz token.depz token.tagz token.posT)requiresZ retokenizesc CsN|js |S|2}|jD]$}|jj|jjd}|j||dqW5QRX|S)zMerge noun chunks into a single token. doc (Doc): The Doc object. RETURNS (Doc): The Doc object with merged noun chunks. DOCS: https://spacy.io/api/pipeline-functions#merge_noun_chunks )tagdepattrs)Z is_parsed retokenizeZ noun_chunksrootr r merge)doc retokenizernpr r;/tmp/pip-install-6_kvzl1k/spacy/spacy/pipeline/functions.pyr s   merge_entitieszdoc.entsz token.ent_iobztoken.ent_typec CsH|6}|jD](}|jj|jj|jd}|j||dqW5QRX|S)zMerge entities into a single token. doc (Doc): The Doc object. RETURNS (Doc): The Doc object with merged entities. DOCS: https://spacy.io/api/pipeline-functions#merge_entities )r r Zent_typer )r Zentsrr r labelr)rrentr rrrrs  merge_subtokenssubtokc sjtj}|dd|ddg|}tfdd|D}}|D]}||qLW5QRXS)zMerge subtokens into a single token. doc (Doc): The Doc object. label (unicode): The subtoken dependency label. RETURNS (Doc): The Doc object with merged subtokens. DOCS: https://spacy.io/api/pipeline-functions#merge_subtokens ZSUBTOKN+)ZDEPopcs"g|]\}}}||dqS)r).0_startendrrr @sz#merge_subtokens..)rZvocabaddrr r)rrZmergermatchesZspansrspanrr!rr3s  N)r) __future__rlanguagermatcherrutilrrrrrrrrs"