• 推荐一款基于Golang的搜索引擎:Riot

    Lucene 是一款基于 Java 的搜索引擎,也是现在最流行的开源搜索引擎。今天分享一款不一样的,基于 Golang 的搜索引起:Riot。 项目地址:https://github.com/go-ego/riot Features 高效索引和搜索(1M 条微博 500M 数据 28 秒索引完,1.65 毫秒搜索响应时间,19K 搜索 QPS) 支持中文分词(使用 gse 分词包并发分词,速度 27MB / 秒) 支持逻辑搜索 支持中文转拼音搜索 (使用 gpy 中文转拼音) 支持计算关键词在文本...
  • 漫画:从诗词大会飞花令到ElasticSearch原理解析

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

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

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

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

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

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

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

    系统实施的工作介绍:本项目主要内容是构建爬虫基于豆瓣获取《流浪地球》和《飞驰人生》的电影评论数据,进而分析、挖掘原始数据集,构造电影评论数据集领域内个的情感词典并结合用户评分数据作为弱标注信息来实现影评数据的自动标注,节省人力成本,最后基于支持向量机 SVM模型完成影评数据的情感分析工作。
  • 腾讯抗黑灰产——自监督发现行话黑词识别一词多义

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

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

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

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

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

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

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

    对于我们正在使用的编辑器,我感到有点傻,我想知道是否有人知道关于标记化程序介绍的任何优秀在线教程。
公众号
码农俱乐部
关注公众号订阅更多技术干货!