如何在文本解析的基础上生成文本格式的文件语料库&;Python中MS Word文档的标题?
我正在预处理/准备一批MS Word文档,我自动将其从.doc转换为.docx,以便稍后使用它们来训练具有实体识别的NLP模型。 我是Python编程和Spacy NLP的新手,但我有一些其他语言的编程经验,但现在我最大的问题是“我不知道该做什么或如何做”: 我把文件放在一个文件夹里。我需要解析原始文本和标题(以文档本身的名称,而不是文档中的第一行的名称),以生成一个语料库,稍后将用于训练NLP模型 因为我是个新手,所以我有很多东西要学。所以我已经在这方面做了很多研究。起初,将所有这些.doc文件转换成.docx文件对我来说是一件痛苦的事,但我终于找到了一种方法。 因为我需要从一堆文档中获取标题和文本,所以我假设我需要使用for循环“遍历”文件夹中的文档,我是这样做的:如何在文本解析的基础上生成文本格式的文件语料库&;Python中MS Word文档的标题?,python,spacy,text-extraction,python-docx,data-extraction,Python,Spacy,Text Extraction,Python Docx,Data Extraction,我正在预处理/准备一批MS Word文档,我自动将其从.doc转换为.docx,以便稍后使用它们来训练具有实体识别的NLP模型。 我是Python编程和Spacy NLP的新手,但我有一些其他语言的编程经验,但现在我最大的问题是“我不知道该做什么或如何做”: 我把文件放在一个文件夹里。我需要解析原始文本和标题(以文档本身的名称,而不是文档中的第一行的名称),以生成一个语料库,稍后将用于训练NLP模型 因为我是个新手,所以我有很多东西要学。所以我已经在这方面做了很多研究。起初,将所有这些.doc文
path='/path/to/folder'
对于os.listdir(路径)中的文件名:
如果filename.endswith('.docx'):
path=os.path.join(路径,文件名)
我还尝试了在这个stackoverflow链接中找到的内容(使用本机python docx模块):
但这给了我这个类型错误:序列项0:预期的str实例,找到的字节数
编辑:
TypeError问题解决了,我再次尝试了3种不同的方法从Word文档中提取文本,这一种给了我最好的输出(没有错误):
'
所以现在我(终于)知道了如何从Word文档中提取好的文本。我仍然需要弄清楚如何在整个文件夹中执行此操作,以及为了制作一个将用于NLP的语料库,我在该过程中的下一步是什么
顺便说一句,我正在Ubuntu 18.04虚拟机和Python 3.6版中使用Pycharm
(我在这篇文章中也用不同的方式解释了我的问题(见评论9)。我昨天发布了这篇文章,是在尝试stackoverflow链接中的内容之前。)
有谁能告诉我从MS Word文档中提取标题的好方法是什么,以便生成SpaCy中使用的文件语料库
非常感谢您抽出时间。请您发布您用于实际尝试从文件中提取文本的代码,以及您得到的TypeError的完整回溯?现在你说你已经尝试了一些东西,但我们看不出到底是什么。你看过这篇文章了吗@TomDalton现在我已经尝试了3种不同的方法从word文档中提取文本。我使用了我在Tiago Duque的链接中找到的代码。我几天前也在尝试这段代码,但不知怎么的,当时它不起作用,但现在它起作用了。我已经编辑了我的文本并在那里编写了代码。作为输出,我不再得到任何错误,但我想知道我应该如何在一大堆文档上这样做,并保存文件以生成NLP语料库。。
´´´
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'))