日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bert关键词提取_BERT可以上几年级了?Seq2Seq“硬刚”小学数学应用题

發布時間:2025/3/12 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bert关键词提取_BERT可以上几年级了?Seq2Seq“硬刚”小学数学应用题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

作者 | 蘇劍林

單位 | 追一科技

研究方向 | NLP、神經網絡

“雞兔同籠”的那些年

“盈虧問題”、“年齡問題”、“植樹問題”、“牛吃草問題”、“利潤問題”...,小學階段你是否曾被各種花樣的數學應用題折磨過呢?沒關系,現在機器學習模型也可以幫助我們去解答應用題了,來看看它可以上幾年級了?

本文將給出一個求解小學數學應用題(Math Word Problem)的baseline,基于ape210k數據集訓練,直接用Seq2Seq模型生成可執行的數學表達式,最終Large版本的模型能達到**73%+**的準確率,高于ape210k論文所報告的結果。所謂“硬剛”,指的是沒有對表達式做特別的轉換,也沒有通過模板處理,就直接生成跟人類做法相近的可讀表達式。

數據處理

這里我們先觀察一下ape210k數據集的情況:

{"id": "254761","segmented_text": "小 王 要 將 150 千 克 含 藥 量 20% 的 農 藥 稀 釋 成 含 藥 量 5% 的 藥 水 . 需 要 加 水 多 少 千 克 ?","original_text": "小王要將150千克含藥量20%的農藥稀釋成含藥量5%的藥水.需要加水多少千克?","ans": "450","equation": "x=150*20%/5%-150" }{"id": "325488","segmented_text": "一 個 圓 形 花 壇 的 半 徑 是 4 米 , 現 在 要 擴 建 花 壇 , 將 半 徑 增 加 1 米 , 這 時 花 壇 的 占 地 面 積 增 加 了 多 少 米 * * 2 .","original_text": "一個圓形花壇的半徑是4米,現在要擴建花壇,將半徑增加1米,這時花壇的占地面積增加了多少米**2.","ans": "28.26","equation": "x=(3.14*(4+1)**2)-(3.14*4**2)" }

可以看到,我們主要關心的是original_text、equation、ans字段,其中original_text就是題目,equation則是運算過程(一般以x=開頭),而ans是最終答案。我們希望訓練一個模型,由original_text來生成equation,然后經由python的eval函數直接得到ans。

不過,我們需要做一些前處理,因為ape210k給出的equation并不是都可以直接eval的,像上面的例子150*20%/5%-150對python來說就是一個非法表達式。筆者所做的處理如下:

  • 對于a%這樣的百分數,統一替換為(a/100);
  • 對于a(b/c)這樣的帶分數,統一替換為(a+b/c);
  • 對于(a/b)這樣的真分數,在題目中去掉括號變為a/b;
  • 對于比例的冒號:,統一替換為/。
  • 經過這樣處理后,大部分equation都可以直接eval了,并且可以與ans進行答案對比,只保留結果一致的題目。不過,還有一點改進的地方,就是這樣得到的表達式可能會帶有一些冗余的括號(也就是去掉括號后與原來的等價),因此還要加上一步去括號,即遍歷每一組括號,如果去掉該組括號結果與原來的等價,那么就去掉該組括號,這樣可以得到平均長度更短的表達式,而長度越短越容易生成。

    最終,我們得到了如下可用的數據集:

    剩下的基本上是一些錯題、亂題了,暫時忽略。

    模型簡介

    模型其實是最沒什么好講的,就是以original_text為輸入、equation為輸出,以“BERT+UniLM”為基礎架構,訓練一個Seq2Seq模型。如果對模型還有什么疑惑的地方,請閱讀從語言模型到Seq2Seq:Transformer如戲,全靠Mask。

    項目鏈接: http://github.com/bojone/ape210k_baseline

    筆者的訓練是用22G的單卡TITAN RTX跑的,優化器是Adam,學習率是2e-5。Base版本的用了batch_size=32,大概需要訓練25個epoch,每個epoch約50分鐘(算上驗證集的評測時間);而large版本則是batch_size=16,大概需要訓練15個epoch,每個epoch約2小時(算上驗證集的評測時間)。

    對了,說到Large,由于UniLM借用了MLM部分權重,所以我們不能用哈工大開源的RoBERTa-wwm-ext-large,因為這個版本的MLM權重是隨機初始化的(但它的Base版本是正常的,可以用)。Large版本推薦用騰訊UER開源的權重,原本是PyTorch版的,筆者將它轉換為TF版了,可以通過下方鏈接下載。

    網盤鏈接: https://pan.baidu.com/s/1Xp_ttsxwLMFDiTPqmRABhg

    提取碼: l0k6

    效果如下表:

    Large模型的結果已經比ape210k的論文 Ape210K: A Large-Scale and Template-Rich Dataset of Math Word Problems 所報告的70.20%要明顯高了,因此說明我們這里的模型是一個不算太差的baseline。

    感覺如果用一些Seq2Seq的技巧來緩解一下Exposure Bias問題(參考Seq2Seq中Exposure Bias現象的淺析與對策),模型還能有進一步提升;還有或許可以引入copy機制,增強輸出與輸入數字的一致性;還有可以想辦法進一步縮短序列長度(比如四個字符的3.14替換為兩個字母pi)。這些就留給大家嘗試了。

    標準輸出

    如果純粹從建模的角度來看,其實我們的任務已經完成了,即模型只需要輸出式子就行了,評測的時候則只需要判斷式子eval后的結果跟參考答案是否一致就好。但是從實際實用的角度,我們還需要對輸出做進一步的標準化,即根據不同的題目決定輸出的是小數、整數、分數還是百分數等,這就需要我們:1)決定什么時候該輸出什么格式;2)根據指定格式對結果進行轉換。

    第一步比較簡單,一般來說根據題目或方程的一些關鍵字就可以判斷了。比如表達式里邊如果有小數的,那么輸出結果一般也是小數;如果題目是問“多少輛”、“多少個”、“多少人”之類的,那么輸出的都是整數;如果直接問“幾分之幾”或“百分之幾”的,那么相應地就是分數或百分數了。

    比較困難是應該是取整類題目,比如“每盒蛋糕7.90元,50元最多可以買多少盒蛋糕?”要求我們對50/7.90進行下取整,但有時候則是上取整。不過讓筆者很意外的是,ape210k里邊并沒有取整類題目,所以也就不存在這個問題。如果遇到有取整的數據集,如果規則判斷起來比較困難,那么最直接的方法就是把取整符號也加入到equation中讓模型去預測。

    第二步看起來有點復雜,主要是分數的場景,一般讀者可能不知道如何讓式子保留分數運算結果,如果直接eval('(1+2)/4'),那么得到的是0.75(Python3),但有時我們希望得到的是分數結果3/4。

    事實上,保持分數的運算屬于CAS的范疇(Computer Algebra System,計算機代數系統),說白了就是符號運算而不是數值運算,而Python中剛好也有這樣的工具,那就是SymPy,利用SymPy就能達到我們的目的了。具體請看下面的例子:

    from sympy import Integer import rer = (Integer(1) + Integer(2)) / Integer(4) print(r) # 輸出是 3/4 而不是 0.75equation = '(1+2)/4' print(eval(equation)) # 輸出是 0.75new_equation = re.sub('(d+)', 'Integer(1)', equation) print(new_equation) # 輸出是 (Integer(1)+Integer(2))/Integer(4) print(eval(new_equation)) # 輸出是 3/4

    文章小結

    本文介紹了用Seq2Seq模型做數學應用題的一個baseline,主要思路就是通過“BERT+UniLM”直接將問題轉換為可eval的表達式,然后分享了一些結果標準化的經驗。通過BERT Large模型的UniLM,我們達到了73%+的準確率,超過了原論文開源的結果。

    所以,你覺得它能上幾年級了呢?


    #投 稿 通 道#

    如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢? 答案就是:你不認識的人。

    總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。

    PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。

    來稿標準:

    ? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)

    ? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接

    ? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志

    投稿方式:

    ? 方法一:在PaperWeekly知乎專欄頁面點擊“投稿”,即可遞交文章

    ? 方法二:發送郵件至:hr@paperweekly.site ,所有文章配圖,請單獨在附件中發送

    ? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通

    關于PaperWeekly

    PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。

    加入社區:http://paperweek.ly

    微信公眾號:PaperWeekly

    新浪微博:@PaperWeekly

    總結

    以上是生活随笔為你收集整理的bert关键词提取_BERT可以上几年级了?Seq2Seq“硬刚”小学数学应用题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日韩在线二区 | 国产睡熟迷奷系列精品视频 | 麻豆蜜桃av| 天天干夜夜艹 | 99自拍| 99久久久无码国产精品免费麻豆 | 1区2区视频 | 亚洲第一黄色片 | 在线观看一区视频 | 狠狠躁夜夜躁人 | 欧美久久久久久久久中文字幕 | 99涩涩| 中文字幕免费高清 | 欧美日韩成人一区二区 | 黄色av网站在线观看 | 亚欧在线 | 中文字幕一区二区久久人妻 | 日日射影院 | 美女久久久久久久久 | 人人插人人澡 | 国产精品一区二区白浆 | 日韩免费黄色片 | 欧美日韩人妻精品一区在线 | 一级黄色av | 日韩成人午夜 | 色涩久久 | 亚洲天堂资源 | 久色免费视频 | 都市激情中文字幕 | 脱女学生小内内摸了高潮 | 99精品欧美一区二区蜜桃免费 | 一区二区三区精品在线 | 亚洲手机在线 | 最新色视频 | 毛片在线免费观看视频 | 日本寂寞少妇 | 91精品国产乱码久久久久久久久 | 国产精品视频第一页 | 亚洲第一成网站 | 麻豆一区二区三区精品视频 | 成年人天堂 | 男人爽女人下面动态图 | 国产精品成人一区二区网站软件 | 女人洗澡一级特黄毛片 | 国产一线二线在线观看 | 在线成人福利 | 日本不卡一区二区在线观看 | 国产123区在线观看 91国产一区二区 | 久久这里有精品视频 | 婷婷激情四射 | 极品少妇xxx | 日韩视频不卡 | 国产午夜精品一区二区理论影院 | 国产好片无限资源 | 综合激情四射 | 亚洲精品一区二区潘金莲 | 日韩欧美在线一区二区三区 | 少妇太紧太爽又黄又硬又爽 | 午夜黄色福利视频 | 国产精品久久不卡 | 一区二区三区视频在线观看 | 亚洲咪咪| 精品人妻伦九区久久aaa片 | 久久久久久久久久久久久久久久久久久久 | 三级视频在线 | 少妇太紧太爽又黄又硬又爽小说 | 日韩大胆视频 | 男人的天堂久久久 | 97视频国产 | 亚洲成人av中文字幕 | 国产妇女视频 | 日本黄色性视频 | 99久久99久久精品国产片果冻 | 虫族全黄h全肉污文 | 久久国产精品影院 | 国产真实老熟女无套内射 | 色午夜视频| 欧美1区2区3区4区 | 国产a不卡 | 亚洲剧情在线 | 欧美精品福利视频 | 日一日射一射 | 久久亚洲在线 | 操网站| 熊出没之冬日乐翻天免费高清观看 | 在线观看视频亚洲 | 爱情岛论坛永久入址测速 | 午夜免费网 | 永久免费看成人av的动态图 | 78m78成人免费网站 | 91大神在线免费观看 | 国产乱人乱偷精品视频a人人澡 | 亚洲美女在线观看 | 欧美裸体网站 | 久精品视频 | 好男人在线观看 | 成人国产精品免费观看动漫 | www黄色com | 久久精品视频一区二区 |