Skip to content

分词方式

shi-yuan edited this page Jul 10, 2016 · 5 revisions

#分词方式

ToAnalysis 精准分词

精准分词是Ansj分词的店长推荐款

它在易用性,稳定性.准确性.以及分词效率上.都取得了一个不错的平衡.如果你初次尝试Ansj如果你想开箱即用.那么就用这个分词方式是不会错的.

DicAnalysis 用户自定义词典优先策略的分词

用户自定义词典优先策略的分词,如果你的用户自定义词典足够好,或者你的需求对用户自定义词典的要求比较高,那么强烈建议你使用DicAnalysis的分词方式.

可以说在很多方面Dic优于ToAnalysis的结果

NlpAnalysis 带有新词发现功能的分词

nlp分词是总能给你惊喜的一种分词方式.

它可以识别出未登录词.但是它也有它的缺点.速度比较慢.稳定性差.ps:我这里说的慢仅仅是和自己的其他方式比较.应该是40w字每秒的速度吧.

个人觉得nlp的适用方式.1.语法实体名抽取.未登录词整理.只要是对文本进行发现分析等工作

IndexAnalysis 面向索引的分词

面向索引的分词。顾名思义就是适合在lucene等文本检索中用到的分词。 主要考虑以下两点

  • 召回率 * 召回率是对分词结果尽可能的涵盖。比如对“上海虹桥机场南路” 召回结果是[上海/ns, 上海虹桥机场/nt, 虹桥/ns, 虹桥机场/nz, 机场/n, 南路/nr]
  • 准确率 * 其实这和召回本身是具有一定矛盾性的Ansj的强大之处是很巧妙的避开了这两个的冲突 。比如我们常见的歧义句“旅游和服务”->对于一般保证召回 。大家会给出的结果是“旅游 和服 服务” 对于ansj不存在跨term的分词。意思就是。召回的词只是针对精准分词之后的结果的一个细分。比较好的解决了这个问题

BaseAnalysis 最小颗粒度的分词

基本就是保证了最基本的分词.词语颗粒度最非常小的..所涉及到的词大约是10万左右.

基本分词速度非常快.在macAir上.能到每秒300w字每秒.同时准确率也很高.但是对于新词他的功能十分有限.

功能统计

名称 用户自定义词典 数字识别 人名识别 机构名识别 新词发现
BaseAnalysis X X X X X
ToAnalysis X X
DicAnalysis X X
IndexAnalysis X X
NlpAnalysis

一个简单的使用方式

Code:

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

  • BaseAnalysis

    洁/ag,面/n,仪/k,配合/v,洁/ag,面/n,深层/b,清洁/a,毛孔/n, ,清洁/a,鼻孔/n,面/n,膜/n,碎/a,觉/v,使劲/v,挤/v,才/d,能/v,出/v,一/m,点点/q,皱纹/n, ,脸颊/n,毛孔/n,修复/v,的/uj,看/v,不/d,见/v,啦/y, ,草莓/n,鼻/ng,历史/n,遗留/vn,问题/n,没辙/v, ,脸/n,和/c,脖子/n,差不多/l,颜色/n,的/uj,皮肤/n,才/d,是/v,健康/a,的/uj, ,长期/d,使用/v,安全/an,健康/a,的/uj,比/p,同龄人/n,显/v,小/a,五/m,到/v,十/m,岁/q, ,28/m,岁/q,的/uj,妹子/n,看看/v,你们/r,的/uj,鱼尾纹/n
    
  • ToAnalysis

    洁/ag,面/n,仪/k,配合/v,洁/ag,面/n,深层/b,清洁/a,毛孔/n, ,清洁/a,鼻孔/n,面膜/n,碎/a,觉/v,使劲/v,挤/v,才能/n,出/v,一点点/m,皱纹/n, ,脸颊/n,毛孔/n,修复/v,的/uj,看不见/v,啦/y, ,草莓/n,鼻/ng,历史/n,遗留问题/nz,没辙/v, ,脸/n,和/c,脖子/n,差不多/l,颜色/n,的/uj,皮肤/n,才/d,是/v,健康/a,的/uj, ,长期/d,使用/v,安全/an,健康/a,的/uj,比/p,同龄人/n,显/v,小/a,五/m,到/v,十岁/m, ,28岁/m,的/uj,妹子/n,看看/v,你们/r,的/uj,鱼尾纹/n
    

    DicAnalysis

    洁/ag,面/n,仪/k,配合/v,洁/ag,面/n,深层/b,清洁/a,毛孔/n, ,清洁/a,鼻孔/n,面膜/n,碎/a,觉/v,使劲/vi,挤/v,才能/n,出/v,一点点/m,皱纹/n, ,脸颊/n,毛孔/n,修复/v,的/uj,看不见/v,啦/y, ,草莓/nf,鼻/ng,历史/n,遗留问题/nz,没辙/vi, ,脸/n,和/c,脖子/n,差不多/al,颜色/n,的/uj,皮肤/n,才/d,是/v,健康/a,的/uj, ,长期/d,使用/v,安全/an,健康/a,的/uj,比/p,同龄人/n,显/v,小/a,五/m,到/v,十岁/mq, ,28岁/m,的/uj,妹子/n,看看/v,你们/rr,的/uj,鱼尾纹/n
    

    IndexAnalysis

    洁/ag,面/n,仪/k,配合/v,配/v,合/v,洁/ag,面/n,深层/b,深/a,层/qv,清洁/a,清/tg,洁/ag,毛孔/n,毛/n,孔/n, ,清洁/a,清/tg,洁/ag,鼻孔/n,鼻/ng,孔/n,面膜/n,面/nf,膜/n,碎/a,觉/v,使劲/v,使/v,劲/n,挤/v,才能/n,才/d,能/v,出/v,一点点/m,一点/mq,一/m,点点/v,点/qt,点/qt,皱纹/n,皱/v,纹/ng, ,脸颊/n,脸/n,颊/ng,毛孔/n,毛/n,孔/n,修复/v,修/v,复/dg,的/uj,看不见/v,看/v,不见/v,不/d,见/v,啦/y, ,草莓/n,草/n,莓/n,鼻/ng,历史/n,历/vg,史/ng,遗留问题/nz,遗留/v,遗/vg,留/v,问题/n,问/v,题/n,没辙/v,没/d,辙/n, ,脸/n,和/c,脖子/n,脖/ng,子/ng,差不多/l,差/a,不多/m,不/d,多/a,颜色/n,颜/ng,色/ng,的/uj,皮肤/n,皮/n,肤/ng,才/d,是/v,健康/a,健/ag,康/ag,的/uj, ,长期/d,长/a,期/qv,使用/v,使/v,用/p,安全/an,安/ag,全/a,健康/a,健/ag,康/ag,的/uj,比/p,同龄人/n,同龄/vi,同/p,龄/ng,人/n,显/v,小/a,五/m,到/v,十岁/m,十/m,岁/qt, ,28岁/m,岁/qt,的/uj,妹子/n,妹/n,子/ng,看看/v,看/v,看/v,你们/r,你/rr,们/k,的/uj,鱼尾纹/n,鱼尾/n,鱼/n,尾/ng,纹/ng
    

    NlpAnalysis

    洁/ag,面仪/nw,配合/v,洁面/nw,深层/b,清洁/a,毛孔/n, ,清洁/a,鼻孔/n,面膜/n,碎觉/nw,使劲/v,挤/v,才能/n,出/v,一点点/m,皱纹/n, ,脸颊/n,毛孔/n,修复/v,的/uj,看不见/v,啦/y, ,草莓/n,鼻历史/nw,遗留问题/nz,没辙/v, ,脸/n,和/c,脖子/n,差不多/l,颜色/n,的/uj,皮肤/n,才/d,是/v,健康/a,的/uj, ,长期/d,使用/v,安全/an,健康/a,的/uj,比/p,同龄人/n,显/v,小/a,五/m,到/v,十岁/m, ,28岁/m,的/uj,妹子/n,看看/v,你们/r,的/uj,鱼尾纹/n