2

私は[コンピューターの]言語学者ではないので、このトピックで夕食のダミーを許してください.

ウィキペディアによると、見出し語化は次のように定義されています。

言語学における見出し語化 (または見出し語化) は、単語のさまざまな語形変化をグループ化して、1 つの項目として分析できるようにするプロセスです。

ここで私の質問は、セット {am, is, are} の任意のメンバーの見出し語化されたバージョンは「be」であるはずですか? そうでない場合、なぜですか?

2 番目の質問: R または Python でそれを取得するにはどうすればよいですか? 私はこのリンクのような方法を試しましたが、それらのどれも「ある」を与えられた「ある」を与えません。少なくともテキスト文書を分類する目的では、これは理にかなっていると思います。

また、ここにあるデモではそれができませんでした。

私は何をしていますか/間違っていると思いますか?

4

1 に答える 1

6

そこで、ノースウェスタン大学のレンマタイザーであるMorphAdornerを使用して、R でそれを行う方法を次に示します。

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" 

お気付きだと思いますが、正しい見出し語化には、単語クラス (品詞) の知識、文脈上正しいスペルが必要であり、使用されているコーパスにも依存します。

于 2014-04-10T17:27:57.527 に答える