"Characters" (神经网络解码器)

NetDecoder["Characters"]

表示一个解码器,将概率向量序列转换成由 ASCII 字符组成的字符串.

NetDecoder[{"Characters",table}]

表示一个解码器,将概率向量转换成由列表 table 中的字符组成的字符串.

NetDecoder[{"Characters",table,"param"value,}]

表示一个解码器,其中指定了其他参数.

更多信息

  • NetDecoder[][input] 对一个输入应用解码器,产生一个输出.
  • NetDecoder[][{input1,input2,}] 对一系列输入应用解码器,产生一系列输出.
  • 解码器 input 的输入是概率向量或概率向量序列. 每个概率向量的和为 1. 对于 NetDecoder["Characters"],每个概率向量的长度是 ASCII 字符的个数,即 97. 对于 NetDecoder[{"Characters",table}],每个概率向量的长度是 table 中字符的个数.
  • NetDecoder[][input] 返回一个字符串.
  • table 指定的从概率向量到字符的映射关系可以有以下形式:
  • "c1c2"将每个字符 ci 映射到连续的可用代码
    "c1c2"n将所有字符 ci 映射到代码 n
    "c1c2"Automatic将所有字符 ci 映射到下一个可用代码
    n;;mspecnm 之间的字符映射到 spec
    {spec1,spec2,}speci 中按顺序分配代码
  • 表格中可使用以下符号字符集:
  • Automatic所有可打印的 ASCII 字符,加上空格、制表符 (tab) 和换行符
    LetterCharacter字母 a 到 z,和字母 A 到 Z
    DigitCharacter数字 0 到 9
    WordCharacterLetterCharacterDigitCharacter 的并集
    PunctuationCharacter所有可见的 ASCII 标点符号字符
    WhitespaceCharacter空格、制表符 (tab) 和换行符
    StartOfString出现在字符串开头前的虚拟字符
    EndOfString出现在字符串末尾后的虚拟字符
    _任何未分配的字符
  • NetDecoder["Characters"] 适用于典型的英文散文,由所有可打印的 ASCII 字符以及制表符、空格和换行符组成.
  • NetDecoder["Characters"] 等价于 NetDecoder[{"Characters",{"\t","\n",FromCharacterCode[Range[32,126]]}}].
  • 在构建网络时,可通过指定 "port"->NetDecoder[] 将解码器添加到网络的输出端口上.
  • NetDecoder[{"Characters",}][["Alphabet"]] 产生解码器可识别的字符的列表.
  • NetEncoder[NetDecoder[{"Characters",}]] 给出一个 NetEncoder[{"Characters",}],与给定的解码器具有相同的编码.
  • 属性
  • NetDecoder[][data,prop] 可用于计算输入数据的指定属性.
  • 当一个 "Characters" 解码器附加在网络,net[data,prop]net[data,"oport"->prop] 可用于计算解码输出的指定属性.
  • "Characters" 解码器仅支持绕过 (bypass) 属性. 设置 propNone 绕过解码并返回输入给解码器.

范例

打开所有单元关闭所有单元

基本范例  (1)

创建字符解码器:

解码概率序列:

范围  (2)

创建字符解码器:

创建一个 NumericArray 表示概率向量的序列:

解码概率序列:

解码器映射一批范例:

创建字符解码器:

对句子的独热向量表示进行解码:

属性和关系  (2)

提取默认的 "Characters" 解码器可识别的字符列表:

根据 NetDecoder 产生一个 NetEncoder