盘点AI机器生产伪原创文章的几种方式
信息大爆炸的时代,每天有无数的创作者在创作知识信息,如果能够让机器人根据人类的要求和方向自动创作文章,是不是可以减轻人类的负担,比如机器写小说,
机器发布评论,机器发表论文研究等,理论上人工智能发展到一定水平时会出现这种情况,这也是霍金最担心的,他担心人类被人工智能毁灭了。
今天我介绍一下目前机器创作伪原创文章有两种技术方式:
一、程序算法生成
程序算法主要分成以下几种1、分词+近义词替换
顾名思义就是先对原文章进行分词,并根据同义词库进行替换,比如“我很喜欢你“,通过分词变成“我”、“很”、“喜欢”、“你”,这个几个词,然后对同义词进行替换,比如“我”字可以说换成“吾”字,“很”换成“特别”,“喜欢”换成“爱”,最后合并变成“吾特别爱你”,这样就算一个伪原创的文章了,但是这种伪原创很容易被搜索引擎识别出来。
python中我们可以用
#!/usr/local/python3/bin/python3 # -*- coding: utf-8 -* import synonyms synonyms.display("飞机")
2、翻译生成
首先对原文利用翻译引擎翻译成英文,然后再翻译回来,就变成了伪原创文章了。
我们以php为例,通过谷歌翻译来生成伪原创文章,注意谷歌翻译api可能不太稳定。
<?php error_reporting(0); $html = new article("我真的喜欢你",""); echo $html->Content(); class article { // 文章 protected $source = ""; //关键词 protected $keyword=""; function __construct($source,$keyword) { $this->source = strip_tags($source,'<p>'); $this->keyword = explode(',' ,$keyword); } public function Content() { if (!$this->source) return false; $text=str_replace(array("\r\n","\n","\r"),'[h]',$this->source); $text= $this->keyword_lock($text); $text= $this->keyword_unlock($this->wyc($text)); return str_replace('[h]',PHP_EOL,$text); } //关键词锁定 public function keyword_lock($content='') { foreach ($this->keyword as $id=>$age) { $content=&$content; $content=str_replace($age,"[k$id]",$content); } return $content; } //关键词解锁 public function keyword_unlock($content='') { foreach ($this->keyword as $id=>$age) { $content=&$content; $content=str_ireplace("[k$id]",$age,$content); } return $content; } public function mbStrSplit ($string, $len=1) { $start = 0; $strlen = mb_strlen($string); while ($strlen) { $array[] = mb_substr($string,$start,$len,"utf8"); $string = mb_substr($string, $len, $strlen,"utf8"); $strlen = mb_strlen($string); } return $array; } public function wyc($info) { $infocount=mb_strlen($info, 'UTF-8'); //1000以内可用 if($infocount<=990){ $zh_en=$this->translate($info,'zh-CN','EN'); $wyc=$this->translate($zh_en,'EN','zh-CN'); }else{ $wyc="超过字数限制 ";//92行设置的字数 } /* //超过一千可用 if($infocount<=1000){ //如果小于或等于1000直接翻译 $zh_en=$this->translate($info,'zh-CN','EN'); $wyc=$this->translate($zh_en,'EN','zh-CN'); }else{ //如果大于于1000,每1000字符进行分割循环翻译 $info = $this->mbStrSplit($info, 800); $arr=count($info); for($i=0;$i<$arr;$i++){ $zh_en=$this->translate($info[$i],'zh-CN','EN'); $wyc.=$this->translate($zh_en,'EN','zh-CN'); } } */ return $wyc; } public function translate($text,$from,$to) { $url = "https://translate.google.cn/translate_a/single?client=gtx&dt=t&ie=UTF-8&oe=UTF-8&sl=$from&tl=$to&q=". urlencode($text); set_time_limit(0); $ch = curl_init(); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.81 Safari/537.36 SE 2.X MetaSr 1.0"); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_MAXREDIRS,20); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 40); curl_setopt($ch, CURLOPT_URL, $url); $result = curl_exec($ch); curl_close($ch); var_dump($result); $result = json_decode($result); if(!empty($result)){ foreach($result[0] as $k){ $v[] = $k[0]; } return implode(" ", $v); } } }
二、AI机器学习训练模型生成
这个也结合nlp自然语义理解模型分析训练,最后生成一个相同意思的伪原创文章,而且段落结构与原文有很大的不同,能够绕开搜索引擎的原创识别,不过这种算法的难度高,需要对机器学习算法有很深的研究。如果不想自己训练模型,可以使用阿里云及百度的nlp自然语义理解api接口辅助生成伪原创文章。
我们以php为例,看看百度nlp伪原创生成代码是怎么写:
require_once dirname(__DIR__).'/extend/aip-php-sdk-2.2.19/AipNlp.php'; //该文件进api去下载 const APP_ID = ''; const API_KEY = ''; const SECRET_KEY = ''; $client = new AipNlp(APP_ID, API_KEY, SECRET_KEY); $text = '网站seo优化已经进入新的路程,不在是单纯的外链发布,文章更新的工作,是门综合的课程,是理想和现实并存的东西。如今seo工作需要做好长期备战的准备。 网站优化新思路包括分析优化、执行优化、判断优化、长期优化。、分析优化分析优化是网站建设刚开始的开始的,从建站的角度分析,从行业、竞争对手分析,分析用户的搜索习惯等等。通过行业的竞价情况,百度指数等等分析网站优化的关键词,然后确定网站关键词和长尾关键词。做seo工作的可以不需要有专业的程序员编程能力、设计师设计能力,但是基本的代码还是需要懂的。做网站的优化工作,前期的分析优化是非常重要的,旦数据有偏差,关键词定位不准确,会给后期的工作带来系列的问题。 二、执行优化执行优化讲的是对分析优化的方案执行,关能分析问题,执行力不行好比纸上谈兵。实践才是检验真理的好标准。执行优化工作包括的面非常广,但是非常注重细节性的东西,在执行的过程中,做好细节的工作,检查网站漏洞、庸余代码、网站界面美工,调试完善网站服务器运行环境。之前在做网站的优化时,网站内容不是很丰富我上线了,如文章更新的内容是空白的,我本想是后期更新的时候在慢慢增加,后果是网站的排名直上不来。 「网站关键字优化」说说seo优化的四种新思路都有什么三、判断优化判断优化讲的是网站上线以后,对网站进行推广,根据推广情况,判断优化情况,适当的做些调整。网站优化的方法不是层不变的,我们需要对段时期的优化工作做出判断,如果这样的优化方法没有好的效果,需果断放弃。在做网站的判断优化,我主要是从流量内容和核心内容的比例做去判断,从积累数据中分析数据,再做些长尾词的调整及针对性的做好内容建设。 四、长期优化长期优化是通过判断优化分析的数据,不断的对优化方法做出调整,是个长期的过程。优化的方法多种多样,可以对核心关键词、核心栏目进行优化,也有可能是建立专题、做友情链接、站群、品牌推广、或是更多的内链建设、服务器定期检查数据备份等。不管你用什么样的优化方法,所有的工作都是要保证网站长期稳定的发展。 我们要知道百度算法直都在调整、变化,我们做网站优化的方法也要随之改变。不要直拿老的做法和想法来新的时,那样可能起不到任何效果,反而会适得其反。优化是个长期的过程,切不可急功近利!'; //获取词库 $file = file_get_contents('synonym.txt'); $f1 = explode("\n",$file); $new_arr = []; foreach ($f1 as $k=>$v){ $f2 = explode('=>',trim($v)); if(is_array($f2)){ $new_arr[trim($f2[0])] = trim($f2[1]); } } //百度API获取 $data = $client->lexerCustom($text); echo '原文本:<br>'; echo $data['text']."<br>"; echo '分词:<br>'; $old = $data['text']; $find = []; $replace = []; foreach ($data['items'] as $k=>$v){ echo '<span style="margin-right: 20px">'.$v['item'].'</span>'; if(isset($new_arr[$v['item']])){ $find[] = $v['item']; $replace[] = $new_arr[$v['item']]; } } $old = str_replace($find,$replace,$old); echo '<br>替换后<br>'; echo $old;注意,要去百度云官方注册账号获取key和sdk文档后进行。
还可以对生成的伪原创文章使用百度的DNN语言接口判断伪原创文章语句是否符合人类说话的习惯,这个也是百度判别伪原创的利器,值越低,句子越通顺。
三、比较
从技术难度上比较第一种算法比较简单,门槛低,缺点就是容易被搜索引擎识别
第二种机器学习伪原创接近真人写作,但是前期需要大量的素材文字对其进行训练和调参,一般模型训练好了就好了。
网友评论0