http://www.0x32.cn/html/y2010/563.html

在测试过程中需要从文本中拿到指定词性的词,比如名词或者动词,各种词性的定义我们可以依靠搜狗的语料库来实现,从搜狗实验室下载到词库后解压可以看到搜索词库的格式:

图中的数据表示:词、在互联网的词频、然后是词性。

看这个东西就可以一目了然,多种词性,包括平时很少会用到得。

下面我们需要判断一个从文本中分出的词是否为名词或者动词,就需要读取这个搜狗词库,大小在2Mb左右,结果返回一个布尔就可以了。

我们期望调用的形式:

FreqWordsHandler.isFreqWords(word);

word表示需要判断的词,这句代码会返回一个布尔值,FreqWordsHandler是需要我们实现的一个静态的类,代码如下:

/**

*

*/

package org.nsir.terms;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

/**

* 用于得到指定词性的词

*

* @author HideHai

*

*/

public class FreqWordsHandler {

private static List freqWordsList = null;

public static boolean isFreqWords(String words) {

// System.out.println(words);

for (String s : freqWordsList) {

if (s.equals(words)) {

return true;

}

}

return false;

}

public static List getFreqWords(String path, String type) {

List reList = new ArrayList();

File file = new File(path);

try {

FileReader reader = new FileReader(file);

BufferedReader buffer = new BufferedReader(reader);

String tempStr = "";

while ((tempStr = buffer.readLine()) != null) {

if (tempStr.contains(",")) {

String[] freqWors = tempStr.split("");

String words = freqWors[0];

String wordType = freqWors[2];

String[] freqType = wordType.split(",");

for (String splittype : freqType) {

if (splittype.equals("N")

|| splittype.equals("V")

//|| splittype.equals("ADV")

//|| splittype.equals("ADJ")

) {

reList.add(words);

}

}

} else if (tempStr.contains("IDIOM")) {

String[] freqWors = tempStr.split("");

reList.add(freqWors[0]);

}

}

buffer.close();

reader.close();

return reList;

} catch (IOException e) {

e.printStackTrace();

}

return null;

}

static {

if (freqWordsList == null) {

freqWordsList = getFreqWords(

"x:\Freq\SogouLabDic.dic", "N");

}

}

public static void main(String[] args) {

isFreqWords("稗官小说");

}

}

这样如果传入的词在词库中标记为名词或者动词,我们就返回一个True。

java通过搜狗词库过滤指定词性,JAVA通过搜狗词库过滤指定词性相关推荐

  1. 网站发帖敏感字java_网站敏感词过滤的实现(附敏感词库)

    现在基本上所有的网站都需要设置敏感词过滤,z似乎已经成了一个网站的标配,如果你的网站没有,或者你没有做相应的处理,那么小心相关部门请你喝茶哦. 最近在调研Java web网站的敏感词过滤的实现,网上找 ...

  2. java实现敏感词过滤算法DFA并忽略敏感词中的特殊字符

    参考文章:https://blog.csdn.net/chenssy/article/details/26961957 补充说明: 1.具体的DFA介绍参考原文章,此处只是补充了文章中没有介绍的点以及 ...

  3. 敏感词过滤算法 为内容保驾护航 Java/.Net/C++/c/Python等语言是如何进行敏感词打码限制的 高效防范违规内容

    有人的地方,就有江湖,有输入框的地方,就有注入风险!有输入框的地方,就有敏感词!敏感词就像一个平台杀手,可能直接导致平台被封锁! 敏感词是一个APP.一个网站.一个内容平台的"杀手" ...

  4. 从搜狗获取行业词库并转换成jieba可用的词库文件

    从搜狗获取行业词库并转换成jieba可用的词库文件 从搜狗获取行业词库 利用网站在线转换 利用Django建立网站 从搜狗获取行业词库 搜狗官方的词库地址 下载下来后是.scel扩展名的文件 利用网站 ...

  5. JAVA开源中文分词器Ansj(依赖注入+调用方式+停词器)

    Java有11大开源中文分词器,分别是word分词器,Ansj分词器,Stanford分词器,FudanNLP分词器,Jieba分词器,Jcseg分词器,MMSeg4j分词器,IKAnalyzer分词 ...

  6. php怎么过滤关键字,PHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字_PHP教程...

    PHP屏蔽过滤指定关键字的方法,php屏蔽过滤关键字 本文实例讲述了PHP屏蔽过滤指定关键字的方法.分享给大家供大家参考.具体分析如下: 实现思路: 一.把关键字专门写在一个文本文件里,每行一个,数量 ...

  7. guava 集合转换_Guava的Collections2:过滤和转换Java集合

    guava 集合转换 Groovy的便利之一是能够通过Groovy的闭包支持轻松地对集合执行过滤和转换操作. Guava将对集合的过滤和转换引入标准Java,这是本文的主题. Guava的Collec ...

  8. Guava的Collections2:过滤和转换Java集合

    Groovy的便利之一是能够通过Groovy的闭包支持轻松地对集合执行过滤和转换操作. Guava将对集合的过滤和转换引入标准Java,这是本文的主题. Guava的Collections2类具有两个 ...

  9. jsp java el表达式_jsp相关笔记,el表达式、jsp标签库(jstl)

    一.jsp基础部分 1.介绍 概念 JSP(Java Server Page),java服务器端页面,可以定义html标签,又可以定义java代码. 原理 JSP本质上就是一个Servlet 2.JS ...

最新文章

  1. Palo Alto 亚太区首席安全官:未来中国五大安全问题突出...
  2. NB-IoT,你真是太让我失望了
  3. 关于__VA_ARGS__的说明
  4. Delphi资源文件的应用(转)
  5. 1720: 交换瓶子
  6. Git 使用,命令说明
  7. Winsock编程补遗
  8. 生死狙击服务器名字怎么修改器,生死狙击修改金币方法
  9. 装饰者模式(Decorator pattern)
  10. 使用SVG绘制湖南地图
  11. R软件本地安装GitHub下载的R包
  12. springboot 整合 j2cache
  13. coodblock调试_codeblocks怎么调试?
  14. python爬虫学习(2) —— 爬一下ZOL壁纸
  15. ipad iphone开发_如何在iPhone或iPad上恢复已删除的照片
  16. 获取矩阵内非零元素坐标
  17. 2019年 十款Mac上必备的实用软件列表
  18. 基于BootStrap仿淘宝星星商品评价案例
  19. 千锋逆战班学习第二十五天
  20. designed for 和designed to 区别

热门文章

  1. 开始上班了,却不知道要做什么
  2. k8s集群部署springcloud 单应用
  3. 修改数据库数据(INSERT、UPDATE、DELETE)
  4. SYSTEMTIME
  5. lichee nano 荔枝派入门——linux内核
  6. ADB投屏_无需ROOT的跨平台投屏工具
  7. 结合奥维地图与百度地图api进行路径规划开发测试(python、HTML)
  8. 和家亲平台——H5管控页设计
  9. Micro Framework 3 0模拟器改造
  10. 计算机在生物工程中的应用 华中农业大学,华中农业大学生物信息、生物统计、农业信息工程 2017年夏令营通知...