1701009115
1701009116
1701009117
1701009118
1701009119
假设这些关键字是按照字典顺序进行排序的,那么我们可以将数据库表示为一个n列的矩阵A,其中每个文档被表示成这个矩阵A的某一个列。例如,的第j列的第1个元素为第j个文档中第1个关键字出现的相对频率;同样为第j个文档中第2个关键字出现的相对频率,依次等等。用来搜索的关键字被表示成Rm中的一个向量x。如果第i个关键字在搜索列表中,则x的第i个分量xi=1,否则xi=0。
1701009120
1701009121
1701009122
为了完成搜索,我们考虑乘积。
1701009123
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程序如下:
[
上一页 ]
[ :1.701009115e+09 ]
[
下一页 ]