public class AppTest extends TestCase { public static void test1(){ List<Term> stermList = HanLP.segment("商品和服务"); print(stermList); } //繁体分词 public void test2(){ List<Term> stermList = TraditionalChineseTokenizer.segment("大衛貝克漢不僅僅是一名著名球員"); print(stermList); } //N最短路分词器 NShortSegment 比最短路分词器( DijkstraSegment )慢,但是效果稍微好一些,对命名实体识别能力更强 public static void test3(){ Segment nShortSegment = new NShortSegment().enableCustomDictionary(false).enablePlaceRecognize(true).enableOrganizationRecognize(true); Segment shortestSegment = new ViterbiSegment().enableCustomDictionary(false).enablePlaceRecognize(true).enableOrganizationRecognize(true); String sentence = "刘喜杰石国祥会见吴亚琴先进事迹报告团成员"; print(nShortSegment.seg(sentence)); print(shortestSegment.seg(sentence)); } //中国人名识别 public static void test4(){ Segment segment = HanLP.newSegment().enableNameRecognize(true); List<Term> stermList = segment.seg("签约仪式前,秦光荣、李纪恒、仇和等一同会见了参加签约的企业家。"); print(stermList); } public static void print(List<Term> stermList) { for(Term t:stermList) { System.out.println(t.word); } } @Test //地名识别 public void test5(){ Segment segment = HanLP.newSegment().enablePlaceRecognize(true); List<Term> stermList = segment.seg("武胜县新学乡政府大楼门前锣鼓喧天"); print(stermList); } //机构名识别 public static void test6(){ Segment segment = HanLP.newSegment().enableOrganizationRecognize(true); List<Term> stermList = segment.seg("我在上海林原科技有限公司工作"); print(stermList); } //关键词提取 public static void test7(){ String content = "程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员和项目经理四大类。"; content += "原告诉称,原告从土地改革时,就依法取得了岿美山镇寨头村排下组荷树岭山场,1985年仍依法取得荷树岭山场所有权,一直归原告管理,没有发生任何争执。2006年原告再次依法取得该山场。2009年初第三人突然提出该山场归其所有,与原告发生争执。原告申请被告调处,被告在没有任何事实和法律依据的情况下,以寨头村排下组三分之二村民同意争议山场归第三人为由,在第三人没有提供任何证据的情况下,将争议山场确定给第三人所有是明显袒护第三人。为此,请求法院:1.撤销岿府发[2009]46号信访事项办理意见书;2.依法确认岿美山镇寨头村排下组荷树岭山场归原告所有。"; System.out.println(HanLP.extractKeyword(content, 5)); //返回个数 } //自动摘要 public static void test8(){ String document = "算法可大致分为基本算法、数据结构的算法、数论算法、计算几何的算法、图的算法、动态规划以及数值分析、加密算法、排序算法、检索算法、随机化算法、并行算法、厄米变形模型、随机森林算法。\n" + "算法可以宽泛的分为三类,\n" + "一,有限的确定性算法,这类算法在有限的一段时间内终止。他们可能要花很长时间来执行指定的任务,但仍将在一定的时间内终止。这类算法得出的结果常取决于输入值。\n" + "二,有限的非确定算法,这类算法在有限的时间内终止。然而,对于一个(或一些)给定的数值,算法的结果并不是唯一的或确定的。\n" + "三,无限的算法,是那些由于没有定义终止定义条件,或定义的条件无法由输入的数据满足而不终止运行的算法。通常,无限算法的产生是由于未能确定的定义终止条件。"; System.out.println(HanLP.extractSummary(document, 3)); } //短语提取 public static void test9(){ String text1 = "算法工程师\n" + "算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法工程师就是利用算法处理事物的人。\n" + "算法工程师逐渐往人工智能方向发展。"; System.out.println(HanLP.extractPhrase(text1, 5)); } //汉字转拼音 public static void test10(){ String text = "好好学习,天天向上!"; List<Pinyin> pinyinList = HanLP.convertToPinyinList(text); //拼音(数字音调) for (Pinyin pinyin : pinyinList) { System.out.printf("%s,", pinyin); } System.out.println(); //拼音(符号音调) for (Pinyin pinyin : pinyinList) { System.out.printf("%s,", pinyin.getPinyinWithToneMark()); } System.out.println(); //拼音(无音调) for (Pinyin pinyin : pinyinList) { System.out.printf("%s,", pinyin.getPinyinWithoutTone()); } System.out.println(); //声调 for (Pinyin pinyin : pinyinList) { System.out.printf("%s,", pinyin.getTone()); } System.out.println(); //声母 for (Pinyin pinyin : pinyinList) { System.out.printf("%s,", pinyin.getShengmu()); } System.out.println(); //韵母 for (Pinyin pinyin : pinyinList) { System.out.printf("%s,", pinyin.getYunmu()); } } //简繁转换 public static void test11(){ System.out.println(HanLP.convertToTraditionalChinese("用笔记本电脑写程序")); System.out.println(HanLP.convertToSimplifiedChinese("「以後等妳當上皇后,就能買士多啤梨慶祝了」")); } //文本推荐 public static void test12(){ Suggester suggester = new Suggester(); String text = "威廉王子发表演说 呼吁保护野生动物,《时代》年度人物最终入围名单出炉 普京马云入选,“黑格比”横扫菲:菲吸取“海燕”经验及早疏散,日本保密法将正式生效 日媒指其损害国民知情权,英报告说空气污染带来“公共健康危机,明天我要拿刀砍死这个王八"; String[] arr = text.split("[。?!,;]"); for(String s : arr){ suggester.addSentence(s); // System.out.println(s); } // System.out.println(suggester.suggest("发言", 1)); //语义 // System.out.println(suggester.suggest("危机公共", 1)); //字符 System.out.println(suggester.suggest("损坏", 1)); //字符 // System.out.println(suggester.suggest("mayun", 1)); //拼音 // System.out.println(suggester.suggest("扬言", 1)); //扬言 } @Test public void testSuggest() { Suggester suggester = new Suggester(); String[] titleArray = ( "威廉王子发表演说 呼吁保护野生动物\n" + "《时代》年度人物最终入围名单出炉 普京马云入选\n" + "“黑格比”横扫菲:菲吸取“海燕”经验及早疏散\n" + "日本保密法将正式生效 日媒指其损害国民知情权\n" + "人工智能如今是非常火热的一门技术”" ).split("\\n"); for (String title : titleArray) { suggester.addSentence(title); } System.out.println(suggester.suggest("机器学习", 1)); // 语义 System.out.println(suggester.suggest("危机公共", 1)); // 字符 System.out.println(suggester.suggest("mayun", 1)); // 拼音 } @Test public void testKeyExtract() { String content = "苹果公司( Apple Inc. )是美国一家高科技公司。由史蒂夫·乔布斯、斯蒂夫·沃兹尼亚克和罗·韦恩(Ron Wayne)等人于 1976 年 4 月 1 日创立," + "并命名为美国苹果电脑公司( Apple Computer Inc. ),2007 年 1 月 9 日更名为苹果公司,总部位于加利福尼亚州的库比蒂诺。"; List<String> keywordList = HanLP.extractKeyword(content, 5); System.out.println(keywordList); } }
HanLP 能够提供自然语言处理,中文分词,词性标注,命名实体识别,依存句法分析,关键词提取,自动摘要,短语提取,拼音,简繁转换等特性。本文主要是 HanLP 的入门介绍篇。 HanLP 全称是Han Language Processing,中文为:汉语言处理包。 HanLP是由一系列模型与算法组成的Java工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。 HanLP提供下列功能: 中文分词 词性标注 命名实体识别 关键词提取 自动摘要 短语提取 拼音转换 简繁转换 文本推荐 依存句法分析 语料库工具 其中中文分词有6种处理算法: 最短路分词 N-最短路分词 CRF分词 索引分词 极速词典分词 用户自定义词典 命名实体识别也有5中算法: 中国人名识别 音译人名识别 日本人名识别 地名识别 实体机构名识别 关键词提取主要算法是:TextRank关键词提取。自动摘要主要是TextRank自动摘要算法。还有基于互信息和左右信息熵的短语提取算法。 拼音转换方面有: 多音字 声母 韵母 声调 简繁转换 繁体中文分词 简繁分歧词(简体、繁体、臺灣正體、香港繁體) 文本推荐 语义推荐 拼音推荐 字词推荐 依存句法分析 基于神经网络的高性能依存句法分析器 MaxEnt依存句法分析 CRF依存句法分析 语料库工具 分词语料预处理 词频词性词典制作 BiGram统计 词共现统计 CoNLL语料预处理 CoNLL UA/LA/DA评测工具 目前 HanLP 汉语言处理包在 github 上开源以来,累计 star 已快突破5000了。在提供丰富功能的同时,HanLP内部模块坚持低耦合、模型坚持惰性加载、服务坚持静态提供、词典坚持明文发布,使用非常方便,同时自带一些语料处理工具,帮助用户训练自己的模型
相关推荐
粉刺怎样去除,去粉刺最有效的方法参考.doc
【中医养生粉刺知识详解】 粉刺,又称为青春痘,是一种常见的皮肤病,主要发生在青少年时期,特别是面部、前额以及胸背部等皮脂腺较为发达的区域。它以针尖或米粒大小的丘疹为主,顶端可见黑头,挤压后可排出白色...
《电子政务:电连接座在粉刺吸取器中的应用》 在现代科技发展的大背景下,电子政务已经成为公共服务的重要组成部分,其高效、便捷的特点为公众带来了极大的便利。而在医疗领域,电子技术的应用也在不断创新,比如...
数据集介绍:数据集为脸部皮肤病检测数据集,包含粉刺、丘疹、结节和脓疱4个标签,含yolo和voc两种标注格式。 数据集格式:VOC格式+YOLO格式 压缩包内含:3个文件夹,分别存储图片、xml、txt文件 JPEGImages文件夹中...
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 标签格式(也可转成voc格式):<class> <x_center> <y_center> ...
【去黑头粉刺的方法详解】 黑头是许多人面临的一大护肤难题,主要由皮脂、细胞屑和细菌堵塞毛囊开口形成的硬化油脂阻塞物。它们由于与空气接触发生氧化,头部呈现黑色,因此被称为“黑头”。了解黑头的成因及去除...
【描述】: 提供了各种常见化妆品成分的刺激性和粉刺形成性信息 【标签】: "源码软件" - 这个标签可能指的是该文件来源或组织的性质,但在这里主要讨论的是化妆品成分 在化妆品和护肤品中,成分的选择至关重要,...
休闲的生活离不开快乐心态的人生,希望青春痘粉刺如何治疗,如何预防能给你想要的,欢迎大家下载青春痘粉...该文档为青春痘粉刺如何治疗,如何预防,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看...
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 标签格式(也可转成voc格式):<class> <x_center> <y_center> ...
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 标签格式(也可转成voc格式):<class> <x_center> <y_center> ...
在当下的美容护肤领域,闭口粉刺与白头粉刺成为不少人亟待解决的困扰。它们的形成机制及其应对方法常常成为消费者与专业人士探讨的重点。为了帮助大众更好地理解和解决这类皮肤问题,《温柔的问答手册宣贯.pdf》为...
痤疮,又称青春痘或粉刺,是一种常见的皮肤病,尤其在青少年中发病率极高,对患者的心理和社交生活造成显著影响。痤疮的发生涉及多种复杂的生理和病理机制,主要包括皮脂分泌过多、毛囊皮脂腺导管堵塞、细菌感染以及...
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)...
疾病的临床表现主要有四种类型:粉刺、丘疹、脓疱和囊肿结节。其中,粉刺是痤疮的早期损害,加重时可形成炎症丘疹。丘疹是粉刺发展而来的炎症性丘疹,皮损为红色丘疹。脓疱是在丘疹的基础上形成绿豆大小的脓包。囊肿...
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)...
yolo系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)...
粉刺:一种常见的皮肤病,当毛囊被油脂和死皮细胞堵塞时发生,导致粉刺、黑头或白头粉刺。 癌:一种始于基底细胞或鳞状细胞的皮肤癌。此类别中的图像可能显示皮肤癌的各种阶段和形式。 湿疹:一种使皮肤发红、发炎、...
16. 白头粉刺(闭合性粉刺)与黑头粉刺的区别在于毛囊口是否被角质覆盖,白头粉刺的毛孔是封闭的。 17. 面部按摩应顺着肌肉走向进行,以促进血液循环和淋巴排毒,避免加重皱纹。 18. 痤疮的发生与雌性激素水平升高...
在传统医学领域,中医以其独特的辨证论治和丰富的临床经验享誉世界。近年来,随着科技的发展,数据挖掘技术逐渐应用于中医药领域,以期从庞大的中医药文献和临床数据中提炼出有价值的信息。本文旨在探讨如何利用数据...
《jieba结巴分词深度解析》 在中文文本处理领域,分词是至关重要的一步,它涉及到诸如信息检索、自然语言处理、机器翻译等多个应用领域。"jieba结巴分词"是一款专为中文设计的开源分词库,以其高效、易用的特点在...