Извлечение Грамматических Правил из Коричневого Корпуса - PullRequest
0 голосов
/ 28 марта 2019

У меня есть файл круглых деревьев из корпуса Брауна, который выглядит так:

(TOP (S (NP (NNP Ambassador)
            (NNP Stevenson))
        (NP (RB yesterday))
        (VP (VBD described)
            (NP (NP (DT the)
                    (NNP U.N.))
                (POS 's)
                (NN problem)
                (PP (IN of)
                    (S (NP (-NONE- *))
                       (VP (VBG electing)
                           (NP (DT a)
                               (ADJP (JJ temporary))
                               (NN successor)
                               (PP (TO to)
                                   (NP (DT the)
                                       (ADJP (JJ late))
                                       (NP (NNP Dag)
                                           (NNP Hammarskjold)))))))))
            (PP (IN as)
                (`` ``)
                (NP (NP (DT the)
                        (ADJP (JJS gravest))
                        (NN crisis))
                    (SBAR (-NONE- 0)
                          (S (NP (DT the)
                                 (NN institution))
                             (AUX (VBZ has))
                             (VP (VBN faced)

Я должен извлечь все грамматические правила из этого файла в виде:

S -> NP VP
NP -> DT NNS
VP -> VBD NP
NP -> NN

и т.д.

Я пытаюсь прочитать в скобках дерево как дерево в nltk, но я получаю следующую ошибку:

File "C:\Users\MyName\AppData\Local\Programs\Python\Python36\lib\site-packages\nltk\tree.py", line 666, in fromstring cls._parse_error(s, match, 'end-of-string')

Файл "C: \ Users \ MyName \ AppData \ Local \ Programs \ Python \ Python36 \ lib \ site-packages \ nltk \ tree.py", строка 734, в _parse_error поднять ValueError (msg) ValueError: Tree.read (): ожидаемый конец строки, но полученный (TOP) по индексу 24. "... XT_UNIT) (TOP (S (N ..."

Я хочу использовать продукцию из nltk, но не могу получить этот файл для чтения в виде дерева nltk. Пожалуйста, помогите!

...