文本挖掘(Text Mining)技术基础
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
37
Lucene Scoring核心类图
38
Lucene MoreLikeThis
Lucene 的contrib包中提供了MoreLikeThis 、 MoreLikeThisQuery包,很容易实现“您可能也喜欢”的功能
—org.apache.lucene.search.similar.MoreLikeThis
向量空间模型 LSI(隐性语义检索)模型 神经网络模型
基于概率统计的IR模型(Probabilistic models)
概率模型
回归模型、语言模型建模IR模型、推理网络模型、信任度网络模型
13
布尔模型(Boolean Model)
布尔模型建立在经典的集合论和布尔代数的基础上
在布尔模型中查询和文档均表示为索引词(“是否存 在”)的布尔表达式,通常表示成D(t 1,t 2,⋯ ,t i)的形式。 布尔操作(关系) :与(AND) 或(OR) 非(NOT)
30
Inverted Files
Inverted Files
Word-Level Inverted File
Lucene Term Vectors (TV)
In Lucene, a TermFreqVector is a representation of all of the terms and term counts in a specific Field of a Document instance
15
概率模型
16
概率模型优缺点
优点
—采用严格的数学理论为依据,为人们提供了一种数学理论
基础来进行检索决策;PubMed的related articles 。 —采用相关反馈原理 —在其中没有使用用户难以运用的布尔逻辑方法; —在操作过程中使用了词的依赖性和相互关系。
缺点:
—计算复杂度大,不适合大型网络
文本挖掘(Text Mining) 技术基础
出家如初,成佛有余 http://www.yeeach.com 2010年10月
1
议题
搜索引擎文本挖掘基础
文本挖掘基础
2
搜索引擎技术不单纯只是搜索
搜索引擎技术除了实现Web搜索、图片搜索外,还能 够干什么? 搜索引擎核心技术有哪些?
—网络爬虫
—中英文分词 —排序算法
IndexReader reader = IndexReader.open(directory); IndexSearcher searcher = new IndexSearcher(reader); int numDocs = reader.maxDoc();
MoreLikeThis mlt = new MoreLikeThis(reader);
As a tuple:
termFreq = <term, term countD> <fieldName, <…,termFreqi, termFreqi+1,…>>
As Java:
public String getField();
public String[] getTerms(); public int[] getTermFrequencies(); Parallel Arrays
iI uv
iI uv
( Rui Ru )( Rui Rv )
( Rui Ru )2
iI uv
( Rvi Rv ) 2
27
文档相似性
其中:
—Di为文档i —Wij是第i个特征项在第j个文档向量中的权值
28
Vector Space Model
29
向量空间模型例子
摘自:http://bit.ly/cbDyIK
mlt.setFieldNames(new String[] {"title", "author"}); mlt.setMinTermFreq(1); mlt.setMinDocFreq(1) ..
// #A
// #B
39
Lucene 作为Linkedin 的推荐引擎
参考:LinkedIn Signal - a look under the hood
2 i 1
相关相似性(Pearson相关系数 )
sim(u, v)
iIuv
iIuv
( Rui Ri )( Rui Ri )
( Rui Ri )2
iI uv
( Rvi Ri ) 2
修正的余弦相似性(adjusted-cosine similarity)
sim(u, v)
文档表示成多个索引词的集合
索引词的权重(Weight)
不同索引词作用是不同的,通过权重加以区分
12
信息检索模型的分类
从所使用的数学方法上分:
基于集合论的IRຫໍສະໝຸດ Baidu型(Set Theoretic models)
布尔模型
基于模糊集的模型、扩展布尔模型
基于代数论的IR模型(Algebraic models)
—参数估计难度较大
—条件概率值难估计 —系统的检索性能提高不明显,需与其他检索模型结合
17
词频(TF)、文件频率(DF)
假如要搜索一个词语ti 在文件集合{d1 ,d2 ,...,dn }出现的频率,则有两部分的重要信息: ti 在某篇文档dj 中出现的次数,称为此词语在此篇 文档的频率(词频):TF(Term Frequency) 文档集合{d1 ,d2 ,...,dn } 中包含ti 的文档个数, 称为此词语在文档集合{d1 ,d2 ,...,dn }的文件频率 :DF(Document Frequency )
40
分词:中文特征词(Term)的粒度
Character,字:中 Word,词:中国 Phrase,短语:中国人民银行 Concept,概念
—同义词:开心 高兴 兴奋 —相关词cluster,word cluster:葛非/顾俊
N-gram,N元组:中国 国人 人民 民银 银行
某种规律性模式:比如某个window中出现的固 定模式
23
文档-索引词词矩阵(Doc-Term Matrix)
n篇文档,m个索引词词构成的矩阵Am*n,每列可以看
成每篇文档的向量表示,同时, 每行也可以可以看成标引词的向量表示
24
向量表示
25
相似度计算
文档和查询条件之间的相关程度(即相似度)可由它们 各自向量在向量空问中的相对位置来决定。相似度计 算函数有很多种,较常用的是两个向量夹角的余弦函 数。
8
Lucene 系统架构
9
搜索引擎中文本挖掘典型问题
在搜索引擎中关于文本挖掘的典型问题
—怎样得到一篇文章的关键词、主题? —怎样用计算机可识别的数学公式来表征一篇文档 —怎样处理查询关键词与文档的相似度 —怎样度量两篇文档的相似度?
10
信息检索模型
信息检索模型(Information Retrieval Model) 是指如何对查询和文档进行表示,然后对它们进行 相似度计算的框架和方法。 信息检索模型本质上是对相关度建模。
35
Lucene Scoring 评分机制
36
Lucene Scoring 评分机制
参考org.apache.lucene.search.Similarity
http://lucene.apache.org/java/3_0_2/scoring.html http://bit.ly/bq7xNh
存值和token位置信息)
Field.TermVector.WITH_OFFSETS:保存term vectors.(保存
值和Token的offset)
Field.TermVector.WITH_POSITIONS_OFFSETS:保存term
vectors.(保存值和token位置信息和Token的offset)
18
TF(Term Frequency):
19
IDF(inverse document frequency)
20
TF-IDF
把TF(Term Frequency)、IDF(inverse document frequency)这两项结合起来,对单词t和文档d,定 义 TF-IDF(t,d) = TF(t,d) * IDF(t)
文档和查询条件的相似度值由以下公式获得:
dj
q
26
向量相似度算法
余弦相似性(cosine-based similarity)
u v sim(u , v) cos(u , v) uv
R
i 1 n i 1 ui
n
ui
Rvi
n 2 vi
R R
—Text Mining相关
—海量数据存储 —分布式计算 —等等
3
Google的十大核心技术
Google的十大核心技术:
—分布式基础设施:
GFS、Chubby、Protocol Buffer
—分布式大规模数据处理
MapReduce、Sawzall
—分布式数据库技术:
BigTable、Sharding
Lucene Term Vectors (TV)
Field.TermVector.NO:不保存term vectors
Field.TermVector.YES:保存term vectors
Field.TermVector.WITH_POSITIONS:保存term vectors.(保
—org.apache.lucene.search.similar.MoreLikeThisQuery
参考:http://bit.ly/dpUQAP
String indexDir = "d:/index";
FSDirectory directory = FSDirectory.open(new File(indexDir));
2014-3-17 41
分词:主要的分词方法
最大匹配法(Maximum Matching method, MM 法):选取包含6-8个汉字的 符号串作为最大符号串,把最大符号串与词典中的单词条目相匹配,如果 不能匹配,就削掉一个汉字继续匹配,直到在词典中找到相应的单词为止 。匹配的方向是从右向左。 逆向最大匹配法(Reverse Maximum method, RMM 法):匹配方向与MM法 相反,是从左向右。实验表明:对于汉语来说,逆向最大匹配法比最大匹 配法更有效。
原始查询 查询表示 文档表示 原始文档
相关度计算
11
信息检索模型
信息检索模型
信息检索模型可以表示为一个四元组的模型框架
IR = <D, Q, R(q,d)>
D是文档表示,Q是查询表示,R(q ,d )是一个排序函数
索引词(Index Term)
索引词是能代表文档内容的特征,可以是字、词、短语或者 某种语义单元,关键词(key words) 可以看成索引词的一种。
VSM的基本思路:用向量模型来标识一篇文档或一个查询? 把文档看作一系列索引词(Inex Term)组成,每一个词都有 一个权重(Term weight),不同的索引词根据自己在文档中 的权重来影响文档相关性的打分计算。 在向量空间模型中可以把所有此文档中词(term)的权重 (term weight) 看作一个向量,并以此权重向量来表征文 档。查询和文档都可转化成索引词及其权重组成的向量
TF-IDF的作用:
—某一特定文件内的高词语频率,以及该词语在整个文件
集合中的低文件频率,可以产生出高权重的TF-IDF。
—因此,TF-IDF倾向於过滤掉常见的词语,保留重要的词
语。
21
TF-IDF的例子
22
摘自:http://bit.ly/cbDyIK
向量空间模型 VSM(Vector Space Model)
—数据中心优化技术
数据中心高温化、12V电池、服务器整合
参考:探索Google App Engine背后的奥秘
4
搜索引擎技术使用场景:内容相似度
新闻站点的“您可能也喜欢”
—本质为:两篇文档/图书/商品内容的相似度
5
搜索引擎技术使用场景:内容分类、聚类
6
通用搜索引擎系统流程
7
Lucene 系统架构
相似度计算:查询布尔表达式和所有文档的布尔表达 式进行匹配,匹配成功的文档的得分为1,否则为0。
14
布尔模型的优缺点
优点:
—简单、易理解、易实现 —现代很多搜索引擎中仍然包含布尔模型的思想,如Google的高级检索
缺点
—只能严格匹配,文献要么相关、要么不相关,并没有一个相关级别的
概念,因此很难有好的检索效果 —构造布尔逻辑式不容易,对于一般用户而言,很难用AND、OR、NOT运 算符的结合来准确地表达一个检索语句,标引词的简单组配不能完全 反映用户的实际需要; —检索输出完全依赖于布尔提问与文献的匹配情况,很难控制输出量的 大小 —结果不能按用户定义的重要性排序输出,用户只能从头到尾浏览输出 结果才能知道哪些文献更适合自己的需要
Lucene Scoring核心类图
38
Lucene MoreLikeThis
Lucene 的contrib包中提供了MoreLikeThis 、 MoreLikeThisQuery包,很容易实现“您可能也喜欢”的功能
—org.apache.lucene.search.similar.MoreLikeThis
向量空间模型 LSI(隐性语义检索)模型 神经网络模型
基于概率统计的IR模型(Probabilistic models)
概率模型
回归模型、语言模型建模IR模型、推理网络模型、信任度网络模型
13
布尔模型(Boolean Model)
布尔模型建立在经典的集合论和布尔代数的基础上
在布尔模型中查询和文档均表示为索引词(“是否存 在”)的布尔表达式,通常表示成D(t 1,t 2,⋯ ,t i)的形式。 布尔操作(关系) :与(AND) 或(OR) 非(NOT)
30
Inverted Files
Inverted Files
Word-Level Inverted File
Lucene Term Vectors (TV)
In Lucene, a TermFreqVector is a representation of all of the terms and term counts in a specific Field of a Document instance
15
概率模型
16
概率模型优缺点
优点
—采用严格的数学理论为依据,为人们提供了一种数学理论
基础来进行检索决策;PubMed的related articles 。 —采用相关反馈原理 —在其中没有使用用户难以运用的布尔逻辑方法; —在操作过程中使用了词的依赖性和相互关系。
缺点:
—计算复杂度大,不适合大型网络
文本挖掘(Text Mining) 技术基础
出家如初,成佛有余 http://www.yeeach.com 2010年10月
1
议题
搜索引擎文本挖掘基础
文本挖掘基础
2
搜索引擎技术不单纯只是搜索
搜索引擎技术除了实现Web搜索、图片搜索外,还能 够干什么? 搜索引擎核心技术有哪些?
—网络爬虫
—中英文分词 —排序算法
IndexReader reader = IndexReader.open(directory); IndexSearcher searcher = new IndexSearcher(reader); int numDocs = reader.maxDoc();
MoreLikeThis mlt = new MoreLikeThis(reader);
As a tuple:
termFreq = <term, term countD> <fieldName, <…,termFreqi, termFreqi+1,…>>
As Java:
public String getField();
public String[] getTerms(); public int[] getTermFrequencies(); Parallel Arrays
iI uv
iI uv
( Rui Ru )( Rui Rv )
( Rui Ru )2
iI uv
( Rvi Rv ) 2
27
文档相似性
其中:
—Di为文档i —Wij是第i个特征项在第j个文档向量中的权值
28
Vector Space Model
29
向量空间模型例子
摘自:http://bit.ly/cbDyIK
mlt.setFieldNames(new String[] {"title", "author"}); mlt.setMinTermFreq(1); mlt.setMinDocFreq(1) ..
// #A
// #B
39
Lucene 作为Linkedin 的推荐引擎
参考:LinkedIn Signal - a look under the hood
2 i 1
相关相似性(Pearson相关系数 )
sim(u, v)
iIuv
iIuv
( Rui Ri )( Rui Ri )
( Rui Ri )2
iI uv
( Rvi Ri ) 2
修正的余弦相似性(adjusted-cosine similarity)
sim(u, v)
文档表示成多个索引词的集合
索引词的权重(Weight)
不同索引词作用是不同的,通过权重加以区分
12
信息检索模型的分类
从所使用的数学方法上分:
基于集合论的IRຫໍສະໝຸດ Baidu型(Set Theoretic models)
布尔模型
基于模糊集的模型、扩展布尔模型
基于代数论的IR模型(Algebraic models)
—参数估计难度较大
—条件概率值难估计 —系统的检索性能提高不明显,需与其他检索模型结合
17
词频(TF)、文件频率(DF)
假如要搜索一个词语ti 在文件集合{d1 ,d2 ,...,dn }出现的频率,则有两部分的重要信息: ti 在某篇文档dj 中出现的次数,称为此词语在此篇 文档的频率(词频):TF(Term Frequency) 文档集合{d1 ,d2 ,...,dn } 中包含ti 的文档个数, 称为此词语在文档集合{d1 ,d2 ,...,dn }的文件频率 :DF(Document Frequency )
40
分词:中文特征词(Term)的粒度
Character,字:中 Word,词:中国 Phrase,短语:中国人民银行 Concept,概念
—同义词:开心 高兴 兴奋 —相关词cluster,word cluster:葛非/顾俊
N-gram,N元组:中国 国人 人民 民银 银行
某种规律性模式:比如某个window中出现的固 定模式
23
文档-索引词词矩阵(Doc-Term Matrix)
n篇文档,m个索引词词构成的矩阵Am*n,每列可以看
成每篇文档的向量表示,同时, 每行也可以可以看成标引词的向量表示
24
向量表示
25
相似度计算
文档和查询条件之间的相关程度(即相似度)可由它们 各自向量在向量空问中的相对位置来决定。相似度计 算函数有很多种,较常用的是两个向量夹角的余弦函 数。
8
Lucene 系统架构
9
搜索引擎中文本挖掘典型问题
在搜索引擎中关于文本挖掘的典型问题
—怎样得到一篇文章的关键词、主题? —怎样用计算机可识别的数学公式来表征一篇文档 —怎样处理查询关键词与文档的相似度 —怎样度量两篇文档的相似度?
10
信息检索模型
信息检索模型(Information Retrieval Model) 是指如何对查询和文档进行表示,然后对它们进行 相似度计算的框架和方法。 信息检索模型本质上是对相关度建模。
35
Lucene Scoring 评分机制
36
Lucene Scoring 评分机制
参考org.apache.lucene.search.Similarity
http://lucene.apache.org/java/3_0_2/scoring.html http://bit.ly/bq7xNh
存值和token位置信息)
Field.TermVector.WITH_OFFSETS:保存term vectors.(保存
值和Token的offset)
Field.TermVector.WITH_POSITIONS_OFFSETS:保存term
vectors.(保存值和token位置信息和Token的offset)
18
TF(Term Frequency):
19
IDF(inverse document frequency)
20
TF-IDF
把TF(Term Frequency)、IDF(inverse document frequency)这两项结合起来,对单词t和文档d,定 义 TF-IDF(t,d) = TF(t,d) * IDF(t)
文档和查询条件的相似度值由以下公式获得:
dj
q
26
向量相似度算法
余弦相似性(cosine-based similarity)
u v sim(u , v) cos(u , v) uv
R
i 1 n i 1 ui
n
ui
Rvi
n 2 vi
R R
—Text Mining相关
—海量数据存储 —分布式计算 —等等
3
Google的十大核心技术
Google的十大核心技术:
—分布式基础设施:
GFS、Chubby、Protocol Buffer
—分布式大规模数据处理
MapReduce、Sawzall
—分布式数据库技术:
BigTable、Sharding
Lucene Term Vectors (TV)
Field.TermVector.NO:不保存term vectors
Field.TermVector.YES:保存term vectors
Field.TermVector.WITH_POSITIONS:保存term vectors.(保
—org.apache.lucene.search.similar.MoreLikeThisQuery
参考:http://bit.ly/dpUQAP
String indexDir = "d:/index";
FSDirectory directory = FSDirectory.open(new File(indexDir));
2014-3-17 41
分词:主要的分词方法
最大匹配法(Maximum Matching method, MM 法):选取包含6-8个汉字的 符号串作为最大符号串,把最大符号串与词典中的单词条目相匹配,如果 不能匹配,就削掉一个汉字继续匹配,直到在词典中找到相应的单词为止 。匹配的方向是从右向左。 逆向最大匹配法(Reverse Maximum method, RMM 法):匹配方向与MM法 相反,是从左向右。实验表明:对于汉语来说,逆向最大匹配法比最大匹 配法更有效。
原始查询 查询表示 文档表示 原始文档
相关度计算
11
信息检索模型
信息检索模型
信息检索模型可以表示为一个四元组的模型框架
IR = <D, Q, R(q,d)>
D是文档表示,Q是查询表示,R(q ,d )是一个排序函数
索引词(Index Term)
索引词是能代表文档内容的特征,可以是字、词、短语或者 某种语义单元,关键词(key words) 可以看成索引词的一种。
VSM的基本思路:用向量模型来标识一篇文档或一个查询? 把文档看作一系列索引词(Inex Term)组成,每一个词都有 一个权重(Term weight),不同的索引词根据自己在文档中 的权重来影响文档相关性的打分计算。 在向量空间模型中可以把所有此文档中词(term)的权重 (term weight) 看作一个向量,并以此权重向量来表征文 档。查询和文档都可转化成索引词及其权重组成的向量
TF-IDF的作用:
—某一特定文件内的高词语频率,以及该词语在整个文件
集合中的低文件频率,可以产生出高权重的TF-IDF。
—因此,TF-IDF倾向於过滤掉常见的词语,保留重要的词
语。
21
TF-IDF的例子
22
摘自:http://bit.ly/cbDyIK
向量空间模型 VSM(Vector Space Model)
—数据中心优化技术
数据中心高温化、12V电池、服务器整合
参考:探索Google App Engine背后的奥秘
4
搜索引擎技术使用场景:内容相似度
新闻站点的“您可能也喜欢”
—本质为:两篇文档/图书/商品内容的相似度
5
搜索引擎技术使用场景:内容分类、聚类
6
通用搜索引擎系统流程
7
Lucene 系统架构
相似度计算:查询布尔表达式和所有文档的布尔表达 式进行匹配,匹配成功的文档的得分为1,否则为0。
14
布尔模型的优缺点
优点:
—简单、易理解、易实现 —现代很多搜索引擎中仍然包含布尔模型的思想,如Google的高级检索
缺点
—只能严格匹配,文献要么相关、要么不相关,并没有一个相关级别的
概念,因此很难有好的检索效果 —构造布尔逻辑式不容易,对于一般用户而言,很难用AND、OR、NOT运 算符的结合来准确地表达一个检索语句,标引词的简单组配不能完全 反映用户的实际需要; —检索输出完全依赖于布尔提问与文献的匹配情况,很难控制输出量的 大小 —结果不能按用户定义的重要性排序输出,用户只能从头到尾浏览输出 结果才能知道哪些文献更适合自己的需要