R或python中的Lemmatizer(是,是->是吗?)
已关闭 。这个问题需要更加集中。它当前不接受答案。
想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题。
6年前关闭。
我不是[计算]语言的人,所以请在这个话题上大吃晚饭。
根据Wikipedia的描述,词形化定义为:
语言学中的词法化(或词法化)是将单词的不同变形形式组合在一起的过程,因此可以将它们作为单个项目进行分析。
现在我的问题是,集合{am,is,}中的任何成员的复词版本是否应该为“ be”?如果没有,为什么不呢?
第二个问题:如何在R或python中获得它?我已经尝试过像此链接这样的方法,但是没有一个方法给定的是“ are”。我想至少出于对文本文档进行分类的目的,这是有道理的。
我在做什么/假设做错了?
-
因此,这是使用R来完成的一种方法,它使用的是Northwestern University lemmatizer
MorphAdorner。lemmatize <- function(wordlist) { get.lemma <- function(word, url) { response <- GET(url,query=list(spelling=word,standardize="", wordClass="",wordClass2="", corpusConfig="ncf", # Nineteenth Century Fiction media="xml")) content <- content(response,type="text") xml <- xmlInternalTreeParse(content) return(xmlValue(xml["//lemma"][[1]])) } require(httr) require(XML) url <- "http://devadorner.northwestern.edu/maserver/lemmatizer" return(sapply(wordlist,get.lemma,url=url)) } words <- c("is","am","was","are") lemmatize(words) # is am was are # "be" "be" "be" "be"
我怀疑您已经知道,正确的去词义化需要掌握词类(词性),上下文正确的拼写,并且还取决于所使用的语料库。