<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>

          (十三)RASA 訓(xùn)練數(shù)據(jù)

          共 3657字,需瀏覽 8分鐘

           ·

          2021-09-16 10:07


          作者簡(jiǎn)介




          作者:孟繁中

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

          轉(zhuǎn)載者:楊夕

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

          個(gè)人筆記:https://github.com/km1994/nlp_paper_study



          假如一個(gè)機(jī)器人可以和人對(duì)話,機(jī)器人說什么是最簡(jiǎn)單的,頂多人工編寫幾種回答模板即可(NLG除外)。但是要讓機(jī)器人理解人的意圖,卻是非常困難,因?yàn)槿说恼Z言有各種各樣,多義詞,雙關(guān),長句短句等,因此需要些特別多的數(shù)據(jù),也就是模擬人的問法,這部分內(nèi)容在Rasa里面稱為訓(xùn)練數(shù)據(jù)。放在nlu中。從用戶問,關(guān)聯(lián)到機(jī)器人答的這個(gè)流程控制,rasa中有stories和rules兩個(gè)配置來完成。

          Rasa使用YAML作為一種統(tǒng)一和可擴(kuò)展的方式來管理所有的訓(xùn)練數(shù)據(jù),包括NLU數(shù)據(jù)、故事和規(guī)則。可以將訓(xùn)練數(shù)據(jù)拆分為任意數(shù)量的YAML文件,每個(gè)文件可以包含NLU數(shù)據(jù)、故事和規(guī)則的任意組合。訓(xùn)練數(shù)據(jù)解析器使用最上層的key確定訓(xùn)練數(shù)據(jù)類型。

          High-level結(jié)構(gòu)

          每個(gè)文件可以包含一個(gè)或多個(gè)key以及相應(yīng)的訓(xùn)練數(shù)據(jù)。一個(gè)文件可以包含多個(gè)key,但每個(gè)key在一個(gè)文件中只能出現(xiàn)一次。可用key包括:

          • 版本

          • nlu

          • 故事

          • 規(guī)則

          您應(yīng)該在所有YAML培訓(xùn)數(shù)據(jù)文件中指定版本key。如果未在培訓(xùn)數(shù)據(jù)文件中指定版本key,Rasa將假定您使用的是已安裝的Rasa開源版本支持的最新培訓(xùn)數(shù)據(jù)格式規(guī)范。將跳過Rasa開放源代碼版本高于您在計(jì)算機(jī)上安裝的版本的培訓(xùn)數(shù)據(jù)文件。目前,rasa2.x的最新培訓(xùn)數(shù)據(jù)格式規(guī)范是2.0。

          下面是一個(gè)范例

          version: "2.0"

          nlu:
          - intent: greet
          examples: |
          - Hey
          - Hi
          - hey there [Sara](name)

          - intent: faq/language
          examples: |
          - What language do you speak?
          - Do you only handle english?

          stories:
          - story: greet and faq
          steps:
          - intent: greet
          - action: utter_greet
          - intent: faq
          - action: utter_faq

          rules:
          - rule: Greet user
          steps:
          - intent: greet
          - action: utter_greet

          要指定測(cè)試故事,需要將它們放入一個(gè)單獨(dú)的文件中,并使用前綴test_:

          tests/test_stories.yml
          stories:
          - story: greet and ask language
          - steps:
          - user: |
          hey
          intent: greet
          - action: utter_greet
          - user: |
          what language do you speak
          intent: faq/language
          - action: utter_faq

          NLU訓(xùn)練數(shù)據(jù)格式

          NLU訓(xùn)練數(shù)據(jù)由按意圖分類的示例用戶對(duì)話組成。培訓(xùn)示例還可以包括實(shí)體。您還可以向訓(xùn)練數(shù)據(jù)中添加額外的信息,如正則表達(dá)式和查找表,以幫助模型正確識(shí)別意圖和實(shí)體。NLU訓(xùn)練數(shù)據(jù)在NLU鍵下定義??梢栽诖隧?xiàng)下添加的項(xiàng)包括:

          1. 按用戶意圖分組的培訓(xùn)示例

          例如可選地使用帶注釋的實(shí)體

          nlu:
          - intent: check_balance
          examples: |
          - What's my [credit](account) balance?
          - What's the balance on my [credit card account]{"entity":"account","value":"credit"}

          實(shí)體格式是這樣的

          [<entity-text>]{"entity": "<entity name>", "role": "<role name>",
          "group": "<group name>", "value": "<entity synonym>"}

          關(guān)鍵字role、group和value在此表示法中是可選的。role和group字段是為實(shí)體增加屬性,用于區(qū)分同類實(shí)體,例如出發(fā)地和目的地2個(gè)地名等。值字段引用同義詞。

          role和group可以影響對(duì)話流程,例如,如果用戶剛從倫敦來,你可能想問一下倫敦之行怎么樣。但是如果用戶在去馬德里的路上,您可能會(huì)希望用戶在這里過得愉快。您可以通過以下兩個(gè)故事來實(shí)現(xiàn):

          stories:
          - story: The user just arrived from another city.
          steps:
          - intent: greet
          - action: utter_greet
          - intent: inform_location
          entities:
          - city: London
          role: from
          - action: utter_ask_about_trip

          - story: The user is going to another city.
          steps:
          - intent: greet
          - action: utter_greet
          - intent: inform_location
          entities:
          - city: Madrid
          role: to
          - action: utter_wish_pleasant_stay


          2、同義詞

          同義詞將提取的實(shí)體映射到提取的文本之外的值。當(dāng)用戶有多種方式引用同一事物時(shí),可以使用同義詞??紤]提取實(shí)體的最終目標(biāo),并從中找出哪些值應(yīng)該被視為等價(jià)的。假設(shè)您有一個(gè)實(shí)體帳戶,您使用它來查找用戶的余額。其中一種可能的賬戶類型是“信用”。您的用戶還將他們的“信用”帳戶稱為“信用帳戶”和“信用卡帳戶”。在這種情況下,您可以將“信用卡賬戶”和“信用賬戶”定義為“信用”的同義詞。

          nlu:
          - synonym: credit
          examples: |
          - credit card account
          - credit account

          3、正則表達(dá)式

          當(dāng)使用regexfeatureizer時(shí),regex不作為意向分類的規(guī)則。它只為意圖分類器提供一個(gè)Feature,目前,所有意向分類器都使用可以用regex提供的feature。

          account_number是一個(gè)可讀的描述。它可以幫助您記住regex的用途,它不必匹配任何意圖或?qū)嶓w名稱。

          nlu:
          - regex: account_number
          examples: |
          - \d{10,12}

          當(dāng)使用RegexEntityExtractor時(shí),正則表達(dá)式的名稱應(yīng)與要提取的實(shí)體的名稱匹配。例如,您可以通過在培訓(xùn)數(shù)據(jù)中包含此正則表達(dá)式和至少兩個(gè)帶注釋的示例來提取10-12位數(shù)的帳號(hào):

           nlu:
          - regex: account_number
          examples: |
          - \d{10,12}
          - intent: inform
          examples: |
          - my account number is [1234567891](account_number)
          - This is my account number [1234567891](account_number)

          每當(dāng)用戶消息包含10-12位數(shù)字的序列時(shí),它將被提取為帳號(hào)實(shí)體。RegexEntityExtractor不需要訓(xùn)練示例來學(xué)習(xí)如何提取實(shí)體,但是至少需要兩個(gè)實(shí)體的注釋示例,這樣NLU模型就可以在訓(xùn)練時(shí)將其注冊(cè)為實(shí)體。

          4、查找表

          查找表用于生成不區(qū)分大小寫的正則表達(dá)式列表。它們可以與使用正則表達(dá)式的方式相同,與管道中的regexfeatureizer和RegexEntityExtractor組件結(jié)合使用。可以使用查找表來幫助提取具有已知可能值集的實(shí)體。保持你的查找表盡可能具體。例如,要提取國家名稱,可以添加世界上所有國家的查找表。

          nlu:
          - lookup: banks
          examples: |
          - JPMC
          - Comerica
          - Bank of America


          瀏覽 103
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  欧美亲子乱婬性 | 日本一区三区祀频在线观看 | 日韩黄色无码视频 | 婷婷成人娱乐网 | 亚洲一区二区三区导航 |