李思特
摘 要:自然語言處理是近幾年發(fā)展迅速的智能算法,其具有的多種優(yōu)勢(shì)正被越來越多的人認(rèn)可。本文圍繞人工智能歌詞創(chuàng)作的社會(huì)熱點(diǎn),從文本生成出發(fā),宏觀上認(rèn)識(shí)了自然語言處理的定義、應(yīng)用領(lǐng)域及技術(shù)原理,并且深入剖析了RNN和LSTM這兩種文本生成算法的基本原理,具有一定的參考價(jià)值。
關(guān)鍵詞:自然語言處理;應(yīng)用;文本生成;RNN;LSTM
中圖分類號(hào):TP391.1 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-2064(2019)14-0041-02
0 引言
隨著人工智能技術(shù)的高速發(fā)展,智能化已成為當(dāng)今時(shí)代的發(fā)展特色,智能化應(yīng)用也體現(xiàn)在生活中的方方面面,人機(jī)對(duì)話、人機(jī)對(duì)弈、AI寫歌詞等新聞熱搜已為人們所熟知。其中,人工智能歌詞創(chuàng)作頻頻成為互聯(lián)網(wǎng)的熱門話題,在2018年的綜藝節(jié)目《中國好聲音》中,參賽選手宿涵也曾宣傳了其創(chuàng)業(yè)公司推出的AI歌詞創(chuàng)作項(xiàng)目。本文即圍繞人工智能歌詞創(chuàng)作這一熱門話題,對(duì)其主要應(yīng)用的自然語言處理技術(shù)進(jìn)行闡述,并介紹其相關(guān)應(yīng)用。
1 自然語言處理的概述及應(yīng)用
自然語言處理,英文名稱是Natural Language Process(NLP),是人工智能領(lǐng)域的重要分支[1]。自然語言是人腦所特有的高級(jí)功能,自然語言處理即為利用計(jì)算機(jī)技術(shù),通過相關(guān)算法對(duì)書面或口頭形式的自然語言信息進(jìn)行各種類型的加工或處理[2]。自然語言處理是實(shí)現(xiàn)人機(jī)交互的重要技術(shù)手段,也可以對(duì)語言信息進(jìn)行分類或分析,其應(yīng)用主要有機(jī)器翻譯、情感分析、智能問答、語言生成、信息提取、語音輸入、輿情分析等諸多方面[3]。
1.1 機(jī)器翻譯
機(jī)器翻譯是利用計(jì)算機(jī)將一種自然語言轉(zhuǎn)換為另一種自然語言(目標(biāo)語言)的過程。它在國內(nèi)有許多比較成熟的應(yīng)用,比如現(xiàn)在比較流行的有道翻譯、百度翻譯、谷歌翻譯等等。
1.2 情感分析
情感分析在一些有評(píng)論機(jī)制的應(yīng)用上非常有用,它可以把不同的評(píng)論通過分析歸入到不同的情感標(biāo)簽中,比如判斷評(píng)論是積極的還是消極的,根據(jù)一定的規(guī)則,在用戶的評(píng)論區(qū)上顯示。
1.3 智能問答
智能問答在一些電商網(wǎng)站上有很大價(jià)值,比如淘寶、天貓、京東等等。有些簡單的問題并不需要人工客戶來處理,智能問答可以解決用戶的這些問題,從而省去大量的人力成本。
1.4 語言生成
語言生成主要應(yīng)用在新聞和體育賽事解說上,系統(tǒng)通過自然語言處理將解說員的臺(tái)詞翻譯成文字,實(shí)時(shí)顯示在APP上,方便觀眾快速收到文字解說。
1.5 信息提取
信息提取主要應(yīng)用在搜索引擎上,它們?cè)诓杉罅康臄?shù)據(jù)后,提取關(guān)鍵的信息進(jìn)行自動(dòng)分類。例如針對(duì)新聞的搜索頁面,在應(yīng)用了信息提取算法之后,進(jìn)行主題的分析,可將不同的新聞歸類到不同的主題當(dāng)中。
1.6 語音輸入
語音輸入被認(rèn)為是目前世界上最簡便、最易用的輸入法,在當(dāng)前發(fā)展極為迅速。國內(nèi),科大訊飛是語音輸入做得最好的互聯(lián)網(wǎng)公司,它推出的同聲傳譯翻譯器,可以實(shí)時(shí)進(jìn)行中英文的同聲傳譯,在各大會(huì)議和賽事中得到廣泛應(yīng)用。
1.7 輿情分析
輿情分析在政府或企業(yè)的公關(guān)中起著十分重要的作用,美國前總統(tǒng)奧巴馬在參與美國大選時(shí),就曾多次利用輿情分析對(duì)資金和廣告的投放進(jìn)行調(diào)整、制作有效的拉票戰(zhàn)術(shù)。自然語言處理在輿情分析中的應(yīng)用,使得媒體界、公關(guān)領(lǐng)域的工作效率大大提高。
2 自然語言處理的技術(shù)原理
自然語言處理應(yīng)用在生活中的很多方面,為實(shí)現(xiàn)這些應(yīng)用,需對(duì)其技術(shù)原理進(jìn)行深入剖析。本章將從自然語言處理最基本的詞法和句法分析,以及機(jī)器翻譯、情感分析、文本生成所采用的技術(shù)方法這幾個(gè)方面展開論述。
2.1 詞法分析
詞法分析包括中文分詞、詞性標(biāo)注和命名體識(shí)別。中文分詞是指將連續(xù)的句子分割成完整的詞匯序列;詞性標(biāo)注賦予了每個(gè)詞特定的詞性,如動(dòng)詞、名詞等等。命名體識(shí)別是將專有名詞進(jìn)行識(shí)別,比如人名、地名。通過這三個(gè)步驟,詞法分析可將自然語言進(jìn)行初步分類,方便下一步處理。
2.2 句法分析
句法分析可以利用一句話中詞與詞之間的關(guān)系,來表示句中的語法信息。主要作用是精準(zhǔn)理解輸入者的意圖,通過句法分析,抽取出語句中的主干部分,實(shí)現(xiàn)對(duì)語句的精準(zhǔn)理解。
2.3 機(jī)器翻譯的主要方法
2.3.1 基于規(guī)則的機(jī)器翻譯
基于規(guī)則的機(jī)器翻譯是通過詞性分析、詞語位置變幻等規(guī)則,把詞或短語直接進(jìn)行翻譯,一般情況翻譯質(zhì)量較差。
2.3.2 基于統(tǒng)計(jì)的機(jī)器翻譯
該種方法采用了統(tǒng)計(jì)學(xué)的相關(guān)理論,首先需要一個(gè)大的語料庫,當(dāng)翻譯詞時(shí),會(huì)計(jì)算該詞與其相鄰詞間的概率,然后選擇概率最大的翻譯結(jié)果作為輸出,默認(rèn)概率最大為翻譯最準(zhǔn)確。這種方法也是目前較為常用的機(jī)器翻譯方法之一[4]。
2.3.3 基于實(shí)例的機(jī)器翻譯
當(dāng)需要輸入一句話進(jìn)行翻譯時(shí),會(huì)搜索出類似的語句,在有異常翻譯的詞語處進(jìn)行直接替換,即可得到最終結(jié)果,翻譯效果較差。
2.4 情感分析
情感分析是針對(duì)具有主觀傾向的文體,如用戶評(píng)論等。情感分析首先要提取文本中的關(guān)鍵情感詞語,進(jìn)行分類并給出相應(yīng)的可信度,可分為積極、中性、消極。情感分析可以幫助商家理解用戶的心理,顯示一定情感比例的評(píng)論。還可以幫助企業(yè)進(jìn)行熱點(diǎn)分析、輿論監(jiān)控,為企業(yè)的決策提供支持[5]。
2.5 文本生成
文本生成可基于關(guān)鍵詞或基于一句話的文本進(jìn)行再生成。第一步是要輸入關(guān)鍵詞或一句話,如果是關(guān)鍵詞,系統(tǒng)會(huì)在基礎(chǔ)語料庫中篩選出含有這個(gè)關(guān)鍵詞的語句,判斷是否符合要求,不符合的話要對(duì)這句話在同義詞語料庫中進(jìn)行同義詞的替換,最后輸出。
在文本生成同義句時(shí),先要對(duì)已輸入的語句進(jìn)行分詞,分詞后如果兩個(gè)語句詞不同且語義不同,則不滿足模板變換的條件,就要再去除停用詞,對(duì)于剩下的詞計(jì)算詞距離,得到相似矩陣,對(duì)兩個(gè)句子分別構(gòu)建bi-gram統(tǒng)計(jì)向量,計(jì)算相似度。最后把所有句子由相似度高到低進(jìn)行排序,根據(jù)需要的句子數(shù)量選取指定數(shù)量的句子。
3 人工智能歌詞創(chuàng)作的主要方法
人工智能歌詞創(chuàng)作的本質(zhì)是采用了文本生成的相關(guān)算法。首先需要將自然語言數(shù)字化處理,即導(dǎo)入依賴,加載數(shù)據(jù),創(chuàng)建映射,使每一個(gè)字符都可以映射到一個(gè)數(shù)字,然后進(jìn)行數(shù)據(jù)預(yù)處理,將數(shù)據(jù)轉(zhuǎn)換成可供模型訓(xùn)練的格式,再進(jìn)行模型構(gòu)建,最后應(yīng)用相關(guān)算法生成文本,本文主要列舉循環(huán)神經(jīng)網(wǎng)絡(luò)算法和LSTM算法這兩種方法。
3.1 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)算法原理
首先需要準(zhǔn)備數(shù)據(jù),循環(huán)神經(jīng)網(wǎng)絡(luò)RNN引入了隱狀態(tài)h,可以對(duì)序列形的數(shù)據(jù)提取特征,也就是通過前幾次輸出的量,對(duì)輸入的量進(jìn)行判斷與更改,用上一狀態(tài)的輸出量通過處理轉(zhuǎn)化為新的輸入量[6]。歌詞向量化后輸入x1,x2,……xn,該輸入量通過與隱狀態(tài)h的計(jì)算預(yù)測(cè),輸出y1,y2,……yn。預(yù)測(cè)效果會(huì)隨著反復(fù)學(xué)習(xí),逐漸優(yōu)化。技術(shù)原理圖如圖1所示。
3.2 長短期記憶網(wǎng)絡(luò)(LSTM)算法原理
上文提到的RNN具有一種重復(fù)神經(jīng)網(wǎng)絡(luò)模塊的鏈?zhǔn)叫问剑措[狀態(tài)h。相較于RNN來說,LSTM不是單一的神經(jīng)網(wǎng)絡(luò),它有四種特殊的交互結(jié)構(gòu)。這種結(jié)構(gòu)叫門,可以實(shí)現(xiàn)選擇性地讓信息通過。技術(shù)原理如圖2所示。
數(shù)據(jù)通過遺忘門時(shí),遺忘門會(huì)輸出一個(gè)0到1之間的實(shí)數(shù),1表示完全保留,0表示完全舍棄。輸入門決定讓多少新的信息加入,其中包含兩個(gè)步驟,一個(gè)是sigmoid層決定哪些信息需要更新,另一個(gè)tanh層生成一個(gè)向量,也就是備選的用來更新的內(nèi)容。這兩部分結(jié)合起來,對(duì)其進(jìn)行更新,會(huì)產(chǎn)生新的候選值,該值根據(jù)決定更新每個(gè)狀態(tài)的程度進(jìn)行變化。最后,需要決定輸出什么值:(1)運(yùn)行一個(gè)sigmoid層來確定細(xì)胞狀態(tài)的輸出部分;(2)把輸入門的最終值通過tanh進(jìn)行處理,得到一個(gè)值,并將它和sigmoid門的輸出相乘;(3)輸出所需的確定輸出值,來實(shí)現(xiàn)文本生成[7]。
4 結(jié)語
基于自然語言處理技術(shù)的人工智能歌詞創(chuàng)作雖然在諸多方面還存在著挑戰(zhàn),但毫無疑問,自然語言處理的發(fā)展前景是明朗的。通過自然語言處理的相關(guān)技術(shù),我們可以將智能化帶入生活的方方面面,實(shí)現(xiàn)機(jī)器與人之間的溝通,從根本上影響到人們的生活,意義深遠(yuǎn),潛力無窮。相信隨著智能算法的不斷優(yōu)化,AI技術(shù)將會(huì)在自然語言方面做到更多。
參考文獻(xiàn)
[1] 奚雪峰,周國棟.面向自然語言處理的深度學(xué)習(xí)研究[J].自動(dòng)化學(xué)報(bào),2016,42(10):1445-1465.
[2] 李彥峰.人工智能在自然語言處理中的應(yīng)用[J].襄陽職業(yè)技術(shù)學(xué)院學(xué)報(bào),2018,17(04):71-74+78.
[3] 李生.自然語言處理的研究與發(fā)展[J].燕山大學(xué)學(xué)報(bào),2013(5):377-384.
[4] 李亞超,熊德意,張民.神經(jīng)機(jī)器翻譯綜述[J].計(jì)算機(jī)學(xué)報(bào),2018,41(12):2734-2755.
[5] 范創(chuàng).人機(jī)對(duì)話中的情感文本生成方法研究[D].哈爾濱工業(yè)大學(xué),2018.
[6] 王懿.基于自然語言處理和機(jī)器學(xué)習(xí)的文本分類及其應(yīng)用研究[D].中國科學(xué)院研究生院(成都計(jì)算機(jī)應(yīng)用研究所),2006.
[7] 于振龍.基于LSTM的自然語言生成技術(shù)研究與實(shí)現(xiàn)[D].北京郵電大學(xué),2018.