我需要正常表达英语词性。我的意思是我需要正则表达来识别动词,名词,代词,形容词,副词。请告诉我是否可能。
答案 0 :(得分:0)
它不适用于纯正则表达式。
您必须检查已知动词,名词等的列表(数据库)
答案 1 :(得分:0)
自然语言不是常规语言。它们甚至不是无上下文的语法(如C ++或java)
答案 2 :(得分:0)
NLTK在其文档中提供了一个示例。
patterns = [
(r'.*ing$', 'VBG'), # gerunds
(r'.*ed$', 'VBD'), # simple past
(r'.*es$', 'VBZ'), # 3rd singular present
(r'.*ould$', 'MD'), # modals
(r'.*\'s$', 'NN$'), # possessive nouns
(r'.*s$', 'NNS'), # plural nouns
(r'^-?[0-9]+(.[0-9]+)?$', 'CD'), # cardinal numbers
(r'.*', 'NN') # nouns (default)
]
看看正则表达式标记器的部分。
https://www.nltk.org/book/ch05.html
注意:重要的是要记住,这不是执行大部分词性标记任务的可行方法,但是,这种方法在用作{{1 }},以获得更有效的标记。