CS297 Proposal

Improving User Experiences for Wiki Systems

Parth Patel (parthamrutbhai.patel@sjsu.edu)

Advisor: Dr. Chris Pollett


Yioop is an open source web portal that has a search engine, a wiki system, and discussion board. Currently, Yioop uses a collaborative filtering media job to suggest discussion groups and discussion threads to users. Recently, a previous master's students, Anirudh Mallya, modified how the vectors for this system are calculated to use a hash2vec approach. Our projects aims to fully incorporate his system into Yioop and to extend it so that suggestions for Wiki pages and resources on wiki pages such as videos are also offered to the users. Another extension we will attempt is to use collaborative filtering on user searches in creating search result rankings.


Week 1: 02-01-2022 - 02-08-2022Discuss the project topic, finalize the deliverables, drafting the proposal
Week 2: 02-08-2022 - 02-15-2022Download Yioop source code, explore the code, find research papers on recommendation systems
Week 3: 02-15-2022 - 02-22-2022Start working towards Deliverable 1 (Emoji feature), start reading reference [1]
Week 4: 02-22-2022 - 03-01-2022Finish Deliverable 1 (Emoji feature), finish reading and summarise reference [1]
Week 5: 03-01-2022 - 03-08-2022Learn Selenium and automation, start reading reference [2]
Week 6: 03-08-2022 - 03-15-2022Starting working towards Deliverable 2 (UI testing), finish reading and summarise reference [2]
Week 7: 03-15-2022 - 03-22-2022Continue working on Deliverable 2 (UI testing), start reading reference [3]
Week 8: 03-22-2022 - 03-29-2022Finish Deliverable 2
Week 9: 03-29-2022 - 04-05-2022Start working towards Deliverable 3 (Credits conversion), finish reading and summarise reference [3]
Week 10: 04-05-2022 - 04-12-2022Continue working on Deliverable 3 (Credits Conversion), start reading reference [4]
Week 11: 04-12-2022 - 04-19-2022Finish Deliverable 3 (Credits Conversion), finish reading and summarise reference [4]
Week 12: 04-19-2022 - 04-26-2022Start working on Deliverable 4 (Refactor Anirudh's code)
Week 13: 04-26-2022 - 05-03-2022Continue working on Deliverable 4, start drafting report
Week 14: 05-03-2022 - 05-10-2022Finish Deliverable 4 (Refactor Anirudh's code)
Week 15: 05-10-2022 - 05-16-2022Finalize the Report


The full project will be done when CS298 is completed. One of the goals of CS 297 is understand the Yioop code base. To that end, Tthe following will be done by the end of CS297:

1. Add an Emoji Picker tool to the Messages activity in Yioop.

2. Add at least five UI unit tests to Yioop.

3. Update the Manage Activity in Yioop so that unused credits can be converted back to real cash or cryptocurrencies

4. Rework Anirudh's hash2vec patch so that it can be incorporated into Yioop.

5. CS 297 Report


[1]   M. Chiang,  Networked Life.  New York, NY: Cambridge University Press, 2012.

[2]   F. Xue, X. He, X. Wang, J. Xu, K. Liu and R. Hong, "Deep Item-based Collaborative Filtering for Top-N Recommendation," presented at the ACM Transactions on Information Systems, Aug 2018.

[3]   J. B. Schafer, D. Frankowski, J. Herlocker and S. Sen, "Collaborative Filtering Recommender Systems," The Adaptive Web, Lecture Notes in Computer Science, vol 4321. Springer, Berlin, Heidelberg. DOI:https://doi.org/10.1007/978-3-540-72079-9_9.

[4]   X. Li, D. Li, "An Improved Collaborative Filtering Recommendation Algorithm and Recommendation Strategy," Mobile Information Systems, vol. 2019, Article ID 3560968, 11 pages, 2019. DOI:https://doi.org/10.1155/2019/3560968.