URL 特征表示

机器算法验证 机器学习 特征工程
2022-03-07 07:13:38

我正在编写一个书签分类器作为一个爱好/学习项目。目前我正在尝试决定特征表示。

我有两条信息:

  • 名称(元标题属性)
  • 网址

我主要感兴趣的是 URL(或一般的短文本)是否有任何比词袋表现更好的特征表示。

2个回答

URL 的格式如下

带有突出显示部分的 URL 示例:方案、域名、端口、文件路径、参数、锚点。

它告诉你几件事:

  • 使用httpsvshttp告诉您网站是否已加密,这可能是重要信息,也可能不是重要信息。请注意,您可以同时拥有httpshttpURL 指向同一个网站,因此http存在的事实并不意味着该网站不提供加密。
  • 你几乎永远不会看到端口,所以如果你看到一个,你可以使用二进制标志(是/否)。
  • 在域名中,上面的示例使用.com 顶级域后缀。这些告诉您有关网站来源的一些信息,例如,.de是德国国家代码,用于教育目的,官方、政府页面.edu有后缀。另外请记住,可能存在地区差异,例如,或者,后缀的两个部分都为您提供有用的信息。但是请注意,在很大程度上,这些可能具有误导性,例如,在大多数情况下,该后缀将被硅谷人工智能初创公司使用,而不是来自安圭拉的人。.mil.gov.co.uk.gov.pl.ai
  • 域本身可以为您提供有关内容的一些线索,例如,如果您在那里看到wikipediaamazoninstagram,您将能够立即对内容做出猜测。您可能可以对最流行的域进行编码,并将稀有的域 ( johnnys-funny-cat-pics-blog.com) 保留为“其他”类别。
  • 请注意,域的长度也很有意义:短的通常已经被占用了,所以它们要么是旧的,要么是有人花更多的钱买的。
  • 剩下的/path/to/the/myfile.html可以告诉你一些关于页面内容的信息(例如login.php意味着你可能会登录到一些东西并且penguins.html可能是关于企鹅的)。在许多情况下,您在此处看到的文字会在一定程度上描述页面的内容。将它们与其他自然语言处理任务(词袋、嵌入)中的任何其他单词一样对待。
  • .html, .php,等文件扩展名.asp可以告诉您有关所使用技术的一些信息。
  • 这些?key=value参数仅用于比静态 HTML 页面更复杂的页面。它们存在于可以接收参数化GET 请求的页面中。在某些情况下,它们的存在(是/否)可能是有用的信息。它们的内容(key=value对)可以告诉您客户端和服务器之间发送或接收的信息类型。
  • #Anchor指向网页部分的链接这些将用于维基百科、博客、文档等地方,您不太可能在非文章页面(例如在线商店)中看到它们。具有锚点(是/否)的 URL 的信息可能有用,并且锚点本身可能会告诉您有关内容的一些信息(例如,如果您看到#Population,这可能是描述某个国家/地区的文章)。如果您的数据中有它们,也请考虑它们。

对于具有较小数据集的短长度文本分析,我发现预训练的词嵌入很有用。例如,作为@Tim 的/path/to/the/myfile部分答案,您可以标记为[path, to, the, myfile](在这种特定情况下,可能会删除常见的to, the,可能会尝试拆分长字符串,例如myfile),并获取它们各自的嵌入。从那里开始,对文档中所有单词的嵌入进行平均似乎很常见。根据您的特定用例,其他一些聚合可能值得探索。例如,如果您只需要 URL 之间的距离,则可以使用单词移动距离。

公共域可能也可以在词嵌入中找到,但不常见的域可能不会出现。请求参数和锚点也可能可用,这取决于它们的可读性。蒂姆答案的其他组成部分可以直接用作分类特征(或数字,在域长度的情况下)。