A web based name generator using Markov chains on existing data.

About.html 6.6KB

    <!DOCTYPE html> <html> <head> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Bunny's Web Name Generator</title> <link href="css/darkly.bootstrap.min.css" rel="stylesheet" type="text/css" media="screen" /> <link href="css/Site.css" rel="stylesheet" type="text/css" media="screen" /> <script type="text/javascript" src="js/modernizr-2.6.2.js"></script> <script type="text/javascript" src="js/jquery-2.1.3.js"></script> <script type="text/javascript" src="js/bootstrap.js"></script> <script type="text/javascript" src="js/helpers.js"></script> <!-- <script type="text/javascript" src="/js/jquery-2.1.3.min.js"></script> <script type="text/javascript" src="/js/bootstrap.min.js"></script> --> </head> <body> <div class="navbar navbar-default navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="index.html" title="Index Page">Name Gen</a> </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li><a href="NameGen.html" title="Web App Name Generator">Web Name Generator</a> </li> <li><a href="CSNameGen.html" title="WinForms Name Generator">WinForms Name Generator</a> </li> <li><a href="DataSetView.html" title="View a dataset">View Dataset</a> </li> <li><a href="About.html" title="About this site">About</a> </li> <li><a href="Contact.html" title="Contact me">Contact</a> </li> </ul> </div> </div> </div> <div class="container body-content"> <div class="well well-lg"> <h1>About</h1> <p class="lead">What is this and how does it work?</p> </div> <div class="row"> <div class="col-md-6"> <h2>What is this and why make it?</h2> <p> This name generator will build new words using rules generated from a file containing sample words inside a minmum and maximum given to it. The words produced can look a bit strange and nothing like the sample text sometimes but are generally similar enough to be useful. </p> <p> I enjoyed using Christopher Pounds website to generate names when I needed one for a tabletop RPG or to name a legendary character or piece of equipment when designing my own Magic: The Gathering cards but they didn't update fast enough for my liking. </p> <p> Thankfully he has his scripts up and using those I wrote the C# WinForms version of the name generator which proved to be helpful. Later on I wanted to be able to use it on my phone and give it out in an easier manner and a wep app seemed the best way. </p> </div> <div class="col-md-6"> <h2>How does it work?</h2> <p> The script takes each word and puts the first pair of characters into an array and associates it with the following letter. It then does this for each subsequent pair until it reaches the end of the word. By the end of processing the dataset file each pair of letters has one or more following letters associated with it and a list of first pairs. </p> <p> The script then generates some suffixes and prefixes by randomly chopping the end or start of some randomly chosen words and stores them in an array. </p> <p> To begin generation, a random length between the min and max and then picks a random first pair. A random next letter associated with that pair is added to the word and the new next pair in the word is used to find the next letter in the same manner. This continues until the length of the word is at the previously randomly chosen length. </p> <p> Roughly a third of the words generated will have a random prefix or suffix added to the word and the if the word still fits inside the minimum and maximum lengths it is returned. If it isn't, the word without the prefix/suffix is returned instead. </p> </div> </div> <hr /> <div class="row"> <div class="col-md-6"> <h2>Dataset Format</h2> <p>Each dataset is either a simple xml file or a txt file containing all the words separated by spaces and new lines. The program currently accepts no other form of dataset.</p> </div> <div class="col-md-6"> <h2>Datasets available:</h2> <ul> <li><a href="content/Datasets/Arabic (female names).txt">Arabic (female names)</a></li> <li><a href="content/Datasets/Arabic (male names).txt">Arabic (male names)</a></li> <li><a href="content/Datasets/Arabic (surnames).txt">Arabic (surnames)</a></li> <li><a href="content/Datasets/Basque (male names).txt">Basque (male names)</a></li> <li><a href="content/Datasets/Basque (female names).txt">Basque (female names)</a></li> <li><a href="content/Datasets/Celtic (female names).txt">Celtic (female names)</a></li> <li><a href="content/Datasets/Celtic (male names).txt">Celtic (male names)</a></li> <li><a href="content/Datasets/Cthulhoid.txt">Cthulhoid</a></li> <li><a href="content/Datasets/Latvian (female names).txt">Latvian (female names)</a></li> <li><a href="content/Datasets/Latvian (male names).txt">Latvian (male names)</a></li> <li><a href="content/Datasets/Viking (female names).txt">Viking (female names)</a></li> <li><a href="content/Datasets/Viking (male names).txt">Viking (male names)</a></li> <li><a href="content/Datasets/Elvish.txt">Elvish</a></li> <li><a href="content/Datasets/TestData.txt">TestData</a></li> </ul> </div> </div> <hr /> <footer> <p>&copy; 2009 - <Script type="text/javascript">document.write(new Date().getFullYear())</Script> - BunnyRabbit2 (Lewis Storey)</p> <p>Made using the <script type="text/javascript">document.write(getBootstrapThemeName());</script> theme for boot strap from <a href="bootswatch.com">Bootswatch.com</a> Made by <a href="http://thomaspark.me" rel="nofollow">Thomas Park</a>. </p> </footer> </div> </body> </html>