傳遞信息,分享正能量
在這里找尋
每一個發(fā)展歷程的足跡
了解從這里開始
瀏覽【26635】 2021-08-15 18:10:00
某集團公司通過近幾年的信息化建設,已經基本完成了信息化的全業(yè)務覆蓋,初步實現了數據的集中存儲,數據存儲總量40T,數據條數增長量1494萬/月,數據存儲增長1T/月,其中有30%的數據是以文件的形式存儲。
文件作為業(yè)務活動的過程記錄和結果沉淀,對于業(yè)務流程貫通、業(yè)務知識沉淀,具有非常重要的意義。該集團公司的數據雖然已經實現集中存儲,但是數據仍然按業(yè)務條線、按系統(tǒng)方式存儲、管理、利用,且文件數據具有非結構化的特點,因此對于文件數據的利用效率很低。具體體現在:
01、集中管理后的價值充分展現,業(yè)務流轉過程中跨業(yè)務的數據獲取難。
02、缺乏對現有非結構化文件數據的管理和檢索,導致了“人找數據難”的局面。
03、雖然已經有了海量的文件數據,但這些數據并未形成知識加以沉淀。
面對目前存在的問題,通過公司領導層的協(xié)調推動,梳理了各業(yè)務部門的具體業(yè)務數據和業(yè)務需求,設計了非結構化文檔一體化管理平臺,在平臺實現過程中,通過自然語言處理、機器學習、人工智能等技術,對用戶獲取文件數據的檢索、瀏覽過程進行分析,向用戶主動推送相關內容,將“人找數據”轉化為“數據找人”。
一、業(yè)務需求和問題定義
1 相關搜索
當用戶在搜索框中輸入檢索內容時,在右側推薦與檢索內容相關的關鍵詞,并在推薦查詢欄給出相關的查詢結果。
2 相關文檔
當用戶瀏覽文檔時,根據當前文檔內容,在右側推薦內容相關的文檔。
三、搜索引擎與推薦系統(tǒng)
從信息獲取的角度來看,搜索和推薦是用戶獲取信息的兩種主要手段。
搜索是用戶主動獲取信息的行為,用戶根據將自己的訴求用詞語、短語、句子的形式表達出來,輸入到搜索引擎中獲取檢索結果,用戶通過瀏覽和點擊檢索結果來判斷訴求是否得到滿足。可以看出,在應用搜索時,用戶的需求是比較明確的。
推薦是用戶被動接收信息的行為,推薦系統(tǒng)根據收集的用戶行為特征,結合歷史積累的數據,采用某種算法得到用戶可能感興趣的信息,并發(fā)送給用戶。因此,推薦對應的是用戶模糊而不明確的需求。
目前主流的搜索引擎仍然是以文字構成查詢詞query,因為文字是描述需求最簡潔、最直接的方式,搜索引擎抓取和索引的絕大部分內容也是以文字方式組織的,在大多數搜索查詢中,用戶都是使用較短的query,一個query一般不會超過5個元素,通過搜索查詢很難描述用戶復雜的、潛在需求。
例如“公司最近下發(fā)的、與我日常工作相關的文件有哪些?”,“我正在瀏覽的文件相關的文件中,有哪些大家比較關注?”
幾乎沒有用戶愿意輸入這么多字來找結果,同時搜索引擎對語義的理解目前還無法做到足夠深入。因此,這類復雜的、潛在的需求無法通過搜索引擎得到滿意的查詢結果。所以在滿足這些需求的時候,通過推薦系統(tǒng)設置的功能(如:相關推薦、猜你喜歡、瀏覽過該信息的人還在關注),加上與用戶的交互(篩選、排序、點擊),不斷積累和挖掘用戶偏好,可以將這些難以用文字表達的需求良好的滿足起來。
在搜索引擎中加入推薦系統(tǒng),有多種方式,簡單的做法可以基于查詢query和相關query,結合歷史的query和文檔的關聯數據,使用基于規(guī)則和基于內容相結合的方法進行推薦,這種方法就可以滿足一般的需求。
三、常用的推薦方法及算法
1 基于機器學習的方法
采用特征工程,提取和衍生出推薦信息(物)的各類特征,同時也提取和衍生出推薦對象(人)的各類特征,應用機器學習算法,訓練出推薦模型。
比如要推薦書籍,對書籍本身可以按照類型分(文藝、科學、科幻、小說……),按照長短分(短篇、中篇、長篇……),按照文字圖片比分(圖為主、文字為主……)等等;而用戶按照性別、年齡、所在城市等屬性劃分。
這種方法的優(yōu)點是方案簡單穩(wěn)定,缺點是每一個新用戶/物品出現的時候都要對其進行貼標簽(tagging),然后對于新的屬性無能為力,需要人為干預改進。
2 基于內容相似的方法
基于內容相似的推薦,是根據用戶過去關注的內容(content),為用戶推薦和他過去關注的內容相似的內容。例如,一個推薦書籍的系統(tǒng)可以依據某個用戶之前喜歡很多的計算機相關的書籍而為他推薦《機器學習導論》。
基于內容相似的推薦一般包括以下三步:
(1)Content Representation
為每個content抽取出一些特征來表示此content。
(2)Profile Learning
利用一個用戶過去關注(及取消關注)的content的特征數據,來學習出此用戶的偏好特征(profile)。
(3)Recommendation Generation
通過比較上一步得到的用戶profile與候選content的特征,為此用戶推薦一組相關性最大的content。
3 基于協(xié)同過濾的方法
根據用戶對目標信息的喜好程度,找到和目標用戶相似的用戶,然后將待推薦的信息打分,打分的權重根據與目標用戶愛好類似的用戶的相關度給出,常見的做法是將用戶和信息之間的interaction做成一個矩陣,然后利用矩陣分解(SVD, LatentFactor)得出用戶的特征矩陣和信息的特征矩陣。
協(xié)同過濾現在是推薦系統(tǒng)比較主流的方法,Yahoo、豆瓣等網站就是采用這種方法。由于是基于用戶的推薦,所以對于熱門的信息,推薦效果往往比基于內容相似的方法好很多,然而如果用戶不足,或者信息很冷門,效果就不太好,也就是說對新加入或小眾的信息和用戶不能很好的處理。
四、技術實現
考慮到本系統(tǒng)應用于集團企業(yè)內部,使用的用戶數有限,不適宜采用基于用戶相似的協(xié)同過濾。因此在技術實現上,以基于內容相似的推薦方法為主要框架,結合bert語義表達、文本相似算法、余弦夾角算法,實現相關搜索詞、相關文檔推薦等功能。
1 相關搜索詞推薦
整體框架是構建相關搜索詞模型,計算歷史搜索詞之間的相關性,并將搜索詞與最相關的N個詞存入ES的相關詞索引中,當用戶發(fā)起檢索時,從相關詞索引中找到對應的相關詞展示出來。
(1)相關搜索詞的生成
相關搜索詞模型每日定時運行,計算當天新產生的搜索詞,并更新最近M條搜索詞的相關詞,計算結果保存在相關詞索引中。
(2)相關搜索詞的實時展現
當用戶發(fā)起搜索query時,從相關詞索引中得到與query最相似的詞query*,將query*的相關詞返回展現在頁面上。
(3)詞典維護
項目需要維護停用詞典、自定義詞典,用以優(yōu)化相關詞推薦的效果。
停用詞典可以過濾掉推薦結果中需要屏蔽的詞。
自定義詞典示例:將“大數據建模”放入自定義詞典中,當用戶檢索“如何進行大數據建?!睍r,會將大數據建模這個自定義的關鍵詞增加到推薦結果中。
2 相關搜索結果推薦
將用戶檢索詞的相關搜索詞放入文檔索引中進行檢索,從檢索結果排除掉當前頁面展示的內容后,展現在相關搜索結果中。
3 相關文檔推薦
對于每一篇文檔,通過文檔向量模型生成文檔對應的向量,并將向量作為附加內容與文檔一一起存到搜索引擎中,定期計算文檔之間的相似度,將最相似的N個文檔作為相關文檔存到搜索引擎中,當用戶瀏覽特定文檔時,將該文檔的相關文檔列表展示出來。
(1)文檔向量生成
每次新增文檔時,調用文檔向量模型,獲取每篇文檔的向量,將文檔及文檔向量保存在搜引擎中。
(2)相關文檔計算
每天定時當天新增的每一篇文檔執(zhí)行如下操作:
a.在搜索引擎中搜索該文檔title,獲取前N條得分最高的搜索結果
b.將該文檔和搜索得到的N個文檔放入相關文檔模型中,計算語義相似度和字面相似度,并進行加權得到最終相似度矩陣,將前十個最相關的文檔保存到搜索引擎中。
(3)同義詞典
項目需要維護領域同義詞典,該詞典內的詞在進行相似度計算時起到權重加大的作用,詞典的結構為[["x1","x2"],"x3",["x4","x5"]...],如果元素為列表,表示列表內的元素是同義詞。
五、總結
隨著集團級企業(yè)的數據沉淀越來越多,高效、可靠的數據檢索可以大幅度提升數據的利用效率?;谝陨霞夹g方案,在構建非結構化文檔一體化管理平臺的基礎上,實現了用戶檢索時的智能搜索和主動推薦,為公司各級用戶提供業(yè)務化、融合化、智能化、主動化、個性化的非結構化數據信息資源入口,提高了非結構化數據管理和應用效率,同時提升了業(yè)務人員在獲取非結構化文件數據時的體驗,更好的發(fā)揮數據價值。
美林數據多年來已經為高端制造、能源、金融、教育、政務等多個行業(yè)的上千家大型企業(yè)提供數據治理、數據分析與挖掘等數字化技術服務,持續(xù)幫助企業(yè)發(fā)現數據價值。在數字經濟爆發(fā)性增長的當下,美林數據將繼續(xù)發(fā)揮技術優(yōu)勢與產品優(yōu)勢,加快大數據、人工智能與實體產業(yè)的深度融合,進一步推動數據產業(yè)發(fā)展,助力企業(yè)實現數字化轉型。