span8
span4
((全码下文))
嗨FME'ers,
我想用TextBlob模块找到名词,字数,并在我的文本字段标签。
诺丁汉是一个宜居的大城市。如果你想参观诺丁汉,我鼓励你去参观罗宾汉城堡。
名词短语返回一个列表
[u'nottingham 'u'great城市',u'nottingham 'u'robin',u'castle']
标签返回列表中的列表
[(u'Nottingham 'u'NNP '),(u'is',u'VBZ '),(u'a',u'DT '),(u'great',u'JJ'),(u'city”,u'NN '),(u'to',u'TO '),(u'live',u'VB '),(u'in',u'IN '),(U'If', u'IN'), (u'you', u'PRP'), (u'would', u'MD'), (u'like', u'VB'), (u'to', u'TO'), (u'visit', u'VB'), (u'Nottingham', u'NNP'), (u'I', u'PRP'), (u'encourage', u'VBP'), (u'you', u'PRP'), (u'to', u'TO'), (u'visit', u'VB'), (u'Robin', u'NNP'), (u'Hood', u'NNP'), (u'Castle', u'NNP')]
下面介绍一下首字母缩写词的意思是:https://gyazo.com/a617287d719d4b30f148e70803033d25
word_counts返回嗯. .不确定吗?
{u'a ':1,u'city':1,u'great ':1,u'like':1,u'would ':1,u'to':3,u'i':1, u'castle': 1, u'is': 1, u'visit': 2, u'encourage': 1, u'nottingham': 2, u'live': 1, u'in': 1, u'you': 2, u'robin': 1, u'hood': 1, u'if': 1})
我的第一次feature.setAttribute (“_list {} .nouns”, noun_phrase)工作并返回我可以用ListExploder后爆炸的清单,但是,我不能到其他两个列表进入一个属性。
理想情况下,我希望我的标签这样的列表:
诺丁汉,NNP
是,VBZ
一,DT
大,JJ
我能这样做有点做到这一点:
在标签标签:标签=“”加盟(图(STR,标签))
但我不知道怎么做才能如上所述得到这回出到一个列表属性的setAttribute正确。请帮助这个!
我希望我的话以类似的方式计算:
一个,1
城市,1
伟大,1
诺丁汉,2
同样,我想这一点:
对于字在word_count中:字=“”联接(地图(STR,字))打印字
但是,它返回:
访问
鼓励
N,O,T,T,I,N,G,H,A,M
生活
需要这部分也是帮助请。
完整的代码
进口FME进口fmeobjects导入textblob高清FeatureProcessor(功能):文本= feature.getAttribute( '文')的txt = textblob.TextBlob(文本)noun_phrase = txt.noun_phrases打印noun_phrase标签= txt.tags打印标签WORD_COUNT = txt.word_counts打印 word_count #for tag in tags: # tag = ",".join(map(str,tag)) # print tag #for word in word_count: # word = ",".join(map(str,word)) # print word #This works #feature.setAttribute("_list{}.nouns",noun_phrase) #Not Working #feature.setAttribute("_list2{}.tag",tags) #feature.setAttribute("_list3{}.word",word_count) pass
你好@kam
您的问题是,你正试图转换到属性其他两个名单是不是字符串列表。
标签是一个元组列表和WORD_COUNT是一本字典。
使用类型(变量)是这样的事情是非常有用的
text = features . getattribute ('text') txt = textblob. textblob (text)名短语= txt。打印类型(名词短语)标签= txt。标签打印类型(标签[0])word_count = txt。word_counts print type(word_count) #tags = [("Nottingham","NNP"),("is","VBZ")] # for tag in tags: # tag = ("Nottingham","NNP") tagList = [] for tag,acronyms in tags: # tag = "Nottingham" and acronyms = "NNP" tagList.append("{}, {}".format(tag, acronyms )) #word_count = {"a": 1, "city" : 2} wordList = [] for key, value in word_count.items(): #key = "a" and value = 1 wordList.append("{}, {}".format(key, value)) #This now works feature.setAttribute("_list{}.nouns",noun_phrase) feature.setAttribute("_list2{}.tag",tagList) feature.setAttribute("_list3{}.word",wordList)
©2019安全亚搏在线软件公司|法律