如何實現(xiàn)“AI SEO偽原創(chuàng)”?

市面上已經(jīng)有眾多【AI偽原創(chuàng)】工具,看產(chǎn)品說明,介紹是基于NPL卷積神經(jīng)網(wǎng)絡(luò)千萬語料庫機器學(xué)習(xí)生成的文章。

百度“AI偽原創(chuàng)”,隨便找一款產(chǎn)品,測試一下偽原創(chuàng)效果:

image

巧了,這個偽原創(chuàng)的內(nèi)容,跟Google中英互譯兩次的結(jié)果一樣:

image
image

所以我們要實現(xiàn)市面上“AI偽原創(chuàng)”的功能,不需要搞“NPL卷積神經(jīng)網(wǎng)絡(luò)千萬語料庫機器學(xué)習(xí)”神馬的,只要調(diào)用Google翻譯,執(zhí)行“中--->英--->中”兩次翻譯即可。于是google搜羅并修改一番,見代碼:

import requests
import json
from bs4 import BeautifulSoup
import execjs
from aip import AipNlp

""" 你的 APPID AK SK """
APP_ID = 'you id'
API_KEY = 'you api key'
SECRET_KEY = 'you secret key'

client = AipNlp(APP_ID, API_KEY, SECRET_KEY)

class Py4Js():

    def __init__(self): 
        self.ctx = execjs.compile(""" 
        function TL(a) { 
        var k = ""; 
        var b = 406644; 
        var b1 = 3293161072;             
        var jd = "."; 
        var $b = "+-a^+6"; 
        var Zb = "+-3^+b+-f";       
        for (var e = [], f = 0, g = 0; g < a.length; g++) { 
                var m = a.charCodeAt(g); 
                128 > m ? e[f++] = m : (2048 > m ? e[f++] = m >> 6 | 192 : (55296 == (m & 64512) && g + 1 < a.length && 56320 == (a.charCodeAt(g + 1) & 64512) ? (m = 65536 + ((m & 1023) << 10) + (a.charCodeAt(++g) & 1023), 
                e[f++] = m >> 18 | 240, 
                e[f++] = m >> 12 & 63 | 128) : e[f++] = m >> 12 | 224, 
                e[f++] = m >> 6 & 63 | 128), 
                e[f++] = m & 63 | 128) 
        } 
        a = b; 
        for (f = 0; f < e.length; f++) a += e[f], 
        a = RL(a, $b); 
        a = RL(a, Zb); 
        a ^= b1 || 0; 
        0 > a && (a = (a & 2147483647) + 2147483648); 
        a %= 1E6; 
        return a.toString() + jd + (a ^ b) 
    };          
    function RL(a, b) { 
        var t = "a"; 
        var Yb = "+"; 
        for (var c = 0; c < b.length - 2; c += 3) { 
                var d = b.charAt(c + 2), 
                d = d >= t ? d.charCodeAt(0) - 87 : Number(d), 
                d = b.charAt(c + 1) == Yb ? a >>> d: a << d; 
                a = b.charAt(c) == Yb ? a + d & 4294967295 : a ^ d 
        } 
        return a 
    } 
 """)
    def getTk(self,text):
        return self.ctx.call("TL",text)

def buildUrl(text,tk,language):

    baseUrl='https://translate.google.cn/translate_a/single'
    baseUrl+='?client=t&'

    if language == 'en-zh':
        baseUrl+='s1=en&'
        baseUrl+='t1=zh-CN&'
        baseUrl+='h1=zh-CN&'
    elif language == 'zh-en':
        baseUrl+='sl=zh-CN&'
        baseUrl+='tl=en&'
        baseUrl+='hl=zh-CN&'

    baseUrl+='dt=at&'
    baseUrl+='dt=bd&'
    baseUrl+='dt=ex&'
    baseUrl+='dt=ld&'
    baseUrl+='dt=md&'
    baseUrl+='dt=qca&'
    baseUrl+='dt=rw&'
    baseUrl+='dt=rm&'
    baseUrl+='dt=ss&'
    baseUrl+='dt=t&'
    baseUrl+='ie=UTF-8&'
    baseUrl+='oe=UTF-8&'
    baseUrl+='otf=1&'
    baseUrl+='pc=1&'
    baseUrl+='ssel=0&'
    baseUrl+='tsel=0&'
    baseUrl+='kc=2&'
    baseUrl+='tk='+str(tk)+'&'
    baseUrl+='q='+text
    return baseUrl

def translate(language,text):
    header={
        'authority':'translate.google.cn',
        'method':'GET',
        'path':'',
        'scheme':'https',
        'accept':'*/*',
        'accept-encoding':'gzip, deflate, br',
        'accept-language':'zh-CN,zh;q=0.9',
        'cookie':'',
        'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64)  AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36',
        'x-client-data':'CIa2yQEIpbbJAQjBtskBCPqcygEIqZ3KAQioo8oBGJGjygE='
    }
    url=buildUrl(text,js.getTk(text),language)
    res=''
    try:
        r=requests.get(url)
        result=json.loads(r.text)
        #print (result)
        if result[7]!=None:
            # 如果我們文本輸錯,提示你是不是要找xxx的話,那么重新把xxx正確的翻譯之后返回
            try:
                correctText=result[7][0].replace('<b><i>',' ').replace('</i></b>','')
                print(correctText)
                correctUrl=buildUrl(correctText,js.getTk(correctText),language)
                correctR=requests.get(correctUrl)
                newResult=json.loads(correctR.text)
                res=newResult[0][0][0]

            except Exception as e:
                print(e)
                for r in result[0]: 
                    if r[0] is not None: 
                        res += r[0]

        else:
            for r in result[0]: 
                if r[0] is not None: 
                    res += r[0]
    except Exception as e:
        res=''
        print(url)
        print("翻譯"+text+"失敗")
        print("錯誤信息:")
        print(e)
    finally:
        return res

def dnnlm(text):
    dnn = client.dnnlm(text)
    return dnn["ppl"]

text = "測試一下這個軟件好不好用,輸出的文字能否讀通"

if __name__ == '__main__':
    js=Py4Js()
    yw = translate('zh-en',text)
    res_enzh = translate('en-zh',yw)
    print ("原文:",text)
    print ("英文:",yw)
    print ("偽原創(chuàng):",res_enzh)
    #print (dnnlm(text),dnnlm(res_enzh))

輸出結(jié)果與Google翻譯一致:

image

那么問題來了,這種中英中互譯兩次出來的文字,搜索引擎能否看出來呢?我們找下百度AI開放平臺,自然語言分析里有一項“DNN語言模型”,文檔中說明可以判斷句子是否符合語言表達(dá)習(xí)慣。我姑且理解為,判斷一句話是人寫的概率有多大

image
image

我們依次跑下原始句子,和偽原創(chuàng)句子的通順度:

image

看來對百度爸爸而言,原始句子通順的多。我們再多測試幾個句子:

image

蜜汁尷尬^1

image

蜜汁尷尬^2

image

蜜汁尷尬^3

一些搬運英文視頻,添加中文字幕;或通過音頻生成文章的自媒體,同理;

微信公眾號---->右下角

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容