精华内容
下载资源
问答
  • 1. 整体思路第一步:先将中文文本进行分词,这里使用的HanLP-汉语言处理包进行中文文本分词。第二步:使用停用词表,去除分好的词中的停用词。2. 中文文本分词环境配置使用的HanLP-汉语言处理包进行中文文本分词。·...

    1. 整体思路

    第一步:先将中文文本进行分词,这里使用的HanLP-汉语言处理包进行中文文本分词。

    第二步:使用停用词表,去除分好的词中的停用词。

    2. 中文文本分词环境配置

    使用的HanLP-汉语言处理包进行中文文本分词。

    ·HanLP-汉语言处理包下载,可以去github上下载

    ·HanLP 的环境配置有两种方式:方式一、Maven;方式二、下载jar、data、hanlp.properties。

    ·官方环境配置步骤也可以在github上查询到。

    ·环境配置好后,java使用HanLP进行中文分词文档如下:http://hanlp.linrunsoft.com/doc.html

    3. 下载停用词表

    停用词表可以去百度或者其他搜索引擎检索一份,很容易就找到!

    4. 去除停用词工具类

    使用这个工具类的之前,请先完成中文文本分词环境配置,并测试一下。停用词 .txt 文件路径请修改为自己的本地路径。

    6ab56df4c70696e604011f0b0fae814f.png

    5. 工具类测试

    5.1 测试代码

    public class test {

    public static void main(String args[]) {

    try {

    System.out.println(FormatUtil.RemovalOfStopWords("床前明月光,疑是地上霜。举头望明月,低头思故乡。"));

    } catch (IOException e) {

    e.printStackTrace();

    }

    }

    5.2 测试结果

    2d0d389c76f9637c1507af7a6f19f607.png

    文章转载自 syrdbt 的博客

    展开全文
  • 一、背景笔者2年前写过一篇《PHP使用elasticsearch搜索安装及分词方法》的文章,记录了使用ES的分词的实现步骤,最近又需要用到分词,在网上发现一个百度的中文分词项目,中文词法分析(LAC) ,决定使用一番,并把...

    一、背景

    笔者2年前写过一篇《PHP使用elasticsearch搜索安装及分词方法》的文章,记录了使用ES的分词的实现步骤,最近又需要用到分词,在网上发现一个百度的中文分词项目,中文词法分析(LAC) ,决定使用一番,并把这次试用通过文章记录下来,给有需要的朋友一个参考吧

    中文词法分析LAC 支持Python、C++、JAVA、Android 用接口调用,其他语言的话就需要开发者自己自行封装了,笔者这次决定使用Python进行实验,在文中也会把相关代码给贴出来,给大家作为一个参考

    二 安装LAC

    LAC2.0 的安装方式非常简单,直接使用pip安装即可,但是国内访问pip软件源可能比较慢,因此我们可以用上加速地址,参考命令如下所示

    pip3 install lac  -i https://mirror.baidu.com/pypi/simple

    命令执行完成之后,返回的信息如下所示

    a30c001049e35a4fd44815af674bbaca.png

    安装注意事项

    1. LAC有1.0 和2.0 ,在码云中显示的是1.0,但是并没有特意标明,1.0 的版本安装过程非常比较麻烦,安装过程也容易出错,建议大家可以去github查看LAC 2.0的安装方式
    2. 如果你是windows系统想用wsl去安装,不要使用WSL1.0,因为他不支持LAC的依赖组件paddle,也就没办法正确安装LAC了
    3. LAC 安装需要注意你的Python版本,不能大于3.7,笔者做实验的时候使用的Python3.8版本,结果报了如下错误

    bbf7e95a0d81f422f9e462888839eb01.png

    三、 运行DEMO

    为了验证是否已经将LAC安装成功,这里笔者运行了一下DEMO示例代码,首先新建了一个代码文件lac.py,然后将demo代码复制进去,代码如下所示

    # -*- coding: utf-8 -*-
    from LAC import LAC
    
    # 装载分词模型
    lac = LAC(mode='seg')
    
    # 单个样本输入,输入为Unicode编码的字符串
    text = u"大王叫我来巡山"
    seg_result = lac.run(text)
    print(seg_result)
    
    # 批量样本输入, 输入为多个句子组成的list,平均速率会更快
    texts = [u"山里有个庙", u"庙里有个老和尚跟一个小和尚"]
    seg_result = lac.run(texts)
    print(seg_result)

    接着使用Python运行这个文件,执行命令如下

    python lac.py

    命令执行之后,返回的分词词汇标注信息如下所示

    7697df9e5485ae3d8a6bdc689ef7c372.png

    从上面图片可以看到,LAC已经将一段文本进行了分词,说明我们安装LAC成功,

    LAC 除了可以进行分词之外,还可以用来做词性标注与实体识别,我们接着继续运行demo代码,笔者首先新建了一个代码文件lac2.py,然后将用来做词性标注和实体识别的demo代码复制进去,代码如下所示

    from LAC import LAC
    
    # 装载LAC模型
    lac = LAC(mode='lac')
    
    # 单个样本输入,输入为Unicode编码的字符串
    text = u"我想涨工资"
    lac_result = lac.run(text)
    
    print(lac_result)
    
    # 批量样本输入, 输入为多个句子组成的list,平均速率更快
    texts = [u"汤青松长得好帅", u"我喜欢做安全开发工程师"]
    lac_result = lac.run(texts)
    
    print(lac_result)

    接着使用Python运行这个文件,执行命令如下

    python lac2.py

    命令执行之后,返回的分词词汇标注信息如下所示

    c00ca29f6f732d01a054cb4d526bf368.png

    在上图中我们可以看到,这次LAC不仅返回了分词结果,还返回另外一个词汇类型的list,笔者粗略的核对了一下,基本都能对应上,比如笔者的名字标识为PER 人名类型,好帅标示为 a 形容词类型

    下面是词性和专名类别标签集合,其中我们将最常用的4个专名类别标记为大写的形式:

    | 标签 | 含义 | 标签 | 含义 | 标签 | 含义 | 标签 | 含义 | | --- | --- | --- | --- | --- | --- | --- | --- | | n | 普通名词 | f | 方位名词 | s | 处所名词 | nw | 作品名 | | nz | 其他专名 | v | 普通动词 | vd | 动副词 | vn | 名动词 | | a | 形容词 | ad | 副形词 | an | 名形词 | d | 副词 | | m | 数量词 | q | 量词 | r | 代词 | p | 介词 | | c | 连词 | u | 助词 | xc | 其他虚词 | w | 标点符号 | | PER | 人名 | LOC | 地名 | ORG | 机构名 | TIME | 时间 |

    四、试用感想

    LAC是一个非常不错的分词工具,并不是用来直接为业务提供搜索支持,而是作为一个搜索引擎的基础工具;

    比如当你想将网站的文章标题用于站内搜索,使用LAC进行了分词,分词之后这些数据你还需要额外的存储,用来作为搜索使用,因为LAC只提供分词功能,所以感觉LAC适合作为分词搜索引擎的一部分,如果你想用来分词搜索站内信息,倒不如ES的那么方便。

    笔者也好奇LAC项目的适用场景是什么?从LAC项目的产品口中得知回答如下:

    LAC适用场景更多是与实体识别相关的,比如知识图谱,知识问答,信息抽取等,也可以作为其他模型算法的基础工具,因为其分词粒度是以实体作为粒度的,同时兼具实体识别的效果,而在搜索引擎中一般使用的分词粒度会更小一些,或者同时提供多种粒度,如果要面向搜索的分词,还需要用户自行进行微调模型

    -

    作者:汤青松

    日期:2020-07-07

    展开全文
  • 文本语义分词工具

    2013-11-10 20:39:44
    文本 语义 分词工具
  • Java中文分词工具AnsjSeg使用

    千次阅读 2015-12-17 15:09:13
    对于Java语言,有许多可选的分词工具,如中科院计算所的NLPIR(原ICTCLASS)、盘古分词、IKAnalyzer、PaodingAnalyzer,其中,试用过ICTCLASS及其后续版本,刚开始感觉不错,但是Java调用C语言的方式实在是受不了,...


    2015-1-14阅读474 评论0

            中文分词是进行中文文本分析的一个重要步骤。对于Java语言,有许多可选的分词工具,如中科院计算所的NLPIR(原ICTCLASS)、盘古分词、IKAnalyzer、PaodingAnalyzer,其中,试用过ICTCLASS及其后续版本,刚开始感觉不错,但是Java调用C语言的方式实在是受不了,没有原生Java编写的用着方便,最近在处理一些论坛评论数据,数据质量很差,感觉用这个就错得一塌糊涂,印象最不好的是以前做一个简单项目,结果在最关键的最后阶段,竟然显示证书到期,最后虽然解决了,但实在是对ICTCLASS的印象越来越差,最后就尝试其他的工具,试用了IKAnalyzer,很小,基本功能有,但附加功能好像较少,还有哈工大的分词系统,在线的,源码试用时好像要发邮件才能获得,嫌麻烦,呵呵,最后试用了AnsjSeg,项目在GitHub上,话说正逢GitHub被封还是怎么的,废了好一番功夫,最后总算用上了,感觉还不错,作者介绍的文档很详细,各种功能用起来很直接,虽然没有ICTCLASS看起来正式,但要得就是接地气,下面对相关的使用做一介绍:

            AnsjSeg,得名于作者的主页ansj,作者名字是sj,So,就得了这个名字。这个工具可以讲是ICTCLASS的Java实现,作者测试比原版速度快。AnsjSeg提供了四种分词调用的方式:基本分词(BaseAnalysis)、精准分词(ToAnalysis)、NLP分词(NlpAnalysis)、面向索引分词(IndexAnalysis)。


    1. 基本分词方式,速度快;

    官方示例:

    List<Term> parse = BaseAnalysis.parse("让战士们过一个欢乐祥和的新春佳节。");
    System.out.println(parse);
    
    result:[让/v, 战士/n, 们/k, 过/ug, 一个/m, 欢乐/a, 祥和/a, 的/uj, 新春/t, 佳节/n, 。/w]

    2. 精准分词方式兼顾精度与速度,比较均衡;

    官方示例:

    List<Term> parse = ToAnalysis.parse("让战士们过一个欢乐祥和的新春佳节。");    
    System.out.println(parse);

    3. NLP分词方式可是未登录词,但速度较慢;

    官方示例:

    List<Term> parse = NlpAnalysis.parse("洁面仪配合洁面深层清洁毛孔 清洁鼻孔面膜碎觉使劲挤才能出一点点皱纹 脸颊毛孔修复的看不见啦 草莓鼻历史遗留问题没辙 脸和脖子差不多颜色的皮肤才是健康的 长期使用安全健康的比同龄人显小五到十岁 28岁的妹子看看你们的鱼尾纹");
    System.out.println(parse);

    4. 面向索引方式适合用在在lucene等文本检索中用到。

    官方示例:

    List<Term> parse = IndexAnalysis.parse("主副食品");
    System.out.println(parse);
    
    result:[主副食品/n, 主副食, 副食, 副食品, 食品]


    jar包中还有其他一些比较实用的功能,包括关键词提取、词性标注等,虽然感觉比较粗糙,但是还很实用。

    AnsjSeg还可以设置用户词典与停用词。


    AnsjSeg的官方GitHub地址是http://nlpchina.github.io/ansj_seg/,上面有较详细的说明。


    2015-1-14阅读474 评论0

            中文分词是进行中文文本分析的一个重要步骤。对于Java语言,有许多可选的分词工具,如中科院计算所的NLPIR(原ICTCLASS)、盘古分词、IKAnalyzer、PaodingAnalyzer,其中,试用过ICTCLASS及其后续版本,刚开始感觉不错,但是Java调用C语言的方式实在是受不了,没有原生Java编写的用着方便,最近在处理一些论坛评论数据,数据质量很差,感觉用这个就错得一塌糊涂,印象最不好的是以前做一个简单项目,结果在最关键的最后阶段,竟然显示证书到期,最后虽然解决了,但实在是对ICTCLASS的印象越来越差,最后就尝试其他的工具,试用了IKAnalyzer,很小,基本功能有,但附加功能好像较少,还有哈工大的分词系统,在线的,源码试用时好像要发邮件才能获得,嫌麻烦,呵呵,最后试用了AnsjSeg,项目在GitHub上,话说正逢GitHub被封还是怎么的,废了好一番功夫,最后总算用上了,感觉还不错,作者介绍的文档很详细,各种功能用起来很直接,虽然没有ICTCLASS看起来正式,但要得就是接地气,下面对相关的使用做一介绍:

            AnsjSeg,得名于作者的主页ansj,作者名字是sj,So,就得了这个名字。这个工具可以讲是ICTCLASS的Java实现,作者测试比原版速度快。AnsjSeg提供了四种分词调用的方式:基本分词(BaseAnalysis)、精准分词(ToAnalysis)、NLP分词(NlpAnalysis)、面向索引分词(IndexAnalysis)。


    1. 基本分词方式,速度快;

    官方示例:

    List<Term> parse = BaseAnalysis.parse("让战士们过一个欢乐祥和的新春佳节。");
    System.out.println(parse);
    
    result:[让/v, 战士/n, 们/k, 过/ug, 一个/m, 欢乐/a, 祥和/a, 的/uj, 新春/t, 佳节/n, 。/w]

    2. 精准分词方式兼顾精度与速度,比较均衡;

    官方示例:

    List<Term> parse = ToAnalysis.parse("让战士们过一个欢乐祥和的新春佳节。");    
    System.out.println(parse);

    3. NLP分词方式可是未登录词,但速度较慢;

    官方示例:

    List<Term> parse = NlpAnalysis.parse("洁面仪配合洁面深层清洁毛孔 清洁鼻孔面膜碎觉使劲挤才能出一点点皱纹 脸颊毛孔修复的看不见啦 草莓鼻历史遗留问题没辙 脸和脖子差不多颜色的皮肤才是健康的 长期使用安全健康的比同龄人显小五到十岁 28岁的妹子看看你们的鱼尾纹");
    System.out.println(parse);

    4. 面向索引方式适合用在在lucene等文本检索中用到。

    官方示例:

    List<Term> parse = IndexAnalysis.parse("主副食品");
    System.out.println(parse);
    
    result:[主副食品/n, 主副食, 副食, 副食品, 食品]


    jar包中还有其他一些比较实用的功能,包括关键词提取、词性标注等,虽然感觉比较粗糙,但是还很实用。

    AnsjSeg还可以设置用户词典与停用词。


    AnsjSeg的官方GitHub地址是http://nlpchina.github.io/ansj_seg/,上面有较详细的说明。


    展开全文
  • java文本英文分词

    千次阅读 2017-04-13 15:27:00
    public static void IKAnalysis(String str) throws IOException { Analyzer anal=new IKAnalyzer(true); StringReader reader=new StringReader(str); //分词 TokenStream ts=anal.to...

    public static void IKAnalysis(String str) throws IOException {
    Analyzer anal=new IKAnalyzer(true);
    StringReader reader=new StringReader(str);
    //分词
    TokenStream ts=anal.tokenStream("", reader);
    CharTermAttribute term=ts.getAttribute(CharTermAttribute.class);
    //遍历分词数据
    while(ts.incrementToken()){
    String s=term.toString();
    System.out.println(s+" ");
    }
    reader.close();
    // System.out.println();
    }
    public static void main(String[] args) throws IOException {

    String d="student brian comput scienc depart univers wisconsin dayton street madison offic email wisc offic phone home phone advisor david wood tabl content interest schedul summer ”;
    IKAnalysis(d);

    }

     

    所需jar包在csdn中:

    http://download.csdn.net/detail/alt_lb/9812915

    转载于:https://www.cnblogs.com/altlb/p/6704133.html

    展开全文
  • HanLP是由一系列模型与算法组成的工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构...提供词法分析(中文分词、词性标注、命名实体识别)、句法分析、文本分类和情感分析等功能。
  • java分词工具hanlp介绍

    2019-07-03 10:15:57
    HanLP是由一系列模型预算法组成的工具包,结合深度神经网络的分布式自然语言处理,具有功能完善、性能高效、架构清晰、语料时新、可自定义等特点,提供词法分析、句法分析、文本分析和情感分析等功能,是GitHub最受...
  • 文章目录自然语言处理系列十八分词工具实战Java的HanLP分词总结 自然语言处理系列十八 分词工具实战 分词工具有Java、Python、C++实现的,这里给大家推荐目前最流行的分词工具。CRF++是采用C++语言编写,但可以用...
  • 基于java的中文分词工具ANSJ

    千次阅读 2017-12-05 00:00:00
    ANSJ 这是一个基于n-Gram+CRF+HMM的中文分词的java实现. 分词速度达到每秒钟大约200万字左右(mac air下测试),准确率能达到96%以上 ...分词的目的是创建一个高稳定可用的中文分词工具,可以利用到各种需
  • word分词java源码Vitk——越南语文本处理工具包 注意:此存储库现已过时。 有兴趣的程序员应该考虑使用新的 repo vlp (github.com/phuonglh/vlp) 自 2016 年以来,我们更喜欢使用 Scala 而不是 Java。 注意:2018 ...
  • Java中文分词组件 - word分词

    万次阅读 2019-02-10 16:17:50
    word分词是一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名等未登录词。能通过...
  • java读取中文分词工具(一)

    千次阅读 2014-07-18 18:43:52
    /* * 文本格式:已分词的中文文本,空格分割。有若干行,每行为一个段落。 * 功能:遍历文档,逐个返回词语。 * 两种模式: * 1 到文档末尾后,结束 * 2 到文档末尾后,从头再读。 /
  • java读取中文分词工具(四)

    千次阅读 2014-08-01 20:52:12
    import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.RandomAccessFile; import java.io.Serial
  • java读取中文分词工具(三)

    千次阅读 2014-08-01 20:51:46
    import java.io.EOFException; import java.io.File; import java.io.FileNotFoundException; import java.io.IOException; import java.io.RandomAccessFile; import java.util.ArrayLis
  • 文章目录自然语言处理系列二十分词工具实战Java的mmseg4j分词总结 自然语言处理系列二十 分词工具实战 分词工具有Java、Python、C++实现的,这里给大家推荐目前最流行的分词工具。CRF++是采用C++语言编写,但可以用...
  • 文本自动分词
  • 是越南语文本处理工具包,可用于分词和词性标注。 UETnlp 比 UETsegmenter 更容易使用。 概述 src : java源代码文件夹 uetsegmenter.jar :一个可执行的 jar 文件(参见 ) models :用于越南语分词的预训练模型 ...
  •   到目前为止,就中文分词工具和中文分词方法而言,分词模型大概有10几个种类,效果较好的并不多,HMM,MMSEG之类的,当然还有深度学习的模型,paddle的模型比较好。按工具名说的话有中科院的nlpir,哈工大的ltp,...
  • java读取中文分词工具(二)

    千次阅读 2014-07-18 18:44:53
    * 文件格式:已分词的中文文本,每个词语空格分割,每行一个段落。 * 这个类适合读取每行数量较少的文本,比如分好段落的文本,一个段落一行存储。 * 读取一行,步长为1,返回词组。不会跨段落生成词组。 * 两种...
  • HanLP是由一系列模型与算法组成的工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构...提供词法分析(中文分词、词性标注、命名实体识别)、句法分析、文本分类和情感分析等功能。
  • word分词是一个Java实现的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。 能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名等未登录词。 同时提供了Lucene...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,128
精华内容 4,451
关键字:

java文本分词工具

java 订阅