• 2.1 表示已经标注的词符

    2.1 表示已经标注的词符

    按照 NLTK 的约定,一个已标注的词符使用一个由词符和标记组成的元组来表示。我们可以使用函数str2tuple()从表示一个已标注的词符的标准字符串创建一个这样的特殊元组:

    1. >>> tagged_token = nltk.tag.str2tuple('fly/NN')
    2. >>> tagged_token
    3. ('fly', 'NN')
    4. >>> tagged_token[0]
    5. 'fly'
    6. >>> tagged_token[1]
    7. 'NN'

    我们可以直接从一个字符串构造一个已标注的词符的列表。第一步是对字符串分词以便能访问单独的单词/标记字符串,然后将每一个转换成一个元组(使用str2tuple())。

    1. >>> sent = '''
    2. ... The/AT grand/JJ jury/NN commented/VBD on/IN a/AT number/NN of/IN
    3. ... other/AP topics/NNS ,/, AMONG/IN them/PPO the/AT Atlanta/NP and/CC
    4. ... Fulton/NP-tl County/NN-tl purchasing/VBG departments/NNS which/WDT it/PPS
    5. ... said/VBD ``/`` ARE/BER well/QL operated/VBN and/CC follow/VB generally/RB
    6. ... accepted/VBN practices/NNS which/WDT inure/VB to/IN the/AT best/JJT
    7. ... interest/NN of/IN both/ABX governments/NNS ''/'' ./.
    8. ... '''
    9. >>> [nltk.tag.str2tuple(t) for t in sent.split()]
    10. [('The', 'AT'), ('grand', 'JJ'), ('jury', 'NN'), ('commented', 'VBD'),
    11. ('on', 'IN'), ('a', 'AT'), ('number', 'NN'), ... ('.', '.')]