<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          (十九)基于知識圖譜的問答系統(tǒng)(KBQA)

          共 1893字,需瀏覽 4分鐘

           ·

          2021-09-30 02:13


          作者簡介



          作者:孟繁中

          原文:https://zhuanlan.zhihu.com/p/339722352

          轉(zhuǎn)載者:楊夕

          面筋地址:https://github.com/km1994/NLP-Interview-Notes

          個人筆記:https://github.com/km1994/nlp_paper_study


          從本章開始介紹對話機器人的能力擴展。知識圖譜是將知識連接起來形成的一個網(wǎng)絡(luò)。由節(jié)點和邊組成,節(jié)點是實體,邊是兩個實體的關(guān)系,節(jié)點和邊都可以有屬性。知識圖譜除了可以查詢實體的屬性外,還可以很方便的從一個實體通過遍歷關(guān)系的方式找到相關(guān)的實體及屬性信息。例如:人脈路徑查詢,企業(yè)實際控制人查詢等。KBQA系統(tǒng)就是基于知識圖譜的問答系統(tǒng),給定一個用戶信息,在知識圖譜中通過推理的方式找到相關(guān)信息并回答。

          知識圖譜構(gòu)建

          構(gòu)建過程

          1、用戶定義實體類別及屬性
          用戶通過控制臺定義實體類別及描述,這個很關(guān)鍵,后續(xù)訓(xùn)練的時候會根據(jù)這些數(shù)據(jù)來從數(shù)據(jù)文件中抽取實體。還需要定義實體屬性,屬性的類型及描述,后續(xù)訓(xùn)練根據(jù)這些數(shù)據(jù)抽取屬性值。實體之間的關(guān)系自動抽取。
          2、上傳數(shù)據(jù)
          數(shù)據(jù)需要包含實體,屬性及關(guān)系信息,否則會抽取失敗。
          3、啟動信息抽取

          相關(guān)算法

          第一部分,信息抽取,涉及到的實體識別、實體鏈接、實體關(guān)系識別、概念抽取 等,需要用到許多自然語言處理的技術(shù),包括但不僅限于分詞、詞性標注、分布式語義表達、篇章潛在主題分析、同義詞構(gòu)建、語義解析、依存句法、語義角色標注、語義相似度計算等等。

          第二部分才到融合,目的是將不同數(shù)據(jù)源獲取的知識進行融合構(gòu)建數(shù)據(jù)之間的關(guān)聯(lián)。包括實體對齊、屬性對齊、沖突消解、規(guī)范化等,更多的是做一個數(shù)據(jù)的映射、實體的匹配,可能還會涉及的是本體的構(gòu)建和融合。最后融合而成的知識庫存入上一部分提到的數(shù)據(jù)庫中。

          知識圖譜問答

          使用Rasa平臺連接知識圖譜的回答,本質(zhì)上就是獲取意圖和實體信息,然后到知識庫里面去查找對應(yīng)的內(nèi)容。

          第一種辦法,rasa的意圖識別很粗獷,比如只有kbqa_intent,那么kbqa_action里面就需要根據(jù)rasa提供的實體信息來區(qū)分如何讀取知識圖譜,應(yīng)該是查詢屬性,還是查詢關(guān)系等等。Rasa論壇中,有個kbqa機器人的文章,大體也是這個思路,只是他將知識圖譜相關(guān)的意圖分為三類,實體查詢,關(guān)系查詢和屬性查詢,本質(zhì)上都是要在只是圖譜里面做細致的分類。這種方式相對于第二種方法,耦合度更低。知識圖譜的問答可以直接將用戶的問題使用圖計算的方式,從圖數(shù)據(jù)庫中檢索。所以更靈活。

          配置流程

          1. 在rasa的nlu中配置對應(yīng)的意圖,如kbqa_intent

          2. 在rasa的rule或story中,將對應(yīng)的kbqa intent轉(zhuǎn)到自定義kbqa_action

          3. 在kbqa_action調(diào)用知識圖譜的推理接口

          推理過程

          由于在rasa的pipeline里面,實體的實體和關(guān)系比較粗,只是為了給用戶的問題轉(zhuǎn)到kbqa_action,因此在kbqa_action要重新對用戶的問題做分析計算,找出答案。


          第二種方法,rasa提供的意圖很細節(jié),已經(jīng)到了知識圖譜的關(guān)系或者屬性的級別,kbqa_action只需要在kb中實體對其,然后找到匹配的關(guān)系或者屬性即可。

          配置流程

          1. 在rasa的nlu中配置對應(yīng)的意圖,如kbqa_intent

          2. 在rasa的rule或story中,將對應(yīng)的kbqa intent轉(zhuǎn)到自定義kbqa_action

          3. 在kbqa_action調(diào)用知識圖譜的推理接口

          推理過程

          在rasa的pipeline里面,已經(jīng)將實體和意圖識別出來了,因此,這里的推理算法就容易很多,主要步驟如下:
          1、實體連接
          根據(jù)kbqa_action傳過來的實體,在知識圖譜中找到對應(yīng)的實體。
          2、屬性或關(guān)系預(yù)測
          根據(jù)kbqa_action傳過來的意圖,對實體相關(guān)的屬性和關(guān)系做匹配,最終找到對應(yīng)的答案。

          例如,傳過來的實體和意圖(蘋果,顏色),那么實體連接就是“蘋果”,蘋果包含屬性有[顏色,味道,產(chǎn)地],那么經(jīng)過相似算法后會匹配到顏色這個屬性,查詢知識圖譜找到答案。

          相關(guān)算法

          實體的連接方法就是同義詞表和模糊匹配算法即可。

          關(guān)系和屬性的匹配算法,考慮到知識圖譜的訓(xùn)練數(shù)據(jù)和rasa nlu的數(shù)據(jù)可能有些不同,因此考慮語義相似度和同義詞表2種匹配。例如word2vec的余弦距離等。


          瀏覽 70
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  熟女十区 | 免费黄色一级大片 | 国产精品黄视频 | 蜜芽亚洲日韩欧美 | 国产成人摸屄操屄熟 |