1701009156
1701009157
则相应的得,
1701009158
1701009159
1701009160
1701009161
1701009162
其中y中第一个元素0就是搜索关键字在第一个书名中的数量,y中第二个元素2就是搜索关键字在第二个书名中的数量,y中第三个元素1就是搜索关键字在第三个书名中的数量,y中第四个元素0就是搜索关键字在第四个书名中的数量,如果搜索设置为匹配所有搜索单词,那么搜索引擎返回B2:MATLAB智能算法应用分析——余胜威,接下来相应的网页上逐个显示B3:MATLAB之车辆工程应用实战——余胜威、B1:我和数学有约——余胜威和B4:数学建模案例分析——余胜威。
1701009163
1701009164
相应的MATLAB程序如下:
1701009165
1701009166
clc,clear,close all %清屏和清除变量 warning off %消除警告 A=[1,0,0,1; %矩阵A 0,1,1,0; 0,1,0,0; 0,0,1,0; 0,0,0,1; 0,0,0,1; 1,1,1,1]; x = [0,1,1,0,0,0,0]’; y=A’*x %矩阵乘法
1701009167
1701009168
运行程序如下:
1701009169
1701009170
y = 0 2 1 0
1701009171
1701009173
7.6.2 相对频率搜索
1701009174
1701009175
非营利数据库的搜索通常会包含所有关键字的文档,并将这些文档按照相对频率进行排列。
1701009176
1701009177
此时,数据库矩阵的元素能够反应出关键字在文档中出现的频率。例如,假设数据库所有的关键字的字典中第6个关键字为“案例”,第7个为“余胜威”,字典中的单词采用字母排序排列,如果“案例”和“余胜威”在文档中各出现6次和10次,而整个数据库中第4个文档中包含关键词的次数为100次,则“案例”的相对频率为0.06,“余胜威”出现的相对频率为0.1,并且它们对应的数据库矩阵A有对应元素a64=0.06和a74=0.06。
1701009178
1701009179
1701009180
1701009181
未来搜索这两个关键词,我们取向量x,使得x6=x7=1,且对于不等于6和7的下标i,在此取。然后计算。
1701009182
1701009183
1701009184
y中对应于文档4的元素为,这说明文档4中出现关键词的总数为16次,占关键词出现总数100的0.16。如果y4为向量y中最大分量,则说明数据库中的文档j包含关键词的相对频率最大,那么搜索引擎(如百度和Google等)返回的结果中该文档4出现在其他文档最前面,表示该文档与用户查询的最匹配。
1701009185
1701009187
7.6.3 潜语义索引搜索
1701009188
1701009189
1701009190
1701009191
潜语义索引搜索区别于简单匹配搜索和相对频率搜索,潜语义索引搜索通过除一个常数倍,我们可设搜索向量x为单位向量,即x的所有分量的和为1,令向量,那么最接近1的分量对应于最符合匹配要求的文档。
1701009192
1701009193
由于关键词可能有多义词或同义词,故我们可以考虑数据库的一个近似,因为存在同义词,数据库矩阵的某些元素可能会出现多余的1;同样因为存在同义词,数据库矩阵中的某些元素本是1的反而变为0,当我们搜索experiment时,它的同义词或近义词Lab可能会被忽略,而被视为不匹配的情形;而当我们要搜索数学词汇Difference(差分)时,系统可能将different等毫不相干的单词混为一谈,而被视为匹配的情形。
1701009194
1701009195
现在我们假设搜索引擎的智能化程度足以区分和归类这些歧义词和同义词,且得到一个理想矩阵P,令E=A-P,矩阵e称为误差矩阵。如果能够得到A的一个简单近似矩阵A1,那么A1也将是矩阵P的一个近似,在潜语义索引搜索方法(Latent Semantic Indexing,简称LSI)中,数据库矩阵A用一个秩较小的矩阵A1来近似。
1701009196
1701009197
1701009198
注意:在一般情况P和误差矩阵是未知的。
1701009199
1701009200
1701009201
潜语义索引搜索方法的基本思想是,一个秩比A的秩小的A1仍然给出了P的一个好的近似,且由于其简单的结构,事实上将含有较小的误差矩阵A1,即。
1701009202
1701009203
潜语义索引搜索方法可以处理词汇的不同和语言的复杂性。由于一些搜索的关键词可能有多层意义,它们可能出现于指定的搜索关键词无关的语言环境当中。例如,“MATLAB”可能频繁出现在MATLAB编程书中。另一个方面,很多不一样的单词意义相同或相近,这些相近的单词出现的文档同样反应我们所需要检索的内容和目标。例如dad通常为口语化的词语,在一般正式的文章中,通常用father代替,这也和中文相对应,“爸爸”常常出现在口语交际中,“父亲”则被广泛应用于各类散文和论文中。为了解决这类问题,我们需要寻找与给定搜索单词列表最接近的文章,而不必与列表中的单词字面匹配。我们想要从数据矩阵中选择最接近搜索向量的列向量。
1701009204
1701009205
因此,我们使用向量的夹角来衡量两个向量的匹配程度。
[
上一页 ]
[ :1.701009156e+09 ]
[
下一页 ]