adr*_*rin 2 python nlp r nltk lemmatization
我不是一个[计算]语言学家,所以请原谅我在这个主题中的晚餐假设.
根据维基百科,lemmatisation定义为:
语言学中的Lemmatisation(或词形还原)是将单词的不同变形形式组合在一起的过程,以便将它们作为单个项目进行分析.
现在我的问题是,集合{am,is,是}的任何成员的lemmatised版本应该是"be"吗?如果没有,为什么不呢?
第二个问题:我如何在R或python中获得它?我已经尝试了像这个链接的方法,但是没有它们给出"被"给出"是".我想至少为了对文本文档进行分类,这是有道理的.
我也不能在这里使用任何给定的演示.
我在做什么/假设错了?
所以这里有一种方法可以在R中使用西北大学的变形器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"
Run Code Online (Sandbox Code Playgroud)
我怀疑你知道,正确的词形还原需要知道单词class(词性),语境正确的拼写,还取决于使用哪种语料库.
| 归档时间: |
|
| 查看次数: |
3056 次 |
| 最近记录: |