英语词性识别是否有正则表达式?

时间:2011-12-16 13:50:39

标签: regex

我需要正常表达英语词性。我的意思是我需要正则表达来识别动词,名词,代词,形容词,副词。请告诉我是否可能。

3 个答案:

答案 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 }},以获得更有效的标记。