日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

dnn文本分类

發布時間:2025/3/20 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 dnn文本分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

文本分類任務根據給定一條文本的內容,判斷該文本所屬的類別,是自然語言處理領域的一項重要的基礎任務。具體的,本任務是對文本quey進行分類,任務流程如下:
  • 收集用戶query數據。
  • 清洗,標記。
  • 模型設計。
  • 模型學習效果評估。
  • 運行

    訓練: sh +x train.sh 預測: python infer.py

    輸入/輸出

    輸入樣本:

    label text(分詞后)

    0 龍脈溫泉 住宿 1 龍馬 機場 飛機 2 龍里 旅游 其中,label 0,1和2分別代表:酒店,票務和住宿。

    預估樣本:

    2 0.0002 0.0001 0.9997 港澳 7 日 自助游 label prob text 其中,label為概率最大的類別,即2旅游,中間三個數值為每個類別的概率。

    DNN 模型

    DNN 模型結構入下圖所示:

    ?

    圖1. 本例中的 DNN 文本分類模型 在 PaddlePaddle 實現該 DNN 結構的代碼見 network_conf.py 中的 fc_net 函數,模型主要分為如下幾個部分:
    • 詞向量層:為了更好地表示不同詞之間語義上的關系,首先將詞語轉化為固定維度的向量。訓練完成后,詞與詞語義上的相似程度可以用它們的詞向量之間的距離來表示,語義上越相似,距離越近。關于詞向量的更多信息請參考PaddleBook中的詞向量一節。
    • 最大池化層:最大池化在時間序列上進行,池化過程消除了不同語料樣本在單詞數量多少上的差異,并提煉出詞向量中每一下標位置上的最大值。經過池化后,詞向量層輸出的向量序列被轉化為一條固定維度的向量。例如,假設最大池化前向量的序列為[[2,3,5],[7,3,6],[1,4,0]],則最大池化的結果為:[7,4,6]。
    • 全連接隱層:經過最大池化后的向量被送入兩個連續的隱層,隱層之間為全連接結構。
    • 輸出層:輸出層的神經元數量和樣本的類別數一致,例如在二分類問題中,輸出層會有2個神經元。通過Softmax激活函數,輸出結果是一個歸一化的概率分布,和為1,因此第$i$個神經元的輸出就可以認為是樣本屬于第$i$類的預測概率。
    該 DNN 模型默認對輸入的語料進行二分類(class_dim=3),embedding(詞向量)維度默認為28(emd_dim=28),兩個隱層均使用Tanh激活函數(act=paddle.activation.Tanh())。需要注意的是,該模型的輸入數據為整數序列,而不是原始的單詞序列。事實上,為了處理方便,我們一般會事先將單詞根據詞頻順序進行 id 化,即將詞語轉化成在字典中的序號。

    源碼:

    import sys import math import gzipfrom paddle.v2.layer import parse_network import paddle.v2 as paddle__all__ = ["fc_net", "convolution_net"]def fc_net(dict_dim,class_num,emb_dim=28,hidden_layer_sizes=[28, 8],is_infer=False):""" define the topology of the dnn network:param dict_dim: size of word dictionary:type input_dim: int:params class_num: number of instance class:type class_num: int:params emb_dim: embedding vector dimension:type emb_dim: int""" # define the input layersdata = paddle.layer.data("word",paddle.data_type.integer_value_sequence(dict_dim))if not is_infer:lbl = paddle.layer.data("label",paddle.data_type.integer_value(class_num))# define the embedding layeremb = paddle.layer.embedding(input=data, size=emb_dim)# max pooling to reduce the input sequence into a vector (non-sequence)seq_pool = paddle.layer.pooling(input=emb, pooling_type=paddle.pooling.Max())for idx, hidden_size in enumerate(hidden_layer_sizes):hidden_init_std = 1.0 / math.sqrt(hidden_size)hidden = paddle.layer.fc(input=hidden if idx else seq_pool,size=hidden_size,act=paddle.activation.Tanh(),param_attr=paddle.attr.Param(initial_std=hidden_init_std))prob = paddle.layer.fc(input=hidden,size=class_num,act=paddle.activation.Softmax(),param_attr=paddle.attr.Param(initial_std=1.0 / math.sqrt(class_num)))if is_infer:return probelse:return paddle.layer.classification_cost(input=prob, label=lbl), prob, lbldef convolution_net(dict_dim,class_dim=2,emb_dim=28,hid_dim=128,is_infer=False):""" cnn network definition:param dict_dim: size of word dictionary:type input_dim: int:params class_dim: number of instance class:type class_dim: int:params emb_dim: embedding vector dimension:type emb_dim: int:params hid_dim: number of same size convolution kernels:type hid_dim: int""" # input layersdata = paddle.layer.data("word",paddle.data_type.integer_value_sequence(dict_dim))lbl = paddle.layer.data("label", paddle.data_type.integer_value(class_dim))# embedding layeremb = paddle.layer.embedding(input=data, size=emb_dim)# convolution layers with max poolingconv_3 = paddle.networks.sequence_conv_pool(input=emb, context_len=3, hidden_size=hid_dim)conv_4 = paddle.networks.sequence_conv_pool(input=emb, context_len=4, hidden_size=hid_dim)# fc and output layerprob = paddle.layer.fc(input=[conv_3, conv_4], size=class_dim, act=paddle.activation.Softmax())if is_infer:return probelse:cost = paddle.layer.classification_cost(input=prob, label=lbl)return cost, prob, lbl

    ?

    訓練結果如下圖:

    預估結果:

    ?

    轉載于:https://www.cnblogs.com/rongyux/p/7295571.html

    總結

    以上是生活随笔為你收集整理的dnn文本分类的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美成人黑人猛交 | 国产伦精品一区二区三区免费 | 怡红院久久 | 91老司机在线| 久久视频国产 | h片在线观看免费 | 亚洲涩涩 | 小毛片网站 | 一级特黄bbbbb免费观看 | 欧美成人a视频 | 91亚瑟视频| 操少妇视频 | 日韩欧美国产成人 | 中文字幕一区二区三区在线观看 | 欧美精品免费播放 | 国产伦精品免费视频 | 肉色超薄丝袜脚交一区二区图片 | 久久婷婷热 | 91精品影视| 久久精品偷拍视频 | 新x8x8拨牐拨牐永久免费影库 | 国产 日韩 欧美 在线 | 欧美综合在线一区 | 欧美黄色大片免费观看 | 免费在线观看黄网站 | 三级全黄做爰龚玥菲在线 | 欧美性猛交xxx乱久交 | 亚洲精品国产成人av在线 | 奇米第四色在线 | 一级片在线免费观看 | 在线播放毛片 | av天天干| 亚洲第1页 | 激情视频在线观看免费 | 中文字幕在线观看视频免费 | 美女狂揉羞羞的视频 | 国产老头老太作爱视频 | 亚洲黄色片网站 | 黄色日韩 | 精品久久无码中文字幕 | 欧美午夜久久久 | 日韩激情影院 | 天天天综合网 | 欧美乱子伦 | 日韩视频不卡 | 娇妻第一次尝试交换的后果 | 成人av一区二区在线观看 | 亚洲一区二区免费看 | 国产一区二区视频播放 | 国产精品三 | 欧美成人91 | 男人的天堂国产 | 中国在线观看视频高清免费 | 91久久精品www人人做人人爽 | 99免费视频 | www.555国产精品免费 | 99热最新网址 | 91午夜视频 | 伊人影视久久 | 欧美顶级metart裸体全部自慰 | 黑白配高清国语在线观看 | 最近的中文字幕在线看视频 | 欧美视频免费在线 | 最近国语视频在线观看免费播放 | 俄罗斯av片| 国产一区二区小视频 | 3d动漫精品啪啪一区二区免费 | 一道本久在线中文字幕 | 污污视频免费看 | 婷婷在线一区 | 四虎看黄 | 天天爽夜夜春 | 国产精品九九视频 | 欧美大片免费播放器 | 四虎免费网址 | 日韩精品在线视频免费观看 | 国产精品国产一区二区三区四区 | 一级在线视频 | 亚洲av久久久噜噜噜熟女软件 | 国产一级二级毛片 | 免费一级特黄 | 男人把女人捅爽 | 国产大学生av | sm久久捆绑调教精品一区 | 中文字幕免费在线观看视频 | 欧美孕交视频 | 无码人妻丰满熟妇区五十路 | 日本免费看 | 720url在线观看免费版 | 日韩黄色片免费看 | 成人免费在线视频观看 | 久久露脸| 国模av | 一级淫片免费 | 国产成人精品无码播放 | 少妇饥渴放荡91麻豆 | 美女毛片 | 噜噜色综合 | 污视频在线观看网址 |