Determine tag that contributes most to a count of likes, when tags always exist in combinations I have a dataset of [tags, like_count]:  
TAGS: ["car", "travel", "adventure", "lifeontheroad", "photographer"]     LIKES: 21
TAGS: ["coffee", "travelgram", "home"]                                    LIKES: 10
TAGS: ["lanscape", "wild", "nature", "landscapephotography"]              LIKES: 13

The dataset is quite big. How do I find which tag is the most valuable (bring more likes)? I am interested in theory and practical examples / algorithms too.
 A: It sounds like you conceive of the number of likes as being related to a weighted combination of the tags.  
One of the simplest such models associates a number (the "weight") $\beta_i$ to tag $i$.  When tag $i$ appears in the list of tags for an observation in the dataset, it contributes its weight $\beta_i$ to a sum, $\lambda$.  For technical reasons--as well as experience with how data like this behave--it is conventional to suppose the expected number of likes equals the exponential of $\lambda$.  If the voting for the observations is independent, the actual number of likes will have a Poisson distribution.  Your objective is to estimate the weights from the data.  This is done with a generalized linear model (aka "GLM").  It is usually fit by choosing estimates $\hat\beta_i$ that maximize the likelihood of the model.  The "most valuable" tags will be those with the greatest weights, which are likely to be found among those with the greatest estimated weights.
As an example, while I was writing the preceding paragraph I fit such a model for a synthetic dataset of over 90,000 records with 676 distinct tags.  I created this dataset by specifying the $\beta$ and generating the numbers of likes according to the model.  On average there were five tags and 15 likes per observation.  The computation took three minutes.  The results indicate that almost all the coefficients $\hat\beta_i$ are significantly nonzero.  The correlation between the actual $\beta_i$ and their estimates is excellent, as the scatterplot attests.

The actual coding is almost trivial.  Here are the R commands to fit the model and display its results:
model <- glm(Y ~ ., data=X, family=poisson)
summary(model)

To learn more, research "GLM" and Poisson generalized linear models on this site and/or experiment with the full R code below.  It is likely you will want to investigate "interactions" among the tags before you are fully satisfied with the model.

#
# Create tags data.
# `X` has one column per tag to indicate its presence (1) or absence (0).
# It has one more column `Y` giving the count of likes.
#
n.obs <- 1e5 # Maximum number of observations (some will be omitted)
tags <- apply(as.matrix(expand.grid(letters, letters)), 1, paste0, collapse="")
n.tags <- length(tags)
tag.frequencies <- runif(n.tags, 0, min(1, 5/n.tags))
X <- data.frame(t(matrix(rbinom(n.obs * n.tags, 1, tag.frequencies), n.tags)))
names(X) <- tags
X <- X[rowSums(X) > 0, ]
#plot(tag.frequencies, colMeans(X)) # Check correctness
#
# Create responses.
# `beta` is the vector of tag weights.  They are allowed to be negative!
#
beta <- rbeta(n.tags, 1, 3) * 2.5 - 0.5
beta.0 <- 2
X$Y <- as.matrix(X) %*% beta + beta.0
X$Y <- rpois(nrow(X), exp(X$Y))
hist(log10(X$Y)) # Show the distribution of likes
#
# Fit a model.
#
model <- glm(Y ~ ., data=X, family=poisson)
summary(model)
#
# Compare its estimates to the true values of `beta`.
#
plot(c(beta.0, beta), coef(model), xlab="Beta", ylab="Estimated Beta")
#
# List the most valuable tags and their weights.
# NB: the list may include the intercept.  Its value merely reflects the 
# typical number of likes.
#
i <- order(coef(model))
(coef(model))[tail(i)]

