Strategies for recognizing proper nouns in NLP

元气小坏坏 提交于 2019-11-28 05:06:41

The task of determining the proper part of speech for a word in a text is called Part of Speech Tagging. The Brill tagger, for example, uses a mixture of dictionary(vocabulary) words and contextual rules. I believe that some of the important initial dictionary words for this task are the stop words. Once you have (mostly correct) parts of speech for your words, you can start building larger structures. This industry-oriented book differentiates between recognizing noun phrases (NPs) and recognizing named entities. About textbooks: Allen's Natural Language Understanding is a good, but a bit dated, book. Foundations of Statistical Natural Language Processing is a nice introduction to statistical NLP. Speech and Language Processing is a bit more rigorous and maybe more authoritative. The Association for Computational Linguistics is a leading scientific community on computational linguistics.

Fabian Steeg

Besides the dictionary-based approach, two others come to my mind:

  • Pattern-based approaches (in a simple form: anything that is capitalized is a proper noun)
  • Machine learning approaches (mark proper nouns in a training corpus and train a classifier)

The field is mostly called named-entity extraction and often considered a subfield of information extraction. A good starting point for the different fields of NLP is usually the according chapter in the Oxford Handbook of Computational Linguistics:


(source: oup.com)

Try searching for "named entity recognition"--that's the term that's used in the NLP literature for this sort of thing.

It depends on what you mean by dictionary-based.

For example, one strategy would be to take things that aren't in a dictionary and try to proceed on the assumption that they're proper nouns. If this leads to a sensible parse, consider the assumption provisionally validated and keep going, otherwise conclude that they aren't.

Other ideas:

  • In subject position, any simple subject without a determiner is a good candidate.
  • Ditto in prepositional phrases
  • In any position, the basis of a possessive determiner (e.g. Bob in "Bob's sister") is a good candidate

-- MarkusQ

some toolkits suggested: 1. Opennlp: there is a Named Entity Recognition component for your task 2. LingPipe: also a NER component for it 3. Stanford NLP package: excellent package for academic usage, maybe not commercial friendly. 4. nltk: a Python NLP package

if you have sentence such as "who is bill gates" And if you apply part of speech tagger to it. It will give answer as

"who/WP is/VBZ bill/NN gates/NNS ?/. "

U can try this online on http://cst.dk/online/pos_tagger/uk/

So you are getting what are all the nouns in this sentence. Now you can easily extract this nouns with some algorithm. I suggest to use python if you are using natural language processing. It has NLTK(Natural language toolkit) with which you can work.

If you're interested in the implementation of natural language processing and python is your programming language, then this can be a very informative resource: http://www.youtube.com/watch?v=kKe4M4iSclc

Though this is for Bengali language, but it can draw a common procedure identified proper noun. So I hope this will be helpful for you. Please check the folowing link: http://www.mecs-press.org/ijmecs/ijmecs-v6-n8/v6n8-1.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!