RNN在做语义分析该怎么理解

61次阅读
没有评论

共计 1535 个字符,预计需要花费 4 分钟才能阅读完成。

今天给大家介绍一下 RNN 在做语义分析该怎么理解。文章的内容丸趣 TV 小编觉得不错,现在给大家分享一下,觉得有需要的朋友可以了解一下,希望对大家有所帮助,下面跟着丸趣 TV 小编的思路一起来阅读吧。

  这个例子是 deeplearnling/tutorial/rnnslu.html 中的例子。

任务:

 The Slot-Filling (Spoken Language Understanding) consists in assigning a label to each word given a sentence. It’s a classification task.

  口语理解是为给定的一个句子分配标签。是一个分类问题。

数据集

  采用的数据集是 ATIS (Airline Travel Information System) dataset, 是一个文本的数据分类的数据集,是根据航天公司电话预约时的电话记录,已通过语音处理转成了文字,采用(IOB)的表示方式。

IOB 的表示方式:B 是表示一个类的开始,I 是表示一个类的中间,O 是表示空类。如下表示:

Input (words)showflightsfromBostontoNewYorktodayOutput (labels)OOOB-deptOB-arrI-arrB-date

 The ATIS offical split contains 4,978/893 sentences for a total of 56,590/9,198 words (average sentence length is 15) in the train/test set. The number of classes (different slots) is 128 including the O label (NULL).

 ATIS 官方把整个数据集分为训练集 / 测试集 –4978/893 个句子,一共有 56590/9198 单词(平均每一个句子有 15 个单词)。分为 128 个类,里面包含了 O(空类)。

  如果没有出现的词用 UNK 类表示。

  对数据分类的准确性用如下三个指标:Precision(精度),Recall(召回率),F1 score。这个百度一下就知道了,简单地说,这三个都能表示分类准确率,满分是 100,其中 Precision,Recall 有一定互斥性,故 F1 score,是最好的。

  我们还可以使用 conlleval.pl 的 PERL 程序看出分类后的结果。

RNN 模型与数据处理

  数据表示:每一个单词一开始的代表是一个 token,编程表示为一个数字,一句话就是多个数字组成的,这是输入表示,不过不是最终表示,输出对应的一个标签。

  上下文窗口:

 The index -1 corresponds to the PADDING index we insert at the beginning/end of the sentence.

  从上可以看出,窗口设的越大,数据长度越长。

  词向量:

  词向量是很有创新性的表示方式,一个单词表示如果用 One-hot Representation, 如,

 “话筒”表示为 [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 …]
“麦克”表示为 [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 …]

  其中只有一个为 1,有很多有缺陷,故有了词向量。把一个词表示成 [0.792, −0.177, −0.107, 0.109, −0.542, …]。维度以 50 维和 100 维比较常见。这个词向量不是固定的,也是要经过训练得到的。

 RNN 要学习的参数:

 

 RNN 整个架构设置好的参数:

 

跑程序

以上就是 RNN 在做语义分析该怎么理解的全部内容了,更多与 RNN 在做语义分析该怎么理解相关的内容可以搜索丸趣 TV 之前的文章或者浏览下面的文章进行学习哈!相信丸趣 TV 小编会给大家增添更多知识, 希望大家能够支持一下丸趣 TV!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-04发表,共计1535字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)