CBook-150K: 复旦大学NLP实验室推出的大规模中文图书语料库

Ray

CBook-150K:复旦大学NLP实验室的大规模中文图书语料库

近日,复旦大学自然语言处理实验室推出了一个名为CBook-150K的大规模中文图书语料库项目。该项目汇集了约15万本中文电子图书,为自然语言处理领域的研究者提供了宝贵的语料资源。

项目概述

CBook-150K是一个基于网上开源MD5图书链接收集而成的中文图书语料集合。项目的主要内容包括:

  1. 大规模的中文图书MD5链接
  2. 图书下载和使用方法说明
  3. 常见电子书格式(PDF、EPUB、MOBI)的解析代码示例

该项目的目标是为中文自然语言处理研究提供高质量、大规模的文本语料,促进相关领域的技术进步。

MD5链接结构

项目提供的MD5链接按照以下结构组织:

├── CBOOK_MD5
    ├── MD5_0_9999
        ├── MD5_0_999.txt
        ├── MD5_1000_1999.txt
        ├── ...
        ├── MD5_9000_9999.txt
    ├── MD5_10000_19999
        ├── MD5_10000_10999.txt
        ├── MD5_11000_11999.txt
        ├── ...
    ├── ...
    ├── MD5_140000_149999
        ├── MD5_140000_140999.txt
        ├── MD5_141000_141999.txt
        ├── ...
        ├── MD5_149000_149999.txt

这种结构使得用户可以方便地按需下载和使用部分数据。

图书获取方法

为了方便用户获取图书内容,项目推荐使用MD5快传插件。具体步骤如下:

  1. 下载并安装MD5快传插件
  2. 在百度云盘中使用该插件
  3. 将MD5链接复制到插件的秒传窗口中进行转存
  4. 转存成功后即可下载图书文件

MD5快传插件使用示意图

图书解析方法

CBook-150K项目还提供了常见电子书格式(PDF、EPUB、MOBI)的解析示例代码,方便研究者提取图书文本内容。以下是几种格式的解析方法简介:

PDF格式解析

项目推荐使用复旦大学自然语言处理实验室开发的DocAI工具来处理PDF文件。此外,也可以使用Python的PyPDF2库进行解析:

import PyPDF2
import os

# 保存每页文本信息
page_info = []
try:
    # 指定pdf文件路径
    book_path = os.path.join(pdf_chinese_md5_dir, PDF_MD5)
    with open(book_path, 'rb') as pdf_fp:
        pdf_reader = PyPDF2.PdfReader(pdf_fp)
    if pdf_reader.is_encrypted:
        # 如果PDF文档是加密的,则需要提供密码才能继续处理
        pass
    else:
        # 遍历每一页并提取文本信息
        for i in range(len(pdf_reader.pages)):
            page = pdf_reader.pages[i]
            text = page.extract_text()
            # 如果提取到的文本信息非空,则认为该PDF文档包含文本信息
            if text.strip():
                page_info.append(text.strip()+'\n')
except Exception as e:
    print(e)

EPUB格式解析

对于EPUB格式的电子书,可以使用以下代码进行解析:

import zipfile
from bs4 import BeautifulSoup
import os

# 每个chapter文本
chapter_content_list = []
# 指定epub文件路径
book_path = os.path.join(epub_chinese_md5_dir, EPUB_MD5)
# 使用ZipFile库打开epub文件
book = zipfile.ZipFile(book_path)
# 获取书籍的文本HTML名称
xhtml_data = [string for string in book.namelist() if string.endswith('xhtml') or string.endswith('html') or string.endswith('xml')]
# 解析每个HTML文本格式
for k in range(len(xhtml_data)):
    try:
        chapter_file = book.open(unquote(xhtml_data[k]))
        chapter_content = chapter_file.read().decode('utf-8')
        chapter_content = BeautifulSoup(chapter_content, 'html')
        chapter_content_list.append(chapter_content.get_text().strip())
    except Exception as e:
        print(e)
    continue

MOBI格式解析

MOBI格式的电子书可以通过以下方式解析:

import mobi
import shutil
from bs4 import BeautifulSoup
import os

# 指定mobi文件路径
book_path = os.path.join(mobi_chinese_md5_dir, MOBI_MD5)
# 提取TMP文件路径
tempdir, filepath = mobi.extract(book_path)
# 获取HTML文件内容后删除中间文件
try:
    with open(filepath, 'r', encoding='utf-8') as mobi_fp:
        chapter_content = mobi_fp.read()
    shutil.rmtree(tempdir)
    # 利用BeautifulSoup提取HTML文本信息并作格式化后重新提取
    chapter_content = BeautifulSoup(chapter_content, 'html.parser')
    chapter_content = chapter_content.prettify()
    chapter_content = BeautifulSoup(chapter_content, 'html.parser')
    file_content = chapter_content.get_text().strip()
except Exception as e:
    print(e)

项目意义与展望

CBook-150K项目的推出为中文自然语言处理研究提供了一个宝贵的大规模语料资源。这些图书涵盖了广泛的主题和领域,可以支持多种NLP任务的研究和开发,如:

  • 语言模型预训练
  • 文本分类
  • 主题建模
  • 信息抽取
  • 问答系统
  • 文本摘要

此外,该项目还为研究者提供了便捷的图书获取和解析方法,大大降低了数据处理的门槛。这不仅有助于加速相关研究的进展,也为跨学科的合作创造了条件。

然而,需要注意的是,CBook-150K项目明确声明"本语料集合仅供科研用途"。使用者在利用这些资源时,应当严格遵守相关的法律法规和道德准则,尊重原作者的知识产权。

未来,我们可以期待看到基于CBook-150K的更多创新性研究成果。同时,也希望有更多类似的开放语料资源项目涌现,推动中文自然语言处理技术的不断进步。

结语

CBook-150K项目的推出无疑是中文NLP领域的一个重要进展。它不仅为研究者提供了宝贵的语料资源,也为今后类似项目的开展树立了良好的范例。我们期待看到更多研究者能够充分利用这一资源,在中文自然语言处理的各个方向上取得突破性进展。

同时,也希望学术界和产业界能够携手合作,在保护知识产权的基础上,推动更多高质量语料资源的开放共享,为中文NLP的发展注入持续动力。

avatar
0
0
0
最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号