Skip to content

Instantly share code, notes, and snippets.

View kkoch986's full-sized avatar

Ken Koch kkoch986

  • Zentail
  • Raleigh, NC
View GitHub Profile
@kkoch986
kkoch986 / nueralnets.js
Created December 2, 2014 14:09
playing with neural nets
var Unit = function(value, grad) {
this.value = value;
this.grad = grad;
};
var multiplyGate = function(){ };
multiplyGate.prototype = {
@kkoch986
kkoch986 / extraction.py
Last active April 12, 2018 05:33
NLTK Sentence extraction
import nltk, re, pprint
import json
import sys
# a function to convert a tree into an array for json encoding
def tree_to_dict(tree):
return {tree.label(): [tree_to_dict(t) if isinstance(t, nltk.Tree) else t for t in tree]}
# download required corpora
required_downloads = [
@kkoch986
kkoch986 / categorization.js
Created July 25, 2014 03:11
Potential Categorization algorithm for Porter Stemmer
function categorizeGroups(token) {
var previous = null;
var current = null;
var string = "";
for(var c in token) {
var ch = token[c];
var next = null;
// Y is a special case, it is only a vowel if preceeded by a vowel.
if(ch === "y") {
@kkoch986
kkoch986 / tests.js
Created March 31, 2014 18:39
NaturalNode Wordnet vs Trie `isWord` lookups
// NOTE: These are not rock-solid benchmarks, just a quick illustrative test.
var wordnet = new natural.WordNet();
var fs = require("fs");
var loops = 100;
var allWords = [];
// NOTE: This file should exist on most UNIX varieties
var dictionary = "/usr/share/dict/words";
var trie = new natural.Trie(false);
@kkoch986
kkoch986 / post-receieve
Created February 21, 2014 04:04
Git post-receive hook for automatically deploying a new version of my sites
#!/bin/bash
# CHANGE THIS TO MATCH YOUR PROJECT
root_dir=/var/www/example.com;
while read oldrev newrev refname
do
branch=$(git rev-parse --symbolic --abbrev-ref $refname);
branch_dir=$root_dir/$branch/$newrev;
echo "[CI] Commit recieved on branch $branch";
@kkoch986
kkoch986 / triesize.js
Last active August 29, 2015 13:56
Load an english language dictionary into a Trie and report the number of nodes required.
// Requires Node.js and [Natural](https://github.com/NaturalNode/natural)
var natural = require("natural");
var fs = require("fs");
// NOTE: This file should exist on most UNIX varieties
var dictionary = "/usr/share/dict/words";
var trie = new natural.Trie(false);
console.time("Build Trie");
@kkoch986
kkoch986 / gist:8312121
Created January 8, 2014 05:11
Use of a Trie to compute all possible word combinations found in a single word
var Trie = require("./index").Trie;
var t = new Trie();
// ... add your word dictionary ....
t.addStrings(["experts", "exchange", "pen", "island", "choose", "spain", "kids", "express", "childrens", "wear", "dickson", "web"]);
var testDomains = ["expertsexchange", "penisland", "choosespain", "kidsexpress", "childrenswear", "dicksonweb"];
function decompose(search) {
// find all of the words which start from the first letter