How to implement a POS tagger using Word co-occurence and Clustering concepts? I am thinking of implementing a POS tagger by myself. a POS tagger, extracts the syntax role of a word in a sentence.
According to my studies, word co-occurrence is a technique to analyze word occurrence which can be used to construct a graph where nodes are words and the weights between them is their co-occurrence weight.
I am wondering if there is a way to apply clustering algorithms on this graph to group words based on their syntax roles? i mean i want to do the same as a POS tagger does. the main idea is that after constructing the graph of co-occurrence, how can i apply a clustering or community detection algorithm on this graph to group nodes based on their roles in a sentence? for example, to group nodes which are verbs, or group nodes that are nouns. in clustering i don't need to know this is verb or not, i only want to group nodes which have a similar syntax in graph. then i will analyze them to find out they are weather a verb or noun or ...
I would be so thankful if you give mind on starting this project.
First, you are right that word co-occurrence graphs have been used in various applications of NLP. More precisely in applications related to the meaning of the words, typically for topic modelling or word sense induction. These applications follow the linguistic principle that words which occur in similar contexts tend to have a similar meaning. This is the basis of distributional semantics.
However this principle is unlikely to help finding words which have a similar syntactic function, simply because the co-occurrences in a sentence don't correspond to their syntactic role: a sentence usually contains many distinct POS tags, it doesn't have a specific POS category. Basically, word co-occurrences are useful for semantics, not syntax.
If the goal is to implement a POS tagger, why not use state of the art methods known to work very well for POS tagging? There is a lot of training data available, for instance the Universal Dependencies corpora.
Note that POS tagging is normally a supervised task (based on annotated data), whereas your idea appears to be about finding groups of similar POS in an unsupervised way. This would be another story entirely, probably involving grammatical inference.