详细内容或原文请订阅后点击阅览
使用 Keras 对 Quora 中的重复问题进行分类
在这篇文章中,我们将使用 Keras 对 Quora 中的重复问题进行分类。我们的实现灵感来自 Siamese 循环架构,并对相似度度量和嵌入层进行了修改(原始论文使用预训练的词向量)
来源:RStudio AI博客简介
在本文中,我们将使用 Keras 对 Quora 中的重复问题进行分类。该数据集首次出现在 Kaggle 竞赛 Quora 问题对中,包含大约 400,000 对问题以及一列,指示问题对是否被视为重复。
Quora 问题对我们的实现灵感来自 Siamese 循环架构,对相似度测量和嵌入层进行了修改(原始论文使用预训练的词向量)。使用这种架构可以追溯到 2005 年 Le Cun 等人,并且对于验证任务很有用。这个想法是学习一个将输入模式映射到目标空间的函数,使得目标空间中的相似度测量近似于输入空间中的“语义”距离。
孪生循环架构 Le Cun 等人比赛结束后,Quora 也在这篇博文中描述了他们解决这个问题的方法。
博客文章下载数据
可以从 Kaggle 数据集网页或 Quora 的数据集发布中下载数据:
数据集网页 数据集发布library(keras)quora_data <- get_file( "quora_duplicate_questions.tsv", "https://qim.ec.quoracdn.net/quora_duplicate_questions.tsv")
library(keras)quora_data <- get_file( "quora_duplicate_questions.tsv", "https://qim.ec.quoracdn.net/quora_duplicate_questions.tsv")
library(keras)
库
库
(
keras
keras
)
quora_data <- get_file(
quora_data
<-
get_file
(
"quora_duplicate_questions.tsv",
> "quora_duplicate_questions.tsv"
"https://qim.ec.quoracdn.net/quora_duplicate_questions.tsv"
"https://qim.ec.quoracdn.net/quora_duplicate_questions.tsv"
)
)
我们使用 Keras get_file() 函数,以便缓存文件下载。
get_file()
读取和预处理
我们首先将数据加载到 R 中并进行一些预处理,以便更容易将其包含在模型中。下载数据后,您可以使用 readr read_tsv() 函数读取它。
read_tsv()
tokenizer
tokenizer <- text_tokenizer(num_words = 50000)
tokenizer
<-
text_tokenizer
(