本發(fā)明屬于文字信息數(shù)據(jù)處理
技術(shù)領(lǐng)域:
,具體涉及一種NBA賽事新聞的自動生成方法。
背景技術(shù):
:文字直播,一般是指利用電視直播信號或者網(wǎng)絡(luò)視頻信號為信息源,借助特定的輸入輸出系統(tǒng),以網(wǎng)絡(luò)平臺作為傳播媒介,用文字的形式向廣大網(wǎng)民傳播信息的一種在線演繹及生動的傳播方式。隨著2008年北京奧運會的成功舉行,人們對于體育賽事的關(guān)注程度得到了空前的提高。在各大新聞網(wǎng)站,體育賽事的點擊率遠遠高于其他板塊,NBA比賽代表了籃球運動在世界上的一流水平,四大門戶網(wǎng)站從20世紀末逐漸針對NBA賽事進行視頻直播和文字直播。但當(dāng)球迷沒有時間去看這些直播信息,或者說用戶只是想要對某一場比賽做一個大概的了解時,NBA賽事新聞就應(yīng)運而生了。NBA比賽分為季前賽、常規(guī)賽和季后賽三大部分。季前賽大約在每年10月份舉行。季前賽結(jié)束,舉行常規(guī)賽,常規(guī)賽大約在每年4月份結(jié)束,然后是季后賽,也就是NBA比賽的決賽,比賽采用主、客場制。每場比賽至少有四節(jié)組成,這四節(jié)每節(jié)都是12分鐘,如果前四節(jié)打成平局,則比賽進入加時賽,加時賽每場5分鐘,如果第一個加時賽雙方還是打成平局,則進入第二個5分鐘的加時賽,以此類推。每一節(jié)比賽都有100-200條不等的文字直播來展現(xiàn)當(dāng)時的賽況。在NBA比賽季節(jié),會有大量的賽事新聞,賽事新聞包含的信息包括總體概況、成績描述、各節(jié)動態(tài)和首發(fā)球員等。總體概況一般包括時間、比賽類型、贏隊、輸隊、比分等。成績描述的是當(dāng)場比賽成績比較優(yōu)秀的球員和其取得的優(yōu)異成績。各節(jié)動態(tài)主要是指,在每一節(jié)中,比賽的詳細狀況,例如,比分越來愈大,進行反超,比賽比較膠著兩隊交替領(lǐng)先等情況。在撰寫NBA賽事新聞時,記者或者編輯需要盯著多個電腦屏幕,搜集多方面資料,收集數(shù)據(jù)來撰寫賽事新聞,這是一項工作量巨大的工作,且靠人工搜集資料進行撰寫存在效率低下、出錯率高的缺陷。當(dāng)前亟待發(fā)明一種根據(jù)NBA文字直播的特點利用計算機自動寫作技術(shù)來自動生成NBA賽事新聞的方法,以此來減輕新聞工作者的工作負擔(dān),提高新聞工作者的工作效率。技術(shù)實現(xiàn)要素:針對上述現(xiàn)有技術(shù)中存在的問題,本發(fā)明的目的在于提供一種可避免出現(xiàn)上述技術(shù)缺陷的NBA賽事新聞的自動生成方法。為了實現(xiàn)上述發(fā)明目的,本發(fā)明提供的技術(shù)方案如下:本發(fā)明提供的NBA賽事新聞的自動生成方法,能夠生成以假亂真率高、真實率高和生動性強的NBA賽事新聞,大大減輕了新聞工作者的工作負擔(dān),提高了新聞工作者的工作效率,可以很好地滿足實際應(yīng)用的需要。附圖說明圖1為本發(fā)明的流程圖。具體實施方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,下面結(jié)合附圖和具體實施例對本發(fā)明做進一步說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。如圖1所示,本發(fā)明提供的NBA賽事新聞的自動生成方法,包括以下步驟:步驟1):解析和存儲對NBA比賽進行文字直播的網(wǎng)站的內(nèi)容,抽取比賽的基本信息;每一場NBA比賽的文字直播信息都對應(yīng)于一個網(wǎng)址,比如ID為“2014101016”,文字直播信息的網(wǎng)址是http://data.sports.sohu.com/nba/live_html/nba_live_2014101016.htm,針對NBA比賽中的每一節(jié)都會有100-200條文字直播信息,將文字直播信息中的數(shù)據(jù)分為四個屬性,分別為Time、Team、Player和Score,比如:“05:21火箭詹姆斯-哈登罰球2罰2中,得1分14-13”是一條文字直播信息,其中“05:21”代表距離本節(jié)比賽還剩余的時間,屬性為Time,“火箭”代表當(dāng)前活動的球隊,屬性為Team,“詹姆斯-哈登”表示的是球員名字,屬性為Player,后面的“14-13”代表當(dāng)前客隊與主隊的比分,屬性為Score;對于賽事新聞的總體概況,需要抽取的基本信息包括比賽類型、贏隊、輸隊、比分等信息,通過Jsoup解析工具把網(wǎng)站的內(nèi)容進行解析和存儲,通過“<h2>2016-01-3009:00:00開始比賽</h2>”這個標簽可以獲得比賽時間,通過比賽時間中的日期可以得到該場比賽的比賽類型,同理通過解析html可以得到進行比賽的兩個球隊的名稱,兩個球隊各節(jié)的比分、總的比分、該場比賽中優(yōu)秀球員的總成績和首發(fā)球員的名字;步驟2):對比賽中的一節(jié)的多條文字直播信息進行預(yù)處理,得到該節(jié)的包含得分信息的文字直播信息集合;本發(fā)明把比賽中每一節(jié)的得分信息作為主要的報道內(nèi)容,首先對沒有得分的文字直播信息進行過濾,創(chuàng)建三個文字直播信息集合OldList、NewList和ScorechaList,分別代表過濾前、過濾后的文字直播信息集合和過濾后文字直播信息得分差集合;然后,把比賽中的一節(jié)的全部文字直播信息加入到OldList這個集合中去,對于OldList中的每一條文字直播信息,如果它的Score屬性的值與上一條文字直播信息的屬性值是不同的,則將其加入到NewList集合中,否則不加入,從而得到集合NewList={w1,w2…wn},其中n代表NewList的長度,wi代表一條文字直播信息{1≤i≤n};步驟3):將該節(jié)的文字直播信息集合分為開始數(shù)據(jù)塊、中間數(shù)據(jù)塊和結(jié)束數(shù)據(jù)塊;對于一場比賽中各節(jié)的動態(tài),從賽事新聞報道的角度來看,最重要的是對比賽最精彩的地方進行報道,并且一段報道是對文字直播信息集合的數(shù)據(jù)進行的總結(jié),因此要進行數(shù)據(jù)分塊;文字直播信息集合的數(shù)據(jù)塊的種類主要分為比分持續(xù)拉大類、比分逐漸縮小類、進行反超類和比賽交替領(lǐng)先類四個類型;對于每場比賽中每一節(jié)的文字直播信息集合可以分為開始數(shù)據(jù)塊、中間數(shù)據(jù)塊和結(jié)束數(shù)據(jù)塊三個數(shù)據(jù)塊;對于一節(jié)的文字直播信息集合中的開始數(shù)據(jù)塊、中間數(shù)據(jù)塊和結(jié)束數(shù)據(jù)塊三個數(shù)據(jù)塊,要確定數(shù)據(jù)分塊的分界線并判斷每個數(shù)據(jù)塊的類型,并抽取每一個數(shù)據(jù)塊中的領(lǐng)先隊、落后隊、主要表現(xiàn)球員、表現(xiàn)優(yōu)秀的球隊打出來的成績等信息數(shù)據(jù);對NewList當(dāng)中的比分進行處理,用主隊的得分減去客隊的得分,并加入到ScorechaListt中;在選取開始數(shù)據(jù)塊時,首先取NewList的前三分之一數(shù)量的文字直播數(shù)據(jù),存在以下兩種情況:情況一,數(shù)據(jù)交替領(lǐng)先(得分差里面是正負交替)的次數(shù)大于等于3次,基本上可以認定開始數(shù)據(jù)塊屬于兩隊交替領(lǐng)先類,取index1為開始數(shù)據(jù)塊和中間數(shù)據(jù)塊的分界線;先取最后一條數(shù)據(jù)直播的符號,往上進行尋找與最后一條數(shù)據(jù)直播符號相反的第一個數(shù)據(jù)直播的點,index1的取值為剛剛得到的點增加1的值;情況二,在數(shù)據(jù)交替領(lǐng)先的次數(shù)小于3的情況下,找到差值的絕對值最大的點,如果最大的點不是NewList的第一個點,并判斷現(xiàn)在的領(lǐng)先球隊是否和NewList的第一個點的領(lǐng)先球隊是一個,如果是一個則屬于比分持續(xù)拉大類,否則屬于進行反超類,index1是絕對值差值最大的那個點,如果最大的點是NewList的第一個點,找到差值的絕對值最小的點,并判斷現(xiàn)在的領(lǐng)先球隊是否和NewList的第一個點的領(lǐng)先球隊是一個,如果是一個則屬于比分逐漸縮小類,否則屬于進行反超類,index1是差值的絕對值最小的點;這樣就得到了開始數(shù)據(jù)塊和中間數(shù)據(jù)塊之間的文字直播信息的類型和分界線;對于中間數(shù)據(jù)塊和結(jié)束數(shù)據(jù)塊的分界線index2,使用同樣的方法從index1到NewList的前三分之二數(shù)量的文字直播數(shù)據(jù)的點之間找到index2的位置;這樣,比賽中的一節(jié)的文字直播信息就成功分成了開始數(shù)據(jù)塊、中間數(shù)據(jù)塊和結(jié)束數(shù)據(jù)塊三個數(shù)據(jù)塊;步驟4):從步驟3)中所分出的每一個數(shù)據(jù)塊中抽取重要信息;對于每一個數(shù)據(jù)塊都要抽取出領(lǐng)先隊、落后隊、主要表現(xiàn)球員、表現(xiàn)優(yōu)秀的球隊打出來的得分成績等重要信息,統(tǒng)計從這個數(shù)據(jù)塊開始到這個數(shù)據(jù)塊結(jié)束時每一個隊的得分情況,得分高的為領(lǐng)先隊,低的為落后隊,統(tǒng)計出每個球隊每個球員在這個數(shù)據(jù)塊中的得分情況,得出主要表現(xiàn)球員的信息數(shù)據(jù)等;步驟5):對每一個數(shù)據(jù)塊構(gòu)建模板,并將所述基本信息和所述重要信息填入模板;對于每一個數(shù)據(jù)塊要構(gòu)建不同的模板,使用html來構(gòu)建模板,如下所示為一個比賽交替領(lǐng)先類的模板:<body><pclass=″Abstract″>次節(jié),雙方之間的爭奪變得更為激烈,兩隊也交替著領(lǐng)先。<bclass=″lingxiandui1″>湖人</b>在<bclass=″linxianduiplayer11″>科比</b>的帶領(lǐng)下取得<bclass=″zuidacha″>9</b>分的優(yōu)勢。</p></body>把步驟4)中抽取的重要信息保存成鍵值對的形式,本發(fā)明采用htmlparser這個開源工具,將解析過的html信息保存為一個樹的結(jié)構(gòu),根據(jù)重要信息來改變html中節(jié)點的值來實現(xiàn)替換,完成重要信息的填入;步驟6):重復(fù)步驟2)一步驟5),得到比賽的所有節(jié)的模板并填入每一節(jié)對應(yīng)的基本信息和重要信息,從而生成所需要的NBA賽事新聞。本發(fā)明的實驗數(shù)據(jù)來源于搜狐網(wǎng)站,利用網(wǎng)絡(luò)爬蟲從搜狐網(wǎng)站的NBA板塊爬取100篇文字直播,通過預(yù)處理、去除文檔的HTML標簽、解析標簽內(nèi)容得到基本信息并通過本發(fā)明所提出的NBA賽事新聞自動生成方法自動生成NBA賽事新聞。因為自動生成的NBA賽事新聞缺乏通用的評價標準,本發(fā)明采用人工評價的方法,請三名NBA球迷進行評價,采用三種評價標準,標準一是能否辨別是不是計算機寫的,標準二是是否符合文字直播的真實情況,標準三語言是否生動。對于同一篇自動書寫的賽事新聞稿,如果三個球迷都認為不是計算機寫的,就認為不是計算機寫的,同理后兩個標準也采用這種方法。表示方法如下所示:Accuacycomputer=C/N(1);Accuacyreal=R/N(2);Accuacylanguage=L/N(3);其中,Accuacycomputer、Accuacyreal和Accuacylanguage分別代表以假亂真率、真實率和生動率,C代表三個球迷都認為不是計算機寫的數(shù)量,R代表三個球迷都認為符合文字直播的真實情況的篇數(shù),L代表三個球迷都認為語言生動的篇數(shù)。根據(jù)本發(fā)明提出的NBA賽事新聞的自動生成方法,首先對網(wǎng)站進行爬取,利用Jsoup開源工具解析html頁面,并通過解析得到新聞稿件需要的基本信息,然后通過對文字直播進行預(yù)處理、數(shù)據(jù)分塊、抽取重要信息和構(gòu)建模板并把信息填入,進而自動生成NBA賽事新聞,例如利用本發(fā)明的方法從http://data.sports.sohu.com/nba/live_html/nba_live_2014120204.htm中自動生成了一篇NBA賽事新聞稿件,如下所示:北京時間2014年12月3日,NBA常規(guī)賽繼續(xù)進行,公牛主場以129-132不敵小牛,以下是本場比賽的綜述:全場比分如下(小牛在前):25-26、34-21、21-27、28-34、加時賽:13-13、11-8。小牛隊:蒙塔-埃利斯38分,錢德勒-帕森斯24分7籃板,德克-諾維茨基22分7籃板10助攻,替補出場的德文-哈里斯20分8助攻,替補出場的喬西-巴里亞13分。公牛隊:保羅-加索爾29分14籃板,吉米-巴特勒23分8籃板7助攻,麥克-鄧利維20分,德里克-羅斯18分10助攻,替補出場的尼古拉-米羅蒂奇15分。首節(jié)開場之后雙方殺得相當(dāng)膠著,你來我往都有得分,小牛在錢德勒-帕森斯的帶領(lǐng)下取得4分的優(yōu)勢,但是,公牛立馬回敬7-2的攻擊波取得領(lǐng)先,小牛首節(jié)25-26落后。第二節(jié),小牛轟出26-10的高潮,成功控制局面,并領(lǐng)先13分。吉米-巴特勒的跳投成功幫助公牛打破僵局,隨后保羅-加索爾、德里克-羅斯也有所表現(xiàn),小牛上半場59-47領(lǐng)先。易地再戰(zhàn),小牛多面開花領(lǐng)先對手11分,控制著場上局面。接下來,公牛打出9-4的攻擊波將比分追至74-80,前三場,公牛以74-80落后。第四節(jié),小牛多點開花獲得6分的優(yōu)勢。阿龍-布魯克斯的罰球成功幫助公??s小差距,隨后保羅-加索爾、吉米-巴特勒也紛紛建功,四節(jié)結(jié)束,雙方戰(zhàn)成108平,比賽進入加時賽。首個加時賽中,小牛憑借一波11-6攻擊波取得優(yōu)勢,并領(lǐng)先3分。喬金姆-諾阿的扣籃成功幫助公牛縮小差距,隨后德里克-羅斯也有得分入賬,首個加時賽結(jié)束,雙方戰(zhàn)成121平,比賽進入第二個加時賽。第2個加時賽,小牛在蒙塔-埃利斯的帶領(lǐng)下取得4的優(yōu)勢。但是,公牛立馬回敬8-2的攻擊波取得領(lǐng)先,最后的混戰(zhàn)過后,比賽結(jié)束,小牛以132-129擊敗公牛。雙方首發(fā)陣容:小牛:蒙塔-埃利斯、德克-諾維茨基、泰森-錢德勒、錢德勒-帕森斯、杰米爾-尼爾森。公牛:麥克-鄧利維、喬金姆-諾阿、保羅-加索爾、德里克-羅斯、吉米-巴特勒。本發(fā)明以100篇文字直播作為實驗數(shù)據(jù),分別采用以假亂真率、真實率和生動率作為評價指標得到的實驗結(jié)果如下表所示:表實驗結(jié)果表C以假亂真率R真實率L生動率篇數(shù)940.94890.89770.77從實驗結(jié)果表中可以看出,本發(fā)明提出的NBA賽事新聞的自動生成方法所生成的賽事新聞具有很高的以假亂真率,說明通過本發(fā)明自動生成的賽事新聞可以讓人認為是人寫的,具有89%的真實率,說明了本發(fā)明的有效性,77%的生動性也證明通過本發(fā)明自動生成的新聞質(zhì)量高。本發(fā)明提供的NBA賽事新聞的自動生成方法,能夠生成以假亂真率高、真實率高和生動性強的NBA賽事新聞,大大減輕了新聞工作者的工作負擔(dān),提高了新聞工作者的工作效率,可以很好地滿足實際應(yīng)用的需要。以上所述實施例僅表達了本發(fā)明的實施方式,其描述較為具體和詳細,但并不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。當(dāng)前第1頁1 2 3