• 为什么 IPv6 难以取代 IPv4?

    我的微信号:toutiaoio007,欢迎加我好友,拉你入群~接下来的三篇热文,来自开发者头条上的用户分享。为什么 IPv6 难以取代 IPv4IPv4 协议从 1981 年发布到今天已经过去了将近 40 年,在过去的这段时间里,它作为互联网协议簇中的重要协议承担着分组转发和路由选择的重要责任,随着网络环境和终端设备变得越来越复杂,我们也需要更多的 IP 地址满足今天的需求。IPv6 协议摆脱了很多历史的包袱轻装前行,虽然越来越多的网站和网络设备都开始支持 IPv6,但是因为很多原因 IPv6 最终也很难完全取代 IPv4 协议。
  • 搜索引擎背后的经典数据结构和算法

    本文将会从以下几个部分来介绍搜索引擎,会深度剖析搜索引擎的工作原理及其中用到的一些经典数据结构和算法,相信大家看了肯定有收获。可能有人说用散列表,将每个待抓取 url 存在散列表里,每次要加入待爬取 url 时都通过这个散列表来判断一下是否爬取过了,这样做确实没有问题,但我们需要注意到的是这样需要会出巨大的空间代价,有多大,我们简单算一下,假设有 10 亿 url ,放在散列表里,需要多大存储空间呢?看到以上「分词」+「倒排索引」的处理流程,大家想到了什么?没错,这不就是 ElasticSearch 搜索引擎干的事吗,也是 ES 能达到毫秒级响应的关键!
  • 搜索中的 Query 理解及应用

    本文主要介绍在搜索中的 query 理解,会相对系统性地介绍 query 理解中各个重要模块以及它们之间如何 work 起来共同为搜索召回及排序模块服务,同时简单总结个人目前了解到业界在各个模块中的一些实现方法。除了基本的文本匹配召回,还需要通过构建 query 意图 tag 召回或进行语义匹配召回等多路召回来提升搜索语义相关性以及保证召回的多样性。
  • Elasticsearch能检索出来,但不能正确高亮怎么办?

    明明查询id的一部分,却高亮结果是整个id串,怎么办?死磕Elasticsearch技术微信群2、一个Demo描述清楚问题 注:本文示例DSL在7.2版本运行ok,6.X之前早期版本可能需要微调。PUT findex{ "mappings": { "properties": { "aname":{ "type":"text" }, "acode":{ "type":"keyword" } } }}POST findex/_bulk{"index":{"_id":1}}{"acode":"160213.OF","aname":"X泰纳斯达克100"}{"index":{"_id":2}}{"acode":"160218.OF","aname":"X泰国证房地产"}POST findex/_search{ "highlight": { "fields": { "acode": {} } }, "query": { "bool": { "should": [ { "wildcard": { "acode": "*1602*" } } ] } }}高亮检索结果, "highlight" : { "acode" : [ "<em>160213.OF</em>" ] }也就是说整个串都被高亮了,没有达到预期。传统的text标准分词器,包括中文分词器ik、英文分词器english、standard等都不能解决上述子串匹配问题。对应到Elasticsearch检索,应用场景就更加明确:无分隔符语言文本的切分分词,提高检索效率。
  • 分词器

    对于我们正在使用的编辑器,我感到有点傻,我想知道是否有人知道关于标记化程序介绍的任何优秀在线教程。
  • 分词器

    我的项目想要编写令牌生成器,它能够令牌化输入的C代码(已经输入到系统的已编写的C文件)并标识什么是关键字,变量,注释,条件等(所有语法由C提供)。任何人都可以帮助我做到这一点。
  • 精准测试中应用的算法模型

    导读在 APK 测试的过程中,采用自动化脚本,可以降低我们人工测试的成本,随着APK 不断的迭代,自动化脚本也会不断的增多,大大的增加了自动化脚本的维护成本。精准测试,就是在开发人员提交apk 后,找出本次提交和上一次提交之间的代码差异,根据Android 代码覆盖度采集的数据,训练出一个模型,可以寻找到自动化脚本和代码之间的一种关系,推荐出 diff 代码所需要执行自动化脚本的一个推荐顺序。数字 0 表示没有出现过的类型。
  • 降维说

    原本复杂(n维)的信息,通过各种手段简化(降维)的过程。中文分词技术就是一个例子,人类理解句子很容易找到重点,而机器,需要靠分词技术来降维,已达到抽取重点信息的目的。目前的中文分词应该往 信息的概括 ,文本简化(压缩)方向才能更接近人的理解。所以在分词的基础上,可以进一步再提炼信息(降维)。此过程可以考虑加入到 文本数据预处理的过程中。设计是为了找到问题的解决方案。问题很多很复杂,需要找到核心问题来针对性解决。一个UI界面可以很复杂,但是设计师需要找到最为关键的区域,让用户更容易理解UI。
  • Jieba库实现词性标注及小说人物角色抽取

    公众号: 小叶叶学Python4年人力资源从业经验,情报学硕士,主要内容涵盖python、数据分析和人力资源相关内容本文运用自然语言处理技术,对中文小说《神雕侠侣》人物角色进行抽取,为使用通过社会网络分析法对人物关系进行分析奠定基础,使文学研究者、社会学家和普通读者对小说人物关系和背景有更全面的认识自然语言处理技术自然语言处理是一门融语言学、计算机科学、数学于一体的科学。分词、词性标注、句法分析是中文自然语言处理的三大基本任务,本文主要应用分词、词性标注两类处理技术。jieba库基本介绍jieba库概述jieba是优秀的中文分词第三方库
  • 用 Python 抓取 bilibili 弹幕并分析

    作者| GitPython时隔一年,嵩哥带来他的新作《雨幕》。他依旧认真创作,追求高品质,作品在发表之前已听了五百遍以上。如此高品质的音乐,大家如何评价呢?通过哔哩哔哩上的视频弹幕,感受一下。01 实现思路首先,利用哔哩哔哩的弹幕接口,把数据保存到本地。接着,对数据进行分词。最后,做了评论的可视化。02 弹幕数据平常我们在看视频时,弹幕是出现在视频上的。实际上在网页中,弹幕是被隐藏在源代码中,以XML的数据格式进行加载的。比如:https://comment.bilibili.com/123072475.x...
  • 生活中处处的贝叶斯

    用贝叶斯分析的方法,可以帮助我们解决生活中方方面面的问题,尤其在我们未来将有可能深入了解的机器学习,大数据挖掘,以及相关工程性问题中,有着极其重要的地位,接下来就让我们走进贝叶斯方法,通过一系列的例子来了解其含义及应用。③最后通过中文分词、机器翻译、最大似然与最小二乘、机器学习这几个实例来说明贝叶斯方法运用的普遍性。所谓的最优贝叶斯推理就是将多个模型对于未知数据的预测结论加权平均起来。比如中文分词领域就用到了贝叶斯。
  • 腾讯抗黑灰产——自监督发现行话黑词识别一词多义

    不过在黑灰产领域,这种处理方法有一个问题:大量的黑话/黑词对于下游任务非常有效,但却不在通用的词典中,导致分词器无法准确切分出对应的词。作为黑灰产能力建立的基础,行话/黑词的识别显得至关重要。本文将介绍一些我们在新词发现及一词多义上的解决方案。1 新词发现新词发现方法较多,本文将介绍一种比较简单且有效的新词发现方案:自由度+凝固度。和 714 、扩列、暖说说这种需要新词发现才能识别的新词不同,溜冰是现有的词,只是在特定的场景下意义发生了变化。
  • 基于词典和弱标注信息的电影评论情感分析系统

    系统实施的工作介绍:本项目主要内容是构建爬虫基于豆瓣获取《流浪地球》和《飞驰人生》的电影评论数据,进而分析、挖掘原始数据集,构造电影评论数据集领域内个的情感词典并结合用户评分数据作为弱标注信息来实现影评数据的自动标注,节省人力成本,最后基于支持向量机 SVM模型完成影评数据的情感分析工作。
  • 「NLP」用python实现基于凝固度和自由度的新词发现程序

    要保证基于词库方式的分词效果好,就要持续的更新词库,也就是要有发现新词的能力。n-gram加词频最原始的新词算法莫过于n-gram加词频了。凝固度和自由度这个算法在文章《互联网时代的社会语言学:基于SNS的文本数据挖掘》 里有详细的阐述。凝固度就是一个字组合片段里面字与字之间的紧密程度。Python实现根据以上阐述,算法实现的步骤如下:1. n-gram统计字组合的频率如果文本量很小,可以直接用Python的dict来统计n-gram及其频率。如果文本量再大一些,Python的dict经常会碰到最好使用trie tree这样的数据结构。实验下来,trie tree统计30M的文本用几十秒,而同样的用leveldb统计却要6个多小时!!!
  • Python jieba库的使用说明

    1、jieba库基本介绍(1)、jieba库概述jieba是优秀的中文分词第三方库 -中文文本需要通过分词获得单个的词语- jieba是优秀的中文分词第三方库,需要额外安装- jieba库提供三种分词模式,最简单只需掌握一个函数(2)、jieba分词的原理Jieba分词依靠中文词库 - 利用一个中文词库,确定汉字之间的关联概率- 汉字间概率大的组成词组,形成分词结果- 除了分词,用户还可以添加自定义的词组2、jieba库使用说明(1)、jieba分词的三种模式精确模式、全模式、搜索引擎模式...
  • 文本处理NLP:分词与词云图

    昨晚我们又做了一次技术分享,继续上次技术分享的话题“文本数据的处理”。上次,我们分享了文本处理的方方面面的知识点,比较宏观,这次我们就其中的一点“分词”展开。一、为什么要分词“行文如流水”形容的是诗文、书法自然流畅不受拘束。这里我们借用一下就是,中文句子词汇之间如流水般无缝,不像英文那样单词之间用空格分开。比如:中文:我在猿人学网站上学Python英文:I learn Python on YuanRenXue.在程序里,从英文中得到一个一个单词很简单,用Python字符串的split()函数就可以搞定。而对...
  • 第三次读者交流-七月的交流

    转眼七月已来了,这是从五月开始做读者交流的第三次,我的初衷是坚持每月做一次读者交流。以分享Python相关技术为主,辅于职场和知识视野相关话题。这次也是用直播形式分享,方便展示代码和PPT。分享的意义也是想跟大家多建立链接。上次分享了NLP(自然语言处理)的基础知识和泛网页正文抽取算法。不少读者对NLP比较感兴趣。这次就继续分享NLP相关知识,NLP的基石-中文分词技术。中文分词就是把一段中文分成一个个词语, 分词技术是做NLP处理的基础,分词的好坏直接影响NLP后续的处理效果。要让机器理解人类语言这是第一...
  • 爬虫抓了那么多的数据,该如何处理呢?

    上周星期天做了第一次B站直播,有点激动,分享的主题是网页正文抽取和NLP基本知识普及。晒一下直播画面:今天把昨天的直播视频内容整理了一下,发在猿人学公众号上。要观看录播的可以点击原文,是B站的录播地址。到目前为止,我们分享了很多爬虫技术,也就是如何抓取到我们想要的数据。那么抓来的数据该如何处理呢?前面我们涉及到这方面的技术很少,对不起大家啦,我来晚啦。我们抓到的很大一部分数据就是文本,比如抓来的新闻、博文、微博、公众号文章等等,甚至是商品的评价、影视节目的评价、弹幕等等,这些统统是文本数据。本文主要围绕文本...
  • 中文NLP的分词真有必要吗?李纪为团队四项任务评测一探究竟 | ACL 2019

    作者| Yuxian Meng、Xiaoya Li、Xiaofei Sun、Qinghong Han、Arianna Yuan、 Jiwei Li译者 | Rachel责编 | Jane出品 | AI科技大本营(ID: rgznai100)【导读】通常,中文文本处理的第一步称为分词,这好像已经成为一种“共识”,但对其必要性的研究与探讨很少看到。本文中,作者就提出了一个非常基础的问题:基于深度学习方法的自然语言处理过程中,中文分词(CWS)是必要的吗? 近日,香浓科技 AI 团队(Shannon AI)与斯坦...
  • 漫画:从诗词大会飞花令到ElasticSearch原理解析

    本文转载自公众号:互联网侦察小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了。对小史面试情况感兴趣的同学可以观看面试现场系列。随着央视诗词大会的热播,小史开始对诗词感兴趣,最喜欢的就是飞花令的环节。但是由于小史很久没有背过诗词了,飞一个字很难说出一句,很多之前很熟悉的诗句也想不起来。【倒排索引】吕老师:但是我让你说出带“前”字的诗句,由于没有索引,你只能遍历脑海中所有诗词,当你的脑海中诗词量大的时候,就很难在短时间内得到结果了。【索引量爆炸】【搜索引擎原...
公告

《从零开始开发BBS》课程上线啦,快来跟着我一步步搭建属于你的BBS吧。

课程地址:https://www.shiyanlou.com/courses/1436
9折优惠邀请码: ZHwfIjb1

该课程会带领大家一步步的了解并熟悉Go语言开发,如果你是一个Go语言初学者,或者正准备学习Go语言,那么这个课程非常适合你。如果你熟练掌握了本课程中的知识点,相信你就已经入门Go语言开发,并能胜任日常的开发工作了。