1701009125
7.6.1 简单的匹配搜索
1701009126
1701009127
一类最简单的搜索是确定每一个文档中有多少个搜索的关键字,这种方法不考虑字的相对频率问题。例如假设数据库中包含以下书名。
1701009128
1701009129
B1:我和数学有约——余胜威;
1701009130
1701009131
B2:MATLAB智能算法应用分析——余胜威;
1701009132
1701009133
B3:MATLAB之车辆工程应用实战——余胜威;
1701009134
1701009135
B4:数学建模案例分析——余胜威。
1701009136
1701009137
其中关键字集合为:
1701009138
1701009139
数学、MATLAB、智能算法、车辆工程、数学建模、案例、余胜威
1701009140
1701009141
1701009142
对于简单的匹配分析,只需要在数据库中使用0和1,而不必考虑关键字出现的频率,因此矩阵中,aij=1表示第i个单词出现在第j个书名中,反之,aij=0表示第i个单词没有出现在第j个书名中。
1701009143
1701009144
假设搜索引擎足够的优秀,它可以识别同一个中文字的不同形式(如名词、形容词和副词等),如B1、B2、B3和B4四本书名中,对应的数据库矩阵可以表示如表7-1所示。
1701009145
1701009146
表7-1 书籍陈列数据库的阵列表示
1701009147
1701009148
1701009149
1701009150
1701009151
如果搜索的关键词为“智能算法和MATLAB”,则数据库矩阵和搜索向量分别为:
1701009152
1701009153
1701009154
1701009155
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 相对频率搜索
[
上一页 ]
[ :1.701009124e+09 ]
[
下一页 ]