主要内容

doc2sequence.

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

描述

例子

序列= doc2sequence(内附文档返回单词的数字索引的单元格数组文档由编码单词给出内附.每个元素序列是相应文档中单词指标的矢量。

例子

序列= doc2sequence(循证文档返回中单词的嵌入向量的单元格数组文档由单词嵌入给出循证.每个元素序列是相应文档中的单词的嵌入矢量的矩阵。

例子

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

例子

全部收缩

加载出厂报告数据并创建一个令人畏缩的鳕文数组中。

文件名=“factoryreports.csv”;data = readtable(文件名,“TextType”'细绳');textData = data.Description;文件= tokenizedDocument (textData);

创建一个单词编码。

内附= wordEncoding(文件);

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

序列= doc2sequence (enc,文档);

查看前10个序列的大小。每个序列都是1-by-年代矢量,在那里年代为序列中的单词索引数。因为序列是填充的,年代是恒定的。

序列(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]} {[0 0 0 0 52 8 53 36 54 55 56 57 58 59 22 60 10]}

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

加载一个预先训练的词嵌入使用fasttextwordembeddings.函数。此功能需要文本分析工具箱™模型用于快速文本英语160亿令牌词嵌入万博1manbetx支持包。如果没有安装此支万博1manbetx持包,则该函数将提供下载链接。

emb = fastTextWordEmbedding;

加载出厂报告数据并创建一个令人畏缩的鳕文数组中。

文件名=“factoryreports.csv”;data = readtable(文件名,“TextType”'细绳');textData = data.Description;文件= tokenizedDocument (textData);

使用。将文档转换为单词向量序列doc2sequence..这doc2sequence.默认情况下,默认情况下,序列具有相同的长度。使用高维文字嵌入转换大量文件时,填充可能需要大量的内存。要防止功能填充数据,请设置“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单}

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

加载嵌入使用的预磨词fasttextwordembeddings..此功能需要文本分析工具箱™模型用于快速文本英语160亿令牌词嵌入万博1manbetx支持包。如果没有安装此支万博1manbetx持包,则该函数将提供下载链接。

emb = fastTextWordEmbedding;

加载出厂报告数据并创建一个令人畏缩的鳕文数组中。

文件名=“factoryreports.csv”;data = readtable(文件名,“TextType”'细绳');textData = data.Description;文件= tokenizedDocument (textData);

将文档转换为单词向量序列。指定左填充或截断长度为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单}

输入参数

全部收缩

输入字嵌入,指定为Wordembeddings.目的。

输入字编码,指定为awordEncoding目的。

输入文档,指定为令人畏缩的鳕文数组中。

名称值对参数

指定可选的逗号分隔的对名称,价值论点。的名字参数名和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

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

未知字行为,指定为逗号分隔对组成“未知词”以及以下其中之一:

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

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

提示

如果您正在创建具有嵌入单词的深入学习网络的序列,请使用“丢弃”.不要使用序列值,因为这样做可以通过网络传播错误。

填充方向,指定为逗号分隔的配对“PaddingDirection”以及以下其中之一:

  • '剩下'- 左侧填充序列。

  • '对'- 右侧的衬垫序列。

  • “没有”—请勿填充序列。

提示

使用高维单词嵌入转换大型数据集合时,填充可能需要大量的内存。为防止功能添加太多填充,请设置“PaddingDirection”选择“没有”或集合'长度'较小的价值。

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

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8|uint16|uint32|uint64

序列长度,指定为逗号分隔对'长度'以及以下其中之一:

  • '最长'—添加与最长序列相同长度的序列。

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

  • 正整数 - 垫或截断序列具有指定的长度。该功能截断右侧的序列。

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8|uint16|uint32|uint64|char|字符串

输出参数

全部收缩

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

对于字嵌入输入,th元素序列一个向量矩阵是否对应于输入文件。

对于字编码输入,th元素序列是对应的编码指数的单词的矢量输入文件。

提示

  • 使用高维单词嵌入转换大型数据集合时,填充可能需要大量的内存。为防止功能添加太多填充,请设置“PaddingDirection”选择“没有”或集合'长度'较小的价值。

介绍了R2018b