Display device and method for grouping display of browser tabs
By using multi-dimensional fusion similarity matrix clustering analysis, the problem of difficult browser tab positioning on large-screen display devices was solved, realizing intelligent grouping and fast positioning, improving user operation efficiency and grouping accuracy.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HISENSE ELECTRONICS TECH SHENZHEN CO LTD
- Filing Date
- 2026-03-27
- Publication Date
- 2026-07-28
AI Technical Summary
When there are many browser tabs and they are sorted randomly, it is difficult for users to quickly locate the target tab. Existing remote control technology is inefficient and manual grouping is time-consuming and lacks grouping accuracy, resulting in a poor user experience, especially on large-screen display devices such as smart TVs.
By calculating the similarity of page content, user behavior correlation, and time correlation of browser tabs, a multi-dimensional fusion similarity matrix clustering analysis is performed to achieve intelligent grouping. The group preview page is then displayed on the browser interface, providing visual identification and focus enhancement for the groups.
The number of buttons has been significantly reduced, improving operational efficiency. The grouping is more in line with user behavior and preferences, reducing the probability of manually correcting the grouping and improving the granularity and accuracy of the grouping.
Smart Images

Figure CN122470828A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of browser technology, and in particular to a display device and a method for displaying browser tab groups. Background Technology
[0002] After launching a browser application, the display device can control the monitor to display the browser interface. The browser interface displays a tab bar, which includes the tabs corresponding to the currently open webpage. Users can switch tabs to adjust the content displayed on the browser interface. Some display devices (such as smart TVs) rely on a remote control to receive user input commands. Users move the focus in the tab bar by pressing the directional keys on the remote control. When the focus reaches the target tab, the user presses the confirmation button to make the browser interface display the page content corresponding to that target tab.
[0003] Users can rely on their memory of the target tab's location in the tab bar to locate it. However, if the user's memory of the target tab's location is vague, and there are many tabs in the tab bar, they need to press the remote control's directional keys to gradually move the focus in the tab bar, browsing the titles or domain names of each tab to locate and find the target tab. This method of locating and switching target tabs results in low user efficiency.
[0004] When there are many tabs in the tab bar and they are disorganized, users can manually drag and drop tabs to group similar or related tabs together, thus achieving manual tab grouping. However, manually grouping tabs using a remote control is inefficient and time-consuming. Some browser applications can categorize and rearrange tabs by title or domain name, but this method has low grouping accuracy and increases the probability of users having to manually correct it. Summary of the Invention
[0005] Some embodiments of this application provide a display device and a method for grouping browser tabs. By comprehensively clustering and grouping page content similarity, user behavior relevance, and time relevance, intelligent grouping of browser tabs is achieved. Users can intuitively view groups of similar tabs and quickly locate the target tab from the groups. Especially for TV browsers, this can significantly reduce the number of keystrokes and improve operating efficiency. Furthermore, the tab grouping strategy based on multi-dimensional similarity fusion can improve the fineness of grouping decisions, the dimensions of consideration, and the accuracy of grouping, making the grouping more in line with user behavior habits and preferences.
[0006] In a first aspect, some embodiments of this application provide a display device, including: The monitor is configured to display the browser interface; The control device is configured to receive interactive input from the user; The controller is configured as follows: After launching the browser application, in response to the grouping instruction, the page content data and user behavior data corresponding to the tab opened by the browser application are obtained; Based on the page content data corresponding to each tab, calculate the page content similarity between each tab; Based on the user behavior data corresponding to each tab, the user behavior correlation degree and time correlation between each tab are calculated; the user behavior correlation degree represents the degree of correlation between the user's interactive operations on each tab, and the time correlation represents the degree of correlation between the user's interactive operations on each tab in time. The page content similarity, user behavior correlation, and time correlation between each tab are weighted to construct a multi-dimensional fusion similarity matrix between each tab; Cluster analysis is performed based on the multidimensional fusion similarity matrix between each tab to obtain a target number of grouping information, which includes a group identifier and a set of tabs contained in the group; The display is controlled to show a group preview page on top of the browser interface, and the target number of group information is displayed in the group preview page.
[0007] The beneficial effects of the embodiments of the first aspect above are as follows: by comprehensively clustering and grouping page content similarity, user behavior correlation and time correlation, intelligent grouping of browser tabs can be achieved. Users can intuitively view the groups of similar tabs and quickly locate the target tab from the groups. Especially for TV browsers, it can significantly reduce the number of buttons and improve operation efficiency. Moreover, the tab grouping strategy based on multi-dimensional similarity fusion can improve the fineness of grouping decision, the dimensions of consideration and the accuracy of grouping, making the grouping more in line with user behavior habits and preferences, and reducing the probability of users manually correcting the grouping results.
[0008] In some embodiments of the first aspect, the page content data includes a domain name, page title, page description, page text, and page keywords; The controller performs a calculation of the page content similarity between tabs based on the page content data corresponding to each tab, specifically configured as follows: The top-level domain, main domain, and subdomain of each tab page are matched hierarchically, and the matching values at each level are weighted to obtain the domain similarity between each tab page. The page title, page description, page body, and page keywords of each tab are concatenated to obtain the page content text corresponding to each tab; Based on the page content text corresponding to each tab, obtain the word frequency-inverse file frequency vector corresponding to each tab; Calculate the cosine similarity between the word frequency-inverse file frequency vectors corresponding to each tab page to obtain the content topic similarity between each tab page; The similarity of domain names and content themes among the tabs is weighted to obtain the page content similarity among the tabs.
[0009] The beneficial effects of this embodiment are as follows: the page content similarity is obtained by weighting the domain name similarity and the content theme similarity. The content theme similarity is calculated based on four sinking dimensions: page title, page description, page body, and page keywords. This makes the page content similarity not only limited to the domain name and title, but also takes into account other page content / attributes, making the calculation of page content similarity more accurate and thus improving the grouping accuracy.
[0010] In some embodiments of the first aspect, the user behavior data includes access counts, access timestamps, switching sequences, and dwell behavior data, wherein the switching sequence is a record of the switching order between tabs; The controller performs calculations based on user behavior data corresponding to each tab, determining the correlation between user behaviors across tabs, specifically configured as follows: Based on the number of visits and the timestamp of each tab, the co-occurrence frequency between the tabs is calculated; the co-occurrence frequency represents the frequency with which each tab is accessed in a co-occurrence manner, and the co-occurrence access refers to the interval between the timestamps of the tabs not exceeding a preset duration; Based on the switching sequence corresponding to each tab, the bidirectional switching correlation degree between each tab is calculated; the bidirectional switching correlation degree characterizes the frequency with which a user switches between two tabs. Based on the dwell behavior data corresponding to each tab, the dwell pattern similarity between each tab is calculated; the dwell pattern similarity represents the similarity of the user's focus on each tab; The co-occurrence frequency, bidirectional switching correlation, and dwell pattern similarity of each tab are weighted to obtain the user behavior correlation between each tab.
[0011] The beneficial effects of this embodiment are as follows: User behavior correlation is obtained by weighting three down-dimension indicators: co-occurrence frequency, bidirectional switching correlation, and dwell pattern similarity. Co-occurrence frequency reflects the frequency of co-access to each tab; tabs frequently co-accessed by users have a higher correlation. Bidirectional switching correlation reflects the pattern of users switching between two tabs; frequent switching between two tabs indicates a strong correlation between them. Dwell pattern similarity reflects the similarity of users' focus on tabs; users invest different levels of focus on different types / themes of pages, and the higher a user's interest in a page, the longer they stay. Therefore, the dwell pattern dimension can be used to assess potential common preference patterns among tabs. In this way, by analyzing and discovering the correlation patterns between users' interactions with each tab from multiple dimensions, the granularity of grouping decisions is expanded, grouping accuracy is improved, and grouping becomes more consistent with user behavior habits and preferences.
[0012] In some embodiments of the first aspect, the controller performs calculations of the temporal correlation between tabs based on user behavior data corresponding to each tab, specifically configured as follows: Based on the access timestamp and decay time constant corresponding to each tab, an exponential decay similarity calculation is performed to obtain the access time proximity between each tab; the access time proximity characterizes the degree of closeness of the access times of each tab. Based on the number of visits and the timestamp of each tab, a time period distribution vector is constructed for each tab; the time period distribution vector represents the frequency of access to the tab in different time periods. Calculate the cosine similarity between the time period distribution vectors corresponding to each tab to obtain the access time period synchronization degree between each tab; the access time period synchronization degree characterizes the degree of synchronization of each tab being accessed in the same time period; Based on the user behavior data corresponding to each tab, the survival time, activity density, and recent access time interval of each tab are statistically analyzed; wherein, the survival time represents the time span from the first access to the most recent access of the tab, the activity density represents the access frequency of the tab within a unit of time, and the recent access time interval represents the time difference between the time of the most recent access of the tab and the current system time. Based on the survival time, activity density, and recent access time interval of each tab, the lifecycle similarity between each tab is calculated; the lifecycle similarity characterizes the degree of similarity between each tab in terms of survival mode and activity cycle. The temporal correlation between tabs is obtained by weighting the access time proximity, access time synchronization and lifecycle similarity between tabs.
[0013] The beneficial effects of this embodiment are as follows: Temporal relevance is obtained by weighting three down-dimensional indicators: access time proximity, access time synchronization, and lifecycle similarity. Access time proximity reflects the closeness / density of access times; multiple tabs opened intensively in sequence are likely related pages under the same intent (e.g., multiple search result pages opened consecutively after a user searches for a keyword). Access time synchronization reflects the similarity of tab activity patterns across different time periods of the day; for example, two tabs accessed in the same time period indicate they are related pages from the same user's activity during that time. Lifecycle similarity focuses on the similarity of tab survival patterns and activity states within their respective lifecycles; for example, two tabs may be temporary pages closed after short-term browsing or frequently used pages that remain for a long time. This uncovers the similarity of tab roles within their lifecycles, providing more decision-making basis for grouping. Thus, by analyzing and discovering the correlation patterns between user interactions with tabs over time, the granularity of grouping decisions is expanded, grouping accuracy is improved, and grouping becomes more aligned with user behavior and preferences.
[0014] In some embodiments of the first aspect, the controller performs clustering analysis based on the multidimensional fusion similarity matrix between each tab to obtain a target number of grouping information, specifically configured as follows: The multidimensional fusion similarity matrix between each tab is converted into a distance matrix between each tab, and the distance matrix represents the degree of difference between each tab. Based on the distance matrix between each tab, a hierarchical tree is output by an agglomerative hierarchical clustering algorithm. The hierarchical tree includes at least one cluster node and a merging height for each cluster node. The merging height is the average distance between two clusters merged into the same cluster node. Each cluster includes at least one tab. The hierarchical tree is segmented to obtain the target number of candidate clusters; Generate the grouping information corresponding to each candidate cluster.
[0015] The beneficial effects of this embodiment are as follows: By weighting the similarity of page content, user behavior correlation, and time correlation among tabs, a multi-dimensional fusion similarity matrix is constructed. This multi-dimensional fusion similarity matrix is then converted into a distance matrix to more accurately assess the similarity and differences between tabs. An agglomerative hierarchical clustering algorithm outputs a hierarchical tree, which visually displays the grouping logic and records through a tree structure. This visually records the complete process of tabs being gradually merged from independent individuals into larger clusters. By cutting the hierarchical tree, the required number of candidate clusters can be obtained. Based on the set of tabs contained in each candidate cluster, corresponding groups are constructed, and group identifiers are set, thereby generating grouping information for each candidate cluster. Through multi-dimensional similarity fusion and agglomerative hierarchical clustering, a high-precision, traceable, and more flexible grouping mechanism is achieved.
[0016] In some embodiments of the first aspect, the controller performs segmentation of the hierarchical tree to obtain a target number of candidate clusters, specifically configured as follows: The candidate range for the number of groups is determined based on user preference group size and user merging tendency rate; wherein, user preference group size represents the average number of tabs that users expect to be included in each group, and user merging tendency rate represents the probability that users tend to merge similar tabs during the grouping process; Sampling is performed from the candidate range to obtain the intra-group density and inter-group separation of each tab page under different group numbers; wherein, the intra-group density is the average distance between any tab page and other tab pages in the same cluster, and the inter-group separation is the average distance between any tab page and its nearest neighbor cluster; Based on the intra-group tightness and inter-group separation of each tab under different grouping numbers, and based on the total number of tabs opened by the browser application, the global average profile coefficient corresponding to different grouping numbers is calculated; the global average profile coefficient is used to measure the global quality of cluster analysis. The number of groups corresponding to the maximum value of the global average contour coefficient is determined as the target number.
[0017] The beneficial effects of this embodiment are as follows: Based on the average number of tabs within a group according to user expectations / preferences, and the probability that users tend to merge similar tabs during the grouping process, a candidate range for the number of groups is determined. By sampling from the candidate range, the intra-group density and inter-group separation of each tab under different grouping numbers are calculated. Intra-group density can be used to evaluate the closeness / closeness of a tab with other tabs in the same cluster, and intra-group separation can be used to evaluate the closeness / closeness of a tab with its nearest neighboring cluster. The global average silhouette coefficient can be calculated based on the intra-group density and inter-group separation of each tab. This global average silhouette coefficient is used to measure the global quality of cluster analysis. Through quality analysis, the optimal target number can be selected, avoiding the solidification of the number of groups and avoiding blind or coarse-grained grouping decisions.
[0018] In some embodiments of the first aspect, the group identifier includes a group name and a group visual identifier, the group visual identifier including at least one of a group color identifier and a group icon; The controller controls the display to show a group preview page on top of the browser interface, and displays the target number of group information within the group preview page, specifically configured as follows: Control the display to show the group bar within the group preview interface; The control display shows a target number of group buttons in the grouping bar, and displays the corresponding group identifier in the group buttons; The display is controlled to enhance the focus of the group button corresponding to the target group; the target group is the group to which the active tab belongs, or the target group is a key group identified based on dwell behavior data; The display is controlled to show a preview image of the page content corresponding to each tab in the set of tabs contained in the target group on the group preview page, and the preview image is bound to the corresponding tab jump link.
[0019] The beneficial effects of this embodiment are as follows: The group identifiers in the group information can include group visual identifiers, such as group color identifiers and group icons. This visual identification guides users through the group preview page, avoiding the problem of relying on titles and domain names to identify tabs due to similar tab appearances. It enables rapid visual positioning of groups, reduces cognitive load, and allows users to intuitively find target groups more quickly and locate target tabs within those groups, improving operational and browsing efficiency. By automatically focusing on the group to which the active tab belongs or on key groups, the group with the highest user browsing probability is highlighted, making it easier for users to quickly find target tabs within these focused groups, thus improving the efficiency of tab switching and navigation.
[0020] In some embodiments of the first aspect, before calculating the page content similarity between tabs based on the page content data corresponding to each tab, the controller is further configured to: Obtain system load rate, memory usage, and network latency parameters; The system resource pressure index is obtained by weighting the system load rate, the memory utilization rate, and the network latency parameter. If the system resource pressure index is greater than the first threshold, a degradation grouping strategy is executed. The degradation grouping strategy is configured to: perform cluster analysis based only on the page content similarity, and / or close or hibernate tabs in high-consumption groups where the system resource consumption is greater than the second threshold.
[0021] The beneficial effects of this embodiment are as follows: by comprehensively measuring the system resource pressure through multi-dimensional indicators such as system load rate, memory usage rate and network latency parameters, if the system resource pressure index exceeds the first threshold, in order to alleviate the system resource pressure, ensure system stability and avoid lag issues, a degradation grouping strategy can be implemented. For example, the dimensions of grouping consideration can be reduced, and clustering can be performed only based on page content similarity, or high-consumption groups with large resource consumption (such as groups to which highly dynamic pages or pages with high rendering complexity belong) can be turned off or hibernated to reduce the system resources consumed by the browser application.
[0022] In some embodiments of the first aspect, after performing cluster analysis based on the multidimensional fusion similarity matrix between each tab to obtain a target number of grouping information, the controller is further configured to: If the target number of group information includes newly added first group information, then create a first bookmark folder mapped to the first group information; Retrieve the first tab that the user has bookmarked from the tab set contained in the first group information; Mark the first tab as a bookmark and add the first tab to the first bookmark folder; When an update to existing second group information is detected, the second bookmark folder mapped to the second group information is updated.
[0023] The beneficial effects of this embodiment are as follows: It provides a mechanism linking grouping and bookmark folders, which can construct bookmark folders mapped to each group's information and add user-favorited tabs from the group's tab set as bookmarks; each time a new group is added, a corresponding bookmark folder is created; when the group information of each existing group is updated, the corresponding bookmark folder is updated synchronously. In this way, bookmark folders mapped to different groups can be constructed, making it convenient for users to find target bookmarks from the bookmark folders of the corresponding groups, and realizing automatic classification and organization of bookmarks following the groups.
[0024] Secondly, some embodiments of this application also provide a method for displaying browser tab groups, including: After launching the browser application, in response to the grouping instruction, the page content data and user behavior data corresponding to the tab opened by the browser application are obtained; Based on the page content data corresponding to each tab, calculate the page content similarity between each tab; Based on the user behavior data corresponding to each tab, the user behavior correlation degree and time correlation between each tab are calculated; the user behavior correlation degree represents the degree of correlation between the user's interactive operations on each tab, and the time correlation represents the degree of correlation between the user's interactive operations on each tab in time. The page content similarity, user behavior correlation, and time correlation between each tab are weighted to construct a multi-dimensional fusion similarity matrix between each tab; Cluster analysis is performed based on the multidimensional fusion similarity matrix between each tab to obtain a target number of grouping information, which includes a group identifier and a set of tabs contained in the group; A group preview page is displayed on top of the browser interface, and the target number of group information is displayed within the group preview page.
[0025] The beneficial effects of the embodiments in the second aspect above are as follows: by comprehensively clustering and grouping page content similarity, user behavior correlation and time correlation, intelligent grouping of browser tabs can be achieved. Users can intuitively view the groups of similar tabs and quickly locate the target tab from the groups. Especially for TV browsers, it can significantly reduce the number of buttons and improve operation efficiency. Moreover, the tab grouping strategy based on multi-dimensional similarity fusion can improve the fineness of grouping decision, the dimensions of consideration and the accuracy of grouping, making the grouping more in line with user behavior habits and preferences, and reducing the probability of users manually correcting the grouping results. Attached Figure Description
[0026] Figure 1 This is a schematic diagram illustrating an operational scenario between a display device and a control device provided in some embodiments of this application; Figure 2 This is a schematic diagram of the hardware configuration of a display device provided in some embodiments of this application; Figure 3 This is a schematic diagram of the software configuration of a display device provided in some embodiments of this application; Figure 4 Interactive illustrations of the browser interface provided in some embodiments of this application Figure 1 ; Figure 5Flowcharts illustrating a browser tab grouping display method provided in some embodiments of this application; Figure 6 Interactive illustrations of the browser interface provided in some embodiments of this application Figure 2 ; Figure 7 A flowchart illustrating how to calculate the page content similarity between tabs based on the page content data corresponding to each tab, provided in some embodiments of this application; Figure 8 A flowchart illustrating how to calculate the correlation between user behaviors between tabs based on user behavior data corresponding to each tab, provided in some embodiments of this application; Figure 9 A flowchart illustrating how to calculate the temporal correlation between tabs based on user behavior data corresponding to each tab, provided in some embodiments of this application; Figure 10 A schematic diagram of the fusion structure of multidimensional fusion similarity provided in some embodiments of this application; Figure 11 A flowchart illustrating how clustering analysis is performed based on a multidimensional fusion similarity matrix between tabs to obtain a target number of grouping information, provided in some embodiments of this application. Figure 12 This application provides a flowchart for segmenting a hierarchical tree to obtain a target number of candidate clusters, as shown in some embodiments. Figure 13 This is a schematic diagram of a hierarchical tree structure output by an agglomerative hierarchical clustering algorithm provided in some embodiments of this application. Figure 14 This is a schematic diagram illustrating the display of a group preview page on top of a browser interface, provided for some embodiments of this application. Figure 15 This is a schematic diagram illustrating how a pop-up notification window is displayed on top of the browser interface when system resources are scarce, as provided in some embodiments of this application. Detailed Implementation
[0027] In this application embodiment, "display device" refers to a device with screen display and data processing capabilities. For example, display devices include, but are not limited to, smart TVs, mobile terminals, computers, monitors, advertising screens, wearable devices, virtual reality devices, and augmented reality devices.
[0028] Figure 1 This is a schematic diagram illustrating an operational scenario between a display device and a control device provided in some embodiments of this application. For example... Figure 1As shown, a user can operate the display device 200 via touch operation, a mobile terminal 300, and a control device 100. The control device 100 receives user input commands and converts them into control commands that the display device 200 can recognize and respond to. For example, the control device 100 can be a remote control, a stylus, a gamepad, etc.
[0029] like Figure 1 The diagram also shows that the display device 200 communicates with the server 400 via various communication methods. This allows the display device 200 to communicate via a local area network (LAN), a wireless local area network (WLAN), and other networks.
[0030] Figure 2 Provided for some embodiments of this application Figure 1 Hardware configuration block diagram of display device 200.
[0031] In some embodiments, the display device 200 may include at least one of a tuner 210, a communication device 220, a detector 230, a device interface 240, a controller 250, a display 260, an audio output device 270, a memory, a power supply, and a user input interface 280.
[0032] In some embodiments, the communication device 220 is a component for communicating with external devices or the server 400 according to various communication protocol types. The display device 200 may be equipped with multiple communication devices 220 depending on the supported communication methods. For example, the communication devices may include a WiFi module, a Bluetooth module, and an Ethernet module.
[0033] In some embodiments, the detector 230 is used to collect signals from the external environment or to interact with the outside world, including image collectors and sound collectors.
[0034] In some embodiments, the device interface 240 includes, but is not limited to: High Definition Multimedia Interface (HDMI), Composite Video Broadcast Signal (CVBS) interface, component interface, and Universal Serial Bus (USB) interface.
[0035] In some embodiments, the controller 250 may include at least one of a central processing unit, a video processor, an audio processor, a graphics processor, RAM (Random Access Memory), and ROM (Read-Only Memory), as well as a first interface, a second interface, and an nth interface for input / output. The controller 250 controls the operation of the display device and responds to user operations through various software control programs stored in the memory. The controller 250 controls the overall operation of the display device 200.
[0036] In some embodiments, the display 260 can be used to display video content, image content, and components of a menu control interface, as well as a user interface, including a browser interface. Users can input commands through the graphical user interface (GUI) displayed on the display 260, and the user input interface 280 receives these commands via the GUI.
[0037] In some embodiments, the audio output device 270 may be a built-in speaker of the display device 200 or an external audio output device connected to the display device 200.
[0038] In some embodiments, the user input interface 280 can be used to receive operation commands input by a user via a remote control.
[0039] Figure 3 This is a schematic diagram illustrating the software configuration of a display device provided in some embodiments of this application.
[0040] In some embodiments, such as Figure 3 The diagram shows that the operating system is divided into four layers, from top to bottom: the Applications layer (referred to as the "Application Layer"), the Application Framework layer (referred to as the "Framework Layer"), the System Runtime Library layer, and the Kernel layer.
[0041] In some embodiments, the application layer provides services and interfaces to applications, enabling the display device 200 to run the applications and interact with the user based on the applications. See also Figure 3 The application layer can run multiple applications, such as application 1, application 2, application 3, and a browser application. The controller can run the browser application to implement the browser tab grouping display method provided in this application embodiment.
[0042] The framework layer provides application programming interfaces (APIs) and a programming framework for applications. The application framework layer includes predefined functions. It acts as a central processing unit, determining the actions taken by applications within the application layer. Through the API, applications can access system resources and obtain system services during execution.
[0043] See Figure 3 In this embodiment, the framework layer includes a view system, managers, and content providers. The view system designs and implements the application's interface and interactions. The managers include: an activity manager for interacting with all running activities in the system; a location manager for providing system services or applications with access to system location services; a package manager for retrieving various information related to application packages currently installed on the device; a notification manager for controlling the display and clearing of notification messages; and a window manager for managing icons, windows, toolbars, wallpapers, and desktop widgets on the user interface.
[0044] In some embodiments, the system runtime layer can provide support for the framework layer. When the framework layer is used, the operating system runs the instruction libraries contained in the system runtime layer, such as C / C++ instruction libraries, to implement the functions required by the framework layer. The system runtime layer may include databases and virtual machines, where the database includes, but is not limited to, browser engines and professional graphics programming interfaces.
[0045] In some embodiments, the kernel layer is a functional layer situated between the hardware and software of the display device 200. The kernel layer can implement functions such as hardware abstraction, multitasking, and memory management. For example, ... Figure 3 As shown, the kernel layer can be configured with a power management module and hardware drivers, wherein the hardware drivers include at least one of the following drivers: audio driver, display driver, Bluetooth driver, camera driver, WIFI driver, USB driver, HDMI driver, sensor driver, and power driver, etc.
[0046] Figure 4 Interactive illustrations of the browser interface provided in some embodiments of this application Figure 1 .
[0047] like Figure 4As shown, after the controller launches the browser application, it can control the display to show the browser interface 40. The browser interface 40 includes a tab bar 41, which contains the tab 41a corresponding to the webpage currently open by the browser application. Figure 4 In the example, tab bar 41 contains tab 1, tab 2, tab 3, tab 4, tab 5, tab 6, and tab 7. Tab 41a can display at least one of the following: page name, topic, and domain name.
[0048] Large-screen display devices (such as smart TVs) rely on remote controls to receive user input commands. For example... Figure 4 As shown, based on the position of the active tab in the tab bar 41, the user inputs a directional key command by pressing the directional keys on the remote control. The browser application responds to this directional key command, controlling the focus to move within the tab bar 41 based on the number of key presses and the target direction, thereby switching the active tab. The content display area in the browser interface then displays the page content corresponding to the active tab.
[0049] Users can rely on their memory of the target tab's location in tab bar 41 to locate it. However, if the user's memory of the target tab's location is vague, and there are many tabs in tab bar 41, they need to press the directional keys on the remote control to gradually move the focus in tab bar 41 and browse the titles or domain names of each tab 41a to locate and find the target tab. This method of locating and switching target tabs results in low user efficiency.
[0050] When there are many tabs in tab bar 41 and the tabs are sorted randomly (irregularly), users can manually drag and drop tabs to group similar or related tabs together, achieving manual tab grouping. However, manual grouping via remote control is inefficient and time-consuming. Some browser applications can categorize and rearrange tabs by title or domain name. This method has limited granularity and considerations for grouping decisions, affecting the final grouping accuracy, and may require users to manually correct the grouping. For example, www.taobaobao.com and www.jd1.com have low similarity, but both domains correspond to shopping pages. In practice, most users tend to group them as similar or related pages.
[0051] The following defects exist when running browser applications on large-screen display devices (such as smart TVs): (1) Remote control operation obstacles: Relying on the directional keys of the remote control, the target tab is linearly located in the tab bar 41 by reading the title or domain name of each tab. This method of locating and switching the target tab is cumbersome, time-consuming and prone to errors.
[0052] (2) Multiple tabs are arranged linearly in the tab bar, resulting in low information density.
[0053] (3) Disorderly tab sorting: Browser applications lack effective grouping and rearranging tools, and the tabs in the tab bar are sorted without any correlation or regularity, making it difficult for users to quickly locate the target tab. Users can only manually drag and drop groups, close tabs, or endure inefficiency, which seriously degrades the user experience of the browser application.
[0054] (4) Smart TVs and other display devices are mostly used by home users. The elderly and children have a low acceptance of complex and cumbersome operations and high learning costs.
[0055] (5) The tabs in the tab bar look similar and have low recognizability on large screen display devices. Users rely on the page domain name and title to distinguish the tabs, which creates a cognitive load.
[0056] The browser tab grouping scheme provided in this application can intelligently group tabs based on multi-dimensional similarity fusion, realizing a complete technical closed loop of "data collection → AI intelligent grouping decision → grouping result presentation", overcoming the shortcomings of linear arrangement of tabs in the tab bar, manual drag-and-drop grouping by users, and low-fine-grained coarse grouping.
[0057] Figure 5 A flowchart illustrating a browser tab grouping display method provided in some embodiments of this application.
[0058] The controller can execute browser tab grouping display methods by running a browser application, such as... Figure 5 As shown, the method includes: Step S51: After launching the browser application, in response to the grouping instruction, obtain the page content data and user behavior data corresponding to the tab opened by the browser application.
[0059] In some embodiments, the controller can send a grouping instruction to the browser application when it receives a user's action of opening a new tab or closing an old tab. That is, a grouping process is triggered every time a tab is added or removed, so that the tab grouping can be automatically updated with changes to the tab bar.
[0060] Figure 6 Interactive illustrations of the browser interface provided in some embodiments of this application Figure 2 .
[0061] In some embodiments, such as Figure 6As shown, the tab bar 41 may also include a tab management button 41b. In response to the user clicking the tab management button 41b, the controller sends a grouping instruction to the browser application, enabling one-click, quick, and intelligent grouping.
[0062] In some embodiments, if a browser application receives multiple grouping instructions in succession, it is identified as a misoperation and a fault-prevention mechanism is triggered, that is, it only responds to the grouping instruction once, so as to avoid increasing system resource overhead due to frequent execution of the grouping process.
[0063] In some embodiments, a browser application may request page content data corresponding to any tab from the server. Page content data includes, but is not limited to: Universal Resource Locator (URL), domain name, page title (Title tag content), page description (Meta Description content), page body (the main text extracted from the Body, after removing HTML tags, scripts, style code, and other non-main text), and page keywords (MetaKeywords).
[0064] In some embodiments, user behavior data includes user behavior data in historical sessions and the current session. A "session" refers to the process from when a browser application is launched until it is closed. Behavioral data includes statistical information on user interactions performed on at least one tab within each session (referred to as "interaction information"), and timestamp information associated with each interaction.
[0065] In some embodiments, user interactions with tabs include, but are not limited to: accessing / opening a tab, closing a tab, switching tabs, staying on a tab, and adding a tab to favorites. Timestamp information includes, but is not limited to, tab access timestamps, close timestamps, and leave / switch timestamps.
[0066] Step S52: Calculate the page content similarity between each tab based on the page content data corresponding to each tab.
[0067] Page content similarity represents the degree of similarity between the page content of each tab. The higher the page content similarity between two tabs, the greater the probability that the two tabs are similar / related tabs, and thus the more likely these two tabs will be grouped together in the same group.
[0068] Figure 7 This is a flowchart illustrating how to calculate the page content similarity between tabs based on the page content data corresponding to each tab, as provided in some embodiments of this application.
[0069] like Figure 7As shown, step S52 specifically includes: Step S521: Perform hierarchical matching of the top-level domain, main domain, and subdomains in the domain name of each tab page, and weight the matching values at each level to obtain the domain similarity between each tab page.
[0070] In some embodiments, the controller can run a browser application to perform standardized parsing of the URL of each tab and extract the string of the complete domain name.
[0071] Taking the URL "https: / / www.sports.example.com / news / tech / article123" as an example, the extracted domain name is www.sports.example.com, and the path is " / news / tech / article123".
[0072] In some embodiments, the controller can run a browser application to split the domain name into multiple hierarchical segments using "." as separators, labeled from right to left as: Top-Level Domain (TLD), Second-Level Domain (SLD), and Subdomain. Continuing the example, assuming the domain name is "www.sports.example.com", the top-level domain is "com", the SLD consists of "example" and "sports", and the subdomain is "www", resulting in the hierarchical segment sequence [com, example, sports, www].
[0073] In some embodiments, the controller can run a browser application to calculate the domain similarity Sim_domain(i, j) between any two tabs i and j using a hierarchical segment-weighted matching algorithm. The calculation formula is as follows: Sim_domain(i,j)=Σ(k=1 to K) [W(k)×Match(L_i(k), L_j(k))]; Where i and j are the tab numbers, 1≤i≤N, 1≤j≤N, and N is the total number of tabs to be grouped (i.e., the total number of tabs opened by the browser application). Sim_domain(i,j) represents the domain similarity between tab i and tab j. k represents the sequence number of the hierarchical segment. K represents the maximum number of hierarchical segments in the domains of tab i and tab j. L_i(k) represents the kth hierarchical segment from right to left in the domain of tab i, and L_j(k) represents the kth hierarchical segment from right to left in the domain of tab j. Σ(k=1 to K) represents the summation of W(k)×Match(L_i(k), L_j(k)), where k ranges from [1,K].
[0074] `Match(L_i(k), L_j(k))` is a hierarchical segment matching function. If the strings `L_i(k)` and `L_j(k)` are exactly the same, then `Match(L_i(k), L_j(k))` = 1. If the strings `L_i(k)` and `L_j(k)` are not exactly the same, then `Match(L_i(k), L_j(k))` = 0. If the k-th hierarchical segment of a domain name is empty, then `Match(L_i(k), L_j(k))` = 0.
[0075] The weight coefficient of the k-th level segment W(k) satisfies Σ(k=1 to K) W(k)=1, and the weight coefficients decrease from right to left, reflecting that the level segments closer to the main domain contribute more to the similarity. Continuing the previous example, an exemplary weight allocation strategy is as follows: First level segment (top-level domain TLD): W(1)=0.10. For example, com has a low degree of partitioning of domain name similarity, so the lowest weight coefficient is assigned to the first level segment. Second-level segment (main domain SLD): W(2)=0.50. For example, example is the core level segment used to measure domain similarity, so the second-level segment is assigned the highest weight coefficient. The third level segment (subdomain): W(3)=0.25. For example, sports is the content channel identifier, which is the second most important level segment after the second level segment. Therefore, a higher weight coefficient is assigned to the third level segment. Level 4 and above: W(4+)=0.15. For example, common prefixes such as www have a lower degree of partitioning of domain name similarity, so a lower weight coefficient is assigned to the level 4 segment.
[0076] Step S522: Concatenate the page title, page description, page body, and page keywords of each tab to obtain the page content text corresponding to each tab.
[0077] In some embodiments, the controller can run a browser application to concatenate the page title, page description, page body, and page keywords according to their weights into the page content text Text_i corresponding to tab i, and concatenate them into the page content text Text_j corresponding to tab j. Text_i=W_title×Title_i+W_desc×Desc_i+W_body×Body_i+W_kw×Keywords_i; Text_j=W_title×Title_j+W_desc×Desc_j+W_body×Body_j+W_kw×Keywords_j; Where Title_i represents the page title text of tab i, W_title represents the page title weight, Desc_i represents the page description text of tab i, W_desc represents the page description weight, Body_i represents the page body text of tab i, W_body represents the page body weight, Keywords_i represents the page keywords text of tab i, and W_kw represents the page keyword weight. For example, W_title=0.35, W_desc=0.25, W_body=0.30, W_kw=0.10 indicates that the page title and page body text contribute the most to the page content similarity.
[0078] Title_j represents the page title text of tab j, Desc_j represents the page description text of tab j, Body_j represents the page body text of tab j, and Keywords_j represents the page keywords text of tab j. Tab i and tab j share the same W_title, W_desc, W_body, and W_kw.
[0079] Step S523: Based on the page content text corresponding to each tab, obtain the word frequency-inverse file frequency vector corresponding to each tab.
[0080] In the Term Frequency–Inverse Document Frequency (TF-IDF) vector, term frequency represents the frequency of a word's occurrence in a document. The TF value is obtained by normalizing the number of times a word appears in a document. Inverse document frequency is a measure of the general importance of a word. It is calculated by searching for target documents containing the target word in the global file system, calculating the ratio of the number of target documents to the total number of global documents, and then taking the logarithm of this ratio to obtain the IDF value. The controller can run a browser application to perform TF-IDF operations on Text_i and Text_j respectively, obtaining the TF-IDF vector V_i for tab i and V_j for tab j.
[0081] Step S524: Calculate the cosine similarity between the word frequency and inverse file frequency vectors corresponding to each tab to obtain the content topic similarity between each tab.
[0082] In some embodiments, the controller can run a browser application to perform a cosine similarity operation on the vectors V_i and V_j to obtain the content topic similarity Sim_content(i, j) between tab i and tab j. The calculation formula is as follows: Sim_content(i,j) = (V_i·V_j) ÷ (||V_i|| × ||V_j||); Where V_i·V_j represents the vector dot product of V_i and V_j, ||V_i|| represents the modulus (Euclidean norm) of vector V_i, and ||V_j|| represents the modulus (Euclidean norm) of vector V_j. The value of Sim_content(i,j) ranges from [0,1]. The larger the value of Sim_content(i,j), the more similar the content themes of tabs i and j are.
[0083] For example, if tab A contains a football news article, then the TF-IDF vector of tab A will have higher weights for words like "football," "match," and "goal." If tab B contains a basketball news article, then the TF-IDF vector of tab B will have higher weights for words like "basketball," "match," and "shooting." Thus, tab A and tab B share words like "sports" and "match," and their content theme similarity Sim_content(A,B) is approximately 0.45.
[0084] For example, if tab C contains a technology news article and shares few words with tab A, the content theme similarity Sim_content(A,C) between the two is only 0.05, indicating that the content theme similarity between tab A and tab C is extremely low.
[0085] Step S525: Weight the domain similarity and content theme similarity between each tab to obtain the page content similarity between each tab.
[0086] In some embodiments, the controller can obtain the comprehensive page content similarity Sim_page(i, j) between tab i and tab j by running a browser application and weighting the domain similarity Sim_domain(i, j) between tab i and tab j and the content topic similarity Sim_content(i, j) between tab i and tab j. The calculation formula is as follows: Sim_page(i, j) = β × Sim_domain(i, j)+ (1-β) × Sim_content(i, j); Here, β represents the domain similarity weight, and 1-β represents the content theme similarity weight. β can be set to, for example, 0.4. The β parameter can be dynamically adjusted based on user feedback. If users frequently manually merge tabs with different domains but the same content theme, the β value will be automatically lowered to increase the content theme similarity weight; conversely, if users frequently manually merge tabs with different content themes but the same domain, the β value will be increased.
[0087] In this embodiment, page content similarity is obtained by weighting domain similarity and content theme similarity. The content theme similarity is calculated based on four sinking dimensions: page title, page description, page body, and page keywords. In this way, page content similarity is not limited to domain name and title, but also takes into account other page content / attributes, making the calculation of page content similarity more accurate and thus improving grouping accuracy.
[0088] Step S53: Based on the user behavior data corresponding to each tab, calculate the user behavior correlation and time correlation between each tab.
[0089] Among them, user behavior relevance characterizes the degree of correlation between user interactions with each tab at the physical (spatial) level, while temporal relevance characterizes the degree of correlation between user interactions with each tab at the temporal level. In this way, grouping decisions are made from the spatial and temporal perspectives of user behavior, making the grouping results more aligned with user habits and preferences, thereby expanding the granularity and consideration dimensions of grouping decisions and improving grouping accuracy.
[0090] In some embodiments, the controller can continuously collect user behavior data by running a browser application and quantify and encode the user behavior data. The user behavior data serves as the basis and support for calculating the correlation between user behaviors. User behavior data includes, but is not limited to: access count, access timestamp, switching sequence, dwell time data, and interaction type.
[0091] The number of visits, F_visit(i), measures the frequency of a user's visits to tab i. The number of visits, F_visit(i), can be statistically analyzed and quantified through cumulative counting.
[0092] The switching sequence is a record of the switching order between tabs, representing the order in which users perform switching operations on each tab. It can be statistically analyzed and quantified through ordered sequences.
[0093] The access timestamp indicates when a user accessed the tab.
[0094] Interaction types refer to the types of actions users perform on tabs, including but not limited to: scrolling, saving, sharing, accessing, closing, and switching / leaving. Interaction types can be statistically analyzed and quantified using categorized coding.
[0095] Dwell behavior data includes, but is not limited to, dwell time. Dwell time T_stay(i) represents the cumulative duration (in seconds) a user spends on a tab, and the browser can directly record this data.
[0096] Figure 8 This is a flowchart illustrating how user behavior correlation between tabs is calculated based on user behavior data corresponding to each tab, as provided in some embodiments of this application.
[0097] like Figure 8 As shown, step S53 calculates the user behavior correlation between each tab, specifically including: Step S531: Calculate the co-occurrence frequency among tabs based on the number of visits and timestamps of each tab.
[0098] Co-occurrence frequency represents the frequency with which each tab is accessed in a co-occurrence manner. Co-occurrence access refers to the interval between the access timestamps of tabs not exceeding a preset duration.
[0099] In some embodiments, the controller can define a time window Δt by running a browser application. The time span of the time window Δt is equal to a preset duration (e.g., 5 minutes), and the controller can segment the user's continuous interaction records based on the time window Δt. If the user is detected to have accessed tab i and tab j sequentially within the time window Δt, that is, the interval between the access timestamps of tab i and tab j does not exceed the preset duration (Δt), then the browser application records a co-occurrence access event of tab i and tab j.
[0100] In some embodiments, the controller can run a browser application to count the cumulative number of co-occurrence access events between any two tabs i and j across all time windows (referred to as the co-occurrence count Co(i, j)), calculate the co-occurrence frequency Sim_cooccur(i, j), and finally construct a global distribution matrix of the co-occurrence frequencies among the tabs (referred to as the co-occurrence frequency matrix S). The formula for calculating Sim_cooccur(i, j) in the co-occurrence frequency matrix S is as follows: Sim_cooccur(i, j) = Co(i, j) ÷ Max(F_visit(i), F_visit(j)); Where F_visit(i) is the cumulative number of visits to tab i, F_visit(j) is the cumulative number of visits to tab j, and Max(F_visit(i), F_visit(j)) is the maximum value between F_visit(j) and F_visit(j), i.e., the maximum value between F_visit(j) and F_visit(j) is taken as the normalized denominator, so that the co-occurrence frequency Sim_cooccur(i, j) ranges from [0, 1]. Therefore, the co-occurrence frequency characterizes the frequency with which each tab is co-accessed, reflecting the concurrent demand for tabs by users in the same usage scenario. Multiple tabs that are frequently co-accessed by users have a higher correlation, thus the co-occurrence frequency is also a key indicator for grouping decisions.
[0101] Step S532: Calculate the bidirectional switching correlation between tabs based on the switching sequence corresponding to each tab.
[0102] Among them, the bidirectional switching relevance characterizes the frequency with which users switch between two tabs, reflecting the pattern of users switching / jumping between any two tabs. Frequent switching between two tabs indicates a strong relevance between the two tabs. For example, if a user wants to buy a target product, they will frequently switch between shopping platform A and shopping platform B to compare information such as product quality and price. Therefore, the websites of shopping platform A and shopping platform B have a high bidirectional switching relevance and are more likely to be assigned to the same group.
[0103] In some embodiments, the controller can run a browser application and, based on the tab switching sequence, record a "tab i → tab j" transition event for each operation record from tab i to tab j. All transition events are counted to construct a transition count matrix T, where the T(i, j) component represents the total cumulative number of transitions from tab i to tab j.
[0104] In some embodiments, the controller can calculate the transition probability P(i→j) of switching from tab i to tab j by running a browser application. The transition probability P(i→j) represents the probability that a user, starting from tab i, will switch to tab j when switching to other tabs. The higher the transition probability P(i→j), the greater the likelihood that the user will directly jump to tab j in the next operation after leaving tab i. The formula for calculating the transition probability P(i→j) is as follows: P(i→j) = T(i, j) ÷ Σ(m) T(i, m); Where T(i, j) is the total cumulative number of times to switch from tab i to tab j; T(i, m) is the total cumulative number of times to switch from tab i to tab m, where tab m is any tab other than tab i (including tab j). Σ(m)T(i, m) is the total cumulative number of switches from tab i to any other N-1 tabs, where N is the total number of tabs.
[0105] In some embodiments, the controller can calculate the bidirectional switching correlation Sim_switch(i, j) between tab i and tab j by running a browser application. Since the grouping relationship is symmetrical, for example, if tab i and tab j are in the same group, then tab j and tab i are also in the same group. Sim_switch(i, j) can be calculated according to the following formula: Sim_switch(i, j) = [P(i→j) + P(j→i)]÷2; Where P(i→j) is the transition probability of switching from tab i to tab j, and P(j→i) is the transition probability of switching from tab j to tab i. The bidirectional switching correlation degree, Sim_switch(i, j), can be obtained by calculating the mean of the bidirectional transition probabilities. The bidirectional switching correlation degree characterizes the frequency with which users switch between two tabs, reflecting the pattern of bidirectional directional switching between tabs. A larger Sim_switch(i, j) indicates that users are more inclined to switch back and forth between tab i and tab j, suggesting that tab i and tab j have a strong correlation and strong interactivity in user habits and should be considered for inclusion in the same group. Therefore, the bidirectional switching correlation degree is also a key indicator for grouping decisions.
[0106] Step S533: Calculate the similarity of dwell patterns between tabs based on the dwell behavior data corresponding to each tab.
[0107] Among them, dwell pattern similarity represents the similarity of users' focus on each tab. The longer a user stays on tab i, the more focused they are on browsing the content of tab i (deep browsing). Dwell pattern similarity can reflect the homogeneity of browsing depth between tabs. Users invest different levels of focus on different types / topics of pages. The higher a user's interest in a page, the longer they stay. Therefore, the dwell pattern dimension can be used to assess the possible common preference patterns among tabs.
[0108] In some embodiments, the controller can encode the dwell behavior data of each tab into a dwell pattern vector by running a browser application. The dwell pattern vector B_i corresponding to tab i can be represented as: B_i = [T_avg(i), T_total(i), F_visit(i), T_avg(i) ÷T_session].
[0109] Where T_avg(i) is the average dwell time of tab i, T_avg(i) = T_total(i) ÷ F_visit(i), T_total(i) is the total cumulative dwell time of tab i, F_visit(i) is the cumulative number of visits to tab i, T_session is the total duration of the current session, and T_session represents the cumulative duration of this continuous and uninterrupted browser session until the session ends when the browser application is closed, at which point the T_session timer stops.
[0110] In some embodiments, the controller can run a browser application to obtain the similarity of the stay patterns between any two tabs i and j by taking the reciprocal of the normalized Euclidean distance. The formula for calculating Sim_stay(i, j) is as follows: Sim_stay(i, j)=1÷(1+||Norm(B_i)-Norm(B_j)||) Where B_i is the dwell pattern vector corresponding to tab i, and B_j is the dwell pattern vector corresponding to tab j. Norm(B_i) is the vector obtained by performing Min-Max normalization on each component of B_i, and Norm(B_j) is the vector obtained by performing Min-Max normalization on each component of B_j. Min-Max normalization is an operation that maps each component of a vector to the interval [0, 1]. ||Norm(B_i) - Norm(B_j)|| is the Euclidean distance between the Norm(B_i) and Norm(B_j) vectors. The value of Sim_stay(i, j) is in the interval [0, 1]. The larger Sim_stay(i, j) is, the more similar the user's dwell pattern and attention level on tabs i and j are.
[0111] Step S534: Weight the co-occurrence frequency, bidirectional switching correlation, and dwell mode similarity among the tabs to obtain the user behavior correlation among the tabs.
[0112] In some embodiments, the controller can run a browser application to perform a weighted calculation on the co-occurrence frequency Sim_cooccur(i, j) between tab i and tab j, the bidirectional switching correlation Sim_switch(i, j), and the stay pattern similarity Sim_stay(i, j) to obtain the final user behavior correlation Sim_behavior(i, j). The calculation formula for Sim_behavior(i, j) is as follows: Sim_behavior(i, j)=γ1×Sim_cooccur(i, j)+γ2×Sim_switch(i, j)+γ3×Sim_stay(i, j); Wherein, γ1 is the co-occurrence frequency weight, γ2 is the bidirectional switching correlation weight, and γ3 is the dwell pattern similarity weight. Optionally, γ1=γ2=0.4, γ3=0.2.
[0113] User behavior correlation is derived by weighting three dimensions: co-occurrence frequency, bidirectional switching correlation, and dwell pattern similarity. Co-occurrence frequency reflects the frequency of tab co-access and the concurrent demand for tabs within the same usage scenario; tabs frequently co-accessed by users have higher correlation. Bidirectional switching correlation reflects the pattern of bidirectional switching between two tabs and the interaction relationship between tabs; frequent switching between two tabs indicates a strong correlation between them. Dwell pattern similarity reflects the similarity of user focus on tabs and the homogeneity of tab browsing depth. Users invest different levels of focus on different types / themes of pages; the higher the user's interest in a page, the longer the browsing time. Therefore, the dwell pattern dimension can be used to assess potential common preference patterns among tabs. In this way, by analyzing and discovering the physical correlation patterns between user interactions with each tab from multiple dimensions, the granularity of grouping decisions can be expanded, grouping accuracy improved, and grouping made more consistent with user behavior habits and preferences.
[0114] Among them, temporal relevance characterizes the degree of correlation between user interactions with various tabs at the temporal level, reflecting whether there is a close temporal relationship between tabs in terms of access, browsing, and other behaviors. "User behavior correlation" focuses on physical operations such as co-occurrence, switching, and dwell time between tabs, while "temporal relevance" focuses on pure timestamp patterns, such as whether multiple tabs are always opened or accessed at similar times, or whether there is a periodic synchronous appearance pattern. In this embodiment, temporal relevance is obtained by weighting three down-dimension indicators: access time proximity, access time synchronization, and lifecycle similarity.
[0115] Figure 9 This is a flowchart illustrating how user behavior data corresponding to each tab is used to calculate the temporal correlation between tabs, as provided in some embodiments of this application.
[0116] like Figure 9 As shown, step S53 calculates the temporal correlation between each tab, specifically including: Step S535: Based on the access timestamp and decay time constant of each tab, perform exponential decay similarity calculation to obtain the access time proximity between each tab.
[0117] Among them, access time proximity reflects the degree of closeness and density of visits to various tabs. Multiple tabs opened intensively in sequence by a user are likely related pages under the same intent. For example, multiple search result pages opened consecutively by a user searching for the keyword "news" on a search engine are related. Access time proximity is one of the quantitative indicators that captures the deep correlation between tabs based on the temporal rhythm of user behavior.
[0118] In some embodiments, the controller can run a browser application to record the access timestamp when any tab is first opened or created in each session. The access time proximity is obtained by calculating the exponentially decaying similarity of the time intervals between the access timestamps when each tab is first opened (referred to as the access time interval). The formula for calculating the access time proximity Sim_open(i, j) between tab i and tab j is as follows: Sim_open(i, j) = exp(-|t_open(i)-t_open(j)|÷τ_open); Where t_open(i) is the access timestamp when tab i is first opened or created, t_open(j) is the access timestamp when tab j is first opened or created, and |t_open(i)-t_open(j)| is the absolute value of the time difference between t_open(i) and t_open(j) (i.e., the access time interval, in seconds). exp is an exponential function with the natural constant e as its base.
[0119] τ_open is the decay time constant, which can be a preset value (e.g., 60 seconds). If |t_open(i)-t_open(j)| does not exceed τ_open, then tab i and tab j are considered to have a high access time proximity. If |t_open(i)-t_open(j)| exceeds τ_open, then the further |t_open(i)-t_open(j)| is from τ_open, the lower the access time proximity Sim_open(i, j) between tab i and tab j. For example, if the access time interval between two tabs exceeds 5 minutes, the access time proximity approaches 0. The value range of Sim_open(i, j) is (0, 1]. If the access timestamps of tab i and tab j are exactly the same, then Sim_open(i, j) = 1.
[0120] Among them, access time synchronization characterizes the degree of synchronization of access to each tab within the same time period, reflecting the similarity of the activity patterns of each tab being accessed at different times of the day. Access time synchronization is the second quantitative indicator that captures the deep correlation between tabs based on the temporal rhythm of user behavior. For example, if tabs A and B are always accessed concentrated between 20:00 and 22:00 in the evening, it means that tabs A and B are related pages that users are active in during the same time period, and their access time synchronization is high; if tab A is mainly accessed in the morning, while tab B is mainly accessed late at night, then the access time synchronization of tabs A and B is very low. The access time synchronization between each tab is obtained through steps S536 and S537 below.
[0121] Step S536: Based on the number of visits and the timestamp of each tab, construct the time period distribution vector corresponding to each tab.
[0122] In some embodiments, the controller can divide a day into 24 time periods, each lasting 60 minutes, by running a browser application, forming a time period sequence H. An example of a time period sequence H is {H_h, 0≤h≤23}, where h represents the time period number, 0≤h≤23, and H_h represents the h-th time period of the day. The browser application can count the cumulative number of visits d_i(h) to any tab i within the H_h time period, constructing a time period activity vector D_i, D_i=[d_i(0), d_i(1), ..., d_i(23)]. The time period activity vector D_i can measure the access activity pattern of tab i in each time period. For example, if tab i is always frequently accessed between 20:00 and 22:00 in the evening, the values of the d_i(20) and d_i(21) components in the vector D_i will be significantly greater than the values of other components.
[0123] In some embodiments, the controller can perform L1 normalization on the time-period activity vector D_i by running a browser application. The purpose of L1 normalization is to eliminate the absolute difference in the total number of visits, convert the visit frequency into a probability distribution, and make the sum of all components in the vector equal to 1, thus obtaining the normalized time-period distribution vector D_i_norm corresponding to tab i, i.e., D_i_norm = D_i ÷ Σ(h=0 to 23) d_i(h), where Σ(h=0 to 23) d_i(h) represents the summation operation of the cumulative number of visits to tab i in each time period of the time-period sequence H. D_i_norm characterizes the visit frequency and probability of tab i being visited in different time periods.
[0124] Step S537: Calculate the cosine similarity between the time period distribution vectors corresponding to each tab to obtain the access time period synchronization degree between each tab.
[0125] In some embodiments, the controller can run a browser application to perform a cosine similarity operation on the time-period distribution vector D_i_norm corresponding to tab i and the time-period distribution vector D_j_norm corresponding to tab j, to obtain the access time-period synchronization degree Sim_period(i, j) between tab i and tab j. The calculation formula for Sim_period(i, j) is as follows: Sim_period(i, j) = (D_i_norm·D_j_norm)÷(||D_i_norm||×||D_j_norm||); Where D_i_norm·D_j_norm represents the vector dot product of D_i_norm and D_j_norm, ||D_i_norm|| represents the modulus (Euclidean norm) of vector D_i_norm, and ||D_j_norm|| represents the modulus of vector D_j_norm. Sim_period(i, j) ranges from [0, 1]. The larger the value of Sim_period(i, j), the higher the synchronicity of tabs i and j being accessed in the same time period. If tabs i and j are always accessed in the same time period, it indicates that they belong to related content that users habitually browse within the same time period, and Sim_period(i, j) approaches 1; if the access times of tabs i and j are completely staggered, for example, tab i is frequently accessed at noon and tab j is frequently accessed at midnight, then Sim_period(i, j) approaches 0.
[0126] For example, if access to tabs A and B is concentrated in H_20 and H_21 (evening), then the synchronization degree between tabs A and B during their access periods is Sim_period(A,B)≈0.95. If access to tab C is concentrated in H_8 and H_9 (morning), then the synchronization degree between tabs A and C during their access periods is Sim_period(A,C)≈0.02.
[0127] Lifecycle similarity characterizes the similarity of tabs in their survival patterns and activity cycles. It measures whether the access intensity of each tab changes similarly over time within its "lifecycle." It no longer focuses on "which time of day is most active," but rather on the dynamic changes in user access behavior throughout the entire lifecycle of a tab, from opening to closing. The closer the time span between two tabs opening and their last access, the more similar their "roles" in the user's usage cycle. For example, both might be temporary pages that are briefly browsed and then closed, or frequently used pages that are kept for a long time. Lifecycle similarity is the third quantitative indicator that captures the deep correlation between tabs based on the temporal rhythm of user behavior. The lifecycle similarity between tabs is obtained below through steps S538 and S539.
[0128] Step S538: Based on the user behavior data corresponding to each tab, calculate the survival time, activity density, and recent access time interval for each tab.
[0129] In some embodiments, the controller can extract the lifecycle characteristics of any tab i by running a browser application. These lifecycle characteristics include: lifespan (Life(i), activity density (Density(i), and recent access time (Recency(i)). The lifespan (Life(i), activity density (Density(i), and recent access time (Recency(i))) together constitute a complete profile describing the lifecycle pattern of tab i.
[0130] Wherein, the lifespan Life(i) represents the time span (in seconds) from the first visit to the most recent visit of tab i, that is, Life(i) = t_last_visit(i) - t_open(i), where t_last_visit(i) represents the timestamp of the most recent visit of tab i, and t_open(i) represents the timestamp of the first visit of tab i.
[0131] The significance and value of Life(i) lies in the fact that, as a characteristic that quantifies the "lifespan" of tab i, it reflects the overall length of time that users maintain contact with tab i. It can help the intelligent grouping engine understand the long-term dependence of users on the page content of tab i and is a key time dimension indicator for evaluating the role played by tab i throughout its entire life cycle.
[0132] A longer lifespan (Life(i)) usually means that the content of tab i is related to the user's long-term tasks or persistent interests, causing the user to repeatedly visit tab i over a period of time. A shorter lifespan (Life(i)) may indicate a temporary, one-off browsing behavior towards tab i, such as searching for an immediate question or reading a news article, after which the user will not revisit or look at tab i again.
[0133] Here, Density(i) represents the frequency of visits to tab i per unit time (times / second), i.e., Density(i) = F_visit(i) ÷ Life(i). If tab i is only visited once, i.e., Life(i) = 0, then Density(i) can take a special value.
[0134] The significance and value of Density(i) lies in reflecting the frequency (i.e., intensity) of tab i's access during its lifecycle. This is more accurate than simply accumulating access counts because Density(i) establishes a relationship between the access frequency and lifespan of tab i. For example, if tab A survives for 10 days and is accessed 10 times, its activity density is 1 access / day; if tab B survives for 1 day and is accessed 10 times, its activity density is 10 accesses / day. Clearly, users have different usage patterns for tabs A and B. Activity density captures this difference, helping the intelligent grouping engine understand the user's dependence on and depth of use for each tab. It is a crucial basis for distinguishing between core task tabs and non-core task tabs and for implementing intelligent tab grouping based on usage behavior patterns.
[0135] A higher activity density (Density(i)) indicates that users frequently, centrally, and repeatedly visit tab i. This typically corresponds to highly relied-upon core task pages (such as work project pages or online document editors) or highly relevant information sources (such as real-time monitoring dashboards or social chat windows). For grouping algorithms, tabs with high activity density usually have higher group "stickiness" and importance. A lower activity density (Density(i)) indicates that users intermittently, occasionally, and infrequently visit tab i. This may correspond to reference materials, temporary search pages, or pages of low interest. By comparing the similarity of activity densities among tabs, it is possible to determine whether tabs have similar usage rhythms and intensity patterns.
[0136] The most recent visit interval Recency(i) represents the time difference (in seconds) between the last time tab i was visited and the current system time, i.e., Recency(i) = t_now - t_last_visit(i), where t_now is the current system time (obtained based on the system clock).
[0137] The significance and value of Recency(i) lies in the fact that it reflects the time interval since tab i was last visited, measures the degree of decline in user interest in tab i, and reflects how long tab i has been "idle" or "untouched". The smaller Recency(i), the stronger or more persistent the user's interest in the content of tab i may be. The larger Recency(i), the longer tab i has been idle, or even become a "zombie tab".
[0138] The Recent Access Interval (Recency(i)) is a metric that quantifies the "popularity" of tab i. From the perspective of time decay, it reflects the user's immediate attention to the tab content in real time. It is one of the key indicators for the intelligent grouping engine to determine the current importance of tabs, predict the user's next intention, and make grouping decisions accordingly. If the Recent Access Interval (Recency(A)) of tab A and the Recent Access Interval (Recency(B)) of tab B are relatively close, and other similarity indicators are also similar, it indicates that tabs A and B may belong to related tasks that the user is currently processing, and it is more likely that tabs A and B will be grouped together. If the Recent Access Interval (Recency(A)) of tab A is small, while the Recent Access Interval (Recency(B)) of tab B is large, it is clear that tab A, which has just been visited, and tab B, which has not been visited for a long time, have different lifecycle patterns and are less likely to belong to the same group.
[0139] Step S539: Calculate the lifecycle similarity between tabs based on the lifespan, activity density, and recent access time interval of each tab.
[0140] In some embodiments, the controller can encode the three features Life(i), Density(i), and Recency(i) into a lifecycle vector LC_i by running a browser application, i.e., LC_i = [Life(i), Density(i), Recency(i)].
[0141] In some embodiments, the controller can run a browser application to perform Min-Max normalization on each component of the lifecycle vector LC_i, and obtain the lifecycle similarity Sim_lifecycle(i, j) between tab i and tab j by taking the reciprocal of the normalized Euclidean distance. The calculation formula for Sim_lifecycle(i, j) is as follows: Sim_lifecycle(i, j)=1÷(1+||Norm(LC_i)-Norm(LC_j)||) Where LC_i is the lifecycle vector corresponding to tab i, LC_j is the lifecycle vector corresponding to tab j, Norm(LC_i) is the vector obtained by performing Min-Max normalization on each component of LC_i, and Norm(LC_j) is the vector obtained by performing Min-Max normalization on each component of LC_j. ||Norm(LC_i)-Norm(LC_j)|| is the Euclidean distance between the Norm(LC_i) and Norm(LC_j) vectors. The value of Sim_lifecycle(i, j) is in the range [0, 1]. If the lifespan, activity density, and recent access time interval of two tabs are more similar, the lifecycle similarity between the two tabs is closer to 1. If tab i is a newly created tab and tab j is an old tab that has been alive for seven days, then Sim_lifecycle(i, j) is lower.
[0142] The significance and value of lifecycle similarity lies in its ability to provide intelligent grouping engines with an analytical perspective that focuses on the dynamic evolution over time. This not only makes the grouping results closer to the user's actual task structure and long-term interests, but also provides a proactive basis for decision-making regarding system performance optimization (resource management). Specifically, this is reflected in: ① We can characterize the deep connections between tabs from the perspective of the entire life cycle of the tabs. By quantitatively comparing the comprehensive performance of each tab in terms of survival time, activity density and recent access time, we can determine whether each tab shares a similar "life trajectory".
[0143] ② Accurately identify the persistent association between tasks and interests: For tabs that serve the same long-term task (such as various tabs involving documents, data, and communication in a project that lasts for several days), or tabs that reflect the user's persistent interests (such as multiple websites involved in a long-term tracked topic), even if the domain names and page content themes of these tabs are not exactly the same, a relationship can be established between these tabs through lifecycle similarity.
[0144] ③ Distinguish between instant browsing and in-depth browsing: It can effectively distinguish between "temporary tabs" (short lifespan, low activity density, and long interval between recent visits) and "core tabs" that users are deeply involved in and repeatedly view (long lifespan, high activity density, and short interval between recent visits), thus providing a basis for grouping decisions.
[0145] ④ Enable dynamic resource management and optimize system performance: By identifying "silent" tab groups with low lifecycle similarity and long recent access intervals, the controller can mark these silent tab groups as candidates for "hibernation" or "resource release". This allows the controller to intelligently release the resources occupied by each tab in the silent tab group when system resources (such as memory and CPU resources) are scarce, thereby improving the smoothness of browser application operation and achieving resource management optimization.
[0146] ⑤ Supporting Personalization and Adaptive Learning: User lifecycle patterns for different tabs can deeply reflect user habits and preferences. By continuously learning user lifecycle patterns for different types of tabs, the controller can dynamically adjust the weights of relevant indicators in the grouping strategy, making the grouping results increasingly consistent with users' long-term workflows and interest patterns, thus achieving dynamic adaptive management of tab grouping.
[0147] Step S5310: Weight the access time proximity, access time synchronization and lifecycle similarity between each tab to obtain the time correlation between each tab.
[0148] In some embodiments, the controller can run a browser application to perform a weighted calculation on the access time proximity Sim_open(i, j), access period synchronization Sim_period(i, j), and lifecycle similarity Sim_lifecycle(i, j) between tab i and tab j to obtain the time correlation Sim_time(i, j) between tab i and tab j. The calculation formula for Sim_time(i, j) is as follows: Sim_time(i, j) = ω1 × Sim_open(i, j) + ω2 × Sim_period(i, j) + ω3 × Sim_lifecycle(i, j).
[0149] Wherein, ω1 is the access time proximity weight, ω2 is the access time synchronization weight, and ω3 is the lifecycle similarity weight. Optionally, ω1=0.5, ω2=0.3, and ω3=0.2.
[0150] Temporal relevance is calculated by weighting three dimensions: proximity of access time, synchronization of access periods, and similarity of lifecycle. When users search for information, they often open multiple search result pages in a short period of time. These pages may come from different domains and have different content themes. Page content similarity may not be effective and accurate in associating these pages. Temporal relevance can capture this time clustering feature within the "same search session" and identify them as belonging to the same group. "Zombie tabs" that have not been accessed for a long time are significantly different from recently active tabs in terms of time characteristics. Temporal relevance can help the intelligent grouping engine distinguish between "recently active groups" and "long-term dormant groups" and prioritize the display of recently active groups when presenting grouped data, thus achieving grouping priority based on distinguishing between new and old tabs. Some users have periodic and regular browsing habits, such as browsing news pages every morning and video pages every evening. Temporal relevance analyzes the synchronization pattern of these access periods and considers grouping tabs with the same access cycle rhythm into the same group. When domain similarity and content theme similarity offer conflicting grouping suggestions—for example, two tabs with different domains but similar content themes, or the same domain but different content themes—temporal relevance, as an independent third-party signal, uses time-based evidence to help determine whether the two tabs are truly related, thus helping to eliminate grouping ambiguity and uncertainty. In this way, by analyzing and discovering the temporal correlations between user interactions with each tab, the granularity of grouping decisions is expanded, grouping accuracy is improved, and grouping becomes more aligned with user behavior and preferences.
[0151] Step S54: Weight the page content similarity, user behavior correlation, and time correlation among the tabs to construct a multi-dimensional fusion similarity matrix among the tabs.
[0152] In some embodiments, the controller can run a browser application to perform weighted calculations on the page content similarity, user behavior correlation, and time correlation between tabs to obtain a multidimensional fusion similarity between tabs, and construct a multidimensional fusion similarity matrix Z. The multidimensional fusion similarity matrix Z is an N×N symmetric matrix (N rows and N columns), where N is the total number of tabs to be grouped. Z(i, j) represents the component in the i-th row and j-th column of the multidimensional fusion similarity matrix Z, and Z(i,j) = Sim_total(i,j), where Sim_total(i,j) is the multidimensional fusion similarity between tab i and tab j.
[0153] In some embodiments, the controller can obtain Sim_page(i,j) by running a browser application and performing a weighted calculation on the page content similarity Sim_page(i,j), user behavior relevance Sim_behavior(i,j), and time relevance Sim_time(i,j).
[0154] That is, Sim_total(i,j) = w1 × Sim_page(i,j) + w2 × Sim_behavior(i,j) + w3 × Sim_time(i,j). Where w1 is the page content similarity weight, w2 is the user behavior relevance weight, and w3 is the time relevance weight. Optionally, w1 = 0.7, w2 = 0.2, and w3 = 0.1.
[0155] Figure 10 This is a schematic diagram of the fusion structure of multidimensional fusion similarity provided in some embodiments of this application.
[0156] like Figure 10 As shown, multi-dimensional similarity fusion includes page content similarity, user behavior relevance, and time relevance. Page content similarity includes domain name similarity and content theme similarity; user behavior relevance includes co-occurrence frequency, bidirectional switching relevance, and dwell pattern similarity; and time relevance includes access time proximity, access time synchronization, and lifecycle similarity. By using multi-level, multi-granularity, and expanded similarity metrics, grouping decisions are made based on the spatiotemporal correlation patterns of tab attributes and user behavior, thereby improving the accuracy of browser tab grouping.
[0157] Step S55: Perform cluster analysis based on the multidimensional fusion similarity matrix between each tab to obtain the target number of grouping information.
[0158] In some embodiments, the grouping information obtained through cluster analysis includes: group identifiers and the set of tabs contained in each group. The group identifier is used to distinguish and identify groups (i.e., tab groups), and includes, but is not limited to, at least one of group ID, group name, and group visual identifier. The group visual identifier includes, but is not limited to, at least one of group icon, group color identifier, group fill identifier, and other group style identifiers.
[0159] Figure 11 This is a flowchart illustrating how clustering analysis is performed based on a multidimensional fusion similarity matrix between tabs to obtain a target number of grouping information, as provided in some embodiments of this application.
[0160] like Figure 11 As shown, step S55 specifically includes: Step S551: Convert the multidimensional fusion similarity matrix between each tab into a distance matrix between each tab.
[0161] In some embodiments, the controller can run a browser application to convert the multidimensional fusion similarity matrix Z into a distance matrix D. The distance matrix D is also an N×N symmetric matrix (N rows and N columns), where D(i, j) represents the distance value corresponding to the component in the i-th row and j-th column of the distance matrix D, and D(i,j)=1-Sim_total(i,j). This linearly maps Sim_total(i,j) to distance values, thus realizing the conversion of the multidimensional fusion similarity matrix Z to the distance matrix D.
[0162] The distance matrix D is a quantitative representation of the degree of difference between tabs. It is the core input and driver of cluster analysis, satisfying the requirement of cluster analysis algorithms for measuring "dissimilarity" and providing a global, quantitative tab relationship graph for subsequent intelligent grouping. The D(i, j) component represents the comprehensive difference between tabs i and j in terms of page content, user behavior habits, and time patterns. The smaller D(i, j), the more similar tabs i and j are. For the diagonal components, such as D(i, i), the distance between tab i and itself is guaranteed and is usually defined as 0. This abstracts the complex, multi-dimensional relationships between tabs into a single, quantifiable, and comparable distance value, enabling the computer to make grouping decisions based on purely mathematical rules (rather than subjective assumptions).
[0163] Step S552: Based on the distance matrix between each tab, output a hierarchical tree using an agglomerative hierarchical clustering algorithm.
[0164] In some embodiments, the controller can run a browser application, taking the distance matrix D as input, to perform Agglomerative Hierarchical Clustering (AHC) analysis, ultimately outputting a hierarchical clustering dendritic chart. The dendritic chart records the complete grouping process of all tabs from separation to aggregation in a tree-like structure, hierarchically representing the grouping structure. The principle of agglomerative hierarchical clustering is to treat N tabs as independent clusters, each cluster containing at least one tab. This is achieved by repeating N-1 iterations of merging until a preset number of groups is reached, or until N tabs are merged into one cluster, recording each merging step.
[0165] In some embodiments, step S552 specifically includes: ① The controller can run a browser application to add N tabs as independent clusters to the cluster set in the initial stage, with each independent cluster initially acting as a cluster node. Using the distance matrix D and the cluster set as the basic data, the distance between any two clusters in the cluster set (referred to as: inter-cluster distance) is calculated using the average linking method.
[0166] Taking any two clusters C_a and C_b in the cluster set as an example, the inter-cluster distance D_cluster(C_a,C_b) between clusters C_a and C_b is calculated as follows: D_cluster(C_a,C_b)=(1÷|C_a|×|C_b|)×Σ(x∈C_a, y∈C_b) D(x, y); Where |C_a| represents the number of tabs in cluster C_a (i.e., the size of cluster C_a), |C_b| represents the number of tabs in cluster C_b (i.e., the size of cluster C_b), |C_a|×|C_b| represents the total number of all possible tab pairings (x, y) in clusters C_a and C_b, and D(x, y) is the distance between tab x and tab y in the distance matrix D. The mathematical meaning of Σ(x∈C_a, y∈C_b) D(x, y) is: traversing all tabs x in cluster C_a and all tabs y in cluster C_b, summing the D(x, y) corresponding to all possible tab pairings (x, y).
[0167] D_cluster(C_a,C_b) represents the average distance (also known as average link) between clusters C_a and C_b. D_cluster(C_a,C_b) does not take the nearest point (single link) nor the farthest point (full link), but rather comprehensively considers the relationships between all point pairs in the two clusters. It uses the average link to measure the closeness and similarity between clusters C_a and C_b; in other words, the average link is a "measuring stick" for quantifying the overall dissimilarity between two clusters. A larger D_cluster(C_a,C_b) indicates lower similarity between clusters C_a and C_b, and vice versa. A smaller D_cluster(C_a,C_b) indicates greater similarity between clusters C_a and C_b.
[0168] ② The controller can find the cluster pair with the smallest distance (C_p,C_q) by running a browser application, that is, (C_p,C_q)=argmin D_cluster(C_a,C_b).
[0169] The purpose of the argmin operation is to find the input value (i.e., the independent variable) that makes the D_cluster() function reach its minimum value. In other words, when the independent variable is a cluster pair of clusters C_p and C_q, D_cluster(C_p, C_q) is the minimum value of the D_cluster() function.
[0170] ③ The controller can merge clusters C_p and C_q by running a browser application to obtain a new cluster C_new, i.e., C_new = C_p ∪ C_q. At this time, cluster C_new becomes a new cluster node, and cluster C_new is the parent node of clusters C_p and C_q. After this cluster merge is completed, the merge height of the corresponding C_new cluster node is recorded.
[0171] The merge height is the average distance between two clusters being merged into the same cluster; that is, the merge height corresponding to the C_new cluster node is D_cluster(C_p, C_q). The merge height is a quantitative indicator of branch length in a hierarchical tree, reflecting the degree of difference between the two clusters being merged. The merge height characterizes the similarity threshold that needs to be "crossed" when merging two clusters into a new cluster. A higher merge height indicates greater differences between the two clusters before merging; a lower merge height indicates that the two clusters were originally quite similar.
[0172] ④ The controller can update the cluster set by running a browser application to remove clusters C_p and C_q from the cluster set and add cluster C_new to the cluster set.
[0173] Based on the updated cluster set, repeat steps ① to ④ in the above agglomerative hierarchical clustering process, continuously iterating and merging. Each cluster merge will generate a higher-level cluster node, realizing the "iterative growth" of the hierarchical tree, until the preset maximum number of groups is reached, or until all tabs are merged into a final cluster, and the cluster node corresponding to the final cluster is the root node of the entire hierarchical tree.
[0174] ⑤ The controller can output a hierarchical tree by running a browser application. The hierarchical tree clearly records all possible grouping levels from the finest to the coarsest granularity, from bottom to top. Users or systems do not need to run complex grouping algorithms; they can simply "cut" the hierarchical tree at different heights based on the merging height threshold to obtain grouping results of different granularities (i.e., the number of groups).
[0175] Step S553: Segment the hierarchical tree to obtain the target number of candidate clusters, each candidate cluster including a set of tabs consisting of at least one tab.
[0176] In some embodiments, the controller can convert the hierarchical tree grouping logic into a visual tree diagram by running a browser application. The horizontal axis of this tree diagram represents the identifier of each cluster node, and the vertical axis represents the merging height corresponding to each cluster node. This is achieved by setting a merging height threshold H. y Cut the hierarchical tree at the specified point ("pruning") so that the merge height does not exceed the merge height threshold H. y Cluster nodes are preserved if the merge height is higher than the merge height threshold H. y Cluster nodes are truncated, thus dividing the hierarchical tree into the target number of groups. Merging height threshold H y The larger the value, the more groups are formed; conversely, the smaller the value, the lower the merging height threshold H. y The smaller the value, the fewer the number of groups.
[0177] In some embodiments, assuming there are 5 tabs to be grouped in a browser application, namely tab 1, tab 2, tab 3, tab 4, and tab 5, the merging process of agglomerative hierarchical clustering is as follows: 1. Initial state: 5 tabs as independent clusters, with a combined height of 0 (group number is 5).
[0178] 2. First merge: Merge tab 1 and tab 2, with a merge height of 0.2 (group number reduced to 4).
[0179] 3. Second merge: Merge tab 3 and tab 4, with a merge height of 0.3 (group number reduced to 3).
[0180] 4. Third merge: merge (tab1 + tab2) and (tab3 + tab4), merge height is 0.5 (group number reduced to 2).
[0181] 5. Fourth merge: Merge (Tab 1 + Tab 2 + Tab 3 + Tab 4) and Tab 5, with a merge height of 0.8 (group number reduced to 1).
[0182] The final generated hierarchical tree contains 4 merged records. Assuming the user sets the merge height threshold to 0.5, cutting based on this merge height threshold yields two candidate clusters. Candidate cluster 1 has a tab set of {tab1, tab2, tab3, tab4}, and candidate cluster 2 has a tab set of {tab5}.
[0183] In some embodiments, the controller can determine the number of groups (i.e., the target number) based on the total number of tabs N by running a browser application. For example, if the total number of tabs N is less than a first number threshold (e.g., 3), the target number is determined to be zero, meaning grouping is not recommended, and only the tabs in the tab bar are sorted and optimized, such as placing the tabs corresponding to the pages that the user is most interested in at the top of the tab bar.
[0184] In some embodiments, if the total number of tabs N is greater than a first quantity threshold but less than a second quantity threshold (e.g., 10), the target quantity is set to a first preset value. For example, when the total number of tabs N is 8, they are automatically divided into 2 or 3 groups.
[0185] In some embodiments, if the total number of tabs N is greater than a second threshold, the number of groups can be increased, and the target number can be set to a second preset value. For example, when the total number of tabs N exceeds 10, it is automatically divided into 3 to 5 groups.
[0186] The above-mentioned grouping quantity decision method achieves coarse grouping or no grouping when the number of tabs is small, and fine grouping when the number of tabs is large. That is, it depends on the number of tabs contained in the tab bar. This method does not take into account users' grouping preferences and merging tendencies, resulting in the number of groups not meeting users' expectations.
[0187] Figure 12 This is a flowchart illustrating the process of segmenting a hierarchical tree to obtain a target number of candidate clusters, provided for some embodiments of this application.
[0188] like Figure 12 As shown, in step S553, "segmenting the hierarchical tree to obtain the target number of candidate clusters", the number of groups can be determined based on the silhouette coefficient maximization algorithm, that is, the value of the target number is determined, specifically including: Step S5531: Determine the candidate range for the number of groups based on user preference group size and user merging tendency rate.
[0189] In some embodiments, the candidate range for the number of groups Q is [Q_min, Q_max].
[0190] In some embodiments, Q_min=Max(2, N÷(P_group_size×(1+P_merge_rate)) ).
[0191] In some embodiments, Q_max=Min(N-1, N÷Max(2,P_group_size×(1-P_merge_rate)) ).
[0192] Here, P_group_size represents the user's preferred group size, representing the average number of tabs the user expects to include in each group. For example, if P_group_size=4, the browser application prefers to generate a group structure containing 4 tabs per group. The controller can obtain the P_group_size value by running the browser application and collecting historical data on users' manual grouping. For instance, if a user has manually grouped 10 times in the past 30 days, with an average of 3.5 tabs per group, then P_group_size is set to 3.5. If the user has never manually grouped, the default value is the global statistical value, which is the average preferred group size of all users across the network. During intelligent grouping, the controller can adjust P_group_size in real time based on the user's interaction with the grouping results (e.g., the user frequently merging 5 tabs into 2 groups).
[0193] Here, P_merge_rate represents the user's merging tendency rate, characterizing the probability that a user is inclined to merge similar tabs during the grouping process. In other words, it represents the user's propensity to merge similar tabs. For example, if P_merge_rate = 0.6, the browser application is more likely to merge tabs in the relevance similarity calculation (high merging tendency). The controller can run the browser application to count the frequency of users performing manual merging operations (e.g., a user performed 5 merge operations in the past hour) and set P_merge_rate based on the frequency of manual merging operations. If the user never actively merges, the default algorithm preset value (default is 0.5) is used. If the user frequently switches between two tabs (e.g., switches 5 times in 2 minutes), it is considered to have a high merging tendency, and P_merge_rate can be increased. If the user stays in a single group for a long time, P_merge_rate can be decreased.
[0194] Where N represents the total number of tabs to be grouped, " indicates floor function, Max() is for finding the maximum value." "" represents the floor function, and "Min()" represents the minimum value.
[0195] By using P_group_size and P_merge_rate to determine the candidate range for the number of groups, the system can constrain the number of groups based on users' grouping habits and preferences, thus avoiding the number of groups not meeting user expectations.
[0196] Step S5532: Sample from the candidate range to obtain the intra-group density and inter-group separation of each tab page under different group numbers.
[0197] In some embodiments, the controller can sample from [Q_min, Q_max] by running a browser application, where the sampled value is Q, i.e., Q∈[Q_min, Q_max]. The resulting hierarchical tree is then cut to obtain Q groups, denoted as {G(1), G(2), ..., G(Q)}.
[0198] In some embodiments, the controller can calculate the intra-group density a(u) for any tab u when the number of components is Q by running a browser application. The intra-group density a(u) represents the average distance between tab u and other tabs in the same cluster. The smaller the intra-group density a(u), the closer tab u is to its cluster / group members (i.e., the smaller the difference). Thus, tab u is more compact (lower dispersion), less abrupt, and more similar to its cluster / group members. Therefore, the intra-group density a(u) is a key quantitative indicator for evaluating whether tab u is clustered together according to its similarities.
[0199] In some embodiments, a(u) = (1 ÷ (|G(u)| - 1)) × Σ(v ∈ G(u), v ≠ u) D(u, v). Here, u refers to tag u, G(u) represents the cluster or group to which tag u belongs in {G(1), G(2), ..., G(Q)}, and |G(u)| represents the number of tags contained in G(u). v refers to other tags v in G(u) besides tag u, i.e., v ∈ G(u) and v ≠ u. |G(u)| - 1 is the number of other tags v in G(u) besides tag u. D(u, v) is the distance value between tag u and tag v, D(u, v) = 1 - Sim_total(u,v), where Sim_total(u,v) is the multidimensional fusion similarity between tag u and tag v. Σ(v∈G(u), v≠u) D(u, v) represents the sum of distances between tab u and other tabs v within G(u).
[0200] In some embodiments, the controller can run a browser application to calculate the inter-group separation degree b(u) for any tab u when the number of components is Q. The inter-group separation degree b(u) characterizes the mean distance between tab u and other neighboring clusters. Here, "neighboring clusters" refers to other clusters or groups in {G(1), G(2), ..., G(Q)} other than G(u). The inter-group separation degree b(u) is used to quantify the degree of separation (closeness) or difference between tab u and other neighboring clusters, and is a key indicator for evaluating whether a single tab u has "clear boundaries".
[0201] In some embodiments, b(u) = Min(d(u, G(r))), d(u, G(r)) = (1 ÷ |G(r)|) × Σ(p ∈ G(r)) D(u,p). Here, u refers to the tab u, and G(r) represents other clusters or groups in {G(1), G(2), ..., G(Q)} other than G(u), i.e., G(r) ≠ G(u). d(u, G(r)) represents the average distance between tag u and G(r), and Min() is the minimum value operation. |G(r)| represents the number of tags contained in G(r). p is used to refer to any tag p in G(r), i.e., p∈G(r). D(u,p) is the distance value between tag u and tag p, D(u,p)=1-Sim_total(u,p), and Sim_total(u,p) is the multidimensional fusion similarity between tag u and tag p. Σ(p∈G(r)) D(u,p) represents the sum of distances between tag u and all tags in G(r).
[0202] Ideally, the value of b(u) should be as large as possible, while the value of a(u) should be as small as possible. This means that tag u is not only closely grouped with its own cluster members, but also has a significant distance and difference from its neighboring clusters. This indicates that tag u is assigned to the most suitable group, with clear boundaries between it and other groups. If the value of b(u) is very small, even less than or close to a(u), it means that tag u is closer to its neighboring clusters than to its own cluster members. This suggests that tag u may be more suitable to be assigned to the nearest neighbor cluster, and the current grouping scheme may be unreasonable. A high-quality intelligent grouping scheme tends to maximize the inter-group separation of each tag and minimize the intra-group compactness, achieving a global grouping effect of high intra-group compactness and significant inter-group separation.
[0203] Step S5533: Based on the intra-group tightness and inter-group separation of each tab under different group numbers, and based on the total number of tabs opened by the browser application, calculate the global average profile coefficient corresponding to different group numbers.
[0204] In some embodiments, the controller can calculate the silhouette coefficient s(u) corresponding to tab u based on the intra-group tightness a(u) and inter-group separation b(u) by running a browser application. The silhouette coefficient is a quality indicator used to measure the intelligent grouping results of tabs. It is used to evaluate the effectiveness of clustering (or grouping) algorithms, determine whether the grouping results are "cohesive and disjoint" (i.e., high similarity of tabs within a group (tight clustering) and large differences of tabs across groups (disjointness), evaluate the appropriateness of grouping each tab, and guide the clustering algorithm to find the optimal grouping results.
[0205] In some embodiments, s(u) = (b(u) - a(u)) ÷ Max(a(u), b(u)), and the value range of the silhouette coefficient s(u) is [-1, 1]. The larger the value of s(u), the higher the grouping quality of the tab page u. If b(u) >> a(u), it indicates that the tab page u is very close to the members of the same group and is significantly separated from other groups, so the grouping quality is excellent, and the tab page u is assigned to the most suitable group. If b(u) ≈ a(u), it indicates that the distance between the tab page u and the current group and the nearest group is almost close, and the tab page u is at the boundary, so the component quality is ambiguous, that is, the grouping of the tab page u is not clear, and it is recommended to re-divide. If b(u) < a(u), it indicates that the average distance of the tab page u to a certain other group is closer than to the current group, so the grouping quality is poor, and the tab page u is likely to be misassigned to the current group.
[0206] In some embodiments, the controller can calculate the global average silhouette coefficient SC(Q) corresponding to different grouping numbers Q by running a browser application based on the silhouette coefficient corresponding to each tab page and the total number of tab pages N. SC(Q) = (1 ÷ N) × Σs(u), where Σs(u) represents the sum of the silhouette coefficients corresponding to N tab pages, that is, the global average silhouette coefficient SC(Q) is the mean value of the silhouette coefficients corresponding to N tab pages after grouping based on the Q value. The global average silhouette coefficient SC(Q) is used to measure the global quality of the clustering analysis under the action of different grouping numbers Q. The larger the value of SC(Q), the more that under the grouping number Q, the vast majority of tab pages can generally be clearly and correctly assigned to the appropriate groups, the members within the groups are highly similar, and the differences between groups are significant, and the grouping quality is higher. The smaller the value of SC(Q), the less satisfactory the grouping quality, and many tab pages are misclassified. Therefore, SC(Q) is an important indicator for evaluating the optimal grouping number to achieve the maximization of intra-group similarity and inter-group difference.
[0207] Step S5534, determine the grouping number corresponding to the maximum value of the global average silhouette coefficient as the target number.
[0208] In some embodiments, the controller can run a browser application to traverse and calculate SC(Q) corresponding to each grouping number Q (Q ∈ [Q_min, Q_max]), and screen out the Q value corresponding to the maximum value of SC(Q) (denoted as ), that is = argmaxSC(Q). In this way, by screening the value used in the grouping scheme with the highest quality and taking the value as the optimal grouping number (i.e., the target number), finally, under the condition of dividing into groups, the maximization of intra-group similarity and inter-group difference of the global tab pages is achieved. Through quality analysis, the optimal target number can be selected Avoid fixing the number of groups and avoid making blind or coarse-grained decisions about the number of groups.
[0209] Figure 13 This is a schematic diagram of a hierarchical tree structure output by an agglomerative hierarchical clustering algorithm, provided in some embodiments of this application.
[0210] like Figure 13 In the tree structure shown, the bottom layer includes tabs 1, 2, 3, 4, and 5. Before merging, these five tabs form independent clusters, resulting in 5 groups. During the first merge, tabs 1 and 2 are merged into cluster A, while tabs 3, 4, and 5 remain independent clusters, increasing the number of components to 4. During the second merge, tabs 3 and 4 are merged into cluster B, and tab 5 remains an independent cluster, increasing the number of components to 3. During the third merge, clusters A and B are merged into cluster C, and tab 5 remains an independent cluster, increasing the number of components to 2. During the fourth merge, clusters C and tab 5 are merged into cluster D, increasing the number of components to 1.
[0211] By using the constraint Q∈[Q_min, Q_max], we select Q=2 and Q=3 that satisfy the constraint conditions. We calculate the global average profile coefficient SC(2) = 0.68 when Q=2 and the global average profile coefficient SC(3) = 0.72 when Q=3. Then we determine... The final grouping results will include the following grouping information: Group 1 (Shopping): {Tab 1, Tab 2}; Group 2 (News): {Tag 3, Tag 4}; Group 3 (Sports): {Tag 5}.
[0212] In some embodiments, the controller can run a browser application to calculate the average distance d(u, G(r)) between tabs u with a silhouette coefficient s(u) less than 0 and other non-family clusters G(r), and reassign tabs u to the cluster corresponding to argmin d(u, G(r)). The controller ensures that the global average silhouette coefficient does not decrease after the reassignment of tabs u. If the global average silhouette coefficient decreases, the controller reverts to the original grouping result, ensuring that each merging and clustering operation improves or at least does not impair the grouping quality.
[0213] In some embodiments, the controller can run a browser application to detect the number of tabs contained in each group. If an empty group with 0 tabs is detected, the empty group is eliminated to ensure the validity of the grouping. If a single-element group with 1 tab is detected, it indicates that there is an isolated tab u in the grouping result. This isolated tab u can be merged into the target cluster / target group corresponding to argmin d(u, G(r)), and it is ensured that the intra-group tightness a(u) of the merged tab u relative to the target cluster / target group does not exceed a threshold (e.g., 0.7), ensuring that the tabs in the merged group have basic similarity and avoiding inefficient merging that leads to excessive looseness within the group.
[0214] Step S554: Generate grouping information corresponding to each candidate cluster to obtain the target number of grouping information.
[0215] In some embodiments, the controller can run a browser application to construct corresponding groups based on the set of tabs contained in each candidate cluster. It can also set group identifiers based on the page content type of each tab within each group, thereby generating grouping information for each candidate cluster and ultimately obtaining the target number of grouping information. Through multi-dimensional similarity fusion and agglomerative hierarchical clustering analysis, a high-precision, traceable, and more flexible grouping mechanism is achieved.
[0216] Continuing the previous example, let's construct Group1, which maps candidate cluster 1. Group1 contains the set of tabs {tab1, tab2, tab3, tab4}. Assuming that tabs 1, 2, 3, and 4 all correspond to shopping websites, we can set the group name of Group1 to "Shopping" and assign a visual identifier related to the theme of "Shopping" to Group1. Similarly, let's construct Group2, which maps candidate cluster 2. Group2 contains the set of tabs {tab5}. Assuming that tab5 corresponds to a news website, we can set the group name of Group2 to "News" and assign a visual identifier related to the theme of "News" to Group2.
[0217] In some embodiments, the grouping results finally output by the AHC model may include, but are not limited to: the group identifier corresponding to each group, the set of tab IDs consisting of tab IDs, the average similarity within the group, and the nearest neighbor group information between groups.
[0218] The average similarity within a group is calculated as 1 - the average distance within the group. Average similarity within a group is a metric used to evaluate the quality of aggregation within a group, specifically the degree of similarity between tabs within the same group. The uses of average similarity within a group include: ① When displaying group preview pages, the controller can determine the display order of groups based on their average similarity within the group, or assign special labels. For example, groups with high average similarity within the group (such as highly related pages within the "Shopping" group) can be prioritized for display or marked as "highly cohesive groups," indicating high consistency in their internal content, facilitating overall user management or operation; ② If the average similarity within a group is too low, it may mean that the clustering result is unsatisfactory, or that the group itself contains overly heterogeneous pages. In this case, the controller can re-evaluate or attempt to further split the group in subsequent groups; ③ Average similarity within a group can serve as supplementary information, helping the browser's intelligent grouping engine determine whether a group has similar resource consumption patterns due to "functional / content similarity," thus providing decision support for unified management (such as unified hibernation).
[0219] The nearest neighbor information between groups represents the correlation between different groups, enabling the identification of closely related groups during user interaction and subsequent system processing. When displaying group preview pages to users, the controller can utilize this information to logically group closely related groups together or provide quick navigation, such as prompting users with related neighboring groups when focusing on the current group, facilitating focused operation. When users search or look up content, if the target content is not in the current group, the controller can prioritize suggesting that users view its nearest neighbor groups, thereby improving search efficiency. For example, if a user cannot find a news item in the "Sports News" group, the system can suggest that the user search in the potentially related "Sports Videos" group.
[0220] Step S56: Control the display to show the group preview page on the top layer of the browser interface, and display the target number of group information in the group preview interface.
[0221] Figure 14 This is a schematic diagram illustrating the display of a group preview page on top of a browser interface, as provided in some embodiments of this application.
[0222] In some embodiments, such as Figure 14 As shown, after obtaining the grouping information, the controller can control the display to show the group preview page 42 on top of the browser interface 40, and display the group bar 421 within the group preview page 42. The group bar 421 includes the target quantity ( ) Grouping buttons 421a.
[0223] In some embodiments, such as Figure 14As shown, the group button 421a displays the corresponding group identifier, which includes the group name and the group visual identifier. The group visual identifier includes at least one of the following: group icon, group color identifier, or other group style identifier.
[0224] In some embodiments, such as Figure 14 As shown, taking the group button 421a corresponding to the shopping group as an example, this group button 421a displays the group name (i.e., "Shopping") and the group icon (i.e., the shopping cart icon). The background color of the group button 421a is set to the color mapped by the group color identifier to present the group color identifier, thereby achieving... Figure 14 The example shows how the grouping buttons work.
[0225] In some embodiments, such as Figure 14 As shown, taking the group button 421a corresponding to the video group as an example, the group button 421a displays the group name (i.e., "video") and the group icon (i.e., the video icon). The group button 421a is filled with a texture style mapped from the group style identifier to present the group style identifier, thereby achieving... Figure 14 The example shows how the grouping buttons work.
[0226] In some embodiments, a mapping relationship between group names and group color codes can be set based on the page content type associated with each group. For example, the shopping group is mapped to red, the workgroup and study group to blue, the lifestyle and health group to green, the video group and leisure group to yellow, and the news group and information group to purple, etc.
[0227] In some embodiments, group color coding and other group styles can be system presets or can be customized by users through a browser application. When logging into different accounts in the browser application, each user can customize the color, texture, and other styles of each group mapping based on their own preferences.
[0228] In some embodiments, the controller can further subdivide each group (major category) into subgroups (minor categories) by running a browser application. For example, the shopping group can be categorized by e-commerce platform and product type; the news group can be categorized by news source and news topic (e.g., sports news, international news, and entertainment news); the video group can be categorized by video platform and video content type; and the social group can be categorized by platform involved and interaction type. The controller can control the display to show group buttons and their associated subgroup buttons within the group bar 421, setting a primary color for the group buttons and an auxiliary color for the subgroup buttons. For example, the group button for the shopping group might be bright red, the subgroup button for e-commerce platform A might be light red, and the subgroup button for the tab of e-commerce platform B might be dark red.
[0229] In some embodiments, for the group to which the active tab belongs, or the key group that the user is focusing on browsing based on dwell behavior data, such groups are target groups with high user preference. When the display starts to display the group preview page 42, the controller can control the display to display the group button corresponding to the target group at the top of the group bar 421, and make the remote control focus on the group button corresponding to the target group, and perform focus enhancement display on the group button corresponding to the target group.
[0230] like Figure 14 As shown, assuming a user frequently visits shopping-related web pages, or if the currently active tab is shopping-related, the target group is determined to be the shopping group. The shopping group's group button is then displayed at the top of group bar 421 to allow users to quickly locate their target group. Focus enhancement effects are added to the shopping group's corresponding group button, including but not limited to: enlarging the group button, flashing the group button, bolding the group name text, and adding a focus box, to make the focused group button visually distinct from other group buttons.
[0231] In some embodiments, such as Figure 14 As shown, the controller can control the display to show a preview image 421b of the page content corresponding to each tab in the set of tabs contained in the target group on the group preview page 42. The page content preview image 421b is used to display the page content corresponding to the tab. The page content preview image 421b can be obtained by the controller calling a screenshot software to capture the page content image when it detects that the user has left the tab, and then scaling the page content image. Each page content preview image 421b is bound to a corresponding tab jump link. Suppose the user clicks the page content preview by operating the remote control. Figure 2 The controller then responds to the user clicking on the page content preview. Figure 2 The operation to get a preview of the page content. Figure 2 The linked redirect link will redirect the user to a preview of the page content. Figure 2 The corresponding webpage.
[0232] In some embodiments, such as Figure 14 As shown, the group preview page 42 also includes a close button (a cross-shaped button at the bottom). In response to the user clicking the close button, the controller controls the display to close the group preview page 42.
[0233] The visual identification of groups on the group preview page 42 avoids the problem of relying on titles and domain names to identify tabs due to similar tab / group button appearances. This enables rapid visual positioning of groups on large screens, utilizes color psychology to improve recognition efficiency, and reduces the cognitive load of groups (especially for the elderly and children). This allows users to intuitively find groups of interest more quickly and locate target pages from these groups, improving operational and browsing efficiency. By automatically focusing on the group to which the most active tab belongs or the key group, the group with the highest user browsing probability is highlighted, making it easier for users to quickly find target tabs from the focused groups and improving the efficiency of tab switching and navigation.
[0234] In some embodiments, the browser application may have a parental lock, which activates child protection mode when the parental lock is enabled. In child protection mode, the controller can limit the number of groups, use more intuitive and clear visual group identifiers, and provide a simplified browser interface for easier identification and operation by children.
[0235] In some embodiments, the foregoing is based on Figure 10 The example demonstrates multidimensional fusion similarity and evaluates grouped clustering based on the silhouette coefficient maximization method to obtain the optimal number of groups. While methods like these can improve the accuracy of browser tab grouping and enhance the adaptability of grouping to user behavior / preferences, the algorithms are relatively complex, consume significant system resources during program execution, increase system load, and may lead to system instability and stuttering. In some embodiments, the controller can acquire system status parameters and, when it detects that system resources are limited, dynamically adjust the execution granularity and display method of the grouping strategy to ensure that the grouping algorithm does not exacerbate the system burden, while optimizing the presentation priority of the grouping results through resource awareness.
[0236] In some embodiments, the controller can collect system status parameters in real time, including memory usage (Mem_usage), system load (CPU_load), and network latency (Net_latency, in milliseconds). These three parameters are normalized and then weighted to obtain the Resource Pressure Index (RPI).
[0237] In some embodiments, RPI = δ1 × (Mem_usage ÷ 100) + δ2 × (CPU_load ÷ 100) + δ3 × Min(Net_latency ÷ L_max, 1). Where L_max is the normalized upper limit of network latency (default L_max = 3000ms), δ1 is the memory utilization weight, δ2 is the system load weight, and δ3 is the network latency weight. Optionally, δ1 = 0.5, δ2 = 0.35, and δ3 = 0.15. Since memory has the greatest impact on browser performance, the memory utilization weight δ1 is the highest. The RPI value range is [0, 1], and a larger RPI indicates greater system resource pressure.
[0238] In some embodiments, a first threshold is used to measure the limit of system resource pressure. When the RPI exceeds the first threshold, it indicates that system resources are strained. In this case, the controller can reduce the computational precision of the grouping algorithm by running a browser application and using a lightweight algorithm instead of the full algorithm, sacrificing grouping precision to avoid browser lag caused by the grouping operation itself. For example, the lightweight algorithm could be: ① performing dimensionality reduction operations on multidimensional fusion similarity, such as grouping browser tabs only based on page content similarity, thereby avoiding the consumption of system resources by complex calculations of user behavior correlation and time correlation; ② simplifying cluster analysis, such as using K-means clustering instead of agglomerative hierarchical clustering, thereby reducing the system resources consumed by clustering operations; ③ simplifying silhouette coefficient calculation, such as using within-group distance variance as a grouping quality evaluation index.
[0239] In some embodiments, when the RPI is greater than a first threshold, the browser application can determine the display complexity of the group preview page 42 based on the currently available memory and rendering capabilities, such as whether to load thumbnail previews or enable group animation effects, thereby reducing the system resources consumed when displaying the group preview page 42 from the UI rendering and display perspective, alleviating system pressure, and avoiding browser lag.
[0240] In some embodiments, the controller can monitor the system resource consumption of each group by running a browser application, filter out high-resource-consuming groups whose system resource consumption exceeds a second threshold, and close or put to sleep the tabs in the high-resource-consuming group when the RPI exceeds a first threshold. For groups containing high-resource-consuming pages such as large video pages, live streaming pages, and complex dynamic pages, the tabs within the group are highly similar, meaning they generally have high resource consumption, causing the overall system resource consumption of the group to exceed the limit. In this case, the browser can close the tabs in such groups to release resources and alleviate system pressure.
[0241] In some embodiments, "hibernating high-consumption groups" refers to an intelligent management strategy where the system actively reduces the activity of high-consumption groups to decrease their continuous consumption of system resources such as memory, CPU, and network bandwidth, thereby alleviating browser operating pressure. "Hibernation" is not the same as "closing tabs." Hibernation is a resource optimization state where the system temporarily freezes the background activities of high-consumption groups, such as pausing JavaScript execution, stopping video streaming, and clearing cache, but retains the tab's active state and content data. Users can still quickly resume normal use of high-consumption groups through interactive operations (e.g., clicking the group button 421a). Based on the resource consumption level of each group, the group with the highest resource consumption (e.g., video group, game group, etc.) is hibernated first.
[0242] Figure 15 This is a schematic diagram illustrating how a pop-up notification window is displayed on top of the browser interface when system resources are scarce, as provided in some embodiments of this application.
[0243] like Figure 15 As shown, the controller can run a browser application and, if it detects that the RPI is greater than the first threshold, filter high-consumption groups whose system resource consumption is greater than the second threshold. For example, if the high-consumption group is a video group, the controller can control the display to show a prompt pop-up window 43 on the upper layer of the browser interface 40.
[0244] like Figure 15 As shown, the pop-up window 43 includes a prompt message to suggest closing or hibernating the high-consumption group. An example of this message is: "Current resources are scarce; the video group is consuming a lot of resources. We recommend closing or hibernating the video group." The pop-up window 43 also includes a close button, a hibernation button, and a cancel button.
[0245] In some embodiments, in response to the user clicking the close button in the prompt pop-up 43, the controller closes all tabs in the high-consumption group (e.g., the video group). In response to the user clicking the sleep button in the prompt pop-up 43, the controller puts the high-consumption group into sleep mode. In response to the user clicking the cancel button in the prompt pop-up 43, the controller controls the display to close the prompt pop-up 43, without closing or putting the high-consumption group into sleep mode. This allows for the closure or sleep mode of the high-consumption group to be performed only after obtaining permission from the user, avoiding the user experience degradation caused by forcibly closing or sleeping the high-consumption group.
[0246] In some embodiments, after completing the intelligent grouping of tabs, a bookmark folder can be constructed based on the grouping information to realize a linkage mechanism between groups and bookmark folders. If the target number of grouping information includes newly added first grouping information, a first bookmark folder mapped to the first grouping information is created. The first tab that the user has bookmarked is retrieved from the tab set contained in the first grouping information, marked as a bookmark, and added to the first bookmark folder. That is, for each new group, a corresponding bookmark folder is created, and the tabs bookmarked by the user in the new group's tab set are automatically added as bookmarks.
[0247] In some embodiments, when an update to existing second group information is detected, the second bookmark folder mapped by the second group information is synchronously updated. For example, if the original second group information includes a set of tabs {tab1, tab2, tab4}, where tab1 and tab2 are bookmarked by the user, then the original second bookmark folder contains the bookmarks corresponding to tab1 and tab2.
[0248] If the updated second group information includes a set of tabs that is changed to {tab1, tab2, tab4, tab5}, that is, tab5 is added and tab5 is bookmarked by the user, then the browser application will add the bookmark corresponding to tab5 to the second bookmark folder.
[0249] If the updated second group information includes a set of tabs that is {tab2, tab4, tab5}, meaning tab1 has been removed, the browser application will simultaneously remove the bookmark corresponding to tab1 from the second bookmark folder. When the attributes of an old group change or tabs are added or removed, the bookmark folder mapped to that old group remains updated synchronously, making it convenient for users to find the target bookmark from the bookmark folder of the corresponding group, thus achieving automatic categorization and organization of bookmarks according to the group.
[0250] In some embodiments, a browser application may upload packet information to a server so that other electronic devices logged into the same browser account can request the packet information from the server.
[0251] This enables cross-device sharing of grouping information and seamless migration of personal browsing experience and grouping knowledge across devices. Users can access a smart grouping layout tailored to their habits and preferences without needing to re-manage tabs when opening the browser application on different devices. It also allows for cross-device inheritance and relay browsing of tab groups, enhancing inter-device collaboration. Synchronized grouping information and associated user behavior data to the server help build and continuously optimize a unified user operation profile on the server side. Regardless of the device a user is using, the system can provide consistent and accurate personalized grouping services based on the most comprehensive historical data, breaking down device silos and avoiding learning interruptions caused by device isolation. Smart groups can be saved as bookmark folders and support cross-device cloud synchronization. This means that groups are not just temporary page organization views, but can also be permanently saved and synchronized as structured bookmark sets, extending the management capabilities of smart groups from "single session" to long-term, cross-device collection and knowledge management.
[0252] In some embodiments, the browser application may be configured with a data acquisition module and an intelligent grouping engine. The data acquisition module is used to collect page content data, user behavior data, and system status parameters corresponding to the tabs opened by the browser application. The intelligent grouping engine is used to make grouping decisions based on the data collected by the data acquisition module and output grouping information.
[0253] The intelligent grouping engine can include a similarity calculation module, a clustering analysis module, and a learning and evolution module. The similarity calculation module calculates multi-dimensional fusion similarity based on page content data and user behavior data. The clustering analysis module performs agglomerative hierarchical clustering based on the distance matrix transformed from the multi-dimensional fusion similarity matrix and analyzes the optimal number of groups. The final output is grouping information. The learning and evolution module is used to summarize the patterns of user behavior and time patterns based on user behavior data, providing optimization directions and goals for the similarity calculation module and cluster analysis module, and realizing the iteration and evolution of the intelligent grouping engine.
[0254] In some embodiments, a computer storage medium is also provided, which may store a program. When the computer storage medium is configured in the display device 200, the program, when executed, may include the program steps involved in the browser tab grouping display method in the above embodiments. The computer storage medium may be a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM), etc.
Claims
1. A display device, characterized in that, include: The monitor is configured to display the browser interface; The control device is configured to receive interactive input from the user; The controller is configured as follows: After launching the browser application, in response to the grouping instruction, the page content data and user behavior data corresponding to the tab opened by the browser application are obtained; Based on the page content data corresponding to each tab, calculate the page content similarity between each tab; Based on the user behavior data corresponding to each tab, calculate the user behavior correlation and time correlation between each tab; The user behavior correlation degree represents the degree of correlation between the user's interactive operations on each tab, and the time correlation degree represents the degree of correlation between the user's interactive operations on each tab over time. The page content similarity, user behavior correlation, and time correlation between each tab are weighted to construct a multi-dimensional fusion similarity matrix between each tab; Cluster analysis is performed based on the multidimensional fusion similarity matrix between each tab to obtain a target number of grouping information, which includes a group identifier and a set of tabs contained in the group; The display is controlled to show a group preview page on top of the browser interface, and the target number of group information is displayed in the group preview page.
2. The display device according to claim 1, characterized in that, The page content data includes the domain name, page title, page description, page body text, and page keywords; The controller performs a calculation of the page content similarity between tabs based on the page content data corresponding to each tab, specifically configured as follows: The top-level domain, main domain, and subdomains of each tab's domain are matched hierarchically, and the matching values at each level are weighted to obtain the domain similarity between each tab. The page title, page description, page body, and page keywords of each tab are concatenated to obtain the page content text corresponding to each tab; Based on the page content text corresponding to each tab, obtain the word frequency-inverse file frequency vector corresponding to each tab; Calculate the cosine similarity between the word frequency-inverse file frequency vectors corresponding to each tab page to obtain the content topic similarity between each tab page; The similarity of domain names and content themes among the tabs is weighted to obtain the page content similarity among the tabs.
3. The display device according to claim 1, characterized in that, The user behavior data includes access counts, access timestamps, switching sequences, and dwell time data, wherein the switching sequence is a record of the switching order between tabs; The controller performs calculations based on user behavior data corresponding to each tab, determining the correlation between user behaviors across tabs, specifically configured as follows: Based on the number of visits and the timestamp of each tab, the co-occurrence frequency between the tabs is calculated; the co-occurrence frequency represents the frequency with which each tab is accessed in a co-occurrence manner, and the co-occurrence access refers to the interval between the timestamps of the tabs not exceeding a preset duration; Based on the switching sequence corresponding to each tab, the bidirectional switching correlation degree between each tab is calculated; the bidirectional switching correlation degree characterizes the frequency with which a user switches between two tabs. Based on the dwell behavior data corresponding to each tab, calculate the dwell pattern similarity between each tab; The dwell pattern similarity represents the similarity of users' focus on each tab; The co-occurrence frequency, bidirectional switching correlation, and dwell pattern similarity of each tab are weighted to obtain the user behavior correlation between each tab.
4. The display device according to claim 3, characterized in that, The controller performs calculations based on user behavior data corresponding to each tab, determining the temporal correlation between tabs, specifically configured as follows: Based on the access timestamp and decay time constant corresponding to each tab, an exponential decay similarity calculation is performed to obtain the access time proximity between each tab; the access time proximity characterizes the degree of closeness of the access times of each tab. Based on the number of visits and the timestamp of each tab, construct a time period distribution vector for each tab. The time period distribution vector represents the access frequency of the tab page in different time periods; Calculate the cosine similarity between the time period distribution vectors corresponding to each tab to obtain the access time synchronization degree between each tab. The access time synchronization degree represents the degree of synchronization between the access of each tab during the same time period; Based on the user behavior data corresponding to each tab, the survival time, activity density, and recent access time interval of each tab are statistically analyzed; wherein, the survival time represents the time span from the first access to the most recent access of the tab, the activity density represents the access frequency of the tab within a unit of time, and the recent access time interval represents the time difference between the time of the most recent access of the tab and the current system time. Based on the survival time, activity density, and recent access time interval of each tab, the lifecycle similarity between each tab is calculated; the lifecycle similarity characterizes the degree of similarity between each tab in terms of survival mode and activity cycle. The temporal correlation between tabs is obtained by weighting the access time proximity, access time synchronization, and lifecycle similarity among the tabs.
5. The display device according to claim 1, characterized in that, The controller performs clustering analysis based on the multidimensional fusion similarity matrix between each tab to obtain a target number of grouping information, specifically configured as follows: The multidimensional fusion similarity matrix between each tab is converted into a distance matrix between each tab, and the distance matrix represents the degree of difference between each tab. Based on the distance matrix between each tab, a hierarchical tree is output by an agglomerative hierarchical clustering algorithm. The hierarchical tree includes at least one cluster node and a merging height for each cluster node. The merging height is the average distance between two clusters merged into the same cluster node. Each cluster includes at least one tab. The hierarchical tree is segmented to obtain the target number of candidate clusters; Generate the grouping information corresponding to each candidate cluster.
6. The display device according to claim 5, characterized in that, The controller performs segmentation of the hierarchical tree to obtain a target number of candidate clusters, specifically configured as follows: The candidate range for the number of groups is determined based on user preference group size and user merging tendency rate; wherein, user preference group size represents the average number of tabs that users expect to be included in each group, and user merging tendency rate represents the probability that users tend to merge similar tabs during the grouping process; Sampling is performed from the candidate range to obtain the intra-group density and inter-group separation of each tab page under different group numbers; wherein, the intra-group density is the average distance between any tab page and other tab pages in the same cluster, and the inter-group separation is the average distance between any tab page and its nearest neighbor cluster; Based on the intra-group tightness and inter-group separation of each tab under different grouping numbers, and based on the total number of tabs opened by the browser application, the global average profile coefficient corresponding to different grouping numbers is calculated; the global average profile coefficient is used to measure the global quality of cluster analysis. The number of groups corresponding to the maximum value of the global average contour coefficient is determined as the target number.
7. The display device according to claim 1, characterized in that, The group identifier includes a group name and a group visual identifier, and the group visual identifier includes at least one of a group color identifier and a group icon; The controller controls the display to show a group preview page on top of the browser interface, and displays the target number of group information within the group preview page, specifically configured as follows: Control the display to show the group bar within the group preview interface; The control display shows a target number of group buttons in the grouping bar, and displays the corresponding group identifier in the group buttons; Control the display to enhance the focus of the group button corresponding to the target group; The target group is the group to which the active tab belongs, or the target group is a key group identified based on dwell behavior data; The display is controlled to show a preview image of the page content corresponding to each tab in the set of tabs contained in the target group on the group preview page, and the preview image is bound to the corresponding tab jump link.
8. The display device according to claim 1, characterized in that, Before calculating the page content similarity between tabs based on the page content data corresponding to each tab, the controller is further configured to: Obtain system load rate, memory usage, and network latency parameters; The system resource pressure index is obtained by weighting the system load rate, the memory utilization rate, and the network latency parameter. If the system resource pressure index is greater than the first threshold, a degradation grouping strategy is executed. The degradation grouping strategy is configured to: perform cluster analysis based only on the page content similarity, and / or close or hibernate tabs in high-consumption groups where the system resource consumption is greater than the second threshold.
9. The display device according to claim 1, characterized in that, After performing cluster analysis based on the multidimensional fusion similarity matrix between each tab to obtain the target number of grouping information, the controller is further configured to: If the target number of group information includes newly added first group information, then create a first bookmark folder mapped to the first group information; Retrieve the first tab that the user has bookmarked from the tab set contained in the first group information; Mark the first tab as a bookmark and add the first tab to the first bookmark folder; When an update to existing second group information is detected, the second bookmark folder mapped to the second group information is updated.
10. A method for displaying browser tabs in groups, characterized in that, include: After launching the browser application, in response to the grouping instruction, the page content data and user behavior data corresponding to the tab opened by the browser application are obtained; Based on the page content data corresponding to each tab, calculate the page content similarity between each tab; Based on the user behavior data corresponding to each tab, calculate the user behavior correlation and time correlation between each tab; The user behavior correlation degree represents the degree of correlation between the user's interactive operations on each tab, and the time correlation degree represents the degree of correlation between the user's interactive operations on each tab over time. The page content similarity, user behavior correlation, and time correlation between each tab are weighted to construct a multi-dimensional fusion similarity matrix between each tab; Cluster analysis is performed based on the multidimensional fusion similarity matrix between each tab to obtain a target number of grouping information, which includes a group identifier and a set of tabs contained in the group; A group preview page is displayed on top of the browser interface, and the target number of group information is displayed within the group preview page.