作业帖 | NLP+推荐-深度学习集训营 【第一次作业】

简介: 作业帖 | NLP+推荐-深度学习集训营 【第一次作业】

AI Studio 用户名: javaroom

作业 1-1 :

( 1 ) paddlepaddle 安装

pip3 install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple

 

image.png

( 2 )学习使用 PaddleNLP 下面的 LAC 模型或 Jieba 分词

 

( 3 )对人民日报语料完成切词,并通过统计每个词出现的概率,计算信息熵

# -*- coding: utf-8 -*-
"""
__title__ =
__author__ = javaroom
__date__ = 2020/2/26 15:32
"""
import os
import math
import jieba
from collections import Counter
def word_count(filepath):
    word_list = []
    file_list = os.listdir(filepath)
    for file in file_list:
        path = os.path.join(filepath, file)
        text = open(path, encoding='utf-8').read()
        text = text.strip().replace(' ', '').replace('\n', '').replace('“', '') \
            .replace('”', '').replace('、', '') \
            .replace(',', '').replace('。', '').replace('。', '') \
            .replace('(', '').replace(')', '').replace('-', '')
        seg_list = jieba.cut(text)
        word_list += seg_list
    word_count = Counter(word_list)
    # 计算信息熵
    entropy = 0
    for word in word_count:
        word_count[word] /= len(word_list)
        percent = word_count[word]
        entropy += percent * math.log(percent, 2)
    entropy = -entropy
    print("信息熵:", entropy)
if __name__ == '__main__':
    file_dir = '194605'
    word_count(file_dir)
C:\Python37\python.exe C:/Users/Administrator/PycharmProjects/paddletest/fenci/jiebatest.py
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\ADMINI~1\AppData\Local\Temp\jieba.cache
Loading model cost 0.650 seconds.
Prefix dict has been built successfully.
信息熵: 11.762779320674147
Process finished with exit code 0

image.png

 

作业 1-2 :

( 1 )思考一下,假设输入一个词表里面含有 N 个词,输入一个长度为 M 的句子,那么最大前向匹配的计算复杂度是多少?

从后向前,依次和词表里 N 个词进行比较,那么应该是 N*(m(m+1)/2)

 

( 2 )给定一个句子,如何计算里面有多少种分词候选,你能给出代码实现吗?

最多的分词候选,那么急于最大前向匹配算法,从后到前,每匹配上 1 词,算 1 个。

 

 

( 3 )除了最大前向匹配和 N-gram 算法,你还知道其他分词算法吗,请给出一段小描述。

前向最大匹配算法:从前向后寻找在词典中存在的词。

 

后向最大匹配算法:与前向最大匹配算法类似,只是方向相反,即从后向前寻找词典中存在的词并输出。

 

双向最大匹配算法:双向最大匹配算法的原理就是将正向最大匹配算法和逆向最大匹配算法进行比较,从而确定正确的分词方法。


目录
相关文章
|
机器学习/深度学习 存储 自然语言处理
【NLP自然语言处理】探索注意力机制:解锁深度学习的语言理解新篇章(上)
【NLP自然语言处理】探索注意力机制:解锁深度学习的语言理解新篇章(上)
|
机器学习/深度学习 存储 自然语言处理
【NLP自然语言处理】探索注意力机制:解锁深度学习的语言理解新篇章(下)
【NLP自然语言处理】探索注意力机制:解锁深度学习的语言理解新篇章(下)
【NLP自然语言处理】探索注意力机制:解锁深度学习的语言理解新篇章(下)
|
机器学习/深度学习 自然语言处理 搜索推荐
探索深度学习与自然语言处理(NLP)在智能客服系统中的创新应用
探索深度学习与自然语言处理(NLP)在智能客服系统中的创新应用
982 1
|
机器学习/深度学习 自然语言处理 数据处理
|
机器学习/深度学习 自然语言处理 异构计算
【NLP自然语言处理】初识深度学习模型Transformer
【NLP自然语言处理】初识深度学习模型Transformer
|
机器学习/深度学习 数据采集 自然语言处理
【NLP自然语言处理】基于PyTorch深度学习框架构建RNN经典案例:构建人名分类器
【NLP自然语言处理】基于PyTorch深度学习框架构建RNN经典案例:构建人名分类器
|
机器学习/深度学习 自然语言处理 数据挖掘
【NLP】深度学习的NLP文本分类常用模型
本文详细介绍了几种常用的深度学习文本分类模型,包括FastText、TextCNN、DPCNN、TextRCNN、TextBiLSTM+Attention、HAN和Bert,并提供了相关论文和不同框架下的实现源码链接。同时,还讨论了模型的优缺点、适用场景以及一些优化策略。
2098 1
|
机器学习/深度学习 自然语言处理 并行计算
|
机器学习/深度学习 运维 安全
深度学习在安全事件检测中的应用:守护数字世界的利器
深度学习在安全事件检测中的应用:守护数字世界的利器
513 22
|
12月前
|
机器学习/深度学习 编解码 人工智能
计算机视觉五大技术——深度学习在图像处理中的应用
深度学习利用多层神经网络实现人工智能,计算机视觉是其重要应用之一。图像分类通过卷积神经网络(CNN)判断图片类别,如“猫”或“狗”。目标检测不仅识别物体,还确定其位置,R-CNN系列模型逐步优化检测速度与精度。语义分割对图像每个像素分类,FCN开创像素级分类范式,DeepLab等进一步提升细节表现。实例分割结合目标检测与语义分割,Mask R-CNN实现精准实例区分。关键点检测用于人体姿态估计、人脸特征识别等,OpenPose和HRNet等技术推动该领域发展。这些方法在效率与准确性上不断进步,广泛应用于实际场景。
1365 64
计算机视觉五大技术——深度学习在图像处理中的应用