nltk如何给出多个分隔的句子
Posted
技术标签:
【中文标题】nltk如何给出多个分隔的句子【英文标题】:nltk how to give multiple separated sentences 【发布时间】:2019-03-07 11:40:48 【问题描述】:我有英文句子列表(每个句子都是一个列表),我想获取 ngrams。 例如:
sentences = [['this', 'is', 'sentence', 'one'], ['hello','again']]
为了运行
nltk.utils.ngram
我需要将列表扁平化为:
sentences = ['this','is','sentence','one','hello','again']
但是我在
中得到了一个错误的bgram('一','你好')
。 最好的处理方法是什么?
谢谢!
【问题讨论】:
【参考方案1】:试试这个:
from itertools import chain
sentences = list(chain(*sentences))
chain
返回一个链对象,其.__next__()
方法从第一个可迭代对象返回元素,直到它用完,然后从下一个可迭代对象返回元素
可迭代,直到所有可迭代对象都用完为止。
或者你可以这样做:
sentences = [i for s in sentences for i in s]
【讨论】:
实际需要的链(*句子),效果很好,谢谢【参考方案2】:你也可以使用列表推导
f = []
[f.extend(_l) for _l in sentences]
f = ['this', 'is', 'sentence', 'one', 'hello', 'again']
【讨论】:
以上是关于nltk如何给出多个分隔的句子的主要内容,如果未能解决你的问题,请参考以下文章