精华内容
下载资源
问答
  • 一个基于springboot搭建的项目,项目包括完整的前后台,前台部分功能需要用户登录后才能使用,比如提问、积分兑换、举报等等,前台的问题搜索功能,使用HanLP分词器分词,搭配MySQL自带的全文搜索功能,实现问题的...
  • Java语言实现从网络片段中提取省份和城市,用到Hanlp分词和高德地图接口。
  • Hanlp分词

    2019-05-05 15:31:23
    #-*- coding:utf-8 -*- from jpype import * ...startJVM(getDefaultJVMPath(), "-Djava.class.path=/home/lhq/桌面/NLP_basis/hanlp/hanlp-1.7.3.jar:/home/lhq/桌面/NLP_basis/hanlp", "-Xms1g", "-X...
    #-*- coding:utf-8 -*-
    from jpype import *
    
    startJVM(getDefaultJVMPath(), "-Djava.class.path=/home/lhq/桌面/NLP_basis/hanlp/hanlp-1.7.3.jar:/home/lhq/桌面/NLP_basis/hanlp",
             "-Xms1g",
             "-Xmx1g") # 启动JVM,Linux需替换分号;为冒号:
    
    print("=" * 30 + "HanLP分词" + "=" * 30)
    HanLP = JClass('com.hankcs.hanlp.HanLP')
    # 中文分词
    print(HanLP.segment('你好,欢迎在Python中调用HanLP的API'))
    print("-" * 70)
    
    print("=" * 30 + "标准分词" + "=" * 30)
    StandardTokenizer = JClass('com.hankcs.hanlp.tokenizer.StandardTokenizer')
    print(StandardTokenizer.segment('你好,欢迎在Python中调用HanLP的API'))
    print("-" * 70)
    
    # NLP分词NLPTokenizer会执行全部命名实体识别和词性标注
    print("=" * 30 + "NLP分词" + "=" * 30)
    NLPTokenizer = JClass('com.hankcs.hanlp.tokenizer.NLPTokenizer')
    print(NLPTokenizer.segment('中国科学院计算技术研究所的宗成庆教授正在教授自然语言处理课程'))
    print("-" * 70)
    
    print("=" * 30 + "索引分词" + "=" * 30)
    IndexTokenizer = JClass('com.hankcs.hanlp.tokenizer.IndexTokenizer')
    termList = IndexTokenizer.segment("主副食品");
    for term in termList:
        print(str(term) + " [" + str(term.offset) + ":" + str(term.offset + len(term.word)) + "]")
    print("-" * 70)
    
    print("=" * 30 + " CRF分词" + "=" * 30)
    print("-" * 70)
    
    print("=" * 30 + " 极速词典分词" + "=" * 30)
    SpeedTokenizer = JClass('com.hankcs.hanlp.tokenizer.SpeedTokenizer')
    print(NLPTokenizer.segment('江西鄱阳湖干枯,中国最大淡水湖变成大草原'))
    print("-" * 70)
    
    print("=" * 30 + " 自定义分词" + "=" * 30)
    CustomDictionary = JClass('com.hankcs.hanlp.dictionary.CustomDictionary')
    #添加字典
    CustomDictionary.add('攻城狮')
    CustomDictionary.add('单身狗')
    HanLP = JClass('com.hankcs.hanlp.HanLP')
    print(HanLP.segment('攻城狮逆袭单身狗,迎娶白富美,走上人生巅峰'))
    print("-" * 70)
    
    print("=" * 20 + "命名实体识别与词性标注" + "=" * 30)
    NLPTokenizer = JClass('com.hankcs.hanlp.tokenizer.NLPTokenizer')
    print(NLPTokenizer.segment('中国科学院计算技术研究所的宗成庆教授正在教授自然语言处理课程'))
    print("-" * 70)
    
    document = "水利部水资源司司长陈明忠9月29日在国务院新闻办举行的新闻发布会上透露," \
        "根据刚刚完成了水资源管理制度的考核,有部分省接近了红线的指标," \
               "有部分省超过红线的指标。对一些超过红线的地方,陈明忠表示,对一些取用水项目进行区域的限批," \
               "严格地进行水资源论证和取水许可的批准。"
    print("=" * 30 + "关键词提取" + "=" * 30)
    print(HanLP.extractKeyword(document, 8))
    print("-" * 70)
    
    print("=" * 30 + "自动摘要" + "=" * 30)
    print(HanLP.extractSummary(document, 3))
    print("-" * 70)
    
    
    text = r"算法工程师\n 算法(Algorithm)是一系列解决问题的清晰指令,也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。算法工程师就是利用算法处理事物的人。\n \n 1职位简介\n 算法工程师是一个非常高端的职位;\n 专业要求:计算机、电子、通信、数学等相关专业;\n 学历要求:本科及其以上的学历,大多数是硕士学历及其以上;\n 语言要求:英语要求是熟练,基本上能阅读国外专业书刊;\n 必须掌握计算机相关知识,熟练使用仿真工具MATLAB等,必须会一门编程语言。\n\n2研究方向\n 视频算法工程师、图像处理算法工程师、音频算法工程师 通信基带算法工程师\n \n 3目前国内外状况\n 目前国内从事算法研究的工程师不少,但是高级算法工程师却很少,是一个非常紧缺的专业工程师。算法工程师根据研究领域来分主要有音频/视频算法处理、图像技术方面的二维信息算法处理和通信物理层、雷达信号处理、生物医学信号处理等领域的一维信息算法处理。\n 在计算机音视频和图形图像技术等二维信息算法处理方面目前比较先进的视频处理算法:机器视觉成为此类算法研究的核心;另外还有2D转3D算法(2D-to-3D conversion),去隔行算法(de-interlacing),运动估计运动补偿算法(Motion estimation/Motion Compensation),去噪算法(Noise Reduction),缩放算法(scaling),锐化处理算法(Sharpness),超分辨率算法(Super Resolution),手势识别(gesture recognition),人脸识别(face recognition)。\n 在通信物理层等一维信息领域目前常用的算法:无线领域的RRM、RTT,传送领域的调制解调、信道均衡、信号检测、网络优化、信号分解等。\n 另外数据挖掘、互联网搜索算法也成为当今的热门方向。\n"
    print("=" * 30 + "短语提取" + "=" * 30)
    
    print(HanLP.extractPhrase(text, 10))
    print("-" * 70)
    
    shutdownJVM()
    

     

    展开全文
  • ES安装和hanlp插件安装参考《ElasticSearch分词器-ElasticSearch环境搭建及hanlp插件安装》 ...表示建立名为hanlp_test的索引,为content字段采用hanlp分词建立索引,查询时同样采用hanlp进行检索 P

    ES安装和hanlp插件安装参考《ElasticSearch分词器-ElasticSearch环境搭建及hanlp插件安装》

    https://blog.csdn.net/skywalkeree/article/details/109527633

    一.采用hanlp分词器建立分词索引

    1. 进入kibana管理台Dev Tools页面

    2. 输入如下请求,建立ES索引

    表示建立名为hanlp_test的索引,为content字段采用hanlp分词建立索引,查询时同样采用hanlp进行检索

    PUT hanlp_test
    {
      "settings": {
        "index.analysis.analyzer.default.type": "hanlp"
        },
      "mappings": {
        "doc": {
          "properties": {
            "content": {
              "type":  "text",
              "analyzer": "hanlp"
              , "search_analyzer": "hanlp"
            }
          }
        }
      }
    }

    索引建立成功会返回如下结果:

    {
      "acknowledged": true,
      "shards_acknowledged": true,
      "index": "hanlp_test"
    }

    3. 插入测试文本

    POST hanlp_test/doc
    {
        "dep_airport":"记者从四川省农业农村厅了解到"
    }

     插入成功后会返回如下结果:

    {
      "_index": "hanlp_test",
      "_type": "doc",
      "_id": "AXWcMxy2u8BV2Ovk3a_r",
      "_version": 1,
      "result": "created",
      "_shards": {
        "total": 2,
        "successful": 1,
        "failed": 0
      },
      "created": true
    }

    4. 文本检索

    GET hanlp_test/_search
    {
        "query":{
            "match":{
                "dep_airport":"四川省农业"
            }
        }
    }

    返回如下结果:该结果表示查到了1个有效记录,最大匹配度为0.53484553。同时也返回了匹配的文本内容

     至此,我们的基于hanlp的文本分词索引样例就完成了~

    二.MySQL ES文本导入样例

    实际情况下,我们采用python从mysql中将海量文本导入ES,导入时需要指定对应的索引,文本类型,和文本内容。

    es.index(index='hanlp_test', doc_type='doc', body={"content":checkStr})
    import pymysql
    from pyhanlp import *
    from elasticsearch5 import Elasticsearch
    
    #创建es对象
    ES = [
        '127.0.0.1:9200'
    ]
    
    #创建elasticsearch客户端
    es = Elasticsearch(
        ES,
        # 启动前嗅探es集群服务器
        sniff_on_start=True,
        # es集群服务器结点连接异常时是否刷新es节点信息
        sniff_on_connection_fail=True,
        # 每60秒刷新节点信息
        sniffer_timeout=60
    )
    
    #创建mysql对象
    db = pymysql.connect("127.0.0.1", "root", "root", "data_source")
    cursor = db.cursor()
    
    ite = 0
    start = 0
    checkSize = 1000
    sql = "select id,content from my_data_source limit %s, 1000"
    while checkSize == 1000:
        ite=ite+1
        cursor.execute(sql, start)
        list = cursor.fetchall()
        checkSize = 0
        for item in list:
            checkSize = checkSize+1
            start = start+1
            if item[1] != None:
    		    #过滤无效字符
                checkStr = item[1].replace("\n","").strip()
                #插入es
                es.index(index='hanlp_test', doc_type='doc', body={"content":checkStr})
    
    print(checkSize)
    db.close()

    数据导入成功后,可以参考上面的文本检索样例进行文本检索,效果如下:

    展开全文
  • hanlp分词各类词性状态表: 比如: a 形容词 ad 副形词 b 区别词 n 名词 h 前缀 i 成语 j 简称略语 k 后缀 l 习用语 m 数词 mg 数语素 Mg 甲乙丙丁之类的数词 mq 数量词
  • HanLP的官方简介如下: HanLP是一系列模型与算法组成的NLP工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。内部算法经过工业界和学术界考验...

    HanLP的官方简介如下:
    HanLP是一系列模型与算法组成的NLP工具包,目标是普及自然语言处理在生产环境中的应用。HanLP具备功能完善、性能高效、架构清晰、语料时新、可自定义的特点。内部算法经过工业界和学术界考验,配套书籍《自然语言处理入门》已经出版。目前,基于深度学习的HanLP 2.0正处于alpha测试阶段,未来将实现知识图谱、问答系统、自动摘要、文本语义相似度、指代消解、三元组抽取、实体链接等功能。
    HanLP的功能包括:
    中文分词、词性标注、命名实体识别、关键词提取、短语提取、拼音转换、简繁转换、文本推荐、依存句法分析、文本分类、文本聚类、向量提取等。

    更多更全面的使用方法,请参考github上的介绍

    这里仅介绍本人使用过的功能:带词性标注的分词(自定义词库)
    1、下载 data.zip
    下载后解压到任意目录,接下来通过配置文件告诉HanLP数据包的位置。
    HanLP中的数据分为词典和模型,其中词典是词法分析必需的,模型是句法分析必需的。

    data
    │
    ├─dictionary
    └─model
    

    用户可以自行增删替换,如果不需要句法分析等功能的话,随时可以删除model文件夹。由于model文件夹有1G多,分词功能不依赖它,可以直接删除。
    2、下载jar和配置文件:hanlp-release.zip
    解压后得到如下三个文件:
    在这里插入图片描述
    其中hanlp.properties是配置文件,配置文件的作用是告诉HanLP数据包的位置,只需修改第一行。

    root=D:/develop/HanLP/
    

    此路径为data的父目录即可,比如data目录是/Users/hankcs/Documents/data,那么root=/Users/hankcs/Documents/ 。
    最后将hanlp.properties放入classpath即可,对于多数项目,都可以放到src或resources目录下,编译时IDE会自动将其复制到classpath中。除了配置文件外,还可以使用环境变量HANLP_ROOT来设置root。
    然后将两个jar引入项目依赖,就可以开始编写代码了。
    3、自定义词典的分词功能的使用方法
    其实分词功能可以通过两中方法实现:
    3.1 在代码中实现

    import com.hankcs.hanlp.HanLP;
    import com.hankcs.hanlp.dictionary.CustomDictionary;
    import com.hankcs.hanlp.seg.Segment;
    import com.hankcs.hanlp.seg.common.Term;
    
    import java.util.List;
    
    /**
     * 在代码中自定义词性
     */
    public class HanlpTest1 {
        public static void main(String[] args) {
            // 自定义词典:第一个参数是单词,第二个参数是词性和词频,词频可以随意给个数字
            CustomDictionary.insert("白富美", "bfm 100");
            // 用户自定义词典强制生效
            Segment segment = HanLP.newSegment().enableCustomDictionaryForcing(true);
            // 开始分词
            List<Term> termList = segment.seg("白富美逆袭高富帅");
            // 打印词性和分词结果
            for (Term term : termList) {
                System.out.println(term.nature.toString() + " " + term.word);
            }
        }
    }
    

    执行结果:
    在这里插入图片描述
    3.2 在配置文件中指定自定义词典与词性
    将相同词性的单词放入一个txt文件中,一行一个单词。例如:我的自定义词典.txt
    在这里插入图片描述
    然后将这个文件放入HanlpData/data/dictionary/custom/下:
    在这里插入图片描述
    在hanlp.properties中追加自定义词典路径,用;隔开多个自定义词典,空格开头表示在同一个目录,使用“文件名 词性”形式则表示这个词典的词性。优先级递减。
    在这里插入图片描述
    然后开始测试效果:

    import com.hankcs.hanlp.HanLP;
    import com.hankcs.hanlp.seg.Segment;
    import com.hankcs.hanlp.seg.common.Term;
    
    import java.util.List;
    
    /**
     * Hanlp分词工具测试类
     */
    public class HanlpTest {
        public static void main(String[] args) {
    
            // 用户自定义词典强制生效
            Segment segment = HanLP.newSegment().enableCustomDictionaryForcing(true);
            // 开始分词
            List<Term> termList = segment.seg("新冠肺炎是2020年1月开始流行的,明伟家具武汉加油");
            // 打印词性和分词结果
            for (Term term : termList) {
                System.out.println(term.nature.toString() + " " + term.word);
            }
        }
    }
    

    程序输出:
    在这里插入图片描述
    扩展说明:HanLP的默认词性
    4、在hadoop上运行HanLP
    HanLP默认是在本地文件系统上运行的,如果要hadoop上运行,需要自定义IO适配器:

    import com.hankcs.hanlp.corpus.io.IIOAdapter;
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.FileSystem;
    import org.apache.hadoop.fs.Path;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    
    /**
     * 自定义文件适配器,让HanLP能在hadoop上运行
     */
    public class HDFSIOAdapter implements IIOAdapter {
    
    
        /**
         * 获取文件系统
         *
         * @return FileSystem
         */
        private FileSystem getFS() {
            FileSystem fs = null;
            Configuration conf = new Configuration();
            // 如果在yarn上运行,这里不需要配置连接信息
            //    conf.set("fs.defaultFS", "hdfs://192.168.1.1:9000")
            //    conf.set("dfs.replication", "3")
            try {
                fs = FileSystem.get(conf);
            } catch (IOException e) {
                e.printStackTrace();
            }
            return fs;
        }
    
        @Override
        public InputStream open(String path) throws IOException {
            // 从hdfs获取输入流
            FileSystem fs = getFS();
            return fs.open(new Path(path));
        }
    
        @Override
        public OutputStream create(String path) throws IOException {
            FileSystem fs = getFS();
            return fs.create(new Path(path));
        }
    }
    
    

    然后修改hanlp.properties配置文件,指定自定义适配器的全限定类名:

    #IO适配器,实现com.hankcs.hanlp.corpus.io.IIOAdapter接口以在不同的平台(Hadoop、Redis等)上运行HanLP
    #默认的IO适配器如下,该适配器是基于普通文件系统的。
    IOAdapter=com.learn.hanlp.HDFSIOAdapter
    

    再将data包上传到hdfs,使所有节点都可以访问到数据,修改配置文件,将root改为hdfs的路径:

    root=hdfs://spark/HanlpData/
    

    这样hanlp就可以在hadoop上运行了

    展开全文
  • 为了我自己不忘记hanlp分词的使用,简单把做的东西记录一下 引入hanlp相关jar,我是gradle项目: //hanlp compile('com.hankcs:hanlp:portable-1.7.3') 下面是我做的一个实例 public class WordContNum {...

          为了我自己不忘记hanlp分词的使用,简单把做的东西记录一下      

          引入hanlp相关jar,我是gradle项目:

        //hanlp
        compile('com.hankcs:hanlp:portable-1.7.3')

         下面是我做的一个实例

         public class WordContNum {
    
        private static Segment segment;
     
        private static final List<String> natureList = Arrays.asList("nl", "n", "nr", "nrj", "nrf", "nr1",
                "nr2", "ns", "nsf", "nt", "ntc", "ntcf", "ntcb", "ntch", "nto",
                "ntu", "nts", "nth", "nh", "nhm", "nhd", "nn", "nnt", "nnd", "ng",
                "nf", "ni", "nit", "nic", "nis", "nm", "nmc", "nb", "nba", "nbc",
                "nbp", "nz", "g", "gm", "gp", "gc", "gb", "gbc", "gg", "gi", "s",
                "an");
    
        static {
            segment = HanLP.newSegment();
            for (String path : HanLP.Config.CustomDictionaryPath) {
                System.out.println(path);
            }
        }
      
       // word_text 传入的中文字符串
        @Override
        public List<Map> selDataList(String word_text){
            List<Map> wordsList = new ArrayList<>();
            try {
                List<Term> list = segment.seg(word_text);
                CoreStopWordDictionary.apply(list);
                 Iterator<Term> iterator = list.iterator();
                List<Term> newList = new ArrayList<Term>();
                 //分词去重
                while (iterator.hasNext())
                {
                    Term next = iterator.next();
                    //将新集合中没有的元素添加到新集合
                    if (!newList.contains(next))
                    {
                        newList.add(next);
                    }
                }
                for (Term term : newList) {
                       //排除英文分词   只对中文进行分词
                    if (natureList.contains(term.nature.toString())) {
                        Map<String, Object> json = new HashMap<>();
                        //记录每个词的数量!
                        int num = new WordContNum ().countStr(word_text,term.word); 
                        //词
                        json.put("word",term.word);
                        json.put("num",num);
                        wordsList.add(json);
                    }
                }
            }catch (Exception e){
                e.printStackTrace();
            }
            return wordsList;
        }
    
        /**
         * @param str 原字符串
         * @param sToFind 需要查找的字符串
         * @return 返回在原字符串中sToFind出现的次数
         */
        private int countStr(String str,String sToFind) {
            int num = 0;
            while (str.contains(sToFind)) {
                str = str.substring(str.indexOf(sToFind) + sToFind.length());
                num ++;
            }
            return num;
        }
    }
    展开全文
  • ES本身默认的分词是将每个汉字逐个分开,具体如下,自然是很弱的,无法满足业务需求,那么就需要把那些优秀的分词器融入到ES中来,业界比较好的中文分词器排名如下,hanlp> ansj >结巴>ik>smart chinese...
  • 中文HanLp分词入门

    千次阅读 2021-01-14 14:28:45
    入门 # 比如我们要对 `我来到中华人民共和国` 这句话做一个分词,我们来人为分一下 ...有很多开源的分词工具可以帮助我们做这个事情,比如Jieba,NLPIR[中科院],HanLP,LTP[哈工大]等等。各家的分词工具包会略有差
  • 使用HanLP分词时,标注词性经常出错,尤其见于人名译名的错误。 比如将“海尔”识别为人名,标注了nrf词性。 但是我们想把“海尔”识别为品牌名字,就需要修改nrf.txt文件。 修改词典后要删除对应的二进制文件,...
  • python调用hanlp分词包手记Hanlp作为一款重要的分词工具,本月初的时候看到大快搜索发布了hanlp的1.7版本,新增了文本聚类、流水线分词等功能。关于hanlp1.7版本的新功能,后面有使用的到时候在给大家分享。本篇分享...
  • ./bin/elasticsearch-plugin install ... ... ... ...hanlp分词器安装成功! pinyin分词器安装成功! 然后重启es
  • 本篇分享的依然是关于hanlp的分词使用,文章内容分享自 gladosAI 的博客,本篇文章中提出了一个问题,hanlp分词影响了实验判断结果。为何会如此,不妨一起学习一下 gladosAI 的这篇文章。   学习内容 在之前的...
  • // 在hanlp基础上自定义分词器 PUT demo1/ { "settings": { "analysis": { "analyzer": { "my_hanlp_analyzer": { "tokenizer": "my_hanlp", "filter":"lowercase" } }, "tokenizer": { "my_hanlp": { .
  • 分享一篇大神的关于hanlp分词命名实体提取的经验文章,文章中分享的内容略有一段时间(使用的hanlp版本比较老),最新一版的hanlp已经出来了,也可以去看看新版的hanlp在这方面有何提升! 文本挖掘是抽取有效、新颖...
  • 1.首先在我的服务器上有hanlp文件了 2.打开data看一下,dictionary 里面都是自带的一些词典 3.custom里面就时我们可以自己添加词典的地方,这里已经有一些机构名和地名。自己还可以添加 在这里我添加了很多...
  • elasticsearch-6.4.2 hanlp分词插件 windows下安装命令 首先进入es bin目录 elasticsearch-6.4.2\bin> 然后执行 elasticsearch-plugin.bat install file:///E:/elasticsearch-analysis-ik-6.4.2.zip Linux下安装...
  • HanLP分词+用户自定义词典

    千次阅读 2020-01-14 13:40:37
    分词重要性2. 词典说明2.1 CustomDictionary2.2 追加词典 前面谈到分词HanLP安装与使用-python版和java版 pynlpir中文分词+加载用户自定义词典 我比较喜欢用HanLP,它的粒度刚刚好。 pynlpir太细了,词全切开了...
  • HanLP分词器的使用方法

    千次阅读 2017-09-09 17:31:04
    于是这时候便有了 HanLP-汉语言处理包 来进行提取关键词的想法。 下载:.jar .properties data等文件 这里提供官网下载地址 HanLP下载,1.3.3数据包下载 在intellij中配置环境,并运行第一个demo 在项目中配置jar...
  • 分词除了使用jieba也可以用Hanlp的这个小工具,也很方便。 HanLP的词典分词实现 1.DoubleArrayTrieSegment DoubleArrayTrieSegment分词器是对DAT最长匹配的封装,默认加载hanlp.properties中CoreDictionaryPath制定...
  • 目录一、准备二、安装1....测试 HanLP 分词4. Kibana 启动5.测试 Kibana 一、准备 下载 Elasticsearch 7.3.2 : 下载 下载 Kibana 7.3.2 下载 下载 HanLP 7.3.2 下载 密码:i0o7 更多HanLP 二、安装 1.解压
  • 最近有个需求,要机器解读用户输入的一段话,找出...后来搜到Hanlp分词器也能实现分词,而且可以获得词性,可以一试: 一、配置pom,导包: <dependency> <groupId>com.hankcs</groupId> <a
  • ElasticSearch安装包整理,包含Hanlp分词,IK分词,x-pack,,Mysql动态加载停用词、基础词、同义词,个人整理的ElasticSearch7.9.0安装压缩包,其中的同义词,基础词,停用词mysql动态加载属于个人完善并编译,多年...
  • python调用hanlp分词

    千次阅读 2017-11-23 16:43:58
    jar包,data, hanlp.properties 调用代码 hanlp
  • 比如:“不好用“的正常分词结果:“不好,用”。 (1)当自定义词库”好用“时,词库无效,分词结果不变。 (2)当自定义词库 “不好用”时,分词结果为:“不好用”,即此时自定义词库有效。 3、由于版本...
  • HanLP的官方简介如下: HanLP是一系列模型与...中文分词、词性标注、命名实体识别、关键词提取、短语提取、拼音转换、简繁转换、文本推荐、依存句法分析、文本分类、文本聚类、向量提取等。 更多更全面的使用方法,请

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,573
精华内容 1,429
关键字:

hanlp分词

友情链接: MSP430官方例程.rar