python - 如何在斯坦福的 Stanza (StanfordNLP) 中加载文档而不是字符串?
问题描述
我正在使用斯坦福的 Stanza,但我找不到任何关于如何加载文档而不是字符串的文档。
例如,对于一个字符串,它的工作方式如下:
nlp_pos = stanza.Pipeline('it',processors='tokenize,mwt,pos,lemma,depparse')
doc = nlp_pos("hello how are you")
对于一个文件,我认为它会是这样的:
nlp_pos = stanza.Pipeline('it',processors='tokenize,mwt,pos,lemma,depparse')
filename = "example.txt"
with open(filename, 'r') as f:
doc = f.read()
但它不起作用。什么是替代方案?
解决方案
@fpohlmann 的回答应该可以,但不会关闭文件句柄。
只需对原始代码片段进行最少的编辑,就可以通过以下方式处理文件
nlp_pos = stanza.Pipeline('it',processors='tokenize,mwt,pos,lemma,depparse')
filename = "example.txt"
with open(filename, 'r') as f:
doc = nlp_pos(f.read())
doc
并以与处理字符串的对象相同的方式访问注释信息。实际上,这个片段只是将该文件的全部内容读入一个字符串,然后将其传递给 Stanza。
推荐阅读
- android - 无法创建调试或签名的 apk
- bash - awk 命令在 shell 脚本中未发现错误,但在终端中运行良好
- reactjs - React input 或 material-ui TextField 在 material-ui TreeView 中不起作用
- android - 使用 UI 测试用例在 android studio 中运行测试
- android - 为什么CameraX.bindToLifecycle 1.0.0-alpha05 不支持三种情况?
- python - 为什么迭代字符串比拆分字符串更昂贵?
- google-analytics - 增强的电子商务跟踪 - 产品变量未传递到 GA
- reactjs - Prime React - DataTable - CSV Eexport 在 chrome 中失败,但在 IE 中工作
- javascript - 需要一个正则表达式模式来解决 Angular 中 JavaScript 输入的电子邮件验证
- python - 如何将文件从谷歌云存储加载到谷歌云功能