首页 文章 精选 留言 我的

精选列表

搜索[Flowable流程审批],共10000篇文章
优秀的个人博客,低调大师

HanLP代码与词典分离方案与流程

之前在spark环境中一直用的是portable版本,词条数量不是很够,且有心想把jieba,swcs词典加进来, 其他像ik,ansi-seg等分词词典由于没有词性并没有加进来. 本次修改主要是采用jar包方包将词典目录 data与hanlp.properties合成一个data.jar文件. 1. pom.xml 过滤资源文件的配置 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>${maven-jar-plugin.version}</version> <configuration> <excludes> <exclude>**/*.properties</exclude> </excludes> </configuration> </plugin> 这里把properties文件从jar包文件中去掉,因而结果文件是没有properties文件的. 可根据需要来确定是否把properties加入jar包中.由于我打算把hanlp.properties与词典目录写在一起 这里是要过滤掉hanlp.properties文件 2. 修改hanlp.properties文件 root= #将根目录置为空,或者注释掉root CustomDictionaryPath=data/dictionary/custom/CustomDictionary.txt; scws.txt; jieba.txt; 现代汉语补充词库.txt; 全国地名大全.txt ns; 人名词典.txt; 机构名词典.txt; 上海地名.txt ns;data/dictionary/person/nrf.txt nrf; #增加更多的配置文件,这里增加了结巴分词,scws分词 #IOAdapter=com.hankcs.hanlp.corpus.io.FileIOAdapter IOAdapter=com.hankcs.hanlp.corpus.io.JarIOAdapter #修改IOAdapter,以便使用jar包形式加载词典 3. 修改HanLP.java if ( root.length() != 0 && !root.endsWith("/")) root += "/"; 当root的长度为0时,不用在root字符串后面添加'/' 4. 增加处理词典jar包的代码文件: JarIOAdapter.java package com.hankcs.hanlp.corpus.io; import java.io.*; /** * 基于普通文件系统的IO适配器 * * @author hankcs */ public class JarIOAdapter implements IIOAdapter { @Override public InputStream open(String path) throws FileNotFoundException { /* 采用第一行的方式加载资料会在分布式环境报错 改用第二行的方式 */ //return ClassLoader.getSystemClassLoader().getResourceAsStream(path); return JarIOAdapter.class.getClassLoader().getResourceAsStream(path); } @Override public OutputStream create(String path) throws FileNotFoundException { return new FileOutputStream(path); } } 在跑DemoStopWord时,发现 java -cp .:hanlp-1.3.2.jar:test.jar com.hankcs.demo.DemoStopWord 报错,原因是接口不统一导致. 修改 DMAG.java如下: public MDAG(File dataFile) throws IOException { BufferedReader dataFileBufferedReader = new BufferedReader(new InputStreamReader(IOAdapter == null ? new FileInputStream(dataFile) : //IOAdapter.open(dataFile.getAbsolutePath()) IOAdapter.open(dataFile.getPath()) , "UTF-8")); 即可. 5. 如何将词典与配置文件打成一个jar包 最好是把txt格式的文件做成bin或dat格式的文件,然后做成jar包,否则打包运行后无法再写成bin或dat格式文件. 简单的办法是跑一下示例,即可生成相应的bin或dat格式文件. java -cp .:hanlp-1.3.2.jar:test.jar com.hankcs.demo.DemoAtFirstSight java -cp .:hanlp-1.3.2.jar:test.jar com.hankcs.demo.DemoChineseNameRecognition java -cp .:hanlp-1.3.2.jar:test.jar com.hankcs.demo.DemoJapaneseNameRecognition java -cp .:hanlp-1.3.2.jar:test.jar com.hankcs.demo.DemoPinyin java -cp .:hanlp-1.3.2.jar:test.jar com.hankcs.demo.DemoPlaceRecognition java -cp .:hanlp-1.3.2.jar:test.jar com.hankcs.demo.DemoOrganizationRecognition java -cp .:hanlp-1.3.2.jar:test.jar com.hankcs.demo.DemoTokenizerConfig #命名实体识别,包括上面的人名,地名等 java -cp .:hanlp-1.3.2.jar:test.jar com.hankcs.demo.DemoTraditionalChinese2SimplifiedChinese java -cp .:hanlp-1.3.2.jar:test.jar com.hankcs.demo.DemoStopWord 或者用以下shell脚本完成 :>a;while read cl; do echo $cl; echo "=========="$cl"=======" >>a;java -cp .:test.jar:hanlp-1.3.2.jar $cl 1>> a 2>&1;done < <(jar tvf test.jar | awk '$(NF)~"Demo"{print $(NF)}' | sed 's/.class$//;s/\//./g') 我们把data目录与hanlp.properties文件放在一个目录,比如xxx目录 cd xxx jar cvf data.jar . 即可生成data.jar包 6. 如何运行 [dxp@Flyme-SearchTag-32-220 makeNewDict]$ ls data.jar hanlp-1.3.2.jar README.md test test.jar [dxp@Flyme-SearchTag-32-220 makeNewDict]$ java -cp data.jar:hanlp-1.3.2.jar:test.jar com.hankcs.demo.DemoAtFirstSight 7. 在spark中应用 IDE如(intellij idea)中maven项目 引入以下依赖: <dependency> <groupId>com.hankcs</groupId> <artifactId>hanlp</artifactId> <version>1.3.2</version> <scope>system</scope> <systemPath>${LocalPath}/hanlp-1.3.2.jar</systemPath> </dependency> spark-submit提交任务时增加 --jar hanlp-1.3.2.jar,data.jar 转载自cicido的个人空间

优秀的个人博客,低调大师

Hadoop和Spark集群搭建的大致流程

【Hadoop】 1.首先,准备好Hadoop安装包和JDK的安装与配置2.建立各个机器之间的ssh信任关系,即互信3.修改hadoop配置文件【core、hdfs、yarn、mapred】默认配置文件:core-default.xml、hdfs-default.xml、mapred-default.xml、yarn-default.xml特定配置文件:core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml特定配置文件会覆盖默认的配置项【core-site.xml】是整个Hadoop通用的配置,集群的每个主机都存在。分布式文件系统名字、临时目录以及其他与网络配置相关的参数【hdfs-site.xml】配置HDFS系统的运行时属性和各个数据节点上文件的物理存储相关的属性主-辅节点存放元数据文件表(fsimage文件)的目录主-辅节点存储元数据事务处理文件(edits文件)的目录默认数据块大小数据块备份数量名称节点和数据节点通信的服务器线程数,默认为10【mapred-site.xml】保护了与CPU、内存、磁盘I/O和网络相关的参数任务是本地作业执行器还是提交到yarn集群运行Map或Reduce任务的JVM堆大小运行Map和Reduce任务的容器的内存大小存储中间数据文件的本地目录作业跟踪器(YARN)的服务器进程数量任务重试的最大次数【yarn-site.xml】配置由YARN框架提供的通用服务守护进程的属性,比如资源管理器和节点管理器运行资源管理器的主机名以及端口号启动容器的最大最小内存量和虚拟CPU内核数 【Spark】 在有JDK和Hadoop的基础上,安装Scala修改配置文件【spark属性、环境变量、日志配置】属性可以直接在sparkconf上配置给sparkcontextspark shell和spark-submit工具支持两种方式动态加载配置,第一种是命令行选项,第二种运行./bin/spark-submit实现当然spark-submit也会在conf/spark-defaults.conf中读取配置选项driver程序运行时需要的cpu内核数和内存数每个executor进程使用的内存数

优秀的个人博客,低调大师

阿里云免费企业邮箱申请流程

摘要: 免费版的阿里云企业邮箱给你一个很好的体验,享受中小企业发展时期的优惠扶持。那怎么才能申请阿里云免费的企业邮箱呢?? 免费版的阿里云企业邮箱给你一个很好的体验,享受中小企业发展时期的优惠扶持。那怎么才能申请阿里云免费的企业邮箱呢?? 1.打开申请链接:免费企业邮箱申请页面详细阅读规则说明后,单击立即抢购。仅仅花费1元。 2.免费邮箱绑定域名:(请输入公司有效的域名) 3.单击现在验证,进行域名所有权验证后绑定域名。 4.系统将获取您域名所有者邮箱,发送域名所有权验证邮件到您的域名所有者邮箱。 单击确认发送。 成功发送后,请您尽快去确认邮件。 5.验证通过后,单击下一步 > 查看服务条款 > 去支付结算订单开通免费企业邮箱。 购买ECS阿里云服务器幸运码,结算时使用,双倍幸运!一键领取:http://dwz.cn/yhquan

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册