arxiv: v1 [cs.cl] 11 Jan 2017

Similar documents
A Case Study: News Classification Based on Term Frequency

System Implementation for SemEval-2017 Task 4 Subtask A Based on Interpolated Deep Neural Networks

Postprint.

Unsupervised Learning of Word Semantic Embedding using the Deep Structured Semantic Model

Python Machine Learning

Twitter Sentiment Classification on Sanders Data using Hybrid Approach

Learning Structural Correspondences Across Different Linguistic Domains with Synchronous Neural Language Models

Probabilistic Latent Semantic Analysis

CS 446: Machine Learning

Semi-supervised methods of text processing, and an application to medical concept extraction. Yacine Jernite Text-as-Data series September 17.

Linking Task: Identifying authors and book titles in verbose queries

Analyzing sentiments in tweets for Tesla Model 3 using SAS Enterprise Miner and SAS Sentiment Analysis Studio

Lecture 1: Machine Learning Basics

arxiv: v1 [cs.cl] 2 Apr 2017

Assignment 1: Predicting Amazon Review Ratings

POS tagging of Chinese Buddhist texts using Recurrent Neural Networks

Using Web Searches on Important Words to Create Background Sets for LSI Classification

Word Segmentation of Off-line Handwritten Documents

Training a Neural Network to Answer 8th Grade Science Questions Steven Hewitt, An Ju, Katherine Stasaski

Switchboard Language Model Improvement with Conversational Data from Gigaword

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Iterative Cross-Training: An Algorithm for Learning from Unlabeled Web Pages

Experiments with SMS Translation and Stochastic Gradient Descent in Spanish Text Author Profiling

Online Updating of Word Representations for Part-of-Speech Tagging

CLASSIFICATION OF TEXT DOCUMENTS USING INTEGER REPRESENTATION AND REGRESSION: AN INTEGRATED APPROACH

Efficient Online Summarization of Microblogging Streams

Deep search. Enhancing a search bar using machine learning. Ilgün Ilgün & Cedric Reichenbach

Detecting English-French Cognates Using Orthographic Edit Distance

AQUA: An Ontology-Driven Question Answering System

Detecting Wikipedia Vandalism using Machine Learning Notebook for PAN at CLEF 2011

Attributed Social Network Embedding

arxiv: v1 [cs.cl] 20 Jul 2015

CROSS-LANGUAGE INFORMATION RETRIEVAL USING PARAFAC2

The 9 th International Scientific Conference elearning and software for Education Bucharest, April 25-26, / X

CS Machine Learning

Using dialogue context to improve parsing performance in dialogue systems

Extracting Opinion Expressions and Their Polarities Exploration of Pipelines and Joint Models

Summarizing Answers in Non-Factoid Community Question-Answering

Language Independent Passage Retrieval for Question Answering

Rule Learning With Negation: Issues Regarding Effectiveness

Глубокие рекуррентные нейронные сети для аспектно-ориентированного анализа тональности отзывов пользователей на различных языках

Indian Institute of Technology, Kanpur

Reducing Features to Improve Bug Prediction

Finding Translations in Scanned Book Collections

Term Weighting based on Document Revision History

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS

Web as Corpus. Corpus Linguistics. Web as Corpus 1 / 1. Corpus Linguistics. Web as Corpus. web.pl 3 / 1. Sketch Engine. Corpus Linguistics

Forget catastrophic forgetting: AI that learns after deployment

A Vector Space Approach for Aspect-Based Sentiment Analysis

A Latent Semantic Model with Convolutional-Pooling Structure for Information Retrieval

arxiv: v4 [cs.cl] 28 Mar 2016

Calibration of Confidence Measures in Speech Recognition

Learning From the Past with Experiment Databases

MULTILINGUAL INFORMATION ACCESS IN DIGITAL LIBRARY

Outline. Web as Corpus. Using Web Data for Linguistic Purposes. Ines Rehbein. NCLT, Dublin City University. nclt

SINGLE DOCUMENT AUTOMATIC TEXT SUMMARIZATION USING TERM FREQUENCY-INVERSE DOCUMENT FREQUENCY (TF-IDF)

Modeling function word errors in DNN-HMM based LVCSR systems

Semantic and Context-aware Linguistic Model for Bias Detection

Generative models and adversarial training

Australian Journal of Basic and Applied Sciences

Human Emotion Recognition From Speech

arxiv: v2 [cs.cv] 30 Mar 2017

Deep Neural Network Language Models

Unsupervised Cross-Lingual Scaling of Political Texts

Multilingual Sentiment and Subjectivity Analysis

Word Embedding Based Correlation Model for Question/Answer Matching

Second Exam: Natural Language Parsing with Neural Networks

The Internet as a Normative Corpus: Grammar Checking with a Search Engine

Reinforcement Learning by Comparing Immediate Reward

Semi-Supervised GMM and DNN Acoustic Model Training with Multi-system Combination and Confidence Re-calibration

ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY DOWNLOAD EBOOK : ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY PDF

arxiv: v1 [cs.lg] 15 Jun 2015

Identification of Opinion Leaders Using Text Mining Technique in Virtual Community

WE GAVE A LAWYER BASIC MATH SKILLS, AND YOU WON T BELIEVE WHAT HAPPENED NEXT

Predicting Student Attrition in MOOCs using Sentiment Analysis and Neural Networks

QuickStroke: An Incremental On-line Chinese Handwriting Recognition System

A Simple VQA Model with a Few Tricks and Image Features from Bottom-up Attention

Longest Common Subsequence: A Method for Automatic Evaluation of Handwritten Essays

CSL465/603 - Machine Learning

10.2. Behavior models

Software Maintenance

SARDNET: A Self-Organizing Feature Map for Sequences

A study of speaker adaptation for DNN-based speech synthesis

A deep architecture for non-projective dependency parsing

A Comparison of Two Text Representations for Sentiment Analysis

Product Feature-based Ratings foropinionsummarization of E-Commerce Feedback Comments

Modeling function word errors in DNN-HMM based LVCSR systems

Customized Question Handling in Data Removal Using CPHC

Data Integration through Clustering and Finding Statistical Relations - Validation of Approach

Artificial Neural Networks written examination

Using Hashtags to Capture Fine Emotion Categories from Tweets

THE world surrounding us involves multiple modalities

A student diagnosing and evaluation system for laboratory-based academic exercises

Preference Learning in Recommender Systems

UCLA UCLA Electronic Theses and Dissertations

PREDICTING SPEECH RECOGNITION CONFIDENCE USING DEEP LEARNING WITH WORD IDENTITY AND SCORE FEATURES

Laboratorio di Intelligenza Artificiale e Robotica

Visual CP Representation of Knowledge

Detecting Online Harassment in Social Networks

Probing for semantic evidence of composition by means of simple classification tasks

Transcription:

Job Detection in Twitter Besat Kassaie arxiv:1701.03092v1 [cs.cl] 11 Jan 2017 Spring 2016 Abstract In this report, we propose a new application for twitter data called job detection. We identify people s job category based on their tweets. As a preliminary work, we limiteour task to identify only IT workers from other job holders. We have used and compared both simple bag of words model and a document representation based on Skip-gram model. Our results show that the model based on Skip-gram, achieves a 76% precision and 82% recall. 1 1 Introduction Internet users are producing large amount of data with almost no cost for people and companies who can exploit this data for their own benefits. Besides, more sophisticated data analysis techniques are available nowadays comparing to even one decade ago. Using data analysis techniques invaluable information can be induced from abundant data available on the web. Social networks, such as twitter, are one of the most popular class of applications gathering a lot of information in different formats such as text, image, and video. So far people have worked on twitter data from interesting and different aspects. They could extract highly accurate information in terms of sentiments [5], fine grain location information [6], churn prediction [2], topic detection [8],and so on. Our main contribution in this work is to detect twitter users job based on the textual content of their tweets. We did not find any similar work to target this application on twitter. Job detection from tweets have many potential applications such as targeted commercial advertisement, credit scoring,and so on. We faced some challenges in this project. First, there is a huge diversity among career domains, from cosmetic services to medical fields and from astronauts to miners. We would need a huge set of samples from twitter users to cover all of these categories. On the other hand, it is not feasible to crawl such dataset in a short time, considering the limitations which twitter imposes on the rate of fetching tweets and also our hardware resources. The other challenge is 1 This document is the project report prepared for CS 886, University of Waterloo 1

that we need to label each user with a job category in our dataset. This is not easy task to produce such a training data to cover all job categories. Also, not all people reveal their information in twitter due to their career category. For example it could be assumed that journalists are more likely to have an active twitter account than miners. Considering all those challenges, we limited the target job categories into Information Technology related jobs. By this assumption, we need to gather much less data than what is needed to cover all job categories. Also we can assume that many of IT workers are likely to use twitter. Finally as we are familiar with job titles in this field, we could label data easily and accurately. Another contribution of this work is applying Skip-gram model for computing word vectors and using KMeans for representing documents by word vectors. We showed that our model based on word vectors outperforms simple bag of word representation of documents. In the next sections we first introduce our data gathering strategies and methods. Then we present the implementation details and results and finally we give the conclusions and future works. 2 Method and Data For this work we needed a set of twitter users labeled with their job. As there is no such dataset we had to create our own dataset. Compiling such dataset for all jobs would take a lot of time and resources. So in this preliminary work we focused on detecting people with IT jobs. So our labeled dataset would include people labeled as IT workers or non IT workers. In this work we investigate two architectures for classification based on different approaches for document representation. The first one relies on the wellknown bag of words model for document representation. For the second model, we use a document representation based on the term vectors which are extracted by word2vec. Word2vec is a tool for computing vector representations of words introduced by a team of researchers at Google. We explain more about word2vec in the next section. We also propose more in detail explanation for data gathering strategies as well as our document representation and classification techniques in next sections. 2.1 Word2Vec Although representing words as indices in the dataset vocabulary for using in NLP tasks has many advantages such as simplicity and fast model creation, it ignores possible and obvious similarities between words. For example the simple techniques of word representation cannot detect the semantic similarity between King and Man as well as the syntactic similarities between Flowers and Cats. The ideal word representation for many applications is a representation which is able to detect all possible similarities and also preserve regularities 2

between vectors as much as possible. The regularities are observed as constant vector offsets between pairs of words sharing a particular relationship [7]. Some examples of these regularities are listed below: vector ( King ) - vector ( Man ) + vector ( Woman ) = vector ( Queen ) vector( apple )- vector( apples )= vector( car ) - vector( cars) In order to capture these regularities there are different models such as Bagof-Words Model (known as continuous bag of words, or CBOW) and Skip-gram Model (Figure 2.1). The first model uses context to predict a target word and the second model uses a word to predict a target context. We use the Skip-gram method because it produces more accurate results on large datasets. In this paper we used Word2Vec [1] as the tool for computing vector representations of words which uses the Skip-gram model. In the Skip-gram model each current word is used as an input to a log-linear classifier with continuous projection layer to predict words within a certain range before and after the current word. Apparently a larger range results in better word vectors and at the same time imposes more computational costs. As the distance of context words from the current word is increased they get less related to the current word so Skip-gram model assigns less weight to the distant words. To do so the Skip-gram model samples less from distant words in the training dataset. Figure 1: The CBOW architecture predicts the current word based on the context, and the Skip-gram predicts surrounding words given the current word [7] The Skip-gram model trains high dimensional word vectors on a large dataset and detects very accurate semantic relationships between words which can be 3

applied on NLP applications and results in surprising results. 2.2 Data Preparation We used two techniques for building our dataset. As our first approach we tried to use Linkedin profiles for obtaining some auto labeled users. In this approach we look for people in Linkedin who indicated that they are working in some IT related jobs. Then we could use their name and try to find an associated twitter ID to their LinkedIn name. There are some challenges in this approach. First of all there are no dictionary of IT job titles. To deal with this issue we compiled a set of job names to cover such jobs. This dictionary includes 183 job titles. Next challenge is that there is no free API in Linkedin for searching over people. To deal with this challenge we used the free Bing search engine API. We used a search query like: {jobtitle} + site:ca.linkedin.com/in for obtaining name of people in Linkedin who mentioned one of our job titles in the description of their profile. We gathered about 4092 of such Linkedin users for our IT job titles. The final challenge is to match this names with twitter Ids. For this part we first used UserSearch API in twitter. Using that API we gathered 43719 candidate twitter Ids. As there are multiple twitter IDs for each Linkedin Id we need to filter the twitter Ids. To do so, in the next step, we got the profile data of the candidate twitter Ids. We used the description of these profiles and calculate their Jaccard similarity scores to the description of Linkedin profiles. We filtered out the twitter Ids which had a similarity score under 0.5. By this method we gathered a total of 277 twitter Ids with IT related jobs. We gathered the most recent 3200 tweets of this users and included them in our dataset. The second approach is a manual method for gathering data in which we used the twitter API directly. Here we again used the UserSearch API in twitter and queried using each job title. The gathered data were not clean and many of the twitter Ids were not actually related to people working in IT jobs. We used a manual process of verifying each of this candidate twitter Ids based on the description of their twitter profiles. By using both previous approaches we gathered a total of 805 positive and 574 negative samples. Like the previous method we fetched the most recent 3200 tweets per user for both set of users. In our work we also needed some unlabeled data for a pretraining phase. We gathered the last 3200 tweets of for each of about 7237 random twitter users for this purpose. 2.3 Classification Architectures In our work we do not look for the signals in a single tweet level, we combine the user s most recent tweets obtained from their time lines to create a large document. In our first approach, we simply extracted the document representations of the labeled dataset based on occurrence of 5000 terms as features. Then a Naive Bayes model is used for classification of these documents. This results in some high dimensional and sparse representation for documents. 4

Table 1: The performance results for the two employed document representations Precision Recall F1-Measure Bag of Words 0.69 0.79 0.74 Word2Vec 0.76 0.82 0.79 In the second approach we use a more succinct representation for documents. In this approach first we train word2vec model over our set of unlabeled user time lines. As described before, this is an unsupervised model that can provide some vectorized representation for each word which is also semantically meaningful. Having this word representations we build a proper representation for documents in our labeled dataset. Different approaches could be considered for building the document representations based on the vectors obtained from word2vec. For example the simplest one is using the bag of words representation and replacing the ones with word2vec vectors and zeros with a zero vectors with a length equal to word2vec vectors. However this method results in very lengthy document vectors. However, considering the few amount of labeled data, this leads to low classification performance. There are other suggested approaches such as using average of the word vectors in a document. We applied this approach to create the feature vector representing each document. Finally, like the bag of words, we use the Naive Bayes model for classifying the extracted document representations. 3 Implementation and Results We used Python along with sklearn package as our main machine learning package beside gensim package which contains an implementation of word2vec in Python. We conducted two experiments in this work. As our first experiment we used the bag of words model where in the second experiment we used the word vectors obtained from the a pre-training phase by using word2vec method. For the bag of word model, we represented each document by 5000 terms as features. We used 80 percent of randomly selected labeled dataset for training and its remaining as the test set. We applied a Naive Bayes model over the training set for classification. The results are represented in Table 1. In the next experiment we used the document representation based on word2vec in our classification. We used word2vec for pretraining and extracting word vectors from a set of timelines of 7237 twitter users. Using the average vectors as described in the previous section we ended up with representing each document by a vector of length 200. Again we used 80 percent of labeled data for training and the remaining for testing. RandomForest model is used for classification. The results are represented in table 1. As shown in table 1 pre training and proposed document representation 5

improved all of performance measures. Beside these improvements we may also note that by using pre training we achieved the higher performance by using a highly dense vector representation of only 200 features. 4 Conclusion and Future Works Here we presented our work on detecting twitter users jobs based on their tweets. This is a new application of tweeter data. Due to the large number of job titles and job categories, in this preliminary work we tried to just recognize people who have an IT related job title. By using the auto labeling method that we described in the data gathering section, we can add more labeled data for other jobs to recognize other job categories as well. The other contribution in this work is using deep learning to produce document representations and showing that it can produce better results than bag of words model for this specific application. We used word2vec to extract word vectors and proposed a new document representation based on these vectors. We have adopted rather a naive approach for combining the word vectors to create a document representation which can be improved. We could concatenate the word vectors then using dimension reduction techniques we create a fixed length documents that can be fed into classifiers. We have started to extend the job categories by extracting more data and labeling them by using our cross checking mechanism between Linkedin and Twitter. We also extend the job title dictionary by including the job titles from Canada NoC. This includes about 40000 job categories and job titles. Another path for extending this work which we are pursuing is using Convolution Neural Networks over the word vectors word2vec. Based on [3, 4] we think that using this approach may produce superior results. References [1] word2vec,https://code.google.com/p/word2vec/. [2] Amiri, H., and III, H. D. Target-dependent churn classification in microblogs. In Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence, January 25-30, 2015, Austin, Texas, USA. (2015), pp. 2361 2367. [3] Kalchbrenner, N., Grefenstette, E., and Blunsom, P. A convolutional neural network for modelling sentences. [4] Kim, Y. Convolutional neural networks for sentence classification. In EMNLP 14 (2014), pp. 1746 1751. [5] Kouloumpis, E., Wilson, T., and Moore, J. Twitter sentiment analysis: The good the bad and the omg! In Proceedings of the Fifth International 6

Conference on Weblogs and Social Media, Barcelona, Catalonia, Spain, July 17-21, 2011 (2011), AAAI Press, pp. 538 541. [6] Li, C., and Sun, A. Fine-grained location extraction from tweets with temporal awareness. In Proceedings of the 37th International ACM SIGIR Conference on Research & Development in Information Retrieval (New York, NY, USA, 2014), SIGIR 14, ACM, pp. 43 52. [7] Mikolov, T., tau Yih, W., and Zweig, G. Linguistic regularities in continuous space word representations. In Proceedings of the 2013 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL-HLT-2013) (May 2013), Association for Computational Linguistics. [8] Spina, D., Gonzalo, J., and Amigó, E. Learning similarity functions for topic detection in online reputation monitoring. In Proceedings of the 37th International ACM SIGIR Conference on Research & Development in Information Retrieval (New York, NY, USA, 2014), SIGIR 14, ACM, pp. 527 536. 7