我们需要从非结构化来源(如信件、rad 报告等)中提取暗数据。请建议使用 azure 资源从常见文档格式中提取数据:DOC、DOCX、PDF、RTF、TXT、HTML 等,然后进行分析关于提取的数据。
问问题
275 次
1 回答
0
听起来您只想从这些富文本格式的文档中提取原始文本或图像。如果只做这些,一些解析不同文档的库才是你真正的需要。
这里有一些 Java 或 Python 库可以做到这一点。如果您使用的是我不熟悉的 .NET,您可以在 Google 或 Bing 中搜索以找到 .NET 的这些替代方案。
- 像 DOC 一样解析 office 文档,DOCX:for Java,
Apache POI
是一个很好的从 MS office 文件中提取数据的库;对于 Python,似乎没有任何包可以做到这一点,除了在 Windows 上的 .NET 中使用 COM 对象Word.Application
或IronPython
(在 Python 中读取/写入 MS Word 文件)。 - 解析 PDF 文件:有
Apache PDFBox
,jPDFText
用于 Java 和PyPDF2
Python。 - 读取 RTF 格式文件:Java 原生支持
javax.swing.text.rtf.RTFEditorKit
通过搜索获取示例代码;像 #1 一样,对于 Python 来说似乎也没有。 - 解析 HTML 文件:
jsoup
对于 Java 和BeautifulSoup
&HTMLParser
对于 Python,最适合从 HTML 中提取数据。 - 对于阅读TXT格式文件,我认为任何语言都很简单。但是要从文本内容中提取有价值的信息,
Stanford NLP
对于 Java 和NLTK
Python 来说是有用的,使用认知服务的 Azure文本分析 API也可以帮助执行一些关键短语提取和语言检测等操作。 - 用于内容分析的 Apache Tika 工具包也是一个很好的解决方案。甚至您可以单独部署它并通过 Python 和其他语言调用它的 REST API。
- 如果要从图像中提取文本,可以使用认知服务的 Azure计算机视觉 API提取打印文本或手写文本,或者使用第三方库,例如
Tess4J
在 GitHub 中搜索的其他库。
以上所有几乎都依赖于没有 Azure 资源的第三方开发工具包。但是,您可以将这些文档存储在 Azure 存储中并在 Azure VM 或 Batch 服务上进行处理,甚至可以分析 Azure Jupyter Notebook 中的提取数据或使用 Azure ML 进行更深入的研究。
于 2019-03-15T04:40:46.937 回答