NLP基础
CQU-XJTU-Mr. Wu
这个作者很懒,什么都没留下…
展开
-
NLP基础:SVM手推
NLP基础:SVM手推1. SVM的目标函数2. 拉格朗日乘子法和KKT条件3. Dual对偶形式的推导3.1 线性可分支持向量机的推导3.2 (非)线性支持向量机的推导4. Kernel Trick1. SVM的目标函数目标函数是最大化 Margin根据约束条件分为Hard Constraints 和 Soft Constraints两种情况Soft Constraints情况下可以转为为 Loss 形式(Hinge loss),可利用梯度下降等方式进行优化2. 拉格朗日乘子法和KKT条件原创 2020-12-24 17:20:57 · 325 阅读 · 2 评论 -
NLP基础:利用TF-IDF完成 Emotion Detection
利用TF-IDF完成Emotion Detection1. 数据加载与划分2. 文本向量化3. 建立逻辑回归模型并训练、测试4. 利用交叉验证筛选超参数1. 数据加载与划分import pandas as pdfrom sklearn.model_selection import train_test_split, GridSearchCVfrom sklearn.feature_extraction.text import TfidfVectorizerfrom sklearn.linear_m原创 2020-12-15 11:09:29 · 208 阅读 · 0 评论 -
NLP基础:逻辑回归(LR)详解与实战
NLP基础:逻辑回归(LR)详解1. 逻辑回归(Logistic Regression)简介2. 逻辑回归优化算法推导2.1 梯度下降法(Gradient Descent)2.2 随机梯度下降法2.3 mini-batch 梯度下降3. 自适应学习率算法3.1 AdaGrad3.2 RMSProp3.3 Adam4. 迭代终止条件4.1 对数似然函数基本不再发生变化时4.2 参数基本不再发生变化时4.3 Early-stopping5. 逻辑回归实战6. 逻辑回归的缺陷7. 逻辑回归的改进7.1 L1 正则原创 2020-12-12 15:55:31 · 1273 阅读 · 0 评论 -
NLP基础:机器学习指标 Accuracy Precision Recall F1
NLP基础:机器学习指标 Accuracy Precision Recall F11. 混淆矩阵2. 例子3. Accuracy4. Precision5. Recall6. F1 score7. macro-8. micro-9. 利用sklearn内置函数计算macro、micro指标1. 混淆矩阵对于二分类,混淆矩阵如下:其中,T代表True,F代表False,P代表Positive, N代表Negative,TP可以形象的记忆为正确的分为了正样本,FN可以记为错误的分为了负样本,FP可以记原创 2020-10-27 15:24:55 · 922 阅读 · 0 评论 -
NLP基础:词性标注实战(HMM / CRF / LSTM)
NLP基础:词性标注实战(HMM / CRF / LSTM)1. 预备知识1.1 隐马尔可夫模型1.1.1 HMM 简介1.1.2 词性标注理论推导1.2 条件随机场1.3 LSTM2. 利用 HMM 实现词性标注2.1 语料库的准备2.2 统计得到概率分布A、B、pi2.3 利用Viterbi算法实现标注2.4 运行结果1. 预备知识1.1 隐马尔可夫模型1.1.1 HMM 简介定义:指的是一个隐层的马尔可夫链(MC)随机生成不可观测的状态序列,再由状态序列生成可观测的观测序列的过程。三个概率原创 2020-10-20 22:59:21 · 1372 阅读 · 0 评论 -
NLP基础: Python基础编程(lambda+map+filter+decorator+numpy+pandas)
NLP基础: Python基础编程1. lambda 匿名表达式2. map函数3. filter函数4. reduce函数5. Python推导式5.1 列表推导式5.2 集合推导式5.3 字典推导式6. 装饰器6.1 简单参数装饰器6.2 通用参数装饰器6.3 对输入参数类型进行筛选7. numpy库的使用7.1 数组的创建7.2 花式索引7.3 条件逻辑转数组7.3.1 np.where()7.3.2 多维数组排序8. pandas的使用9. 总结1. lambda 匿名表达式类似于定义函数#l原创 2020-10-17 21:48:50 · 474 阅读 · 0 评论 -
NLP基础:检索式问答系统实战
NLP基础:检索式问答系统实战1. 目的与思路2.简单思路的实现2.1 问题-答案 库的读取2.2 对数据的相关统计2.2.1 单词统计2.2.2 单词频率统计2.2.3 Top10 单词统计2.3 对qlist进行预处理2.4 文本TF-IDF表示2.5 返回最匹配的TOP5 答案3. 基于倒排表的优化3.1 建立倒排表3.2 利用倒排表进行优化4. 基于词向量的文本表示4.1 embedding 获取4.2 句子的表示4.3 基于`词向量-倒排表`的问答系统5. 总结1. 目的与思路检索式问答系原创 2020-10-11 15:42:51 · 3613 阅读 · 8 评论 -
NLP基础:动态规划练习
NLP基础:动态规划练习1. 连续子序列和的最大值2. 最长递增序列(不一定连续)3. 凑硬币问题4.总结1. 连续子序列和的最大值input = [-2, 11, -4, 13, -5, -2]def max_sum_subseq(input): """ 求解子序列的和的最大值 :param input:输入的实数组 :return :子序列和的最大值 """ length = len(input) dp = [0]*(length)#数组中的原创 2020-10-09 17:12:56 · 293 阅读 · 1 评论 -
NLP基础:编辑距离+拼写纠错实战
NLP基础:编辑距离+拼写纠错实战1. 编辑距离相关1.1 编辑距离的计算1.2 运行结果1.3 生成特定编辑距离的字符串1.3.1 生成与目标字符编辑距离为1的字符1.3.2 运行结果1.3.3 生成与目标字符编辑距离为2的字符1.3.4 运行结果2. 拼写纠错实现2.1 总体思路2.2 加载词库2.3 生成候选词集合2.4 构建Bigram模型2.4.1 语料加载debug2.4.2 相关代码2.5 根据用户日志统计打错概率2.6 利用测试数据进行纠错2.7 部分运行结果3. 总结1. 编辑距离相关原创 2020-10-08 22:54:05 · 1419 阅读 · 0 评论 -
NLP基础:文本的向量表示
NLP基础:文本的向量表示1. 词袋模型1.1 利用sklearn函数1.2 手动计算1.3 计算结果对比2. TF-IDF2.1 利用sklearn函数2.2 手动计算2.3 计算结果对比3. 总结1. 词袋模型1.1 利用sklearn函数import numpy as npfrom collections import Counterfrom sklearn.feature_extraction.text import CountVectorizervectorizer = CountVe原创 2020-10-08 18:57:34 · 306 阅读 · 0 评论 -
NLP基础:分词算法实战
NLP基础:分词算法实战1. 前向最大匹配法1.1 加载词库1.2 前向最大匹配实现1.3 前向最大匹配实现结果2. 后向最大匹配法2.1 加载词库与实现2.2 后向最大匹配实现结果3. 双向最大匹配法3.1 import 前向与后向最大匹配3.2 双向匹配实现3.3 双向匹配结果4. 利用语言模型进行分词4.1 加载词库与一部分unigram概率词典4.2 核心功能代码实现4.3 实现结果4.4 Viterbi算法优化4.4.1 图的构建4.4.2 Viterbi算法实现4.4.3 Viterbi实现结果原创 2020-10-07 19:59:46 · 848 阅读 · 0 评论