主要内容

doc2sequence

将文档转换为序列以进行深入学习

描述

实例

序列= doc2sequence (enc,文件)返回中单词的数字索引的单元格数组文件由单词编码给出enc.的每个元素序列是对应文档中单词索引的向量。

实例

序列= doc2sequence (教统局,文件)返回中单词的嵌入向量的单元格数组文件由单词embedding给出教统局.的每个元素序列是对应文档中单词的嵌入向量的矩阵。

实例

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

例子

全部折叠

加载工厂报告数据并创建tokenizedDocument大堆

文件名=“factoryReports.csv”; 数据=可读性(文件名,“文本类型”,“字符串”);textData=data.Description;documents=tokenizedDocument(textData);

创建一个单词编码。

enc=文字编码(文档);

将文档转换为单词索引序列。

序列=DOC2序列(enc,文件);

查看前10个序列的大小。每个序列是a 1-by-s向量,s是序列中的单词索引数。因为序列是填充的,s是恒定的。

序列(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 11 12 13 14 15 2 16 17 18 19 10]} {[ 0 0 0 0 0 0 20 2 21 22 7 23 24 25 7 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]} {[0 0 0 0 52 8 53 36 54 55 56 57 58 59 22 60 10]}

使用预训练单词嵌入将标记化文档数组转换为单词向量序列。

使用fastTextWordEmbedding函数。此函数需要文本分析工具箱™ 模型对于fastText English,160亿标记词嵌入金宝app支持包。如果未安装此支持包,则该功能将提供下载链接。

emb=fastTextWordEmbedding;

加载工厂报告数据并创建tokenizedDocument大堆

文件名=“factoryReports.csv”; 数据=可读性(文件名,“文本类型”,“字符串”);textData=data.Description;documents=tokenizedDocument(textData);

使用将文档转换为单词向量序列doc2sequence.的doc2sequence函数,默认情况下,左填充具有相同长度的序列。当使用高维词嵌入转换大型文档集合时,填充可能需要大量内存。为防止该函数填充数据,请设置“填充方向”选项“没有”.控件也可以控制填充的数量“长度”选择。

序列=文件序列(emb、文件、,“填充方向”,“没有”);

查看前10个序列的大小。每个序列是D——- - - - - -s矩阵,D嵌入维度是,和s是序列中的字向量数。

序列(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单一}

使用预训练单词嵌入将文档集合转换为单词向量序列,并将序列填充或截断到指定长度。

加载一个预先训练的词嵌入使用fastTextWordEmbedding. 此函数需要文本分析工具箱™ 模型对于fastText English,160亿标记词嵌入金宝app支持包。如果未安装此支持包,则该功能将提供下载链接。

emb=fastTextWordEmbedding;

加载工厂报告数据并创建tokenizedDocument大堆

文件名=“factoryReports.csv”; 数据=可读性(文件名,“文本类型”,“字符串”);textData=data.Description;documents=tokenizedDocument(textData);

将文档转换为单词向量序列。指定为左填充或截断序列,使其长度为100。

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

查看前10个序列的大小。每个序列是D——- - - - - -s矩阵,D嵌入维度是,和s为序列中单词向量的个数(序列长度)。因为指定了序列长度,s是恒定的。

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

输入参数

全部折叠

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

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

输入文档,指定为tokenizedDocument大堆

名称值参数

指定可选的逗号分隔的字符对名称,值参数。名称是参数名和价值为对应值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“长度”,“最短”截断序列以使其具有与最短序列相同的长度。

未知单词行为,指定为逗号分隔对,由“UnknownWord”以及下列其中一项:

  • “丢弃”—如果一个单词不在输入映射中,则丢弃它。

  • “南”—如果一个单词不在输入映射中,则返回a价值

提示

如果您正在创建序列,以训练一个深度学习网络与单词嵌入,使用“丢弃”.不使用序列与值,因为这样做会通过网络传播错误。

填充方向,指定为逗号分隔对组成“填充方向”以及下列其中一项:

  • “左”—左侧填充序列。

  • “对”—右侧填充序列。

  • “没有”–不要按顺序填充。

提示

当使用高维词嵌入转换大量数据集时,填充可能需要大量内存。为防止函数添加过多的填充,请设置“填充方向”选项“没有”或一组“长度”到一个更小的值。

填充值,指定为逗号分隔对,由“PaddingValue”和一个数字标量。不要用,因为这样做会通过网络传播错误。

数据类型:仅有一个的||int8|int16|int32|int64|uint8|uint16|uint32|uint64

序列长度,指定为逗号分隔对,由“长度”以及下列其中一项:

  • “最长”–焊盘序列的长度应与最长序列的长度相同。

  • “最短”—截断序列,使其长度与最短序列相同。

  • 正整数-填充或截断序列以具有指定的长度。函数截断右边的序列。

数据类型:仅有一个的||int8|int16|int32|int64|uint8|uint16|uint32|uint64|字符|一串

输出参数

全部折叠

输出序列,作为单元格数组返回。

对于单词嵌入输入第th元素序列是对应于输入文档。

对于字编码输入第th元素序列单词编码索引的向量是否对应于输入文档。

提示

  • 当使用高维词嵌入转换大量数据集时,填充可能需要大量内存。为防止函数添加过多的填充,请设置“填充方向”选项“没有”或一组“长度”到一个更小的值。

在R2018b中引入