《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 ...
随机推荐
- Windows离线安装Python第三方库的方法
在window中,离线安装第三方模块, 1.下载第三方库的压缩文件,解压,将解压后的文件放到Python安装目录下的Lib\site_packages中 2. 将Python添加到环境变量里 3.进入 ...
- C++为什么抓不到除0错“异常”?
http://blog.csdn.net/nanyu/article/details/6475555 有人问这个问题: try { std::cout << 10/0 << s ...
- Flask框架 之路由
一.视图函数路由规则 from flask import Flask, redirect, url_for # 创建flask应用对象 # __name__ 代表当前模块名称 # flask以当前目录 ...
- Springboot + SLF4j + Log4j2 打印异常日志时,耗时要5-6秒
1.使用jps -l 查看springboot项目的进程ID 2.使用命令jstack -l 进程ID > log.txt 打印堆栈信息到文件,内容如下: "http-nio-8065 ...
- CAD使用SetxDataDouble写数据(网页版)
主要用到函数说明: MxDrawEntity::SetxDataDouble 写一个Double扩展数据,详细说明如下: 参数 说明 [in] BSTR val 字符串值 szAppName 扩展数据 ...
- DWG转PDF
DWG转PDF DWG转换PDF有两种方法,一种是利用PDF打印机,一种是利用专业软件: 利用PDF打印机最直接,但是不能批量打印,下面讲一下利用专业软件如何进行批量转换,在这里以梦想CAD软件(Mx ...
- 【原】Mysql存储关联数组
$fruits= array("apple" => "苹果", "banana" => "香蕉"," ...
- Eureka组件、Eureka自我保护模式
Eureka包含两个组件:Eureka Server和Eureka Client Eureka Server提供服务发现的能力,各个微服务启动时,会向Eureka Server注册自己的信息(例如 ...
- 数组array的常用方法简介
数组方法简介 数组总共有22种方法,本文将其分为以下几类来进行详细介绍. 原数组变化:push() pop() shift() unshift() reverse() sort() splice() ...
- 基于springmvc、ajax,后台连接数据库的增删改查
前言 前段时间在博客园上找了一个springmvc的例子,照着学了一下,算是对springmvc有了一个初步的了解,打一个基础,下面是链接.(我只看了博客,视频太耗时间了) 博客链接:http://w ...