Login | Register

On-Demand Programming Recommendation System using Knowledge Graphs


On-Demand Programming Recommendation System using Knowledge Graphs

Sojoudian, Seyed Maziar (2021) On-Demand Programming Recommendation System using Knowledge Graphs. Masters thesis, Concordia University.

[thumbnail of Sojoudian_Master_S2021.pdf]
Text (application/pdf)
Sojoudian_Master_S2021.pdf - Accepted Version


With the increasing advancement of the internet and mobile technology, we are facing the information overload phenomenon. One of the solutions to this information overload is to filter data for the end-users. The information filtering process that provides more personalized results constitutes the main component of a recommendation system. Recommendation systems aim to provide closer results to the users’ preferences. Therefore, if users have access to content that meets their needs, higher user satisfaction would be obtained. One of the domains that can benefit from recommendation systems is helping programmers write more efficient codes and develop faster by presenting them with solutions or code samples relating to their requirements. Although major repositories such as Stackoverflow and GitHub are trying to overcome this problem, there are still considerable shortcomings regarding the problem formulation and personalized results. In this thesis, we propose an on-demand programming assistance system that first helps developers present their problems. Then, through a natural language processing (NLP) module, the platform extracts valuable data from the presented problem. The users’ questions which are asked on our platform form knowledge objects from which a knowledge graph is constructed following an efficient data model created on a graph database. With regard to the extracted valuable data from a knowledge object, the search module provides results from the Stack- overflow and the GitHub APIs. The end-users who ask their questions on the platform can save search results for the future or express their feelings about the results by marking them as useful libraries. Besides, our on-demand programming assistance platform provides a list of developers who have experience in different end-users’ problems. After the interaction, the end-users can mark those developers as experts, and a sub-graph of the ex- pert developers is appended to the knowledge graph. The platform collects 191 real-world programming problems for eight different programming languages via its powerful data model and represents the problem remarkably in the graph database in the form of nodes and edges.
The proposed recommendation system relies on the constructed knowledge graph to provide the end-user recommendation list containing libraries and experts from similar knowledge objects in the knowledge graph. Two main recommendation techniques, namely collaborative-based and content-based filtering, are used to create a robust recommendation system. The content-based recommendation method is used when an end-user is new to the system or there are no similar knowledge objects in the knowledge graph. The Jaccard in- dex similarity, a weighting algorithm, and two different similarity measurement algorithms are used to build the mentioned content-based recommendation system. Moreover, when there is enough information regarding the knowledge object, the collaborative method is employed to solve the recommendation problem. The cosine similarity algorithm is utilized to apply collaborative-based recommendations on the knowledge graph. The two main algorithms, the Jaccard index similarity, and the cosine similarity were tested in different situations. First, they were applied in algorithms’ standard forms, second with the proposed optimized form via gaining benefits from auxiliary data on the knowledge graph. These auxiliary data are nodes and edges, which help provide more filtering on the results. The proposed method brings more accurate results in comparison with standard baseline algorithms.

Divisions:Concordia University > Gina Cody School of Engineering and Computer Science > Concordia Institute for Information Systems Engineering
Item Type:Thesis (Masters)
Authors:Sojoudian, Seyed Maziar
Institution:Concordia University
Degree Name:M.A. Sc.
Program:Quality Systems Engineering
Date:23 March 2021
Thesis Supervisor(s):Bentahar, Jamal
Keywords:Knowledge Graph Based Recommendation System
ID Code:988122
Deposited By: Seyed Maziar Sojoudian
Deposited On:29 Jun 2021 22:34
Last Modified:29 Jun 2021 22:34


[1] J. J. Miller, “Graph database applications and concepts with Neo4j,” Proceedings of the Southern Association for Information Systems Conference, Atlanta, GA, USA, vol. 2324, p. 36, 2013.
[2] A. Virk and R. Rani, “recommendations using graphs on Neo4j,” 2018 International Conference on Inventive Research in Computing Applications (ICIRCA), pp. 133– 138, 2018.
[3] X. Su and T. M. Khoshgoftaar, “A Survey of Collaborative Filtering Techniques,” Advances in Artificial Intelligence, pp. 1–9, 2009.
[4] R. Wita, K. Bubphachuen, and J. Chawachat, “Content-Based Filtering Recommen- dation in Abstract Search Using Neo4j,” ICSEC 2017 - 21st International Computer Science and Engineering Conference 2017, Proceeding, vol. 6, pp. 136–139, 2018.
[5] visualparadigm,“Themevsepicvsuserstoryvstask,”https://www.visual-paradigm. com/scrum/theme-epic-user-story-task/, 2020, accessed: 2020-12-16.
[6] R. Chen, Q. Hua, Y. S. Chang, B. Wang, L. Zhang, and X. Kong, “A survey of col- laborative filtering-based recommender systems: from traditional methods to hybrid methods based on social networks,” IEEE Access, vol. 6, pp. 64 301–64 320, 2018.
[7] Y. Shi, M. Larson, and A. Hanjalic, “Collaborative filtering beyond the user-item ma- trix: A survey of the state of the art and future challenges,” ACM Computing Surveys, ACM 2014, pp. 1–45, 2014.
[8] M. R. McLaughlin and J. L. Herlocker, “A collaborative filtering algorithm and eval- uation metric that accurately model the user experience,” Proceedings of Sheffield SIGIR - Twenty-Seventh Annual International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 329–336, 2004.
[9] Z. Yang, B. Wu, K. Zheng, X. Wang, and L. Lei, “A survey of collaborative filtering- based recommender systems for mobile internet applications,” IEEE Access, pp. 1–15, 2016.
[10] Sarwar., K. Badrul, K. George, R. Joseph, and John., “Item-Based Collaborative Fil- tering Recommendation Algorithms,” International Conference on World Wide Web WWW’01, pp. 1–11, 2001.

[11] P. Mathew, B. Kuriakose, and V. Hegde, “Book Recommendation System through content based and collaborative filtering method,” Proceedings of 2016 International Conference on Data Mining and Advanced Computing, SAPIENCE 2016, pp. 47–52, 2016.
[12] M. J. Pazzani, “Framework for collaborative, content-based and demographic filter- ing,” Artificial Intelligence Review, vol. 13, no. 5, pp. 393–408, 1999.
[13] S. Zhang, W. Wang, J. Ford, F. Makedon, and J. Pearlman, “Using singular value decomposition approximation for collaborative filtering,” Proceedings - Seventh IEEE International Conference on E-Commerce Technology, CEC 2005, vol. 2005, pp. 257– 265, 2005.
[14] Y. Shoham, “Fab:Content-Based, Collaborative Filtering for Recommendation,” Communications of the ACM, vol. 40, no. 3, 1997.
[15] P. Thorat, R. M. Goudar, and S. Barve, “Survey on Collaborative Filtering, Content- based Filtering and Hybrid Recommendation System,” International Journal of Com- puter Applications, vol. 110, no. 4, pp. 31–36, 2015.
[16] M. De Gemmis, P. Lops, G. Semeraro, and P. Basile, “Integrating tags in a semantic content-based recommender,” RecSys’08: Proceedings of the 2008 ACM Conference on Recommender Systems, pp. 163–170, 2008.
[17] C. Basu, H. Hirsh, and W. Cohen, “Recommendation as classification: Using so- cial and content-based information in recommendation,” Proceedings of the National Conference on Artificial Intelligence, pp. 714–720, 1998.
[18] M.A.RodriguezandP.Neubauer,“Constructionsfromdotsandlines,”Bulletinofthe American Society for Information Science and Technology, vol. 36, no. 6, pp. 35–41, 2010.
[19] D. Q. G. L. Udsk, Y. Duan, and Z. Lin, “Specifying architecture of knowledge graph with data graph, information graph, knowledge graph and wisdom graph,” 2017 IEEE 15th International Conference on Software Engineering Research, Management and Applications (SERA), pp. 327–332, 2017.
[20] G. Bellinger, D. Castro, and A. Mills, “Data, information, knowledge, and wisdom,” 2004.
[21] W. Shalaby, B. E. Alaila, M. Korayem, L. Pournajaf, K. Aljadda, S. Quinn, and W. Zadrozny, “Help Me Find a Job: A Graph-based Approach for Job Recommenda- tion at Scale,” arXiv, pp. 1544–1553, 2017.
[22] G. Adomavicius and A. Tuzhilin, “Toward the next generation of recommender sys- tems: A survey of the state-of-the-art and possible extensions,” IEEE transactions on knowledge and data engineering, vol. 17, no. 6, pp. 734–749, 2005.

[23] H. Yildirim and M. S. Krishnamoorthy, “A random walk method for alleviating the sparsity problem in collaborative filtering,” in Proceedings of the 2008 ACM confer- ence on Recommender systems, 2008, pp. 131–138.
[24] H. Chen, X. Li, and Z. Huang, “Link prediction approach to collaborative filter- ing,” in Proceedings of the 5th ACM/IEEE-CS Joint Conference on Digital Libraries (JCDL’05). IEEE, 2005, pp. 141–142.
[25] T. Zhou, J. Ren, M. Medo, and Y.-C. Zhang, “Bipartite network projection and per- sonal recommendation,” Physical review E, vol. 76, no. 4, p. 046115, 2007.
[26] C. C. Aggarwal, J. L. Wolf, K.-L. Wu, and P. S. Yu, “Horting hatches an egg: A new graph-theoretic approach to collaborative filtering,” in Proceedings of the fifth ACM SIGKDD international conference on Knowledge discovery and data mining, 1999, pp. 201–212.
[27] W.Li,Z.Ye,M.Xin,andQ.Jin,“Socialrecommendationbasedontrustandinfluence in sns environments,” Multimedia Tools and Applications, vol. 76, no. 9, pp. 11 585– 11 602, 2017.
[28] S. Ray and A. Mahanti, “Improving prediction accuracy in trust-aware recommender systems,” in 2010 43rd Hawaii international conference on system sciences. IEEE, 2010, pp. 1–9.
[29] S. Roy and B. Ravindran, “Measuring network centrality using hypergraphs,” in Pro- ceedings of the Second ACM IKDD Conference on Data Sciences, 2015, pp. 59–68.
[30] M. Cha, H. Haddadi, F. Benevenuto, and K. Gummadi, “Measuring user influence in twitter: The million follower fallacy,” in Proceedings of the International AAAI Conference on Web and Social Media, vol. 4, 2010.
[31] G. Bathla, H. Aggarwal, and R. Rani, “A graph-based model to improve social trust and influence for social recommendation,” The Journal of Supercomputing, vol. 76, no. 6, pp. 4057–4075, 2020.
[32] B. Stark, C. Knahl, M. Aydin, M. Samarah, and K. O. Elish, “BetterChoice: A mi- graine drug recommendation system based on Neo4J,” 2017 2nd IEEE International Conference on Computational Intelligence and Applications, ICCIA 2017, vol. 2017- Janua, pp. 382–386, 2017.
[33] L. Lü, M. Medo, C. H. Yeung, Y.-C. Zhang, Z.-K. Zhang, and T. Zhou, “Recom- mender systems,” Physics reports, vol. 519, no. 1, pp. 1–49, 2012.
[34] R. Catherine and W. Cohen, “Personalized recommendations using knowledge graphs: A probabilistic logic programming approach,” RecSys 2016 - Proceedings of the 10th ACM Conference on Recommender Systems, pp. 325–332, 2016.

[35] Dandelion, “The entity extraction api reference,” https://dandelion.eu/docs, 2020, ac- cessed: 2020-12-21.
[36] spacy, “spacy 101: Everything you need to know,” https://spacy.io/usage/spacy-101, 2020, accessed: 2020-12-21.
[37] P. Jaccard, “Jaccard1902(method),′′ Bulletin de la Murithienne, vol.XXXV II, pp.81− −92., 1982.
[38] V. Verma and R. K. Aggarwal, “A comparative analysis of similarity measures akin to the Jaccard index in collaborative recommendations: empirical and theoretical perspective,” Social Network Analysis and Mining, vol. 10, no. 1, pp. 1–16, 2020. [Online]. Available: https://doi.org/10.1007/s13278-020-00660-9
[39] H.Liu,Z.Hu,A.Mian,H.Tian,andX.Zhu,“Anewusersimilaritymodeltoimprove the accuracy of collaborative filtering,” Knowledge-Based Systems, vol. 56, pp. 156–166, 2014. [Online]. Available: http://dx.doi.org/10.1016/j.knosys.2013.11.006
[40] “Understanding cosine similarity and its application,” https://towardsdatascience.com/understanding-cosine-similarity-and-its-application- fd42f585296a.
All items in Spectrum are protected by copyright, with all rights reserved. The use of items is governed by Spectrum's terms of access.

Repository Staff Only: item control page

Downloads per month over past year

Research related to the current document (at the CORE website)
- Research related to the current document (at the CORE website)
Back to top Back to top