深度學習在商戶掛牌語義理解的實踐
導讀:高德地圖擁有幾千萬的POI興趣點,例如大廈、底商、學校等資料,而且每天不斷有新的POI出現。為了維持POI資料的鮮度,高德會透過大量的資料採集來覆蓋和更新。現實中POI名稱複雜,多變,同時,名稱制作工藝要求嚴格,透過人工來製作POI名稱,需要花費大量的人力成本。
因此,POI名稱的自動生成就顯得格外重要,而機器對商戶掛牌的語義理解又是其中關鍵的一環。本文主要介紹相關技術方案在高德的實踐和業務效果。
一、背景
現實世界中,商戶的掛牌各式各樣,千奇百怪,如何讓機器正確的理解牌匾語義是一個難點。商戶掛牌的文字種類有很多,如下圖所示,我們可以看到一個商戶牌匾的構成。
結合POI的名稱制作工藝,我們目前將POI的牌匾的文字行分為4大類:主名稱、經營性質(包括經營範圍,具體的進行專案)、分店名、噪聲(包括非POI文字,地址,聯絡方式),前面3個類別會參與到POI名稱制作中。如上圖所示的牌匾,它輸出的規範名稱應該是“世紀宏圖不動產 (興業路店)”。其中“世紀宏圖”是主名稱,“不動產”是經營範圍,而“興業路店”是分店名。
從牌匾中找出製作名稱所需要的文字,不僅僅需要文字行自身的一些特徵,還需要透過結合牌匾上下文,以及影像的資訊進行分析。單純的文字行識別會遇到下面的問題,如下圖,在兩個牌匾中都提到了“中國電信”,但是它們的意義是不一樣的,這時必須結合上下文的理解。
二、技術方案
單純從文字的語義理解的角度出發,那麼這個應該是一個文字分類問題。但是直接的分類效果不佳。現實中在理解牌匾文字行語義的時候,需要結合圖形,位置,內容,以及上下文關係綜合來判斷。為此,我們將商戶掛牌理解的這個問題分解成兩個子問題來解決,1.如何結合影像、文字、以及空間位置;2.如何結合上下文關係。因此,我們提出了Two-Stages級聯模型。
2.1 Two-Stages 級聯模型
Two-stages級聯模型分為兩個主要的階段:第一階段提取單文字資訊特徵,包括文字位置和文字內容等,第二階段提取牌匾中文字行上下文關係特徵,消除只用單個文字識別容易造成的歧義,準確識別出該文字屬性。
2.1.1 Stage One 單文字行特徵提取
單文字行特徵可以分為詞性結構(token level)特徵和句子語義(sentence level)特徵。除此之外,位置資訊(PV)也是比較重要的資訊,需要進行特徵提取和編碼。將以上特徵進行融合,得到了單文字行特徵。
token level層的特徵提取方面,結合名稱的構成以及名稱工藝,我們定義了三種詞性: 核心詞(C)、通用詞(U)、結尾詞(T)。在這裡我們使用LSTM網路來學習名稱的詞性序列。
sentence leve層的特徵提取方面,由於我們的標註量相對比較少,採用了具有大量先驗知識的BERT模型。同時,為了更好的符合當前業務場景的需求,我們結合業務中POI的資料集合,在原來Google官方提供的預訓練模型基礎上繼續pre-training,得到新的模型BERT-POI。
預訓練的POI文字語料沒有太多的上下文環境,在構造樣本時,我們將兩個POI名稱串起來或是同一個POI隨機切分,中間都用SEP隔開,進行多工學習:缺字補全和預測兩個文字行是否屬於同一POI。經過實驗發現,在POI資料上預訓練模型BERT-POI 比Google釋出模型BERT-Google,缺字補全和同一POI判定兩項任務上名,正確率高20%左右。
此外,將預訓練的模型用於下游屬性識別任務上,BERT-POI與BERT-Google相比,提升主名稱,分店名,營業範圍的召回3%~6%。
下圖展示了我們預訓練的過程圖:
隨後,我們對預訓練好的BERT-POI在進行了finetune,提取出sentence leve層的特徵。
2.1.2 Stage-Two 文字相互關係提取
Stage One提取到了單文字行的特徵,那如何去實現上下文的關聯,我們加入了Stage Two的模組,模型結構如下:
Stage Two最主要是用BILSTM(Bidirectional LSTM)處理stage one輸出特徵,能夠將當前文字特徵和牌匾內其他文字特徵進行學習,消除歧義。
三、業務效果
牌匾透過語義理解後,會根據具體的輸出型別來制定名稱生成的策略。例如:對於單主+噪聲牌匾,我們直接將主名稱作為POI名稱,而對於單主+分店名+經營性質+噪聲的牌匾,我們會分析主名稱的結構,看是否需要拼接經營性質。
下圖展示了當前我們牌匾語義理解和名稱的部分拼接策略:
圖3.1單主+噪聲場景
圖3.2 單主+分店名場景
圖3.3單主+經營性質場景(主名稱中有經營性質)
圖3.4 單主+經營性質場景(主名稱中無經營性質)
四、小結
目前商戶牌匾語義理解模組的準確率在95%以上,在POI的名稱自動生成中起到的重要的作用。商戶牌匾的語義理解模組只是POI名稱自動化的一部分內容,在POI名稱自動化中還會涉及到噪聲牌匾過濾、牌匾是否依附建築物、敏感類別、文字的缺失、名稱生成、名稱糾錯等模組。我們會在圖文多模態這塊更深入的探索,更多地應用於我們現實場景中,生產更多、更高質量的資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69941357/viewspace-2667260/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 深度學習在小米電商業務的應用實踐深度學習
- 學術派 | 愛奇藝深度語義表示學習的探索與實踐
- 在 Google Colab 中快速實踐深度學習Go深度學習
- 深度學習在搜尋業務中的探索與實踐深度學習
- 深度學習的應用與實踐深度學習
- 達觀資料王文廣:如何玩轉自然語言理解和深度學習實踐?深度學習
- 深度學習在美團配送ETA預估中的探索與實踐深度學習
- 深度學習在美團搜尋廣告排序的應用實踐深度學習排序
- 雲上深度學習實踐分享——雲上MXNet實踐深度學習
- 八大深度學習最佳實踐深度學習
- 美團深度學習系統的工程實踐深度學習
- volatile的語義與實踐
- 深入理解深度學習深度學習
- 如何理解雅克比矩陣在深度學習中的應用?矩陣深度學習
- [深度學習]生成對抗網路的實踐例子深度學習
- 機器如何「猜你喜歡」?深度學習模型在1688的應用實踐深度學習模型
- 利用docker部署深度學習模型的一個最佳實踐Docker深度學習模型
- 基於CPU的深度學習推理部署優化實踐深度學習優化
- 讓 PM 全面理解深度學習深度學習
- 基於深度學習的影像分割在高德的實踐深度學習
- 深度學習在攜程搜尋詞義解析中的應用深度學習
- 大規模機器學習在愛奇藝視訊分析理解中的實踐機器學習
- 深度學習之PyTorch實戰(5)——對CrossEntropyLoss損失函式的理解與學習深度學習PyTorchROS函式
- 深度學習 SSD的理解和細節分析深度學習
- 手把手教你用Python實踐深度學習Python深度學習
- 網易易盾深度學習模型工程化實踐深度學習模型
- 理解Transformer [資料探勘深度學習]ORM深度學習
- 決策樹在機器學習的理論學習與實踐機器學習
- 基於深度學習的影象語義分割技術概述之背景與深度網路架構深度學習架構
- AI在汽車中的應用:實用深度學習AI深度學習
- 深度學習在高德駕車導航歷史速度預測中的探索與實踐深度學習
- 高德技術團隊:深度學習在導航速度預測中的探索與實踐深度學習
- Opencv學習筆記(3)---紙牌數字識別練習實踐專案OpenCV筆記
- LeCun:深度學習在訊號理解中的強大和侷限(視訊+PPT)LeCun深度學習
- Cordova學習--iOS自定義外掛iOS
- 【django學習-24】自定義外掛Django
- 愛奇藝深度學習雲平臺的實踐及優化深度學習優化
- 讀書筆記(四):深度學習基於Keras的Python實踐筆記深度學習KerasPython