語音合成之一TTS技術發展史綜述

TTS技術發展史綜述

  • 引言
  • TTS技術的起源與早期探索
  • 基于規則的TTS系統:原理與發展
  • 共振峰合成技術:作用與影響
  • 拼接合成技術:發展與應用
  • 統計參數語音合成:以隱馬爾可夫模型(HMM)為例
  • 深度學習驅動的TTS:神經網絡的突破
    • 代表性模型:WaveNet與Transformer
    • 端到端TTS系統
    • MeloTTS:技術深入、關鍵特性與創新
    • Coqui TTS:技術深入、關鍵特性與創新
    • 大型語言模型在文本到語音技術中的集成
      • LLaSA:架構、LLM利用與性能
      • CoVoice2:架構、LLM利用與關鍵特性
      • Spark TTS:架構、LLM利用與效率
  • 通用模型vs單音色模型
  • TTS技術的未來展望與潛在方向

引言

文本轉語音(Text-to-Speech,TTS)技術是一種將書面文本自動轉換為人類語音的技術。它是一門交叉學科,融合了語言學、聲學、計算機科學和電子工程等多個領域的知識。TTS技術通過計算機合成逼真的語音,使得用戶能夠通過聽覺獲取信息,極大地擴展了人機交互的方式。從早期的機械發聲裝置到如今高度智能化的語音合成系統,TTS技術已經滲透到我們日常生活的方方面面,例如智能語音助手(亞馬遜Alexa、豆包、蘋果Siri等)、屏幕閱讀器(為視力障礙人士和閱讀障礙者)、教育軟件、媒體與娛樂(播客、有聲讀物、視頻/游戲角色配音)、車載導航、客服呼叫中心以及聊天機器人等。
本文旨在對TTS技術的發展歷程進行全面的回顧,探討其關鍵技術、應用領域以及未來的發展趨勢。報告將按照時間順序,從早期的機械合成嘗試到現代基于深度學習的先進系統,詳細闡述TTS技術的演變過程,并深入分析不同合成方法的原理和特點。

TTS技術的起源與早期探索

首次有記載的機械語音合成嘗試出現在18世紀。1779年,俄國科學院的丹麥科學家克里斯蒂安·克拉岑斯坦(Christian Kratzenstein)制作了能夠發出五個長元音(/a?/、/e?/、/i?/、/o?/和/u?/)的共鳴器模型,并在俄羅斯皇家科學院的競賽中獲獎。緊隨其后,1791年,匈牙利科學家沃爾夫岡·馮·肯佩倫(Wolfgang von Kempelen)發明了一種“聲學機械語音機”,該機器能夠產生單個音素和一些音素組合。19世紀中期,查爾斯·惠特斯通(Charles Wheatstone)對肯佩倫的機器進行了改進,使其能夠發出元音和大部分輔音。1846年,約瑟夫·法伯(Joseph Faber)制造了更為復雜的“歐福尼亞”(Euphonia),這臺機械裝置甚至能夠合成語音和歌唱。

進入20世紀,隨著電力技術的發展,電子語音合成器開始出現。1922年,斯圖爾特(Stewart)制造了第一個全電子合成設備,雖然只能發出元音。20世紀30年代,貝爾實驗室的霍默·達德利(Homer Dudley)致力于降低電話傳輸的帶寬,在此過程中發明了聲碼器(VOCODER),一種鍵盤控制的語音分析和合成器。基于聲碼器的研究,達德利進一步開發了語音演示器(VODER),這是第一個電子語音合成器,于1939年在紐約世界博覽會上展出。VODER通過鍵盤操作控制不同頻率的帶通濾波器,操作員需要經過長時間的訓練才能流暢地合成語音。20世紀40年代末至50年代初,哈斯金斯實驗室的富蘭克林·S·庫珀(Franklin S. Cooper)及其同事構建了模式回放器(Pattern Playback),該設備可以將語音聲譜圖轉換回聲音。

20世紀50年代末,最早的基于計算機的語音合成系統開始出現。1968年,日本電子技術綜合研究所的梅田紀子(Noriko Umeda)等人開發了第一個通用的英語文本轉語音系統。1961年,貝爾實驗室的物理學家約翰·拉里·凱利(John Larry Kelly Jr.)及其同事路易斯·格斯特曼(Louis Gerstman)使用IBM 704計算機合成了語音,并用合成的聲音演唱了歌曲《黛西·貝爾》(Daisy Bell)。線性預測編碼(Linear Predictive Coding,LPC)作為一種語音編碼形式,于1966年由名古屋大學的板倉文忠和日本電信電話公司的齋藤秀三開始研發。LPC技術后來成為早期語音合成器芯片的基礎,例如1978年德州儀器公司在Speak & Spell玩具中使用的LPC語音芯片。

早期的機械和電子合成器雖然功能有限,但它們對于理解語音產生的物理和聲學特性至關重要。這些設備作為物理模型,使得研究人員能夠檢驗關于聲帶如何產生聲音以及不同發音器官如何影響語音的理論。聲碼器的開發最初是為了進行帶寬壓縮和語音加密,但它為語音合成技術奠定了基礎。達德利隨后將聲碼器的原理應用于VODER的開發,專注于人工語音的生成。VODER在世界博覽會上的展示極大地提高了公眾對人工語音潛力的認識,激發了該領域進一步的研究。早期研究主要集中在模仿聲音信號或語音產生的機制,而不是直接將文本轉換為語音。直到20世紀60年代,才出現了第一個專門為文本轉語音轉換而設計的系統。這一轉變標志著研究方向從理解語音產生轉向創建人機交互的實際應用。

基于規則的TTS系統:原理與發展

基于規則的TTS系統通過預先定義的語言學規則和語音詞典來生成語音。其核心過程包括文本分析、語音翻譯和韻律建模。文本分析階段負責對輸入的文本進行標準化處理,例如處理縮寫、數字等非標準詞匯。語音翻譯階段則將標準化后的文本轉換為音標序列,這個過程通常利用**語音詞典和字音轉換規則(grapheme-to-phoneme conversion)**來實現。韻律建模階段確定合成語音的語調、重音和節奏等韻律特征。最后,系統根據音標序列和韻律信息,使用共振峰合成或拼接合成等方法生成實際的語音波形。語音規則在確定發音時起著關鍵作用,它們基于單詞的拼寫和上下文來指導發音。

基于規則的TTS系統具有一些顯著的優勢。由于依賴明確的規則,它們通常具有較高的語法準確性和可預測性。這類系統在控制語音特征、音高和語速方面也具有較高的靈活性。在某些實現中,基于規則的系統所需的內存較小,適用于嵌入式系統。此外,其決策過程具有透明性(可解釋性),并且由于發音是規則驅動的,因此在理論上可以處理無限詞匯。

然而,基于規則的系統也存在一些局限性。與后來的技術相比,其合成語音的自然度通常較低。系統難以處理發音規則的例外情況、專有名詞和外來詞。合成的語音聽起來可能較為機械,缺乏人類語音的表達力和情感范圍。為一種語言創建和維護一套全面的規則非常復雜。此外,這類系統學習新數據或適應未知情況的能力有限。

基于規則的系統的發展標志著TTS技術從早期模仿聲音到融入語言知識的重要一步,顯著提高了合成語音的清晰度。然而,這類系統在可預測性和自然度之間往往需要權衡。規則保證了發音的一致性,但在捕捉人類語音細微的變化和表達方面存在不足。異常詞典的需求也凸顯了自然語言固有的不規則性和復雜性。

共振峰合成技術:作用與影響

共振峰合成是基于語音產生的源-濾波器模型。該模型認為,語音的產生過程可以分為兩個階段:聲源產生激勵信號(如聲帶振動),然后該信號通過聲道(濾波器)的共振作用形成最終的語音。聲道在某些頻率上會產生共振,這些共振頻率被稱為共振峰(formants)。共振峰合成器利用電子振蕩器模擬聲源,使用帶通濾波器模擬共振峰,從而合成人工語音。通過控制基頻、共振峰頻率和幅度等參數,可以合成不同的語音,特別是元音。共振峰合成器可以分為并聯式和串聯式兩種結構。

共振峰合成的優勢在于其合成的語音通常具有較高的清晰度,即使在非常高的語速下也能保持可理解性。由于不需要存儲大量的語音樣本,共振峰合成器的程序體積通常較小,適用于內存和處理能力有限的嵌入式系統。此外,該技術可以完全控制輸出語音的各個方面,從而能夠實現各種韻律和語調。共振峰合成還具有生成數據庫中不存在的新聲音和單詞的靈活性。

然而,共振峰合成的主要局限性在于其合成的語音通常聽起來較為人工化和機械,與人類語音有明顯的區別。設計能夠準確指定自然語音所需的源和濾波器參數時序和動態值的規則非常困難。此外,實現自然發音的輔音也具有挑戰性。

拼接合成技術:發展與應用

拼接合成是一種通過將預先錄制的人類語音片段拼接起來生成語音的技術。該過程首先將文本分解為較小的語音單元(例如,音素、雙音素、三音素、音節、詞語或短語),然后從大型語音數據庫(語料庫)中檢索相應的錄音片段。為了最小化片段之間可能出現的聽覺不連貫,平滑地拼接這些片段至關重要。

拼接合成的主要優勢在于其能夠產生非常自然的語音,因為它直接使用了真實人類的錄音。通過從大型數據庫中選擇最佳的單元,單元選擇合成可以生成高度自然的語音片段。

然而,拼接合成需要大量的錄音語音數據庫,這可能會占用大量的內存。如果數據庫中沒有所需的語音特征或情感變化,則在修改語音特征或生成具有不同情感的語音方面存在限制。如果不仔細處理,在片段的拼接點可能會出現聲學故障或不連貫。系統的性能很大程度上取決于語音數據庫的質量和覆蓋范圍。如果數據庫中缺少所需的語音片段,合成可能會失敗。

拼接合成廣泛應用于各種商業TTS系統中,尤其是在對語音自然度要求較高的場合。例如,有聲讀物、配音、語音導航等應用都傾向于使用拼接合成來獲得高質量、自然的語音。

統計參數語音合成:以隱馬爾可夫模型(HMM)為例

統計參數語音合成利用統計模型,例如隱馬爾可夫模型(Hidden Markov Models,HMM),來表示語言特征和語音聲學參數之間的統計關系。這些模型通過在大型語音語料庫上進行訓練,學習不同語音單元的聲學特征(例如,頻譜參數、基頻、時長)的概率分布。在合成過程中,系統首先使用訓練好的統計模型從輸入文本生成聲學參數序列,然后使用聲碼器將這些參數轉換為語音波形。

HMM是一種在TTS中廣泛使用的統計模型,用于建模語音的序列特性以及語音單元與其聲學實現之間的概率關系。HMM可以用于建模語音的各個方面,包括音素時長、音高輪廓和頻譜特征。

與拼接合成方法相比,統計參數TTS通常能夠產生更靈活的語音,更容易修改語音特征和說話風格。這類系統通常需要比單元選擇合成更小的數據庫。統計參數TTS也在不斷發展,包括建模技術的進步以及使用HMM以外的其他統計模型。研究人員也在不斷探索提高統計生成語音的自然度和表現力的方法。

統計建模的引入提供了一種通過直接從數據中學習語音特征來克服基于規則和拼接方法某些局限性的途徑。與依賴顯式規則或固定錄音不同,統計模型可以捕獲人類語音固有的可變性和概率性。與早期方法相比,統計參數TTS在自然度、靈活性和數據庫大小之間提供了更好的平衡。雖然不一定能達到高質量單元選擇的自然度,但它提供了更多的靈活性并且需要更少的數據。

深度學習驅動的TTS:神經網絡的突破

自2010年代初以來,深度學習,特別是神經網絡,對TTS技術產生了變革性的影響。深度學習模型能夠學習語音數據中復雜的模式和關系,從而顯著提高合成語音的自然度和表現力。

代表性模型:WaveNet與Transformer

谷歌DeepMind于2016年開發的WaveNet模型是一個突破性的進展,它使用深度神經網絡直接建模原始音頻信號的波形,實現了非常自然的語音。Transformer架構及其在TTS中的應用,例如Transformer-TTS和FastSpeech等模型,利用自注意力機制實現并行處理和更快的推理速度,同時保持了較高的語音質量。FastSpeech在速度和質量方面都優于Tacotron。

端到端TTS系統

端到端TTS模型,如Tacotron和Deep Voice,可以直接從文本輸入生成語音,而無需復雜的手工特征或中間階段(如音標轉錄)。端到端模型的優勢在于其簡潔性以及直接從數據中學習文本到語音映射的能力。神經聲碼器(neural vocoders),如WaveRNN和WaveGlow的進步,進一步提高了語音合成的質量和效率。

深度學習通過摒棄對手工規則或預錄制片段的依賴,轉向能夠學習人類語音復雜細節的數據驅動模型,徹底改變了TTS。神經網絡從大型數據集中學習復雜映射的能力,使得合成語音的質量和自然度實現了巨大的飛躍。WaveNet的直接波形建模方法展示了在TTS中實現接近人類水平自然度的潛力。Transformer架構最初在自然語言處理領域取得成功,后來被證明對TTS也非常有效,在并行處理和長距離依賴建模方面具有優勢。端到端TTS系統簡化了合成流程,并允許更直接地學習文本到語音的映射,減少了對中間語言表示的需求。

MeloTTS:技術深入、關鍵特性與創新

MeloTTS是由麻省理工學院(MIT)和MyShell.ai共同開發的高質量多語種文本到語音庫 。其技術基礎是基于變分推理(Variational Inference)和對抗學習(Adversarial Learning)的端到端TTS模型VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech) 。在推理過程中,MeloTTS包含一個文本編碼器、一個隨機時長預測器和一個解碼器 。文本編碼器接收音素、音調以及來自BERT模型的隱藏層作為輸入,然后生成文本編碼器的輸出及其均值和對數方差 。為了將輸入文本與目標語音對齊,編碼器的輸出通過一個隨機時長預測器進行處理,該預測器生成一個對齊矩陣 。MeloTTS支持多種語言,包括英語、西班牙語、法語、中文(混合英語)、日語、韓語、德語、葡萄牙語和俄語 。其速度非常快,能夠在CPU上實現實時推理 。值得注意的是,MeloTTS的早期版本并不包含語音克隆功能 。MeloTTS提供了訓練代碼,用戶可以根據自己的數據集進行模型訓練 。該項目以MIT許可證開源 ,促進了社區的開發和定制。此外,圍繞MeloTTS還涌現了一些用戶界面和工具,例如Pinocchio和Hugging Face Spaces 。

Coqui TTS:技術深入、關鍵特性與創新

Coqui TTS是一個基于深度學習的先進文本到語音生成工具包,最初由Mozilla的機器學習團隊開發 。Coqui TTS采用編碼器-解碼器架構,將文本輸入轉換為語音輸出 。它通過預訓練模型支持超過1100種語言 ,并提供了訓練新模型和微調現有模型的工具 。Coqui TTS支持多說話人TTS ,尤其在語音克隆方面表現出色,其XTTS模型僅需一段很短的音頻片段(例如3-6秒)即可實現高質量的語音克隆 。XTTS還具備跨語言語音克隆和多語種語音生成的能力 。Coqui TTS工具包中包含多種模型,如Tacotron、Tacotron2、Glow-TTS、VITS、YourTTS、Tortoise、Bark和XTTS 。它還支持低延遲的流式推理 。Coqui發布的部分模型遵循Coqui公共模型許可證(CPML) 。盡管其付費SaaS服務已關閉,但其開源庫仍然在GitHub上可用 。

大型語言模型在文本到語音技術中的集成

近年來,將大型語言模型(LLM)集成到TTS系統中成為一個重要的發展趨勢。LLM強大的文本理解能力、上下文建模能力以及生成連貫文本的能力,為提升語音合成的質量、自然度和控制性帶來了新的機遇。

LLaSA:架構、LLM利用與性能

LLaSA是一種完全與標準LLM架構對齊的TTS模型,它利用單一的Transformer架構和一個精心設計的語音標記器(X-codec2) 。其架構的初始化基于LLaMA模型 。LLaSA的關鍵創新之一是其語音標記器X-codec2,該組件可以將原始音頻波形轉換為離散的語音標記 。X-codec2通過使用兩個不同的編碼器——語義編碼器(基于預訓練的Wav2Vec2-BERT模型)和聲學編碼器——來整合語音的語義和聲學表示 。
研究表明,增加訓練時所用的計算資源(模型大小和數據大小)可以持續提高合成語音的自然度和韻律的準確性 。此外,通過在推理時使用語音理解模型作為驗證器,可以進一步提升情感表達和音色一致性 。LLaSA展現了強大的零樣本TTS能力 ,并且其代碼庫和模型實現已開源 。

CoVoice2:架構、LLM利用與關鍵特性

CoVoice2(CosyVoice 2.0)是另一個將LLM集成到TTS的例子,它專注于提高語音合成的準確性、穩定性和速度 。CoVoice2支持多種語言 ,并具有超低延遲和雙向流式傳輸支持 。與1.0版本相比,CoVoice2在發音和零樣本、跨語言語音合成的穩定性方面都有顯著提升 。**它還增強了韻律和音質,并支持更細粒度的情感控制和口音調整 **。CoVoice2提供了不同大小的模型(例如0.5B和300M) ,其未來的發展路線圖包括重復感知采樣(RAS)推理以提高LLM的穩定性,以及優化流式推理模式等 。

Spark TTS:架構、LLM利用與效率

Spark TTS是一種高效的基于LLM的TTS模型,它完全基于Qwen2.5構建,并采用單流解耦語音標記方法(BiCodec) 。其主要特點是簡潔高效,可以直接從LLM預測的代碼重建音頻,無需額外的生成模型 。Spark TTS具有高質量的零樣本語音克隆能力 ,并支持中文和英文雙語,包括跨語言語音克隆 。用戶可以通過調整性別、音高和語速等參數來控制語音生成 。Spark TTS還提供了一個用于語音克隆和創建的Web用戶界面 。與Spark TTS一同發布的還有VoxBox數據集,這是一個大型的、帶標注的開源語音數據集 。實驗結果表明,**Spark TTS在零樣本語音克隆方面取得了最先進的性能 **。

特征LLaSACoVoice2Spark TTS
底層LLM架構基于LLaMA的Transformer未明確指出,但屬于LLM驅動的TTS基于Qwen2.5
關鍵技術創新X-codec2語音標記器,訓練和推理時計算資源的縮放超低延遲,雙向流式傳輸,改進的發音和穩定性單流解耦語音標記 (BiCodec),直接從LLM預測代碼重建音頻
多語種支持訓練數據包括多種語言支持多種語言支持中文和英文雙語,包括跨語言語音克隆
語音克隆能力強大的零樣本TTS能力零樣本和跨語言語音合成具有良好的一致性高質量的零樣本語音克隆能力
效率/延遲通過計算資源縮放優化超低延遲,支持流式傳輸效率高,直接從LLM預測代碼重建音頻
控制功能通過推理時的驗證器實現情感和音色控制更細粒度的情感控制和口音調整支持調整性別、音高和語速等參數
開源狀態推理和訓練代碼和模型已開源提供預訓練模型和fine-tune代碼提供代碼和預訓練模型,無fine-tune代碼
主要優勢將TTS與LLM范式統一,注重計算資源縮放,零樣本能力強低延遲,流式傳輸,發音穩定,情感和口音控制效率高,架構簡潔,零樣本語音克隆效果好,控制性強

通用模型vs單音色模型

目前的技術趨勢和應用場景中,零樣本(zero-shot)或少量樣本(few-shot)模型的應用逐漸增多,但針對單個人的定制化模型仍然在特定場景中占據重要地位。

針對單個人的語料訓練的模型,需要大量目標說話人的高質量語音數據(通常需要幾小時甚至幾十小時),訓練一個專用模型,以高保真地復現其音色、發音習慣和情感表達。其應用場景多維虛擬偶像、虛擬助手(Siri、豆包等)、影視配音或者高精度有聲書制作等,這類場景對質量和自然度要求高,對發音細節(如口音、情感)控制更精準。但是劣勢在于數據收集和訓練成本高并且無法快速擴展到新說話人。

Zero-Shot 或 Few-Shot 模型通過預訓練大規模多說話人數據集,模型學習解耦語音的內容、音色和風格,僅需目標說話人的極短語音樣本(甚至一句話),即可合成其聲音。其適用于需要快速適配新說話人、數據稀缺需求靈活的場景,如個性化語音合成,影視、游戲中大量NPC角色語音合成等場景,目前其劣勢在于相較于單人專用模型,在復雜語調和情感支持上海有一些差距。

Zero-Shot 模型(如 VALL-E、YourTTS、Meta Voicebox)進步顯著,依托大規模預訓練和語音表示學習(如HuBERT),逐步逼近專用模型的音質。

為了兼顧單人模型和Zero-Shot 或 Few-Shot 模型二者的優勢,目前Zero-Shot 或 Few-Shot 模型模型一般支持多說話人音色,即在Zero-Shot 或 Few-Shot 模型基礎上,通過少量數據微調(fine-tuning)提升目標說話人的表現,平衡效率與質量。

TTS技術的未來展望與潛在方向

  • 進一步提高合成語音的自然度、韻律和表現力,使其更難以與人類語音區分
  • 情感語音合成旨在使TTS系統能夠在其語音輸出中傳達廣泛的情感,從而使交互更具吸引力和真實感。
  • 語音克隆技術的進步使得能夠從少量語音樣本中復制個人的聲音,從而實現個性化的TTS應用。
  • 支持多種語言的TTS系統正在不斷發展,跨語言語音合成也展現出潛力。
  • 為數據有限的語言開發高質量的TTS仍然面臨挑戰,但TTS在保護和復興瀕危語言方面具有巨大的潛力。
  • TTS有望與其他人工智能技術(如自然語言理解、對話管理和計算機視覺)更緊密地集成,以創建更復雜、更具上下文感知能力的對話代理。

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

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

相關文章

目標檢測中的損失函數(一) | IoU GIoU DIoU CIoU EIoU Focal-EIoU

🚀該系列將會持續整理和更新BBR相關的問題,如有錯誤和不足懇請大家指正,歡迎討論!!! 📦目標檢測的損失函數一般包含三個部分,分別是邊界框損失也可稱為定位損失、置信度損失和分類損…

結構型模式:適配器模式

什么是適配器模式? 適配器模式(Adapter Pattern)是一種常用的結構型設計模式,它的主要作用是將一個類的接口轉換成客戶端期望的另一個接口。就像現實生活中的各種轉接頭一樣,適配器模式使得原本因接口不兼容而無法一起…

AI Agent認知框架(ReAct、函數調用、計劃與執行、自問自答、批判修正、思維鏈、思維樹詳解和對比,最后表格整理總結

以下是主流AI Agent認知框架的詳細說明、對比及表格總結: 1. 各認知框架詳解 (1) ReAct (Reasoning Action) 定義:結合推理(Reasoning)和行動(Action)的循環過程。核心機制: 模型先推理&…

特征存儲的好處:特征存儲在機器學習開發中的優勢

隨著企業尋求提升機器學習生產力和運營能力 (MLOps),特征存儲 (Feature Store) 的普及度正在迅速提升。隨著 MLOps 技術的進步,特征存儲正成為機器學習基礎設施的重要組成部分,幫助企業提升模型的性能和解釋能力,并加速新模型與生產環境的集成。這些存儲充當集中式存儲庫,…

SPRING-AI 官方事例

springAI 關于最近看了很多SpringAi,閱讀很多代碼都感覺特別陌生 SpringAI依賴的springBoot版本都是3.3以上, 以及很多SpringAi都是依賴JDK版本最低17, 并且出現了很多新關鍵字例如 var,record 等寫法, 煙花繚亂得lambda 表達式, 到處都是使用build 構…

Visual Studio Code 使用tab鍵往左和往右縮進內容

使用VSCode寫東西,經常遇到多行內容同時縮進的情況,今天寫文檔的時候就碰到,記錄下來: 往右縮進 選中多行內容,點tab鍵,會整體往右縮進: 往左縮進 選中多行內容,按shifttab&am…

機器學習(7)——K均值聚類

文章目錄 1. K均值(K-means)聚類是什么算法?2. 核心思想2. 數學目標3. 算法步驟3.1. 選擇K個初始質心:3.2.迭代優化3.3. 重復步驟2和步驟3: 4. 關鍵參數5. 優缺點6. 改進變種7. K值選擇方法8. Python示例9. 應用場景10…

爬蟲案例-爬取某企數據

文章目錄 1、準備要爬取企業名稱數據表2、爬取代碼3、查看效果 1、準備要爬取企業名稱數據表 企業名稱紹興市袍江王新國家庭農場紹興市鄭杜糧油專業合作社紹興市越城區興華家庭農場紹興市越城區銳意家庭農場紹興市越城區青甸畈家庭農場紹興市袍江王新國家庭農場紹興市袍江月明…

足球 AI 智能體技術解析:從數據采集到比賽預測的全鏈路架構

一、引言 在足球運動數字化轉型的浪潮中,AI 智能體正成為理解比賽、預測賽果的核心技術引擎。本文從工程實現角度,深度解析足球 AI 的技術架構,涵蓋數據采集、特征工程、模型構建、實時計算到決策支持的全鏈路技術方案,揭示其背后…

怎么配置一個kubectl客戶端訪問多個k8s集群

怎么配置一個kubectl客戶端訪問多個k8s集群 為什么有的客戶端用token也訪問不了k8s集群,因為有的是把~/.kube/config文件,改為了~/.kube/.config文件,文件設置成隱藏文件了。 按照kubectl的尋找配置的邏輯,kubectl找不到要訪問集群…

[QMT量化交易小白入門]-四十六、年化收益率118%的回測參數,如何用貪心算法挑選50個兩兩相關性最小的ETF組合

本專欄主要是介紹QMT的基礎用法,常見函數,寫策略的方法,也會分享一些量化交易的思路,大概會寫100篇左右。 QMT的相關資料較少,在使用過程中不斷的摸索,遇到了一些問題,記錄下來和大家一起溝通,共同進步。 文章目錄 相關閱讀準備工作安裝所需庫導入所需模塊下載所有ETF數…

幾何編碼:啟用矢量模式地理空間機器學習

在 ML 模型中使用點、線和多邊形,將它們編碼為捕捉其空間屬性的向量。 自地理信息系統 (GIS) 誕生之初,“柵格模式”和“矢量模式”之間就存在著顯著的區別。在柵格模式下,數據以值的形式呈現在規則的網格上。這包括任何形式的圖像&#xff0…

Leetcode98、230:二叉搜索樹——遞歸學習

什么是二叉搜索樹:右子樹節點 > 根節點 > 左子樹節點, 二叉搜索樹中的搜索,返回給定值val所在的樹節點 終止條件為傳進來的節點為空、或者節點的值 val值,返回這個節點; 單程遞歸邏輯:定義一個resu…

每天學一個 Linux 命令(30):cut

??可訪問網站查看,視覺品味拉滿: http://www.616vip.cn/30/index.html cut 命令用于從文件或輸入流中提取文本的特定部分(如列、字符或字節位置)。它常用于處理結構化數據(如 CSV、TSV)或按固定格式分割的文本。以下是詳細說明和示例: 命令格式 cut [選項] [文件...]…

Tauri 2.3.1+Leptos 0.7.8開發桌面應用--Sqlite數據庫選中數據的表格輸出

在前期工作的基礎上(Tauri 2.3.1Leptos 0.7.8開發桌面應用--Sqlite數據庫的寫入、展示和選擇刪除_tauri leptos sqlite 選擇刪除-CSDN博客),實現將選中的數據實時用表格展示出來,效果如下: 1. 后臺invoke調用命令 Tau…

使用Tauri 2.3.1+Leptos 0.7.8開發桌面小程序匯總

近期斷斷續續學習了Rust編程,使用Tauri 2.3.1Leptos 0.7.8開發了一個自用的桌面小程序。Win10操作系統,使用VS Code及rust analyzer插件搭建的開發環境,后期開始使用Roo Code綁定DeepSeek API 輔助編程,對我這個初學者編程幫助很大…

考研英一學習筆記

2024 年全國碩士研究生招生考試 英語(一)試題 (科目代碼:201) Section Ⅰ Use of English Directions: Read the following text. Choose the best word(s) for each numbered blank and mark A, B, C or D on the ANS…

【技術筆記】Cadence實現Orcad與Allegro軟件交互式布局設置

【技術筆記】Cadence實現Orcad與Allegro軟件交互式布局設置 更多內容見專欄:【硬件設計遇到了不少問題】、【Cadence從原理圖到PCB設計】 在做硬件pcb設計的時候,原理圖選中一個元器件,希望可以再PCB中可以直接選中。 為了達到原理圖和PCB兩兩…

卷積神經網絡(CNN)詳解

文章目錄 引言1.卷積神經網絡(CNN)的誕生背景2.卷積神經網絡(CNN)介紹2.1 什么是卷積神經網絡?2.2 卷積神經網絡(CNN)的基本特征2.2.1 局部感知(Local Connectivity)2.2.…