# -*- coding: utf-8 -*-
# 去重:①同义词去重,停顿词去掉 ②删除特殊符号  ③ 删除重复
import re
from typing import Iterable
import time
import jiebajieba.initialize()
jieba.load_userdict('./stopword.txt')tongyici = {'梦见': ['梦到', '做梦'],'怎么': ['怎么样', '如何'],'男孩': ['男孩子', '男宝宝', '男生'],'女孩': ['女孩子', '女宝宝', '女生', '闺女'],
}# 去除特殊符号
def remove_char(word_text: str):word_text = re.sub(r"[! ?:;$#^&*()@+\-\\|=_—…%¥!《》.,<>?。,:;’“【】、]+", "", word_text)# 删除单个字母return re.sub(r'([^a-z]*)[a-z]([^a-z]*)', '\g<1>\g<2>', word_text, flags=re.I)# 去掉同义词
def replace_word(tyc, word):new_word = wordfor ke, va in tyc.items():new_word = re.sub('|'.join(va), ke, new_word)return [w for w in new_word.split('\n')]#去掉停词,双循环在词量大的条件下创建字典效率非常低下
# def repalce_stopword(stop_words: Iterable, text: Iterable):
#     result = {}
#     for word in text:
#         new_word = word
#         for item in stop_words:
#             new_word = re.sub(item, '', new_word)
#         result[word] = new_word# 去除重复# return resultdef repalce_stopword(stop_words, text):result2 = {}for word in text:#通过jieba导入,取交际替换,避免出现单一停词替换影响语句不通顺的问题。cut_word = jieba.lcut(word)new_cut_word = set(cut_word)same_word = new_cut_word&stop_wordsnew_words = ''.join(w for w in cut_word if w not in same_word)result2[word] = new_wordsreturn result2def quchong(word):result1 = {}for key1, val1 in word.items():if result1.get(val1):result1[val1].append(key1)else:result1[val1] = [key1]return result1if __name__ == '__main__':with open('keywords.txt', encoding='utf-8') as fd:start_time = time.time()words = remove_char(fd.read())next_text = replace_word(tongyici, words)with open('stopword.txt', encoding='utf-8') as fs:# print(fs.read())stop_word = {w.strip() for w in fs.readlines()}next_stop = repalce_stopword(stop_word, next_text)qc_word = quchong(next_stop)result = {}with open('quchong.txt',"w",encoding='utf-8') as fd:for key,val in qc_word.items():num = val[0]for index in range(1,len(val)):if len(val[index]) > len(num):num = indexresult[key] = numfor key,val in result.items():fd.write(f"[{key}]\t[{val}]\n")# 保留字数最多的词,搜索量大的词,竞争度小的词print(f'处理耗时:{time.time() - start_time:.3f}s')

同义词替换,停词去除相关推荐

  1. elasticsearch analysis模块 自定义分词 拼音分词 同义词 停词

    Analysis Analysis 解析器由三个模块=character filters(字符过滤器), tokenizers(标记器), and token filters(标记过滤器)组成 Ana ...

  2. springboot基于Elasticsearch6.x版本进行ES同义词、停用词(停止词)插件配置,远程词典热加载及数据库词典热加载总结,es停用词热更新,es同义词热更新

    前言:ES版本差异较大,建议跨版本的同学,可以先了解一下版本区别,建议不要跨版本使用插件或者进行项目调试. 本总结主要基于6.x版本的6.5.1(6.2.2实测可用),分词器为IK,下载地址:http ...

  3. [Python3] 简单的jieba分词以及停用词去除

    本文主要为[爬取百度搜索内容页广告均数]提供关键词文件,主要做输入文件的分词功能,并写入key_word.txt文件,以供下一模块使用. https://blog.csdn.net/qq_367913 ...

  4. 文本数据增强-同义词替换、随机交换、随机插入、随机删除

    根据zhangy代码改写,主要针对千言问题匹配进行文本数据增强. 依赖安装 pip install jieba pip install synonyms eda.py import jieba imp ...

  5. SEO批量文章繁简转换,同义词替换

    网站建设如何批量将繁体字转成简体字,繁简互转的方式很多,怎么将多篇繁体字文章转化为对应的简体字文章?SEO内容处理工具可以对在线或本地Word.Excel.TXT.HTML等繁体文章批量转化为简体文章 ...

  6. 文本数据增强二(EDA、同义词替换-新增-交换-删除-生成同义句)

    一.中文文本数据增强 (中文.同义句生成.enhance.augment.text.data.nlp.样本不均衡.语料不够.数据不足.扩充增加),相较于图片,中文文本数据强的效果似乎没那么靠谱(效果没 ...

  7. python汉字同义词替换_python同义词替换的实现(jieba分词)

    TihuanWords.txt文档格式 注意:同一行的词用单个空格隔开,每行第一个词为同行词的替换词. 年休假 年假 年休 究竟 到底 回家场景 我回来了 代码 import jieba def re ...

  8. python同义词替换(jieba分词)

    python同义词替换(jieba分词) TihuanWords.txt文档格式 注意:同一行的词用单个空格隔开,每行第一个词为同行词的替换词. 年休假 年假 年休 究竟 到底 回家场景 我回来了 代 ...

  9. seo同义词替换在线工具_8个免费的网站管理员在线SEO工具

    seo同义词替换在线工具 There are some great tools available to help webmasters with their SEO. Unfortunately, ...

最新文章

  1. 元素序列几个常用排序算法:一
  2. linux环境下安装tomcat6
  3. git 避免重复输入用户名密码问题解决
  4. 一文弄懂用户画像以及如何召回用户
  5. android更改menu字体颜色,Android动态修改menu颜色
  6. HTML5事件——contextmenu 隐藏鼠标右键菜单
  7. JavaScript中的String substring()方法和示例
  8. 测试监控系列:使用vb批量统计nmon结果
  9. PHP面试题:HTTP中POST、GET、PUT、DELETE方式的区别
  10. 【OVRP问题】基于鲸鱼优化算法求解开放式车辆路径问题附matlab代码
  11. linux三星电脑开机怎么进入页面,三星Samsung笔记本电脑开机进入BIOS的方法与BIOS设置全功能菜单(F2)...
  12. 一语道破项目管理知识体系42个过程
  13. 华中科技大学计算机王凯,苗蕾-环境科学与工程学院
  14. RecyclerView让置顶项置顶
  15. 网吧电脑算完整的计算机系统么,怎么看网吧电脑的系统和位数?
  16. Cannot autogenerate id of type java.lang.Integer for entity
  17. python输入一个数输出绝对值_python如何使用绝对值
  18. 2022年美团科研合作课题公开征集启动
  19. AMD,CMD,UMD 三种模块规范 写法格式
  20. 1271:【例9.15】潜水员

热门文章

  1. python获取日期
  2. 每天吃坚果导致高血脂,记住这4点,吃得更健康
  3. 肖恩·帕克:让Airtime开启你的互联网新世界
  4. VINS-Fusion代码阅读(四)
  5. 【论文解读】用于白内障分级/分类的机器学习技术
  6. 多项式A除以B(模拟)
  7. 刚换了IXWebHosting主机, 非常超值
  8. coldfusion_ColdFusion中的一周:5月7日至13日:社区和开源
  9. 让 Anchor 属性拥有设计时行为
  10. Windows Server 2019 新功能概述