聊天机器人之文本分词

1. 准备词典和停用词

1.1 准备词典

1.2 准备停用词

stopwords = set([i.strip() for i in open(config.stopwords_path).readlines()])

关于结巴分词的详细代码操作,查看博文:https://blog.csdn.net/weixin_44799217/article/details/115244829

2. 准备按照单个字切分句子的方法

import redef cut_by_word(sentence):# 对中文按照字进行处理,对英文不分为字母sentence = re.sub("\s+", " ", sentence)  # 匹配空白,即 空格,tab键sentence = sentence.strip()result = []temp = ""for word in sentence:if word.lower() in letters:temp += word.lower()else:if temp != "":  # 不是字母result.append(temp)temp = ""if word.strip() in filters:  # 标点符号continueelse:  # 是单个字result.append(word)if temp != "":  # 最后的temp中包含字母result.append(temp)return result

3. 完成分词方法的封装

lib 下创建cut_sentence.py文件,完成分词方法的构建

import logging
import jieba
import jieba.posseg as psg  # 分词并返回词性
import config
import re
import string# 关闭jieba log输出
jieba.setLogLevel(logging.INFO)  # 这行代码使程序运行时的4行红字去掉
# 加载词典
jieba.load_userdict(config.keywords_path)
# 单字分割,英文部分
letters = string.ascii_lowercase
# 单字分割 去除的标点
filters = [",", "-", ".", " "]
# 停用词
stopwords = set([i.strip() for i in open(config.stopwords_path).readlines()])def cut(sentence, by_word=False, use_stopwords=False, with_sg=False):""":param sentence: str句子:param by_word: 是否按照单个字分词:param use_stopwords: 是否使用停用词:param with_sg: 是否返回词性:return: """assert by_word != True or with_sg != True, "根据word切分时候无法返回词性"if by_word:return _cut_by_word(sentence)else:ret = psg.lcut(sentence)if use_stopwords:ret = [(i.word, i.flag) for i in ret if i.word not in stopwords]if not with_sg:ret = [i.word for i in ret]return retdef _cut_by_word(sentence):# 对中文按照字进行处理,对英文不分为字母sentence = re.sub("\s+", " ", sentence)sentence = sentence.strip()result = []temp = ""for word in sentence:if word.lower() in letters:temp += word.lower()else:if temp != "":  # 不是字母result.append(temp)temp = ""if word.strip() in filters:  # 标点符号continueelse:  # 是单个字result.append(word)if temp != "":  # 最后的temp中包含字母result.append(temp)return result

聊天机器人之文本分词相关推荐

  1. 聊天机器人之文本聚类分析

    目录 文本聚类 聚类算法 Affinity propagation 算法概述 特点 K-means 算法概述 特点 Chinese Whispers 算法概述 特点 选择算法 计算过程优化 聚类API ...

  2. 人工智能标记语言AIML聊天机器人:…

    人工智能标记语言AIML聊天机器人:产生.种类.应用.实例.AIML概述.知识库.公司.业界(20k字经典收藏版) 秦陇纪10译编 聊天机器人(chatterbot)是一个用来模拟人类对话或聊天的程序 ...

  3. 人工智能标记语言AIML聊天机器人:产生、种类、应用、实例、AIML概述、知识库、公司、业界(20k字经典收藏版)...

    目录 一.聊天机器人(chatbots)的产生.盛行.中文版 二.聊天机器人种类及应用场景简介 三.聊天机器人相关疑问与常见实例 四.人工智能标记语言(AIML)概述(Dr.理查德S.华勒斯Richa ...

  4. 使用TensorFlow.js的AI聊天机器人三:改进了文本中的情感检测

    目录 使用通用语句编码器设置TensorFlow.js代码 GoEmotion数据集 通用句子编码器 训练AI模型 让我们发现情绪 终点线 下一步是什么? 下载项目代码-9.9 MB TensorFl ...

  5. 使用TensorFlow.js的AI聊天机器人一:检测文本中的情绪

    目录 设置TensorFlow.js代码 GoEmotion数据集 言语包 训练AI模型 检测文本中的情绪 终点线 下一步是什么? 下载项目代码-9.9 MB TensorFlow + JavaScr ...

  6. JAVASCRIPT实现基于文本的自动智能聊天机器人

    原创作者:一粒马豆&冰豆小李 首先让我们来看看这样一种语言现象: 研表究明,汉字序顺并不定一影阅响读. Aoccdrnig to a rscheearch at an Elingsh uine ...

  7. 聊天机器人落地及进阶实战 | 公开课速记

    嘉宾 | 邵浩 编辑 | suiling 来源 | AI科技大本营在线公开课 近年来,聊天机器人技术及产品得到了快速的发展.聊天机器人作为人工智能技术的杀手级应用,发展得如火如荼,各种智能硬件层出不穷 ...

  8. 聊天机器人之语料准备

    聊天机器人之语料准备 1. 分词词典 最终词典的格式: 词语 词性(不要和jieba默认的词性重复) 1.1 词典来源 各种输入法的词典          [通过下面链接下载使用] 例如:https: ...

  9. 《预训练周刊》第21期:FlipDA:有效且稳健的数据增强小样本学习、开放域低资源适应的生成式聊天机器人...

    No.21 智源社区 预训练组 预 训 练 研究 观点 资源 活动 关于周刊 超大规模预训练模型是当前人工智能领域研究的热点,为了帮助研究与工程人员了解这一领域的进展和资讯,智源社区整理了第21期&l ...

最新文章

  1. CCS5.5 中报错 Does not match the target type,not loaded 的一种情况
  2. Oracle查询锁表以及杀会话或系统进程来解除锁表操作
  3. spark-submit提交参数说明以及与yarn-site.xml中参数的相互约束关系+spark运行架构图解(持续更新中)
  4. java方法2数据求和_Leet Code 2 Add Two Numbers - 链表表示的两个数求和 - Java
  5. 最美旗舰机型又将易主?三星Galaxy S11高清渲染图曝光
  6. Linux 镜像文件ISO下载地址、centos网络配置:
  7. 小波同态滤波 matlab,matlab同态滤波程序
  8. java jersey_Jersey框架
  9. echarts绘制地理坐标/地图
  10. linux登出用户,Linux系统中用户的登入登出命令详解
  11. 互联网服务器信息检索,网络信息检索的一般方法
  12. 学习ELMo从文本中提取特征的分步NLP指南
  13. 云盘里资料被和谐了,怎么办?
  14. PMC亮相IDF展示12G SAS分层存储解决方案
  15. python from import什么意思_Python import与from import使用及区别介绍
  16. 文档,图片有水印很让人头痛!处理起来很麻烦?用Python三秒搞定!
  17. js的计时事件. 圆形时钟
  18. 2022年寒假训练赛(2020级)题解
  19. hackme guestbook
  20. [STM32] 分散加载文件 之一 (初探)

热门文章

  1. 你还有学了三年建模的朋友吗?他有救了
  2. Python 炫技操作:海象运算符的三种用法
  3. 深度残差收缩网络:借助注意力机制实现特征的软阈值化
  4. 简单粗暴上手TensorFlow 2.0,北大学霸力作,必须人手一册!
  5. 如何打造高质量的机器学习数据集?这份超详指南不可错过
  6. 报名 | 美团是怎样给你推荐外卖的?美团大脑知识图谱详解
  7. AlphaGo的制胜秘诀:蒙特卡洛树搜索初学者指南
  8. 迈克尔 · 乔丹:我讨厌将机器学习称为AI
  9. 如何设计一个支撑数亿用户的系统
  10. LayUI 走了,JDK17 来了