TF-IDF算法已经被很多专业的SEO工作者所熟知,它是一种用于资讯检索与资讯探勘的常用加权技术,运用到网页分析中就是对于网页中的相关关键词进行加权,分析众多网页中某个特定关键词的相关网页关键词权值,并在最后的排序算法中给予科学的依据。6 D8 q U5 G" }. K2 O" P: ~# G
; @, r& c8 K' _5 k$ P
首先看一看TF*IDF公式:TF*IDF值 = TF×IDF(TF乘以IDF) = 1+log TF(t,d) ×IDF(t) = 1+log TF(t,d) ×log(N / DF(t))。为什么要分析这个公式呢?因为一个网页的TF-IDF值越大,网页中文本内容与索引词越相关,其能够在搜索引擎上获得的权值就越高,对于后期的网页的排序能够提供很大的支持。
5 ]" |# H* N: d4 R9 P- v" U* m
) \7 A5 n6 B$ V l. ~+ s( Z" N4 ~- } TF*IDF中TF词频(Term Frequency),表示词条在某个文档中出现的频率,而IDF反文档频率(Inverse Document Frequency)表示如果包含词条t的文档个数越少,IDF越大,则说明词条t具有很好的类别区分能力,用公式表示IDF可以写为:IDF(t) = log(N / DF(t))。DF(t)表示包含有某个搜索词(以t为代表)的文档数,N表示互联网的总网页数。7 N0 e% {; h* T7 D
, E) ]! G8 p& [$ q. E o( B 看这些概念很难理解透彻,给大家举一个例子,大家就能够很好地明白了。
7 o* [) o; N5 S9 \3 x
0 T5 A v1 ]0 E+ O9 T. G1 O ' q C: n& x' I2 w! D& W
) [6 {5 l D! e- X" F2 ]1 S6 ^
" t0 G; D/ b5 C1 z( X& l
% v* i6 j) s6 T9 A, q0 ^/ I) w! ?# _7 ^# g# {
利用TF-IDF解释“SEO诊断”排名现象' e8 ` m# M4 K+ K& l! w# s. T: w$ ?
: E7 D% i. `; h: a 例如“SEO诊断”这个关键词的网页排序,我们查排名前十中三个网站关于这个词相关词语的一些词频展现分析:
( k, }8 m" E. Q( e K9 Z$ d3 O {
排在第二的是A5的SEO诊断,他们的“SEO”和“诊断”的词频分别是41和46,“SEO诊断”的词频是20;
: h) s* E0 c/ ~- r' h0 L) }
( O% |; N2 c5 f# N5 Q- @! W 排在第三的网站是长沙的一家公司,他们的“SEO”和“诊断”的词频分别是12和4,“SEO诊断”的词频是1;
E8 D) a6 m+ B% W" ]7 W/ Z0 o3 F* P! D a
我的细嗅蔷薇博客排名排名第十,网站中“SEO”词频最高,达到84,“诊断”的词频是7,“SEO诊断”的词频是4。
6 z7 q( l7 M% b/ q' v2 t: y$ o# o# r
. ]7 }- [3 A4 u& Y/ ~$ }3 M) e5 ` 搜索查看有关于“SEO诊断”的页面约1,530,000个,“SEO”和“诊断”是百度上限约100,000,000个,取N=10000亿。所以三个网页三个关键词的TF*IDF值做下面的计算:
, b* W6 H$ k0 l4 c* v P, v0 j! E8 o0 k0 F
1、先计算三个词的IDF值:; d& h% a/ T, |$ c! L
9 {. o5 y; j1 u e9 j. g SEO:IDF= log(N / DF(t))= log(10000/1)=4+ ^9 m% m% o6 ?! w( H: }
) W* N& u$ @* R
诊断:IDF= log(N / DF(t))= log(10000/1)=4) ]! Z% I3 e. w" v0 X2 {3 W& l v
$ l7 u3 a% h9 O SEO诊断:IDF= log(N / DF(t))= log(10000/0.015)= 7-log15≈6
. S1 b" X8 p$ Z& B2 l4 |
6 d2 d$ O( t! a: f! Y4 c/ { 2、计算三个词的TF值:' g& r0 D) z6 J- X2 i. }
% S! K2 F. s' l- i8 t
三站的关键词SEO的TF值:# ~' a, Z" J" i: i7 H5 u5 U* M
3 m, b- R. A6 T2 ^7 f. ]8 Q7 J 长沙:TF= log(TF(t,d))= log12≈1.1
8 W$ r; S7 S$ B3 Y/ T0 A3 Y+ C1 k% Y. B, p
A5:TF= log(TF(t,d))= log41≈1.64
$ d, f1 h( \: k
# x* K; V* a! X4 `7 G; N) ~& S4 z* u 细嗅蔷薇:TF= log(TF(t,d))= log84≈1.92
9 k ^% @7 j$ \0 i# R* t. b
9 `3 t1 P: o6 |! p7 W5 ] f5 M 三站的关键词诊断的TF值:$ b; d5 _4 b9 C3 A+ _8 B
' t4 F; W% p9 u- C 长沙:TF= log(TF(t,d))= log4≈0.63
7 A1 J; P4 [& `7 E( G
g1 v4 V1 Y5 w A5:TF= log(TF(t,d))= log46≈1.68
1 r$ ^4 I @* P# s2 q9 P; w$ x) {8 V% V0 B& d: w0 ]
细嗅蔷薇:TF= log(TF(t,d))= log7≈0.84
& n( j6 p. X2 M7 I2 N, A, C' J7 D: I8 d6 T2 p
三站的关键词SEO诊断的TF值:2 B' m# g, U- a t) Y1 W- g
4 U- \- q5 X7 f6 m/ S6 S
长沙:TF= log(TF(t,d))= log1=0
% Q( Z( C% s5 K; j% y+ O
" i3 N0 _( A. H& Q, f0 | A5:TF= log(TF(t,d))= log20≈1.458 Z* G# ~# W8 e) r
# A' q& ?6 {" O: w 细嗅蔷薇:TF= log(TF(t,d))= log4≈0.63
I2 X4 N) B' N% D% u
2 H7 I& o2 e0 x# ?" d4 c 3、三个站三个词的TF*IDF值为:: m B4 }' a( @. O1 S( \. Y% T
- N/ f: r7 y6 x2 n9 I TF*IDF值SEO诊断SEO诊断) s2 d: h. b' ^ u
" \2 Q i$ [7 G+ V0 |! d5 ?. \
长沙站5.13.521
' r- V/ {+ w4 o8 H! D% U; }
. A. E, T0 E- T/ m% n3 e A5站长网7.567.729.7
# j# G9 O% k+ I L. j
0 t2 Y; K- |' D: R2 d0 p% Q 细嗅蔷薇8.684.464.783 z5 ^7 K& p. r% Q/ X r
! e( [. T% P9 \0 W
从上面的表格中我们可以清晰的看出,我的博客“SEO”的TF*IDF值最高,A5站长网的“诊断”和“SEO诊断”TF*IDF值最高。# d" i4 r$ |; p/ a
8 Z+ ]' ~: R% d5 `& k, Z# z* i2 t
如果单纯从TF*IDF值计算出来的相关性来讲,“SEO诊断”这个词的排名A5站长网的相关性是最高的,应该获得更好的排名,我的博客排名应该在两者之间(前天的排名的确在两者之间),长沙站应该在最后,但是和实际的结果看来是有一定的差距的。这说明网站网页排名的因素还有其他的一些比较重要的因素,例如网站整体权重,单个网页权重和质量,外部链接,和用户的交互(即用户体验),这些都是我们需要考虑的。
2 z! @9 |/ s7 t$ \! ~) ~5 l6 p2 |8 f# v$ ?0 Y: |# H
另外,同一个网站相比较来看TF*IDF值,长沙站和我的细嗅蔷薇博客要提升排名,对于关键词“SEO”排名的要求就比较高,“SEO”排名起决定性作用,而A5站长站中“SEO诊断”的排名起到决定性的作用,关键词“SEO”排名对于其排名波动影响要小。这一点有一定的根据,例如前天我的博客“SEO诊断”排名第三,当时“SEO”关键词排名第十页,现在掉到了23页,排名就下降到第十,所以多运用TF*IDF研究能够帮助我们发现很多关键词排名现象,并针对性的制定SEO优化策略。
% \( N1 \% ?) ^# [5 h
3 x6 Q# m3 Z$ O" h 当然,这个计算都是基于理想状态的,但是也能够说明一些SEO现象的产生原因,只要我们能够掌握TF*IDF算法的基本思想,然后运用到网站优化中,必然能够更好地优化网站,例如我的博客,降低“SEO”这个词对于网站排名的影响,可能能够更好地控制网页的关键词“SEO诊断”的排名。
) j* B* u5 E0 I; {* V) k本文由http://www.shfanxue.com/news/132.html编辑(转载请注明) |