18 ms·
Show HN: WordsAPI
- mtmail 12y agoIs this a thin wrapper over http://wordnet.princeton.edu/wordnet/ http://wordnet.princeton.edu/wordnet/ or does it/will it go beyond that?
- impostervt 12y agoFor now, that's the source of most data. I'll be adding more as time goes on. First up is pronunciation.
- DeepakShah 12y agoaren't we supposed to cite the use of WordNet?
- zo1 12y agoThen I'd suggest you properly attribute them for the data, especially if you're going to charge people for access (in my opinion, IANAL). See their site on the matter: http://wordnet.princeton.edu/wordnet/citing-wordnet/ http://wordnet.princeton.edu/wordnet/citing-wordnet/
- impostervt 12y agoYou're right, of course. I turned the "about" page on. Was holding off until I could spruce it up a bit, but I guess it's ok for now. Wasn't expecting hackernews to really jump on this.
- bbcbasic 12y agoOn their site it says: "Due to funding and staffing issues, we are no longer able to accept comment and suggestions." What if you give a % of your revenue to them to help them, in return you could be the recommended API on their site?
- andreyf 12y ago> Princeton University makes WordNet available to research and commercial users free of charge provided the terms of our license are followed, and proper reference is made to the project using an appropriate citation. [1] Interesting! I never realized this. 1. http://wordnet.princeton.edu/wordnet/download/ http://wordnet.princeton.edu/wordnet/download/
- logn 12y agoThat's nearly the BSD license. Though if I recall, some of the data files have unique licenses.
- bilalel 12y agoHi, Nice project! What about adding example of sentences?
- impostervt 12y agoGood idea - I'll add that to my todo list.
- pseudometa 12y agoLooks great!
- miket 12y agoLooking forward to seeing further development! For a more comprehensive word API, check out the excellent Wordnik API: http://developer.wordnik.com/docs.html#!/word http://developer.wordnik.com/docs.html#!/word
- esperluette 12y agoYou can get Wordnet through the Wordnik API too ... as well as from the American Heritage Dictionary, The Century Dictionary, Wiktionary, and the GNU version of the Collaborative International Dictionary of English And Wordnik is becoming a not-for-profit, if that makes a difference to you. :-) Disclaimer: I am the founder of Wordnik. (You might like my TED talk: http://www.ted.com/talks/erin_mckean_redefines_the_dictionary.html http://www.ted.com/talks/erin_mckean_redefines_the_dictionar...) That said, I know the guy behind WordsAPI and he's good people. :-)
- deadlysyntax 12y agoI absolutely love your TED talk.
- esperluette 12y agoaw, thank you!
- nijiko 12y agoNot receiving verification emails.
- impostervt 12y agoSorry about that. Using sendgrid, which seems to delay emails from new accounts for a bit.
- deleted 12y ago[deleted]
- dested 12y agoGreat service
- zmillman 12y agoHmm, what about word stemming? I looked up "windmills" and got an empty result set.
- byoung2 12y agoSame with "walked". I've used the Porter Stemming Algorithm in the past, and it works well. http://tartarus.org/martin/PorterStemmer/ http://tartarus.org/martin/PorterStemmer/
- chrisfarms 12y agoThe data is stored in postgres, so it should be simple enough to use the Snowball dictionary/stemmer and the tsvector/tsquery functions to sort this out.
- impostervt 12y agoI'll have to see if I can find a good library for this. The ones I tried (like Node Natural) just didn't give great results.
- lotophage 12y agoWhat you really want is a lemmatizer (stemming approximates lemmatization). I believe that NLTK has a WordNet lemmatizer, but I don't know much about it.
- kevinweaver 12y ago"An API for for the English language." For For!
- impostervt 12y agoOmg that's embarrassing. Fixing it now.
- abhididdigi 12y agoThank you. I was looking for an API only yesterday, and didn't find any that is as good as this one. Even the Princeton University one didn't fit into my workflow, because it is overly complex.
- impostervt 12y agoThat's pretty much why I built this. It's a great resource, but geared towards lexicographers vs developers.
- ghchinoy 12y agoThis is awesome! I'd love to hear more about how this was created (node/express, etc.)!
- impostervt 12y agoIt's a Node/express app. The word data is in Postgres (hosted by heroku), user/metric data is in mongo (via mongolab.com). Hosting is from heroku fronted by cloudflare.
- ghchinoy 12y agoThank you! Impressive. How do you limit anonymous web user's queries?
- impostervt 12y agoRequests made for the demo don't have an access token. On the back end I look for this case, and then see if the request has "when" and "encrypted" parameters. "when" is just a date/time stamp, and "encrypted" is the same thing..encrypted. If I see both those params, I decrypt the "encrypted" and make sure it matches the "when" to validate the server created it, and make sure the "when" is less than one hour. Otherwise, all requests require an access token.
- darkhorn 12y agoHow does it know that finger is part of hand?
- RKoutnik 12y agoSlightly disappointed that it doesn't have syllables. Should be easy to add, I have a list here: https://github.com/SomeKittens/Haiku-Generator https://github.com/SomeKittens/Haiku-Generator
- sumgy 12y agoOut of curiosity, how did you generate that list? I looked into doing something similar a couple months back, but i couldn't find nearly as complete of a source for syllable count.
- RKoutnik 12y agoI started with the list from this question [0] and then wrote a one-off script to convert it to the form linked above. http://stackoverflow.com/q/10414957/1216976 http://stackoverflow.com/q/10414957/1216976
- impostervt 12y agoJust got done adding syllables and pronunciation.
- iguana 12y agoThis is really cool! One issue I found is that it provides alternative spellings as distinct items. Is there a workaround for this? { "typeOf": [ "chromatic color", "chromatic colour", "spectral colour", "spectral color", "citrus", "citrus tree", "pigment", "citrous fruit", "citrus fruit" ] }
- hellbanner 12y agoWhat is the minimum set of atoms needed to construct the rest of the English language?
- nacnud 12y agoThe alphabet?
- hellbanner 12y agoI meant words.
- dspoka 12y agoCan anyone compare the pros and cons of this to princeton's wordnet?
- PeterWhittaker 12y agoThe results for thesaurus, action (second word to pop into my head), and everything are interesting: Short set, long, long set, empty set.
- _bitliner 12y agoI was wondering which is your market. I mean, who is going to use a service like this? Or which are typical use cases of it?
- jfoster 12y agoMight be useful for search. (not necessarily just web search, but ecommerce as well) For example, instances of "aqua" should probably match the search query "blue". Google seems like it may already be that advanced, but other search engines perhaps not. Large-scale search engines probably would keep this in their own DB, though.
- impostervt 12y agoNo idea yet. Seems to have gotten a good response from hacker news/product hunt crowd. I mainly built it because I needed it for another project.
- wing328hk 12y agoNice project. I've created SDKs (REST API wrappers) in Python, PHP, Ruby, Java, C#, Android for the WordsAPI: http://restunited.com/releases/424223873313015558/wrappers http://restunited.com/releases/424223873313015558/wrappers (Objective C, Scala, ActionScript SDKs still in beta) Hope these SDKs make it easier for developers to consume the API.
- impostervt 12y agoHoly crap, very cool! Very neat service too! I'll link to these from the documentation page later today.
- atmosx 12y agoIn how many hours did you do that?!
- deleted 12y ago[deleted]
- saganus 12y agoVery nice work. Interesting what can be done with this. One question though, does anyone have any idea what the copyright for this would be? If you happen to use X dictionary (one for each implemented language for example, or even maybe as a selectable source), would say, the Oxford Dictionary could sue because you are using their data? AFAIK, facts are not copyrightable, are they? where would this stand?
- jobposter1234 12y agoWould love to see something like this but that would expand abbreviations. E.g., corp -> corporation (and the reverse).
- okonomiyaki3000 12y agoWhat? It has no mode for finding anagrams? Useless.
- jbpadgett 12y agoCould this be used in some way for robot AI to learn to speak?
- senorgusto 12y agoI wish synonyms were sorted according to usage frequency instead of alphabetically... maybe its not possible with the data source though?
- impostervt 12y agoNot possible currently. I'd like to find a source of "how common is this word" and add some kind of quantifiable number to each word. Perhaps I can scan existing open source text and just figure it out. On the backlog.
- SwellJoe 12y agoI would love to see this made available in an editor. When writing, if I could pull synonyms and definitions up instantly with a single keypress, I suspect my prose would be better. I like to think I have a good vocabulary, but this great blog post (which I found through HN) has had me thinking I could always, and should try to, do better: http://jsomers.net/blog/dictionary http://jsomers.net/blog/dictionary Imagine something akin to tab completion for writing prose.
- deepGem 12y agoAnother spin on this is to build an editor for GRE/GMAT exam prep. Huge market.
- Swizec 12y agoPlease don't. Thesaurus prose is some of the worst writing out there. You can always tell when a writer tries to go [too far] out of their natural active vocabulary. Basic rule of thumb for writing prose: synonyms are a myth. No two words have exactly the same meaning.
- SwellJoe 12y agoDid you read the article I mentioned? I believe that context is important.
- deepGem 12y agoThis is wordnet++ Good going.
- WhitneyLand 12y agoNice work. Is the order of definitions supposed to be correct? The word "fast" has a first definition of "unrestrained by convention or morality", yet I would expect that to be lower down the list.
- impostervt 12y agoThe order doesn't convey any meaning.
- las_cases 12y agoIt is blazing fast for me. I see from another response that this is a Node.js app but perhaps caching might also explain how fast this is. Also, today I have learned that jazz also means "have sexual intercourse with".
- impostervt 12y agoGot a great speedup when I added Redis. When a word is first requested, the JSON is put together from the Postgres database tables, then just stuff it in Redis for subsequent requests. Since there have been so many requests, most common words are in Redis at this point.
- las_cases 12y agoI have stumbled upon Redis a lot in really cool projects so I definitely need to take a deeper look into it.
- gosukiwi 12y agoNice! It seems to be quite useful.
- dotwebdull 12y agoHow did you build the is_a relationships (eg, Person is_a Animal)? Ontology engine? If so, what's your source?
- bdoerrfeld 12y agoIs https://www.wordsapi.com https://www.wordsapi.com down for maintenance? I'm getting error responses. Thanks!