□李海彬
電視時政新聞的采訪對象主要是國內外的一些時政名人,為他們出字幕人名條是字幕員的日常工作之一。這個工作看似簡單,然而卻是最容易犯錯誤的地方,特別在大型會議的電視直播過程中,由于值班時間長、制作任務重等客觀原因,加上心情緊張等主觀因素,會增加人名字幕出錯的概率,從而造成播出安全事故。
如何將此類錯誤發生的概率降低呢?我們認為應該通過技術的手段去解決,而不僅僅只通過人工校對審核的方式,在本文中將介紹自主研發的一個時政名人姓名檢測系統。
我臺新聞頻道在某次電視直播中,將某位領導的字幕人名條錯打為某明星的名字,結果造成了播出事故。事后經分析發現,前線記者在文稿系統中錄入稿件時使用的是拼音輸入法,由于兩個名字的拼音相近而造成原稿存在錯誤,而字幕員將文稿串編單里的新聞標題復制到字幕機軟件制作人名條時,因為檢查上的疏忽而造成了本次事故。
這個教訓是深刻的,為了在今后的工作中減少此類事件的發生,頻道領導認為需要建立時政名人姓名檢測系統,并根據字幕員的工作習慣,要求將此功能集成到新聞文稿系統中。
初步的思路是建立一個時政人名庫,將國家和省內主要領導的名字,以及一些外國國家首腦的中文譯名錄入庫中,檢錯系統以此為標準進行字符串匹配,將打錯的名字標注出來。
假設某位時政名人的名字為“張小軍”,當天有一條關于他的新聞如“張小軍到北海調研”,結果名字中“軍”錯打成“君”,此時系統可以用彩色字體明顯地標注出錯之處,如“張小君(紅字顯示)到北海調研”。
檢錯算法的原理是將人名庫里的名字與新聞標題里的內容進行逐字匹配,從而找出可能錯誤的名字,如果要完成如上的檢測,算法的一般流程如下:
1.將姓名逐字分拆為“張”“小”“軍”三個字;
2.先查找“張”字的位置,在找到后檢測其后的字符是否為“小”及“軍”,從而找到錯誤的位置;
3.如果“張”字沒有找到,就從“小”字開始查找,找到后檢測其后字符是否為“軍”字,如果姓氏出錯了,則報錯。
在姓名由3個文字組成的情況下,這種算法可以檢測出1個文字的錯誤,如“章小軍”“張曉軍”等,而如果出現2個以上的文字錯誤就無法判斷對錯了。對于因拼音輸入法的問題造成兩個名字的中文漢字完全不同時,根本就沒有辦法檢錯。
另外,這種算法存在一個重要的漏洞,即當新聞標題中未包含人名時,則檢測的結果也可能會出錯。例如新聞標題“我區邊防某部隊參加國慶60周年大閱兵”,標題中并未包含人名,但假如人名庫中存在“李國慶”這樣的名字,此時就會產生錯誤的檢測了。人名庫記錄的人名數量越多,檢測錯誤的概率就會越高。
因此,在現有的技術條件下,要完成上面所說的姓名檢錯基本不可能。
既然無法完成“姓名檢錯”,那就做一個“姓名檢對”功能,即通過人名庫里的名字,與新聞標題進行字符串匹配,如果匹配成功則表示名字錄入正確,將正確的名字采用不同的顏色標注出來,使字幕員可以一眼分辨出錯對。
假設人名庫中記錄了這些名字:張福明、劉正軍、馬峰、何洪海。將這些名字與某天的新聞串編單標題進行逐一匹配,其結果應該如表1所示。

表1 新聞串編單
其中第1~3條匹配成功了;第4條將“何洪海”打錯成了“何紅海”,匹配失敗;第5~6條新聞標題中沒有人名庫中的名字,匹配失敗。
實現這種檢測的軟件算法就簡單多了:將人名庫中的名字分別與新聞串編單的新聞標題逐一進行匹配,假設人名庫中的人名數量為N,新聞條目為M,需要進行N×M次檢測即可得到全部檢測結果。

圖1 人名檢測算法
那這種算法的實際檢測速度如何呢?該系統預計人名庫的人名數量小于200,新聞串編單條目小于100,新聞標題的平均字符數小于100字節。則最多需要檢測200×100=20000次,遍歷字符串總長度為2MB字節,經測試其運算所需時間非常少,可以忽略不計。
在文稿數據庫中增加一個數據表,表名為leader,字段如下:Names nchar(20):存儲姓名
BkText ntext:存儲備注信息
增加人名庫編輯模塊,用于動態更新信息,如圖2。

圖2 人名庫編輯管理模塊
在完成檢測后,如何將錄入正確的人名區分出來呢?這里采用HTML網頁封裝方式。即將檢測結果輸出為HTML文件,對于匹配成功的名字使用紅色字顯示,而其他內容使用黑色字顯示。
HTML又稱為超文本標記語言,其結構包括“頭”部分和“主體”部分,通過標記符號來標記要顯示的網頁中的各個部分,其源程序為文本文件,不需要編譯執行,瀏覽器按順序閱讀HTML文件內容,然后根據標記符解釋和顯示其標記的內容。

圖3 《廣西新聞》串編單模塊
由于涉及HTML結構的輸出,因此在算法步驟上做了一些改動,首先是將串編單里的全部新聞標題進行HTML結構封裝,合成為一個長的字符串,之后再進行人名匹配和標注。在文稿串編單模塊增加一個功能按鈕,如圖3。
點擊“人名檢測”功能按鈕,檢測功能將按以下步驟工作:
1.在內存中創建一個最基本的HTML文件頭部結構和表格結構:
| 標簽封裝為1行2列的表格: |
4.循環調取人名庫的每個名字,分別與內存中的HTML格式字符串進行匹配;
5.將匹配成功的名字進行字符串替換,加上字體顏色標簽:如“張福明”替換為“”;
6.將內存中的HTML格式字符串輸出到文件,通過瀏覽器控件顯示。
執行檢測的結果如圖4。從圖中可以看到,第3、4、9、10、11條新聞標題中,成功檢測出人名庫里記錄的名字,并使用紅色字做了標注;而第16條新聞標題中雖然也出現了一個人名“唐宇濤”,但由于這個名字沒有錄入到人名庫中,因此沒有標注出來。

圖4 人名檢測結果
通過圖4的檢測結果,字幕員很容易區分哪些新聞標題中時政名人的姓名是正確的,對于沒有提示的新聞標題,重點進行檢查即可。在確認無誤后,即可直接將網頁里的新聞標題復制到字幕軟件中進行制作。
檢測系統雖然無法從根本上解決字幕人名條中錯打時政名人名字的問題,但通過對匹配成功的人名進行標注提示,提高了字幕員人工校對的效率,也大大降低了字幕出錯的概率。檢測系統在2017年10月初建成并投入使用,為2017年十九大、2018年廣西“兩會”和全國“兩會”等重要保障期的新聞安全播出做出了貢獻。