文本处理器
texta-parsers的Python项目详细描述
文本分析器
用于文件解析的Python包。在
包中的主类是DocParser。该包还支持复杂的电子邮件解析,该解析在类EmailParser中实现。如果只需要解析电子邮件,那么可以使用参数parse_only_extensions
指定它。也可以单独使用EmailParser,但是附件将不会被解析。在
要求
大多数文件类型都是用tika解析的。所需的其他工具:
Tool | File Type |
---|---|
pst-utils | .pst |
digidoc-tool | .ddoc .bdoc .asics .asice |
rar-nonfree | .rar |
lxml | XML HTML |
安装Ubuntu/an软件包时需要:
sudo apt-get install pst-utils rar python3-lxml -y
sudo sh install-digidoc.sh
Apache Tesseract的自定义语言包需要安装相关的语言包:
sudo docker run -p 9998:9998 docker.texta.ee/texta/texta-parsers-python/tikaserver:latest
使用MLP:
pip install texta-mlp
测试
python -m pytest -rx -v tests
说明
DocParser
文件解析器。输入可以是字节,也可以是字符串形式的文件路径。请参阅user guide更多信息。DocParser还包括EmailParser。在
电子邮件解析器
用于分析电子邮件和邮箱。支持的文件格式有Outlook数据文件(.pst)、mbox(.mbox)和EML(.EML)。可以与DocParser分开使用,但不解析附件。 用户指南可以找到here和文档here。在
实体链接器管道
只有在上一个生成器通过时才能使用EntityLinkers包装 它属于MLP处理器(它需要MLP处理的文档才能工作)。在
在下面的示例中,邮箱“Корзиеа.mbox”将由EmailParser解析, 由textamlp worker处理,以使用有关其实体的附加信息增强文本。 然后,这些实体被加载到内存中,用作实体链接器的输入。在
最后,实体链接的结果将被传递给Elasticsearch worker,将它们保存到索引中 用户选择的(请注意,将数据推送到已经存在的索引中时,可能会出现映射问题)
对于本例,需要安装textamlp包和Tika构建的运行实例。
fromtexta_mlp.mlpimportMLPfromtexta_parsers.email_parserimportEmailParserfromtexta_parsers.tools.entity_linker_wrapperimportEntityLinkerWrapperfromtexta_parsers.tools.elasticimportESImporterfromtexta_parsers.tools.mlp_processorimportMLPProcessorindex_name="personage_info"mlp=MLP(language_codes=["et","en","ru"])concat_wrapper=EntityLinkerWrapper()mlp_wrapper=MLPProcessor(mlp)elastic_importer=ESImporter("http://localhost:9200",index_prefix="rus")email_parser=EmailParser()generator=email_parser.parse("tests/data/Корзина.mbox")generator=mlp_wrapper.apply_mlp(generator)# Generator takes input in the form of a tuple containing the mlp output dictionary and a list (for attachments).generator=concat_wrapper.concat_from_generator(generator)pipeline_end=elastic_importer.push_linked_entities_into_elastic(generator,index_name)
所有实体链接信息不应位于名为“personage_info”的索引中
- 项目
标签: