首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用nltk过滤trigram标签

用nltk过滤trigram标签
EN

Stack Overflow用户
提问于 2018-09-30 17:15:06
回答 1查看 177关注 0票数 0

我想找出一个语料库的三叉戟,但限制是,至少有两个词的曲线图不是专有名词。到目前为止这是我的密码。

代码语言:javascript
复制
def collocation_finder(text,window_size):

      ign = stopwords.words('english')


      #Clean the text
      finder = TrigramCollocationFinder.from_words(text, window_size) 
      finder.apply_freq_filter(2) 
      finder.apply_word_filter(lambda w: len(w) < 2 or w.lower() in ign)
      finder.apply_word_filter(lambda w: next(iter(w)) in propernouns)



      trig_mes = TrigramAssocMeasures()
      #Get trigrams based on raw frequency
      collocs = finder.nbest(trig_mes.raw_freq,10) 
      scores = finder.score_ngrams( trig_mes.raw_freq)

      return(collocs)

其中属性名词是语料库中所有专有名词的列表。

问题是,我的最后一个词过滤,应该确保我没有超过我的限制。有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-30 21:45:15

这应该是你想要的

代码语言:javascript
复制
finder.apply_ngram_filter(lambda w1, w2, w3: sum([w1 n propernouns, w2 in propernouns, w3 in propernouns]) >= 2)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52580262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档