CN107077500B - 提取类似的群组元素 - Google Patents
提取类似的群组元素 Download PDFInfo
- Publication number
- CN107077500B CN107077500B CN201580058725.9A CN201580058725A CN107077500B CN 107077500 B CN107077500 B CN 107077500B CN 201580058725 A CN201580058725 A CN 201580058725A CN 107077500 B CN107077500 B CN 107077500B
- Authority
- CN
- China
- Prior art keywords
- product
- search result
- product search
- communication
- information structure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0623—Item investigation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Computational Linguistics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
描述了提取类似群组元素的技术。在一个实施例中,对接收到的通信进行分析,以找到该通信内的元素中的重复模式。可以经由用户界面接收对接收到的通信的具体元素进行标识的输入。然后,系统可以识别重复模式内与该具体元素相关联的具体位置。然后可以通过指定的或预先选择的格式来识别、存储或输出通信内处于重复模式内的相同位置处的每个元素。各种实施例可以考虑到多页响应通信、各种模式识别技术以及自动的或用户辅助的系统。
Description
相关申请的引用
本申请要求2014年10月28日提交的美国专利申请No.14/526,231的优先权,其全部内容由此通过引用并入本文。
技术领域
本申请一般涉及模式识别和数据提取的技术领域,且特别涉及用于识别网络通信中的重复模式并根据重复模式结构提取数据元素的系统和方法。
背景技术
互联网和各种广域网和局域网的规模和复杂性随着通信和计算技术的进步而增长。网络爬虫(web crawler)、网络刮刀(web scraper)和网络翻录器(web ripper)是用于从网络收集信息的工具。许多当前的网络爬虫和网络刮取工具从目标内容源(如内容服务器)收集所有可用的信息。虽然这提供了关于内容源的信息,但该信息是未过滤的,并且信息量可能过大超过必要程度,这取决于信息被收集的目的。其他网络爬虫和网络刮取工具可能会搜索有针对性的信息,但只搜索具体标识的信息,并可能会错过其他类型的信息。本文描述的系统、设备和方法提供了用于从网络提取信息的改进工具。
附图说明
图1示出了根据某些实施例的产品搜索结果通信的各方面。
图2示出了根据某些实施例的产品搜索结果通信的各方面。
图3示出了根据某些实施例的产品搜索结果通信的各方面。
图4示出了根据某些实施例的用于提取群组元素的方法。
图5示出了根据某些实施例的可以提取群组元素的设备的各方面。
图6示出了根据某些实施例的可以提取群组元素的设备的各方面。
图7示出了根据某些实施例的用于提取群组元素的方法。
图8示出了可以用于实现计算系统的各方面的系统,所述计算系统可以是某些实施例的一部分。
具体实施方式
本文描述的实施例涉及模式识别和数据提取,特别涉及用于从具有重复结构的网页或产品搜索结果通信中提取类似群组元素的系统和方法。
例如,在一个实施例中,系统用户可能想要收集关于玩具车的信息。响应于输入,系统可以向网络资源发送关于玩具车的信息的查询。当返回具有关联价格的217个产品的列表时,用户可以选择第一玩具车的单个价格和单个名称。然后,系统将自动分析列表的结构,以识别对于217个玩具车列表中的每一个而言重复的结构。系统将进一步使用该结构信息,以基于选择第一玩具车的单一价格和单一名称的系统输入来提取列表中的217个玩具车中每个的名称和价格。然后可以将该信息自动地构造到表或数据库中并存储在系统存储器中。
作为附加示例,在某些实施例中,系统用户可能希望从网络资源收集关于某个产品类型的定价信息。系统可以向网络资源发送产品搜索请求,并且接收产品和相关价格的列表。可以在单个搜索结果中描述任何数量的产品,并且对于列出了数百或数千产品的搜索结果而言,对通信进行彻底解析以识别每个产品的期望信息可能是低效的。如果在产品搜索结果通信中列出了不止一个产品和价格,该通信可能具有针对每个产品重复的结构。该结构可以包括例如针对名称、照片、描述、销售来源、价格和任何其他这样的信息的节点。替代一个个地彻底搜索整个通信以提取期望信息,本文所述的实施例分析产品搜索结果通信来识别针对每个产品重复的结构。系统可以接收将来自单个产品的单个信息元素标识为期望信息的输入。然后,实施例可以识别与所选择的信息元素相关联的重复模式内的公共父节点和元素选择级联样式表。然后,系统可以使用该结构信息来提取每个产品的相关元素信息。
网络翻录器、网络爬虫和网络刮刀是用于浏览网络以收集信息的系统。例如,可以使用它们来下载和存储来自所访问的每个网站的信息用于分析和处理。例如,网络爬虫从要访问的统一资源定位符(URL)的列表开始,识别与这些URL相关联的页面中的所有链接,然后进行从所访问的页面收集信息。网络刮刀可以使用类似的工具来收集网站信息,然后可以从不同的网络源获取非结构化信息,并将信息收集到结构化格式或数据库中。然而,这样的操作或者收集所有可用的信息,或者彻底搜索所有可用信息以提取具体的期望信息。
在许多联网系统中,存在用于阻止某些类型的自动刮取或翻录的结构或壁垒。在某些环境中,刮取或翻录通信可能占用网络可用带宽的很大部分,并为网络资源提供商增加了显著的成本。因此,通过处理通信的全部内容对来自这样的网络资源的信息进行全自动处理可能是不实际的或低效的。然而,用户对大型列表的手动检查也是低效的,特别是对于大量的数据而言。本文描述的实施例可以通过向人类用户提供用于基于对单个数据列表的手动检查来提取大量信息的自动化系统来提供改进,其中该单个数据列表处于在大量信息中重复的结构中。实施例可以通过使用所识别的结构来使用较少处理资源收集信息,从而进一步提高自动化系统的效率。
详细地参考各种实施例,其示例在附图中示出。在下面的详细描述中,阐述了许多具体细节以便提供对本公开和所描述的实施例的透彻理解。然而,可以在没有这些具体细节的情况下实践本公开。在其他情况下,未详细描述公知的方法、流程、组件和电路,以免不必要地模糊实施例的各方面。
示例只是代表可能的变化。除非另行明确声明,否则组件和功能是可选的,且可被合并或细分,且操作可以在顺序上变化或被组合或细分。在以下描述中,出于解释的目的,对多个具体细节进行阐述,以提供对示例实施例的透彻理解。然而,对于本领域技术人员将显而易见的是:本主题可以在没有这些具体细节的情况下实施。
图1示出了第一产品搜索结果通信100的示例。第一产品搜索结果通信100可以包括URL、产品元素、格式化结构、广告信息、列标题和任何其他这样的信息。特别是作为可以包括在第一产品搜索结果通信100中的产品元素的示例,该信息可以包括产品的附加细节,例如照片、插图、到产品文档的链接等。如图1中所示,第一产品搜索结果通信100包括多个产品元素110。具体地识别多个产品元素110中的产品价格元素118。第一产品元素112和第二产品元素114也被具体地识别,并且其是多个产品元素110的一部分。产品元素110可以包括与得到第一产品搜索结果通信100的搜索请求的具体响应相关联的任何信息。例如,如果针对汽车发起得到第一产品搜索结果通信100的搜索请求或搜索查询,则与响应于搜索而识别的具体汽车相关联的任何信息将是产品元素110。附加实现可以包括其他信息,例如标题(header)信息、品牌颜色以及与搜索引擎或销售门户相关联的符号、尺寸信息或其他这样的可选信息。
第一产品搜索结果通信100可以显示在系统的输出显示器上。响应于系统接收到第一产品搜索结果通信而创建和显示的网页的任何用户界面元素或其他方面被认为是与第一商品搜索结果通信100相关联的元素。
图2示出了第一产品搜索结果通信100的附加方面。其包括产品元素110。产品元素110包括多个不同的内容信息元素。在某些实施例中,产品元素110可以包括第一产品搜索结果通信100中的所有内容信息。在其他实施例中,在产品元素110中仅包括第一产品搜索结果通信100中的内容信息元素的一部分。具体地识别许多特定的产品元素110,包括产品元素111、产品元素113、产品价格元素118、第一产品元素112和第二产品元素114。在各种实施例中,产品元素111-118中提供的产品信息可以包括产品的照片、产品名称、产品描述和任何其他这样的产品信息。图2还示出了作为第一产品搜索结果通信100的一部分的重复结构。如图2所示,重复结构还包括内部结构元素。顶层重复结构被示出为位置节点120。作为位置节点120(1-3),该结构在图2中重复三次。在本文描述的各种实施例中,这种顶层重复结构可以被称为重复结构的顶层节点、顶部位置节点或顶层位置。某些通信可以具有单个顶层节点。其他实施例可以具有多个不同的重复结构,因此实施例可以具有多个顶层节点。在某些实现中,在顶层,节点可被描述为给定信息集合的最大重复结构的“容器”或“结构”。因此,具有多个顶层节点的实施例可以具有带有不同重复信息集合的多个不同结构。
图2的每个位置节点120包括在位置节点120的结构内的附加位置节点。它们被示出为位置节点122、位置节点124、位置节点126和位置节点128。此外,位置节点128被进一步构造为位于位置节点126的内部。这些位置节点122、124、126和128中的每一个在每个位置节点120的内部重复。因此,位置节点120(3)包括位置节点122(3)、124(3)、126(3)和128(3)。不包括附加节点作为内部结构的一部分的位置节点可以被称为重复结构的底层节点、底部位置节点或底层位置。在图2中,位置节点122、124和128是底层节点。
第一产品搜索结果通信100的实际内容包括产品元素110。当识别重复结构时,可将产品元素110的每个产品元素与位置节点相关联。如图2所示,产品价格元素118与位置节点128(1)相关联,第一产品元素112与位置节点122(2)相关联,且第二产品元素114与位置节点124(3)相关联。类似地,附加产品元素也将与其他位置节点相关联。
图3示出了可以从第一产品搜索结果通信100识别的重复结构300。该重复结构包括顶部位置节点120、位置节点122、位置节点124、位置节点126和位置节点128。在各种实施例中,由系统接收的通信可以包括任何复杂性的重复结构。尽管图3的实施例示出了在下方具有2级复杂度的顶层位置节点120,在不同的实施例中可以包括任何数量的层级。位置节点120之下的第一级包括位置节点122、124和126。位置节点120下方的第二级包括位置节点128。定价分区在这里被具体称为可以被规律识别的关键信息的产品信息类型,但是在一些实施例中,可将定价位置节点与其他位置节点相同地对待。附加实施例可以包括在第三级、第四级或任何编号的级处的位置节点。类似地,层级可以在该层级内包括任何数量的位置节点。
此外,实施例可以考虑包括多个顶层节点的通信。例如,如果通信包括第一重复结构和第二重复结构,则每个重复结构将包括其自己的顶层位置节点。
在某些实施例中,仅底层节点将与包含文本或其他这样的信息的元素相关联。在这样的实施例中,底层节点之上的节点将与底层节点之间的相对位置或关系相关联。例如,在图2中,位置节点126简单地标识与底层位置节点128相关联的定价特性。类似地,位置节点120标识较低层位置节点122、124和126之间的关系。因此,位置节点120至128描述了第一产品搜索结果通信100的重复结构。在其他实施例中,任何位置节点可以既包括信息内容又包括与其他位置节点的关联。例如,在某些实施例中,位置节点126可以包括标签或其他信息。
本文所提及的标签是作为接收到的通信中的结构的一部分重复但是在与相同位置节点相关联的不同产品元素之间不变化的元素。
本文所述的信息内容描述接收到的通信的文本、图片、视频、图形元素或任何其他信息元素。其包括响应于发起通信响应的搜索查询的任何内容信息。
本文所述的位置信息是指关于定义或组成可识别重复结构的产品元素之间的关系的信息,该可识别重复结构可用于定义位置节点。这包括响应于接收到通信(例如,第一产品搜索结果通信100)而呈现的输出显示器上的产品元素的物理位置。这也可以指在接收到的通信中定义的关系,例如由超文本标记语言(HTML)文本、可扩展标记语言(XML)文本或接收到的通信中其他信息或元数据所标识的关系,该其他信息或元数据提供关于接收到的通信中的产品元素之间的关系的信息。
图4描述了根据一个实施例的用于从通信中提取类似元素的方法400。在图4的实施例的各种实现中,如图4所示,该方法可以由计算设备(例如图5的设备500、图6的服务器602或图8的机器800)执行。在其他实现中,设备系统可被用于图4的方法的任何部分,或者任何其他这样的设备、虚拟设备或设备系统可被用于图4的方法的任何部分。
图4的方法400开始于操作410,在操作410中在耦合到设备的一个或多个处理器的网络接口处接收第一产品搜索结果通信。这可以是响应于用户在设备处输入并传送给内容服务器的搜索查询。这也可以是响应于由设备自动生成并发送给内容服务器的搜索查询。这也可以是在没有由设备发起查询的情况下从网络内容源到设备的信息推送。
该方法在操作420中继续,由设备分析第一产品搜索结果通信以识别重复的产品信息结构。重复的产品信息结构可以类似于图3的重复结构300。结构的每个重复包括关于不同的单个产品或产品集合的信息,并且可以被认为是作为第一产品搜索结果通信的多个产品搜索结果的一部分的单个搜索结果。产品搜索结果通信可以包括以任何格式列出的任何数量的单独搜索结果,其中搜索结果的至少一部分共享一个或多个重复结构。多个产品搜索结果中的每个产品搜索结果包括一个或多个产品元素,如图2的产品元素110。此外,每个产品元素在重复的产品信息结构内具有位置或位置节点。换言之,第一产品搜索结果包括产品列表。产品可能是商品、服务、商品和/或服务的群组,或搜索结果的任何其他这样的列表。产品列表中列出的每个产品可以具有相关联的内容信息,例如图片、文本描述、标题描述、价格或任何其他这样的内容信息。与每个产品相关联的内容信息可以以具体方式构造,其中产品列表中的产品的至少一个子集对于内容信息而言具有相同的结构。
在操作430中,该方法涉及接收目标元素输入。目标元素输入可以是来自诸如图6的键盘628的输入源的用户输入。在其他实施例中,可以从任何其他这样的用户输入设备(例如触摸屏、照相机、鼠标、扬声器或任何其他这样的传感器)接收目标输入。在其他实施例中,目标元素输入可以是作为系统操作的一部分从设备存储器或元素选择模块接收的预定自动输入。目标元素输入标识或用于识别第一产品搜索结果通信的第一产品元素。
操作440涉及分析重复的产品信息结构,以识别重复的产品信息结构内与第一产品元素相关联的第一位置。因此,目标元素输入标识第一产品元素,并且操作440涉及识别该所标识的第一产品元素在作为第一产品搜索结果通信的一部分的重复结构内位于或构造在何处。
操作450涉及分析第一产品搜索结果通信,以识别第一产品搜索结果通信的位于重复的产品信息结构的第一位置处的每个产品元素。例如,在图1-3中所描述的实施例中,如果目标元素输入标识第一产品元素112,则操作450将包括分析与第一产品元素112相关联的位置以将位置节点122与第一产品元素112相关联。然后,分析还会将产品元素111和113识别为也与位置节点122相关联,使得产品元素111、112和113被识别为第一产品搜索结果通信100的位于图2的重复结构300中的所识别位置处的所有产品元素。例如,如果另一实施例包括具有重复结构300的1000个产品列表,那么通过该分析将识别出来自相关联位置节点122的所有1000个相关联的产品元素。
在某些实施例中,第一产品搜索结果通信可以包括级联样式表。对于这样的实施例,通信内的元素可以与级联样式表相关联。当接收到目标元素输入时,可以使用来自级联样式表的信息来识别重复模式,然后可以使用来自级联样式表的信息来导出与根据目标元素输入识别的元素共享节点位置或群组的每个元素。
在某些实施例中,可能不会在图形用户界面的单个页面上呈现所有产品列表,或者可能不会在单个产品搜索响应通信中发送与得到响应通信的单个查询相关联的所有产品列表。在这样的实施例中,对重复结构的分析还可以识别连续列表指示符。这样的连续列表指示符可以是图形用户界面中的可选择输入、通信内的信息或其他一些这样的指示符。各种实施例可以通过不同的方式处理这样的指示符。某些实施例可以当在图形用户界面上显示通信时自动请求附加信息。某些实施例可以首先接收目标元素输入,分析当前呈现的产品信息的结构,然后请求来自用户的授权以使用连续列表指示符来请求附加信息。在其他实施例中,可以自动执行使用连续列表指示符的附加信息请求。然后可以响应于对附加产品列表的自动请求而接收持续产品搜索结果通信,且然后可以分析来自持续产品搜索结果通信的附加产品列表,以识别持续产品搜索结果通信内的重复结构。此外,持续产品搜索结果通信本身可以包括第二持续列表指示符。在各个实施例中,每个持续产品搜索结果通信可能需要单独的目标元素输入。在其他实施例中,第一目标元素输入可被用于每个持续产品搜索结果通信。系统可以继续自动请求第一持续搜索结果通信、第二持续搜索结果通信、第三持续搜索结果通信等,直到最后的持续搜索结果通信不包括持续列表指示符。在其他实施例中,对持续产品搜索结果通信的第一个请求可能需要经由用户界面呈现的用户确认,且然后可以自动执行针对持续产品搜索结果通信的每个后续请求。在接收到最后一个通信之后,来自每个通信的所有所提取的信息可被聚合成单个记录并存储以用于以后的分析、聚合和以所选择的或预定的格式呈现给用户,或者被聚合并被自动地传送给单独的设备。例如,记录可以包括文本格式的节点列表、通信中标识的重复结构的图形表示、和/或具有与表中的每个产品相关联的一个或多个产品元素的产品表。在某些实施例中,记录可以包括电子表格,其中,一列用于产品名称,一列用于产品描述,且一列用于产品价格,每列与被识别为接收到的通信的一部分的重复结构中的节点相关联。
在某些实施例中,产品搜索结果通信中的某些产品列表的位置节点可以是空的。这样的空产品元素可以被识别为空产品元素(给定标准的0或“空”值),或者被从所存储的在操作460中创建的记录中排除。
操作460涉及存储第一记录,第一记录包括第一产品搜索结果通信的位于重复的产品信息结构的第一位置处的每个产品元素的列表。该记录可以本地存储在设备上,或者可被传送给远程数据库或存储设备。
尽管图4的方法按照某个顺序描述了操作410至460,但是明显的是,某些过程可以按照不同的顺序进行。例如,在某些实施例中,可以在分析通信(操作420)之前接收目标元素(操作430)。在某些示例性实施例中,目标元素输入的接收可被用作开始分析通信的触发。在其他实施例中,并且根据不同实施例的实现,其它过程也可以按照不同的顺序进行。在其他实施例中,发起对第一产品搜索结果通信的分析的单独输入可以与目标元素输入一起接收或在接收到目标元素输入之后接收。在其他实施例中,可以响应于在操作410处接收到第一产品搜索结果通信而自动发起用于生成重复的产品信息结构的分析。在另外的实施例中,在操作440之前的任何时间处,可以使用用户输入或单独的自动触发来发起用于识别重复的产品信息结构的分析。
图5示出了可以用作根据本文所述的某些实施例的用于提取类似群组元素的系统、设备和方法的一部分的设备500。设备500包括网络输入/输出(I/O)模块510、用户输入/输出(I/O)模块520、数据管理模块530、存储器模块540、结构分析模块550以及元素选择和过滤模块560。网络输入/输出模块510可以包括可用于从网络内容源接收通信的任何网络接口设备、系统或组件。其可以包括诸如图6的通信接口620、图8的网络接口设备820或任何其他这样的有线或无线网络通信系统的元素。
用户输入/输出模块520包括诸如键盘628、字母数字输入设备812或光标控制设备814的输入元素。在某些实施例中,也可以经由网络输入/输出模块510接收用户输入。用户输入/输出模块520还可以包括其他设备,例如相机输入、扬声器输入、触摸屏或任何其它这样的用户输入设备。用户输入/输出模块520还可以包括输出设备,例如可用于输出从接收到的通信(诸如例如上述的第一产品搜索结果通信)导出的网页的屏幕。输出设备可以包括多个显示器、扬声器或任何其它这样的输出设备。
数据管理模块530包括通信路径,例如总线808、通信总线630或任何其它这样的通信路径。数据管理模块530还可以包括一个或多个处理器,例如中央处理单元622、处理器802、或可用于根据本文描述的实施例实现类似群组元素的提取的任何其它通用或专用处理电路。
存储器模块540包括用于存储信息的任何存储器设备,该信息可被设备500用于实现提取类似群组元素的各个方面。这可包括作为产品搜索结果通信的一部分而接收到的信息。这可包括发起作为响应的产品搜索结果通信的搜索查询的各个方面。这还可以包括可用于由结构分析模块550以及元素选择和过滤模块560执行结构分析以及元素选择和过滤的各种系统和模块的各个方面。在某些实施例中,结构分析模块550以及元素选择和过滤模块560可执行上述方法的某些操作。这将在下面更详细地讨论。这可包括模板、指令或系统可能使用的任何其他这样的信息。存储器模块540还可以存储输出记录,所述输出记录由本文所述的用于提取类似群组元素的系统和方法生成。除了提取的元素之外,这样的记录还可以包括描述提取的数据元素的元数据结构和内容。这样的记录还可以包括针对具体输出系统的格式化,例如数据库格式化或电子表格格式化。
结构分析模块550包括任何硬件、软件、固件或它们的组合,作为用于分析接收到的通信的结构的系统或模块。例如,结构分析模块550可以处理图1和2中描述的第一产品搜索结果通信,以识别图3的重复结构300。
结构分析模块550可以通过多种不同的方式完成该分析。在某些实施例中,可使用HTML解析器来识别接收到的通信(例如第一产品搜索结果通信)中的重复结构。这样的HTML解析器可以识别作为通信的一部分接收的HTML中的模板或模式,并且可以将模式分类到诸如重复结构300的结构。在其他实施例中,可将另一这样的解析器与任何格式的接收到的通信一起使用来识别这样的模式。在其他实施例中,可以执行文档对象模型解析以创建文档对象模型树,并且可以通过文档对象模型树内的重复树结构来识别模式。这样的实施例可以使用具有控制系统的浏览器作为解析器的一部分来实现分析。在另外的实施例中,优化的搜索或识别系统可以使用正则表达式匹配或分析元数据,以识别接收到的通信内的重复结构。在要被分析的接收到的通信的各方面是已知的或部分已知的实施例中,上述任何分析方法的优化模板或版本可以被调整为适于接收到的通信的预期或已知方面。
此外,某些实施例可以使用用户界面翻录、用户界面刮取,或者分析输出显示和相关联的用户输入,以识别接收到的通信内的结构。例如,当接收到诸如第一产品搜索结果通信100之类的通信时,可以将其显示在如图1所示的输出屏幕上。在某些实施例中,与图1中所示的显示器集成在一起的用户界面可以接受用户输入以识别重复结构中的一个或多个位置节点。
在其他实施例中,接收到的通信可被渲染以用于在输出上显示,并且计算机视觉系统或图形分析程序可以分析所渲染的输出以识别模式。然后,模式可以与接收到的通信的产品元素相关联以生成重复模式,或者可以从渲染的输出中直接识别和创建重复模式。
例如,在某些实施例中,输出显示器呈现第一产品搜索结果通信的各个方面。这可以包括以图形方式呈现与第一产品搜索结果通信的产品元素相关联的线条、文本和照片。与输出显示相关联的信息可以存储在数据结构中。这可以例如将数据结构的一个网格元素与输出显示的像素相关联。结构分析模块550可以执行一个或多个模板识别算法来识别数据结构中的重复模式,并且将模式与来自第一产品结果通信的产品元素相关联。然后所识别的模式可以用于识别节点并且作为重复结构的一部分。
设备500还包括元素选择和过滤模块560。元素选择和过滤模块560包括硬件、软件、固件或它们的组合来作为用于识别接收到的通信中的元素的系统或模块,并且基于由结构分析模块550识别的结构来提取相似的元素。例如,元素选择和过滤模块560可以接收自动目标元素输入并使用自动目标元素输入来识别接收到的通信内的相关元素。然后,元素选择和过滤模块560还可以识别通信内共享由结构分析模块550识别的重复结构内的相关元素的位置的每个元素。
在一个实施例中,例如,元素选择和过滤模块560利用输出显示器上的用户界面进行操作,以创建可具有与图1中所示的第一产品搜索结果通信100的外观相似的外观的接收通信输出。系统用户可以使用用户界面来选择作为输出第一产品搜索结果通信100的用户界面的一部分来显示的像素或像素组。然后,元素选择和过滤模块560可以使用所选择的像素作为目标元素输入,并且然后可以将与像素位置最紧密关联的产品元素识别为所选择的或相关联的元素。在某些实施例中,响应于该选择可以显示用户界面上的图形指示。然后,用户可以具有以下选项:取消选择该元素并选择另一元素,或者选择另外的元素。
一旦将元素识别为所选择的元素,元素选择和过滤模块560可以确定哪个节点结构与所选择的元素相关联。然后,一旦与所选择的元素相关联的节点结构被识别出,则可以分析接收到的通信以识别接收到的通信内的重复结构的每个实例,并且还识别与所选择的元素相关联的节点结构的每个实例。与上述相似,当识别出与所选择的元素相关联的节点结构的每个实例时,节点结构的每个实例的元素可以在输出显示器上被突出显示或指示。该过程可以是自动的,在选择像素或像素组之后直接发生,或者可以取决于在像素选择之后且在对与所选择的元素相关联的节点结构的每个实例的识别之前的用户确认。
在其他实施例中,自动化系统可以使用一个或多个模板来选择输出显示或所渲染的输出数据流中的像素,而不是使用用户界面接受用户选择像素的输入。在一个实施例中,例如,可以使用“$”图案来识别诸如产品价格元素118的价格元素。
在另外的实施例中,不是依赖于对用户界面或显示器的输出,而是可以使用上述用于结构分析模块550的任何匹配技术来创建目标元素输入并且如上所述地识别所选择的元素。
备选实施例的一个示例包括耦合到接收第一产品搜索结果通信的一个或多个处理器的网络输入/输出接口。该实施例还包括结构分析模块,其从网络接口接收第一产品搜索结果通信,并且分析第一产品搜索结果通信以识别第一产品搜索结果通信的多个产品搜索结果的重复的产品信息结构,其中所述多个产品搜索结果的每个产品搜索结果包括多个产品元素,并且每个所述产品元素具有重复的产品信息结构内的位置。实施例还包括元素选择和过滤模块,其接收对第一产品搜索结果通信的第一产品元素进行标识的目标元素输入,分析重复的产品信息结构以识别重复的产品信息结构内与第一产品元素相关联的第一位置,以及分析第一产品搜索结果通信,以识别第一产品搜索结果通信的位于重复的产品信息结构的第一位置处的每个产品元素。最后,实施例包括存储器模块,其存储第一记录,所述第一记录包括第一产品搜索结果通信的位于重复的产品信息结构的第一位置处的每个产品元素的列表。
备选实施例可以包括上述在本文描述的任何计算设备中描述的元素的各种组合。
图6是示出根据本公开的一个实施例的系统600的框图。例如,图6的结构分析和元素提取模块646可以是图5的结构分析模块550与元素选择和过滤模块560的组合。在一些实施例中,图6的服务器602可因此是图5的设备500的实现。作为提取类似群组元素的某些实现的服务器602的操作的一部分,服务器602可以从服务器690、数据库设备692或客户端设备694中的任何一个接收诸如第一产品搜索结果通信100的通信。然后,服务器602可以根据本文所述的方法之一来分析通信。
系统600包括多个设备,包括经由网络634(例如,互联网)连接到服务器602的服务器690、数据库设备692和客户端设备694。这些设备中的任一个可以全部或部分地构造为图8中描述的设备。在某些实施例中,服务器690、数据库设备692或客户端设备694可以用作内容设备,作为网络通信的一部分,该内容设备可以向服务器602提供内容信息。
如图所示,服务器602包括一个或多个中央处理单元(CPU)622,用于执行存储在存储器636中的模块、程序和/或指令,并从而执行处理操作;一个或多个通信接口620;存储器636;以及用于互连这些组件的一个或多个通信总线630。通信总线630可选地包括互连和控制系统组件之间的通信的电路(例如,芯片组)。服务器602还包括耦合到大容量存储器614的电源624和控制器612。服务器602可选地包括用户界面632,包括显示设备626和键盘628。在其他备选实施例中,服务器602可以包括上述元素的备选组合,或者可以包括此处未描述的附加元素。
存储器636可以是高速随机存取存储器,例如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双数据速率随机存取存储器(DDR RAM)或其他随机存取固态存储器设备,并且可以包括非易失性存储器,例如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备。存储器636可以可选地包括远离CPU622的一个或多个存储设备。存储器636(或者备选地,存储器636内的非易失性存储设备)包括非暂时的计算机可读存储介质。在一些实施例中,存储器636或存储器636的计算机可读存储介质存储以下程序、模块和数据结构或其子集:操作系统640;文件系统642;网络通信模块644;以及结构分析和元素提取模块646。
结构分析和元素提取模块646可以被实现为服务器602的一部分,以实现如本文所述地提取类似群组元素的某些实施例。例如,图5的结构分析模块550以及元素选择和过滤560可被实现为结构分析和元素提取模块646的一部分。在其他实施例中,这样的模块可以在多个设备上实现,并且可以在仅服务器架构下、在客户端-服务器架构下或作为客户端应用来实现,其中,在服务器架构下,诸如服务器602的服务器在客户端设备694上向用户呈现界面,在客户端-服务器架构下,该模块的各个方面部分在客户端设备694上操作,部分在诸如服务器602的服务器上操作,在客户端应用的情况下,该模块整个在诸如客户端设备694的客户端设备上操作,而没有相关联的服务器602。
操作系统640可以包括用于处理各种基本系统服务和用于执行取决于硬件的任务的流程。文件系统642可以存储和组织各种程序所使用的各种文件,例如如上所述通过从具有重复结构的通信中提取元素而创建的记录。网络通信模块644可以经由一个或多个通信接口620(例如,有线的,无线的)、网络634、其他广域网、局域网、城域网等与各种设备进行通信。
网络634可以是支持机器、数据库和设备(例如,服务器602和客户端设备694)之间的通信的任意网络。因此,网络634可以是有线网络、无线网络(例如,移动或蜂窝网络)、或其任意合适组合。网络634可以包括构成私有网络、公共网络(例如,互联网)或其任意合适组合的一个或多个部分。因此,网络634可以包括一个或多个部分,所述一个或多个部分包括局域网(LAN)、广域网(WAN)、互联网、移动电话网(例如蜂窝网络)、有线电话网络(例如普通老式电话系统(POTS)网络)、无线数据网络(例如Wi-Fi网络或WiMAX网络)或其任意合适组合。网络634的任意一个或多个部分可以经由传输介质来传送信息。如本文所使用的,“传输介质”指的是能够传输(例如发射)由机器(例如通过这种机器的一个或多个处理器)执行的指令的任意无形(例如暂时)指令,兵器包括数字或模拟通信信号或其他暂时介质以促进这种软件的传输。
服务器602、服务器690、数据库设备692和客户端设备694可以各自由计算机系统的各种组件全部或部分地实现。下面将参考图8描述示出可组成这样的设备的计算机系统的附加组件的具体实施例。
图6中所示的任意机器、数据库或设备可以在利用执行标准化指令的处理器进行操作并被通过软件(例如,一个或多个软件模块)修改(例如,配置或编程)为专用计算机以执行本文针对该机器、数据库或设备描述的功能的计算机中实现。例如,以下参照图8论述能够实现本文描述的方法的任意一个或更多个的计算机系统。这样的专用计算机可以使用一个或多个处理器来操作任何数量的模块,以实现本文所描述的用于从通信中提取相似元素的各种实施例。
如本文所使用的,“数据库”是数据存储资源并可以存储结构化为文本文件、表格、电子表格、关系数据库(例如,对象关系数据库)、三元组存储、分层数据存储或它们的任意合适组合。此外,图中示出的机器、数据库或设备的任意两个或更多个可以组合到单个机器中,并且本文针对任意单个机器、数据库或设备描述的功能可以再划分到多个机器、数据库或设备中。
图7示出了根据某些实施例的用于提取群组元素的方法。图7在操作710处开始:在网络接口处接收第一产品搜索结果通信。这样的通信可以类似于第一产品搜索结果通信100。这样的通信可以是由设备接收的任何其他通信或应答通信。
图7的操作720涉及:通过使用解析器解析第一产品搜索结果通信来识别第一产品搜索结果通信中的重复文本元素,识别重复的产品信息结构。
操作730涉及从输入设备接收至少选择图形用户界面的第一像素的用户输入。第一像素与在输出显示模块和图形用户界面上表示为第一产品搜索结果通信的一部分的第一产品元素相关联。
操作740涉及分析重复的产品信息结构以识别重复的产品信息结构内与第一产品元素相关联的第一位置,并且识别第一产品搜索结果通信中与重复的产品信息结构内的第一位置相关联的每个产品元素。在某些实施例中,重复的产品信息结构内的第一位置可以是底层位置节点的具体实例,例如图2的位置节点122(2)。
操作750涉及在作为图形用户界面的一部分输出到输出显示模块的产品元素标识符中以图形方式识别第一产品搜索结果通信中与重复的产品信息结构内的第一位置相关联的每个产品元素。
在某些实施例中,当以图形方式识别每个产品元素时,系统用户可能希望调整自动识别的重复的产品信息结构。例如,当用户想要将被识别为单独元素的元素作为生成的记录中相同元素的一部分时,这可能会发生。当用户识别重复的产品信息结构的自动识别中的错误时,这也可能会发生。在某些实施例中,产品元素标识符输出可以用作图形用户界面的一部分,并且可以使用调整所显示的产品元素标识符输出的用户输入来调整重复的产品信息结构。可以更新系统中的任何信息,以考虑调整的重复的产品信息结构。在某些实施例中,具体设备模块或电路可以与该结构调整相关联。例如,图5的结构分析模块550可响应于用来更新所识别的结构的用户输入从元素选择和过滤模块560接收指示。然后自动地或者响应于用于重新执行分析的用户输入,可以执行用于更新所提取的元素的补充分析。
此外,各种实施例可以包括多个变型。这些变型可适用于本文所述的任何设备或方法。本文所述的示例性实施例不是穷举的,而是,例如将重复的产品信息结构内的第一位置与由第一产品搜索结果通信所标识的每个产品的成本相关联的某些实施例可起作用。
对与所标识的产品元素相关联的记录的自动处理和生成可以包括自动确定最低价格、中间价格、最高价格、描述性元素中的公共关键字列表或平均描述长度、或其他这样的处理。
某些实施例可以在以下情况下起作用,其中,结构分析模块包括文本解析器,并且分析第一产品搜索结果通信以识别重复的产品信息结构包括:使用文本解析器来解析第一产品搜索结果通信,以识别第一产品搜索结果通信内的重复文本元素。
某些实施例可以在以下情况下起作用,其中,存储器模块存储元素模板集合,以及分析第一产品搜索结果通信以识别重复的产品信息结构包括:将第一产品搜索结果通信内的重复文本元素与元素模板集合进行比较,且当重复文本元素的第一重复文本元素与元素模板集合的第一元素模板匹配时,将第一重复文本元素与重复的产品信息结构内的第一位置相关联。这样的实施例还可以在以下情况下起作用,其中,存储器模块存储元素模板集合,以及分析第一产品搜索结果通信以识别重复的产品信息结构包括:将第一产品搜索结果通信内的重复文本元素与元素模板集合进行比较,且当重复文本元素的第一重复文本元素与元素模板集合的第一元素模板匹配时,将第二重复文本元素与重复的产品信息结构内的第二位置相关联。又一些实施例可在以下情况下起作用,其中,第二重复文本元素嵌套在重复的产品信息结构的第一重复文本元素内。
附加实施例还可以包括输出显示模块,其使用第一产品搜索结果通信来显示第一产品搜索结果网站。这样的实施例还可以在以下情况下起作用,其中,分析第一产品搜索结果通信以识别重复的产品信息结构包括:分析作为第一产品搜索结果网站的一部分显示在输出显示模块上的每个产品元素的几何位置,以及根据由第一产品搜索结果通信定义且显示在输出显示模块上的第一产品搜索结果网站的重复几何图案,识别重复的产品信息结构。
这样的附加实施例可包括耦合到处理器的用户输入模块,其中,用户输入模块包括输入设备和显示在输出显示模块上的图形用户界面。备选地或附加地,这样的实施例还可以在以下情况下起作用,其中,分析第一产品搜索结果通信以识别重复的产品信息结构包括:经由输入设备和图形用户界面接收一个或多个用户选择,所述一个或多个用户选择标识作为重复的产品信息结构的一部分的一个或多个重复产品元素。
附加实施例还可以在以下情况下起作用,其中,目标元素输入包括从存储器模块接收的目标元素模板。
附加实施例还可以在以下情况下起作用,其中,重复的产品信息结构包括多个位置节点,以及所述多个位置节点包括与第一产品搜索结果通信内的第一重复结构相关联的顶层位置节点,并且顶层位置节点包括与在第一重复结构内出现的第二重复结构相关联的一个或多个底层位置节点。
图8是示出了根据一些示例实施例的能够从机器可读介质822(例如非暂时性机器可读介质、机器可读存储介质、计算机可读存储介质或其任意适当组合,其不包括暂时性信号以及基于暂时性信号的信号)读取指令824并完全或部分执行本文讨论的方法中的任意一个或多个的机器800的组件。具体地,图8示出了计算机系统(例如计算机)的示例形式的机器800,其中,可以完全或部分执行用于使机器800执行此处讨论的方法中的任意一个或多个的指令824(例如软件、程序、应用、小程序、app或其他可执行代码)。服务器602可以是机器800的示例。在各种实施例中,诸如机器800的机器可以用于实现本文所提及的任何计算设备,包括图5和图6的各种客户端、服务器和其他设备,或可用于实现本文所描述的实施例的其他计算结构。
在备选实施例中,机器800作为独立设备操作或者可以连接至(例如联网至)其他机器。在联网部署中,机器2100可以以服务器-客户端网络环境中的服务器机器或客户端机器的资格操作,或者作为分布式(例如对等)网络环境中的对等机器操作。机器800可以是服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、蜂窝电话、智能电话、机顶盒(STB)、个人数字助理(PDA)、web设备、网络路由器、网络交换机、网桥或者能够顺序地或以其他方式执行指令824的任何机器,所述指令824指定了该机器要采取的动作。此外,虽然仅示出了单个机器,术语“机器”还应视为包独立或联合执行指令824以执行本文讨论的方法中的任意一个或多个的全部或部分。
机器800包括被配置为彼此经由总线808通信的处理器802(例如中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、或其任意适当组合)、主存储器804和静态存储器806。处理器802可以包含微电路,可由指令824中的一些或全部临时或永久配置,使得处理器802可被配置为完全或部分执行本文描述的一个或多个方法中的任意一个或多个。例如,处理器802的一个或多个微电路的集合可被配置为执行本文描述的一个或多个模块(例如软件模块)。
机器800还可以包括图形显示器810(例如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪、阴极射线管(CRT)或能够显示图形或视频的任何其他显示器)。机器800还可以包括字母数字输入设备812(例如键盘或键区)、光标控制设备814(例如鼠标、触摸板、轨迹球、操纵杆、运动传感器、眼动跟踪设备或另一定位仪器)、存储单元816、音频生成设备818(例如声卡、放大器、扬声器、耳机插座或其任意适当组合)以及网络接口设备820。
存储单元816包括其中存储有指令824的机器可读介质822(例如有形且非瞬态机器可读存储介质),所述指令824实现本文描述的方法或功能中的任意一个或多个。指令824还可以在机器800执行之前或期间完全或至少部分驻留在主存储器804内、处理器802内(例如处理器的高速缓存内)或两者内。因此,主存储器804和处理器802可以视为机器可读介质(例如有形和非瞬态机器可读介质)。指令824可以通过网络834经由网络接口设备820发送或接收。例如,网络接口设备820可以使用任意一个或多个传输协议(例如超文本传输协议(HTTP))传送指令824。
在一些示例实施例中,机器800可以是便携式计算设备(如智能电话或平板计算机),并且可具有一个或多个附加输入组件830(例如传感器或仪表)。这样的输入组件830的示例包括图像输入组件(例如一个或多个相机)、音频输入组件(例如麦克风)、方向输入组件(例如罗盘)、位置输入组件(例如全球定位系统(GPS)接收机)、取向组件(例如陀螺仪)、运动检测组件(例如一个或多个加速计)、高度检测组件(例如高度计)、以及气体检测组件(例如气体传感器)。这些输入组件中的任意一个或多个获得的输入可访问和可用于被此处描述的任一模块使用。
如本文所使用的,术语“存储器”指能够临时或永久地存储数据的机器可读介质,并且可看作包括但不限随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存以及高速缓存存储器。虽然机器可读介质822在示例实施例中被示为是单个介质,但是术语“机器可读介质”应当被认为包括能够存储指令824的单个介质或多个介质(例如,集中式或分布式数据库或相关联的高速缓存和服务器)。术语“机器可读介质”还应看作包括任何能够存储指令824的介质或多个介质的组合,所述指令824由机器800执行,使得当指令824被机器800的一个或多个处理器(例如处理器802)执行时使机器800在整体或部分上执行本文描述的方法中的任意一个或多个。因此,“机器可读介质”指单个存储装置或设备、以及基于云的存储系统或包括多个存储装置或设备的存储网络。因此,术语“机器可读机制”应看作包括但不限于固态存储器、光学介质、磁介质或其任意适当组合的一个或多个有形(例如非临时)数据仓库。机器可读介质可以包括携带机器可读指令以控制机器执行该方法的任何介质。在一个实施例中,机器可读介质包括携带指令的传输介质或信号。
在本说明书中,多个实例可以实现被描述为单个实例的组件、操作或结构。虽然一个或多个方法的各个操作被示意和描述为分离的操作,但是各个操作中的一个或多个可以同时执行,并且无需按所示顺序执行操作。在示例配置中被示为分离组件的结构和功能可以被实现为组合结构或组件。类似地,被示为单个组件的结构和功能可以被实现为分离的组件。这些和其他变型、修改、添加和改进落入本主题的范围内。
某些实施例在本文中被描述为包括逻辑或多个组件、模块或机制。模块可以包括软件模块(例如,在机器可读介质上或传输介质中存储或实现的代码)、硬件模块或者其任意合适的组合。“硬件模块”是能够执行某些操作的有形(例如非临时)单元,并且可以某物理方式配置或布置。在各种示例实施例中,一个或多个计算机系统(例如独立的计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或多个硬件模块(例如处理器或处理器组)可由元件(例如应用或应用部分)配置为操作为执行本文描述的特定操作的硬件模块。
在一些实施例中,硬件模块可以按照机械方式、电子方式或其任意适当组合来实现。例如,硬件模块可以包括永久地被配置为执行特定操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,如现场可编程门阵列(FPGA)或ASIC。硬件模块还可以包括由软件临时配置为执行特定操作的可编程逻辑或电路。例如,硬件模块可以包括通用处理器或其他可编程处理器中包含的软件。应理解:以机械方式、以专用和永久配置的电路或以临时配置的电路(例如由软件配置)实现硬件模块的决定可出于成本和时间的考虑。
因此,短语“硬件模块”应理解为涵盖有形实体,并且使得所述有形实体是在物理上构造、永久配置(例如硬线连接)或临时配置(例如编程)为以特定方式操作或执行此处描述的特定操作的实体。如本文所使用的,“硬件实现的模块”指硬件模块。考虑临时配置(例如编程)硬件模块的实施例,无需在任一时刻配置或实例化硬件模块中的每一个。例如,如果硬件模块包括被软件配置成为专用处理器的通用处理器,则通用处理器可以在不同时刻被配置为分别不同的专用处理器(例如包括不同的硬件模块)。因此,软件(例如软件模块)可以将一个或多个处理器例如配置为在一个时刻构成特定硬件模块并在另一时刻构成不同的硬件模块。
硬件模块可以向其他硬件模块提供信息并从其他硬件模块接收信息。因此,所描述的硬件模块可以被看作通信地耦接。如果同时存在多个硬件模块,则可以通过两个或更多个硬件模块之间的信号传输(例如通过适当的电路和总线)实现通信。在多个硬件模块在不同时间配置或实例化的实施例中,可以例如通过存储并检索多个硬件模块可访问的存储器结构中的信息来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作并在与其通信耦接的存储设备中存储该操作的输出。另一硬件模块接着可以稍后访问存储器设备,以取得并处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且能够对资源(例如信息的集合)进行操作。
此处描述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器执行。无论临时还是永久配置,这样的处理器可以构成操作为执行本文描述的一个或多个操作或功能的处理器实现的模块。如本文所使用的,“处理器实现的模块”指使用一个或多个处理器实现的硬件模块。
类似地,本文描述的方法可以至少部分是处理器实现的,处理器是硬件的示例。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的模块执行。如此处使用的,“处理器实现的模块”指其中硬件包括处理器的硬件模块。此外,一个或多个处理器还可操作以支持在“云计算”环境中或作为“软件即服务”(SaaS)执行有关操作。例如,操作中的至少一些可由计算机(作为包括处理器的机器的示例)组执行,这些操作可经由网络(例如互联网)并经由一个或多个适当接口(例如应用程序接口(API))来访问。
特定操作的执行可以分布在一个或多个处理器之间,所述处理器不仅位于单个机器上,还跨多个机器部署。在一些示例实施例中,一个或多个处理器或处理器实现的模块可以位于单个地理位置(例如在家庭环境、办公室环境或服务器群中)。在其他示例实施例中,一个或多个处理器或处理器实现的模块可以分布在多个地理位置。
本文讨论的主题的一些部分可以用算法或对数据的操作的符号表示来呈现,所述数据存储为机器存储器(例如计算机存储器)内的比特或二进制数字信号。这样的算法或符号表示是数据处理技术领域普通技术人员用来向本领域其他技术人员传达他们工作实质的技术的示例。如本文所使用的,“算法”是操作的自洽序列或导致期望结果的类似处理。在该上下文中,算法和操作涉及对物理量的物理操作。通常但非必要地,这样的量可以采取能够由机器存储、访问、传输、组合、比较或以其他方式操纵的电气、磁或光学信号的形式。有时,主要由于常见用法的原因,使用诸如“数据”、“内容”、“比特”、“值”、“元素”、“符号”、“字符”、“项”、“数”、“数字”等词语来指代这样的信号是方便的。然而,这些词语仅仅是方便的标记,并且应与适当的物理量相关联。
除非另行具体说明,本文使用诸如“处理”、“计算”、“运算”、“确定”、“呈现”、“显示”、“识别”等词语的讨论可以指操纵或变换被表示为一个或多个存储器(例如易失性存储器、非易失性存储器或其任意组合)、寄存器或接收、存储、发送或显示信息的其他机器组件内的物理(例如电子、磁或光学)量的数据的机器(例如计算机)的动作或过程。此外,除非另行具体说明,如专利文献中常见的,本文中的术语“一”或“一个”用于包括一个或多于一个实例。最后,如本文所使用的,除非特别说明,连词“或”指非排他的“或”。
应当理解,虽然术语“第一”、“第二”等可以在本文用于描述各种元件,但是这些元件不应该受这些术语的限制。这些术语仅用来将元素彼此区分。
Claims (17)
1.一种用于提取类似的群组元素的系统,包括:
网络接口,适于接收第一产品搜索结果通信;
结构分析模块,适于:从所述网络接口接收所述第一产品搜索结果通信,并且分析所述第一产品搜索结果通信以识别所述第一产品搜索结果通信的多个产品搜索结果的重复的产品信息结构,其中,所述多个产品搜索结果中的每个产品搜索结果包括多个产品元素,并且每个产品元素具有位于所述重复的产品信息结构内的位置;
元素选择和过滤模块,适于:接收对所述第一产品搜索结果通信的第一产品元素进行标识的目标元素输入,分析所述重复的产品信息结构以识别所述重复的产品信息结构内与所述第一产品元素相关联的第一位置,分析所述第一产品搜索结果通信以识别所述第一产品搜索结果通信的位于所述重复的产品信息结构的所述第一位置处的每个产品元素;
存储器模块,适于存储第一记录,所述第一记录包括所述第一产品搜索结果通信的位于所述重复的产品信息结构的所述第一位置处的每个产品元素的列表;以及
输出显示模块,适于使用所述第一产品搜索结果通信来显示第一产品搜索结果网站,
其中,分析所述第一产品搜索结果通信以识别所述重复的产品信息结构包括:
分析作为所述第一产品搜索结果网站的一部分显示在所述输出显示模块上的每个产品元素的几何位置;以及
根据由所述第一产品搜索结果通信定义的且显示在所述输出显示模块上的所述第一产品搜索结果网站的重复几何图案,识别所述重复的产品信息结构。
2.根据权利要求1所述的系统,其中,所述重复的产品信息结构内的所述第一位置与由所述第一产品搜索结果通信标识的多个产品中的每个产品的成本相关联。
3.根据权利要求1所述的系统,其中,所述结构分析模块包括文本解析器,并且分析所述第一产品搜索结果通信以识别所述重复的产品信息结构包括:使用所述文本解析器来解析所述第一产品搜索结果通信,以识别所述第一产品搜索结果通信内的重复文本元素。
4.根据权利要求3所述的系统,其中,所述存储器模块适于存储元素模板的集合;以及
其中,分析所述第一产品搜索结果通信以识别所述重复的产品信息结构包括:
将所述第一产品搜索结果通信内的重复文本元素与所述元素模板的集合进行比较;以及
当所述重复文本元素的第一重复文本元素与所述元素模板的集合中的第一元素模板匹配时,将所述第一重复文本元素与所述重复的产品信息结构内的所述第一位置相关联。
5.根据权利要求4所述的系统,其中,分析所述第一产品搜索结果通信以识别所述重复的产品信息结构包括:
将所述第一产品搜索结果通信内的重复文本元素与所述元素模板的集合进行比较;以及
当所述第一重复文本元素与所述元素模板的集合中的第一元素模板匹配时,将所述重复文本元素的第二重复文本元素与所述重复的产品信息结构内的第二位置相关联。
6.根据权利要求5所述的系统,其中,所述第二重复文本元素嵌套在所述重复的产品信息结构的所述第一重复文本元素内。
7.根据权利要求1所述的系统,还包括:用户输入模块,所述用户输入模块包括输入设备和显示在所述输出显示模块上的图形用户界面。
8.根据权利要求7所述的系统,其中,所述目标元素输入包括来自所述输入设备的用户输入,所述用户输入选择第一记录,所述第一记录包括所述第一产品搜索结果通信的位于所述重复的产品信息结构的所述第一位置处的每个产品元素的列表。
9.根据权利要求7所述的系统,其中,分析所述第一产品搜索结果通信以识别所述重复的产品信息结构包括:经由所述输入设备和所述图形用户界面接收一个或多个用户选择,所述一个或多个用户选择标识作为所述重复的产品信息结构的一部分的一个或多个重复产品元素。
10.根据权利要求1所述的系统,其中,所述目标元素输入包括从所述存储器模块接收的目标元素模板。
11.一种用于提取类似的群组元素的设备,包括:
用于接收第一产品搜索结果通信的装置;
用于识别所述第一产品搜索结果通信内的重复的产品信息结构的装置;
用于接收目标元素输入的装置,其中,所述目标元素输入标识位于所述重复的产品信息结构内的第一位置处的第一产品元素;
用于响应于接收到所述目标元素输入而识别所述第一产品搜索结果通信中位于所述重复的产品信息结构内的所述第一位置处的多个元素的装置;以及
用于存储第一记录的装置,所述第一记录包括所述第一产品搜索结果通信中位于所述重复的产品信息结构内的所述第一位置处的多个元素,
其中,用于识别所述第一产品搜索结果通信内的重复的产品信息结构的装置被进一步配置为:
分析作为所述第一产品搜索结果网站的一部分显示在输出显示模块上的每个产品元素的几何位置;以及
根据由所述第一产品搜索结果通信定义的且显示在所述输出显示模块上的所述第一产品搜索结果网站的重复几何图案,识别所述重复的产品信息结构。
12.根据权利要求11所述的设备,还包括:
用于基于所述第一产品搜索结果通信来显示第一产品搜索结果网站的装置。
13.根据权利要求11所述的设备,还包括:
用于响应于用户输入来调整所述重复的产品信息结构的装置。
14.一种计算机实现的用于提取类似的群组元素的方法,包括:
接收第一产品搜索结果通信;
分析所述第一产品搜索结果通信以识别所述第一产品搜索结果通信的多个产品搜索结果的重复的产品信息结构,其中,所述多个产品搜索结果中的每个产品搜索结果包括多个产品元素,并且每个产品元素具有位于所述重复的产品信息结构内的位置;
接收对所述第一产品搜索结果通信的第一产品元素进行标识的目标元素输入;
分析所述重复的产品信息结构,以识别所述重复的产品信息结构内与所述第一产品元素相关联的第一位置;
分析所述第一产品搜索结果通信,以识别所述第一产品搜索结果通信的位于所述重复的产品信息结构的所述第一位置处的每个产品元素;以及
存储第一记录,所述第一记录包括所述第一产品搜索结果通信的位于所述重复的产品信息结构的所述第一位置处的每个产品元素的列表,
其中,分析所述第一产品搜索结果通信以识别所述第一产品搜索结果通信的多个产品搜索结果的重复的产品信息结构包括:
分析作为所述第一产品搜索结果网站的一部分显示在输出显示模块上的每个产品元素的几何位置;以及
根据由所述第一产品搜索结果通信定义的且显示在所述输出显示模块上的所述第一产品搜索结果网站的重复几何图案,识别所述重复的产品信息结构。
15.根据权利要求14所述的方法,其中,所述重复的产品信息结构包括多个位置节点;以及其中,所述多个位置节点包括与所述第一产品搜索结果通信内的第一重复结构相关联的顶层位置节点,并且所述顶层位置节点包括与在所述第一重复结构内出现的第二重复结构相关联的一个或多个底层位置节点。
16.一种携带机器可读指令的机器可读介质,所述机器可读指令用于控制机器执行根据权利要求14或15所述的方法。
17.一种携带机器可读指令的机器可读介质,所述机器可读指令用于控制机器以将其配置为根据权利要求1至10中任一项所述的系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/526,231 | 2014-10-28 | ||
US14/526,231 US9741018B2 (en) | 2014-10-28 | 2014-10-28 | Systems and methods for extracting similar group elements |
PCT/US2015/057317 WO2016069447A1 (en) | 2014-10-28 | 2015-10-26 | Extracting similar group elements |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107077500A CN107077500A (zh) | 2017-08-18 |
CN107077500B true CN107077500B (zh) | 2021-04-02 |
Family
ID=55792174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580058725.9A Expired - Fee Related CN107077500B (zh) | 2014-10-28 | 2015-10-26 | 提取类似的群组元素 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9741018B2 (zh) |
EP (1) | EP3213236A4 (zh) |
KR (3) | KR102361112B1 (zh) |
CN (1) | CN107077500B (zh) |
WO (1) | WO2016069447A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180260389A1 (en) * | 2017-03-08 | 2018-09-13 | Fujitsu Limited | Electronic document segmentation and relation discovery between elements for natural language processing |
US11100147B2 (en) * | 2017-12-22 | 2021-08-24 | Google Llc | Electronic list user interface |
CN109064253A (zh) * | 2018-07-05 | 2018-12-21 | 京东方科技集团股份有限公司 | 一种新产品报价方法、报价装置及电子设备 |
US11663655B2 (en) * | 2019-07-03 | 2023-05-30 | Capital One Services, Llc | Augmenting online transaction statements using e-commerce receipts |
US11409829B2 (en) | 2020-12-21 | 2022-08-09 | Capital One Services, Llc | Methods and systems for redirecting a user from a third party website to a provider website |
KR20240048151A (ko) | 2022-10-06 | 2024-04-15 | 에어돔건설엔지니어링 주식회사 | 하중분산케이블에 적용되는 하네스 홀더와 마운트 베이스를 갖는 에어돔 장치 |
KR20240048153A (ko) | 2022-10-06 | 2024-04-15 | 에어돔건설엔지니어링 주식회사 | 열 포집막과 열 공급배관이 장착된 에어돔용 제설장치 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154213A (en) | 1997-05-30 | 2000-11-28 | Rennison; Earl F. | Immersive movement-based interaction with large complex information structures |
KR20040072016A (ko) * | 2003-02-08 | 2004-08-16 | 김철원 | 인터넷에서 개인 판매원을 이용한 위임 판매 방법과 이에관한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체 |
KR20060006587A (ko) * | 2004-07-16 | 2006-01-19 | 이팔진 | 인터넷상에서의 광고정보검색 및 맞춤형정보 제공시스템 |
WO2006110832A2 (en) | 2005-04-12 | 2006-10-19 | Jesse Sukman | System for extracting relevant data from an intellectual property database |
US20080059486A1 (en) | 2006-08-24 | 2008-03-06 | Derek Edwin Pappas | Intelligent data search engine |
CN101582075B (zh) * | 2009-06-24 | 2011-05-11 | 大连海事大学 | Web信息抽取系统 |
US8438080B1 (en) * | 2010-05-28 | 2013-05-07 | Google Inc. | Learning characteristics for extraction of information from web pages |
US8412594B2 (en) * | 2010-08-28 | 2013-04-02 | Ebay Inc. | Multilevel silhouettes in an online shopping environment |
IN2015DN00473A (zh) * | 2012-07-25 | 2015-06-26 | Indix Corp |
-
2014
- 2014-10-28 US US14/526,231 patent/US9741018B2/en active Active
-
2015
- 2015-10-26 KR KR1020217008815A patent/KR102361112B1/ko active IP Right Grant
- 2015-10-26 EP EP15854916.2A patent/EP3213236A4/en not_active Withdrawn
- 2015-10-26 WO PCT/US2015/057317 patent/WO2016069447A1/en active Application Filing
- 2015-10-26 KR KR1020177014299A patent/KR102024998B1/ko active IP Right Grant
- 2015-10-26 CN CN201580058725.9A patent/CN107077500B/zh not_active Expired - Fee Related
- 2015-10-26 KR KR1020197027132A patent/KR102233867B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20190108657A (ko) | 2019-09-24 |
KR102361112B1 (ko) | 2022-02-14 |
EP3213236A4 (en) | 2018-03-21 |
KR20210035348A (ko) | 2021-03-31 |
KR20170073693A (ko) | 2017-06-28 |
US9741018B2 (en) | 2017-08-22 |
KR102024998B1 (ko) | 2019-09-24 |
US20160117398A1 (en) | 2016-04-28 |
EP3213236A1 (en) | 2017-09-06 |
CN107077500A (zh) | 2017-08-18 |
WO2016069447A1 (en) | 2016-05-06 |
KR102233867B1 (ko) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107077500B (zh) | 提取类似的群组元素 | |
US10963513B2 (en) | Data system and method | |
US9495345B2 (en) | Methods and systems for modeling complex taxonomies with natural language understanding | |
US8601120B2 (en) | Update notification method and system | |
US9305176B2 (en) | Database generation from a spreadsheet | |
US9880983B2 (en) | Methods and systems for uniquely identifying digital content for eDiscovery | |
US8799278B2 (en) | Data augmentation based on second-phase metadata | |
US20180191798A1 (en) | Methods and systems for server-side rendering of native content for presentation | |
CA2918840C (en) | Presenting fixed format documents in reflowed format | |
CN102541853B (zh) | 一种利用浏览器地址栏获取应用信息的方法和装置 | |
US20160182606A1 (en) | Network Based Static Font Subset Management | |
EP3557437A1 (en) | Systems and methods for search template generation | |
US20160098414A1 (en) | Systems and methods to present activity across multiple devices | |
CN110309386B (zh) | 一种网页爬取的方法和装置 | |
US10354339B2 (en) | Automatic initiation for generating a company profile | |
CN103793495A (zh) | 应用信息检索方法及系统和应用信息获取方法及系统 | |
US20160092958A1 (en) | Machine to generate a self-updating message | |
US20140324626A1 (en) | Systems and methods to present item recommendations | |
AU2014365804B2 (en) | Presenting images representative of searched items | |
US20160350877A1 (en) | Determining an omitted company page based on a connection density value | |
CA2929829C (en) | Displaying activity across multiple devices | |
US20160110387A1 (en) | Product lifecycle management system | |
CN113760834B (zh) | 文件分类方法、装置、设备及介质 | |
CN114254081A (zh) | 企业大数据搜索系统、方法及电子设备 | |
US20150178301A1 (en) | Systems and methods to generate a search query |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210402 Termination date: 20211026 |
|
CF01 | Termination of patent right due to non-payment of annual fee |