Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在文本解析的基础上生成文本格式的文件语料库&;Python中MS Word文档的标题?_Python_Spacy_Text Extraction_Python Docx_Data Extraction - Fatal编程技术网

如何在文本解析的基础上生成文本格式的文件语料库&;Python中MS Word文档的标题?

如何在文本解析的基础上生成文本格式的文件语料库&;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文

我正在预处理/准备一批MS Word文档,我自动将其从.doc转换为.docx,以便稍后使用它们来训练具有实体识别的NLP模型。 我是Python编程和Spacy NLP的新手,但我有一些其他语言的编程经验,但现在我最大的问题是“我不知道该做什么或如何做”: 我把文件放在一个文件夹里。我需要解析原始文本和标题(以文档本身的名称,而不是文档中的第一行的名称),以生成一个语料库,稍后将用于训练NLP模型

因为我是个新手,所以我有很多东西要学。所以我已经在这方面做了很多研究。起初,将所有这些.doc文件转换成.docx文件对我来说是一件痛苦的事,但我终于找到了一种方法。 因为我需要从一堆文档中获取标题和文本,所以我假设我需要使用for循环“遍历”文件夹中的文档,我是这样做的:

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'))