Допустим, у меня есть фрагментированный корпус, как показано ниже, и он сохранен в файле с именем test.txt
.
[Rapunzel/NNP] let/VBD down/RP [her/PP$ long/JJ golden/JJ hair/NN]
затем я могу загрузить его с помощью ChunkedCorpusReader.
>>> from nltk.corpus.reader import ChunkedCorpusReader
>>> reader = ChunkedCorpusReader('.','test.txt')
>>> reader.chunked_sents()[0]
Tree('S', [Tree('NP', [('Rapunzel', 'NNP')]), ('let', 'VBD'), ('down', 'RP'), Tree('NP', [('her', 'PP$'), ('long', 'JJ'), ('golden', 'JJ'), ('hair', 'NN')])])
>>> print(reader.chunked_sents()[0])
(S
(NP Rapunzel/NNP)
let/VBD
down/RP
(NP her/PP$ long/JJ golden/JJ hair/NN))
и я сделал некоторые изменения в объекте «Дерево», скажем, переключил тег чанка с NP на NPP и назвал new
.
>>> print(new)
(S
(NPP Rapunzel/NNP)
let/VBD
down/RP
(NPP her/PP$ long/JJ golden/JJ hair/NN))
Теперь я хочу сохранить это дерево new
в файл и загрузить его с помощью ChunkedCorpusReader или любых других программ чтения, как я сделал с test.txt
. Однако мне не удалось найти способ сохранить объект NLTK Tree в файл, а тем более прочитать его из файла. Кто-нибудь может помочь?