这与以下问题有关 -
我有 python 应用程序执行以下任务 -
# -*- coding: utf-8 -*-
1.读取unicode文本文件(非英文)-
def readfile(file, access, encoding):
with codecs.open(file, access, encoding) as f:
return f.read()
text = readfile('teststory.txt','r','utf-8-sig')
这将给定的文本文件作为字符串返回。
2. 将文本拆分成句子。
3. 浏览每个句子中的单词并识别动词、名词等。
参考 -在 Python 中搜索 Unicode 字符并在 Python 列表的前后查找单词
4.将它们添加到单独的变量中,如下所示
名词 = "汽车" | 《巴士》 |
动词=“驱动器”| “命中”
5. 现在我试图将它们传递给 NLTK 上下文无关语法,如下所示 -
grammar = nltk.parse_cfg('''
S -> NP VP
NP -> N
VP -> V | NP V
N -> '''+nouns+'''
V -> '''+verbs+'''
''')
它给了我以下错误-
第 40 行,在 V -> '''+verbs+''' UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 114: ordinal not in range(128)
我怎样才能克服这个问题并将变量传递给 NLTK CFG ?