Я занимаюсь предварительной обработкой / подготовкой пакета документов MS Word, который я автоматически преобразовал из .doc в .docx, чтобы позже использовать их для обучения модели NLP с распознаванием сущностей.Я новичок в Python-программировании, а также в Spacy-NLP, но у меня есть некоторый опыт программирования на других языках, но сейчас мой самый большой вопрос, который заставляет меня чувствовать себя так: «Я не знаю, что делать или как это делать»"это: у меня есть документы в папке.Мне нужно проанализировать необработанный текст и заголовки (которые указаны в названии самого документа, а не в первой строке документа), чтобы создать корпус, который будет использоваться в дальнейшем для обучения NLP-модели.
Поскольку я новичок, мне есть чему поучиться.Так что я уже провел много исследований на эту тему.Вначале мне было больно в *** преобразовывать все эти .doc-файлы в .docx-файлы, но я наконец нашел способ сделать это.Поскольку мне нужно получить заголовок и текст из пачки документов, я предположил, что мне нужно «пройтись» по документам в папке, используя цикл for, что я и сделал следующим образом:
path = '/path/to/folder'
for filename in os.listdir(path):
if filename.endswith('.docx'):
path = os.path.join(path, filename)
Я также попробовал то, что нашел в этой ссылке на стек (используя нативный модуль python-docx): извлечение текста из файлов MS Word в python
Но это дало мне эту ошибку TypeError: элемент последовательности 0: ожидаемый экземпляр str, найдены байты
edit: Проблема TypeError решена, я снова попробовал 3 различных способа извлечения текста из документа Word, и это дало мне лучшеевывод (без ошибок):
´´´
import docx
def getText(filename):
doc = docx.Document(filename)
fullText = []
for para in doc.paragraphs:
fullText.append(para.text)
return '\n'.join(fullText)
print(getText('test.docx'))
´´´ Итак, теперь я (наконец) знаю, как сделать хорошее извлечение текста из документа Word.Мне все еще нужно выяснить, как сделать это для всей папки и каковы мои следующие шаги в процессе, чтобы создать корпус, который будет использоваться для НЛП.
Кстати.Я использую Pycharm в виртуальной машине Ubuntu 18.04 и Python версии 3.6.
(я также немного по-другому объяснил свою проблему в этом посте https://python -forum.io /Thread-Data-extract-from-множественный-MS-Word-файл-s-in-python (см. Комментарий № 9). Я отправил это вчера, это было до того, как опробовать то, что я нашел в stackoverflow-ссылка.)
Может ли кто-нибудь дать мне представление о том, как можно извлечь заголовки из документа MS Word, чтобы создать набор файлов для использования в SpaCy?
Большое спасибо, что нашли время.