from nltk.corpus.reader.conll import ConllCorpusReader
READER = ConllCorpusReader(root="./", fileids=".conll",
columntypes=('words','pos','tree','chunk','ne','srl','ignore')
)
READER_sents(myConLLfile)
.conll
我正在从文件中提取句子作为字符串列表。上面的代码没有报任何错误,所以我认为是为每个句子提取了一些东西。然而,当我尝试打印出或为每个句子添加 POS 标签时,第 1007 个句子之后的每个句子都会出现下面的值错误。
- 发生了什么?有没有办法查看那些提取但结构不良的句子?
- 如何正确提取句子?我猜有些标记被表示为字符串和 OBI 的元组而不是字符串。但是对于许多句子有相同的错误报告是很奇怪的。
- 更糟糕的是,我只能提取结构良好的句子吗?
i = 0
for sentence in READER_sents(myConLLfile):
print(i)
print(sentence)
i += 1
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-125-9c03d8d69ec0> in <module>()
1 i = 0
----> 2 for sentence in READER.sents(myConLLfile):
3 print(i)
4 print(sentence)
5 i += 1
2 frames
/usr/local/lib/python3.6/dist-packages/nltk/corpus/reader/conll.py in _read_grid_block(self, stream)
206 if len(row) != len(grid[0]):
207 raise ValueError('Inconsistent number of columns:\n%s'
--> 208 % block)
209 grids.append(grid)
210 return grids
ValueError: Inconsistent number of columns:
This O
guy O
needs O
his O
own O
show O
on O
Discivery B-corporation
Channel I-corporation
! O