{"metadata":{"kernelspec":{"name":"ir","display_name":"R","language":"R"},"language_info":{"name":"R","codemirror_mode":"r","pygments_lexer":"r","mimetype":"text/x-r-source","file_extension":".r","version":"3.6.3"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"## load libraries\nlibrary(data.table)\nlibrary(jsonlite)","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"## read train data labels\ntrain <- fread('../input/coleridgeinitiative-show-us-the-data/train.csv')\ntrain_labels <- c(unique(train$cleaned_label))","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"## function to read data and match strings\npredict <- function(Id){\n    publication <- data.table(fromJSON(paste0('../input/coleridgeinitiative-show-us-the-data/test/', Id, '.json')))\n    publication[, clean_text := gsub('[^A-Za-z0-9]+', ' ', tolower(text))]\n\n    labels <- vector()\n\n    for (label in train_labels)\n    {\n        if (sum(grepl(label, publication$clean_text)) > 0)\n        {\n            labels <- c(labels, label)\n        }\n    }\n\n    return (paste(labels, collapse = '|'))\n}","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"## iterate test data\nsample_submission <- fread('../input/coleridgeinitiative-show-us-the-data/sample_submission.csv')\nsample_submission[, PredictionString := lapply(Id, predict)]","metadata":{"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"## save predictions\nfwrite(sample_submission[, .SD, .SDcols = c('Id', 'PredictionString')], 'submission.csv')","metadata":{"trusted":true},"execution_count":null,"outputs":[]}]}