- 博客(41)
- 收藏
- 关注
原创 NLP实习笔试面试题汇总三
一、如何对中文分词问题用隐马尔可夫模型进行建模和训练?二、最大熵隐马尔可夫模型为什么会产生标注偏置问题,如何解决?三、常见的概率图模型中,哪些是生成式模型,哪些是判别式模型?四、使用PyTorch简要写一个RNN算法- PyTorch入门所有的框架都是基于计算图的。计算图分为静态和动态的。静态是先先定义后执行,动态图是运行过程中被定义的。Tensor是PyTorch...
2020-05-09 09:20:48
661
原创 NLP实习笔试面试题汇总一
一、NLP领域里的8种文本表示方式及优缺点1、概述文本表示可以分为:离散式表示(Discrete Representation);分布式表示(Distributed Representation);2、离散式表示(Discrete Representation)2.1 One-Hat(独热编码)将词或字表示成一个向量,该向量的维度是词典(或字典)的长度,词典是通过语料库生成的,该...
2020-05-09 09:19:36
3802
原创 NLP实习笔试面试题汇总二
一、LSTM中各模块分别使用什么激活函数,可以使用别的激活函数吗?关于激活函数的选取。在LSTM中,遗忘门、输入门、输出门使用Sigmoid函数作为激活函数;在生成候选记忆时,使用双曲正切函数Tanh作为激活函数。值得注意的是,这两个函数都是饱和的,即在输入达到一定值的情况下,输出不会发生明显变化。如果是非饱和的激活函数,比如ReLU,那么就难以实现门控的效果。Sigmoid函数的输出在0~...
2020-05-09 09:19:26
2235
原创 NLP实习笔试面试题汇总四
一、决策树有哪些常用的启发函数?如何对决策树进行剪枝?- 决策树的分类离散性决策树:离散性决策树,其目标变量是离散的,如性别:男或女等;连续性决策树:连续性决策树,其目标变量是连续的,如工资、价格、年龄等;决策树相关的重要概念:(1)根结点(Root Node):它表示整个样本集合,并且该节点可以进一步划分成两个或多个子集。(2)拆分(Splitting):表示将一个结点拆分成多个子集...
2020-05-09 09:18:41
690
转载 NLP实习笔试面试题汇总五
一、线性回归与逻辑回归的联系与区别什么是机器学习利用大量的数据样本,使得计算机通过不断的学习获得一个模型,用来对新的未知数据做预测。- 有监督学习(分类、回归)同时将数据样本和标签输入给模型,模型学习到数据和标签的映射关系,从而对新数据进行预测。- 无监督学习(聚类)只有数据,没有标签,模型通过总结规律,从数据中挖掘出信息强化学习强化学习会在没有任何标签的情况下,通过先尝试...
2020-05-09 09:18:15
786
原创 初级训练营—整数反转
一、问题描述二、解题思路class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ flag=1 if x<0: flag=-1 x=ab...
2020-03-31 20:23:10
131
原创 初级训练营—旋转图像
一、问题描述二、解题思路class Solution(object): def rotate(self, matrix): """ :type matrix: List[List[int]] :rtype: None Do not return anything, modify matrix in-place instead. ...
2020-03-31 15:58:08
139
原创 初级训练营—两数之和
一、问题描述二、思路温习class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ if not nums...
2020-03-31 11:57:08
446
原创 初级训练营—移动零
一、问题描述二、解题思路先把出现的0删掉,再在数组的后面加0class Solution(object): def moveZeroes(self, nums): """ :type nums: List[int] :rtype: None Do not return anything, modify nums in-place in...
2020-03-31 11:25:21
114
原创 初级训练营—加一
一、问题描述二、解题思路先把数组提取出来,换成整数,然后通过除法运算将整数转换成数组class Solution(object): def plusOne(self, digits): """ :type digits: List[int] :rtype: List[int] """ n = 0 ...
2020-03-31 10:42:57
247
原创 初级训练—两个数组的交集 II
一、题目描述二、答题思路class Solution(object): def intersect(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] """ re...
2020-03-30 22:58:07
111
原创 初级训练营—只出现一次的数字
一、题目描述二、解题思路class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ dic={} for i in nums: if ...
2020-03-30 21:53:41
421
原创 初级训练营—存在重复
一、问题描述二、思路—用字典的形式class Solution(object): def containsDuplicate(self, nums): """ :type nums: List[int] :rtype: bool """ numDic={} for i in nums: ...
2020-03-30 21:13:46
205
原创 初级训练营—旋转数组
一、问题二、解题思路class Solution(object): def rotate(self, nums, k): """ :type nums: List[int] :type k: int :rtype: None Do not return anything, modify nums in-place in...
2020-03-30 15:03:24
95
原创 初级训练营—买卖股票的最佳时机 II
一、题目描述二、解题思路第二天的股票价格必须比第一天的价格多才能赚钱,相当于以第一天的价格买进,第二天的价格卖出设 tmp 为第 i-1日买入与第 i 日卖出赚取的利润,即 tmp=prices[i] - prices[i-1];当该天利润为正 tmp>0,则将利润加入总利润 profit;当 tmp<=0, 直接跳过;遍历完成后,返回总利润 profitclass ...
2020-03-30 13:43:13
161
原创 初级训练营—删除排序数组中的重复项
一、题目二、解题思路使用两个指针 i 和 jclass Solution(object): def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int """ if not nums: retu...
2020-03-30 11:51:14
107
原创 leetcode训练—三数之和
思路:定义三个下角标指针,k,i,j>>>>>i=k+1,j=n-1 (n为数组长度)num[k] > 0 ,如果num[k]比0大的话,num[i] 和 num[j] 就更大了,三个数加起来不可能为0i<j and num[i-1]=num[i] ; i++ ; i<j and num[j+1]=nu...
2020-03-26 22:28:46
280
原创 leetcode—反转字符串里的单词
class Solution(object): def reverseWords(self, s): """ :type s: str :rtype: str """ words = [] for word in s[::-1].split(): words...
2020-03-26 20:13:57
122
原创 词向量—分布式表示方法
一、为什么不能用one-hot在用one-hot表示单词的时候,用欧氏距离或者余弦相似度计算句子的相似度容易陷入所有的相似度的值相等,无法进行判断的情况,不能表示语义的相似度。因为向量的大小与词的大小是有相关性的,有稀疏性的特征二、分布式表示方法三、怎么训练分布式表示方法四、怎么用词向量表达句子向量...
2020-03-26 11:53:39
3269
1
原创 Tf-idf Representation
文档1:d1=(1log(3/2),1log(3/1),1log(3/1),1log(3/3),0,0,0,0,0)
2020-03-26 10:39:36
262
原创 动态规划问题—0-1背包问题
def bag(n, c, w, v): """ 测试数据: n = 6 物品的数量, c = 10 书包能承受的重量, w = [2, 2, 3, 1, 5, 2] 每个物品的重量,&n...
2020-03-25 20:59:11
360
原创 文本表示(词和句子的表示方法)
一、单词的表示(one-hot)count方法的缺点:不考虑上下文语义是一个稀疏矩阵有些单词出现次数非常大解决方法:使用unigramword2vec方法加log
2020-03-25 17:36:17
448
原创 最长公共前缀
class Solution(object): def longestCommonPrefix(self, strs): """ :type strs: List[str] :rtype: str """ # 首先判断是否是空的字符串 if not strs: retu...
2020-03-24 16:07:03
144
原创 过滤词—Filtering Words
对于NLP的应用,我们通常先把停用词、出现频率很低的词汇过滤掉,类似于特征筛选的过程建立停用词的方法:# 方法1:自己建立一个停用词词典stop_words=["the","an","is","there"]# 在使用时:假设word_list包含了文本里的单词word_list=["we","are","the","students"]filtered_words=[word for...
2020-03-23 21:46:27
926
原创 输入错的单词,寻找正确的单词
步骤:假如集合c中的单词为:apple,app计算p©-----p(apple)和p(app),求apple和app在文章中出现的频次假如用户输入的单词是appl,求最有可能成为正确的字符串是哪一个(apple or app)p(appl/apple)*p(apple) 和 p(appl/app)*p(app)...
2020-03-23 17:19:38
223
原创 编辑距离
class Solution: def minDistance(self, word1: str, word2: str) -> int: n1 = len(word1) n2 = len(word2) dp = [[0] * (n2 + 1) for _ in range(n1 + 1)] # 第一行 ...
2020-03-23 16:16:17
135
原创 最长上升子序列问题
# Dynamic programming.class Solution: def lengthOfLIS(self, nums: List[int]) -> int: if not nums: return 0 dp = [1] * len(nums) #初始化dp[i]中的每个元素的子序列长度都为1 for i in r...
2020-03-21 17:20:53
94
原创 零钱兑换问题
动态规划,自下而上的方法class Solution: def coinChange(self, coins: List[int], amount: int) -> int: dp = [float('inf')] * (amount + 1) dp[0] = 0 for coin in coins: ...
2020-03-21 15:33:36
150
原创 最大子序列和问题
class Solution: def maxSubArray(self, nums): length = len(nums) if length==0: return None if length==1: return nums[0] if max(nums) < 0: return max(n...
2020-03-21 15:05:58
120
原创 四、NLP学习之HMM
一、马尔可夫链马尔可夫链是满足马尔可夫性质的随机过程(马尔可夫性质是无记忆性)>>>>这一刻的时刻,受前一时刻的影响,不受更往前时刻状态的影响隐马尔可夫链>>>>隐藏状态序列二、隐马尔可夫模型隐马尔可夫模型(Hidden Markov Model)是统计模型,处理的问题具有以下特征:问题基于序列,像时间序列或者状态序列问题中有两类数...
2020-03-20 19:33:55
283
原创 三、第一次作业--基于搜索的问答系统
基本过程:<1> 分词(jieba)<2> 文本向量化1. 通过向量的方式表达单词2. 相应单词在文本中出现的次数(Count Vector)>>>>(2,3,0,1,0,0,0)3. tf-idfTF-IDF(term frequency–inverse document frequency,词频-逆向文件频率)是一种用于信息检索(...
2020-03-20 19:33:16
425
原创 维特比算法
Dict= {"经常":0.1,"经":0.05,"有":0.1, "常":0.001,"有意见":0.1, "歧":0.001,"意见":0.2,"分歧":0.2,"见":0.05,"意":0.05,"见分歧":0.05,"分":0.1}def DAG(sentence): DAG = {} #DAG空字典,用来构建DAG有向无环图 N = len(s...
2020-03-20 19:30:19
154
原创 最大匹配分词算法
一、前向最大匹配算法二、后向最大匹配算法三、最大匹配算法的缺点不能考虑短的情况属于贪心算法,只能得出局部最优解效率不高,很大程度上依赖参数max_len的设置不能很好的处理歧义的情况,不同的单词在不同的场景中的意思是不一样的...
2020-03-19 16:48:06
739
原创 二、NLP学习之RNN模型
RNN模型(Recurrent Neural Network)一、原始RNN模型x是一个向量,表示输入层的值,s也是一个向量,表示隐藏层的值(这里的隐藏层只画了一个节点,其实这一层是有多个节点的,节点的数量与向量s的维度相同)U是输入层到隐藏层的权重矩阵,O也是一个向量,表示输出层的值,V是隐藏层到输出层的权重矩阵循环神经网络的隐藏层的值s不仅仅取决于当前这次的输入x,还取决于上一次隐藏...
2020-03-14 21:42:28
499
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人