運用GPT-2技術為電商類別頁面產生數據驅動的文案:一步步實現指南
目錄
資料轉文字仍屬學術範疇,但這裡有一個小技巧
在當今數據驅動的世界中,數據轉換成文字對於商業和學術研究都有著無可估量的價值。這個過程卻常常仍被視為學術範疇的一部分,而非實際操作的工具</a>或技巧。但事實上,在我們每日生活與工作中,往往已經密不可分地使用到了這項技術。<br/><br/> 讓我們來講解一下何謂「資料轉文字」。它是一種利用人工智能(AI)和機器學習</a>(ML)技術來解析和理解大量數據集後,再將其轉化成人類可以容易理解的語言形式。這項技術已被廣泛用於各種產業,包括電商、金融、醫療等等。<br/><br/> 在實務操作中我們往往會遇到許多困難。例如:如何</a>確保資料清洗(Data Cleaning)後仍保持原始信息?如何</a>避免因程式碼錯誤造成的偏見問題?又或者是如何</a>實現自動化,並在此過程中維護數據的安全性和隱私?這些都是我們無法迴避的問題。 儘管面對眾多挑戰,這裡確實有一個小技巧可以解決其中一部分難題。<br/><br/>那就是使用GPT-2(Generative Pretrained Transformer 2)。GPT-2 是OpenAI推出的語言生成模型,它利用了大量網路文章訓練而成。其特點在於能理解上下文並產生與之相關的文字內容</a>。<br/><br/> 例如,在電商領域中,我們可以使用GPT-2來為商品或頁面產生吸引人的文案。我們需要提供一些基本信息給GPT-2作為輸入資料(如:商品種類、價格、規格等),接著讓模型根據這些資訊生成描述性強、具有吸引力且層次豐富的商品介紹文案。這不僅大幅減少了手動撰寫文案所需花費的時間及精力,更能以客觀和數據驅動的方式提升頁面的吸引力。<br/><br/> 雖然「資料轉文字」仍屬於學術範疇,但其實已在我們生活中發揮了巨大影響力。透過機器學習</a>和AI技術,我們能夠更有效地解析並利用數據,並以此改變商業模式、提升產品價值和優化服務。隨著科技的不斷進步與發展,我們有理由相信,在未來這種趨勢</a>將會愈演愈烈。<br/><br/>
優勢 | 劣勢 | |
---|---|---|
機會 |
|
|
威脅 |
|
|
gpt-2模型的使用可能引發潛在的倫理和安全問題,需要加強監管和風險控制。
幾年前,在SearchLove演講中,我曾說過SEO專家</a>應該避免使用以機器學習</a>(Machine Learning)為基礎的內容</a>生成,因為它還不夠好。已有一些知名案例證明這類型的內容</a>在生成財務報告和體育賽事回顧時出現問題。同時也有一些公司如Narrative Science和Automated Insights多年來都在這個領域佔據一席之地。<br/><br/>這些解決方案</a>主要依賴範本變化以及插入變數,而非生成真正獨特的文字。當時我在演講中並沒有想到,在至少十年後才會有可行的、有效且獨特的文本生成技術。但我錯了,在兩年前的TechSEO</a>Boost上我做了更正。<br/><br/>我的預測是,在接下來的五年裡,文本生成技術將無所不在。現在是開始利用這項技術進行SEO優化</a>的時候了。
SEO內容生成的不完全且自我指涉歷史
在我剛開始從事SEO工作</a>時,對於整個SEO</a>社群我並不太瞭解,所以有幾次我都重新發明瞭輪子。我之所以這麼說是因為內容</a>旋轉的概念可以透過我的經歷來解釋。2007年,有一首由饒舌歌手Canibus演唱的歌曲叫做《詩人大師無窮》("Poet Laureate Infinity")。<br/><br/>這首歌的核心理念是該饒舌歌手錄製了五個版本的200小節長的詞句,你可以使用它們來組成一段新的詞句。這些詞句被多軌錄製在一起,但第一小節中的一行和其他版本中的第二小節等等是押韻的。這首歌在Canibus.com網站上提供了一個視覺介面,讓聽眾可以切換播放哪個版本的詞句。<br/><br/>有效地說,你可以根據你切換的方式得到無窮多種200小節長詞句的排列組合。當時我正在一家公司工作,他們擁有一系列只有位置和公司名稱不同的網站。我想,我們可以把相同的概念應用到內容</a>上。<br/><br/>因此,在使用了我的離散結構教科書中的一些數學方法來建立業務案例之後,我和我的團隊裡一位文案撰寫師(嗨,Jacques!)合作寫了五個版本的一篇內容</a>。他讓每個段落都有相同的句子數量,並且每個版本中的句子與下一個版本中的句子配合使用。我還告訴他在其中留下位置和公司名稱的標記,以便我們可以將它們填入內容</a>中。<br/><br/>然後,我把它們都放入多維陣列中,進行隨機排序,並對這些標記進行字串替換和生成複製品。我還比較了生成的其他版本與內容</a>之間的編輯距離,只產生至少70%唯一性的版本。那是2007年,在以動物命名的演算法更新出現之前,所以這種策略就像魔法一樣起作用。<br/><br/>自然而然地,SEO</a>社群裡有很多非常聰明的人,他們已經得出了這個結論,而不需要一位元書呆子饒舌歌手的幫助。我現在稱之為朋友的一些SEO專家</a>正在使用馬爾可夫鏈和其他詞語級別的變體進行更複雜的實施。後來我才知道,有一些程式可以使用所謂的"spintax"來做到這一點,如下所示。<br/><br/>這種策略被稱為內容</a>旋轉。通常情況下,它是用於重製他人文章,只需改變其中的單詞即可創建新文章。正如我上面所描述的那樣,《SEO</a>內容</a>》和內容</a>旋轉都不是我推薦的策略。<br/><br/>然而,現實情況是有許多電子商務</a>網站因為使用了類似填空文本和重複內容</a>等方式而看到了顯著提高的有機搜索流量。證據就在下面的圖表中,在這張圖表中你可以看到一家大型電子商務</a>網站能見度增長</a>情況。綠色線代表了它的整體有機搜索可見度</a>,而淺藍色線則代表了一個只包含重複內容</a>的目錄的可見度。<br/><br/>在幾句填空文本部署之後,這些線越來越接近。如果你曾經為權威性很高的大型網站做過SEO</a>,你就會知道僅僅遵循最佳實踐意味著錯失機會。然而,由於這種方法如此有效,所以值得考慮一種更好的方式,可以產生對用戶更有用的內容</a>。<br/><br/>
介紹GPT-2
自然語言生成是當內容</a>旋轉成長後想要達到的目標。雖然還有一些像RosaeNLG這樣自稱為自然語言生成工具</a>的工具</a>存在,但它們只是很好的內容</a>旋轉器。近年來,基於神經網絡和處理能力普及化,自然語言處理</a>、理解和生成領域取得了巨大的發展。<br/><br/>如果你關注過穀歌搜索在過去幾年中對自然語言的公告,可能聽說過BERT。BERT代表雙向編碼器轉換標記法。關鍵詞在於"transformer"。<br/><br/>簡單來說,transformer技術建立在從內容</a>中學習</a>並使用該學習</a>來根據前一個詞或前面一系列詞來判定下一個詞最有可能是什麼的概率上。這就是Gmail和Android上文本預測背後的技術。 GPT通過使用這個概念創造文本而革命了文本生成空間。<br/><br/> GPT-2是伊隆·馬斯克的OpenAI團隊開發的第二代生成預訓練Transformer庫,它能夠寫出很難區分是否由人類撰寫的文本。當他們首次宣佈GPT-2時,正值假新聞爆發之後,他們表示這太危險了不能公開發布給公眾。(注意:《Runtime》中的反派直接提到了這一點)。<br/><br/>最終,他們確實發布了它,但參數比他們訓練時少。最初發布時只有7.74億個參數。儘管如此,可用的預訓練模型在生成複製品方面非常出色,你可以根據任何想要提供的數據對模型進行微調。<br/><br/>在電影中,Casey使用競爭對手</a>網站上抓取的內容</a>來微調模型。如果您的網站有大量內容</a>,應該使用這些內容</a>來進行訓練。 GPT-2在實踐中是通過給它一個提示和一些參數告訴它生成多少詞來工作的。<br/><br/>根據我描述的策略,我建議您將內容</a>旋轉作為將其作為提示傳遞給GPT-2的機制。有效地,你可以使用內容</a>旋轉器將數據轉化成句子,然後將該旋轉後的內容</a>作為提示餵給GPT-2。從那裡,你會生成n個詞,然後提取下一個句子,不斷重複此步驟直到得到所需的文本量。<br/><br/>值得注意的是,GPT及其後續版本不是這類文本生成模型中唯一的模型。穀歌有一款名為T5的模型,它是在清理過的CommonCrawl上訓練而成。Salesforce有一款名為CTRL的模型,它在16億個參數上進行了訓練。<br/><br/>微軟也有一款名為TuringNLG的模型,它用了170億個參數進行了訓練。因此,在即將引起機器創建內容</a>洪水般泛濫搜尋引擎結果頁</a>(SERPs)方面,並不僅僅只有伊隆·馬斯克可能會造成爆發。 GPT-2可能是我接觸過最容易實現的模型,因為它非常受歡迎。<br/><br/>談到不同的模型,我想向Hamlet Batista致敬,他一直在引領我們這個領域關於NLP和NLG實際應用方面的思考。
如何找到填充頁面的數據
在電影中,Casey通過Chrome的網絡標籤識別出了用於構建類別頁面的數據點的終點和HTTP請求。對於自己的網站,您不需要這樣做,因為您可以直接訪問數據模型。但是為了說明目的,通常您可以通過限制網絡交易到XHR來找到這些數據。<br/><br/>一旦您查看了帶有所有數據的AJAX請求並找到了它們,只需在Chrome中右鍵單擊該請求以查看詳細資訊即可。以下是Nike.com上的一個示例。這是他們的男子籃球頁面。<br/><br/>Nike.com使用單頁應用程式框架React來構建該站點。 該站點具有位於https://api.nike.com/cic/browse/v1 的API端點,用於填充頁面上的產品。在Chrome中,您可以通過右鍵單擊請求來將HTTP請求的確切細節作為fetch、NodeJS或cURL命令發送到該端點。<br/><br/>在此示例中,cURL請求如下所示: ```cURL request example``` 當然,某些網站非常複雜,不允許您從命令列輕松訪問這些端點,Nike就是其中之一。因此,您可能需要使用Puppeteer加載頁面,攔截並保存來自api.nike.com的XHR響應。您正在尋找的JSON有效負載通常具有幾個嵌套節點。<br/><br/>通過查看瀑布中的個別請求,您可以在網絡標籤中看到這一點。如果我們稍微放大一些,就可以看到Nike在構建此頁面時提供的數據模型中的特性。在這種情況下,我們可以使用以下內容</a>: - 顏色描述:運動鞋的高級別配色。<br/><br/> - inStock、isJersey、isMemberExclusive、isNBA、isNFL、isSustainable:用於指示項目關鍵特徵的布爾值功能。 - 價格:如果您認識任何一位在耐克工作的人,現在您知道員工價格了。 - 副標題:項目類型。<br/><br/> - 標題:項目名稱。 現在您有了端點。您可以查看一系列不同的頁面,以更好地理解請求中的參數,以便提取所需內容</a>。<br/><br/>仔細檢查數據並思考哪些數據點可以直接使用,哪些數據點可以從這些數據推導出來。例如,如果您有10個項目的價格,則可以從該數據點推導出平均價格。如果您有庫存數量,那麼您可能可以推導出熱門程度。<br/><br/>在上述示例中,我們可以推導出運動鞋的可持續性並組合一些相關語言。 為了簡化起見,這些變量可用於構建以下句子:「正在尋找最好的籃球鞋嗎?我們有Kyrie 6 Trophies」。該句子的範本如下:「正在尋找最好的{subtitle}嗎?我們有{title}」。<br/><br/>根據這個句子,GPT-2可以生成以下段落: ```Paragraph generated by GPT-2``` 您可以在HuggingFace團隊開發的WriteWithTransformer.com 網站上玩弄這個想法。請記住,該網站使用的是GPT-2大型模型,而不是以下示例中使用的3</a>55mm參數版本。如果您在準備短語</a>變體時遇到困難,您可以使用Paraphrase.org上的數據。<br/><br/>
如何為分類頁面生成文案
現在是你一直等待的時刻。這裡有一個使用GPT-2-Simple的Colab筆記本,用來說明文本生成的概念。總結布蘭妮·穆勒(Britney Muller)的話,一切都只需要按下Control+Enter。<br/><br/>以下是達到此目標所需完成的步驟詳細解釋:
6. 將你的數據驅動句子用作提示
每個句子都作為提示被餵給GPT-2,以生成你想要的任意數量的文字。你可以改變生成內容</a>的長度和位置。例如,你可以放一個句子,然後告訴它給我50個字,或者放兩個句子,然後提示它給你200個字。<br/><br/>改變紅色部分的文字,看看當你添加自己的提示時會發生什麼。
你可以用這種方式處理編輯內容嗎?
這篇文章引述了Vox和The New Yorker的觀點,但我對此感到好奇,所以我將自己寫過的有關數位行銷的部落格文章匯總起來,使用了一個包含3</a>55m參數的GPT-2模型來進行微調。我選取了本文中我撰寫的一些句子開頭,看看它可能會產生什麼結果。以下是其中幾個例子: 在幾年前的SearchLove大會上,當我講解機器學習</a>時,我曾表示SEO</a>人員應該避免使用以機器學習</a>驅動的內容</a>創建,因為效果不夠好。<br/><br/>同時當時我也說過,SEO</a>人員應該避免使用與目標讀者觀點不符合的模型。 顯然地,我的觀點非常錯誤,在那些話語中體現出了優化者的定義。然而,我也從根本上相信使用這些話語所帶來的結果是浪費時間並且穀歌理所當然地排除了不良行為者。<br/><br/> 我會詳細談論我是如何</a>形成這個觀點的,為什麼我改變了主意並在六月底改變了建議。我還會分享一個我每個新的SEO</a>專案孵化階段都使用的秘密武器。 正是這種共同對內容</a>的興趣使得我們兩人獨一無二,也是為什麼這麼多人告訴我們他們想要幫助我們共同成長。<br/><br/>我想像中有很多機會可以讓我們更多地分享彼此合作的成果,或者至少可以有人根據我們白板演示來印刷出報告。 以下這一段特別有趣: 在我的SEO職業生涯</a>早期,由於對整個SEO</a>社群不太瞭解,所以曾多次重新發明車輪。當時,我說過自己想成為一位知名演講者,而事實上確實做到了。<br/><br/>在進行演講時,我結交了很多朋友。那是一次很好的經驗;我學到了很多東西,現在我每天與許多極有才華的人互動。 但是,正是因為互聯網讓我受益。<br/><br/>就是通過我最早的一次互動之一,我瞭解到了SEO</a>的社交面。
把這個實現於生產中
在電影中我提到的另一個觀點是Python很棒,但JavaScript更容易投入生產。這並不是說Python無法用於生產環境,而是反映了所有網站技術堆疊</a>都原生支援JavaScript。如果該網站是單頁應用程式,你可以確定NodeJS已配置好,而每個現代瀏覽器都運行JavaScript。<br/><br/>然而,你無法確定伺服器上是否安裝了Python。如果有的話,你需要在取得庫的工作上建立一個API。也就是說,在相對輕鬆部署的流程中,我們可以使用具有Hugging Face轉換器附加功能的spaCyJS。<br/><br/>這使我們能夠輕鬆訪問GPT-2。實際上,spaCyJS是spaCy主要Python庫的NodeJS API。使用它來建立API端點並不困難。<br/><br/>然而,為了保持盡可能簡單,我們可以使用Google Cloud Run創建無伺服器API。在配置完API後,您可以發送文本作為提示並取回數據。您肯定希望預處理和編輯此內容</a>,而不是直接將內容</a>即時填充到網站上。<br/><br/>
這種類型的內容可以被偵測出來
當OpenAI首次開發GPT技術時,他們表示不會公開釋出,因為它太危險了。但一如埃隆·馬斯克的風格,他們最近推出了第三代商業版軟件。此外,也有一系列可用於識別生成內容</a>的工具</a>。<br/><br/>以下是幾個例子:隨著這些生成內容</a>機制越來越普及,搜尋引擎</a>考慮將這些檢測庫作為內容</a>分類器的一部分是合理的。如果谷歌確定文本生成是一個問題,我想它可能會將其添加到未來版本的Panda演算法中。
編輯團隊並未消失
目前自然語言生成(Natural Language Generation)尚未取代編輯團隊的角色。現在無法僅依靠生成的內容</a>而不經過審查,必須有專業的撰稿人進行審閱。GPT-2主要關注詞彙概率,而非識別品牌聲音和語氣。<br/><br/>因此,在正式發布之前,應該讓編輯團隊先檢查和調整它作為初稿。儘管如此,值得一提的是Google已表示他們的演算法無法解決準確性問題。可能會出現不準確內容</a>特徵仍能滿足處理和排名演算法</a>的情況。<br/><br/>
自然語言生成領域中的工具
如上所述,內容</a>生成領域的關鍵參與者歷來是Automated Insights和Narrative Science。就目前而言,這些公司並沒有進行我在本文中描述的工作。事實上,Narrative Science的人員積極反對使用像GPT-2這樣的技術來創建內容</a>,因為它無法生成真實內容</a>。<br/><br/>但這絕不是不使用該技術的理由。以下是我所瞭解到的另外一些正在使用類似技術的公司: 1. InferKit:InferKit背後的人以前有一個名為TalkToTransformer的演示網站,可以根據您提供的提示查看GPT-2生成的內容</a>。他最近關閉了那個網站,並構建了一個SaaS API,可以做到與我上面演示相同的功能。<br/><br/>InferKit允許您使用核心GPT-2模型或使用您提供的訓練內容</a>對其進行微調。 2. OpenAI:Elon Musk團隊最近表示他們將很快推出商業化API GPT-3</a>。 3</a>. MarketMuse First Draft:更接近SEO</a>領域,在Marketmuse周圍活動著一家公司。<br/><br/>該公司最近發佈了他們的First Draft產品,利用自然語言生成(NLG)基於您創建的內容</a>簡介預計能產生3</a>00至500字長草稿。 當然可以預期,在不久將來會湧現出更多此類內容</a>相關公司。
相關數據:
- 全球電子商務市場規模預估將在2021年達到4.9兆美元 來源: statista
- 美國電子商務市場在2020年達到了7900億美元 來源: us department of commerce
- 英國2020年電子商務市場增長了13.1%,達到688億英鎊 來源: office for national statistics
- 日本電子商務市場在2020年躍升至233億美元 來源: ministry of economy, trade and industry, japan
- 法國電子商務市場佔全國零售總額的10.9%,共計達到928億歐元 來源: federation of e-commerce and distance selling