Francisco Iacobelli's academic website

I am an assistant professor in the Computer Science Department at Northeastern Illinois University. I usually am at LWH (Lech Walesa Hall) 3060. Check my classes and office hours here. My email is at the bottom of the page.

I got my undergraduate degree in Systems Engineer and Informatics at Universidad Diego Portales in Santiago, Chile . I got a Ph.D. in Computer Science at the Infolab, in the Computer Science department of Northwestern University; a Masters in Computer Science at DePaul University with a concentration in AI. Other interests include: Computational linguistics and enhancing social interactions with technology that can help make a difference, such as intelligent tutoring systems and other aspects of AI applied to the education of children. In the past I worked developing Virtual Peers for minority children with Justine Cassell at the ArticuLab.

Here's my CV

More about my research and publications by clicking the tabs above.

Current Research

Information is essential for social interactions. Most of us get a great deal of this information from web: think news, blogs, wikipedia, twitter, facebook, etc. To push the envelope of what can be done with this information, my research explores intelligent strategies for filtering and presenting information. These strategies are based on algorithms built with clear functional goals and that afford multiple distinctions based on the nature of the data retrieved. In addition, the information presented should be relevant and distinct. That is every resource should provide a unique piece of information that is potentially useful and on-point with a particular topic or event. This information should help consumers of web content get a complete report on the topics or events of their interest. In addition, I am interested in exploring techinques of computational linguistics that can shed light on the underlying mechanisms of social interactions, such as political debate.

In sum, I explore social interactions and ways in which technology can augment information to favor learning. This, in turn, may conduce to richer social interactions. Check my interview on the topic of new media on the French newspaper Le Monde.

Projects: For current projects, check our lab's website.
Past projects are listed below:

  • Tell Me More: An online news reader that provides relevant details from other news sources. It has been featured in The New Scientist , Le Monde, and in the french technology magazine L'Atelier
  • MakeMyPage: An aggregator that strives to retrieve diverse and on-point information about popular topics.


Dowell, N., Windsor, L., Germany, M.-L., Iacobelli, F., and Graesser, A. (2015a). The partisan divide: A computational linguistic analysis of bias in the senate. In Journal of Language and Social Psychology (under review). [ bib | www: ]

Gill, A. J. and Iacobelli, F. (2015). Understanding Socially Constructed Concepts Using Blogs Data. In Third AAAI Conference on Human Computation and Crowdsourcing, San Diego, CA. [ bib ]

Dowell, N., Windsor, L., Germany, M.-L., Iacobelli, F., and Graesser, A. (2015). The partisan divide: A computational linguistic analysis of bias in the senate. In Proceedings of the 15th meeting of the Society for Text and Discourse.bib | .pdf ]

Adler, R. F., Iacobelli, F., and Gutstein, Y. (2015). Are You Convinced? A Wizard of Oz Study to Test Emotional vs. Rational Persuasion Strategies in Dialogues. In Proceedings of the 10th International conference on Persuasive Technology PERSUASIVE 2015. [ bib ]

Martínez, V. R., Perez, L. E., Iacobelli, F., Suarez Bojórquez, S., and Gonzalez, V. M. (2015). Semi-Supervised Approach to Named Entity Recognition in Spanish Applied to a Real-World Conversational System. In proceedings of the 7th Mexican Conference on Pattern Recognition (MCPR15). [ bib ]

Alastair, G. and Iacobelli, F. (2014). Generative Topic Modeling for Concept Understanding. In Proceedings of the 14th meeting of the Society for Text and Discourse.bib | .pdf ]

Chaney, J., Fiss, A., Iacobelli, F., and Carey, P. E. J. (2014). Balancing Graduate School and Family. In Smith, M. J. T. and Browne, M. M., editors, In GPS for Graduate School: Students Share Their Stories., chapter 6. [ bib | http ]

Iacobelli, F. and Culotta, B. A. (2013). Too Neurotic, Not too Friendly: Structured Personality Classification on Textual Data. In ICWSM Workshop on Personality Classification. [ bib | .pdf ]

Iacobelli, F. (2012). Augmenting News Stories With Distinct Information. ProQuest, UMI Dissertation Publishing. [ bib | http ]

Iacobelli, F., Nichols, N., Birnbaum, L., and Hammond, K. (2012). Information finding with robust entity detection: The case of an online news reader. In Human Computer Interaction: The Agency Perspective. Studies in Computational Intelligence, volume 396, pages 375-387. [ bib | http ]

Gill, A., Iacobelli, F., and Gilbert, N. (2011). The Projection of Quality and Reputation in Scholarly Journal Description. 21st meeting of the Society for Text and Discourse. [ bib | .pdf ]

Iacobelli, F., Gill, A., Nowson, S., and Oberlander, J. (2011). Large scale personality classification of bloggers. Proceedings of the 4th international conference on Affective computing and intelligent interaction, pages 568-577. [ bib | .pdf ]

Paterson, J., Lange, C., Akhtar, I., Iacobelli, F., Anderson, P., and Leonhard, A. (2010a). Exploring The Use Of Computational Linguistics For Automated Formative Feedback In The Humanities. In International Conference of Education, Research and Innovation (ICERI) 2010, pages 5303-5312. [ bib ]

Paterson, J., Lange, C., Akhtar, I., Iacobelli, F., Anderson, P., and Leonhard, A. (2010b). Exploring the use of computational linguistics for automated formative feedback in the humanitites. In eAssessment Scotland (EAS2010). [ bib | http ]

Iacobelli, F., Birnbaum, L., and Hammond, K. (2010a). Synergy Between Automatic Content Generation and Social Media. In Third workshop on Mashups, Enterprise Mashups and Lightweight composition on the web (MEM2010) at WWW2010, Raleigh, NC. USA. [ bib | .pdf ]

Iacobelli, F., Birnbaum, L., and Hammond, K. J. (2010b). Tell me more, not just more of the same. In IUI '10 Proceedings of the 15th international conference on Intelligent user interfaces, pages 81-90. [ bib | .pdf ]

Iacobelli, F., Nichols, N., Birnbaum, L., and Hammond, K. (2010c). Finding New Information via Robust Entity Detection. Artificial Intelligence, pages 32-37. [ bib | .pdf ]

Iacobelli, F., Gill, A. J., Nowson, S., and Oberlander, J. (2009a). Classification of Personality In Large Blog Data. In 19th Annual Meeting of the Society for Text and Discourse. [ bib ]

Iacobelli, F., Hammond, K. J., and Birnbaum, L. (2009b). MakeMyPage: Social Media Meets Automatic Content Generation. In 3rd International Conference of Weblogs and Social Media, San Jose, CA. [ bib | .pdf ]

Iacobelli, F. and Cassell, J. (2007). Ethnic Identity and Engagement in Embodied Conversational Agents. In Intelligent Virtual Agents, volume 4722 of Lecture Notes in Computer Science, chapter 6, pages 57-63. Springer-Verlag, Berlin Heidelberg. [ bib | .pdf ]

Huffaker, D., Jorgensen, J., Iacobelli, F., Tepper, P., and Cassell, J. (2006). Computational measures for language similarity across time in online communities. In ACTS '09: Proceedings of the HLT-NAACL 2006 Workshop on Analyzing Conversations in Text and Speech, pages 15-22, Morristown, NJ, USA. Association for Computational Linguistics. [ bib | .pdf ]

This file was generated by bibtex2html 1.96.

CS 200 Programming I.

This couse provides basic programming skills. At the end, students should be able to make simple programs using the Java programming language.
Click on the link above to access the whole course minus quizzes and self assessments.

CS 335 Introduction to Artificial Intelligence.

This course exposes students to seminal algorithms and concepts related to artificial intelligence. Click on the link to go to the most current iteration of this course.

CS 207 Programming II.

This couse will provide programming skills that go beyond the basics into object oriented programming as well as to provide you with standard techniques to solve common programming problems that arise in everyday programs such as sorting, working with files and the web, etc. At the end of the couse you should be able to use these techniques effectively as well as to be proficient in researching solutions to other, more complex, programming challenges. Check a playlist of videos for this class here

CS 347 Mobile Application Development.

This course will provide the concepts and practice necessary to effectively develop mobile applications, in particular on the iOS platform as well as on the Android platform. Check the video playlists for iOS and for Android

CS 412 Web Application Development.

This couse will provide skills that go beyond the basics of creating webpages into creating applications that run on the web. At the end of the course students should be able to create interactive and sophisticated web applications that combine HTML, CSS and Javascript.

CS 419 Informatics/Machine Learning

This course presents students with basic, yet seminal, techniques for machine learning and data mining. At the end of the course the sutdent should be able to understand how these, and other more sophisticated techinques work and when it is appropriate to apply them. This course has considerable overlap with CS 435. (see below).
Some videos on some topics can be found here. Check videos here

CS 435 Expert Systems.

Although dated in name, this course presents core machine learning techniques used in decision making. At the end of this course students will understand basic categories of supervised learning decision making algorithms. This course has considerable overlap with CS419.

CS 343 Natural Language Processing

This course presents introductory and some advanced Natural Language Processing techniques. It provides the basic mathematical content to follow the course and it encourages students to critically think about algorithms so that they are able to modify them to suit their needs.

Latent Dirichlet Allocation (Topic Modeling)

If we assume documents are comprised of different topics, then we can assume that certain words belong to certain topics. Therefore, a document is a set of words that are more or less grouped according to their topic. For example: A sports story can have a few topics in it such as "the actual game" (score, plays, etc.), "the players" (injuries, drug testing, etc.) and "speculation" (what will happen against the next rival). For each of these topics there are words that are strongly associated with them. For example: "score" is strongly associated to "the actual game" topic, while "steroids" is probably associated to "the players" topic. However, "score" may also be associated with the "speculation" topic albeit less strongly.

Because words are associated with topics with relative "strengths" we can talk about the probabilities with which each words is associated to each topic. Similarly we can talk about the probability that a document contains each topic.

Now, When we don't know the topics a priori nor the words associated with them nor the topics contained in a document, but we know the words in each document, we need to infer the topical structure of documents. For this we need a generative model. A model that can infer topics by trying to generate the topics in the documents by iterating and assigning topics to words that occur together. LDA is one such model. Perhaps the most popular. You can find a lot more on David Blei's Topic Modeling webpage

There are several LDA implementations. Below is my take on it (because I've had issues with the others in one aspect or another).

DOWNLOAD: Just download and uncompress this Lda Software where you can run it. You must have Java 1.6 installed (OpenJDK is fine). This is a collection of three java programs. They need to be run by typing:

			 java <Name of the program> <Options>
The programs are:
  • Corpus: Which creates a corpus from a directory of text files
  • LdaGibbs: which runs LDA on a corpus
  • LdaAnalysis: which can create a corpus, run LDA and save the results. It can also run from an already created corpus.
These programs work well, but interfacing with them is in its early stages, so let me know how can I make them nicer. Of course, bugs and oddities are welcome feedback.




  • A lot of video tutorials for computer science:by Derek Banas
  • Another set of tutorials on programming, mobile apps, github, etc by lars vogel
  • Another set of videos from me. They are relevant to the courses I teach (i.e. programming, mobile applications, machine learning and Artificial Intelligence:click here