《textanalytics》课程简单总结(1):两种word relations——Paradigmatic vs. Syntagmatic
coursera上的公开课《https://www.coursera.org/course/textanalytics》系列,讲的很不错哦。
1、两种关系:Paradigmatic vs. Syntagmatic(聚合和组合)
• Paradigmatic: A & B have paradigmatic relation if they can
be substituted for each other (i.e., A & B are in the same class)
– E.g., “cat” and “dog”; “Monday” and “Tuesday” (聚合:同一类别的,high similar context)
• Syntagmatic: A & B have syntagmatic relation if they can be combined with each other (i.e., A & B are related semantically)
– E.g., “cat” and “sit”; “car” and “drive”(组合:常在一起出现的,high correlated occurrences but relatively low individual occurrences)
2、挖掘Paradigmatic(聚合)关系:
2.1、怎样挖掘两个词(比如dog和cat)的聚合关系强不强?
由于聚合关系本质上反映的是context
similarity,所以我们能够首先获取全部文档中出现dog、cat的句子的context。dog左边一个词的context、dog右边一个词的context,比如:Left1(“cat”)
= {“my”, “his”, “big”, “a”, “the”,…}。Right1(“cat”) = {“eats”, “ate”, “is”, “has”, ….}。Window(“cat”) = {“my”, “his”, “big”, “eats”, “fish”, …};同理可获得Left1(“dog”)
、Right1(“dog”)、Window(“dog”)
的context;这样,我们就能够通过计算Sim(“Cat”, “Dog”) = Sim(Left1(“cat”), Left1(“dog”)) + Sim(Right1(“cat”), Right1(“dog”)) + … + Sim(Window(“cat”), Window(“dog”))的大小来表示这两个词之间的聚合关系的强弱了。。。。
2.2详细到计算。经常使用的办法是Bag
of Words,也就是Vector Space Model (VSM),须要解决两个问题:
1)怎样计算每个向量,即把Left1(“cat”)
= {“my”, “his”, “big”, “a”, “the”,…}转化为vectorLeft1 = {3, 5, 8, 2, 7, ...}等VSM可用的形式。
2)怎样计算Sim(x1,
x2)。
解决这两个问题的一般性办法:Expected
Overlap of Words in Context (EOWC):
d1=(x1,
…xN) ,当中xi =count(wi,d1)/|d1|
(从文档d1中随机选一个词,是wi的概率)
d2=(y1,
…yN) ,当中yi =count(wi,d2)/|d2| (从文档d2中随机选一个词,是wi的概率)
Sim(d1,d2)=d1.d2=
x1y1+...+xnyn(分别从d1、d2中随机选一个词。两个词一样的概率)
EOWC有两个主要问题:
– It
favors matching one frequent term very well over matching more distinct terms.
——通过平滑TF实现
情况1,d1、d2中的w1都很频繁,其它wi却差点儿不匹配,此时Sim(d1,d2)=10*10+0*0+...+1*3=123;情况2,d1、d2中的每一个wi都不是很频繁,但差点儿都出现了几次,此时Sim(d1,d2)=5*5+4*3+...+2*6=111;对于这两种情况,EOWC是无法区分的,而我们更倾向于情况2代表的相似度!
– It treats every word equally (overlap on “the” isn’t as so meaningful as overlap on “eats”).
——通过IDF实现
通过平滑TF:BM25 Transformation
通过IDF:IDF Weighting
终于表达式:
-----
3、挖掘Syntagmatic(组合)关系:
參考下一篇博客:。
《textanalytics》课程简单总结(1):两种word relations——Paradigmatic vs. Syntagmatic的更多相关文章
- 简单介绍Git两种拉取代码的方式
first: 1.通过git clone 命令克隆git库中的项目 注意:通过 git clone方式克隆的代码会在服务器上自动建一个与git库名相同的文件夹,所以有两种思路,第一种就是直接在wwwr ...
- QListWidget特别简单,但有两种添加item的方式
虽然特别简单,但是对于小白来说,还是有必要过一下脑子和眼睛,当然还得过手(江湖传言:眼过千变,不如手过一遍),所以记录在此: #include "tablewidgetxxx.h" ...
- Python:读取 .doc、.docx 两种 Word 文件简述及“Word 未能引发事件”错误
概述 Python 中可以读取 word 文件的库有 python-docx 和 pywin32. 下表比较了各自的优缺点. 优点 缺点 python-docx 跨平台 只能处理 .docx 格式 ...
- javascript-简单工厂两种实现方式
简单工厂笔记 两种方式: 第一种:通过实例化对象创建 第二种:通过创建一个新对象然后包装增强其属性和功能来实现 差异性:前一种通过类创建的 对象,如果这些类继承同一个父类,他们父类原型上的方法是可以共 ...
- 两种应该掌握的排序方法--------1.shell Sort
先了解下什么都有什么排序算法 https://en.wikipedia.org/wiki/Sorting_algorithm http://zh.wikipedia.org/zh/%E6%8E%92% ...
- activemq的两种基本通信方式的使用及总结
简介 在前面一篇文章里讨论过几种应用系统集成的方式,发现实际上面向消息队列的集成方案算是一个总体比较合理的选择.这里,我们先针对具体的一个消息队列Activemq的基本通信方式进行探讨.activem ...
- java 实现websocket的两种方式
简单说明 1.两种方式,一种使用tomcat的websocket实现,一种使用spring的websocket 2.tomcat的方式需要tomcat 7.x,JEE7的支持. 3.spring与we ...
- SAPUI5 freestyle vs SAP Fiori Elements —— 两种开发SAP UI5 Apps的方式对比
概述 目前SAPUI5 SDK 提供了两种方式来开发一个SAPUI5 App.一种方式是传统的SAPUI5开发方式,一种是利用SAP Fiori Elements通过模板快速构建应用的方式. 本文简单 ...
- SpringBoot整合Servlet的两种方式
SpringBoot整合Servlet有两种方式: 1.通过注解扫描完成Servlet组件的注册: 2.通过方法完成Servlet组件的注册: 现在简单记录一下两种方式的实现 1.通过注解扫描完成Se ...
随机推荐
- ubuntu下删除和新建用户(并有su权限)
http://blog.csdn.net/speedme/article/details/8206144ubuntu下删除和新建用户(并有su权限) 如何创建ubuntu新用户?输入:sudo add ...
- QT开发之旅-Udp聊天室编程
一.概要设计 登录对话框(继承自QDialog类)进行用户登录查询数据库用户是否存在,注册插入数据到用户表.用户表字段: (chatid int primary key, passwd varchar ...
- C++ 程序的编译
一.编译器都具备集成开发环境(Integrated Developed Environment,IDE) 二.程序源文件命名约定: C++ 的后缀一般是 .cpp .cc .C .cpp .cxx 三 ...
- 利用freemarker+SAX解析xml的方式对excel文件字段校验
利用freemarker对参数进行校验这篇文章主要用到的技术点: 自定义注解的使用反射机制SAX解析xmlFreemarker的运用我们在工作中经常需要上传excel文件,然后在对文件中的字段进行校验 ...
- How To:分析ORACLE监听日志中的IP信息
有时候需要分析出ORACLE日志监听中的IP信息,分享一个组合命令,Linux的shell下运行正常. grep "HOST=.*establish.*\* 0" listener ...
- 诊断:ORA-38760: This database instance failed to turn on flashback database
$ oerr ora 38760 38760, 00000, "This database instance failed to turn on flashback database&quo ...
- 我的第一次"闭包"应用
结论: 闭包可以当作强类型语言如C++.Java的全局变量使用,非常巧妙 需求: ssm项目,使用pagehelper分页,在写前一页.后一页.第一页.最后一页等页面跳转时,遇到了问题,如果查询全部的 ...
- Cyclic Nacklace HDU - 3746 (kmp next数组应用)
题目大意 给出字符串,寻找最小要补全的字符个数,使得字符串是两次的循环 解法 通过寻找规律,我们又发现了len-next[len]又派上了用场 ①如果next[len]是0,说明最大前缀后缀和为0,那 ...
- 面试总结——Java高级工程师(二)
一.Java底层基础题 1.SpringMVC的原理以及返回数据如何渲染到jsp/html上? 答:Spring MVC的核心就是 DispatcherServlet , 一个请求经过 Dispatc ...
- vs2012+ winform+.net4.0发布如何在xp上运行
今天在英文版vs2013打包发布4.0(非4.0 client)的winform时,遇到了在xp上无法运行的情况,.net framework 4.0在xp上已安装.在打包前,winform工程,即菜 ...