Does anyone know of any libraries I could use to convert a word into a semantic prime, given a list of approved primes?

In other words, given a sentence or a word, I would like to find the combination of "prime" words that best match the input semantically.

A good example of this would be a function that takes in a Wikipedia article and outputs something like Simple Wikipedia - it has the same semantic content, but restricts word usage to a number of prime words (in this case, simpler words).

Another example: say my primes are ["person", "move", "tool", "nice", "building"].

Then I would like to have some function, library, or NLP algorithm that converts "hammer" into ["building", "tool"], "car" into ["moving", "tool"], and "friend" into ["nice", "person"].

My first intuition was to use word2vec: loop through every combination of the primes and find the combination of primes who's vector most closely matches the original word. However, I suspect this will not work out very well (partially because vector addition doesn't seem to be accurate enough). Is there a more robust way to do this?


1 Answer 1


Finding a robust model for what you are looking or trying to build is quite difficult at this point of time and as per I know there are no any such existing algorithms to do this.

One approach that you can follow is make a Knowledge base for your primes containing info/word it can be related with.
To handle most of the relation you will need a word dictionary which contains all the possible related words. Making such an exhaustive dictionary is not completely possible/feasible. But if you have some domain specific work you can make a dictionary which can handle 80% of you cases. You can use wordnet/word2vec to find the most similar words of your base primes and can extrapolate those words.

Apart from these you would need a set of possible relations that the word can have. For this you can use models like Open IE to extract the Subject-Object-Relation and you can associate these relations with your primes. But for this you will require a dataset of your domain from which you can get the possible relations.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.