2017-02-11 11 views
1

Я пытаюсь запустить следующий код для nltk.concordance, но он не дает никаких результатов. Может кто-нибудь, пожалуйста, назовите меня, что я делаю неправильно?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 

ТИА за помощью

ответ

2

Вы должны создать Text экземпляр из последовательности строк. Используйте Tokenizer от nltk.tokenize для точного выделения предложения:

> 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