-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
75 lines (61 loc) · 5.53 KB
/
index.html
File metadata and controls
75 lines (61 loc) · 5.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="UTF-8">
<title>Stackoverflowfinder by caden311</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen">
<link rel="stylesheet" type="text/css" href="stylesheets/github-light.css" media="screen">
</head>
<body>
<section class="page-header">
<h1 class="project-name">Stackoverflow Finder - A Programming Question Solver</h1>
<h2 class="project-tagline"></h2>
<a href="https://github.com/caden311/StackoverflowFinder" class="btn">View on GitHub</a>
<a href="https://github.com/caden311/StackoverflowFinder/zipball/master" class="btn">Download .zip</a>
<a href="http://caden311.pythonanywhere.com" target="_blank" class="btn">Go to Finder website</a>
</section>
<section class="main-content">
<!--
<h3><a id="welcome-to-github-pages" class="anchor" href="#welcome-to-github-pages" aria-hidden="true"><span class="octicon octicon-link"></span></a>Welcome.</h3>
-->
<h1>What is Stackoverflow finder?</h1>
<p>Stackoverflow Finder is a quick and easy way to answer any basic programming questions anyone may have.</p>
<h3>
<a id="designer-templates" class="anchor" href="#designer-templates" aria-hidden="true"><span class="octicon octicon-link"></span></a>Why use our system?</h3>
<p>Forget syntax? Just starting a language? Our site is perfect for you. Instead of having to sift through websites to find the answer to your specific question, just ask us and we will prompt you with the answer right away.</p>
<h3>
<a id="creating-pages-manually" class="anchor" href="#creating-pages-manually" aria-hidden="true"><span class="octicon octicon-link"></span></a>How does it work?</h3>
<p>To solve this problem I used a basic AI approach - the Hill climb algorithm. This algorithm uses a score function to return a good result. Not necessarily the best result, but one deemed well enough from the system. </p>
<p>The site uses a number of tools to score the right answer and bring it right to you. After asking a question we use Natural Language Processing to determine what's important about your questions. We then parse all tags related to the question; Such as languages, data-structures, and algorithms. We then query stackoverflow for all related answers. Based on that, we score all the given answers on a number of features like: </p>
<ul>
<li>Including word occurances in the title and body</li>
<li>Arragment of the words in order</li>
<li>If the answer contains code</li>
<li>Tags occurences in the title and body</li>
<li>The question view count</li>
<li>If the answer was marked correct</li>
<li>As well as the length of the answer.</li>
</ul>
<p>After these answers are all scored, the most relevant answer is returned.</p>
<h6>Natural Language Processing visualized</h6>
<img src="https://cloud.githubusercontent.com/assets/6799297/11536790/40e027f6-98d7-11e5-8d65-e1667f81b5e9.png" alt="NLP" style="width:661px;height:224px;">
<h3>
<a id="authors-and-contributors" class="anchor" href="#authors-and-contributors" aria-hidden="true"><span class="octicon octicon-link"></span></a>How do I use the system?</h3>
<p>Click on the link above to go to the finder website. - From there the system is simple. Just type in your full question. (Make sure to use correct spelling and full words.) We will them prompt you with the found answer.. <br> <br> If you feel like helping us out, you can let us know how well our answer worked for you. There is a submit button at the bottom of the page that will store the question and if you liked the answer. Then just click Back To Start, and repeat. :)</p>
<h3>
<a id="support-or-contact" class="anchor" href="#support-or-contact" aria-hidden="true"><span class="octicon octicon-link"></span></a>Future Plans</h3>
<p>When building this system I found it difficult to match programming synonyms, because they arent necessarily actual synonyms. A search for "how to create a list" could show up as "how to initialize a list" or "how to make a list". As you can see create, make, and initialize aren't synonyms. To solve this problem I've built a custom dictionary for all programming synonyms. In the future I plan to collect more data on this, and just keep improving my dictionary. </p>
<br>
<h6>Results - Data Collected So Far</h6>
<img src="https://cloud.githubusercontent.com/assets/6799297/11635949/c86e645a-9cd6-11e5-8fdc-66c57f0d1ab6.png" alt="Data" style="width:600px;height:371px;">
<p>The Data compares how many correct answers were found thus far using the given algorithms; My algorithm - Solver Algorithm, Googles algorithm, or if neither of them worked. 70% of all questions for this graph were collected by me. I look forward to collecting more data from others.</p>
<footer class="site-footer">
<span class="site-footer-owner"><a href="https://github.com/caden311/StackoverflowFinder">Stackoverflowfinder</a> is maintained by <a href="https://github.com/caden311">caden311</a>.</span>
<span class="site-footer-credits">This page was generated by <a href="https://pages.github.com">GitHub Pages</a> using the <a href="https://github.com/jasonlong/cayman-theme">Cayman theme</a> by <a href="https://twitter.com/jasonlong">Jason Long</a>.</span>
</footer>
</section>
</body>
</html>