<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">OALibJ</journal-id><journal-title-group><journal-title>Open Access Library Journal</journal-title></journal-title-group><issn pub-type="epub">2333-9705</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/oalib.1106483</article-id><article-id pub-id-type="publisher-id">OALibJ-101604</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Biomedical&amp;Life Sciences</subject><subject> Business&amp;Economics</subject><subject> Chemistry&amp;Materials Science</subject><subject> Computer Science&amp;Communications</subject><subject> Earth&amp;Environmental Sciences</subject><subject> Engineering</subject><subject> Medicine&amp;Healthcare</subject><subject> Physics&amp;Mathematics</subject><subject> Social Sciences&amp;Humanities</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Novel and Hybrid Approach of an Indian Demographic Movie Recommender System
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>G</surname><given-names>S Ananth</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>K.</surname><given-names>Raghuveer</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>R</surname><given-names>Dayananda</given-names></name><xref ref-type="aff" rid="aff3"><sup>3</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>R</surname><given-names>Kashyap</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Department of MCA, National Institute of Engineering (NIE), Mysuru, India</addr-line></aff><aff id="aff3"><addr-line>CEO, Kitchen 365, Mysuru, India</addr-line></aff><aff id="aff2"><addr-line>Department of ISE, National Institute of Engineering (NIE), Mysuru, India</addr-line></aff><pub-date pub-type="epub"><day>06</day><month>07</month><year>2020</year></pub-date><volume>07</volume><issue>07</issue><fpage>1</fpage><lpage>10</lpage><history><date date-type="received"><day>29,</day>	<month>May</month>	<year>2020</year></date><date date-type="rev-recd"><day>17,</day>	<month>July</month>	<year>2020</year>	</date><date date-type="accepted"><day>20,</day>	<month>July</month>	<year>2020</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  
    India is a demographic democratic country having a population of nearing 140 crores and with different people of various religions, communicating numerous languages, wearing different varieties of clothes. India is also a cacophony of languages, with more than 1500 films being produced every year in its 20+ languages. Recommender systems give personalized outputs in the form of the information being processed. But unfortunately, there is very little personalization done or the data available for this voluminous demographic attribute possessed by India. For example, though there are different platforms like Amazon prime videos, Netflix, tickets booked through www.bookmyshow.com/ to watch movies but not restricted to just Hindi and English (the two official languages of India)—there is little concentration towards the demographic data of Indian languages. In this paper, we present a novel way of creating an Indian Demographic Movie Recommender System (IDMRS) making full utilization of the various demographic attributes available. IDMRS is a system capable of filtering and providing personalization to users in five regional south Indian languages. This system makes use of various characteristics and demographic attributes, such as age, gender and occupational details for the generation of recommendations. Also, a curated dataset, similar to MovieLens dataset, is evolved with this system and is evaluated with various performance metrics. 
  
 
</p></abstract><kwd-group><kwd>Demographic Filtering (DF)</kwd><kwd> Information Retrieval (IR)</kwd><kwd> Recommender Systems (RS)</kwd><kwd> Similarity Index (SI)</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>With this outburst of data in recent years, it's a tough task for a user to select and pick a nice movie for watching. Also, with the huge options and preference choice made easily available, selection of data in a particular domain is not at all easy. Recommender systems are used to provide new personalization and also to showcase existing recommendations. These recommender systems can be used for recommendations on various domains like books, songs, jokes, news, online products and not limited to movies.</p><p>Research and literature survey suggest various approaches to creating an RS. Also, it is important to note that an RS has its own positives and negatives and we should be careful while selecting a suitable approach for implementation.</p><p>The most commonly used approaches of RS are via Collaborative Filtering methods and Content-based filtering techniques. IDMRS makes use of a logical combination of both these approaches and hence is hybrid in nature.</p><p>Till now, there are not many details available about demographic personalization for the movie domain except [<xref ref-type="bibr" rid="scirp.101604-ref1">1</xref>]. IDMRS makes use of recommending personalization to a user in five regional languages: Kannada, Hindi, Telugu, Tamil and Malayalam. This way we were able to concentrate mainly on the South Indian dialect languages.</p><p>IDMRS could group users based on attributes like age, gender. The personalization produced by IDMRS could determine the user’s need for a movie recommendation. A movie recommendation was based on the similar movie taste given as an input or a completely new movie. The same was achievable for a new user as well. A new user could get a movie recommendation based on previous interests and preferences or a completely new movie as a recommendation. This way the common cold-start problem faced in RS was avoided to a certain extent. To be precise, a new user lacks good recommendations due to lack of enough ratings. IDMRS utilizes the user demographic data to avoid cold-start problems.</p><p>IDMRS was able to customize movie name generations. That is, the demographic information available can be used to provide customized personalization as per the language of choice.</p><sec id="s1_1"><title>1.1. Motivation</title><p>One of the most common problems of available movie data sources like Netflix, Amazon Prime, and now the new Jio Movies, Airtel Movies, Flipkart videos is the lack of a comprehensive list of Indian movies.</p><p>Also, it is unfortunate to note that except Netflix, these data sources do not provide their dataset for research and future learnings.</p></sec><sec id="s1_2"><title>1.2. Contributions</title><p>Through IDMRS,</p><p>・ A web portal for the curated dataset collection of data: A web portal where a user signs up by filling demographic data. Then the user can provide a like or a dislike as a movie rating.</p><p>・ Indian Demographic Movie Dataset: With the implementation of IDMRS, we were able to create a dataset of Indian Demographic Region and especially for the South Indian dialect languages.</p><p>・ Analysis of the data: We made use of a logical combination of content and collaborative techniques for filtering and analysis of this regional dataset.</p></sec></sec><sec id="s2"><title>2. Related Work</title><p>In [<xref ref-type="bibr" rid="scirp.101604-ref2">2</xref>] an Indian regional movie dataset the very first of its kind-database of regional Indian movies, users and their ratings is created. It consists of movies from 18 regional languages, capturing ratings from 919 users and for 2851 movies.</p><p>The analysis of this dataset is done using some supervised and unsupervised collaborative filtering techniques like Probabilistic Matrix Factorization, Matrix Completion, and Blind Compressed Sensing etc.</p><p>In [<xref ref-type="bibr" rid="scirp.101604-ref3">3</xref>] the researchers make use of the MovieLens dataset [<xref ref-type="bibr" rid="scirp.101604-ref4">4</xref>] and try to exploit the user demographic attributes for solving the cold-start problem in the Recommender System. The paper is structured into overall five phases where in the last phase they also provide directions for future research after the MovieLens dataset is evaluated.</p><p>Also, this paper suggests a novel framework to solve the cold-start problem by the utilization and influence of demographic attributes on user ratings and also to assist the RS to improve its recommendations.</p></sec><sec id="s3"><title>3. Proposed Approach and Work</title><p>The IDMRS recommendation generation for a user works at five stages:</p><p>I. Data collection</p><p>II. Similarity index calculation</p><p>III. Recommendation generation</p><p>IV. Recommendation evaluation</p><p>V. Presentation to users or regeneration of recommendations.</p><p>For IDMRS, the similarity index calculation and recommendation generation are both demonstrated in a single phase.</p><p>The workflow of IDMRS is shown in <xref ref-type="fig" rid="fig1">Figure 1</xref>.</p><p><xref ref-type="table" rid="table1"><xref ref-type="table" rid="table">Table </xref>1</xref> is the description of user demographic data.</p><p>Each user would need to register and login into the site before able to see recommendations or even before rating a particular movie. This also made sure that a session was maintained all the time till logout. The IDMRS also can be considered as a session-based RS.</p><p><xref ref-type="table" rid="table2"><xref ref-type="table" rid="table">Table </xref>2</xref> shows the description of tables in the IDMRS.</p><sec id="s3_1"><title>3.1. Metadata Information</title><p>The IDMRS dataset was constructed in the Phase-1: Collection of data consisted of majorly three tables: User, Movie and Ratings as in <xref ref-type="table" rid="table2"><xref ref-type="table" rid="table">Table </xref>2</xref>. The user description</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1"><xref ref-type="table" rid="table">Table </xref>1</xref></label><caption><title> User demographic data in encrypted format</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >UserId</th><th align="center" valign="middle" >Name</th><th align="center" valign="middle" >Gender</th><th align="center" valign="middle" >Occupation</th><th align="center" valign="middle" >Email</th><th align="center" valign="middle" >Age</th><th align="center" valign="middle" >Mobile</th></tr></thead><tr><td align="center" valign="middle" >01</td><td align="center" valign="middle" >Kashyap</td><td align="center" valign="middle" >M</td><td align="center" valign="middle" >Student</td><td align="center" valign="middle" >k***yapr@gmail.com</td><td align="center" valign="middle" >24</td><td align="center" valign="middle" >99854**763</td></tr><tr><td align="center" valign="middle" >02</td><td align="center" valign="middle" >Namitha</td><td align="center" valign="middle" >F</td><td align="center" valign="middle" >Lawyer</td><td align="center" valign="middle" >nam***@gmail.com</td><td align="center" valign="middle" >28</td><td align="center" valign="middle" >98745**321</td></tr></tbody></table></table-wrap><table-wrap id="table2" ><label><xref ref-type="table" rid="table2"><xref ref-type="table" rid="table">Table </xref>2</xref></label><caption><title> Description of tables in IDMRS</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Sl. No.</th><th align="center" valign="middle" ><xref ref-type="table" rid="table">Table </xref>Name</th><th align="center" valign="middle" >Description</th></tr></thead><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >User</td><td align="center" valign="middle" >This is the user table consisting of user demographic data</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >Movie</td><td align="center" valign="middle" >This is the movie table where all of the movie related information is stored</td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >Ratings</td><td align="center" valign="middle" >The ratings of movies for each individual film is stored in this table.</td></tr></tbody></table></table-wrap><p>is described in <xref ref-type="table" rid="table1"><xref ref-type="table" rid="table">Table </xref>1</xref>.</p><p><xref ref-type="table" rid="table">Table </xref>3 describes the Movie table and <xref ref-type="table" rid="table">Table </xref>4 describes the Ratings table.</p><p><xref ref-type="table" rid="table">Table </xref>5 gives the overall picture of the curated dataset.</p></sec><sec id="s3_2"><title>3.2. Calculation of Similarity Index and Generation of Recommendations</title><p>First of all, the curated dataset had a train/test split ratio of 8:2. In our work of</p><table-wrap id="table3" ><label><xref ref-type="table" rid="table">Table </xref>3</label><caption><title> Desc of movie table</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Sl. No.</th><th align="center" valign="middle" ><xref ref-type="table" rid="table">Table </xref>field</th><th align="center" valign="middle" >Example field value</th></tr></thead><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >Movie_Id</td><td align="center" valign="middle" >231</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >Movie_Name</td><td align="center" valign="middle" >Bharat Ane Nenu</td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >Movie_Language</td><td align="center" valign="middle" >Telugu</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >Movie_Desc</td><td align="center" valign="middle" >Description</td></tr><tr><td align="center" valign="middle" >5</td><td align="center" valign="middle" >Movie_duration</td><td align="center" valign="middle" >Running time of the movie</td></tr></tbody></table></table-wrap><table-wrap id="table4" ><label><xref ref-type="table" rid="table">Table </xref>4</label><caption><title> Desc of ratings table</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Sl. No.</th><th align="center" valign="middle" ><xref ref-type="table" rid="table">Table </xref>field</th><th align="center" valign="middle" >Example field value</th></tr></thead><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >UserId</td><td align="center" valign="middle" >27</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >Movie_Id</td><td align="center" valign="middle" >231</td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >Ratings_stars</td><td align="center" valign="middle" >1 to 5 (High: 5)</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >Likes</td><td align="center" valign="middle" >Boolean 0 or Boolean 1</td></tr></tbody></table></table-wrap><table-wrap id="table5" ><label><xref ref-type="table" rid="table">Table </xref>5</label><caption><title> Curated dataset details</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Sl. No.</th><th align="center" valign="middle" ><xref ref-type="table" rid="table">Table </xref>details</th><th align="center" valign="middle" >Total count</th></tr></thead><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >Users</td><td align="center" valign="middle" >266</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >Movies</td><td align="center" valign="middle" >367</td></tr><tr><td align="center" valign="middle" >3</td><td align="center" valign="middle" >Languages</td><td align="center" valign="middle" >5</td></tr><tr><td align="center" valign="middle" >4</td><td align="center" valign="middle" >Ratings</td><td align="center" valign="middle" >7500</td></tr></tbody></table></table-wrap><p>calculating the similarity index and generation of recommendations, we created a Hybrid Recommender for our approach.</p><p>A hybrid recommender is one which makes use of logical combinations of both content filtering and collaborative filtering techniques. Hybridization techniques are further classified as monolithic design, parallelized design and pipelined design of hybridization [<xref ref-type="bibr" rid="scirp.101604-ref5">5</xref>].</p><p>Our approach makes use of a monolithic hybrid design model where in for the:</p><p>Input: User Id and Movie name</p><p>Output: Similar movie based on the input movie name and sorted on the basis of expected ratings by that particular user</p><p>Also, to make sure that we had our hybrid recommender design working, we split our implementation to work on and see the results of these recommenders:</p><p>1. Popularity recommender</p><p>2. User based recommender</p><p>3. Item based recommender</p><p>For the popularity recommender, we used Top-N functionality, where in N is most popular set of films as per the count of user ratings sorted from high to low.</p><p>In the case of User based recommender, cosine similarity index was used. The similarity index is defined as in (1)</p><p>cos θ = a ⋅ b ‖ a ‖ ⋅ ‖ b ‖ (1)</p><p>Hamming distance was used for similarity in the case of Item based recommender system. One of the reasons for using Hamming distance was, we used movies of same language and length or duration greater than 2 hours as a feature vector for item based recommender system and in presented binary format.</p><p>The hamming distance between 2 movies say A and B with “ i ” as the feature vector is as defined in (2)</p><p>∑ | A i − B i | (2)</p><p>The recommendations of movies with highest value of cosine similarity to a value of 1 and the least hamming score were generated.</p><p><xref ref-type="table" rid="table">Table </xref>6 depicts an example of the hamming distance calculated between 2 movies of the same length:</p><p>Note that, the hamming distance of unequal lengths is always 1 and equal lengths is a binary 0 value. All such movies where in the hamming distance was 1 was calculated and grouped together.</p><p>The hybrid recommender made a logical integration of user based recommender with item based recommender.</p></sec><sec id="s3_3"><title>3.3. Evaluation of the Recommendations</title>Common Modelling Metrics Used in Recommender Systems<p>The evaluation metrics used in our approach is Mean Absolute Error (MAE) and Root Mean Square Error (RMSE). They are the most common modelling metrics used in the case of Recommender Systems [<xref ref-type="bibr" rid="scirp.101604-ref6">6</xref>].</p><p>MAE and RMSE are defined as in (3) and (4)</p><p>MAE = 1 n ∑ i = 1 n ( x i − y i σ i ) 2 (3)</p><p>RMSE = 1 n ∑ i = 1 n ( x i − y i σ i ) 2 (4)</p><p><xref ref-type="table" rid="table">Table </xref>7 shows the MAE and RMSE evaluation modelling metrics of the IDMRS.</p><p>The IDMRS was able to generate recommendations by also utilizing the demographic attributes and the metrics had a fair amount of improvement.</p><table-wrap id="table6" ><label><xref ref-type="table" rid="table">Table </xref>6</label><caption><title> Hamming distance for movie with duration as a feature vector</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Sl. No.</th><th align="center" valign="middle" >Movie Title</th><th align="center" valign="middle" >Movie Duration (in minutes)</th><th align="center" valign="middle" >Hamming Distance</th></tr></thead><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >ABCD-1</td><td align="center" valign="middle" >143</td><td align="center" valign="middle"  rowspan="2"  >1</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >ABCD-2</td><td align="center" valign="middle" >154</td></tr></tbody></table></table-wrap><table-wrap id="table7" ><label><xref ref-type="table" rid="table">Table </xref>7</label><caption><title> Evaluation of IDMRS models</title></caption><table><tbody><thead><tr><th align="center" valign="middle"  rowspan="2"  >Sl. No.</th><th align="center" valign="middle"  rowspan="2"  >Model type</th><th align="center" valign="middle"  rowspan="2"  >Type variant</th><th align="center" valign="middle"  colspan="2"  >Evaluation Metric</th></tr></thead><tr><td align="center" valign="middle" >MAE</td><td align="center" valign="middle" >RMSE</td></tr><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >Non-personalized</td><td align="center" valign="middle" >Popular RS</td><td align="center" valign="middle" >0.83</td><td align="center" valign="middle" >0.97</td></tr><tr><td align="center" valign="middle"  rowspan="3"  >2</td><td align="center" valign="middle"  rowspan="3"  >Personalized</td><td align="center" valign="middle" >User-based RS</td><td align="center" valign="middle" >0.76</td><td align="center" valign="middle" >0.87</td></tr><tr><td align="center" valign="middle" >Item-based RS</td><td align="center" valign="middle" >0.48</td><td align="center" valign="middle" >0.92</td></tr><tr><td align="center" valign="middle" >Hybrid RS</td><td align="center" valign="middle" >0.73</td><td align="center" valign="middle" >0.45</td></tr></tbody></table></table-wrap><p><xref ref-type="table" rid="table">Table </xref>8 displays the demographic attributes used for better recommendations.</p></sec><sec id="s3_4"><title>3.4. Presentation of Recommendations to Users</title><p>Though the complete IDMRS site was developed using the open source PHP framework, Python language code was used on the dataset to obtain recommendations.</p><p>We had to execute Python scripts within PHP and display the outputs back onto PHP. We came across [<xref ref-type="bibr" rid="scirp.101604-ref7">7</xref>] to solve this issue. The escapeshellcmd and shell_exec() functions were used to call Python within PHP.</p></sec></sec><sec id="s4"><title>4. Results and Discussion</title><p>In this section, we run our model for Precision, Recall and F-measure score of the generated recommendation list.</p><p>Precision, also called the positive predicted value, as in this case of IDMRS is the fraction of relevant movies predicted by the system to the overall retrieved movies. A movie is relevant when its rating is greater than or equal to 3.8 or else it is irrelevant and this is fetched from the curated dataset.</p><p>Precision is defined as in (5)</p><p>Precision = TP / ( TP + FP ) (5)</p><p>Likewise, recall is the number of related movies predicted by the model to the total number of relevant movies.</p><p>A recommended movie is also the predicted movie whose rating is again greater than or equal to 3.8 and this is the output or the result of the prediction algorithm.</p><p>Recall is also called sensitivity. It is defined for our IDMRS as in (6)</p><p>Recall = TP / ( TP + FN ) (6)</p><p>Finally, the mean between the precision and recall is measured by a score called F-Measure. When the measure is having a value of 1―then it means that, we are giving equal significance to both precision and recall.</p><p>Now F-Measure becomes F-1 (as in equality to a value of 1 to both precision and recall).</p><p>F-1 measure to our IDMRS is derived as in (7)</p><table-wrap id="table8" ><label><xref ref-type="table" rid="table">Table </xref>8</label><caption><title> Demographic attributes used for IDMRS improved recommendations</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Attribute</th><th align="center" valign="middle" >Value</th><th align="center" valign="middle" >Count</th><th align="center" valign="middle" >Total</th><th align="center" valign="middle" >Avg. MAE</th><th align="center" valign="middle" >Avg. RMSE</th></tr></thead><tr><td align="center" valign="middle"  rowspan="2"  >Gender</td><td align="center" valign="middle" >Female</td><td align="center" valign="middle" >58</td><td align="center" valign="middle"  rowspan="9"  >266</td><td align="center" valign="middle" >0.84</td><td align="center" valign="middle"  rowspan="2"  >1.34</td></tr><tr><td align="center" valign="middle" >Male</td><td align="center" valign="middle" >208</td><td align="center" valign="middle" >0.96</td></tr><tr><td align="center" valign="middle"  rowspan="3"  >Occupation</td><td align="center" valign="middle" >Student</td><td align="center" valign="middle" >67</td><td align="center" valign="middle" >0.77</td><td align="center" valign="middle"  rowspan="3"  >1.38</td></tr><tr><td align="center" valign="middle" >Lawyer</td><td align="center" valign="middle" >24</td><td align="center" valign="middle" >0.49</td></tr><tr><td align="center" valign="middle" >Engineer</td><td align="center" valign="middle" >175</td><td align="center" valign="middle" >0.67</td></tr><tr><td align="center" valign="middle"  rowspan="4"  >Age</td><td align="center" valign="middle" >&lt;18 years</td><td align="center" valign="middle" >26</td><td align="center" valign="middle" >0.44</td><td align="center" valign="middle"  rowspan="4"  >1.14</td></tr><tr><td align="center" valign="middle" >18 to 35 years</td><td align="center" valign="middle" >78</td><td align="center" valign="middle" >0.48</td></tr><tr><td align="center" valign="middle" >35 to 50 years</td><td align="center" valign="middle" >84</td><td align="center" valign="middle" >0.21</td></tr><tr><td align="center" valign="middle" >&gt;50 years</td><td align="center" valign="middle" >78</td><td align="center" valign="middle" >0.19</td></tr></tbody></table></table-wrap><p>F β = ( 1 + β 2 ) &#215; ( Num / Den ) (7)</p><p>where,</p><p>Num = Precision &#215; Recall</p><p>Den = ( β 2 &#215; Precision ) + Recall</p><p>β = 1</p><p><xref ref-type="table" rid="table">Table </xref>9 depicts the precision, recall and F-1 scores for the user with UserId-5 for the IDMRS hybrid recommendation output. The Trial I and Trial II details are depicted as per <xref ref-type="table" rid="table1"><xref ref-type="table" rid="table">Table </xref>1</xref>0(a) and <xref ref-type="table" rid="table1"><xref ref-type="table" rid="table">Table </xref>1</xref>0(b), through the confusion matrix. The train to test split was an 8:2 ratio.</p><p>For the few trials done, for our model of IDMRS, we were able to achieve a precision of nearly 50% and recall of more than 50%. We are able to achieve an F1-score of 54%. The F1-score denotes the performance of the Recommender System. The higher the value, the better it is.</p><p>One of the observations made during the run of IDMRS was, with higher number of trials and an aggregated average of Precision and Recall taken, the performance of the RS could improve drastically.</p><p>Also with the addition of more number of demographic attributes and fine tuning of the same, the F1 score could raise by at least another 10%. These attributes observed are could be the movie maker characteristics, the genre or the type of the movie.</p><p>Unfortunately when the IDMRS dataset size is compared with the other existing movie datasets, the size of IDMRS is very small and tiny. Adding more attributes and increasing the size of the dataset is discussed in challenges.</p></sec><sec id="s5"><title>5. Challenges</title><p>These are a few of the challenges faced while working with our work:</p><p>➢ The total number of Indian languages is 22 in [<xref ref-type="bibr" rid="scirp.101604-ref8">8</xref>]. The collection of data for these 22 languages is indeed a herculean task.</p><table-wrap id="table9" ><label><xref ref-type="table" rid="table">Table </xref>9</label><caption><title> Precision, recall and F1 score</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Sl. No.</th><th align="center" valign="middle" >Trials</th><th align="center" valign="middle" >Precision</th><th align="center" valign="middle" >Recall</th><th align="center" valign="middle" >F1 Score</th></tr></thead><tr><td align="center" valign="middle" >1</td><td align="center" valign="middle" >Trial-I</td><td align="center" valign="middle" >0.45</td><td align="center" valign="middle" >0.55</td><td align="center" valign="middle" >0.495</td></tr><tr><td align="center" valign="middle" >2</td><td align="center" valign="middle" >Trial-II</td><td align="center" valign="middle" >0.54</td><td align="center" valign="middle" >0.6</td><td align="center" valign="middle" >0.568</td></tr></tbody></table></table-wrap><table-wrap-group id="10"><label><xref ref-type="table" rid="table1"><xref ref-type="table" rid="table">Table </xref>1</xref>0</label><caption><title> Confusion matrix with TP, TN, FP &amp; FN values for 2 trials. (a) The trial-I values; (b) The trial-II values</title></caption><table-wrap id="10_1"><caption><title> (b)</title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >+ve</th><th align="center" valign="middle" >−ve</th></tr></thead><tr><td align="center" valign="middle" >+ve</td><td align="center" valign="middle" >TP 10</td><td align="center" valign="middle" >FP 12</td></tr><tr><td align="center" valign="middle" >−ve</td><td align="center" valign="middle" >FN 8</td><td align="center" valign="middle" >TN 5</td></tr></tbody></table></table-wrap><table-wrap id="10_2"><caption><title></title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >+ve</th><th align="center" valign="middle" >−ve</th></tr></thead><tr><td align="center" valign="middle" >+ve</td><td align="center" valign="middle" >TP 12</td><td align="center" valign="middle" >FP 10</td></tr><tr><td align="center" valign="middle" >−ve</td><td align="center" valign="middle" >FN 5</td><td align="center" valign="middle" >TN 8</td></tr></tbody></table></table-wrap></table-wrap-group><p>➢ The data collected for the 5 languages of our implementation is only for a period of 5 years. If all of the year’s data needs to be collected, then it's not an easy task and is indeed a difficult challenge.</p><p>➢ We should understand the restriction of data and the huge sizes of movies in different formats. The dataset of IDMRS only stored the metadata of movies. Storing the physical movies is not easy and may not be needed as well.</p><p>➢ The attributes used for producing demographic outputs are few in number. If the dataset has more number of fields as demographic data, then procuring recommendations out of them has many numbers of permutations and combinations.</p></sec><sec id="s6"><title>6. Conclusions and Future Work</title><p>In this work we provided a novel approach of evaluating the demographic attributes available in the curated dataset to provide and recommend movies to new users. The movies were sometimes the popular ones recommended and few times absolute new users were provided with interesting movies; thus the problem of cold-start was also avoided to an extent.</p><p>The IDMRS can be also considered as a session-based RS. All the operations of the RS had to be done with the user logged-in.</p><p>Further work and research can be done using the dataset of IDMRS. More number of options for obtaining hybrid recommendations can be made if there are a numerous number of demographic attributes, which can be added to the curated dataset through web scraping or any other feature.</p><p>Finally, the same approach of working with movies as in the case of IDMRS can be applied to other domains as well. IDMRS can work as a generic platform.</p></sec><sec id="s7"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s8"><title>Cite this paper</title><p>Ananth G S, Raghuveer, K., Dayananda R and Kashyap R (2020) A Novel and Hybrid Approach of an Indian Demographic Movie Recommender System. Open Access Library Journal, 7: e6483. https://doi.org/10.4236/oalib.1106483</p></sec></body><back><ref-list><title>References</title><ref id="scirp.101604-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Indian Population in 2020. https://countrymeters.info/en/India</mixed-citation></ref><ref id="scirp.101604-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Indian Regional Movie Dataset for Recommender Systems.  
https://arxiv.org/abs/1801.02203</mixed-citation></ref><ref id="scirp.101604-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Exploiting User Demographic Attributes for Solving Cold-Start Problem in Recommender System.  
&lt;br /&gt;https://www.researchgate.net/publication/272908674_Exploiting_User_Demographic_Attributes_fo r_Solving_Cold-Start_Problem_in_Recommender_System</mixed-citation></ref><ref id="scirp.101604-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">The MovieLens Research Website. https://grouplens.org/datasets/movielens/</mixed-citation></ref><ref id="scirp.101604-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Jannach, D. (2010) Hybrid Recommender Approaches. Recommender Systems: An Introduction. Cambridge University Press, Cambridge.</mixed-citation></ref><ref id="scirp.101604-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Herlocker, J. (2004) Evaluating CF Recommender Systems. ACM Transactions on Information Systems, 22. https://doi.org/10.1145/963770.963772</mixed-citation></ref><ref id="scirp.101604-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">Calling Python Files within PHP.  
&lt;br /&gt;https://www.tutorialspoint.com/How-to-call-Python-file-from-within-PHP</mixed-citation></ref><ref id="scirp.101604-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Over 22+ Indian Languages. 
&lt;br /&gt;https://www.traveldudes.org/travel-tips/india-country-over-22-languages/9384</mixed-citation></ref></ref-list></back></article>