Hi I want to extract words of english texts using click rate with machine learning model. Now I know the click rate of text, and I know How to extract words(unigram) of each text, for example, there are about 10000 texts,and the click rate of each text is provided. How to extract words features for click rate. How to extract key words and compute the importance of each word for computing click rate.
-
$\begingroup$ Understand that there is a click rate for the text as a whole, and words within the text. I also understand that you want to compute / correlate both. Could you elaborate what that correlation would mean, and what the purpose of it would be? $\endgroup$– FrankstrCommented Apr 9, 2018 at 5:10
-
$\begingroup$ hi @Frankstr, thanks for your comment. I know that using the linear regression model for computing the correlation of words for click rate. My purpose is to compute the correlation of words for text to extract key words or high importance words for improve click rate that influence click rate for new text. $\endgroup$– tktktk0711Commented Apr 9, 2018 at 5:28
-
$\begingroup$ Thanks. I hope I got the point now, extract the important words for each text to learn which topics are well received. My misunderstanding was that I wrongly assumed "compute the importance of each word" means to discriminate words within a single text in a more sophisticated way than picking the topic. $\endgroup$– FrankstrCommented Apr 9, 2018 at 6:08
1 Answer
You can build a dictionary of character sequences (words) and for each instance of text you will count the occurrence of these words. You can either use groupings of characters n-grams or words them selves using bag-of-words.
n-grams
n-grams is a feature extraction technique for language based data. It segments the Strings such that roots of words can be found, ignoring verb endings, pluralities etc...
The segmentation works as follows:
The String: Hello World
2-gram: "He", "el", "ll", "lo", "o ", " W", "Wo", "or", "rl", "ld" 3-gram: "Hel", "ell", "llo", "lo ", "o W", " Wo", "Wor", "orl", "rld" 4-gram: "Hell", "ello", "llo ", "lo W", "o Wo", " Wor", "Worl", "orld"
Thus in your example, if we use 4-grams, truncations of the word Hello would appear to be the same. And this similarity would be captured by your features.
Bag-of-words
Bag-of-Words builds a dictionary of the words it has seen during the training phase. Then using the word the frequency of each word in the example a vector is created. This can then be used with any standard machine learning technique.
-
$\begingroup$ Sounds like a start. To extract topics some more processing will be needed, removal of high frequency words aka stopwords, also perhaps POS tagging, part of speech tagging. $\endgroup$– FrankstrCommented Apr 9, 2018 at 6:18
-
$\begingroup$ thanks for your answer, how to compute the importance of each words in the model? $\endgroup$ Commented Apr 9, 2018 at 6:22
-
$\begingroup$ a large field... perhaps you can start with en.wikipedia.org/wiki/Topic_model for a list of algorithms $\endgroup$– FrankstrCommented Apr 9, 2018 at 6:25
-
$\begingroup$ @tktktk0711, the model is precisely what will decide the importance of each word in discriminating between different output distributions for classification. $\endgroup$– JahKnowsCommented Apr 11, 2018 at 2:26