NLTK Concordance无效

时间:2017-02-11 18:02:19

标签: python nlp nltk

我正在尝试为nltk.concordance运行以下代码,但它没有给出任何结果。有人可以指导我,我做错了什么?

import nltk.corpus  
from nltk.text import Text 

sent = '''China is an emerging FinTech hotbed thanks to its expanding middle class, rapid digitization and electronic payments adoption. But a new report from Citi found that, while China may be the market to watch for FinTech investments, the U.S. continues to thrive at the top of the B2B FinTech mountain.
According to Digital Disruption — Revisited: What FinTech VC Investments Tells Us About A Changing Industry, Citi expects an influx in venture capital across the FinTech startup scape. But not all markets are created equal. China saw more than half of the world’s FinTech investments in the first nine months of 2016, the bank noted.'''

content = sent.decode('utf-8') #else it throws error
textList = Text(content)
textList.concordance('FinTech')

我得到以下输出:

No matches

TIA的帮助

1 个答案:

答案 0 :(得分:4)

您必须从一系列字符串创建Text实例。使用nltk.tokenize中的Tokenizer来标记您的句子:

> t = nltk.tokenize.WhitespaceTokenizer()  # or any other Tokenizer
> c = Text(t.tokenize(content))
> c.concordance(u'FinTech')
Displaying 6 of 6 matches:
                                    FinTech hotbed thanks to its expanding midd
hina may be the market to watch for FinTech investments, the U.S. continues to 
ues to thrive at the top of the B2B FinTech mountain. According to Digital Disr
igital Disruption — Revisited: What FinTech VC Investments Tells Us About A Cha
nflux in venture capital across the FinTech startup scape. But not all markets 
a saw more than half of the world’s FinTech investments in the first nine month