主要内容

doc2sequence

将文档转换成深度学习的序列

自从R2018b

描述

例子

序列= doc2sequence (内附,文档)返回一个数字的单元阵列指数的单词文档由“编码”这个词内附。的每个元素序列是一个向量的指数字在相应的文档。

例子

序列= doc2sequence (循证,文档)返回一个单元阵列嵌入向量的单词文档由“嵌入”这个词循证。的每个元素序列是一个矩阵嵌入向量的单词在相应的文档。

例子

序列= doc2sequence (___,名称,值)使用一个或多个指定附加选项名称-值对参数。

例子

全部折叠

加载工厂报告数据和创建一个tokenizedDocument数组中。

文件名=“factoryReports.csv”;data = readtable(文件名,“TextType”,“字符串”);textData = data.Description;文件= tokenizedDocument (textData);

创建一个词编码。

内附= wordEncoding(文件);

将文档转换为序列的指数。

序列= doc2sequence (enc,文档);

视图的大小头10序列。每个序列1 -年代向量,年代序列是词的数量指标。由于序列填充,年代是恒定的。

序列(1:10)
ans =10×1单元阵列{[0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10]}{[0 0 0 0 0 0 2 16 17 18 19 11 12 13 14 15 10]}{[0 0 0 0 0 0 20 2 7 7 21日22日23日24日25日26日10]}{[0 0 0 0 0 0 0 0 0 0 0 27 28 6 7 18 10]}{[0 0 0 0 0 0 0 0 0 0 0 0 29 30 7 31 10]}{[0 0 0 0 0 0 0 32 33 6 7 34 35 36 37 38 10]}{[0 0 0 0 0 0 0 0 0 39 40 36 41 6 7 42 10]}{[0 0 0 0 0 0 0 0 43 44 22 45 46 47 7 48 10]}{[0 0 0 0 0 0 0 0 0 0 49 50 17 7 51 48 10]}{52 [0 0 0 0 8 53 36 54 55 56 57 58 59 22 60 10]}

数组标记化的文档转换为词向量使用pretrained嵌入的序列。

加载一个pretrained字嵌入使用fastTextWordEmbedding函数。这个函数需要文本分析工具箱™模型160亿年fastText英语嵌入标记词万博1manbetx支持包。如果这种支持包没万博1manbetx有安装,那么函数提供一个下载链接。

emb = fastTextWordEmbedding;

加载工厂报告数据和创建一个tokenizedDocument数组中。

文件名=“factoryReports.csv”;data = readtable(文件名,“TextType”,“字符串”);textData = data.Description;文件= tokenizedDocument (textData);

将文档转换为使用的词序列向量doc2sequence。的doc2sequence函数,默认情况下,left-pads序列长度相同。当转换大量使用高维字嵌入文档,填充需要大量内存。防止函数填充数据,设置“PaddingDirection”选项“没有”。或者,您可以控制的填充量使用“长度”选择。

序列= doc2sequence (emb、文档“PaddingDirection”,“没有”);

视图的大小头10序列。每个序列D——- - - - - -年代矩阵,D嵌入维数,年代在序列词向量的个数。

序列(1:10)
ans =10×1单元阵列{300×10单}{300×11单}{300×11单}{300×6单}{300×5单}{300×10单}{300×8单}{300×9单}{300×7单}{300×13单}

转换文档的集合词向量使用pretrained嵌入序列,序列和垫或截断到指定长度。

加载一个pretrained字嵌入使用fastTextWordEmbedding。这个函数需要文本分析工具箱™模型160亿年fastText英语嵌入标记词万博1manbetx支持包。如果这种支持包没万博1manbetx有安装,那么函数提供一个下载链接。

emb = fastTextWordEmbedding;

加载工厂报告数据和创建一个tokenizedDocument数组中。

文件名=“factoryReports.csv”;data = readtable(文件名,“TextType”,“字符串”);textData = data.Description;文件= tokenizedDocument (textData);

将文档转换为序列词向量。指定left-pad或截断序列长度为100。

序列= doc2sequence (emb、文档“长度”,100);

视图的大小头10序列。每个序列D——- - - - - -年代矩阵,D嵌入维数,年代词向量的个数在序列(序列长度)。因为指定序列的长度,年代是恒定的。

序列(1:10)
ans =10×1单元阵列{300×100单}{300×100单}{300×100单}{300×100单}{300×100单}{300×100单}{300×100单}{300×100单}{300×100单}{300×100单}

输入参数

全部折叠

输入字嵌入,指定为一个wordEmbedding对象。

输入文字编码,指定为一个wordEncoding对象。

输入文件,指定为一个tokenizedDocument数组中。

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:“长度”、“最短的这样的序列有相同的长度最短的序列。

未知词行为,指定为逗号分隔组成的“UnknownWord”和下列之一:

  • “丢弃”——如果一个字输入地图,然后丢弃它。

  • “南”——如果一个字输入地图,然后返回价值。

提示

如果要创建序列训练与字嵌入深度学习网络,使用“丢弃”。不要使用序列值,因为这样做可以通过网络传播错误。

填充方向,指定为逗号分隔组成的“PaddingDirection”和下列之一:

  • “左”——左边垫序列。

  • “对”——垫序列在右边。

  • “没有”——不垫序列。

提示

当转换使用高维海量数据嵌入,填充需要大量内存。防止函数添加太多的填充,设置“PaddingDirection”选项“没有”或一组“长度”一个较小的值。

填充值,指定为逗号分隔组成的“PaddingValue”和一个数字标量。不垫序列,因为这样做可以通过网络传播错误。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

序列长度指定为逗号分隔组成的“长度”和下列之一:

  • “最长”——垫序列有相同的长度最长的序列。

  • “最短”——截断序列有相同的长度最短的序列。

  • 正整数——垫或截断序列指定的长度。右边的函数序列。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符|字符串

输出参数

全部折叠

输出序列,作为细胞数组返回。

字嵌入输入的th元素序列是一个矩阵的向量对应输入文档。

字编码输入的th元素序列是一个向量的编码指标对应输入文档。

提示

  • 当转换使用高维海量数据嵌入,填充需要大量内存。防止函数添加太多的填充,设置“PaddingDirection”选项“没有”或一组“长度”一个较小的值。

版本历史

介绍了R2018b