1
$\begingroup$

I have a number of domain names that may or may not be related to a particular brand. For instance, if the brand is UPS, www.upssucks.com, www.upspackagesupplier.com, and www.ihateups.com might all be labeled as "related" because the website content is talking about UPS. www.ilovepups.com and www.pushupssuck.com aren't related to the website UPS. I want to use my trained dataset to create a prediction of whether a given domain is related to a brand using only the registered domain name as the input. It seems like some off-the-shelf classifiers should work, but I am very new to this type of ML project. What would be the first approach one would take to start making predictions? I am planning on doing this in Python with scikit learn if that makes any difference.

$\endgroup$
1
$\begingroup$

It will be almost impossible to do this your way as you arw trying to derive context based solely on the domain names, and domain names more than often don't carry a specific context. Since the word ups occurs in each domain and the words coming before or after hardly carry much specific information. If you could extract some information about the website by hitting the url, you will not need any machine learning at all. I am not saying this can't be done through ML, all I am saying it won't be that effective. If you use scikit learn you will need to find a way to tokenize the domain, in your case a character level tokenization will be useful, throw in a BOW (Bag of words, characters in your case) create one-hot vectors out of it and use them as features to predict the label. If you have a lot and I mean lots you can train a character level convolutional neural network and it might perform better. Cheers.

$\endgroup$
2
  • $\begingroup$ The reason I want to predict without looking at the website is because I want to detect scams before the scammers put their content online. Because nefarious people often use similar patterns in the domain names, I can already read a list myself and with about 95% accuracy predict which ones will be scams, solely by the domain name. I am pretty sure if I can do it, I can get a reasonable degree of accuracy from a learning algorithm. Using BOW at the character level makes sense. I might try word embedding using the characters in the same manner. $\endgroup$
    – David
    Jan 9 '17 at 23:52
  • 1
    $\begingroup$ Sure. Character Level Model will be helpful in that case. $\endgroup$ Jan 10 '17 at 3:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.