首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏机器学习原理

    NLP(2)——中文分词分词的概念分词方法分类CRFHMM分词

    2.如何识别未登录词,并判断词性(人物,地点) 解决歧义的方法有很多,使用n_gram模型或者概率统计在解决歧义的作用下很好实现,如下面要介绍的HMM和CRF. 分词方法分类 基于词典的分词算法 基于词典的分词算法又称为机械分词算法,它是按照一定的策略将待分析的汉字串与一个“充分大的机器词典”中的词条进行匹配 , 若在词典中找到某个字符串, 则匹配成功,认为这个字串是词并将之切分出来 基于词典的分词算法有三个要素,分词词典、扫描方向(正向、逆向)和匹配原则(最大匹配,最小匹配等)[2]。 正向最大匹配算法。 基于统计的分词算法和基于理解的分词算法 基于统计的分词算法主要思想是,词是稳定的字的组合,两个字在文本中连续出现的次数越多,就越有可能组合成一个词。 2)CRF计算的是全局最优解,不是局部最优值。 3)CRF是给定观察序列的条件下,计算整个标记序列的联合概率。而HMM是给定当前状态,计算下一个状态。

    2.4K50发布于 2018-07-24
  • 来自专栏小小挖掘机

    NLP入门(2)-分词结果评价及实战

    其计算方法如下: 1)首先计算正确分词结果中所有未登陆词的个数,作为分母 2)计算基于某种分词方法得到的分词结果中分词正确部分中未登陆词的个数,作为分子(这里分子不是基于某种分词方法得到的分词结果中未登陆词的个数 其计算方法如下: 1)首先计算所有正确分词结果中所有登陆词的个数,作为分母 2)计算基于某种分词方法得到的分词结果分词正确部分中登陆词的个数,作为分子(这里同样是正确分词部分,而非所有的分词结果) 3) 2、实战练习 这里,我们首先定义一个函数,把分词结果转换为对应的区间集合: def to_region_set(segment_str): # input : 就读 于 中国人民大学 # ,Recall:%.2f,F1:%.2f,OOV_R:%.2f,IV_R:%.2f" % prf(gt_list,pred_list,dict_set)) 从代码上,有几点需要注意的地方(如有理解不到位的地方还望指正 2)即使是词典分词,IV Recall Rate也没有达到1,如‘项目 的 研究’,分词结果为'项 目的 研究',可以看到词典分词的消岐能力一般,没有基于上下文给出最优的分词结果。

    1.8K20发布于 2019-11-18
  • 来自专栏大数据学习笔记

    SpringBoot 2.x整合IKAnalyzer中文分词

    <artifactId>ikanalyzer</artifactId> <version>2012_u6</version> </dependency> 2

    3.8K40发布于 2019-10-30
  • 来自专栏blackheart的专栏

    2.OAuth2授权(续) & JWT(JSON Web Token)

    1.1 撤销Token 在上篇[认证授权] 1.OAuth2授权 中介绍到了OAuth2可以帮我们解决第三方Client访问受保护资源的问题,但是只提供了如何获得access_token,并未说明怎么来撤销一个 关于这部分OAuth2单独定义了一个RFC7009 - OAuth 2.0 Token Revocation来解决撤销Token问题。 2 OAuth2 Token 撤销(RFC7009 - OAuth2 Token Revocation) 简单来说,这个协议规定了一个Authorization server提供一个怎样的API来供Client 3 OAuth2 Token 元数据(RFC7662 - OAuth2 Token Introspection) 简单的总结来说,这个规范是为OAuth2扩展了一个API接口(Introspection Token 元数据 这一小节中,OAuth2返回Token的元数据的JSON,以及OAuth2中的access_token对Client是不透明的字符串这件事,我们可以把access_token的元数据信息用

    2K50发布于 2018-01-19
  • 来自专栏Eliauk的小窝

    Sa-Token整合OAuth2

    Sa-Token整合OAuth2 开源地址 https://gitee.com/ZVerify/zverify-blog 为什么要整合OAuth2 有些时候我们自己写的网站注册过于繁琐需要每个用户花费时间去注册 写之前思考一下 我们先想一下我们在进行第三方登录的时候是怎样的一个步骤,首先第三方登录都需要遵守OAuth2的流程,这里我使用了授权码模式,对于其他三种授权模式请参考网络文章,因为我使用了授权码模式所以他的整体流程都是一样的 ,首先前端通过访问网站拿到授权的code,然后回调我们后端的接口,此时只有code是变化的所以只需要接收到code,然后获取access_token ,拿到access_token之后我们可以去获取第三方用户信息 (access_token).openId(data).loginType(LoginTypeEnum.GITEE.getType()).build(); } 拿到access_token封装到对象中 通过access_token获得用户信息 然后通过access_token去访问gitee提供的通过access_token拿到用户信息的接口 @Override public SocialUserInfoDTO

    3.3K30编辑于 2022-11-15
  • 来自专栏全栈程序员必看

    结巴分词库_中文分词

    一、(3) 结巴分词 在介绍结巴分词前,我们先以一个简单的例子演示一下分词,例如有这样一句话:“结巴分词是一个效率很好的分词方法”,一般我们会直观地从左向右扫视这句话,接着分词成“结巴 / 分词 / 是 数字1-7代表每个词位置,对于位置1,就是1-1的意思,表示“在”一字,对于2-(2、3、5),表示从位置2开始,2-22-3、2-5都表示词,即“财”、“财经”、“财经大学”,对于每一个位置的划分, (2)采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合 ——最大概率路径计算: 通过对有向无环图的观察,我们不难发现从某一位置到一定距离后的另外一个位置存在多条路径,即有多种分词的结果,这时 ,我们就需要计算出最大概率的路径,从而获得概率最大的切分词结果 因为有向无环图DAG的每个节点都是带权的,权重为前缀词典中每个词的词频;我们需要求得route = (w1,w2,w3,…,wn),使得 # $ % & ' ( ) )÷(1- )、 * + +ξ ++ , ,也 - -β -- -[*]- . / 0 0: 1 1. 12% 2.3% 3 4 5 5:0 6 7 8 9 : ; <

    1.9K10编辑于 2022-11-01
  • 来自专栏房东的猫

    Elasticsearch分词:Ansj分词

    2.根据README进行配置 备注:相关配置信息可以参见elasticsearch-analysis-ansj的README.md 分词方式 名称 用户自定义词典 数字识别 人名识别 机构名识别 新词发现 精准分词是Ansj分词的店长推荐款。 NlpAnalysis 带有新词发现功能的分词 nlp分词是总能给你惊喜的一种分词方式。 IndexAnalysis 面向索引的分词 面向索引的分词。顾名思义就是适合在lucene等文本检索中用到的分词。 主要考虑以下两点 召回率 * 召回率是对分词结果尽可能的涵盖。 词语3',采用幂等策略:w1=w2 w2=w3 w1=w3 人类 生人 全人类 人手 人员 人口 人丁 口 食指 劳力 劳动力 工作者 匹夫 个人 家伙 东西 货色 厮 崽子 兔崽子 狗崽子 小子 杂种

    4.1K11发布于 2021-07-16
  • 来自专栏码匠的流水账

    spring security oauth2之refresh token

    序 本文就来讲一讲spring security oauth2的refresh token方式 authorizedGrantTypes oauth2官方只有4种授权方式,不过spring security oauth2把refresh token也归为authorizedGrantTypes的一种,因此配置的时候只需要这样就把所有方式都支持了 @Configuration @EnableAuthorizationServer OAuth2ServerConfig extends AuthorizationServerConfigurerAdapter { @Override public void configure "password", "implicit") .scopes("all") .resourceIds("oauth2- ":"a78999d6-614a-45fe-be58-d5e0b6451bdb","token_type":"bearer","refresh_token":"bb2a0165-769d-43b0-a9a5

    4.2K20发布于 2018-09-17
  • 来自专栏房东的猫

    Elasticsearch分词:内置分词

    "Set the shape to semi-transparent by calling set_trans(5)" 标准分词器(默认使用) 分词结果: set, the, shape, to, semi IDEOGRAPHIC>", "position" : 2 }, { "token" : "协 和", "start_offset" : 2, " : "shingle", "position" : 2, "positionLength" : 2 }, { "token" : "协 和 医", "shingle", "position" : 2 }, { "token" : "协 和 医", "start_offset" : 2, type" : "shingle", "position" : 3 } ] } 逗号分词器 { "analysis":{ "analyzer":{

    2.4K71发布于 2020-12-18
  • 来自专栏技术路漫漫

    全文搜索实战2-ik分词及搜索高亮

    本文通过在es中安装ik分词插件,并基于jsoup解析某网站内容并存储到mysql和es中,实现了一个完整的关键词全文搜索并高亮展示功能 实现效果预览 通过输入中国 鲁能 关键词,即可得到如下图的结果: [全文搜索结果高亮示意] ik分词插件安装及测试 首先,借助ik分词插件改善中文搜索: 鉴于github直接下载很慢,根据官网说明,采用下来离线包解压安装的模式 将下载得到的 elasticsearch-analysis-ik -H 'Content-Type:application/json' -d' {"content":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"} ' 完成数据条件之后,即可通过如下的调用来查看分词查询结果 # 分词查询测试 curl -XPOST http://localhost:9200/iktest/_search? query" : { "match" : { "content" : "中国" }}, "highlight" : { "pre_tags" : ["<tag1>", "<tag2>

    1.9K00发布于 2020-07-12
  • 来自专栏大模型系列

    万字长文:解密 AI 时代的原子——Token分词、计费与隐私计算

    第一章:Token 的诞生——大模型分词器(Tokenizer)全解析 Token 并非天然存在,而是由一个名为 Tokenizer(分词器) 的组件创造出来的。它是连接人类语言与机器语言的桥梁。 计费基础:API 按 Token 计费,意味着发送一段中文文本的成本大约是同等意思英文文本的 2-3 倍。 将 ID 映射回子词 tokens = [self.decoder[id] for id in ids] # 2. 4.3 无 Token 模型(Token-free Models) 终极目标或许是构建完全不需要显式分词的模型,它们能像人一样直接从原始字节流中学习。 虽然目前仍是研究前沿,但这代表了摆脱 Token 限制的一种可能方向。 总结 Token 远不止是一个计费单位。它是: 算法的产物:由 BPE 等精巧的分词算法从原始文本中提炼出的语义单元。

    1K40编辑于 2026-03-25
  • 来自专栏产品经理的人工智能学习库

    分词 – Tokenization

    分词是 NLP 的基础任务,将句子,段落分解为字词单位,方便后续的处理的分析。 本文将介绍分词的原因,中英文分词的3个区别,中文分词的3大难点,分词的3种典型方法。 最后将介绍中文分词和英文分词常用的工具。 什么是分词分词是 自然语言理解 – NLP 的重要步骤。 分词就是将句子、段落、文章这种长文本,分解为以字词为单位的数据结构,方便后续的处理分析工作。 2.词是一个比较合适的粒度 词是表达完整含义的最小单位。 字的粒度太小,无法表达完整含义,比如”鼠“可以是”老鼠“,也可以是”鼠标“。 而句子的粒度太大,承载的信息量多,很难复用。 区别2:英文单词有多种形态 英文单词存在丰富的变形变换。为了应对这些复杂的变换,英文NLP相比中文存在一些独特的处理步骤,我们称为词形还原(Lemmatization)和词干提取(Stemming)。 难点 2:歧义词如何切分 例如「兵乓球拍卖完了」就有2分词方式表达了2种不同的含义: 乒乓球 \ 拍卖 \ 完了 乒乓 \ 球拍 \ 卖 \ 完了 难点 3:新词的识别 信息爆炸的时代,三天两头就会冒出来一堆新词

    1.8K31发布于 2019-12-18
  • 来自专栏房东的猫

    Elasticsearch分词:自定义分词

    ", "start_offset" : 16, "end_offset" : 21, "type" : "word", "position" : 2 分词器把字符串分解成单个词条或者词汇单元。 标准 分析器里使用的 标准 分词器 把一个字符串根据单词边界分解成单个词条,并且移除掉大部分的标点符号,然而还有其他不同行为的分词器存在。 例如, 关键词 分词器 完整地输出 接收到的同样的字符串,并不做任何分词。 空格 分词器 只根据空格分割文本 。 正则 分词器 根据匹配正则表达式来分割文本 。 在es中有几个默认的分词器。 "start_offset" : 10, "end_offset" : 11, "type" : "<ALPHANUM>", "position" : 2

    8.5K21发布于 2021-07-20
  • 来自专栏杨熹的专栏

    中文NLP笔记:2. 中文分词的工具 jieba

    中文分词 ? 中文分词的工具有:   中科院计算所 NLPIR、哈工大 LTP、清华大学 THULAC 、斯坦福分词器、Hanlp 分词器、jieba 分词、IKAnalyzer 等 ---- 其中 jieba 分词可以做下面这些事情 精确分词   试图将句子最精确地切开   2. 全模式   把句子中所有的可能是词语的都扫描出来,速度非常快,但不能解决歧义   3. 搜索引擎模式   在精确模式的基础上,对长词再次切分,提高召回率,适合用于搜索引擎分词   4. 获取分词结果中词列表的 top n   7. 自定义添加词和字典   使用默认分词,是识别不出一句话中的新词,需要添加新词到字典   8.

    97621发布于 2019-01-28
  • 来自专栏房东的猫

    Elasticsearch分词:拼音分词

    offset is strictly constrained, overlapped tokens are not allowed, with this parameter, overlapped token : "h", "start_offset" : 0, "end_offset" : 0, "type" : "word", "position" : 2 }, { "token" : "hua", "start_offset" : 0, "end_offset" : 0, "type" : "word", "position" : 2 }, { "token" : "2019", "start_offset" : 0, "end_offset " : 0, "type" : "word", "position" : 3 }, { "token" : "liudehua2019",

    2.4K11发布于 2020-12-28
  • 来自专栏九陌斋

    Jieba分词

    Jieba jieba 是一个中文分词第三方库,被称为最好的 Python 中文分词库。支持三种分词模式:精确模式、全模式和搜索引擎模式,并且支持繁体分词和自定义词典。 word_2dlist = [rm_tokens(jieba.cut(part, cut_all=False), stwlist) for part in sent_list] # 合并列表 word_list = sum(word_2dlist, []) return word_list # 正则对字符串清洗 def textParse(str_doc): r1 wl_space_split = " ".join(word_list) print(wl_space_split) #这里把数据自定义停用词后输出txt文档 result2txt = str(wl_space_split) with open('lunwen2.txt', 'a') as file_handle: file_handle.write(result2txt

    1.1K20编辑于 2022-12-26
  • 来自专栏python前行者

    Python分词模块推荐:jieba中文分词

    ,采用了基于汉字成词能力的HMM模型,使用了Viterbi算法 二、结巴中文分词支持的分词模式 目前结巴分词支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析; 全模式,把句子中所有的可以成词的词语都扫描出来 2)cut_all参数用来控制是否采用全模式,默认不采用。 jieba.cut_for_search方法接受一个参数:需要分词的字符串,该方法适合用于搜索引擎构建倒排索引的分词,粒度比较细 注意:待分词的字符串可以是gbk字符串、utf-8字符串或者unicode 2、关键词抽取 通过计算分词后的关键词的TF/IDF权重,来抽取重点关键词。 Python分词组件" tags = jieba.analyse.extract_tags(text,2) print "关键词抽取:","/".join(tags) 关键词抽取: 分词

    2K40发布于 2019-03-25
  • 来自专栏windliang的博客

    Vue2剥丝抽茧-模版编译之分词

    这篇文章主要讲词法分析,并且将问题简化,只把开始标签、文本、结束标签的 token 解析出来。 输出解析出来的各个 token: div hello div 其实这和 Vue 已经没有关系了,更像一道算法题,主要涉及到编译器分词的知识。 options) { const STATE_ENUM = { START: 0, TAG_START: 1, END_TAG_START: 2, "文本", text, start, end); }, }); 输出如下: image-20220813153102022 总 上边的代码,对于一个正常的 html 文本已经可以解析出 token 当前主要抓模版编译的主干流程,下一篇应该会通过解析出来的 token 来生成 AST 。 文章对应源码见:vue.windliang.wang

    57530编辑于 2022-08-20
  • 来自专栏Java架构师必看

    结巴分词器_分词器原理

    今天说一说结巴分词器_分词器原理,希望能够帮助大家进步!!! print (sent) 结巴分词模块有三种分词模式: 1. 全模式 :把句子中所有可以成词的词语都扫描出来,速度非常快,但是不能解决歧义。 2.精确模式 :试图将句子最精确地切开,适合文本分析(类似LTP分词方式),而这种精确模式就比较接近我们想要的了。 3.搜索引擎模式:在精确模式的基础上对长词再次切分,提高召回率,适合用于搜索引擎分词。这种搜索引擎模式也不错呢,更加细化了。 进入我的jieba模块目录->看到有个dict的词典,打开->发现有 1.词 2.数字(代表词频,越高越容易匹配到) 3.词性。

    75320编辑于 2022-06-28
  • 来自专栏码匠的流水账

    spring security oauth2使用redis存储token

    序 本文就来讲述一下spring security oauth2使用redis来存储token的配置及在redis中的存储结构 maven <dependency> <groupId token, OAuth2Authentication authentication) { byte[] serializedAccessToken = serialize(token 排除refresh_token,主要key如下: auth_to_access:OAuth2Authentication相关信息加密后的值,value为string结构 这个主要是通过OAuth2Authentication 来获取OAuth2AccessToken auth:token值,value为string结构 这个主要用来获取token的OAuth2Authentication,用来获取相应的权限信息 client_id_to_access token值,value为string 这个主要是通过token值来获取OAuth2AccessToken uname_to_access:clientId:userId,value的结构是list 存储

    3.7K00发布于 2018-09-17
领券