【问题标题】:Search string algorithms搜索字符串算法
【发布时间】:2012-01-24 20:51:14
【问题描述】:


我正在尝试从一组网站(数千个)获取内容页面中的联系信息。在挠头之前,我想问问像你们这样的专家。我只需要地址、电子邮件 ID、电话号码和联系人信息(如果有)。

我想你已经理解了这个问题。是的,它是格式……因为网站没有遵循标准格式,所以很难确定我需要的确切信息。一些网站设计有 Flash 联系我们页面,而其他一些网站则将联系信息设计为具有自定义字体的图像类型。

并且非常欢迎提示/想法/建议...

谢谢……

【问题讨论】:

  • 您介意分享您将如何处理这些信息吗?如果人们认为自己不是在帮助垃圾邮件发送者,他们将更有可能帮助您。
  • 我不是垃圾邮件发送者 :-) 我真的很佩服您的关注...我计划开发一个像商业维基这样的网站,其中包含许多过滤选项,可以帮助企业和客户
  • 你想做一些IR,看看Lucene,它真的很强大

标签: search full-text-search search-engine binary-search


【解决方案1】:

正如您所料,这绝不是一项微不足道的任务。这是解决此问题的一种方法:

  1. 使用倒排索引系统,例如 Lucene/SolrSphinx 来索引页面。您可能需要编写自己的爬虫/蜘蛛。 Apache Nutch 和其他爬虫提供开箱即用的爬虫。如果内容相当静态,请将它们下载到本地系统。

  2. 一旦内容被索引,您可以通过构建布尔查询来查询它的电子邮件地址、电话号码等,例如: //for email //for phone # 括号 Contents:@ AND (Contents:.COM OR Contents:.NET) OR Contents:"(" OR Contents:")"` 重要提示:上述代码不应按字面意思理解。使用 Lucene Regex Query 和 Span Query 可以让您构建非常复杂的查询。

  3. 最后在结果页面上,(a) 运行结果荧光笔以获取 sn-p(s) 围绕查询词,(b) 在 sn-ps 上运行 正则表达式来提取感兴趣的领域。

  4. 如果您有北美地址数据集,您可以运行 多次通过以验证地址 i) 像 Bing Maps 或 Google 地图这样的地图提供商来验证地址。据我所知,USPS 和其他公司提供收费的有效地址查询,以验证美国邮政编码和加拿大邮政编码。或者,ii) 反向 DNS 查找电子邮件地址等......

这应该让你开始......就像我说的,这里没有单一的最佳解决方案,你需要尝试多种方法来迭代并达到你想要的准确度水平。

希望这会有所帮助。

【讨论】:

  • 也可以访问 www.searchblox.com,它提供开箱即用的抓取网站等功能,并且构建在 Lucene 之上。
  • 我希望这种方法对于从网站上提取特殊事件和时间也是相同的。例如...事件:书呆子晚餐;时间:2012 年 7 月 5 日 @ 晚上 7 点。
  • 是的,任何可以正则表达式的东西都可以被提取出来。
【解决方案2】:

@Mikos 是对的,您肯定需要多种方法。另一个可能需要考虑的工具是Web-Harvest。它是一种收集 Web 数据的工具,它允许您收集网站并提取您感兴趣的数据。所有这些都是通过 XML 配置文件完成的。该软件还具有 GUI 和命令行界面。

它让您可以使用诸如 XSLT、XQuery 和正则表达式之类的文本/xml 操作技术,您还可以构建自己的插件。然而,它主要关注基于 HTML/XML 的网站。

【讨论】:

    【解决方案3】:

    Conditional Random Fields 已精确用于此类任务,并且相当成功。您可以使用CRF++Stanford Named Entity Recognizer。两者都可以从命令行调用,而无需编写任何显式代码。

    简而言之,您需要能够首先通过提供一些网页中的姓名、电子邮件 ID 等示例来训练这些算法,以便他们学会识别这些东西。一旦这些算法变得聪明(因为你给它们的例子),你可以在你的数据上运行它们,看看你得到了什么。

    不要害怕查看维基百科页面。这些软件包附带了很多示例,您应该在几个小时内启动并运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-17
      • 2011-12-21
      相关资源
      最近更新 更多