【问题标题】:Malformed keywords on extraction PHP提取PHP的格式错误的关键字
【发布时间】:2013-02-06 07:09:24
【问题描述】:

我正在使用 resource 从网页中提取关键字。它工作正常,但有些单词格式不正确。单词“memory”被提取为“memori”,“article”被提取为“artcl”。还有许多其他具有类似行为的关键字。 Here 是从this URL 中提取的一些关键字的列表(var_dump($uniqueKeywords)),作为函数的参数。

P.S.:我没有删减数字。

【问题讨论】:

  • 您到底在使用什么功能?你有什么要求?
  • 我作为资源链接的页面具有所有功能。我已经完全使用它们了。我还应用了词干算法。我只是没有使用 Strip Numbers 功能。我已将所有这些函数放在一个函数中,并将问题中给出的 URL 作为参数提供给它。要求是来自单个页面的唯一关键字。

标签: php text-extraction malformed


【解决方案1】:

单词使用Stemming 算法进行转换。词干允许匹配不同形式的单词,例如"memory""memories" 都转换为 "memori"。请注意,词干通常不是实际的词,而应仅用于比较。

如果您不希望出现这种行为,请跳过本教程的 'Stem the words' 部分。

【讨论】:

  • 或者,接受这种行为。如果您想使用关键字作为查找相似内容的手段,这实际上对您有好处,因为您可以将“记忆”链接到“记忆”,否则这将是两个不同的词。
  • @GeraldSchneider 我必须在以后的函数中计算这些唯一关键字的频率。 “记忆”这个词在我链接的 URL 上出现了 7 次。我需要以某种方式根除这种行为。是否有其他一些可以正确提取它的词干库,或者它们的行为都一样?
  • @Arnold:我对文本处理技术不太熟悉。有没有其他技术不会像这样?
  • @SilentAssassin 这不是一种技术。您通过调用$words[$key] = PorterStemmer::Stem( $word, true ); 在代码中执行此操作。因此,如果您不想注释掉那部分代码。
  • @ArnoldDaniels 我很清楚这一点。我只想要“记忆”这个词。我想要最少数量的关键字,我想根除这种行为。
猜你喜欢
  • 1970-01-01
  • 2012-07-11
  • 2014-11-17
  • 1970-01-01
  • 2012-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多