NLP自然语言处理硬核实战笔记

python读取文件,jieba分词,posseg标注词性,并写入文件,代码实战 先列出代码如下 # -*- encoding=utf-8 -*- # 定义编码格式 import jieba.analyse import jieba.posseg import jieba import pandas as pd # 载入自定义词典 jieba.load_userdict('dict.txt') # 载入自定义停止词 jieba.analyse.set_stop_words(... 阅读详情

📖 导读:
这份笔记整合了Code05/NLP下的所有代码,每一行都讲清楚是干啥的。看完能直接上手。

  • 零遗漏原则:所有关键代码完整覆盖
  • 显微镜式解析:逐行/逐参数讲解
  • 场景化映射:代码对应实际应用

🗺️ 一、文本预处理

1.1 jieba分词

import jieba

# ========== 精确模式 ========
text = "传智教育是一家上市公司"
words = jieba.lcut(text)
print(words)
# ['传智教育', '是', '一家', '上市公司']

💡 代码解析:

  • jieba.lcut():返回列表形式
  • 精确模式:尽量保持词语完整
# ========== 全模式 ========
words_all = jieba.lcut(text, cut_all=True)
print(words_all)
# ['传智', '教育', '是', '一', '家', '上市', '公司']

# ========== 搜索引擎模式 ========
words_search = jieba.lcut_for_search(text)
print(words_search)
# ['传智', '教育', '上市', '公司', '传智教育', '上市公司']

📊 三种模式对比

原句: "传智教育是一家上市公司"

精确模式:   ['传智教育', '是', '一家', '上市公司']  ← 推荐
全模式:    ['传智', '教育', '是', '一', '家', '上市', '公司']
搜索引擎:  ['传智', '教育', '上市', '公司', '传智教育', '上市公司']

1.2 词性标注

import jieba.posseg as pseg

text = "我爱自然语言处理"
result = pseg.lcut(text)

for word, flag in result:
    print(f"{word}: {flag}")

# 输出:
# 我: r    (代词)
# 爱: v    (动词)
# 自然语言: n  (名词)
# 处理: vn   (动名词)

💡 代码解析:

  • jieba.posseg:分词+词性一次性搞定

1.3 自定义词典

# ====== 方式1: 代码中添加 ======
jieba.add_word("传智教育")
jieba.add_word("黑马程序员")

# ====== 方式2: 词典文件 ======
# my_dict.txt 内容:
# 传智教育 10 n
# 黑马程序员 8 n

jieba.load_userdict("my_dict.txt")

text = "传智教育旗下有黑马程序员"
print(jieba.lcut(text))
# ['传智教育', '旗下', '有', '黑马程序员']

💡 代码解析:

  • add_word():临时添加
  • load_userdict():从文件批量加载

1.4 停用词过滤

# 常见停用词列表
stopwords = {
    '的', '了', '是', '在', '我', '有', '和',
    '就', '不', '人', '都', '一', '一个', '上', '也', '很'
}

text = "我是一名程序员,在北京工作"
words = jieba.lcut(text)

# 过滤停用词
filtered = [w for w in words if w not in stopwords and len(w) > 1]
print(filtered)
# ['程序员', '北京', '工作']

💻 二、文本向量化

2.1 One-Hot编码

from tensorflow.keras.preprocessing.text import Tokenizer

# 词表
vocabs = ["苹果", "香蕉", "橙子", "葡萄", "西瓜"]

tokenizer = Tokenizer()
tokenizer.fit_on_texts(vocabs)

# 词表索引
print(tokenizer.word_index)
# {'苹果': 1, '香蕉': 2, '橙子': 3, '葡萄': 4, '西瓜': 5}

# 转One-Hot矩阵
one_hot_matrix = tokenizer.texts_to_matrix(vocabs, mode='binary')
print(one_hot_matrix)

# 输出:
# [[1. 0. 0. 0. 0.]
#  [0. 1. 0. 0. 0.]
#  [0. 0. 1. 0. 0.]
#  [0. 0. 0. 1. 0.]
#  [0. 0. 0. 0. 1.]]

💡 代码解析:

  • fit_on_texts():构建词表
  • texts_to_matrix():转One-Hot

⚠️ One-Hot问题

稀疏: 10000个词 = 10000维向量,几乎全是0
无法计算相似度: 苹果(1,0,0...) 香蕉(0,1,0...) 距离=√2

2.2 Word2Vec

import fasttext

# ====== 训练词向量 ======
# 需要准备大量文本文件: corpus.txt
model = fasttext.train_unsupervised(
    'corpus.txt',
    model='cbow',      # cbow或skipgram
    dim=100,           # 向量维度
    epoch=5,           # 训练轮数
    lr=0.1,           # 学习率
    thread=10         # 线程数
)

# 保存模型
model.save_model('word2vec.bin')

# ====== 使用 ======
# 获取词向量
vec = model.get_word_vector('苹果')
print(vec.shape)  # (100,)

# 找相似词
similar = model.get_nearest_neighbors('苹果')
print(similar)
# [(0.92, '香蕉'), (0.87, '水果'), (0.82, '橙子')]

💡 代码解析:

  • cbow:用上下文预测中间词
  • skipgram:用中间词预测上下文
  • dim:词向量维度

🍎 Word2Vec vs One-Hot

One-Hot: 苹果=[1,0,0,0]  香蕉=[0,1,0,0]  → 距离=√2
Word2Vec: 苹果≈[0.8,0.2]  香蕉≈[0.75,0.25]  → 距离≈0.07

结论:相似词向量距离更近!

2.3 词嵌入Embedding层

import torch
import torch.nn as nn

# 假设词表大小10000,嵌入成128维
embedding = nn.Embedding(num_embeddings=10000, embedding_dim=128)

# 输入: 词的索引 (batch内)
word_indices = torch.tensor([1, 5, 10, 99])  # 4个词

# 输出: 4个词的128维向量
vectors = embedding(word_indices)
print(vectors.shape)  # (4, 128)

💡 代码解析:

  • num_embeddings:词表大小
  • embedding_dim:向量维度

📊 三、文本数据分析

3.1 标签分布

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 读取数据
train_df = pd.read_csv('train.tsv', sep='\t')

# 统计
print(train_df['label'].value_counts())

# 画图
sns.countplot(x='label', data=train_df)
plt.title('Label Distribution')
plt.xlabel('Label')
plt.ylabel('Count')
plt.show()

3.2 句子长度分布

# 计算每句长度
train_df['length'] = train_df['text'].apply(lambda x: len(x))

# 统计
print(train_df['length'].describe())

# 按标签看
sns.boxplot(x='label', y='length', data=train_df)
plt.title('Text Length by Label')
plt.show()

3.3 词频统计

from collections import Counter
import jieba

# 统计词频
all_words = []
for text in train_df['text']:
    words = jieba.lcut(text)
    all_words.extend(words)

word_count = Counter(all_words)

# Top 30
print(word_count.most_common(30))

🧠 四、RNN系列

4.1 RNN实现

import torch
import torch.nn as nn

# 参数
input_size = 10    # 输入维度
hidden_size = 20   # 隐藏状态维度
num_layers = 2     # 层数
batch_size = 3     # batch大小

# 创建RNN
rnn = nn.RNN(
    input_size=input_size,
    hidden_size=hidden_size,
    num_layers=num_layers,
    batch_first=True
)

# 输入: (batch, seq_len, input_size)
x = torch.randn(batch_size, 5, input_size)

# 初始隐藏状态: (num_layers, batch, hidden_size)
h0 = torch.zeros(num_layers, batch_size, hidden_size)

# 前向传播
output, hn = rnn(x, h0)

print(f"output形状: {output.shape}")  # (3, 5, 20)
print(f"hn形状: {hn.shape}")         # (2, 3, 20)

💡 代码解析:

  • output:所有时间步的输出
  • hn:最后一个隐藏状态

4.2 LSTM实现

# LSTM: 比RNN多一个细胞状态
lstm = nn.LSTM(
    input_size=10,
    hidden_size=20,
    num_layers=2,
    batch_first=True,
    bidirectional=True  # 双向
)

# 初始: 隐藏状态 + 细胞状态
h0 = torch.zeros(4, 3, 20)  # num_layers*2 for bidirectional
c0 = torch.zeros(4, 3, 20)

output, (hn, cn) = lstm(x, (h0, c0))

print(f"output: {output.shape}")  # (3, 5, 40) 双向=20*2
print(f"hn: {hn.shape}")         # (4, 3, 20)

💡 代码解析:

  • 三个门:遗忘门、输入门、输出门
  • 解决RNN的长序列梯度消失问题

4.3 GRU实现

# GRU: LSTM的简化版,只有两个门
gru = nn.GRU(
    input_size=10,
    hidden_size=20,
    num_layers=2,
    batch_first=True,
    bidirectional=True
)

output, hn = gru(x, h0)
print(f"output: {output.shape}")  # (3, 5, 40)

💡 代码解析:

  • 两个门:更新门、重置门
  • 比LSTM参数量少

🎯 五、注意力机制

5.1 原理

🏀 比喻:
  翻译 "I saw a saw" (我看到一把锯子)
  → 第一个saw(看到) vs 第二个saw(锯子)
  → 需要关注不同位置!
  
Attention = 告诉模型"看哪里"

5.2 实现

import torch
import torch.nn as nn
import torch.nn.functional as F

class Attention(nn.Module):
    def __init__(self, hidden_size):
        super().__init__()
        self.attn = nn.Linear(hidden_size * 2, hidden_size)
        self.v = nn.Parameter(torch.rand(hidden_size))
    
    def forward(self, hidden, encoder_outputs):
        # hidden: (batch, hidden_size)
        # encoder_outputs: (seq_len, batch, hidden_size)
        
        seq_len = encoder_outputs.size(0)
        
        # 复制hidden到每个时间步
        hidden = hidden.unsqueeze(0).repeat(seq_len, 1, 1)
        
        # 计算能量
        energy = torch.tanh(
            self.attn(torch.cat([hidden, encoder_outputs], dim=2))
        )
        
        # (batch, hidden, seq_len)
        energy = energy.permute(1, 2, 0)
        
        # v是学习到的"查询向量"
        v = self.v.repeat(encoder_outputs.size(1), 1).unsqueeze(1)
        scores = torch.bmm(v, energy).squeeze(1)
        
        # 归一化
        attn_weights = F.softmax(scores, dim=1)
        
        # 加权求和
        context = torch.bmm(
            attn_weights.unsqueeze(1),
            encoder_outputs.permute(1, 0, 2)
        ).squeeze(1)
        
        return context, attn_weights

💡 代码解析:

  • 计算相似度 → softmax归一化 → 加权求和

🔥 六、Transformer

6.1 核心组件

import torch
import torch.nn as nn
import math

class SelfAttention(nn.Module):
    def __init__(self, embed_size, heads):
        super().__init__()
        self.embed_size = embed_size
        self.heads = heads
        self.head_dim = embed_size // heads
        
        self.values = nn.Linear(embed_size, embed_size)
        self.keys = nn.Linear(embed_size, embed_size)
        self.queries = nn.Linear(embed_size, embed_size)
        self.fc_out = nn.Linear(embed_size, embed_size)
    
    def forward(self, values, keys, query, mask):
        N = query.shape[0]
        
        # 分头
        values = self.values(values).view(N, -1, self.heads, self.head_dim)
        keys = self.keys(keys).view(N, -1, self.heads, self.head_dim)
        queries = self.queries(query).view(N, -1, self.heads, self.head_dim)
        
        # 注意力计算
        energy = torch.einsum("nqhd,nkhd->nhqk", [queries, keys])
        
        if mask is not None:
            energy = energy.masked_fill(mask == 0, float("-1e20"))
        
        attention = torch.softmax(energy / (self.embed_size ** (1/2)), dim=3)
        
        out = torch.einsum("nhql,nlhd->nqhd", [attention, values]).reshape(
            N, -1, self.heads * self.head_dim
        )
        
        return self.fc_out(out)

💡 代码解析:

  • 多头注意力:并行计算多个注意力
  • einsum:爱因斯坦求和约定,简洁高效

6.2 完整Transformer

class Transformer(nn.Module):
    def __init__(self, src_vocab, trg_vocab, src_pad_idx, trg_pad_idx,
                 embed_size=256, num_layers=6, heads=8, forward_expansion=4,
                 dropout=0.1):
        super().__init__()
        self.src_pad_idx = src_pad_idx
        self.trg_pad_idx = trg_pad_idx
        
        self.src_embedding = nn.Embedding(src_vocab, embed_size)
        self.trg_embedding = nn.Embedding(trg_vocab, embed_size)
        
        self.transformer = nn.Transformer(
            embed_size, heads, num_layers, forward_expansion, dropout
        )
        
        self.fc_out = nn.Linear(embed_size, trg_vocab)
        self.dropout = nn.Dropout(dropout)
    
    def forward(self, src, trg):
        src_mask = (src != self.src_pad_idx).unsqueeze(1).unsqueeze(2)
        trg_mask = torch.tril(torch.ones(trg.size(1), trg.size(1))).unsqueeze(0)
        
        src_emb = self.dropout(self.src_embedding(src))
        trg_emb = self.dropout(self.trg_embedding(trg))
        
        out = self.transformer(
            src_emb, trg_emb,
            src_key_padding_mask=~src_mask,
            tgt_mask=~trg_mask
        )
        
        return self.fc_out(out)

🚀 七、迁移学习

7.1 FastText分类

import fasttext

# 训练文本分类模型
# 格式: __label__positive 这是一个好产品
#       __label__negative 这个很糟糕

model = fasttext.train_supervised(
    'train.txt',
    lr=0.1,
    epoch=5,
    word_ngrams=2,
    dim=100,
    loss='softmax'
)

# 预测
pred, prob = model.predict('这个产品太好了!')
print(pred)   # __label__positive
print(prob)   # 0.98

💡 代码解析:

  • 训练数据格式:__label__标签 文本
  • word_ngrams:n-gram特征

7.2 Hugging Face BERT

from transformers import AutoModel, AutoTokenizer, AutoModelForSequenceClassification
import torch

# 加载预训练模型
tokenizer = AutoTokenizer.from_pretrained('bert-base-chinese')
model = AutoModel.from_pretrained('bert-base-chinese')

# 分类模型
model = AutoModelForSequenceClassification.from_pretrained(
    'bert-base-chinese',
    num_labels=2
)

# 编码
inputs = tokenizer("你好世界", return_tensors="pt")

# 前向
outputs = model(**inputs)
logits = outputs.logits
print(logits)

💡 代码解析:

  • AutoTokenizer:自动选择分词器
  • AutoModel:加载预训练模型

7.3 完整微调流程

from transformers import Trainer, TrainingArguments
from datasets import Dataset

# 准备数据
train_dataset = Dataset.from_pandas(train_df)

# 预处理
def tokenize_function(examples):
    return tokenizer(
        examples["text"],
        padding="max_length",
        truncation=True,
        max_length=128
    )

train_dataset = train_dataset.map(tokenize_function, batched=True)

# 训练参数
training_args = TrainingArguments(
    output_dir="./results",
    num_train_epochs=3,
    per_device_train_batch_size=16,
    learning_rate=2e-5,
    weight_decay=0.01,
)

# 训练
trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=train_dataset,
)

trainer.train()

💡 代码解析:

  • TrainingArguments:训练超参数
  • Trainer:高级训练封装

🐛 八、避坑指南

❌ 错误1: 维度顺序

# batch_first=True vs False
rnn1 = nn.RNN(10, 20, batch_first=True)
input1 = torch.randn(3, 5, 10)  # (batch, seq, feature)

rnn2 = nn.RNN(10, 20, batch_first=False)
input2 = torch.randn(5, 3, 10)  # (seq, batch, feature)

❌ 错误2: mask没设置

# Transformer的mask很重要
# 否则会看到PAD位置的信息

def make_src_mask(src, pad_idx):
    return (src != pad_idx).unsqueeze(1).unsqueeze(2)

❌ 错误3: 学习率太大

BERT微调:学习率2e-5左右
从头训练:学习率1e-3左右

差100倍!用错直接不收敛

📝 九、总结

核心要点

模块关键点
预处理jieba分词、停用词
向量化One-Hot→Word2Vec→Embedding
RNN记忆、梯度消失
LSTM门控、解决长序列
Attention加权求和、找重点
Transformer自注意力、并行
迁移学习FastText、BERT

代码对照表

功能代码位置
分词01_文本预处理/01_文本加载与特征提取
向量01_文本预处理/02_文本向量化表示
分析01_文本预处理/03_文本数据分析
RNN02_RNN循环神经网络/01_RNN与LSTM与GRU
Attention02_RNN循环神经网络/02_注意力机制
Transformer03_Transformer
迁移学习04_迁移学习

学完这篇,NLP实战就入门了! 🚀

NLP自然语言处理入门到精通高效指南 PART????1.自然语言处理常用操作 NLP : 一、标题文本预处理包含: 1.过滤非中文字符 2.文本分词并进行词性标注 3.去除常见中文停用词,并存储分词后结果 二、 文本特征词向量化表示: 1.词袋模型 Coutvictorizer 2.TF-IDF特征提取 三、调用sklearn 分类器建模,GridsearchCV调参 1.逻辑回归分类 LogisticRegression 2.超参数... 阅读详情

相关推荐

Hugging Face硬核书 |《HuggingFace自然语言处理详解——基于BERT中文模型的任务实战》

自然语言处理一直作为人工智能领域内的重要难题,历史上无数的科学家付出了巨大的心血对其进行研究。著名的图灵测试本质上也是一个自然语言处理任务。在深度学习成为主流后,自然语言处理确立了主要的研究方向,尤其是在谷歌提出了Transformer和BERT模型以后,基于预训练模型的方法,已成为自然语言处理研究的主要方向。今天给大家带来一本《HuggingFace自然语言处理详解》,本书综合性讲解HuggingFace社区提供的工具集datasets和transformers。

weixin_53880910的博客 1121

jieba.posseg是jieba中的一个组件,它用于对文本进行词性标注

jieba.posseg是Python中的一个分词工具,它可以将文本切割成词语,并且为每个词语标注词性。这个工具可以帮助我们更好地理解和处理自然语言文本。而pseg则是jieba.posseg的别名,用于方便快捷地进行调用。通过对文本进行词性标注,我们可以更好地理解文本及其中包含的实体。下面是一个简单的例子,展示了如何使用。

weixin_73675558的博客 4458

2019斯坦福CS224n深度学习自然语言处理笔记(1)——绪论与Word2Vec

本文内容整理自2019年斯坦福CS224n深度学习自然语言处理课程,其笔记为本人听课心得,重点在于对于知识内容的思考,并非课程原文笔记,应称为课后笔记。 1.绪论 在本堂课中,其基础技能需要懂得并应用:Ipython,numpy和Pytorch。其他的关于自然语言处理和深度学习,上了这堂课,你就会了解。 1.1 语言的来源 语言,语言是传递信息的声音和文字,是人类沟通的主要方式(其他方式包括图像、...

刘炫320的博客 2338

【自然语言处理】-jieba库学习笔记(二)

jieba三种分词方法 精确模式 精确模式将句子最精确的切分开,每个词都只有一种含义。 import jieba seg_list1=jieba.cut("人生最宝贵的是生命,人生最需要的是学习,人生最愉快的是工作,人生最重要的是友谊。",cut_all=False) print("Default Mode:"+"/".join(seg_list1)) Default Mode:人生/最/宝贵/的/是/生命/,/人生/最/需要/的/是/学习/,/人生/最/愉快/的/是/工作/,/人生/最/重要/的/是/

SUOLONG1的博客 2092

【Pytorch项目实战】之自然语言处理:RNN、LSTM、GRU、Transformer

其使用 Self-Attention 结构取代了在 NLP 任务中常用的 RNN 的顺序网络结构,使得模型可以并行化训练,而且能够充分利用训练资料的全局信息,加入Transformer的Seq2seq模型在NLP的各个任务上都有了显著的提升。当人视觉在感知东西时候往往会更加关注某个场景中显著性的物体,为了合理利用有限的视觉信息处理资源,人需要选择视觉区域中的特定部分,然后集中关注它。:CNN的输入图像大小固定,而在语音识别中,每句话的长度都是不一样的,且一句话的前后也是有关系的。可以捕获一个序列的信息。

📷 图像处理践行者 | 传统算法 · 深度学习 · 多模态 | 分享实战经验与技术洞见,探索从像素到智能的无限可能。 2888

Power BI应用案例:淘宝用户行为分析实战

一、案例背景 基于千万级的淘宝用户的使用记录,对淘宝用户的行为进行分析,具体指标包括:日PV、日UV、小时PV、小时UV、不同用户行为的PV、用户购买次数分布、用户购买频次分布、活跃用户消费情况等。通过本案例,可以基本看看Power BI都能分析达到怎么样的效果。 二、数据来源及结构 阿里天池官方发布的1万用户在2014年双十二期间的行为记录,数据量达1200万+。 数据下载地址:...

灰哥数据智能的专栏 1万+

采用jieba库的posseg函数对剩余有效文本数据进行词性分析

采用jieba库的posseg函数对剩余有效文本数据进行词性分析。一、实验流程说明 1。

毕业作品网站 2271

AI for Science:GNN预测分子性质全流程详解与工业实践

从分子表示到工业落地,一文掌握图神经网络在药物研发与材料设计中的核心实战近年来,的浪潮正深刻变革着传统科研范式。在药物研发与材料设计领域,作为核心环节,已从传统的实验试错转向基于图神经网络(GNN)的智能计算。本文将深入解析GNN预测分子性质的,涵盖数据准备、模型设计、训练优化到工业部署,并揭秘前沿技术与实战案例。

datacanvas2426的博客 1674

数据分析之jieba分词使用详解

在所有人类语言中,一句话、一段文本、一篇文章都是有一个个的词组成的。词是包含独立意义的最小文本单元,将长文本拆分成单个独立的词汇的过程叫做分词。分词之后,文本原本的语义将被拆分到在更加精细化的各个独立词汇中,词汇的结构比长文本简单,对于计算机而言,更容易理解和分析,所以,分词往往是自然语言处理的第一步。 对于英文文本,句子中的词汇可以通过空格很容易得进行划分,但是在我们中文中则不然,没有明显的划分标志,所以需要通过专门的方法(算法)进行分词。在Python中,有多种库实现了各种方法支持中文分

金戈鐡馬 1万+

足球赛事数据API:开发者生存指南(附真实踩坑记录)

作为一个既爱看球又爱写代码的老宅男,我这些年用过的足球API比看过的比赛还多。从最初被各种API文档折磨到怀疑人生,到现在能闭着眼睛调接口,中间的血泪史够写本书了。今天就把这些经验(和教训)分享给各位同好,特别是那些正在为"老板要做个足球App"而秃头的同行们。文档清晰免费层可用响应格式规范API-Sports免费额度大方支持GraphQL有中文文档(难得!Sportmonks数据全面有Webhook支持按需付费。

Happy0970的博客 2192

星链V3的2048条波束与1Tbps:多波束相控阵的工程代价

低轨卫星通信的容量提升,核心在于多波束相控阵天线的空间复用能力。相控阵通过控制大量天线单元的相位,可在同一阵面同时形成多条独立指向的波束,从而在有限频谱内成倍提升系统容量。星链V3宣称的2048条波束与1 Tbps汇聚吞吐量,正是基于这一原理:更多波束意味着更高的频率复用系数和更灵活的资源调度。但工程实现并非免费午餐,数字背后是供电、散热、重量、发射成本及运维复杂度的急剧攀升。从用户侧看,更精细的波束也带来切换频繁、低仰角衰减等新挑战。本文从多波束相控阵的基础原理出发,拆解波束形成、频谱复用和动态调度的工程

weixin_33462167的博客 347

Android NLP实战:如何优化移动端自然语言处理效率

模型加载优化使用临时解决大模型加载问题实现分片加载,先加载核心部分,后台加载其余部分内存泄漏预防确保在onDestroy中释放模型资源使用WeakReference持有上下文冷启动处理预加载模型(Application.onCreate中初始化)显示加载进度,提升用户体验电池优化批量处理请求,减少唤醒次数根据电量水平调整模型精度基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。

2600_94959979的博客 645

3DGS 2025实战指南:从安装到训练全流程解析

本文提供了3D Gaussian Splatting (3DGS) 从零开始的完整实战指南。详细解析了使用gsplat库进行环境配置、依赖安装(包括pycolmap和fused-ssim)、数据准备与COLMAP处理、核心训练流程及参数调优,并探讨了2025年3DGS在动态场景、可控编辑等领域的最新进展,帮助开发者快速掌握这一前沿3D重建技术。

b3n4m5q6w7的博客 359

自然语言处理(NLP)入门指南:从基础概念到实战应用

自然语言处理(NLP)是让计算机理解、解释和生成人类语言的技术。想象一下,当你对智能音箱说话时,它能准确理解你的指令并做出回应,这背后就是NLP在发挥作用。智能客服:自动回答用户问题情感分析:分析社交媒体上的用户情绪机器翻译:实现不同语言间的自动转换文本摘要:自动生成文章摘要基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。

2600_94959851的博客 689

c++11 无锁队列

/************************************************************************* > File Name: lockfreequeue.cpp > Author: > Mail: > Created Time: Wed 08 Aug 2018 11:38:08 AM CST ********...

qq_35728402的博客 5022

采用了fluent模拟了平壁面结霜过程。udf,很经典,可以试试。

利用该模型作为FLUENT中的源项,模拟了在局部冷却下冷表面上的霜形成,以预测霜的形态、温度分布和霜的重量,结果与实验结果吻合良好。结果显示,霜首先围绕冷却块形成,然后逐渐向其他方向扩展,冷却块上方的霜密度最大。随着时间的推移,平均霜厚度逐渐增加,生长速率减慢,而平均霜密度随增长速率变快而增加。相变传递微观过程与机理、蒸发及冷凝换热、强化传热、高效传热管、热泵、制冷、节水节能新技术、电子元器件冷却、余热回收及梯级利用等。udf,很经典,可以试试。工程热物理、空调、热能、低温制冷、化工、物理等。

qq_15963745的博客 922

ASR、NLP与TTS技术入门:从基础概念到实战应用

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960152的博客 1090

ROS从入门到精通1-1:ROS核心架构、常用指令与计算图

本文介绍ROS的核心架构,各个文件、目录的用途、常用命令行工具、动态计算图原理。

FRIGIDWINTER的博客 6369

NLP已死?大模型时代谁在悄悄重建「语言巴别塔」

本文来自「大千AI助手」技术实战系列,专注用真话讲技术,拒绝过度包装。

拒绝AI玄学,只聊真技术▲ 932

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【一起入门NLP】中科院自然语言处理第1课-绪论

专栏介绍:本栏目为????2021秋季中国科学院大学胡玥老师的自然语言处理????课程记录,不仅仅是课程笔记噢~ 每周上两小节课,每周更新两篇博客,如果感兴趣的话,就和我一起入门NLP吧???? 第【1】课:绪论 本节课老师讲了很多故事,整体介绍了自然语言处理这个领域以及它的发展历史,由于硬核的内容不多,因此本篇笔记也比较短~ 目录 1. 自然语言处理与人工智能 2. 自然语言处理发展 3. 自然语言处理技术及应用架构 1. 自然语言处理与人工智能 什么是人工智能? 建立可智能化处

vector的博客 1394

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

NLP自然语言处理实战:从预处理到模型部署

自然语言处理(NLP)是人工智能的核心技术之一,通过计算机理解、解释和生成人类语言。其核心原理涉及词嵌入、注意力机制等深度学习技术,在文本分类、机器翻译等场景展现巨大价值。实际工程中,中文分词、BERT模型优化等环节存在诸多挑战,需要结合业务场景选择合适工具链。例如医疗领域需特殊处理医学术语,金融文本则要关注数字实体识别。本文深入探讨NLP工程化落地的关键技术,涵盖Word2Vec调参技巧、BERT模型蒸馏压缩等实战经验,并分享对话系统、文本分类等典型应用场景的优化方案。

weixin_30568591的博客 507

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

从零理解AI、NLP与LLM:核心概念与实战入门指南

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94959838的博客 312

【Hugging Face硬核书】Transformer自然语言处理(Hugging Face):构建语言应用

在本指南中,作者Lewis Tunstall、Leandro von Werra和Thomas Wolf(拥抱Transformers 的创始人之一)使用亲身实践的方法来教你Transformers如何工作,以及如何将它们集成到应用程序中。为了达到这个目的,它关注于实际的用例,并且只在必要的时候深入研究理论。第十一章,未来方向,探讨了Transformers面临的挑战和一些令人兴奋的新方向的研究,在这一领域将进入。第五章,文本生成,探讨了Transformers模型生成文本的能力,并介绍了解码策略和度量。

weixin_59191169的博客 580

清华大学出品的《Hugging Face自然语言处理详解》硬核书 |含PDF

自然语言处理一直作为人工智能领域内的重要难题,历史上无数的科学家付出了巨大的心血对其进行研究。著名的图灵测试本质上也是一个自然语言处理任务。在深度学习成为主流后,自然语言处理确立了主要的研究方向,尤其是在谷歌提出了Transformer和BERT模型以后,基于预训练模型的方法,已成为自然语言处理研究的主要方向。今天给大家带来一本《HuggingFace自然语言处理详解——基于BERT中文模型的任务实战》,本书综合性讲解HuggingFace社区提供的工具集datasets和transformers。

2401_85325397的博客 1230

Android集成NLP实战指南:从零搭建智能文本处理模块

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960134的博客 859

NLP硬核入门-条件随机场CRF

点击上方,选择星标或置顶,每天给你送干货!阅读大概需要12分钟跟随小博主,每天进步一丢丢来自:数论遗珠 本文需要的前序知识储备是:隐马尔科夫模型HMM。 链接:NLP硬核入门-隐...

zenRRan的博客 389
上一篇: 深度学习全景指南:硬核实战版
下一篇: 深度学习学习路径规划
Yardon_Official
博客等级 码龄5年 800粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Yardon_Official

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值