spencermountain /compromiseJavaScript12K673modest natural-language processingnlppart-of-speechnamed-entity-recognition