小编xv7*_*v70的帖子

如何预处理嵌入文本?

在作为向量的单词的传统"一热"表示中,您具有与词汇的基数相同维度的向量.为了减少维度,通常会删除停用词,以及应用词干,词形等,以规范您要执行某些NLP任务的功能.

我无法理解是否/如何预处理要嵌入的文本(例如word2vec).我的目标是使用这些单词嵌入作为NN的特征,将文本分类为主题A,而不是主题A,然后在主题A的文档(使用第二个NN)上对它们执行事件提取.

我的第一直觉是预处理删除停用词,词典化词干等等.但是当我了解NN时我意识到应用于自然语言时,CBOW和skip-gram模型实际上需要整个词集存在 - 能够从上下文预测一个单词,需要知道实际的上下文,而不是规范化后的上下文的简化形式......对吗?).POS标签的实际顺序似乎是人类对词语预测的关键.

我在网上找到了一些指导,但我仍然很想知道这里的社区是怎么想的:

  1. 是否有最近普遍接受的关于标点符号,词干化,词形词,停用词,数字,小写等的最佳实践?
  2. 如果是这样,他们是什么?一般情况下,尽可能少地处理,或者在较重的一侧处理以使文本规范化更好吗?有没有权衡?

我的想法:

最好删除标点符号(但例如在西班牙语中不删除重音符号,因为它确实传达了上下文信息),将书写数字更改为数字,不要小写所有内容(对于实体提取有用),没有词干,没有词形变化.

这听起来不错吗?

nlp neural-network

15
推荐指数
1
解决办法
3259
查看次数

Spark 2.0.0用可变模式读取json数据

我正在尝试处理一个月的网站流量,它存储在一个S3存储桶中作为json(每行一个json对象/网站流量点击).数据量足够大,我不能要求Spark推断架构(OOM错误).如果我指定架构,它显然很好.但是,问题是每个json对象中包含的字段不同,所以即使我使用一天的流量构建模式,每月模式也会不同(更多字段),因此我的Spark作业失败.

所以我很想知道别人如何处理这个问题.我可以使用传统的RDD mapreduce作业来提取我感兴趣的字段,导出然后将所有内容加载到数据帧中.但这很慢,看起来有点像弄巧成拙.

我在这里找到了类似的问题,但没有相关信息.

谢谢.

schema json apache-spark pyspark

6
推荐指数
1
解决办法
2326
查看次数

LSTM 单元如何映射到层?

我无法准确理解 LSTM 单元的范围——它如何映射到网络层。来自格雷夫斯 (2014):

在我看来,在单层网络中,layer = lstm 单元。这实际上如何在多层 rnn 中工作?

三层RNN 三层循环神经网络

LSTM单元 LSTM单元

单元格的输出是h_t,没有表示特定层的超级索引。等式也是一样。每个单元格是否跨越单个层?或者每个单元格是否在每个时间步跨越整个三个节点?

lstm recurrent-neural-network

5
推荐指数
1
解决办法
1898
查看次数

Spark RDD和DataFrames如何将数据加载到内存中有何不同?

RDD非常有用,因为它们允许用户在"行"级别(或json单个对象等)处理数据,而无需将所有数据加载到内存中.驱动程序计算出如何将分布式数据(或指向它的指针)分发到worker中,并且每个分区都按照行/行/对象愉快地执行代码.然后,无需在驱动程序中收集数据,我可以将每个分区的结果保存到单独的文本文件中.

DataFrames.这是如何运作的?我怀疑它不一样,因为我可以用一个使用RDD的小型8节点集群处理一个月的服务器日志,但是一旦我尝试将分布式数据加载sql_context(spark_context).sql.read.json(s3path)到DataFrame中它就会吐出各种各样的内存错误和工作中止.数据集与RDD正确执行的数据集完全相同,相同的集群,相同的时间段.

RDD和DataFrames处理内存加载的方式有什么不同,从某种意义上说,这可能解释了我的结果?请帮助我理解可能推动这些结果的RDD和DataFRames之间的差异.谢谢.

apache-spark pyspark pyspark-sql

3
推荐指数
1
解决办法
938
查看次数

Pyspark向数据帧添加顺序和确定性索引

我需要使用三个非常简单的约束将索引列添加到数据框:

  • 从0开始

  • 是顺序的

  • 确定性的

我确定我遗漏了一些明显的东西,因为对于这样一个简单的任务,或者使用非顺序,不确定性越来越单调的id,我发现的示例看起来非常复杂。我不想使用index压缩,然后不得不将以前分开的列现在分开放在单列中,因为我的数据帧在TB中,这似乎是不必要的。我不需要按任何分区,也不需要按任何顺序进行分区,而我所找到的示例可以做到这一点(使用窗口函数和row_number)。我需要的只是一个简单的0到df.count整数序列。我在这里想念什么?

12345

indexing pyspark

3
推荐指数
1
解决办法
1601
查看次数