[{"data":1,"prerenderedAt":351},["ShallowReactive",2],{"project-6192589":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":45,"post_text":46,"what":47,"said":89,"maker_in_thread":194,"shape":197,"grid":201,"attempts":315,"same_week":316,"maker_shows":40,"maker_hidden":344,"reader_version":345,"card":346},"6192589","TextBlob","TextBlob, Natural language processing made simple in Python","title","Show HN: TextBlob, Natural language processing made simple in Python","https:\u002F\u002Ftextblob.readthedocs.org\u002Fen\u002Flatest\u002F","textblob.readthedocs.org","sloria",1376167026,2013,303,46,31,1739,2,"legend","languages","nlp library","library",[24,25,26,27],"natural language processing","python nlp","sentiment analysis","nltk wrapper","curious",0.17,{"positive":31,"neutral":32,"mixed":33,"critical":34},7,15,0,5,27,{"execution":37,"performance":39,"idea":41,"privacy":42,"docs":43,"design":44},{"positive":33,"critical":38},3,{"positive":33,"critical":40},1,{"positive":33,"critical":40},{"positive":33,"critical":33},{"positive":40,"critical":33},{"positive":40,"critical":33},[33,33,33,33,33,33,33,33,33,33,40,40,40,38,33,40,33,33,34,38,40,34,38,33,38,38,38,38,38,34,33,33,33,38,38,38,38,34,34,34],null,{"problem":48,"audience":55,"pricing":46,"motivation":46,"time_to_build":46,"stack":64,"openness":88,"stage":88,"team_size":88},{"value":49,"source":50,"evidence":51},"Makes text analysis and NLP easier to do in Python","maker",[52],{"id":53,"by":11,"text":54},"6192820","This is an extension to the Python programming language that makes it easier to analyze and manipulate text. For example, an analyst might use sentiment analysis to see whether…",{"value":56,"source":57,"evidence":58},"Python programmers doing natural language processing","commenter",[59,63],{"id":60,"by":61,"text":62},"6192699","eliben","Yay #1: a nice wrapper around NLTK. NLTK is great but its API is not very Pythonic or comfortable. Pleasant facades over it are a great help for Python NLP. Yay #2: an actually…",{"id":53,"by":11,"text":54},[65,73,81],{"value":66,"source":57,"evidence":67},"Python",[68,69],{"id":60,"by":61,"text":62},{"id":70,"by":71,"text":72},"6195302","mattdeboard","So after poking around with this for a bit, I will say that it DEFINITELY is vulnerable to Python2's string handling warts. Constructing a `TextBlob` out of a string with…",{"value":74,"source":57,"evidence":75},"NLTK",[76,77],{"id":60,"by":61,"text":62},{"id":78,"by":79,"text":80},"6192688","mark_l_watson","I played with this a few days ago. It is a nice wrapper for NLTK. You probably want to, at some point, read the free NLTK book online. Edit: and it also uses pattern.",{"value":82,"source":57,"evidence":83},"Pattern",[84],{"id":85,"by":86,"text":87},"6193339","pavanred","It uses Naive Bayes Analyzer from NLTK and PatternAnalyzer from Pattern [1]. But, I wouldn't prefer limiting the use to just one or two algorithms. My recent work involved…","unknown",{"praise":90,"objections":114,"requests":133,"questions":152,"alternatives":176},[91,103],{"value":92,"source":57,"evidence":93},"Nice, approachable wrapper around NLTK",[94,95,99],{"id":60,"by":61,"text":62},{"id":96,"by":97,"text":98},"6192701","eieio","This looks great! NLTK is incredible but definitely can be a bit intimidating. Very cool to have a wrapper around it. I'm curious to see exactly how it works and so I'll…",{"id":100,"by":101,"text":102},"6192715","misiti3780","This looks great",{"value":104,"source":57,"evidence":105},"Easy interface",[106,110],{"id":107,"by":108,"text":109},"6194638","gpsarakis","Seems to have an incredibly easy interface. Will test it. Well done!",{"id":111,"by":112,"text":113},"6192904","photorized","Awesome. I could use this.",[115,122],{"value":116,"source":57,"evidence":117},"Adds little beyond existing NLP libraries like Pattern",[118],{"id":119,"by":120,"text":121},"6194151","Ihmahr","Both for my study and side job I work on NLP with python. Sorry, but I think this thing is very much overrated by the HN crowd. There are many such libraries and this one adds…",{"value":123,"source":57,"evidence":124},"Unicode problems under Python 2",[125,129,130],{"id":126,"by":127,"text":128},"6195274","eterm","I've had good fun playing around with this, it's certainly made NLP more approachable. One issue though is that it seems to choke with certain characters. For instance the…",{"id":70,"by":71,"text":72},{"id":131,"by":71,"text":132},"6195309","Yeah, ditto. I created a new virtualenv with Python 3 and those problems disappeared. Previous to that I hacked around a bit and did the \"from __future__ import unicode_literals\"…",[134,138,145],{"value":135,"source":57,"evidence":136},"Add new functionality such as word distance via ontology",[137],{"id":119,"by":120,"text":121},{"value":139,"source":57,"evidence":140},"Add classification support with scikit-learn",[141],{"id":142,"by":143,"text":144},"6193169","the_cat_kittles","If you could add a blob.target and a default vectorizer, you could use scikits learn to offer some nice classification and regression. It's pretty easy to do that with what you…",{"value":146,"source":57,"evidence":147},"Benchmarks on speed",[148],{"id":149,"by":150,"text":151},"6193083","dpmehta02","This looks great, thanks for sharing. Any thoughts or relevant benchmarks you would like to share about its speed?",[153,161],{"value":154,"source":57,"evidence":155},"Does sentiment analysis use NLTK Naive Bayes or Pattern",[156,160],{"id":157,"by":158,"text":159},"6193012","sumit_psp","Curious as to what training algorithms you used for Sentiment Analysis? Also can I add my domain specific training set?",{"id":85,"by":86,"text":87},{"value":162,"source":57,"evidence":163},"Whether it does natural language generation",[164,168,172],{"id":165,"by":166,"text":167},"6193189","sixQuarks","OK, so it's mostly to analyze text that's already been written? Can it also write natural language text based on data inputs?",{"id":169,"by":170,"text":171},"6193297","ux-app","> Can it also write natural language text based on data inputs? from the features list it doesn't seem to. What you're referring to is text generated using a Markov Chain…",{"id":173,"by":174,"text":175},"6195448","Al-Khwarizmi","Natural language generation is also an NLP task, but this particular library doesn't seem to tackle it at the moment.",[177,180,187],{"value":74,"source":57,"evidence":178},[179],{"id":60,"by":61,"text":62},{"value":82,"source":57,"evidence":181},[182,186],{"id":183,"by":184,"text":185},"6193139","mrkmcknz","Just a quick word on Pattern[1]. TextBlob is probably just using the en module, I would suggest everyone take a look at the other modules in particular the web module should you…",{"id":119,"by":120,"text":121},{"value":188,"source":57,"evidence":189},"NodeBox Linguistics",[190],{"id":191,"by":192,"text":193},"6192708","feniv","The NodeBox linguistics module is another nice wrapper around NLTK (and other natural language processing libraries). I used it for extracting actions and details from sentences,…",{"comments":40,"answered":40,"key":195},[196],{"id":53,"text":54},{"commenters":198,"max_depth":34,"maker_replies":40,"first_comment_mins":199,"lifespan_hours":200},32,36,82,[202,204,207,211,213,216,219,221,223,226,228,229,231,232,235,238,239,241,244,247,250,252,255,259,261,264,267,269,270,271,272,275,278,280,284,287,290,292,296,298,299,301,305,307,311,313],[60,33,33,203,61,33],"commenter\u002Fpositive\u002Fnone",[205,33,33,206,97,33],"6192992","commenter\u002Fneutral\u002Fnone",[208,33,33,209,210,33],"6193110","other\u002Fneutral\u002Fnone","visionscaper",[212,33,33,209,97,33],"6193114",[214,33,33,209,215,33],"6194294","JOfferijns",[217,33,33,209,218,33],"6193134","Pent",[220,33,33,206,61,33],"6193132",[222,33,33,206,97,33],"6193154",[224,33,33,206,225,33],"6193241","dylangs1030",[227,33,33,206,61,33],"6193317",[183,40,33,209,184,33],[126,18,40,230,127,33],"project\u002Fcritical\u002Fexecution",[131,18,40,230,71,33],[233,18,40,234,127,33],"6195444","project\u002Fcritical\u002Fperformance",[236,18,38,237,71,33],"6195723","project\u002Fneutral\u002Fperformance",[191,38,33,209,192,33],[240,38,33,209,120,33],"6194113",[119,242,40,243,120,33],4,"project\u002Fcritical\u002Fidea",[245,242,33,246,71,33],"6195338","commenter\u002Fpositive\u002Fidea",[248,242,33,246,249,33],"6210162","alxndr",[96,34,34,251,97,33],"project\u002Fpositive\u002Fnone",[142,253,38,254,143,33],6,"project\u002Fneutral\u002Fidea",[256,31,38,257,258,33],"6193848","project\u002Fneutral\u002Fprivacy","shirkey",[70,260,40,230,71,33],8,[78,262,34,263,79,33],9,"project\u002Fpositive\u002Fdocs",[265,266,38,254,166,33],"6192792",10,[53,266,33,268,11,40],"maker\u002Fpositive\u002Fidea",[165,266,38,254,166,33],[169,266,38,254,170,33],[173,266,38,254,174,33],[273,266,38,254,274,33],"6195484","random42",[276,266,38,254,277,33],"6196268","afandian",[279,266,38,254,166,33],"6197111",[281,266,34,282,283,33],"6194636","maker\u002Fpositive\u002Fnone","matiasb",[285,266,33,206,286,33],"6192838","MWil",[288,266,33,206,289,33],"6192900","tomrod",[291,266,33,206,166,33],"6193190",[293,294,38,254,295,33],"6193262",11,"throwawayg99",[157,297,38,254,158,33],12,[85,297,38,254,86,33],[149,300,38,237,150,33],13,[302,303,38,304,289,33],"6192897",14,"maker\u002Fneutral\u002Fnone",[107,32,34,306,108,33],"project\u002Fpositive\u002Fdesign",[308,309,34,251,310,33],"6193166",16,"aswanson",[111,312,34,251,112,33],17,[100,314,34,251,101,33],18,[],[317,322,326,331,336,339],{"id":318,"name":319,"points":320,"category":321},"6184270","app.io",261,"dev_tools",{"id":323,"name":324,"points":325,"category":321},"6212029","TextIt",222,{"id":327,"name":328,"points":329,"category":330},"6196451","Backlabel",121,"productivity",{"id":332,"name":333,"points":334,"category":335},"6189397","MediaCrush",95,"infrastructure",{"id":337,"name":338,"points":334,"category":321},"6198744","Short Domain Search",{"id":340,"name":341,"points":342,"category":343},"6194337","Kraken.io",93,"web_saas",false,"v2",{"id":347,"name":5,"line":6,"ai":344,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":29,"top":18,"kw":348,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":349,"url":9,"mix":350,"praise":92,"objection":116,"sub":21},6192589,[24,25,26,27],"0000000000111301005315303333350003333555",[31,32,33,34],1793990896977]