Jupyter Notebook為什么適合數據分析?

Jupyter Notebook 是一款超實用的 Web 應用程序,在數據科學、編程等諸多領域都發揮著重要作用。它最大的特點就是能讓大家輕松創建和共享文學化程序文檔。這里說的文學化程序文檔,簡單來講,就是把代碼、解釋說明、數學公式以及數據可視化結果等內容整合在一起,形成一個完整的、易讀易懂的文檔。在這個文檔里,你不僅可以編寫代碼,還能實時運行代碼,馬上看到運行結果。同時,它還支持使用 Markdown 語法進行文本編輯,方便你詳細解釋代碼的功能和作用;要是涉及到數學方面的內容,還能編寫數學方程呢;并且可以將數據以可視化的形式展示出來,比如繪制圖表,讓數據變得一目了然。

正是因為這些強大的功能,Jupyter Notebook 在很多場景下都能派上用場。在數據挖掘領域,它可以用來清理和轉換數據,把雜亂無章的數據整理成便于分析的格式;在進行數值模擬的時候,它能為你提供一個靈活的編程環境;統計建模時,能幫助你快速搭建模型并進行驗證;對于機器學習,從數據預處理、模型構建到訓練,再到結果可視化,它都能全程助力。目前,數據挖掘領域里最熱門的比賽 Kaggle,里面的資料大多都是 Jupyter 格式的,這足以證明它的受歡迎程度。所以對于機器學習新手來說,學會使用 Jupyter Notebook 是非常重要的。

那到底什么是 Jupyter Notebook 呢?它其實是一款開放源代碼的 Web 應用程序,簡單來說,就是大家可以通過它在網頁上創建并共享代碼和文檔。它就像是一個多功能的工作間,給你提供了一個特殊的環境。在這個環境里,你可以把代碼寫在一個個獨立的單元中,然后逐個執行這些單元。這樣的好處是,當你在構建項目原型的時候,不用每次都從代碼的開頭開始執行,只要對特定的代碼塊進行測試就行。比如說,你寫了一大段代碼,只想看看其中某個函數的運行效果,就可以把這個函數所在的代碼塊單獨拿出來執行,不用重新運行整個程序,既節省時間又方便調試。很多其他的集成開發環境(IDE,比如 RStudio)也有類似的功能,但 Jupyter Notebook 的單個單元結構用起來更加方便,深受大家喜愛。而且,Jupyter Notebook 特別靈活,它不僅支持 Python 語言,還允許你運行 R、SQL 等其他語言的代碼。由于它的交互性很強,在教學場景中也被廣泛應用,老師可以通過它更直觀地給學生展示代碼的運行過程和結果,學生也能更好地理解和學習。

接下來講講如何安裝 Jupyter Notebook。在安裝 Jupyter Notebook 之前,首先你得在自己的電腦上安裝 Python。Python 有不同的版本,Python 2.7 或者 Python 3.3(以及更高版本)都能滿足 Jupyter Notebook 的安裝要求。

對于新用戶,推薦使用 Anaconda 發行版來安裝 Python 和 Jupyter Notebooks。Anaconda 就像是一個大禮包,它一次性幫你把 Python 和 Jupyter Notebooks 都安裝好了,而且還包含了很多在數據科學和機器學習社區中常用的軟件包。你不用一個一個地去安裝這些軟件包,非常方便。你可以從這個網址下載最新版本的 Anaconda:Install and Use — Jupyter Documentation 4.1.1 alpha documentation?。

要是因為某些原因,你不想使用 Anaconda,也有其他辦法。這種情況下,你需要確保自己電腦上運行的是最新版本的 pip。pip 是 Python 的包管理工具,用來安裝和管理 Python 的各種庫和工具。如果你已經安裝了 Python,那么 pip 一般也已經安裝好了。但為了能順利安裝 Jupyter Notebook,最好把它升級到最新版本。具體怎么做呢?參照下面的代碼操作就行:

#Linux and OSX
pip install -U pip setuptools
#Windows
python -m pip install -U pip setuptools

升級完成后,就可以通過 pip 來安裝 Jupyter Notebook 了,安裝命令是:

#For Python2
pip install jupyter
#For Python3
pip3 install jupyter

這樣,你就能在自己的電腦上順利使用 Jupyter Notebook 啦!

開始

現在我們已經了解了 Notebooks 是什么,以及如何在自己的機器上安裝和設置 Notebooks。是時候開始動動手了!

要運行 Jupyter Notebooks,只需輸入以下命令就可開始使用!

jupyter?notebook

執行上面命令之后, Jupyter Notebook 將在你的默認瀏覽器中打開,網址為:http://localhost:8888/tree

在某些情況下,它可能無法自動打開。這種情況下,你的終端或者命令提示符中將會生成一個帶有令牌密鑰( token key )的網址。要打開 Notebook,你需要將整個 URL(包括令牌密鑰)復制粘貼到瀏覽器中。

Notebook 打開后,你會在頂部看到三個選項卡:Files(文件),Running(運行)和 Clusters(集群)。Files 基本上列出了所有的文件,Running 顯示你當前已經打開的終端和Notebooks,Clusters 由 IPython parallel 包提供,用于并行計算。

要打開一個新的 Jupyter Notebook,請單擊頁面右側的“New”選項卡。在這里,你有四個選項可供選擇:

  • Python 3

  • Text File (文本文件)

  • Folder (文件夾)

  • Terminal (終端)

在 "Text File" 選項中,你會得到一個空白的文檔。輸入你喜歡的任何字母,單詞和數字。它基本上是一個文本編輯器(類似于 Ubuntu 上的應用程序)。你也可以選擇一種語言(支持非常多的語言),然后用該語言來寫一個腳本。你還可以查找和替換文件中的單詞。

在 "Folder" 選項中, 顧名思義它的功能就是創建文件夾。你可以創建一個新文件夾來放入文件,重新命名或者刪除它。

"Terminal" 的工作方式與你的 Mac 電腦或 Linux 電腦上的終端完全相同(或者 Windows 上的 cmd )。它在你的Web瀏覽器中支持終端會話。在這個終端中輸入 python ,瞧!現在你已經可以開始寫 python 腳本了。

但在本文中,我們將重點介紹 Notebooks,因此我們將從“New”選項中選擇 "Python 3" 選項。你會看到如下的截圖:

圖片

然后,你可以導入最常見的 Python 庫——pandas 和 numpy——來開始你的項目。代碼上方的菜單欄提供了操作單元格的各種選項:insert (添加),edit (編輯),cut (剪切),move cell up/down (上下移動單元格),run cells(在單元格中運行代碼),interupt (停止代碼),save (保存工作),以及 restart (重新啟動內核)。

圖片

在下拉菜單中(如上所示),你有四個選項:

  • Code - 這是你輸入代碼的地方

  • Markdown - 這是你輸入文本的地方。你可以在運行代碼后添加結論,添加注釋等。

  • Raw NBConvert - 這是一個命令行工具,可將你的筆記本轉換為另一種格式(如 HTML)

  • Heading - 你可以將標題添加到單獨的小節并使你的 Notebook 看起來干凈整潔。這個選項現在已經集成到 Markdown 選項中。添加一個“##”,以確保在你之后輸入的內容將被視為標題

使用 Magic Functions

開發人員已經插入了預定義的 magic functions,使你的工作更方便和更具交互性。你可以運行以下命令來查看這些函數的列表(注意:通常不需要輸入“%”,因為通常 Automagic 是默認打開的):

%lsmagic

你會看到許多選項,你甚至可能認識其中的 %clear, %autosave, %debug 和 %mkdir 等函數。magic command 有兩種運行方式:

  • 逐行運行( Line-wise )

  • 逐塊運行( Cell-wise )

顧名思義, Line-wise 是當你想要執行一個單行命令的時候使用,而 Cell-wise 是你想要執行的命令不僅僅是一行,而是整個單元格中的整個代碼塊時使用。

在逐行運行模式中,所有給定的命令都必須以 % 字符開始,而在逐塊運行模式下,所有命令都必須以 %% 開頭。讓我們看看下面的例子來更好的理解:

逐行模式:

%time?a?=?range(10)

逐塊模式:

%%timeit?a?=?range?(10)
min(a)

個人建議運行這些命令,看看其中的區別!

不僅限于 Python - 在 Notebooks 中使用 R,Julia 和JavaScript

Notebooks 的魔術并不止于此。你甚至可以在 Notebooks 中使用其他語言,如 R,Julia,JavaScrip t等。我個人喜歡 R 中的 ggplot2 軟件包,因此使用 Notebooks 來進行探索性數據分析非常方便。

要在 Jupyter 中啟用 R,你需要 GitHub上提供的 IRKernel( R 的專用內核)。這里有一份詳細的指南(地址:https://discuss.analyticsvidhya.com/t/how-to-run-r-on-jupyter-ipython-notebooks/5512),總共需要八個步驟,還有截圖來引導你一步一步進行操作。

如果你是 Julia 用戶,你也可以在 Jupyter Notebooks 中使用它!查看這篇詳盡的文章(地址:地址:https://discuss.analyticsvidhya.com/t/how-to-run-r-on-jupyter-ipython-notebooks/5512),它重點介紹了 Julia 用戶如何學習數據科學,并包括了一章節介紹如何在 Jupyter 環境中使用 Julia。

如果你更喜歡使用 JavaScript,我推薦使用 IJavascript 內核。查看這個 GitHub 庫(地址:https://github.com/n-riesco/ijavascript),它會引導你在不同操作系統上安裝此內核。請注意,你需要先安裝 Node.js 和 npm 才能使用它。

Jupyter Notebooks 中的交互式命令板

在開始添加小插件(widget)之前,你需要導入 widgets 包:

from?ipywidgets?import?widgets

小插件的基本類型是典型的文本輸入框和按鈕。請參閱以下來自Dominodatalab 的示例,了解一下交互式小插件是怎么使用的:

圖片

你可以在這里(地址:https://blog.dominodatalab.com/interactive-dashboards-in-jupyter/)查看詳盡的開發指南。

鍵盤快捷鍵——節省時間并提高效率!

快捷鍵是 Jupyter Notebooks 最好用的功能之一。當你想運行任何代碼塊時,你只需要按下Ctrl + Enter 即可。Jupyter Notebooks 提供的鍵盤快捷鍵非常多,為我們節省了大量時間。

以下是我們挑選的一些快捷鍵,你在開始使用 Notebooks 時會經常用到這些快捷鍵。我強烈建議你閱讀這些內容的時候一個一個地嘗試一下這些快捷鍵。

Jupyter Notebook 提供了兩種不同的鍵盤輸入模式 - 命令和編輯。命令模式將鍵盤與 Notebook 命令綁定,并由具有藍色左邊距的帶有灰色單元格邊框來表示。編輯模式允許你將文本(或代碼)輸入活動單元格,并以綠色單元格邊框表示。

使用 Esc 和 Enter 在命令和編輯模式之間跳轉。現在就試試吧!

一旦進入命令模式(即沒有活動單元格),就可以嘗試以下快捷鍵:

  • A 鍵將在選中單元格上方插入新單元格,B 鍵將在選中單元格下方插入一個單元格

  • 要刪除單元格,請連續按兩次 D 鍵

  • 要撤消已刪除的單元格,請按 Z 鍵

  • Y 鍵將當前的選中單元格變成代碼單元格

  • 按住 Shift + 向上或向下箭頭鍵可以選擇多個單元格。在多選模式下,按 Shift + M 會合并選中的單元格

  • F 鍵會彈出 “查找和替換” 菜單

處于編輯模式時(在命令模式下按 Enter 鍵進入編輯模式),你會發現以下快捷鍵非常好用:

  • Ctrl + Home 轉到單元格的開頭

  • Ctrl + S 會保存你的工作

  • 和上面提過的一樣,Ctrl + Enter 將運行你的整個單元格

  • Alt + Enter 不僅會運行你的單元格,它還會在下方添加一個新的單元格

  • Ctrl + Shift + F 打開命令選項板

要查看整個鍵盤快捷鍵列表,請在命令模式下按 H 或轉到 Help 菜單欄下的 Keyboard shortcuts。請經常檢查這些內容,因為經常會有新的快捷鍵被加進來。

Jupyter Notebooks 擴展?

擴展可以有效提高你的 Jupyter Notebooks 的生產力。安裝和使用擴展的最佳工具之一是 Nbextensions。它需要兩個簡單的步驟來安裝(也有其他方法,但我發現這是最方便的):

第1步:用 pip 來安裝它:

pip?install?jupyter_contrib_nbextensions

第2步:安裝關聯的 JavaScript 和 CSS 文件:

jupyter?contrib?nbextension?install?--user

完成此操作后,你會在 Jupyter Notebook 主頁頂部看到一個 Nbextensions 選項卡。這里面有很多非常棒的擴展供你使用。

圖片

如果要啟用一個擴展,只需點擊它來激活。因此我在下面提到了4個我認為最有用的擴展:

  • Code prettify:重新格式化和美化代碼塊的內容。

圖片

  • Printview:這個擴展添加了一個工具欄按鈕來調用當前 Notebook 的 jupyter nbconvert,并可選擇在新的瀏覽器標簽中顯示轉換后的文件。

  • Scratchpad:這個擴展增加一個便捷單元格,它可以讓你運行你的代碼而不必修改你的 Notebook。這是一個非常方便的擴展,特別是當你想要測試你的代碼,但不想在你的活動Notebook上做這件事。

  • Table of Contents (2):這個擴展可以收集你的 Notebook 中的所有標題,并將它們顯示在一個浮動窗口中。

這些只是你可以使用的其中一些擴展。我強烈建議查看整個擴展列表并對它們進行測試。

保存和共享你的 Notebook

這是 Jupyter Notebook 中最重要和最棒的功能之一。當我需要寫博客文章,但我的代碼和注釋都保存在 Jupyter 文件中時,我需要先將它們轉換為另一種格式。請記住,這些 Notebooks 采用 json 格式,在共享它時這并不是很有幫助。我無法在電子郵件或博客上發布不同的單元格或代碼塊,對吧?

進入 Files 菜單,你會看到一個 Download As 選項:

圖片

你可以將你的 Notebook 保存為 7 個選項中的任何一個。最常用的是 .ipynb 文件,這樣其他人就可以在自己的機器上復制代碼;或者保存為 .html 文件, 這樣會打開一個網頁(當你想要保存嵌入在 Notebook 中的圖像時,這會派上用場)。

你也可以使用 nbconvert 選項手動將你的 Notebook 轉換為不同的格式,如 HTML 或 PDF。

你還可以使用 jupyterhub,它允許你在其服務器上托管 Notebooks 并與多個用戶共享。許多頂尖的研究項目都使用這個功能用于協作。

JupyterLab

JupyterLab 于今年 2 月推出,它允許以更靈活和更強大的方式處理項目,但使用的是和 Jupyter Notebooks 相同的組件。JupyterLab 環境與 Jupyter Notebooks 完全相同,但用戶會有更高效的體驗。

圖片

在 JupyterLab 中,你只需一個窗口即可安排 Notebook 的工作區域、終端、文本文件和輸出!你要做的僅僅是將單元格拖放到你想要的位置。你還可以通過實時預覽功能來編輯常用文件格式,如 Markdown、CSV 和 JSON,以便在實際文件中實時查看所發生的變化。

如果你想在你的機器上試用它,你可以在這里查看安裝說明(地址:http://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html)。開發人員的目標是 ?JupyterLab 最終可以取代 Jupyter Notebooks。但是,要做到這一點還要花點時間。

最佳實踐

雖然單獨工作可能很有趣, 但大多數時候你會發現自己是在一個團隊中工作。在這種情況下,遵循指導方針和最佳實踐非常重要,這樣可以確保你的代碼和 Jupyter Notebooks 被正確標注,以便與你的團隊成員保持一致。下面我列出了一些最佳實踐指南,你在 Jupyter Notebooks 上工作時一定要遵循以下指南:

  • 對于任何程序員來說最重要的事情之一:始終確保為代碼添加合適的注釋!

  • 確保你有代碼所需的文檔。

  • 考慮一個命名方案,并堅持在所有代碼中使用以確保一致性。這樣其他人更容易讀懂你的代碼。

  • 無論你需要什么庫,在 Notebooks 開始時導入它們(并在它們旁邊添加注釋,說明導入它們的目的)。

  • 確保代碼中行與行之間有適當間隔,不要把循環和函數放在同一行中。

  • 有時候你會發現你的文件變得非常繁重。看看有沒有方法隱藏你認為對于以后參考不太重要的代碼。Notebooks 看起來整潔干凈, 讓人賞心悅目也非常重要。

  • Matplotlib 可以很漂亮整潔地展示你的 Notebook,看看怎么使用它!地址:http://nbviewer.jupyter.org/github/jrjohansson/scientific-python-lectures/blob/master/Lecture-4-Matplotlib.ipynb

另一個提示!當你想創建演示文稿時,首先想到的工具是 PowerPoint 和 Google Slides。其實你的 Jupyter Notebooks 也可以創建幻燈片!還記得我說它超級靈活嗎?我一點都沒有夸大。

要將你的 Notebooks 轉換為幻燈片,請轉到 ?View -> Cell Toolbar,然后單擊 Slideshow。看!現在,每個代碼塊都在右側顯示一個 Slide Type 的下拉選項。它提供了以下 5 個選項:

圖片

好好試一試每一個選項以更好地理解它,它會改變你呈現你的代碼的方式!

結語

請注意,這篇文章并沒有詳盡列出 Jupyter Notebooks 提供的所有功能。還有更多的功能等著你在使用中挖掘。和其他很多事情一樣,關鍵在于實踐。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/81953.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/81953.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/81953.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python清空Word段落樣式的方法

在 Python 中,你可以使用 python-docx 庫來操作 Word 文檔,包括清空段落樣式。以下是幾種清空段落樣式的方法: 方法一:直接設置段落樣式為"Normal" from docx import Documentdoc Document(your_document.docx) # 打…

macOS 上是否有類似 WinRAR 的壓縮軟件?

對于習慣使用 Windows 的用戶來說,WinRAR 是經典的壓縮/解壓工具,但 macOS 系統原生并不支持 RAR 格式的解壓,更無法直接使用 WinRAR。不過,macOS 平臺上有許多功能相似甚至更強大的替代工具,以下是一些推薦&#xff1…

WebRtc09:網絡基礎P2P/STUN/TURN/ICE

網絡傳輸基本知識 NATSTUN(Session Traversal Utilities for NAT)TURNICE NAT 產生的原因 IPV4地址不夠出于網絡安全的原因 NAT種類 完全錐型NAT(Full Cone NAT)地址限制型NAT(Address Restricted Cone NAT)端口限制型NAT(Port Restricted Cone NAT…

如何添加或刪除極狐GitLab 項目成員?

極狐GitLab 是 GitLab 在中國的發行版,關于中文參考文檔和資料有: 極狐GitLab 中文文檔極狐GitLab 中文論壇極狐GitLab 官網 項目成員 (BASIC ALL) 成員是有權訪問您的項目的用戶和群組。 每個成員都有一個角色,這決定了他們在項目中可以…

用單目相機和apriltag二維碼aruco實現單目定位

目錄 一、核心流程與代碼框架 1. ?環境準備? 2. ?ArUco定位實現 3. ?AprilTag定位實現(需額外安裝Apriltag庫) 二、關鍵優化點 1?.亞像素角點優化 2? 多標簽聯合定位 三、性能指標(實測) 四、常見問題 ?檢測失敗…

tinyrenderer筆記(透視矯正)

tinyrenderer個人代碼倉庫:tinyrenderer個人練習代碼 引言 還要從上一節知識說起,在上一節中我為了調試代碼,換了一個很簡單的正方形 obj 模型,配上紋理貼圖與法線貼圖進行渲染,得了下面的結果: what&…

MySQL的內置函數與復雜查詢

目錄 前言 一、聚合函數 1.1日期函數 1.2字符串函數 1.3數學函數 1.4其它函數 二、關鍵字周邊 2.1關鍵字的生效順序 2.2數據源 2.3可以使用聚合函數的關鍵字 前言 在前面幾篇文章中,講解了有關MySQL數據庫、數據庫表的創建、數據庫表的數據操作等等。本文我…

見多識廣4:Buffer與Cache,神經網絡加速器的Buffer

目錄 前言傳統意義上的Buffer與Cache一言以蔽之定義與主要功能BufferCache 數據存儲策略二者對比 神經網絡加速器的bufferInput BufferWeight BufferOutput Buffer與傳統buffer的核心區別總結 前言 知識主要由Qwen和Kimi提供,我主要做筆記。 參考文獻: …

內存的位運算

示例:提取和設置標志位 假設我們有一個32位的整數,其中不同的位代表不同的標志。例如: 位0:是否開啟日志(0表示關閉,1表示開啟) 位1:是否啟用調試模式(0表示禁用&#…

linux -shell原理與運用

1---shell的工作方式和功能 shell的工作方式: shell本身也是一個應用程序,存儲在/bin 或者是/user/bin中 登錄的時候 會根據/etc/passwd文件載入shell默認執行 shell啟動后,就會顯示命令提示符,等待用戶輸入命令 命令的邏輯: 首先會判斷時內部命令還是外部命令,如果是內部…

js獲取uniapp獲取webview內容高度

js獲取uniapp獲取webview內容高度 在uni-app中&#xff0c;如果你想要獲取webview的內容高度&#xff0c;可以使用uni-app提供的bindload事件來監聽webview的加載&#xff0c;然后通過調用webview的invokeMethod方法來獲取內容的高度。 以下是一個示例代碼&#xff1a; <te…

Windows系統升級Nodejs版本

什么是nodejs Node.js 是一個免費、開源、跨平臺的 JavaScript 運行時環境, 它讓開發人員能夠創建服務器 Web 應用、命令行工具和腳本。 NodeJs官網 網址&#xff1a;Node.js — 在任何地方運行 JavaScript 可以通過網址下載安裝&#xff0c;通過官網可以看到現在最新版本為22…

Relay算子注冊(在pytorch.py端調用)

1. Relay算子注冊 (C層) (a) 算子屬性注冊 路徑: src/relay/op/nn/nn.cc RELAY_REGISTER_OP("hardswish").set_num_inputs(1).add_argument("data", "Tensor", "Input tensor.").set_support_level(3).add_type_rel("Identity…

【JavaEE】網絡原理之初識(1.0)

目錄 ?編輯 局域網與廣域網 IP地址和端口號 實現簡單的服務器客戶端交互 簡單理解socket TCP和UDP的差別&#xff08;初識&#xff09; socket面對udp DatagramSocket API DatagramSocket 構造方法 DatagramSocket 方法&#xff1a; DatagramPacket API Data…

Redis數據結構ZipList,QuickList,SkipList

目錄 1.ZipList 1.2.解析Entry&#xff1a; 1.3Encoding編碼 1.4.ZipList連鎖更新問題 2.QuickList SkipList跳表 RedisObject 五種數據類型 1.ZipList redis中的ZipList是一種緊湊的內存儲存結構&#xff0c;主要可以節省內存空間儲存小規模數據。是一種特殊的雙端鏈表…

laravel 12 監聽syslog消息,并將消息格式化后存入mongodb

在Laravel 12中實現監聽Syslog消息并格式化存儲到MongoDB&#xff0c;需結合日志通道配置、Syslog解析和MongoDB存儲操作。以下是具體實現方案&#xff1a; 一、環境配置 安裝MongoDB擴展包 執行以下命令安裝必要的依賴&#xff1a; composer require jenssegers/mongodb ^4.0確…

【STM32項目實戰】一文了解單片機的SPI驅動外設功能

前言&#xff1a;在前面我有文章介紹了關于單片機的SPI外設CUBEMX配置&#xff0c;但是要想使用好SPI這個外設我們還必須對其原理性的時序有一個詳細的了解&#xff0c;所以這篇文章就補充一下SPI比較偏向底層的時序性的邏輯。 1&#xff0c;SPI簡介 SPI是MCU最常見的對外通信…

【挖洞利器】GobyAwvs解放雙手

【滲透測試工具】解放雙手&Goby配合Awvs滲透測試利器\x0a通過Goby和Awvs 解放雙手https://mp.weixin.qq.com/s/SquRK8C5cRpWmfGbIOqxoQ

LangChain4j(15)——RAG高級之跳過檢索

之前的文章中&#xff0c;我們介紹了RAG的使用&#xff0c;但是&#xff0c;每次提問時&#xff0c;都會通過RAG進行檢索。有時&#xff0c;檢索是不必要執行的&#xff0c;比如&#xff0c;當用戶只是說“你好”時。于是&#xff0c;我們需要有條件的跳過檢索過程。 跳過決策…

【SDRS】面向多模態情感分析的情感感知解糾纏表征轉移

abstract 多模態情感分析(MSA)旨在利用多模態的互補信息對用戶生成的視頻進行情感理解。現有的方法主要集中在設計復雜的特征融合策略來整合單獨提取的多模態表示,忽略了與情感無關的信息的干擾。在本文中,我們提出將單模表征分解為情感特定特征和情感獨立特征,并將前者融…