我需要构建一个php字典,它将找到一个单词的根词。 防爆。搜索“汽车”,它会告诉“汽车是复数汽车” 或者“接受”,这是“过去的时态”
我正在考虑使用Wordnet,但这似乎很复杂。
有什么建议吗?绝望的
问候;
答案 0 :(得分:5)
好吧,既然建议的词干分析器对你不起作用,你可以从这里选择一些更适合你的词:
这里还有一些有趣的库:http://sourceforge.net/projects/nlp/
还链接到StackOverflow上的类似问题:
NLP programming tools using PHP?
更新: How do I do word Stemming or Lemmatization?
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"
}