基于BLOG文章重组的概念思想。

搜索引擎优化专区

基于BLOG文章重组的概念思想。

帖子电商思考者 » 2009-10-25 20:59

BLOG文章重组思想:
对文章进行分词,通过近义词替换,加入不定期链接。(已实现)
实现原理:
1.放入内存:用多线程 读取数据库关键字信息及关键字类似信息(1对多关系。一个关键字有多个可替换词)。
实现细节:A :TArrayList,放入关键字对象信息。(字典A。不含A小类)
B:TStringList 放入待插入的URL链接信息。(字典B)

2.开始执行: 多线程。
实现步骤: 1):读取MYSQL数据内容。用来初始替换源。
2); //解析分词和替换 ,返回替换后的新的内容
new_content := replaceTextToNew(dictList,post_content) ;
2-1细节: 循环字典A,开始正则匹配。 匹配时,取A小类随机一个(读取数据库一个)。 用其替换。
2-2:加入URL: 从字典B中随机得到3个链接。 产生一个新的集合。在从此集合中随机选取(1-3)个链接。进行插入,插入时,随机取得待替换的
位置。(法则:随机得到一个数,得到该数所在位置的值,判断此值是否为空格。如不是,位置后移一位,继续判断。直到找到合适的位置为止。)

3.部分实现代码:

读入:
for i := 0 to ado.RecordCount -1 do
begin
j :=j+1;
MyObject := TMyObject.Create;
MyObject.Int := wordId ;
MyObject.Str := trim(word);
List.Add(MyObject);
ado.Next;
end;

重组:
//进行分词技术的匹配 ,把一行内容工具字典项 内容全部替换。
function splitBookThread.replaceTextToNew(dictList:IList ; strSource:string):String ;
相关函数:
//找到相同关键字。随机读取匹配的关键字。替换掉原词。
function splitBookThread.replaceTextOne(dictID:integer;dictStr:string;strSource:string) :String ;
//读取某1个词。得到相关关键词,取1个。
function splitBookThread.getDictMoreInfo(dictID:integer) :String;
Dado.RecNo:=xxx+1 ; //移动指针调到随机行
//把URL随机加入到一个单词的后面。只加入1-3组URL
function splitBookThread.addUrlInText(urlList:TStringList; strSource:string) :String;
//查找法则:随机得到一长度。取其值,直到是空字符串为止
function splitBookThread.getSomePos(strSource:string):integer;
var
len :Integer;
iPos: Integer; //查找出现的位置
tempstr:String ;//查找出现的文字
begin
tempstr := '' ;
//得到长度
len := length(strSource);
Randomize;
iPos := Random(len) ;
while(tempstr <>' ') do
begin
//随机取一个长度 ,如果不为空则取后一个字符,直到为空。
tempstr := Copy(strSource,iPos,1);
iPos :=iPos +1 ;
// saveLog('查找串为:'+inttostr(iPos) + ' 字符为:'+tempstr);
end;

result := iPos ;

end;
电商思考者
 
帖子: 12
注册: 2009-09-05 21:25

回到 SEO专区



在线用户

正在浏览此版面的用户:没有注册用户 和 0 位游客

cron