找到一个单词的根词

时间:2011-03-27 17:01:50

标签: php dictionary wordnet

我需要构建一个php字典,它将找到一个单词的根词。 防爆。搜索“汽车”,它会告诉“汽车是复数汽车” 或者“接受”,这是“过去的时态”

我正在考虑使用Wordnet,但这似乎很复杂。

有什么建议吗?绝望的

问候;

3 个答案:

答案 0 :(得分:5)

好吧,既然建议的词干分析器对你不起作用,你可以从这里选择一些更适合你的词:

http://snowball.tartarus.org/

这里还有一些有趣的库:http://sourceforge.net/projects/nlp/

还链接到StackOverflow上的类似问题:

NLP programming tools using PHP?

Text mining with PHP

更新: How do I do word Stemming or Lemmatization?

http://www.reddit.com/r/programming/comments/8e5d3/how_do_i_programatically_do_stemming_eg_eating_to/

http://www.nltk.org/

Wordnet lemmatizer:http://wordnet.princeton.edu/wordnet/download/

答案 1 :(得分:1)

嗯,这是一个扩展词,可以说出词干(我相信这是你想要的): http://pecl.php.net/package/stem

然而,它没有对作品进行任何语法分析。

以下是仅限php的版本:http://www.chuggnutt.com/stemmer.php

答案 2 :(得分:0)

您可以在此处尝试免费的Lemmatizer API:http://twinword.com/lemmatizer.php

向下滚动以找到Lemmatizer端点。

这将让你得到狗#34; to" dog","能力"能力"。

如果传入名为" text"的POST或GET参数用像#34;走过植物的字符串":

// These code snippets use an open-source library. http://unirest.io/php
$response = Unirest\Request::post("[ENDPOINT URL]",
  array(
    "X-Mashape-Key" => "[API KEY]",
    "Content-Type" => "application/x-www-form-urlencoded",
    "Accept" => "application/json"
  ),
  array(
    "text" => "walked plants"
  )
);

你会收到这样的回复:

{
  "lemma": {
    "plant": 1,
    "walk": 1
  },
  "result_code": "200",
  "result_msg": "Success"
}