NLP 任务中有哪些巧妙的 idea?

文章目录

  • 1. 分布式假设(Distributional Hypothesis)
  • 2. 词袋模型(Bag-of-Words)
  • 3. 潜在语义分析(Latent Semantic Analysis)
  • 4. 概率主题模型(Probabilistic Topic Models )
  • 5. 基于BMES的中文分词或基于BIO的NER/Chunking
  • 6. 基于PageRank的TextRank

转载来源:https://www.zhihu.com/question/356132676/answer/901244271
作者:邱锡鹏

这个问题很有趣!看了下目前的回答都是深度学习之后的,我就回答几个深度学习之前的吧:)
先从语义表示说起吧,个人觉得都是简单并且巧妙的想法(但其背后的理论不一定简单)。

1. 分布式假设(Distributional Hypothesis)

“Linguistic items with similar distributions have similar meanings.” 参考

直白点就是,一个词的语义可以用它的上下文表示。

对NLP来说,个人觉得分布式假设是来自语言学的最有价值的“理论”之一。

2. 词袋模型(Bag-of-Words)

将一篇文档看作是一个词的集合,不考虑语法,甚至是词序信息也都抛弃了。

BoW模型解决了用机器学习来做NLP的一个痛点问题:怎样把一个变成的文本序列转换为定长的向量。

相关扩展:N-gram,TF-IDF等3. 潜在语义分析(Latent Semantic Analysis)

3. 潜在语义分析(Latent Semantic Analysis)

基于上面的分布式假设和词袋模型,我们可以构建一个词-文档矩阵(term-document matrix) XX 。这个矩阵 XX 很有意思,每一列为一个文档的表示(BoW向量),每一行为一个词的语义表示(分布式假设,其中上下文是以文档为基本单位)。这样我们就可以用 XTXX^{T}X 表示文档和文档之间的关系,用 XXTXX^{T} 表示词与词之间的关系。这个矩阵还可以进行SVD分解,得到词和文档的稠密向量表示,可以发现潜在的语义信息(比如主题等)。
alt

4. 概率主题模型(Probabilistic Topic Models )

概率主题模型比词袋模型多引入了一个“主题(Topic)”作为隐变量。词和文档的之间关联变成了:文档->主题->词。这个想法合情合理,听上去就更好。如果你觉得哪里不好,又可以魔改。概率主题模型的数学基础(概率有向图模型)十分漂亮,并且基于吉布斯采样的推断简单到不可思议,甚至不需要图模型的知识就可以理解。PTM是前深度学习时代NLP领域的一个大宝矿(Shui Keng)!
alt

5. 基于BMES的中文分词或基于BIO的NER/Chunking

BMES 是Begin/Middle/End/Single的缩写,代表所标记的字符是一个词语的开始/中间/结尾/单字词。

BIO是Begin/Inside/Outside的缩写,表示所标记的词是一个实体名的开始/内部/外部。
alt
这种标记将带有分割性质的NLP任务转换为序列标注任务,可以使用HMM、CRF等成熟的机器学习模型。

6. 基于PageRank的TextRank

PageRank本身非常巧妙了,TextRank更是巧妙地将PageRank应用到NLP中的词排序或句子排序上面,比如关键词抽取、文本摘要等.
alt

热门文章

暂无图片
编程学习 ·

Android运行Linux程序

安卓直接运行arm-linux-gnueabi-gcc编译的标准嵌入式Linux程序,我们有时不想把原Linux程序重新开发一遍。第一步,给adb root权限运行,否则拷贝会提示无权限failed to copy E:\share\a8Agent1.0.1\a8Agent to /data/a8Agent: Permission deniedadb root 第二不,发送程序到安…
暂无图片
编程学习 ·

Bazel responsitory_rule 创建一个 rule

bazel respository_rule 主要功能是创建一个workspace 空间。对于package 内部的BUILD.tpl文件target 可以使用 responsity_ctx.file("//package") 创建 BUILD文件,或者repository_ctx.template(“BUILD”, build_tpl, {})对BUILD文件进行修改,然后通过@< name&…
暂无图片
编程学习 ·

什么是体感互动以及其优势在哪

体感互动通常指的是隔空互动,通过体感设备,来检测人体,通过景物深度处理技术把人物从摄像头捕捉到的画面中分离出来; 随着手指的挥动、在不接触任何物体的情况下做出手势,根据自己的要求发出一些信号,画面就会做出相应的变化,例如对图片、视频进行放大缩小、拖拽、旋转、播…
暂无图片
编程学习 ·

Web自动化测试:页面元素的定位方法

这一节,我们介绍一下页面元素定位的八种方式和如何通过火狐和谷歌浏览器获取元素定位信息.页面元素的定位方法 html页面是有一个个的标签组成的,我们定位元素其实就是定位这些标签。首先来看一下有哪儿几种定位方式:idnameclass nametag namelink textpartial link textxpat…
暂无图片
编程学习 ·

大学的生活给你的现在带来了什么?

《你的大学四年为现在的你提供什么优势了》初入大学的时候,我们每个人心里都存着渴望、好奇,有多少人在报完志愿的那一刻,心中的大学还是那些偶像剧中的样子。收到通知书的我们,都在彼此炫耀,终于走进了大学,可以自己做主的生活,没有家人约束的日子。走进大学的校门,多…
暂无图片
编程学习 ·

Matlab class文件 简单上手使用

1.简单的书写规范 一般通过软件(拓展)新建功能,可以选择新建一个脚本、函数或者是类。当然文件中以类的形式书写代码,保存后matlab将自动识别该文件为类。 当使用软件新建类后,新建的文件中包含了类文件的基础格式(我使用的软件是MATLAB R2014b): classdef Untitled3%U…
暂无图片
编程学习 ·

2.4-1、斐波那契数列

1、斐波那切数列 【问题描述】 斐波那切数列0,1,1,2,3,5,8,13,21,34,55……从第三项起,每一项都是紧挨着的前两项的和。写出计算斐波那切数列的任意一个数据项递归程序。 【输入格式】 输入所求的项数。 【输出格式】 输出数据项的值。 【输入样例】fbi.in 10 【输出…
暂无图片
编程学习 ·

HDU 4686 Arc of Dream (矩阵快速幂)

题意:An Arc of Dream is a curve defined by following function:where a 0 = A0 a i = a i-1 * AX+AY b 0 = B0 b i = b i-1 * BX+BY 给出n,A0,AX,AY,B0,BX,BY,What is the value of AoD(N) modulo 1,000,000,007? 题解:矩阵快速幂 数据范围很恶心,先要对原数据取…
暂无图片
编程学习 ·

day1

入职第一天 早早去了公司,等了一会儿,hr来带我们入职,准备材料签合同,领办公用品。 根据入职文档及手册进行一系列配置(比较简单,跟着做一般不会出错) 在同事小姐姐的帮助下申请种种权限,下载要用到的软件,搭配环境(最难), 使用的是linux命令进行一系列操作: 打开…
暂无图片
编程学习 ·

kuangbin专题8 生成树 次小生成树部分 HDU4081/UVA10600/UVA10462

前言 本来壮志凌云的想都做完 发现我在做梦。。。 朱刘算法太难了(自己太懒发现性价比比较低之后就没做而且算法介绍也太难懂了好几个关键词含义都不给简直简直太难了我枯 HDU4081 Qin Shi Huang’s National Road System 题意:给你一个图的各个点的坐标 再给你每个点的权值…
暂无图片
编程学习 ·

疫情期间,注重鼻腔呼吸道清洁卫生,很重要

疫情期间清洁鼻腔很重要鼻子是人类呼吸道的门户,作为一个与外界直接相通的腔道,很像家里空调的风口,容易存留脏物。从生理结构上来看,鼻腔里有鼻毛和大量的黏膜褶皱,灰尘、微生物、病毒都可能积攒其中。所以,在“勤洗手、戴口罩”的非常时期,别忘了鼻腔的清洁工作。另据…
暂无图片
编程学习 ·

论面向服务架构设计及其应用

在准备架构师考试过程中发现可供参考的论文范围非常少且内容陈旧给学习带来很大烦恼,通过考试后把我准备的论文共享出来水平有限但内容格式迎合考试,希望给大家一个参考。范文以“论面向服务架构设计及其应用”为题书写,希望对大家有所帮助。【摘要】2017年5月,我参加了某省…
暂无图片
编程学习 ·

tensorflow-serving布置facenet心得

这个的东西困扰我很久,终于弄成了。不知道我做的是不是太繁琐,如果有人做的更简单,希望指出,谢谢。docker中,做了两个容器,一个放的mtcnn,一个放的facent。他们并不是多模型布置的。mtcnn其中包括:pnet,rnet和onet,这三个是多模型布置。客户端通过调用mtcnn,得到返回…
暂无图片
编程学习 ·

react状态管理之MobX

创建一个store.js文件 import { observable, action } from mobx class Store{@observable state ={name: jay}@action changeName = ()=> {this.state = {name: mm}] }const allStore = {oneStore: new Store() }创建一个父组件 index.js import React,{ Component } fro…
暂无图片
编程学习 ·

OpenCV学习笔记(一):opencv安装,边缘提取

OpenCV学习笔记(C++,win10+OpenCV4.1.2+VS2017) 记录了本人在图像处理相关学习过程中对opencv的使用心得,主要是供自己复习,但如果碰巧为你解决了问题,那就更好了。 由于本博客写作目的是用于复习,故顺序依照本人学习过程来进行编写。 如有错误,欢迎指正。 一、OpenCV的…
暂无图片
编程学习 ·

《Webpack》

以下内容纯属个人扯淡,仅供参考1、概述1。当前Web开发的问题文件依赖关系错综复杂 静态资源请求效率低 模块化支持不友好 浏览器对高级JS特性兼容程度较低 etc...而Webpack的引入,提供友好的模块化支持,代码压缩混淆,处理js兼容问题,性能优化等,提高可维护性,它是一个流…
暂无图片
编程学习 ·

【华为云技术分享】玩转华为物联网IoTDA服务系列六-恒温空调

摘要:本文主要讲述空调接入到物联网平台后,通过恒温空调控制系统,不论空调是否开机,都可以调整空调默认温度,待空调上电开机后,自动按默认温度调节。场景简介通过恒温控制系统,不论空调是否开机,都可以调整空调默认温度,待空调上电开机后,自动按默认温度调节。该场景…
暂无图片
编程学习 ·

高校合同管理方法风险与递信智能合同信息化解决方案

一、引言 在现代社会,高等教育学校除发挥原有的教学和研究的社会功能之外,越来越多地参与市场经济之中,发挥其支撑社会经济发展的重要作用。在这一过程中,高校实现内部管理和处理外部关系多需要依靠确定化的法律文本,从而高校的社会活动涉及众多的合同,以此来确定签约主体…