打字猴:1.701009236e+09
1701009236 如果令,其中θi为单位向量x和θi之间的夹角。
1701009237
1701009238 对于我们的例子,有:
1701009239
1701009240
1701009241
1701009242
1701009243 由于y5=0.635为y中最接近1的元素,说明搜索向量x接近q5的方向,因此模块5应当是最接近搜索标准的一个。接下来最接近搜索标准的一个应该依次是模块6(y6=0.577)和模块3(y3=0.567)。注意到一个模块不包括符合要求的搜索关键词,当且仅当它对应的数据库矩阵列向量与搜索向量x正交。例如,模块1和模块7不包含所需要的搜索关键词,因此有:
1701009244
1701009245
1701009246
1701009247
1701009248 本例说明了一些数据库搜索的基本思想,即利用现代矩阵方法,我们可以对搜索过程进行显著改善,并加快了搜索速度,同时纠正多义词或同义词可能导致的错误。这一新的技术被称为潜语义索引方法,它依赖于矩阵分解及奇异值分解等矩阵方法。
1701009249
1701009250 采用MATLAB软件进行编程计算,编程如下:
1701009251
1701009252     clc,clear,close all               %清屏和清除变量    warning off                       %消除警告    Q=[0,6,3,0,1,0,1,1;               %矩阵Q        0,0,0,0,0,5,3,2;        5,4,4,5,4,0,3,3;        6,5,3,3,4,4,3,2;        0,0,0,0,3,0,4,3;        0,0,0,0,3,0,4,3;        0,0,5,2,3,3,0,1;        5,3,3,2,4,2,1,1;        0,0,0,5,1,3,1,0;        0,4,4,3,4,1,0,3];    for i=1:8        Q1(:,i)=Q(:,i)./norm(Q(:,i));   % qj=aj/‖aj‖    end    Q1    x=[0,0,0,0,0,1,1,0,0,1]’;    x1 = x./sqrt(3)                      %单位搜索向量
1701009253
1701009254 运行程序如下:
1701009255
1701009256     Q1 =              0    0.5941    0.3273        0   0.1037        0   0.1270  0.1459              0         0         0        0        0   0.6250   0.3810  0.2917         0.5392    0.3961    0.4364   0.5735   0.4148   0.5000   0.3810  0.2917         0.6470    0.4951    0.3273   0.3441   0.4148        0   0.3810  0.4376              0         0         0        0   0.3111        0   0.5080  0.4376              0         0         0        0   0.3111        0   0.5080  0.4376              0         0    0.5455   0.2294   0.3111   0.3750        0  0.1459         0.5392    0.2970    0.3273   0.2294   0.4148   0.2500   0.1270  0.1459              0         0         0   0.5735   0.1037   0.3750   0.1270       0              0    0.3961    0.4364   0.3441   0.4148   0.1250        0  0.4376    x1 =              0              0              0              0              0        0.5774        0.5774              0              0         0.5774
1701009257
1701009258
1701009259
1701009260
1701009261 我和数学有约:趣味数学及算法解析 [:1701004246]
1701009262 我和数学有约:趣味数学及算法解析 7.7 中文自动分词方法
1701009263
1701009264 自动分词在互联网有着极其广泛的应用。当你在搜索引擎中搜索“我和数学有约”时,搜索引擎通常会帮你找出同时含有“我和”、“数学”和“有约”的网页,即使这三个词在输入时中间有空格。一个好的新闻网站通常会有“相关文章推荐”的功能,这也要依赖于自动分词的算法。不过,要想让计算机准确切分一句话,并不是那么容易。
1701009265
1701009266 我就曾经看到过,某网站报道西南交大学生怎么样怎么样,结果相关文章里列出的全是西南交通大学的新闻。这多半是分词算法错误地把标题中的“西南交大学生”当成了一个词。
1701009267
1701009268 中文自动分词技术是以“词”为基础,但汉语书面语不是像西方文字那样有天然的分隔符(空格),而是在语句中以汉字为单位,词与词之间没有明显的界限。因此,对于一段汉字,人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让计算机也能理解?其处理过程词,就要应用到中文自动分词技术。
1701009269
1701009270 【问题】那么,如何让计算机准确地切分一句话呢?
1701009271
1701009272 【分析】
1701009273
1701009274 自动分词的主要困难在于分词歧义。“结婚的和尚未结婚的”,应该分成“结婚/的/和/尚未/结婚/的”,还是“结婚/的/和尚/未/结婚/的”?
1701009275
1701009276 我们来判断很容易,要交给计算机来处理就麻烦了。
1701009277
1701009278 问题的关键就是,“和尚未”里的“和尚”也是一个词,“尚未”也是一个词。从计算机的角度看上去,两者似乎都有可能。对于计算机来说,这样的分词困境就叫做“交集型歧义”。
1701009279
1701009280 有时候,交集型歧义的“歧义链”有可能会更长。
1701009281
1701009282 “中外科学名著”里,“中外”、“外科”、“科学”、“学名”、“名著”全是词,光从词库的角度来看,随便切几刀下去,得出的切分都是合理的。类似的例子数不胜数,“提高产品质量”、“鞭炮声响彻夜空”、“努力学习语法规则”和“中国企业主要求解决”等句子都有这样的现象。在这些极端例子下,分词算法谁优谁劣可谓是一试便知。
1701009283
1701009284 最简单的,也是最容易想到的自动分词算法,便是“最大匹配法”了。也就是说,从句子左端开始不断匹配最长的词(组不了词的单字则单独划开),直到把句子划分完。算法的理由很简单:人在阅读时也是从左往右逐字读入的,最大匹配法是与人的习惯相符的。而在大多数情况下,这种算法也的确能侥幸成功。不过,这种算法并不可靠,构造反例可以不费吹灰之力。例如,“西南交通大学生前来应聘”本应是“西南交通/大学生/前来/应聘”,却会被误分成“西南交通大学/生前/来/应聘”。
1701009285
[ 上一页 ]  [ :1.701009236e+09 ]  [ 下一页 ]