Как форматировать входные данные для textsum data_convert_example

#tensorflow #textsum

#tensorflow #текстовая сумма #textsum

Вопрос:

Я надеялся, что кто-нибудь сможет увидеть, где я здесь терплю неудачу. Итак, я собрал некоторые данные из buzzfeed и теперь пытаюсь отформатировать текстовый файл, с помощью которого я могу затем отправить в data_convert_examples средство форматирования text_to_data.

Пару раз я думал, что у меня есть ответ, но я все еще натыкаюсь на кирпичную стену, когда обрабатываю это как двоичный файл, а затем пытаюсь тренироваться на основе полученных данных.

Что я сделал, так это запустил binary_to_text в наборе данных toy, а затем открыл файл в notepad под Windows, показав все символы и сопоставив то, что я считал форматом.

Я извиняюсь за приведенную ниже функцию long, но я действительно не уверен, в чем может быть проблема, и решил, что это лучший способ предоставить достаточно информации. У кого-нибудь есть какие-нибудь идеи или рекомендации?

 def processPath(self, toPath):
    try:
        fout = open(os.path.join(toPath, '{}-{}'.format(self.baseName, self.fileNdx)), 'a ')
        for path, dirs, files in os.walk(self.fromPath):
            for fn in files:
                fullpath = os.path.join(path, fn)
                    if os.path.isfile(fullpath):

                        #with open(fullpath, "rb") as f:
                        with codecs.open(fullpath, "rb", 'ascii', "ignore") as f:
                            try:
                                finalRes = ""
                                content = f.readlines()
                                self.populateVocab(content)

                                sentences = sent_tokenize((content[1]).encode('ascii', "ignore").strip('n'))
                                for sent in sentences:
                                    textSumFmt = self.textsumFmt
                                    finalRes = textSumFmt["artPref"]    textSumFmt["sentPref"]   sent.replace("=", "equals")   textSumFmt["sentPost"]   textSumFmt["postVal"]
                                finalRes  = (('t'   textSumFmt["absPref"]   textSumFmt["sentPref"]   (content[0]).strip('n').replace("=", "equals")   textSumFmt["sentPost"]   textSumFmt["postVal"])   't'  'publisher=BUZZ'   os.linesep)

                                if self.lineNdx != 0 and self.lineNdx % self.lines == 0:
                                    fout.close()
                                    self.fileNdx =1
                                    fout = open(os.path.join(toPath, '{}-{}'.format(self.baseName, self.fileNdx)), 'a ')

                                fout.write( ("{}").format( finalRes.encode('utf-8', "ignore") ) )
                                self.lineNdx =1
                            except RuntimeError as e:
                                print "Runtime Error: {0} : {1}".format(e.errno, e.strerror)
        finally:
            fout.close()
  

Ответ №1:

После дальнейшего анализа кажется, что источник проблемы больше связан с исходными данными и способом их построения, а не data_convert_example.py сама по себе. Я закрываю это, поскольку заголовок не соответствует источнику проблемы.

Я обнаружил, что источником моей проблемы было то, что у меня был пробел между «Артиклем» и знаком равенства. После удаления этого я смог успешно обучиться.