【问题标题】:Is there a tool to obtain all get all derivatives of a word in PHP?有没有一种工具可以在 PHP 中获取所有单词的所有派生词?
【发布时间】:2011-05-07 23:01:03
【问题描述】:

我需要输入“face”得到“facial, faces, faces, faces, facer, faceable”等。

我遇到了一些效果相反的无效程序,例如 SNOWBALL 和一些似乎不起作用的 Porter Stemming PHP 脚本。

我开始认为我可能必须编写这个脚本 - 但是,我想我会检查一下是否有人已经在那里/做过。

【问题讨论】:

  • 最好的办法是用字典
  • 一个搬运工词干分析器算法可以帮助您将复杂的词减少到它们的基本词干(例如“面部”到“面部”),但我不知道基于此扩展到派生词。我认为你需要一个相当大的单词数据库。
  • 在右侧的“相关”问题列表顶部有一个完全相同的问题。这也会在您写问题时出现。
  • 所以,显然 is 不存在!好吧 - 是时候开始工作了。反之则可以通过庞大的字典数据库和大量的字典规则、前缀、结尾等库来完成。

标签: php word porter-stemmer


【解决方案1】:

很难简单地找到一种算法来找到一个单词的不同书写方式。

您可以使用 dictionary webservice 来代替所有可用的单词

【讨论】:

  • 酷我不太了解 dic websvc 的机制,但它看起来很有希望
  • 遗憾的是,没有一个字典网络服务似乎具有“派生形式”作为功能 - 我发现最接近的是常规网站 http://www.wordwebonline.com,它在底部包含“派生形式”。但它不包括副词或其他形式。
  • 我找到了一种解决方案 - 您可以将单词列表放在 Excel 中,在我的例子中是 14,000 个单词。使用过滤器/包含、不包含等对列表进行排序。将单词分成列,查找/替换“es”、“s”和“ed”等。然后编写一个脚本来对照大字典检查所有单词并保留只有那些存在的。
猜你喜欢
  • 1970-01-01
  • 2021-07-30
  • 1970-01-01
  • 1970-01-01
  • 2011-05-16
  • 2017-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多