集团站切换校区

验证码已发送,请查收短信

复制成功
微信号:togogoi
添加微信好友, 详细了解课程
已复制成功,如果自动跳转微信失败,请前往微信添加好友
打开微信
图标

业界新闻

当前位置:首页 > >业界新闻 > >

人工智能AI培训_中文文本分词

发布时间: 2019-08-29 13:43:18

  人工智能AI培训_中文文本分词

  1.实验简介
  中文分词(Chinese Word Segmentation) 指的是将一个汉字序列切分成一个个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层上,中文比之英文要复杂得多、困难得多。
  在自然语言处理技术中,中文处理技术比西文处理技术要落后很大一段距离,许多西文的处理方法中文不能直接采用,就是因为中文必需有分词这道工序。中文分词是其他中文信息处理的基础,比如搜索引擎、机器翻译、语音合成、自动分类、自动摘要、自动校对等,都需要用到分词。
  2.实验目的
  本章的主要内容就是基于Python3.6和中文分词框架jieba进行简单的分词操作演练,并对比多种分词模式的分词效果;本章总共4个小实验,前三个是对3种分词模式的简单演示,第4个案例主要是基于txt文本数据进行全文的分词展示。
  3.实验预备知识
  本实验操作需要学员有3方面的预备知识做支撑。
  自然语言处理中分词技术的相关理论基础支撑,分词是自然语言处理中最基础的操作,可用于多种自然语言处理任务;
  有相应Python语言实战基础,对Python基础的数据格式,数据类型以及相关的字符处理函数有所了解,并熟悉对文件的读写操作。

  对中文分词框架jieba当中的分词模块有相应的了解,主要是对分词函数及其相应参数有所了解。

  4.安装相关模块
  ​安装jieba分词模块。点击windows系统左下角的“开始”按钮,进入菜单列表:

  ​图1-1Anaconda Prompt
  ​点击“Anaconda Prompt”按钮,进入Anaconda系统:

  ​图1-2Anaconda 环境
  ​两种安装安装方式,基于Anaconda的conda install jieba和基于Python的pip install jieba,两种都可以使用,操作如下:

  ​图1-3安装jieba
  ​同样的操作流程,其他需要的Python框架安装也是如此。
  5.实验步骤
  ​本章内容包括4个小操作,都是基于jieba分词进行操作,其中结巴分词包括三种分词模式,下面就进行一一演示。具体如下:
    ​​jieba的精确分词模式实现;
    ​jieba的全分词模式实现;
    ​jieba的搜索分词模式实现;
    ​基于jieba的文本分词实现;
  ​5.1.精确模式分词
  代码:
  # 导入模块
  import jieba
  import warnings
  # 忽略警告
  warnings.simplefilter('ignore')
  # 精确模式
  print("----精确模式:----")
  # 分词语料
  s = u'华为合作伙伴网络是华为与合作伙伴之间的协作框架,包含一系列的合作伙伴计划。'
  # 精确分词
  cut = jieba.cut(s, cut_all = False, HMM=False)
  print(' '.join(cut))
  结果:
  ----精确模式:----
  华为 合作伙伴 网络 是 华为 与 合作伙伴 之间 的 协作 框架 , 包含 一系列 的 合作伙伴 计划 。
  5.2.全模式分词
  代码:
  # 全模式
  print("----全模式:----")
  # 全模式分词和HMM模式对比
  print(' '.join(jieba.cut(s, cut_all = True)))
  print(' '.join(jieba.cut(s, cut_all = False, HMM=False)))
  结果:
  ----全模式:----
  华为 合作 合作伙伴 伙伴 网络 是 华为 与 合作 合作伙伴 伙伴 之间 的 协作 框架   包含 一系 一系列 系列 的 合作 合作伙伴 伙伴 计划
  华为 合作伙伴 网络 是 华为 与 合作伙伴 之间 的 协作 框架 , 包含 一系列 的 合作伙伴 计划 。

  5.4.文本文件分词
  代码:
  # 文本分词
  old_file = "../data/华为.txt"
  new_file = "../data/华为cut.txt"
  # 读取数据
  with  open(old_file, 'r') as f:
  text = f.read()
  # 分词
  new_text = jieba.cut(text, cut_all=False)
  # 去掉标点符号
  str_out = ' '.join(new_text).replace(',', '').replace('。', '').replace('?', '').replace('!', '').replace('“', '').replace('”', '').replace(':','').replace('…', '').replace('(', '').replace(')', '').replace('—', '').replace('《', '').replace('》', '').replace('、', '').replace('‘', '').replace('’', '').replace('-', '').replace('\n', '')
  # 数据写入和保存
  With open(new_file, 'w', encoding='utf-8') as fo:
  fo.write(str_out)
  # 结果查看
  with open(new_file, "r", encoding="utf-8") as f:
  print(f.readline(1000))
  结果:
  公司简介  华为 是 全球 领先 的 ICT  信息 与 通信  基础设施 和 智能 终端 提供商  致力于 把 数字 世界 带入 每个 人  每个 家庭  每个 组织  构建 万物 互联 的 智能 世界  我们 在 通信 网络  IT  智能 终端 和 云 服务 等 领域 为 客户 提供 有 竞争力  安全 可信赖 的 产品  解决方案 与 服务  与 生态 伙伴 开放 合作  持续 为 客户 创造 价值  释放 个人 潜能  丰富 家庭 生活  激发 组织 创新  华为 坚持 围绕 客户 需求 持续 创新  加大 基础 研究 投入  厚积薄发  推动 世界 进步  华为 成立 于 1987 年  是 一家 由 员工 持有 全部 股份 的 民营企业  目前 有 18 万 员工  业务 遍及 170 多个 国家 和 地区    我们 为 世界 带来 了 什么   为 客户 创造 价值  华为 和 运营商 一起  在 全球 建设 了 1 , 500 多张 网络  帮助 世界 超过 三分之一 的 人口 实现 联接  华为 携手 合作伙伴  为 政府 及 公共事业 机构  金融  能源  交通  制造 等 企业 客户  提供 开放  灵活  安全 的 端 管云 协同 ICT 基础设施 平台  推动 行业 数字化 转型 ; 为云 服务 客户 提供 稳定 可靠  安全 可信 和 可 持续 演进 的 云 服务  华为 智能 终端 和 智能手机  正在 帮助 人们 享受 高品质 的 数字 工作  生活 和 娱乐 体验   推动 产业 良性 发展  华为 主张 开放  合作  共赢  与 客户 合作伙伴 及友商 合作 创新  扩大 产业 价值  形成 健康 良性 的 产业 生态系统  华为 加入 360 多个 标准 组织  产业 联盟 和 开源 社区  积极参与 和 支持 主流 标准 的 制定  构建 共 赢 的 生态圈  我们 面向 云 计算  NFV / SDN  5G 等 新兴 热点 领域  与 产业 伙伴 分工协作  推动 产业 持续 良性 发展   促进 经济 增长  华为 不仅 为 所在 国家 带来 直接 的 税收 贡献  促进 当地 就业  形成 产业链 带动 效应  更 重要 的 是 通过 创新 的 ICT 解决方案 打造 数字化 引擎  推动 各行各业 数字化 转

  6.实验小结
本章主要是基于中文分词框架jieba进行多种jieba分词模式的演练和操作,由于每种模式的分词效果各不相同,所以可以根据不同的需求进行相应模式的选择。

上一篇: 大数据培训_Kafka 组件的介绍

下一篇: 大数据培训_容量调度器的介绍

在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!