首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用 Python 分析《红楼梦》(1)

看完文章之后,觉得有两个小问题:首先,作者用结巴分词里词典是根据现代文语料获得(参见“结巴分词”开发者之前对网友回复:模型数据是如何生成?...即使这样,也只能解释一下算法大致工作过程,至于详细原理,如果感兴趣的话可以找其他资料去学习,也会附上一些资料链接。不然如果面面俱到的话感觉可以出书了……至于结果如何?先卖个关子。...如果我们从根结点不断向下走到某个结点,那么把经过每一条边上字母拼起来,就是这个结点代表字符串了。这就是字典树特点。 那么字典树是干什么用?...其实无字典分词并不是完全不用字典,只是说字典是根据原文生成,而不是提前制作。为了进行分词,我们还是需要先找出文章中哪些内容像是单词才能确定如何进行切分。 那么怎么确定哪些内容像单词?...自由度思想是这样如果一个组合是一个完整单词那么它总是作为完整单词一部分出现,所以相邻字就会比较固定。

2K80

Wolfram语言设计“素描”获得美国博物馆大奖

- 如何处理罗马数字、数字、数学符号、温度和化学公式? - 姓名、地名和其他专有名词? - 有定义但在 OED 中没有自己定义词怎么样? - 你如何处理标点符号或词汇标记?...发现无论您使用什么词作为种子词,在大约20 层之后,您最终会得到大约 7882 个词作为一个完整集合。...您可以检查该词派生词,并在需要时切换到英国词典。通过这个设置,能够得到一个封闭单词集,当您跟踪每个条目的定义时,它是有意义。 查看完整单词列表时,这里有很多故事要讲。城市和国家来自哪里?...如果您使用一个非常常见种子词,比如' or ',您可以很容易地找到这个集合,因为它总是出现在任何不太常见完整定义中。...如果你对展览感兴趣,你可以在这里找到它。 https://publications.risdmuseum.org/complete-definitions。 如果您想看印刷品,这里有一些。

54240
您找到你想要的搜索结果了吗?
是的
没有找到

用Python分析《红楼梦》:见证了贾府兴衰,你是否还能“笑道”世事无常

作者 | 数据侠楼宇 ▍构建全文索引与全文字典 两个月以来,通过互联网自学了一些文本处理知识,用自然语言处理和机器学习算法对《红楼梦》进行了一些分析。这个过程中找到了一些有趣发现。...为了进行分词,我们还是需要先找出文章中哪些内容像是单词才能确定如何进行切分。 那么怎么确定哪些内容像单词?最容易想到方法就是:把所有出现次数高片段都当成单词。...也就是说如果片段自由度比较高,就说明这个词应该是完整。 DT君注:自由度思想是,如果一个组合是一个完整单词那么它总是作为完整单词一部分出现,所以相邻字就会比较固定。...有了评分标准之后,还有一个问题:如何找出分数最高切分方案?肯定不能一个一个地尝试每一种方案,不然速度实在是太慢了。我们可以用一个数学方法来简化计算:维特比算法。...此外,我们还发现《红楼梦》中的人物很爱笑,因为除了人名以外出现次数最多单词就是“笑道” : ) 完整词频表做成了一个网页,感兴趣的话可以去看一下:红楼词表。

91570

用Python分析《红楼梦》:见证了贾府兴衰,你是否还能“笑道”世事无常

▍构建全文索引与全文字典 两个月以来,通过互联网自学了一些文本处理知识,用自然语言处理和机器学习算法对《红楼梦》进行了一些分析。这个过程中找到了一些有趣发现。...为了进行分词,我们还是需要先找出文章中哪些内容像是单词才能确定如何进行切分。 那么怎么确定哪些内容像单词?最容易想到方法就是:把所有出现次数高片段都当成单词。...也就是说如果片段自由度比较高,就说明这个词应该是完整。 DT君注:自由度思想是,如果一个组合是一个完整单词那么它总是作为完整单词一部分出现,所以相邻字就会比较固定。...有了评分标准之后,还有一个问题:如何找出分数最高切分方案?肯定不能一个一个地尝试每一种方案,不然速度实在是太慢了。我们可以用一个数学方法来简化计算:维特比算法。...此外,我们还发现《红楼梦》中的人物很爱笑,因为除了人名以外出现次数最多单词就是“笑道” : ) 完整词频表做成了一个网页,感兴趣的话可以去看一下:红楼词表。

72400

拿 NLP 来分析自己 Facebook 数据,会发生什么?

当然,你也可能还有其他更有创造性输出。可能你写日记,写音乐等等。如果你是个学生,那么你可能还有一些需要书写作用。...如何得到你 Facebook 数据 我们要如何能够获取到 Facebook 数据?事实上要你想象简单很多。...个人用词看起来像什么? 那么如果我们想要绘制单个单词以查看我们用法如何从顶部单词到底部单词衰减,该怎么办?我们可以编写一个通用柱状图函数,如下所示: ?...随着时间推移,词汇用法是什么样想知道词汇用法随着时间推移而变化。我们怎样才能产生?好吧,幸运是我们给所有文件留了时间戳! 首先,让我们创建我们绘图函数: ?...知道当我开始分析时候,确实做到了。如果你想要分享很酷视觉效果或事物,请给我发表评论!很想知道其他人在自己数据中找到了什么。

82820

【NLP专栏】图解 BERT 预训练模型!

7.2 ELMo:语境问题 如果我们使用 Glove 词嵌入表示方法,那么不管上下文是什么,单词 "stick" 都只表示为同一个向量。一些研究人员指出,像 "stick" 这样词有多种含义。...ELMo LSTM 会在一个大规模数据集上进行训练,然后我们可以将它作为其他语言处理模型一个部分,来处理自然语言任务。 那么 ELMo 秘密是什么?...Transformer Encoder-Decoder 结构使得它非常适合机器翻译。但你怎么才能用它来做文本分类?...8.1 Masked Language Model(MLM 语言模型) 那么如何才能像 LSTM 那样,融合上文和下文双向信息? 一种直观想法是使用 Transformer Encoder。...论文里也提到,这种方法在命名实体识别任务中效果,接近于微调 BERT 模型效果。 ? 那么哪种向量最适合作为上下文词嵌入?认为这取决于任务。

1.6K51

使用wrd2vec构建推荐系统

下面将演示如何从任何文本生成此数据集。让我们使用一个句子并从中创建训练数据。 第一步: 黄色高亮显示单词将作为输入,绿色高亮显示单词将作为输出单词。我们将使用2个单词窗口大小。...最后,这句话完整训练数据如下: 我们从一个句子中抽取了27个训练样本,这是喜欢处理非结构化数据许多方面之一——凭空创建了一个标记数据集。...大多数时候,消费者购买行为都有一个模式,例如,一个从事体育相关活动的人可能有一个类似的在线购买模式: 如果我们可以用向量表示每一个商品,那么我们可以很容易地找到相似的商品。...因此,如果用户在网上查看一个商品,那么我们可以通过使用商品之间向量相似性评分轻松地推荐类似商品。 但是我们如何得到这些商品向量表示?...然而,这个输出仅基于单个商品向量。如果我们想根据他或她过去多次购买来推荐商品一个简单解决方案是取用户迄今为止购买所有商品向量平均值,并使用这个结果向量找到类似的商品。

1.6K20

Python正则表达式中贪心模式和非贪心模式

声明:最近发现有人利用在百度云盘里免费分享127课Python视频盈利,并声称获得授权。在此,声明,文末百度云盘里Python视频是免费,不会授权给任何人或机构进行销售。...如果再发现有人卖这些视频,将诉诸于法律对其进行严厉打击。 分割线======== 正则表达式并不是Python独有的,而是一套独立语法,很多编程语言都支持。...在上面的代码中,正则表达式中第一个\b表示匹配单词头,后面还有个字母b,表示匹配以字母b开头单词,后面一个圆点.表示匹配任意字符(包括空格),然后加号+表示前面的任意字符出现一次或多次,最后一个\b表示匹配单词尾...那么问题来了,什么算是单词?空白字符和标点符号都算单词尾,但是正则表达式默认使用贪心模式,也就是匹配尽可能多内容,所以上面的代码匹配到文本中最后一个单词尾。如图: ?...那如何才能只匹配以字母b开始单词而不是像上面这样子?可以使用非贪心模式。非贪心模式是使用问号“?”

1.5K70

图解BERT:通俗解释BERT是如何工作

在上面的示例中,解释了如何使用BERT进行分类。以非常相似的方式,也可以将BERT用于问题解答和基于NER任务。在本文结尾处,将介绍用于各种任务体系结构。 它和嵌入有什么不同?...您能找到这种方法问题吗? 该模型从本质上已经了解到,它仅应为[MASK]令牌预测良好概率。即在预测时或在微调时该模型将不会获得[MASK]作为输入;但是该模型无法预测良好上下文嵌入。...如图所示,我们用随机单词替换了一些Mask,并用实际单词替换了一些Mask。 ? 所以,现在我们有了最好设置,我们模型不会学习任何不好模式。 但如果只保留Mask+Unmask设置?...那么如何将其用于各种任务? 相关任务微调 通过在[CLS]输出顶部添加几层并调整权重,我们已经了解了如何将BERT用于分类任务。 ? 本文提供了如何将BERT用于其他任务方法: ?...问题解答任务-这是最有趣任务,需要更多上下文才能了解如何使用BERT解决问题。在此任务中,给我们一个问题和一个答案所在段落。目的是确定段落中答案开始和结束范围。 ?

2.4K30

一文带你全面理解向量数据库

如果这个定义只会引起人们更多理解上混乱,那么就让我们一步一步来进行解释。...当他们不知道书封面是什么颜色时,他们是如何找到?向量数据库背后直觉如果你想快速找到一本特定书,那么,按类型和作者排列书架比按颜色排列更有意义。...这就是为什么大多数图书馆都是这样组织原因,以便帮助你快速找到你想要东西。但是,你如何根据一个查询而不是一个流派或作者来找到可以阅读的书籍?...这是关系数据库一个限制:你必须添加你认为某人可能需要所有信息才能找到该特定项目。但是,你怎么知道该添加哪些信息以及添加多少信息?添加所有这些信息往往非常耗时,并且不能保证完整性。...向量数据库相对于将向量嵌入存储在NumPy数组中优势是什么?经常(已经)遇到一个问题是:我们不能只使用NumPy数组来存储嵌入吗?

75581

【良心推荐】一文看穿“Word Embedding到Bert模型”

所以你看,通过这个网络学习语言模型任务,这个网络不仅自己能够根据上文预测后接单词是什么,同时获得一个副产品,就是那个矩阵Q,这就是单词Word Embedding是被如何学会。...使用Word2Vec或者Glove,通过做语言模型任务,就可以获得每个单词Word Embedding,那么这种方法效果如何?...那么预训练好网络结构后,如何给下游任务使用?...这里引入了一个新问题:对于NLP各种花样不同任务,怎么改造才能靠近GPT网络结构? ?...那么新问题来了:对于Transformer来说,怎么才能在这个结构上做双向语言模型任务?乍一看上去好像不太好搞。觉得吧,其实有一种很直观思路,怎么办?

2.8K30

Blockchange丨老矿工区块链5000字终极指南

只有这样,这些人才能依靠自己运营这个去中心化系统。 “可以存一些比特币,万一以后它涨了如果这么想的人多了,那设想就变成现实了。” ——中本聪 系统里有多少人就算足够多了?至少三个。...所以机器输出结果中也会包含数字。 现在,如果问你以下问题: “从左边给机器输入什么,可以从机器右边获得一个以三个0开头单词?例如,000ab,00098,000fa或000XX。”...请记住,对一个给定数字,机器每次都会吐出相同单词如果给你一个数字,比如说72533,并且问你,“把这个数字输进机器,是否输出了一个以三个0开头单词?”,完成这个过程你觉得有多困难?...因为它演示了哈希函数如何工作。真正计算原理比这更复杂。 在机器上花费时间和电力后,一旦计算出这个数字,页面就被这个数字封印了。如果有人试图改变页面的内容,任何人都可以利用封印数字验证页面的完整性。...区块链工作原理 那么,为什么每个人都努力计算加密数字,即使知道别人会计算并向他们宣布?为什么不坐下来等待通知? 这就是激励机制出现地方。每个人都是区块链一部分,都有资格获得奖励。

34210

Vision Transformers 大有可为!

如果我们将注意力遗忘定义为任何技术和实现方面,我们将如何着手这样做? 让我们举一个例句问问自己,把注意力集中在“gave”这个词上,应该把注意力放在这个句子中哪些词上,来增加这个词意思?...通过问我自己这些问题,也许对句子中每个单词都这样做,也许能够理解其中含义和方面。现在问题是,如何在实践中实现这个概念? 为了理解注意力计算,我们可以将注意力计算与数据库世界进行比较。...那么为什么transformer如此强大?这是由于减少矩阵秩自我注意机制与transformer另外两个组成部分跳跃连接和MLP之间拉锯战。 ?...Vision Transformers 到了2020年,谷歌研究人员又一次想到了这一点,“但是,如果人们发现Transformers在自然语言处理领域如此有效,它们将如何处理图像?”....我们知道 transformer把文字作为输入向量,那么我们怎样才能把图像转换成向量?当然,第一种解决方案是使用图像所有像素并将它们“内联”以获得向量。

57330

深度学习在自然语言处理应用

举个例子,假设刚刚写下“吃了”,那么一个词语是“庆丰包子”概率,可以用语料库中“吃了庆丰包子”出现次数除以“吃了”出现次数来计算。...由词向量构成语义 我们已经有了原来表示单个词语向量,该如何用这些词表示语义,甚至形成完整句子?...它意义在于,由于我们可以将概念和语句编码为向量,并且我们可以使用大量向量作为记忆元素,通过搜索能找到问题最佳答案,那么深度学习技术就能用文字来回答问题了。...下一个前沿方向是准确理解语义 刚刚讨论方法是关于如何以读故事方式回答问题,但是故事一些重要情节一目了然,我们不必都写下来。设想桌上放着一本书。计算机如何才能知道你挪动桌子同时也挪动了书本?...Jonathan是21CT首席科学家。他主要研究机器学习和人工智能如何使用在文本和知识中让计算机变得更智能。他在德克萨斯农工大学获得心理学学士学位和工商管理硕士,在德克萨斯大学获得计算机博士学位。

71190

深度学习在自然语言处理应用

举个例子,假设刚刚写下“吃了”,那么一个词语是“庆丰包子”概率,可以用语料库中“吃了庆丰包子”出现次数除以“吃了”出现次数来计算。...由词向量构成语义 我们已经有了原来表示单个词语向量,该如何用这些词表示语义,甚至形成完整句子?...它意义在于,由于我们可以将概念和语句编码为向量,并且我们可以使用大量向量作为记忆元素,通过搜索能找到问题最佳答案,那么深度学习技术就能用文字来回答问题了。...下一个前沿方向是准确理解语义 刚刚讨论方法是关于如何以读故事方式回答问题,但是故事一些重要情节一目了然,我们不必都写下来。设想桌上放着一本书。计算机如何才能知道你挪动桌子同时也挪动了书本?...Jonathan是21CT首席科学家。他主要研究机器学习和人工智能如何使用在文本和知识中让计算机变得更智能。他在德克萨斯农工大学获得心理学学士学位和工商管理硕士,在德克萨斯大学获得计算机博士学位。

47630

手把手教你从零起步构建自己图像搜索模型

最后,如果我们设法为我们图像和单词找到常见嵌入,我们可以使用它们来进行文本到图像搜索! 由于其简单性和高效性,第三种方法将成为本文重点。 我们该怎样实现这个过程?...那么,我们该如何在实际中使用深度学习表示来创建搜索引擎? 我们最终目标是拥有一个搜索引擎,它可以接收图像并输出相似的图像或标签,可以接收文本并输出类似的单词或图像。...这些类远非包罗万象(例如他们缺少一个类别),所以我们希望找到更灵活方式。另外,如果我们只是想在不提供输入图像情况下搜索猫?...图像嵌入层大小为 4096,而单词嵌入大小为 300——我们如何使用一个来搜索另一个?...搜索 "ocean"结果 这太棒了——我们模型理解到 ocean 与 water 类似,并从 boat 类中返回了许多物品。 那么搜索 "street"结果又如何? ?

63130

从Word Embedding到Bert模型——自然语言处理预训练技术发展史

所以你看,通过这个网络学习语言模型任务,这个网络不仅自己能够根据上文预测后接单词是什么,同时获得一个副产品,就是那个矩阵 Q,这就是单词 Word Embedding 是被如何学会。...使用 Word2Vec 或者 Glove,通过做语言模型任务,就可以获得每个单词 Word Embedding,那么这种方法效果如何?...那么预训练好网络结构后,如何给下游任务使用?...这里引入了一个新问题:对于 NLP 各种花样不同任务,怎么改造才能靠近 GPT 网络结构?...那么新问题来了:对于 Transformer 来说,怎么才能在这个结构上做双向语言模型任务? 乍一看上去好像不太好搞。觉得吧,其实有一种很直观思路,怎么办?

69120

从Word Embedding到Bert模型——自然语言处理预训练技术发展史

所以你看,通过这个网络学习语言模型任务,这个网络不仅自己能够根据上文预测后接单词是什么,同时获得一个副产品,就是那个矩阵 Q,这就是单词 Word Embedding 是被如何学会。...使用 Word2Vec 或者 Glove,通过做语言模型任务,就可以获得每个单词 Word Embedding,那么这种方法效果如何?...那么预训练好网络结构后,如何给下游任务使用?...这里引入了一个新问题:对于 NLP 各种花样不同任务,怎么改造才能靠近 GPT 网络结构? ?...那么新问题来了:对于 Transformer 来说,怎么才能在这个结构上做双向语言模型任务? 乍一看上去好像不太好搞。觉得吧,其实有一种很直观思路,怎么办?

1.3K40

Hinton口中破解宇宙终极秘密GPT-3厉害在哪?这有篇涂鸦详解

编码 但稍等一下,这里还有个问题,GPT-3本身是无法理解单词含义。作为机器学习算法,它只能对向量进行运算。那么如何单词变成向量?...这就意味着词表中单词”其实并不是完整单词,而是一个个类似子词字符组(字节级别就是字节组)。...举例来说,如果词向量维度是2,那么就好比是将每个单词都存储在一个2维空间里。...下面,就只给二维矩阵画成小方块,然后旁边标上尺寸。如果需要,还会将矩阵分行以明确表示每一行对应于序列中单词。 另外需要注意是,词向量矩阵是分别并行地和各个词独热向量相乘。...例如,如果重要性矩阵只含0和1(每个词都只对应一个重要词)的话,那么其结果就好比根据最重要词从value矩阵中直接挑选对应行。

78620

从word2vec到bert:NLP预训练模型发展史

所以你看,通过这个网络学习语言模型任务,这个网络不仅自己能够根据上文预测后接单词是什么,同时获得一个副产品,就是那个矩阵Q,这就是单词Word Embedding是被如何学会。...使用Word2Vec或者Glove,通过做语言模型任务,就可以获得每个单词Word Embedding,那么这种方法效果如何?...那么预训练好网络结构后,如何给下游任务使用?...这里引入了一个新问题:对于NLP各种花样不同任务,怎么改造才能靠近GPT网络结构? ?...那么新问题来了:对于Transformer来说,怎么才能在这个结构上做双向语言模型任务?乍一看上去好像不太好搞。觉得吧,其实有一种很直观思路,怎么办?

1.8K10
领券