99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

3天內(nèi)不再提示

CRSLab對話推薦系統(tǒng)開源庫 相關代碼和對應論文目前已經(jīng)開源

深度學習自然語言處理 ? 來源:深度學習自然語言處理 ? 作者:RUC AI Box ? 2021-01-07 14:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著對話系統(tǒng)和推薦系統(tǒng)的快速發(fā)展,新方向——對話推薦系統(tǒng)(Conversational Recommender System,簡稱CRS)也開始了蓬勃發(fā)展,其關注于如何通過基于自然語言的對話來獲得用戶的意圖和偏好,以實現(xiàn)精準推薦。但是現(xiàn)有的CRS相關數(shù)據(jù)集和模型在建模場景、最終目標和使用技術等方面存在一定差異,使得研究者們很難對這些模型進行統(tǒng)一的評測對比。對于科研新手來說,更是難以在這些模型和數(shù)據(jù)集中抉擇并快速搭建CRS系統(tǒng)。

為幫助各位道友“快樂+快速”上手研究對話推薦任務,我們(中國人民大學AI BOX團隊)推出了開源項目CRSLab——一個用于構(gòu)建對話推薦系統(tǒng)(CRS)的開源工具包,在這里我們致力于幫您實現(xiàn)一鍵復現(xiàn),快速開發(fā),自動評測的一條龍服務,相關代碼和對應論文目前也已經(jīng)開源。

目前為止,我們支持以下幾大功能,還有更多好玩的功能正在路上!

便捷的使用方法:新手別害怕,CRSLab提供了簡單而靈活的配置,快速調(diào)用分分鐘的事;

6個數(shù)據(jù)集和18個模型:各種數(shù)據(jù)預處理已幫您完成,各種新模型也適配完畢,任君取用;

多樣的評測方式:各個自動的評測指標都已經(jīng)幫您實現(xiàn),甚至還有人機交互的接口哦;

通用和可擴展的框架:還不滿意?框架給您搭好,函數(shù)接口給您安排上,想怎么玩就怎么玩;

論文地址:https://arxiv.org/pdf/2101.00939.pdf

項目GitHub地址:https://github.com/RUCAIBox/CRSLab

懶人一鍵安裝:pip install crslab

2af7ba6e-5036-11eb-8b86-12bb97331649.png

特性介紹

CRSLab完全基于 PyTorch 實現(xiàn)、主要面向研究者使用,其具有以下四大特性。

通用和可擴展的結(jié)構(gòu)

我們設計了通用和可擴展的結(jié)構(gòu)來統(tǒng)一各種對話推薦數(shù)據(jù)集和模型,并集成了多種內(nèi)置接口和函數(shù)以便于快速開發(fā)。其具體框架如下所示:

2b077904-5036-11eb-8b86-12bb97331649.png

圖片: CRSLab 的總體架構(gòu)

其中Configuration模塊提供了針對用戶的接口,用戶可以通過簡單的命令行操作或修改給出的config文件,即可實現(xiàn)快速調(diào)用不同的CRS模型!Data,Model和Evaluator模塊中集成了多個現(xiàn)有的數(shù)據(jù)集,模型和評測方案,省去了用戶自行復現(xiàn)的時間。Utilities中集成了多個常用的功能函數(shù),可以幫助用戶快速從新搭建一個新的對話推薦系統(tǒng)!

全面的基準模型和數(shù)據(jù)集

在CRSLab中,我們集成了常用的 6 個數(shù)據(jù)集和 18 個模型。這6個數(shù)據(jù)集均為常用的人工標注數(shù)據(jù)集,但是其在任務定義、領域等方面存在差異。我們對其進行了預處理以得到統(tǒng)一的格式,并努力使其支持更多的先進模型,這些預處理包括:推薦商品抽取、實體鏈接、BPE分詞等。我們提供了預處理后數(shù)據(jù)的下載鏈接以方便用戶使用,如下為這些數(shù)據(jù)集的統(tǒng)計數(shù)據(jù):

ReDial 10,006 182,150 Movie -- DBpedia ConceptNet
TG-ReDial 10,000 129,392 Movie Topic Prediction CN-DBpedia HowNet
GoRecDial 9,125 170,904 Movie Action Prediction DBpedia ConceptNet
DuRecDial 10,200 156,000 Movie, Music Goal Planning CN-DBpedia HowNet
INSPIRED 1,001 35,811 Movie Strategy Prediction DBpedia ConceptNet
OpenDialKG 13,802 91,209 Movie, Book Path Generation DBpedia ConceptNet
Dataset Dialogs Utterances Domains Task Definition Entity KG Word KG

我們將對話推薦任務主要拆分成三個子任務:推薦任務(生成推薦的商品),對話任務(生成對話的回復)和策略任務(規(guī)劃對話推薦的策略)。其中所有的對話推薦系統(tǒng)都具有對話和推薦任務,它們是對話推薦系統(tǒng)的核心功能,而策略任務是一個輔助任務,其致力于更好的控制對話推薦系統(tǒng),在不同的模型中的實現(xiàn)也可能不同(如TG-ReDial采用一個主題預測模型,DuRecDial中采用一個對話規(guī)劃模型等)

在CRSLab中,我們實現(xiàn)了18 個模型,覆蓋CRS、推薦、對話和策略模型四種類別,其中CRS模型是指同時對推薦和對話任務(甚至策略任務)進行建模的融合模型,其可以利用這些任務以相互增強彼此的表現(xiàn);而其他模型則只針對于某一個子任務。這些模型中還包括一些已經(jīng)在CRS任務上表現(xiàn)較好的前沿模型,如圖神經(jīng)網(wǎng)絡(GCN)和預訓練模型(BERT 和 GPT-2)。下表為這些模型的相關信息:

CRS 模型 ReDial
KBRD
KGSF
TG-ReDial
×


×
×
×
×
推薦模型 Popularity
GRU4Rec
SASRec
TextCNN
R-GCN
BERT
×
×
×
×

×
×
×
×
×
×
對話模型 HERD
Transformer
GPT-2
×
×
×
×
×
策略模型 PMI
MGCG
Conv-BERT
Topic-BERT
Profile-BERT
×
×
×
×
×
×
×


類別 模型 Graph Neural Network Pre-training Model

多樣的標準評測

我們支持一系列被廣泛使用的評估方式來測試和比較不同的 CRS。針對對話推薦中包含的各個子任務(推薦,對話,策略),我們分別設計了對應的評測方法,供直接用戶使用,如下表所示:

推薦任務 Hit@{1, 10, 50}, MRR@{1, 10, 50}, NDCG@{1, 10, 50}
對話任務 PPL, BLEU-{1, 2, 3, 4}, Embedding Average/Extreme/Greedy, Distinct-{1, 2, 3, 4}
策略任務 Accuracy, Hit@{1,3,5}
類別 指標

這里的推薦任務的若干指標均為常用的基于排序的指標;對話任務的指標包括評估概率分布(PPL),關聯(lián)度(BLEU,Embedding)和多樣性(Distinct)的指標;由于對話推薦系統(tǒng)中的策略往往不盡相同,這里我們采用常用的Accuracy和Hit來進行評估。

此外,我們還提供了人機交互接口,用戶可以直接通過特定的接口函數(shù)和命令和自己搭建的對話推薦系統(tǒng)進行交互,進而分析其中的的bad case等,也可以幫助初學者掌握系統(tǒng)的運行流程。

便捷的使用方法

我們?yōu)樾率痔峁┝撕唵味`活的配置,以快速啟動集成在 CRSLab 中的模型。對于已經(jīng)集成的模型和數(shù)據(jù)集,可以直接使用命令行進行調(diào)用,使用以下命令,系統(tǒng)將依次完成數(shù)據(jù)的預處理,以及各模塊的訓練、驗證和測試,并得到指定的模型評測結(jié)果:

pythonrun_crslab.py--configconfig/kgsf/redial.yaml

如果您希望保存數(shù)據(jù)預處理結(jié)果與模型訓練結(jié)果,可以使用如下命令:

pythonrun_crslab.py--configconfig/kgsf/redial.yaml--save_data--save_system

總的來說,run_crslab.py有如下參數(shù)可供調(diào)用:

--config 或 -c:配置文件的相對路徑,以指定運行的模型與數(shù)據(jù)集。

--save_data 或 -sd:保存預處理的數(shù)據(jù)。

--restore_data 或 -rd:從文件讀取預處理的數(shù)據(jù)。

--save_system 或 -ss:保存訓練好的 CRS 系統(tǒng)。

--restore_system 或 -rs:從文件載入提前訓練好的系統(tǒng)。

--debug 或 -d:用驗證集代替訓練集以方便調(diào)試。

--interact 或 -i:與你的系統(tǒng)進行交互的對話。

如果希望調(diào)節(jié)模型或數(shù)據(jù)集的參數(shù)設置,可以直接對yaml文件進行更改,其提供了相比較于命令行更方便的編輯功能,具體的各項參數(shù)定義在文檔中已經(jīng)給出。

安裝與使用

CRSLab 可以在以下幾種系統(tǒng)上運行:

Linux

Windows 10

macOS X

CRSLab 需要在 Python 3.6 或更高的環(huán)境下運行。CRSLab 要求 torch 版本在 1.4.0 及以上,如果用戶想在 GPU 上運行 CRSLab,請確保你的 CUDA 版本或者 CUDAToolkit 版本在 9.2 及以上。

提醒:因為用戶可能會因為未正確配置PyTorch,PyTorch Geometric等環(huán)境而導致無法使用,這里我們提供了詳細的從零開始的安裝流程,確保大家能夠順利安裝。

安裝 PyTorch

使用 PyTorch 本地安裝命令或者先前版本安裝命令安裝 PyTorch,比如在 Linux 和 Windows 下:

#CUDA10.1 pipinstalltorch==1.6.0+cu101torchvision==0.7.0+cu101-fhttps://download.pytorch.org/whl/torch_stable.html #CPUonly pipinstalltorch==1.6.0+cputorchvision==0.7.0+cpu-fhttps://download.pytorch.org/whl/torch_stable.html

安裝完成后,如果你想在 GPU 上運行 CRSLab,請確保如下命令輸出True:

$python-c"importtorch;print(torch.cuda.is_available())" >>>True

安裝 PyTorch Geometric

確保安裝的 PyTorch 版本至少為 1.4.0:

$python-c"importtorch;print(torch.__version__)" >>>1.6.0

找到安裝好的 PyTorch 對應的 CUDA 版本:

$python-c"importtorch;print(torch.version.cuda)" >>>10.1

安裝相關的包:

pipinstalltorch-scatter-fhttps://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html pipinstalltorch-sparse-fhttps://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html pipinstalltorch-cluster-fhttps://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html pipinstalltorch-spline-conv-fhttps://pytorch-geometric.com/whl/torch-${TORCH}+${CUDA}.html pipinstalltorch-geometric

其中${CUDA}和${TORCH}應使用確定的 CUDA 版本(cpu,cu92,cu101,cu102,cu110)和 PyTorch 版本(1.4.0,1.5.0,1.6.0,1.7.0)來分別替換。比如,對于 PyTorch 1.6.0 和 CUDA 10.1,輸入:

pipinstalltorch-scatter-fhttps://pytorch-geometric.com/whl/torch-1.6.0+cu101.html pipinstalltorch-sparse-fhttps://pytorch-geometric.com/whl/torch-1.6.0+cu101.html pipinstalltorch-cluster-fhttps://pytorch-geometric.com/whl/torch-1.6.0+cu101.html pipinstalltorch-spline-conv-fhttps://pytorch-geometric.com/whl/torch-1.6.0+cu101.html pipinstalltorch-geometric

安裝 CRSLab

gitclonehttps://github.com/RUCAIBox/CRSLab&&cdCRSLab pipinstall-e.

快速測試

從 GitHub 下載 CRSLab 后,可以使用提供的腳本進行簡單的測試:

pythonrun_crslab.py--configconfig/kgsf/redial.yaml

系統(tǒng)將依次完成數(shù)據(jù)的預處理,以及各模塊的訓練、驗證和測試,并得到指定的模型評測結(jié)果。

結(jié)果展示

我們在 TG-ReDial 數(shù)據(jù)集上對模型進行了訓練和測試,并記錄了在三個任務上的評測結(jié)果。其中效果最好的模型是基于圖神經(jīng)網(wǎng)絡的KGSF和基于預訓練的TG-ReDial模型。

推薦任務

SASRec 0.000446 0.00134 0.0160 0.000446 0.000576 0.00114 0.000445 0.00075 0.00380
TextCNN 0.00267 0.0103 0.0236 0.00267 0.00434 0.00493 0.00267 0.00570 0.00860
BERT 0.00722 0.00490 0.0281 0.00722 0.0106 0.0124 0.00490 0.0147 0.0239
KBRD 0.00401 0.0254 0.0588 0.00401 0.00891 0.0103 0.00401 0.0127 0.0198
KGSF 0.00535 0.0285 0.0771 0.00535 0.0114 0.0135 0.00535 0.0154 0.0259
TG-ReDial 0.00793 0.0251 0.0524 0.00793 0.0122 0.0134 0.00793 0.0152 0.0211
Model Hit@1 Hit@10 Hit@50 MRR@1 MRR@10 MRR@50 NDCG@1 NDCG@10 NDCG@50

生成任務

HERD 0.120 0.0141 0.00136 0.000350 0.181 0.369 0.847 1.30 0.697 0.382 0.639 472
Transformer 0.266 0.0440 0.0145 0.00651 0.324 0.837 2.02 3.06 0.879 0.438 0.680 30.9
GPT2 0.0858 0.0119 0.00377 0.0110 2.35 4.62 8.84 12.5 0.763 0.297 0.583 9.26
KBRD 0.267 0.0458 0.0134 0.00579 0.469 1.50 3.40 4.90 0.863 0.398 0.710 52.5
KGSF 0.383 0.115 0.0444 0.0200 0.340 0.910 3.50 6.20 0.888 0.477 0.767 50.1
TG-ReDial 0.125 0.0204 0.00354 0.000803 0.881 1.75 7.00 12.0 0.810 0.332 0.598 7.41
Model BLEU@1 BLEU@2 BLEU@3 BLEU@4 Dist@1 Dist@2 Dist@3 Dist@4 Average Extreme Greedy PPL

策略任務

MGCG 0.591 0.818 0.883 0.591 0.680 0.683 0.591 0.712 0.729
Conv-BERT 0.597 0.814 0.881 0.597 0.684 0.687 0.597 0.716 0.731
Topic-BERT 0.598 0.828 0.885 0.598 0.690 0.693 0.598 0.724 0.737
TG-ReDial 0.600 0.830 0.893 0.600 0.693 0.696 0.600 0.727 0.741
Model Hit@1 Hit@10 Hit@50 MRR@1 MRR@10 MRR@50 NDCG@1 NDCG@10 NDCG@50

未來展望

對話推薦系統(tǒng)在未來肯定還會有更多工作,而且我們的CRSLab也有許多需要繼續(xù)完善的地方。我們AI BOX團隊將會持續(xù)開發(fā)維護CRSLab,保持版本穩(wěn)定,并不斷加入更多更新的模型和數(shù)據(jù)集。期待各位讀者能夠提供寶貴意見。

責任編輯:xj

原文標題:CRSLab:可能是最適合你的對話推薦系統(tǒng)開源庫

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開源
    +關注

    關注

    3

    文章

    3690

    瀏覽量

    43838
  • 深度學習
    +關注

    關注

    73

    文章

    5561

    瀏覽量

    122800
  • 對話系統(tǒng)

    關注

    0

    文章

    7

    瀏覽量

    2252

原文標題:CRSLab:可能是最適合你的對話推薦系統(tǒng)開源庫

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    開源鴻蒙應用技術組件共建計劃啟動

    通過兼容性測評,覆蓋金融、交通、教育、醫(yī)療、航天等多個行業(yè)領域,已成為發(fā)展速度最快的開源操作系統(tǒng)之一。截至目前,開源鴻蒙已累計發(fā)布 8 個大版本,共建共享15個技術域的1115款
    的頭像 發(fā)表于 06-05 14:33 ?442次閱讀

    普華基礎軟件開源汽車操作系統(tǒng)新版本代碼上線

    近日,第二十一屆上海國際汽車工業(yè)展覽會現(xiàn)場,開源車用操作系統(tǒng)新版本代碼上線儀式在中國電科展臺成功召開。全球首個開源智能駕駛操作系統(tǒng)微內(nèi)核龘E
    的頭像 發(fā)表于 04-30 09:17 ?434次閱讀

    Open Echo:一個開源的聲納項目

    開源硬件項目,Open Echo 致力于構(gòu)建高精度聲吶系統(tǒng),主要應用于水文測繪與科研探測領域。項目遵循完全開源協(xié)議,目前已在GitHub平臺公開全部技術資料(
    的頭像 發(fā)表于 03-20 11:14 ?1006次閱讀
    Open Echo:一個<b class='flag-5'>開源</b>的聲納項目

    開源啦?。?!基于鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來一起共創(chuàng)

    及時反饋 開源代碼管理管理開源代碼我們選擇了GitHub,比較主流,后續(xù)也會放開其他的。而開發(fā)完的組件我們使用的是OpenHarmony三方中心倉來管理,鴻蒙目前也只支持這個中心倉下
    發(fā)表于 03-15 15:21

    摩爾線程支持DeepSeek開源通信DeepEP和并行算法DualPipe

    DeepSeek開源周第四日,摩爾線程宣布已成功支持DeepSeek開源通信DeepEP和并行算法DualPipe,并發(fā)布相關開源代碼倉庫
    的頭像 發(fā)表于 02-28 15:58 ?512次閱讀

    摩爾線程完成DeepSeek開源FlashMLA和DeepGEMM適配

    自DeepSeek啟動“開源周”以來,已陸續(xù)開源三個代碼。摩爾線程基于全新MUSA Compute Capability 3.1計算架構(gòu),可提供原生FP8計算能力,同時升級了高性能線
    的頭像 發(fā)表于 02-27 14:40 ?564次閱讀

    DeepSeek宣布開源DeepGEMM

    DeepGEMM 是一個專為簡潔高效的 FP8 通用矩陣乘法(GEMM)設計的,具有細粒度縮放功能,在Deepseek開源周的第三天Deepseek正式宣布開源DeepGEMM。 據(jù)悉GEMMs
    的頭像 發(fā)表于 02-26 15:33 ?896次閱讀

    DeepSeek扔的第二枚開源王炸是什么

    在DeepSeek啟動的“開源周”上(Open Source Week)DeepSeek將陸續(xù)開源5個代碼,大家關心的DeepSeek扔的第二枚
    的頭像 發(fā)表于 02-26 11:05 ?799次閱讀
    DeepSeek扔的第二枚<b class='flag-5'>開源</b>王炸是什么

    沐曦GPU跑通DeepSeek開源代碼FlashMLA

    今日,DeepSeek正式啟動"開源周"計劃,首發(fā)代碼FlashMLA一經(jīng)開源即引發(fā)全網(wǎng)關注。截至發(fā)稿,該項目已在GitHub斬獲超7.2K Star!
    的頭像 發(fā)表于 02-25 16:25 ?873次閱讀

    AI開源模型有什么用

    AI開源模型作為推動AI技術發(fā)展的重要力量,正深刻改變著我們的生產(chǎn)生活方式。接下來,AI部落小編帶您了解AI開源模型有什么用。
    的頭像 發(fā)表于 02-24 11:50 ?436次閱讀

    開源AI模型是干嘛的

    開源AI模型是指那些公開源代碼、允許自由訪問和使用的AI模型集合。這些模型通常經(jīng)過訓練,能夠執(zhí)行特定的任務。以下,是對開源AI模型的詳細
    的頭像 發(fā)表于 12-14 10:33 ?793次閱讀

    開源能帶我們走向何方

    開源大模型、開源數(shù)據(jù)、開源框架、開源硬件......近些年,這些詞匯不絕于耳。雷軍說,好的代碼
    的頭像 發(fā)表于 12-06 17:09 ?842次閱讀

    芯原股份與開源圖形LVGL達成戰(zhàn)略合作

    芯原股份 (芯原,股票代碼:688521.SH) 今日宣布與嵌入式系統(tǒng)領域領先的開源圖形LVGL達成戰(zhàn)略合作,在LVGL中支持芯原的低功
    的頭像 發(fā)表于 11-29 09:20 ?803次閱讀

    “小滿”V24.10源代碼在AtomGit開源

    近日,由中國汽車工業(yè)協(xié)會指導,普華基礎軟件股份有限公司主辦的“小滿”安全車控操作系統(tǒng)開源發(fā)布會暨共建計劃說明會成功舉行。普華基礎軟件宣布將安全車控操作系統(tǒng)“小滿”(簡稱“小滿”)V24.10源
    的頭像 發(fā)表于 10-27 14:41 ?974次閱讀

    Matepad pro12.2 已上市半個月,但是還沒有在開源網(wǎng)站看到該項目的開源信息,違背開源精神

    任何該項目的開源計劃,違背開源精神 按照開源社區(qū) licsence和公共開源licsence要求,對應
    發(fā)表于 08-27 17:25