背景

项目使用到jieba分词,分词部分结果产品不满意,想过滤一些不重要的高频词汇;我们是使用的结巴分词java版。maven引入如下:

<dependency>
   <groupId>com.huaban</groupId>
   <artifactId>jieba-analysis</artifactId>
   <version>1.0.3-SNAPSHOT</version>
</dependency>

问题

我发现jieba分词java版,没有提供可以加载停止词(stop words)的接口,stop words 是从如下stop_words.txt在初始化时加载的。

java结巴分词加载自己的文本 jieba分词java版_Java

解决

修改stop words后打一个本地的jar包,再通过maven引入本地jar包;

  1. 直接修改stop_words.txt文件,注意一行一个词,这里增加了“没有”“默认”“打开”三个词
  2. 根目录下面创建一个lib文件,将修改后的jar放进去

    3.修改pom文件
<dependency>
    <groupId>自己随便写</groupId>
    <artifactId>随便写</artifactId>
    <version>随便写</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/jieba-analysis-1.0.3-20210604.032722-3.jar</systemPath>
</dependency>

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <includeSystemScope>true</includeSystemScope>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
        <skip>true</skip>
        <compilerArguments>
            <extdirs>${project.basedir}/lib</extdirs>
        </compilerArguments>
    </configuration>
</plugin>

4.成功!