最近在学习自然语言处理,在建立基础标签库时,遇到一个需要提取语料中的英文单词的工作,做好了现在来和大家分享下。

实现效果:读取文件内容,把其中的英文单词提取出,并统计词频。提取时,原本不是连在一起的单词可以分开独立提取,例如:我的PPT和WORD,可以提取出PPT,WORD两个单词。

基本思想:如果直接用正则表达式把其他非字母字符都过滤掉,那么剩下的英文单词就会连在一起了,所以,在处理时,应该保留下分隔英文单词的字符。首先文本可能会存在乱七八杂的符号,先把这些符号过滤掉(包括数字也可以过滤掉,看自己需要),然后剩下的就是英文和中文啦,这时候再把英文按中文分开提取就好啦。

举个栗子:我要处理的文本内容是:我的#……¥@PPT和#@WORD

第一步:过滤乱七八糟符号后(用正则表达式就好啦),变为:我的PPT和WORD

第二步:把中文换为*号(同样用正则表达式就好啦),变为:**PPT*WORD

最后:按*号分开提取(用StringTokenizer),变为:PPT   WORD

也就是这样的逻辑:

Java正则表达式过滤、替换,将一段文本中的英语单词分别提取出,并统计词频,按词频排序。相关推荐

  1. 使用java,计算一段文本中出现英语单词次数最多的单词

    package cn.rrl.interview;import java.util.ArrayList; import java.util.Collections; import java.util. ...

  2. 编写一个方法,将一段文本中的各个单词的字母顺序翻转题

    编写一个方法,将一段文本中的各个单词的字母顺序翻转题 1.任务介绍 编写一个方法,将一段文本中的各个单词的字母顺序翻转, 例如:"I like writing code best" ...

  3. 将文本中的各个单词的字母顺序翻转(Java)

    题目大意 编写一个方法,将一段文本中的各个单词的字母顺序翻转, 例如:"I like writing code best",将变成"I ekil gnitirw edoc ...

  4. java 正则表达式过滤_java正则表达式过滤特殊字符

    Java用正则表达式 过滤特殊字符,只允许中文.字母Java用正则表达式 过滤特殊字符,只允许中文.字母或数字,该怎么写? String s1="我是正确测试数据aasdf2342343AS ...

  5. 用JAVA正则表达式轻松替换JSON中大字段

    用JAVA正则表达式轻松替换JSON中大字段 (一)背景 (二)正则表达式 (三)在JAVA代码中的实现 (四)合并正则表达式 (五)最终结果 (六)所感 (一)背景 在软件开发工作中我们经常用JSO ...

  6. Java正则表达式过滤出字母、数字和中文

    Java中过滤出字母.数字和中文的正则表达式 过滤出字母的正则表达式 [^(A-Za-z)] 过滤出 数字 的正则表达式 [^(0-9)] 过滤出 中文 的正则表达式 [^(\\u4e00-\\u9f ...

  7. python 词库 匹配_python从一段文本中找出存在于词库的词语

    python从一段文本中找出存在于词库的词语 有现成的库吗? 可能不是最佳答案,只是提供一个思路. 个人觉得这个问题并不需要什么库,先把词库载入,弄成列表什么的.然后再把你需要匹配的文本读入,反过来想 ...

  8. javascript实现 文本过滤 找出一段文本中的所有数字/数值 并在去重后排序

    文章目录 Intro 浏览器控制台 JavaScript API测试 从一串文本中按照某种模式提取出匹配的子字符串 String.prototype.match(regexp) 数组去重 Array- ...

  9. Python实现计算一段文本中每个单词出现的次数

    看实验楼的课程,有一个小练习,做了一下.要求用Python实现计算一段文本中每个单词出现的次数. sentence = 'hello world nihao world hey hello java ...

  10. 删除文本中重复的单词

    在这#encoding=gbk 声明字符类型为gbk,声明前后不能有空格,否则会出错 '''删除文本中重复的单词''' with open('真题词汇--英语一.txt','r') as file:f ...

最新文章

  1. 把文件自动add_【Blender】常用Add-Ons
  2. 【Machine Learning】KNN学习算法与C语言实现
  3. python用tsne降维_哈工大硕士实现了 11 种经典数据降维算法,源代码库已开放
  4. e300氛围灯哪里调节_让快乐来得更简单!体验新宝骏E300/E300 PLUS
  5. java 记事本编译_肿么用记事本编译运行java程序代码?
  6. 软考信息系统项目管理师_项目范围管理1---软考高级之信息系统项目管理师011
  7. 【招聘内推】阿里巴巴广告/推荐/搜索-算法工程师岗位
  8. HDU 3584 三维树状数组
  9. Cerberus 银行木马开发团队解散,源代码5万美元起拍
  10. 救命!!连接Oracle问题,在线等!
  11. 自然语言处理(八)——语言模型性能评价
  12. 原理图符号(原理图库)创建流程及注意事项
  13. FANUC机器人基础学习_示教器详解(图文)
  14. 基础笔记(三):网络协议之Tcp、Http
  15. ping通服务器和telnet通端口
  16. Mysql 锁机制详解
  17. php 搜索引擎 分词_PHP使用elasticsearch搜索安装及分词方法
  18. Nginx中root与alias区别
  19. 设置centos7.3的YUM源为国内阿里云源
  20. 图论算法 有图有代码 万字总结 向前辈致敬

热门文章

  1. ssm毕设项目社区闲置物品交易平台z10mc(java+VUE+Mybatis+Maven+Mysql+sprnig)
  2. Java 实现 蓝桥杯 等额本金
  3. oracle用一条sql查出哪些数据不在某个表里
  4. Django 学生就业管理系统 计算机毕设源码24237
  5. 电脑正确的关机方法你知道吗
  6. 攻防世界-宜兴网信办-inget
  7. 安装win10时关闭计算机,安装win10后,我关闭了这几个功能,电脑瞬间好用太多了...
  8. 文本无关的声纹识别 验证
  9. 【自用】图像压缩感知(二)
  10. Redirected when going from “/login“ to “/“ via a navigation guard.