精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

自然語言任務方案思考:句子相似度和匹配

深度學習自然語言處理 ? 來源:深度學習自然語言處理 ? 作者:CS的陋室 ? 2021-01-13 09:33 ? 次閱讀

0 小系列初衷

自己接觸的項目大都是初創,沒開始多久的項目,從0到1的不少,2020年快結束,感覺這個具有一定個人特色的技術經驗可以在和大家分享一下。

計劃篇章:

(已完成)文本分類篇。針對NLP文本分類任務。

(已完成)序列標注(NER)篇。針對命名實體識別、序列標注任務。

文本匹配篇。針對語義相似度計算、向量匹配等問題。

人工特征學習篇。針對多特征的機器、深度學習方案。

開始我把這個標題叫做語義匹配,后來感覺還是不能叫這個名字,應該把問題放大為句子相似度和匹配問題。

1 語義匹配的場景

語義匹配的核心其實是評價兩個query之間的相似度,可以看看現在常用的場景:

搜索領域,語義向量召回是一個比較新潮的召回方式,靈活性更高,下游的精排部分也可以通過語義相似度來進行排序。

智能客服,之前的阿里小蜜的文章也提過,對于長尾的結果,可以通過向量召回的方式來進行處理。

對話領域,可以說是智能客服的眼神,閑聊類的,可以通過語義匹配完成閑聊的回復,當然多輪也有多輪的玩法。

可以看到,各種領域,其實語義匹配的舞臺非常大,了解這方面的方案對NLP技術棧的了解非常有用。

2 方法選型

2.1 文本層面的相似

最簡單的方法往往就是最淺層的方案,所以還是文本層面的相似,方法逐步升級是這樣的:

編輯距離,這應該是最嚴格的一種相似了。

cqr,分子是句子1和句子2詞匯的交集詞匯量,分母是句子1和句子2的并集詞匯量。

加權的cqr,可以做一個簡單的詞權重,然后做加權的cqr。

BM25。傳統搜索的常用方法。

文本層面的方法,在搜索領域已經非常成熟,BM25已經具有很高的準度,結合上游常用的一些改寫,其實已經能夠達到很好的效果,這也是經典搜索最常用的一套范式。

2.2 向量表征作召回

向量召回是當前比較流行的一種新的搜索技術,這里以來兩個關鍵技術點,向量索引和句子表征技術。

向量索引的是指就是一種向量最近鄰的搜索方案,最常用的場景就是KNN,而在我們的場景中,就是把句子表征成一個向量,構建索引,新來一個句子,用同樣的放哪個還是構建一個向量,就可以完成相似度召回,常用的構建索引方式推薦兩種,這兩種都已經有開源工具支持。

annoy,一種基于樹的構造方法。

hnsw,一種基于圖的構造方法,這應該是目前我已知速度最快的方法了。

說完了向量索引,就要說向量表征了,只有足夠好的向量表征,上面說的向量召回,召回的東西才會足夠好,為什么我說好呢,就是因為這里涉及的好的維度多:

準確率足夠高,召回的內容真的是和句子足夠接近。

有比較強的泛化能力,這也是語義向量召回相比傳統搜索的相似召回最突出的優勢,只要語義足夠接近,“查詢”和“查看”就可能匹配到,“冪冪”和“楊冪”也能打中,這樣能降低我們挖掘數據帶來的成本。

好的相似度匹配能識別關鍵詞,只需要模型端到端處理,不需要單獨抽關鍵詞。

那么,這個語義表征,一般都是什么方法呢,這里也是提幾個:

word2vector預訓練。如果語料不足甚至沒有語料,我們其實可以用開源的預訓練好的w2v詞向量作為基線,取均值就能拿到句向量。

如果有一些平行樣本,可以開始考慮用一些平行預料(sentence1,setence2,label)進行finetuning,說白了就是兩個向量分別去詞向量后均值,最終用余弦或者歐氏距離計算相似度就行。

數據量足夠后,就可以開始在上面搭積木了,CNN、LSTM之類的都可以嘗試,當然經驗之談,self-attention可以嘗試。

數據量再多點,我們就可以上bert之類的大家伙了。

現在的語義相似度,更多是通過優化交互特征來提升相似度計算的效果,但是在向量召回這里,由于目前只能支持簡單的相似度召回,兩個query只有在計算相似度的最后一步才能夠見面,因此query之間的交互特征是無法提取的,所以很多現在流行的方法是用不了的。

2.3 語義相似度

如果語義相似度要被用在后續的精排,無論是搜索、對話甚至是推薦,在經歷初篩之后,我們往往有更多時間和經歷來比對剩余的結果和用戶query之間的相似程度,此時我們就可以使用交互特征逐一匹配,完成最后的精排,這些方案往往在大量比賽中就有提到,以DSSM為基,升級很多方案,包括很多人知道的EISM等,當然比賽的經驗也告訴我們,模型本身還可以加入更多的文本特征來協助衡量語義相似度,因此在用語義相似度模型的同時,可以加入一些人工特征來協助優化,這也是推薦系統的wide&deep中所提到的深淺層特征均用的思想。

這里給一篇螞蟻金服比賽的文章吧,大家可以根據這個思路去參考優化:https://blog.csdn.net/u014732537/article/details/81038260

3 優化手段

當然,上面的方式是讓大家用最快的速度去完成一個demo或者說baseline,然后我們需要一系列的手段進行優化,在這里也給大家介紹一些有用的方案。

如果你的場景里需要一些英文,可以加入一些英文文本去finetuning,開放域的。

針對問答場景,由于用戶的問題都有明顯意圖,因此做一些詞權重、attention的操作有利于效果提升,包括提槽,當然在淺層模型的情況下,詞的歸一化也有好處。

通過傳統的搜索,用ES召回之類而方式,可以召回很多文本接近但是語義遙遠的case,通過人工標注的樣本對效果的提升很有好處。

同樣是hard case挖掘,用自己的語義模型做召回,召回在閾值附近的case,做一下人工的復核,這樣做樣本也對效果提升有好處,這其實用的是主動學習的思想。

4 小結

做完搜索,后來又開始做向量表征和召回,感覺就很奇妙,能夠理解傳統搜索和相對新潮的向量表征召回之間的關系,這兩者之間的關系還是挺微妙地,互相借鑒的過程中能夠產生一些火花,例如向量檢索之前可以召回一些相似的、標準的query然后來檢索,這樣能大幅提升準確率,也一定程度降低了對模型深度的要求。(隱約感覺是時候寫一篇有關模型和規則特征之間關系的文章了?)

責任編輯:xj

原文標題:任務方案思考:句子相似度和匹配

文章出處:【微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 語義
    +關注

    關注

    0

    文章

    21

    瀏覽量

    8658
  • 自然語言處理

    關注

    1

    文章

    612

    瀏覽量

    13504

原文標題:任務方案思考:句子相似度和匹配

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    ASR與自然語言處理的結合

    ASR(Automatic Speech Recognition,自動語音識別)與自然語言處理(NLP)是人工智能領域的兩個重要分支,它們在許多應用中緊密結合,共同構成了自然語言理解和生成的技術體系
    的頭像 發表于 11-18 15:19 ?304次閱讀

    自然語言處理與機器學習的區別

    在人工智能的快速發展中,自然語言處理(NLP)和機器學習(ML)成為了兩個核心的研究領域。它們都致力于解決復雜的問題,但側重點和應用場景有所不同。 1. 自然語言處理(NLP) 定義: 自然語言處理
    的頭像 發表于 11-11 10:35 ?358次閱讀

    使用LLM進行自然語言處理的優缺點

    語言任務,如文本分類、情感分析、機器翻譯等。以下是使用LLM進行NLP的一些優缺點: 優點 強大的語言理解能力 : LLM通過訓練學習了大量的語言模式和結構,能夠理解和生成
    的頭像 發表于 11-08 09:27 ?280次閱讀

    nlp自然語言處理基本概念及關鍵技術

    、問答系統、文本摘要等眾多領域有著廣泛的應用。 1. NLP的基本概念 1.1 語言模型 語言模型是NLP的基礎,它用于描述一個句子自然語言中出現的概率。
    的頭像 發表于 07-09 10:32 ?516次閱讀

    nlp自然語言處理的主要任務及技術方法

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能和語言學領域的一個分支,它研究如何讓計算機能夠理解、生成和處理人類語言。NLP技術在許多領域都有廣泛
    的頭像 發表于 07-09 10:26 ?870次閱讀

    自然語言處理技術有哪些

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領域的一個分支,它致力于使計算機能夠理解、解釋和生成人類語言自然語言處理技術的發展已經取得了顯著的進展
    的頭像 發表于 07-03 14:30 ?958次閱讀

    自然語言處理模式的優點

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領域的一個重要分支,它致力于使計算機能夠理解、生成和處理人類語言。隨著技術的發展,自然語言處理在各個領域
    的頭像 發表于 07-03 14:24 ?657次閱讀

    自然語言處理技術的核心是什么

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領域的一個重要分支,其核心目標是使計算機能夠理解、生成和處理人類語言。NLP技術的發展已經取得了顯著的進展
    的頭像 發表于 07-03 14:20 ?588次閱讀

    自然語言處理是什么技術的一種應用

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能和語言學領域的一個分支,它涉及到使用計算機技術來處理、分析和生成自然語言文本。自然語言處理技
    的頭像 發表于 07-03 14:18 ?618次閱讀

    自然語言處理包括哪些內容

    自然語言處理(Natural Language Processing,簡稱NLP)是人工智能領域的一個重要分支,它涉及到計算機與人類語言之間的交互。NLP的目標是讓計算機能夠理解、生成和處理人類語言
    的頭像 發表于 07-03 14:15 ?734次閱讀

    自然語言列舉法描述法各自的特點

    自然語言文本。在自然語言處理中,列舉法和描述法是兩種常見的方法。 列舉法 列舉法是一種基于規則的方法,它通過列舉所有可能的情況來解決問題。在自然語言處理中,列舉法通常用于詞性標注、命名實體識別、句法分析等
    的頭像 發表于 07-03 14:13 ?969次閱讀

    什么是自然語言處理 (NLP)

    自然語言處理(Natural Language Processing, NLP)是人工智能領域中的一個重要分支,它專注于構建能夠理解和生成人類語言的計算機系統。NLP的目標是使計算機能夠像人類一樣
    的頭像 發表于 07-02 18:16 ?1050次閱讀

    自然語言處理技術的原理的應用

    自然語言處理(Natural Language Processing, NLP)作為人工智能(AI)領域的一個重要分支,旨在使計算機能夠理解和處理人類自然語言。隨著互聯網的普及和大數據技術的發展
    的頭像 發表于 07-02 12:50 ?452次閱讀

    神經網絡在自然語言處理中的應用

    自然語言處理(NLP)是人工智能領域中的一個重要分支,它研究的是如何使計算機能夠理解和生成人類自然語言。隨著人工智能技術的飛速發展,神經網絡在自然語言處理中的應用逐漸展現出其強大的潛力和優勢。本文
    的頭像 發表于 07-01 14:09 ?432次閱讀

    一種基于自然語言的軌跡修正方法

    本研究提出了ExTraCT框架,利用自然語言進行軌跡校正。該框架結合了大型語言模型(LLMs)用于自然語言理解和軌跡變形函數。ExTraCT能夠根據場景在線生成軌跡修改特征及其自然語言
    的頭像 發表于 01-19 10:45 ?414次閱讀
    一種基于<b class='flag-5'>自然語言</b>的軌跡修正方法