计算机网络学习笔记8--Email

https://www.bilibili.com/video/BV1Up411Z7hC?p=26

如有错误之处请指出,谢谢!

目录

Email应用

Email应用的构成组件

邮件客户端

邮件服务器

 SMTP协议

采用邮件服务器的好处:

SMTP协议:RFC 2821

命令/响应交互模式:

 Email实例

SMTP交互示例

 SMTP协议与HTTP协议对比​

 Email消息格式与POP3协议

Email消息格式

多媒体扩展

 邮件访问协议

POP:Post Office Protocol[RFC 1939]

IMAP:Internet Mail Access Protocol[RFC 1730]

POP3协议

认证过程

事务阶段

 “下载并删除”模式

“下载并保持”模式

POP3是无状态的

IMAP协议

 IMAP与POP3有哪些不同(课后练习)


p26-p27

Email应用

Email应用的构成组件

邮件客户端(user agent)

邮件服务器

SMTP协议(Simple Mail Transfer Protocol)

邮件客户端

读、写Email消息

与服务器交互,收、发Email消息

Outlook,Foxmail,Thunderbird

Web客户端

邮件服务器

邮箱:存储发给该用户的Email

消息队列:存储等待发送的Email

 SMTP协议

邮件服务器之间传递消息所使用的协议

客户端:发送消息的服务器

服务器:接收消息的服务器

采用邮件服务器的好处:

PC端不能保证7*24小时在线,如果直连则用户需要等待对方在线才能退出,邮件服务器方便了用户使用。

SMTP协议:RFC 2821

使用TCP进行Email消息的可靠传输

端口25

传输过程的三个阶段:1、握手2、消息的传输3、关闭

命令/响应交互模式:

    1、命令:ASCII文本

    2、响应:状态代码和语句

Email消息只能包含7为ASCII码

 Email实例

1 用户1用自己的邮件客户端写了个消息

2 用户1把自己的邮件消息发送给自己的邮件服务器

3 邮件服务器队列把队列中的消息发送到对方的邮件服务器队列中

4 用户2在某一时刻利用邮件客户端获取邮件消息

email是个异步应用,发送发与接收方不一定同时

SMTP交互示例

S:Server C:Client

 SMTP协议与HTTP协议对比

 Email消息格式与POP3协议

Email消息格式

多媒体扩展

 声明有多媒体内容、编码格式、文件类型

 

 邮件访问协议

作用:从服务器获取邮件

POP:Post Office Protocol[RFC 1939]

认证/授权(客户端<-->服务器)和下载

IMAP:Internet Mail Access Protocol[RFC 1730]

更多功能

更加复杂

能够从操纵服务器上存储的消息

HTTP:163、QQ Mail(基于web的Email)

POP3协议

认证过程

客户端命令:User:声明用户名

                     Pass:声明密码

服务器响应:+OK

                      -ERR

事务阶段

List:列出消息数量

Retr:用编号获取消息

Dele:删除消息

Quit:推出

 “下载并删除”模式

如果用户换了客户端软件,无法重读该邮件

“下载并保持”模式

不同客户端都可以保留消息的拷贝

POP3是无状态的

IMAP协议

所有消息统一保存在一个地方:服务器

允许用户利用文件夹组织消息

IMAP支持跨会话(Session)的用户状态:

   文件夹的名字

   文件夹与消息ID之间的映射等

 IMAP与POP3有哪些不同(课后练习)

IMAP和POP3有什么区别?-163邮箱常见问题

### 使用CNN和SVM进行情感分类的方法 #### CNN的作用 卷积神经网络(Convolutional Neural Network, CNN)是一种专门用于处理网格状数据(如图像、文本等)的深度学习模型。在文本分类任务中,CNN可以有效地捕捉局部特征以及短语级别的模式[^1]。 对于情感分类任务,CNN可以通过以下方式发挥作用: - **词嵌入层**:将输入文本转换为固定长度的向量表示。通常使用预训练的词向量(如GloVe或Word2Vec),或者通过随机初始化的方式构建词嵌入矩阵。 - **卷积操作**:通过对词嵌入后的文本应用多个大小不同的滤波器来提取局部特征。这些滤波器能够识别特定的语言结构,例如常见的情感表达模式。 - **池化操作**:减少空间维度的同时保留最重要的特征信息。最大池化是最常用的策略之一,它选取每个过滤器响应的最大值作为最终特征表示的一部分。 以下是基于Python实现的一个简单CNN模型代码示例: ```python import tensorflow as tf from tensorflow.keras import layers, models def create_cnn_model(vocab_size, embedding_dim, max_length): model = models.Sequential() # Embedding layer model.add(layers.Embedding(input_dim=vocab_size, output_dim=embedding_dim, input_length=max_length)) # Convolutional Layer with multiple filter sizes model.add(layers.Conv1D(filters=100, kernel_size=3, activation='relu')) # Global Max Pooling to reduce dimensionality model.add(layers.GlobalMaxPooling1D()) # Fully connected layer before SVM-like classification model.add(layers.Dense(50, activation='relu')) return model ``` #### SVM的角色 支持向量机(Support Vector Machine, SVM)是一种经典的监督学习算法,在二分类问题上表现优异。尽管SVM本身不是一种深度学习技术,但它可以与CNN结合形成混合模型,从而充分利用两者的优点[^2]。 具体来说,可以从以下几个方面考虑这种组合的应用场景: - 将CNN提取到的高级特征传递给线性核或其他类型的SVM完成最终决策边界划分; - 利用SVM强大的泛化能力弥补某些情况下仅依靠深层网络可能出现过拟合的风险; 下面展示了一个如何把前面定义好的CNN部分输出结果送入sklearn库里的标准SVM来进行预测的例子: ```python from sklearn.svm import SVC import numpy as np # Assume `cnn_features` is the feature vector extracted by CNN and labels are given. X_train, y_train = cnn_features[:80], labels[:80] X_test, y_test = cnn_features[80:], labels[80:] svm_classifier = SVC(kernel="linear", C=1.0) svm_classifier.fit(X_train, y_train) predictions = svm_classifier.predict(X_test) accuracy = sum(predictions == y_test)/len(y_test)*100 print(f"SVM Accuracy on test set: {accuracy:.2f}%") ``` #### 结合两者的优势 当我们将CNN与SVM结合起来解决情感分析问题时,实际上创建的是一个分阶段的学习框架——先由前者负责复杂的数据表征工作,再交后者执行精确的目标判定过程[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

软糖工程001

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

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

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

打赏作者

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

抵扣说明:

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

余额充值