butterm
Pip 9.0 is out
There's a lot of discussion here about the stock apps in elementary. However, since I am an experienced Linux user, I don't really care about stock apps. The Linux app ecosystem is extremely diverse, and over the years, I have found my best solution for each task. For example, Clementine for music, Atom for text editing etc. So these apps get installed immediately after every installation of elementary and then I never look back at the stock apps again.
* Faster indexing
* Ingest node
* New scripting language (called Painless)
* New data structures from Lucene
* Instant Aggregation
* TF/IDF -> BM25 to calculate relevance
* Fail faster philosophy
* a low level Java HTTP/REST client
Allan J. Lichtman's election prediction system
Also, while NLTK's basic Twitter tokenizer is okay, I find that ARK's tokenizer [0] is much better. Similarly, for POS tagging of tweets, I am using the GATE POS tagger [1]. They have a Stanford model and I can hook it up with NLTK using the StanfordTagger class. In fact, this is the kind of integration that I am missing in Spacy.
[0] https://github.com/myleott/ark-twokenize-py [1] https://gate.ac.uk/wiki/twitter-postagger.html
Other than that, I find Spacy's philosophy of "one (best) way of doing everything" a bit stifling. I don't think there is a "best" parser or "best" named entity recognizer. A certain parser may perform very well in a domain (for example, Tweeboparser [1] performs well with tweets) and perform very badly in another. This is true for almost everything in NLP, and NLTK embraces this diversity quite well. This is why NLTK is my go to tool when I want to do something cutting edge in NLP.
[0] https://demos.explosion.ai/displacy/ [1] https://github.com/ikekonglp/TweeboParser