WO2022244997A1 - Method and apparatus for processing data - Google Patents

Method and apparatus for processing data Download PDF

Info

Publication number
WO2022244997A1
WO2022244997A1 PCT/KR2022/005727 KR2022005727W WO2022244997A1 WO 2022244997 A1 WO2022244997 A1 WO 2022244997A1 KR 2022005727 W KR2022005727 W KR 2022005727W WO 2022244997 A1 WO2022244997 A1 WO 2022244997A1
Authority
WO
WIPO (PCT)
Prior art keywords
application program
system platform
icon
information
similarity
Prior art date
Application number
PCT/KR2022/005727
Other languages
French (fr)
Inventor
Yiwen Yang
Meng Wang
Jun Li
Jianxing LIANG
Original Assignee
Samsung Electronics Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co., Ltd. filed Critical Samsung Electronics Co., Ltd.
Publication of WO2022244997A1 publication Critical patent/WO2022244997A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Definitions

  • the present disclosure relates to the field of electronic technology. More specifically, the present disclosure relates to a method and apparatus for processing data, which are used for a migration of data of an operating system.
  • a user When a user changes an electronic device such as a mobile phone, it may be required to migrate an application program (APP) installed in a previously used device to a new device. For example, an APP in an electronic device having an iOS operating system is migrated to an electronic device having an Android operating system.
  • APP application program
  • the user can only search for corresponding APPs, and then download and install the APPs one by one, resulting in a very low efficiency.
  • Exemplary embodiments according to the present disclosure provide a method and apparatus for processing data, which are used for a migration of data of an operating system, to solve at least the problem mentioned above.
  • a method for processing data which is used for an electronic device may comprise: acquiring, in response to an instruction to migrate an application program of an external device to the electronic device, application program information in the external device, wherein the external device has a first system platform, the application program of the external device comprises at least a first application program, the electronic device has a second system platform, and the first system platform is different from the second system platform; determining a second application program corresponding to the first application program and runnable on the second system platform, according to the acquired application program information; and downloading and installing the second application program into the electronic device.
  • icons and/or names of the first application program and the second application program may be different.
  • the determining a second application program corresponding to the first application program and runnable on the second system platform may comprise: determining the second application program corresponding to the first application program and runnable on the second system platform, according to a mapping relationship between an application program of the first system platform and an application program of the second system platform.
  • the mapping relationship may be established by: acquiring, for the application program of the first system platform and the application program of the second system platform, related information, respectively; and establishing the mapping relationship according to the related information.
  • the related information comprises at least one of text information and icon information of an application program.
  • the text information may comprise a title.
  • the text information may further comprise at least one piece of text information in a short description and a long description.
  • the establishing the mapping relationship according to the related information may comprise: determining, for each application program of the first system platform, a target application program satisfying a condition from application programs of the second system platform according to the text information and/or the icon information; and establishing the mapping relationship according to the each application program of the first system platform and a corresponding target application program.
  • the condition may comprise at least one of: a text similarity between application programs exceeding a first threshold value; an icon similarity between the application programs exceeding a second threshold value; and a comprehensive similarity based on the text similarity and the icon similarity ranking in top N.
  • N is an integer greater than or equal to 1.
  • the determining, for each application program of the first system platform, a target application program satisfying a condition from application programs of the second system platform according to the text information and/or the icon information may comprise: performing word segmentation processing on the text information; calculating a relevance score of the each application program of the first system platform to each application program of the second system platform based on a word segmentation result; determining candidate application programs respectively corresponding to the each application program of the first system platform from the application programs of the second system platform according to the relevance score; and determining the target application program satisfying the condition from the candidate application programs corresponding to the each application program of the first system platform, according to the text information and/or the icon information.
  • the determining the target application program may comprise: calculating at least one of a text similarity and an icon similarity between the each application program of the first system platform and the application programs of the second system platform or the corresponding candidate application programs, according to the text information and/or the icon information; and determining an application program satisfying the condition in the application programs of the second system platform or the corresponding candidate application programs as the target application, according to at least one of the text similarity and the icon similarity.
  • the icon similarity may be obtained by using at least one of an ORB model and a SiameseNet model based on the icon information.
  • the SiameseNet model may be trained and obtained by: collecting original icons of different application programs and an icon generated by a script or obtained through clipping; setting tags of an icon pair belonging to a given application program to be similar, and setting tags of an icon pair belonging to different application programs to be dissimilar, to generate a training sample set; and using the training sample set to train the SiameseNet model.
  • the target application program corresponding to the each application program of the first system platform may comprise one application program of the second system platform or a plurality of application programs of the second system platform.
  • the downloading and installing the second application program into the electronic device may comprise: displaying, when the number of determined second application programs is greater than 1, searched second application programs to a user, for the user to select to perform the downloading and the installing.
  • an apparatus for processing data which is used for an electronic device may comprise: an acquiring module, configured to acquire, in response to an instruction to migrate an application program of an external device to the electronic device, application program information in the external device, wherein the external device has a first system platform, the application program of the external device comprises at least a first application program, the electronic device has a second system platform, and the first system platform is different from the second system platform; a determining module, configured to determine a second application program corresponding to the first application program and runnable on the second system platform, according to the acquired application program information; and an installing module, configured to download and install the second application program into the electronic device.
  • icons and/or names of the first application program and the second application program may be different.
  • the determining module may be configured to determine the second application program corresponding to the first application program and runnable on the second system platform, according to a mapping relationship between an application program of the first system platform and an application program of the second system platform.
  • the mapping relationship may be established by: acquiring, for the application program of the first system platform and the application program of the second system platform, related information, respectively; and establishing the mapping relationship according to the related information.
  • the related information comprises at least one of text information and icon information of an application program.
  • the text information may comprise a title.
  • the text information may further comprise at least one piece of text information in a short description and a long description.
  • the establishing the mapping relationship according to the related information may comprise: determining, for each application program of the first system platform, a target application program satisfying a condition from application programs of the second system platform according to the text information and/or the icon information; and establishing the mapping relationship according to the each application program of the first system platform and a corresponding target application program.
  • the condition may comprise at least one of: a text similarity between application programs exceeding a first threshold value; an icon similarity between the application programs exceeding a second threshold value; and a comprehensive similarity based on the text similarity and the icon similarity ranking in top N.
  • N is an integer greater than or equal to 1.
  • the determining, for each application program of the first system platform, a target application program satisfying a condition from application programs of the second system platform according to the text information and/or the icon information may comprise: performing word segmentation processing on the text information; calculating a relevance score of the each application program of the first system platform to each application program of the second system platform based on a word segmentation result; determining candidate application programs respectively corresponding to the each application program of the first system platform from the application programs of the second system platform according to the relevance score; and determining the target application program satisfying the condition from the candidate application programs corresponding to the each application program of the first system platform, according to the text information and/or the icon information.
  • the determining the target application program may comprise: calculating at least one of a text similarity and an icon similarity between the each application program of the first system platform and the application programs of the second system platform or the corresponding candidate application programs, according to the text information and/or the icon information; and determining an application program satisfying the condition in the application programs of the second system platform or the corresponding candidate application programs as the target application, according to at least one of the text similarity and the icon similarity.
  • the icon similarity may be obtained by using at least one of an ORB model and a SiameseNet model based on the icon information.
  • the SiameseNet model may be trained and obtained by: collecting original icons of different application programs and an icon generated by a script or obtained through clipping; setting tags of an icon pair belonging to a given application program to be similar, and setting tags of an icon pair belonging to different application programs to be dissimilar, to generate a training sample set; and using the training sample set to train the SiameseNet model.
  • the target application program corresponding to the each application program of the first system platform may comprise one application program of the second system platform or a plurality of application programs of the second system platform.
  • the installing module may be configured to display, when the number of determined second application programs is greater than 1, searched second application programs to a user, for the user to select to perform the downloading and the installing.
  • a computer readable storage medium storing an instruction.
  • the instruction when executed by a processor, implements the method for processing data according to the exemplary embodiment of the present disclosure.
  • a computing apparatus comprises a processor, and a storage device storing an instruction.
  • the instruction when executed by the processor, implements the method for processing data according to the exemplary embodiment of the present disclosure.
  • a computer program product is provided.
  • An instruction in the computer program product is run by at least one processor in an electronic apparatus, to perform the method for processing data according to the exemplary embodiment of the present disclosure.
  • the data of an application program in the previously used device can be quickly migrated to the new device, which saves the operating time of the user, thus improving the user experience.
  • Fig. 1 is a flowchart of a method for processing data according to an exemplary embodiment of the present disclosure
  • Fig. 2 is a schematic flowchart of a method for processing data according to another exemplary embodiment of the present disclosure
  • Fig. 3 is a schematic structural diagram of a SiameseNet model according to an exemplary embodiment of the present disclosure
  • Fig. 4 is a block diagram of an apparatus for processing data according to an exemplary embodiment of the present disclosure
  • Fig. 5 is a schematic structural diagram of an electronic device according to an exemplary embodiment of the present disclosure.
  • Fig. 6 is a schematic diagram of a computing apparatus according to an exemplary embodiment of the present disclosure.
  • Fig. 1 is a flowchart of a method for processing data according to an exemplary embodiment of the present disclosure.
  • the method for processing data shown in Fig. 1 may be applied to an electronic device having an arbitrary system platform/operating system.
  • the electronic device may include, but not limited to, a portable communication apparatus (e.g., a smart phone), a computer apparatus, a portable multimedia apparatus, a portable medical apparatus, a camera, a wearable apparatus, and the like.
  • the electronic device is not limited to the above apparatuses.
  • the first system platform may be different from the second system platform.
  • the first system platform is an iOS operating system platform
  • the second system platform is an Android operating system platform.
  • step S101 in response to an instruction to migrate an application program of an external device to an electronic device, application program information in the external device is acquired.
  • the external device has a first system platform
  • the application program of the external device includes at least a first application program
  • the electronic device has a second system platform
  • the first system platform is different from the second system platform.
  • the new device may first acquire the application program information in the previously used device, such as a list of application programs installed in the previously used device.
  • step S102 a second application program corresponding to the first application program and runnable on the second system platform is determined according to the acquired application program information.
  • Step S102 may be performed in the situation where the icons and/or names of the first application program belonging to the first system platform and the second application program belonging to the second system platform are the same or different.
  • Step S102 may be performed for each application program installed in the external device.
  • the second application program that corresponds to the first application program and can run on the second system platform may be determined according to a mapping relationship between an application program of the first system platform and an application program of the second system platform.
  • the electronic device may obtain a mapping relationship from an external server.
  • the electronic device may pre-store a corresponding mapping relationship.
  • the mapping relationship may be in the form of a mapping table, but not limited thereto. How to establish the mapping relationship between the application program of the first system platform and the application program of the second system platform is described below.
  • related information may be respectively acquired.
  • the related information may include at least one of text information and icon information of an application program.
  • a target application program satisfying a condition may be determinined from the application programs of the second system platform according to the text information and/or the icon information. Then, the mapping relationship is established according to the each application program of the first system platform and a corresponding target application program.
  • the condition may include at least one of: a text similarity between application programs exceeding a first threshold value; an icon similarity between the application programs exceeding a second threshold value; and a comprehensive similarity based on the text similarity and the icon similarity ranking in top N, where N is an integer greater than or equal to 1.
  • the first threshold value or the second threshold value may be set differently as required.
  • the text information may include at least one of a title, a short description and a long description of the application program.
  • the text information of the application program of the first system platform and the text information of the application program of the second system platform may be acquired, and a text similarity between the each application program of the first system platform and the application programs of the second system platform is calculated according to the text information.
  • An application program satisfying the condition in the application programs of the second system platform is determined as the target application program according to the text similarity.
  • an APP list of an application store on the first system platform and an APP list of an application store on the second system platform may respectively be acquired.
  • the text information of the top 100,000 application programs of each APP list is acquired according to the ranking of numbers of downloads, and the text information of each APP is stored in a database.
  • a text matcher algorithm or a natural language processing method may be used, to calculate the text similarity between the application program of the first system platform and the application program of the second system platform based on the text information. How to calculate the text similarity will be described in detail below with reference to Fig. 2.
  • the icon information of the application program of the first system platform and the icon information of the application program of the second system platform may be acquired, and an icon similarity between the each application program of the first system platform and the application programs of the second system platform is calculated according to the icon information. According to the icon similarity, an application program satisfying the condition in the application programs of the second system platform is determined as the target application program.
  • the icon information when the icon information is acquired, the APP list of the application store on the first system platform and the APP list of the application store on the second system platform may respectively be acquired.
  • the icon information of the top 100,000 application programs of the each APP list is acquired according to the ranking of the numbers of the downloads, and the icon information of the each APP may be stored in the database.
  • an image matcher algorithm and/or a SiameseNet model may be used, to calculate the icon similarity between the application program of the first system platform and the application program of the second system platform based on the icon information. How to calculate the icon similarity will be described in detail below with reference to Fig. 2.
  • the text information and the icon information of the application program of the first system platform and the application program of the second system platform may be acquired, the text similarity and the icon similarity between the each application program of the first system platform and the application programs of the second system platform are calculated according to the text information and the icon information, and an application program satisfying the condition in the application programs of the second system platform is determined as the target application program, according to the text similarity and the icon similarity.
  • the target application program may be determined according to a preset rule, or according to a comprehensive similarity obtained by weighting the text similarity and the icon similarity. How to determine the target application program will be described in detail below with reference to Fig. 2.
  • word segmentation processing may be first performed on the text information, and a relevance score of the each application program of the first system platform to each application program of the second system platform is calculated based on a word segmentation result.
  • Candidate application programs respectively corresponding to the each application program of the first system platform and having highest relevance scores are determined from the application programs of the second system platform according to the calculated relevance score.
  • at least one of a text similarity and an icon similarity between the each application program of the first system platform and the corresponding candidate application programs is calculated according to the text information and/or the icon information. According to at least one of the text similarity and the icon similarity, an application program satisfying the condition in the corresponding candidate application programs is determined as the target application program.
  • candidate application programs of the second system platform may be preliminarily searched through the database, respectively.
  • candidate application programs of the each application program of the first system platform are searched from the top 100,000 application programs selected from the APP list of the second system platform according to the ranking of the numbers of the downloads.
  • the target application program belonging to the second system platform is further screened from the candidate application programs corresponding to the each application program of the first system platform.
  • the mapping relationship between the application program of the first system platform and the application program of the second system platform may be established.
  • the determined second application program is downloaded and installed into the electronic device.
  • the target application program corresponding to the each application program of the first system platform may include one application program of the second system platform or a plurality of application programs of the second system platform.
  • a plurality of searched second application programs may be displayed to the user, for the user to select to perform the downloading and the installing. That is, for one application program of the first system platform, a plurality of second application programs of the second system platform may be searched according to the mapping relationship. At this time, the user may select a desired application program from the plurality of second application programs, to download and install the application program.
  • the data of the application program in the previously used device can be migrated to the new device, which saves the operating time of the user, thus improving the user experience.
  • Fig. 2 is a schematic flowchart of a method for processing data according to another exemplary embodiment of the present disclosure.
  • An example in which a mapping relationship between an application program of a first system platform (iOS operating system) and an application program of a second system platform (Android operating system) is established is described below.
  • step S201 related information of an application program of a first system platform and an application program of a second system platform is respectively acquired.
  • an APP list of an iOS application store and an APP list of an Android application store are respectively acquired.
  • the related information of each APP is stored in a database, to be ready for screening by means of text matching.
  • the related information of the APP may include text information such as a title, a short description or a long description of the APP, icon information, and the like.
  • step S202 for an acquired each application program of the first system platform, a predetermined number of candidate application programs are preliminarily screened from application programs acquired for the second system platform based on the acquired related information. For example, corresponding 100 candidate application programs belonging to the second system platform may be preliminarily screened for the each application program of the first system platform. That is, one application program of the first system platform may correspond to 100 candidate application programs of the second system platform.
  • an iOS APP list is loaded, and for each iOS APP, a search is performed through the database and at most M candidate Android APPs are preliminarily screened. That is, M (e.g., M is 100) candidate Android APPs may be preliminarily screened at most for the each iOS APP.
  • word segmentation processing may be performed on text information of an application program.
  • a relevance score of the each application program of the first system platform to each application program of the second system platform is calculated based on a word segmentation result.
  • candidate application programs respectively corresponding to the each application program of the first system platform are determined from the application programs of the second system platform according to the relevance score.
  • An analysis and an index inversion may be performed using the text information (e.g., the title, the short description, or the long description) of the application program, to implement the preliminary screening.
  • the word segmentation processing may be first performed on the text information of the iOS APP and the Android APP. Then, based on the word segmentation result, at most M candidate Android APPs may be matched for the each iOS APP by means of an inverted index.
  • the word segmentation processing is performed on the field content of the title of the APP.
  • the title of an APP is "TXT Full-Text Free Novel Collection,” of which the word segmentation result may be “TXT,” “Full-Text,” “Free,” “Novel Collection.”
  • the title of an APP is “Seven-Cat Free Novel,” of which the word segmentation result may be “Seven-Cat” and “Free Novel.”
  • the title of an APP is "Tomato Free Novel,” of which the word segmentation result may be "Tomato” and “Free Novel.”
  • the title of an APP is "WeChat,” of which the word segmentation result may be “WeChat.”
  • the above examples are exemplary only, and the present disclosure is not limited thereto.
  • the segmented words may be aggregated to establish a mapping matrix between a plurality of pieces of data and segmented words, as shown in Table 1 below, such that a corresponding text ID may be found according to a certain word.
  • An index is created for a segmentated word, such that the index corresponds to the segmentated word such as "Seven-Cat” and "Free Novel," and the segmentated word corresponds to a text ID.
  • the text ID is the ID of an APP.
  • the ID of the text "Seven-Cat Free Novel” is 2.For example, the title of an iOS APP is “Seven-Cat Free Novel.”
  • “Free Novel” corresponds to the text IDs 2 and 3 in Table 1, and thus, it may be queried that Android APPs containing "Free Novel" are "Seven-Cat Free Novel” and "Tomato Free Novel.”
  • the title of an iOS APP is “Huazhu Hui,” and the short description is “Huazhu Group's Official Hotel Online Booking Platform.” Accordingly, the integrated field of the APP is constructed as “Huazhu Hui-Huazhu Group's Official Hotel Online Booking Platform.” After the word segmentation is performed on the integrated field, the word segmentation result of the APP is obtained as "Huazhu,” “Hui,” “Huazhu,” “Group,” “Official,” “Hotel,” “Online,” “Booking” and “Platform.” A mapping matrix between a plurality of pieces of data and segmented words is established by aggregating the segmented words.
  • the relevance score may be calculated using the following equation (1):
  • a term frequency refers to a frequency at which a certain word occurs in a single document of an APP (e.g., a title, a short description and/or a long description of the APP) of a target system platform.
  • APP e.g., a title, a short description and/or a long description of the APP
  • An inverse document frequency also known as an inverted document frequency, is the inverse of a document frequency.
  • the inverse document frequency indicates that, if a certain word occurs in a large number of documents, the proportion of the word when Score is calculated is lower than that of a word only occurring in a few documents.
  • step S203 a text similarity between the each application program of the first system platform and a corresponding candidate application program of the second system platform is calculated according to text information of an application program.
  • a text matcher may be used to calculate the text similarity.
  • a Word2Vec model may be used as the text matcher to calculate a text similarity between application programs.
  • the Word2Vec model is a deep learning model, which is mainly divided into two types: a continuous bag-of-words model (CBOW) and a skip-gram model (Skip-gram). After unsupervised learning training is performed on text data, the Word2Vec model may convert text content into a K-dimensional vector. A text semantic similarity is represented according to a vector space similarity. How to obtain the text matcher of the present disclosure that is used to calculate the text similarity will be described in detail below with the Word2Vec model as an example.
  • All the corpora of 100,000 APPs of each of the first system platform and the second system platform may first be aggregated, such as a title and long and short descriptions of an iOS application and a title and long and short descriptions of an Android application.
  • the title of a certain APP is "Tencent WiFi Housekeeper”
  • the short description of the APP is "One-click connection to secure WiFi”
  • the long description of the APP is "A secure WiFi connection app produced by Tencent!
  • a connection is made to hundreds of millions of high-quality hotspots in seconds with a one-stop experience of an easy connection during catering, entertainment and waiting, a risk prevention, a speed testing and an anti-rub network.”
  • Word segmentation processing may be performed on all the corpora of each APP. Then, the result obtained after the word segmentation is performed on all the corpora corresponding to the each APP is stored into a to-be-trained corpus file such as corpus.txt.
  • the vector of the segmented words "China Mobile” is [0.78839236 -2.7319999 0.779313 1.3800718 -2.739812 3.3856115, -0.4546756 3.3876383 -5.031738 -2.363761 -0.5720867 0.9202053, 0.15323274 0.522835 2.2700298 1.8007175 -2.0552135 -4.298568, -2.0884874 1.0599761 -0.4010187 1.2 ...], and the vector of the segmented words "China Telecom” is [1.0095484 -3.621079 -0.7675585 3.1832402 -2.380266 2.0256934, -5.5812764 2.1096725 -3.327445 -0.39619142 -0.808845 -1.5955386, -3.1196775 -0.7218589 -0.66389036
  • the text information of the each application program of the first system platform and the text information of the corresponding candidate application program of the second system platform may be inputted into the Word2Vec model, to obtain the text similarity between the application programs.
  • the title of an iOS application and the title of an Android application are inputted, to calculate the text similarity using the Word2Vec model. Then, the calculation result is outputted.
  • the title of the iOS application is “Guangfa Bank Mobile Bank,” of which the word segmentation result is “Guangfa,” “Bank,” “Mobile” and “Bank.”
  • the title of the Android application is “Guangfa Mobile Bank,” of which the word segmentation result is “Guangfa,” “Mobile” and “Bank.”
  • the vectors of the segmented words are obtained using the Word2Vec model.
  • the vector of the segmented word "Guangfa” is [-1.2303904 -3.532071 1.7602117 1.2619283 -1.4360394 -0.22728966, -1.5298668 2.26116 -0.18427272 1.526164 -2.507586 2.1264179, -5.6475306 4.386107 -0.22141048 1.6134557 0.31511828], and the vector of the segmented word "Bank” is [-1.5294373 -1.0618939 2.2637882 2.5896416 -1.7539529 3.9206626, -4.7929626 2.6210604 -0.09684382 0.37046662 -0.8689433 1.9183955, 1.4442269 3.580839 -0.65922016 4.067455 -3.095096 -2.3516207].
  • the vectors of the segmented words are obtained. Then, through the following equation (2), the vectors of segmented words for an application program are added together to obtain the vector of the application program. For example, for the iOS application having the title "Guangfa Bank Mobile Bank,” the vectors of the four segmented words “Guangfa,” “Bank,” “Mobile” and “Bank” are add together to obtain the vector of the title “Guangfa Bank Mobile Bank” of the iOS application. Similarly, the vector of the title "Guangfa Mobile Bank” of the Android application is calculated.
  • the similarity between the title (Guangfa Bank Mobile Bank) of the iOS application and the title (Guangfa Mobile Bank) of the Android application is 0.9693953.
  • the above examples are merely exemplary.
  • the short description and/or long description of each application program may also be used to obtain a text similarity between application programs.
  • an icon similarity between the each application program of the first system platform and the corresponding candidate application program of the second system platform is calculated according to icon information of the application program.
  • An icon matcher may be used to calculate an icon similarity between application programs.
  • an ORB (Oriented FAST and Rotated BRIEF) algorithm and/or a SiameseNet model may be used as the icon matcher to obtain the icon similarity between the application programs.
  • the ORB algorithm is an image feature point extraction algorithm in computer vision.
  • a similarity may be obtained by comparing picture A and picture B.
  • feature point descriptors of the pictures A and B may be respectively calculated and extracted using the ORB algorithm.
  • the distance between the feature point descriptors of the pictures A and B is calculated through a specific matching algorithm (e.g., a brute force algorithm). If a distance between descriptors of two certain feature points is less than a specific threshold value, it represents that matching is successful. The larger the number of successfully matched feature points is, the more similar the pictures A and B are.
  • the ORB algorithm may be applied to an iOS application icon and an Android application icon, to obtain a matching degree between the icons of application programs.
  • the SiameseNet model may be used to calculate the icon similarity between the application programs.
  • the architecture of the SiameseNet (i.e., siamese network) model is as shown in Fig. 3.
  • the SiameseNet model has two inputs, which are respectively a picture and a picture .
  • Convolutional networks applied to the picture and the picture have the same structure, and share a weight value.
  • Two vectors, which are respectively and may be outputted from the convolutional networks.
  • a Euclidean distance may be calculated based on and .
  • an L1 or L2 norm is used to calculate the Euclidean distance, where .
  • an output may be obtained, that is, a probability value of determining whether the inputted two pictures are similar/dissimilar may be obtained.
  • original icons of different application programs and an icon generated by a script or obtained through clipping may be collected.
  • Tags of an icon pair belonging to a given application program are set to be similar and tags of an icon pair belonging to different application programs are set to be dissimilar, to generate a training sample set.
  • the SiameseNet model according to the present disclosure is trained based on the sample set.
  • APP icon data is first collected.
  • an original application icon may be downloaded from the network or from an app store, and then, some new icon data may be generated by a script or clipped.
  • Corresponding categories are defined according to different APPs.
  • One APP corresponds to one category and is placed in a corresponding folder.
  • icons in the same folder are of the same category (i.e., similar) and icons in different folders are of different categories (i.e., dissimilar).
  • Preprocessing is performed on the collected APP icon data.
  • a script may be used to perform an operation such as size resetting, greying and renaming on the data.
  • the preprocessed data is divided into a training data set/verification data set/test data set.
  • An icon pair data set is established. For example, a folder (e.g., folder A) is randomly selected. Two icons A1 and A2 are randomly selected from the folder A to constitute an icon pair (A1, A2), and the tag data of the icon pair (A1, A2) is set to 1 (i.e., representing that the icons are similar). An other folder (e.g., folder B) is randomly selected. An icon B1 is randomly selected from the folder B, to constitute, together with the icon A1, another icon pair (A1, B1), and the tag data of the icon pair (A1, B1) is set to 0 (i.e., representing that the icons are dissimilar). In this way, two pieces of data are obtained, which are respectively (A1, A2, 1) and (A1, B1, 0).
  • an icon pair data set required for the training of the model may be generated.
  • a small batch of icon pair data e.g., 32 icon pairs
  • an accuracy of the verification data set is calculated every fixed number of steps (e.g., 500 steps).
  • the above training and verification are repeated until the accuracy of the verification reaches a threshold value (e.g., 95%) or a maximum number of training steps (e.g., 5 million steps), thereby obtaining the SiameseNet model of the present disclosure.
  • the ORB algorithm and the SiameseNet model may be used individually to obtain the icon similarity between the application programs, or may be used together to obtain the icon similarity between the application programs. For example, an average value or a weighted average value of the icon similarity obtained through the ORB algorithm and the icon similarity obtained through the SiameseNet model may be calculated to be used as a final icon similarity.
  • step S205 a target application program satisfying a condition is determined from candidate application programs corresponding to the each application program of the first system platform according to the text similarity and the icon similarity.
  • one application program of the first system platform has 100 candidate application programs of the second system platform.
  • the text similarities between the one application program of the first system platform and the 100 candidate application programs of the second system platform may be respectively calculated by using the Word2Vec model.
  • the 100 candidate application programs are sorted in a descending order of the text similarities, and top Q candidate application programs are selected from the 100 candidate application programs. For example, top 5 candidate application programs having highest text similarities may be selected.
  • the icon similarities between the one application program of the first system platform and the 100 candidate application programs of the second system platform may be calculated using at least one of the ORB model and the Siamese model.
  • the 100 candidate application programs are sorted in a descending order of the icon similarities, and top P candidate application programs are selected from the 100 candidate application programs.
  • top 5 candidate application programs having highest icon similarities may be selected. Therefore, for the one application program of the first system platform, at most (Q+P) candidate application programs of the second system platform may be obtained based on the text similarities and the icon similarities.
  • the target application program satisfying the condition may be selected according to a preset rule.
  • the condition may be, for example, a text similarity between application programs exceeding a first threshold value; an icon similarity between the application programs exceeding a second threshold value; or a comprehensive similarity based on the text similarity and the icon similarity ranking in top N, where N is an integer greater than or equal to 1.
  • the APP when there is an APP of which the text similarity exceeds the first threshold value (e.g., 0.98), the APP may be directly outputted to be used as the target application program; and/or when there is an APP of which the icon similarity obtained by the ORB model exceeds the second threshold value (e.g., 0.98), the APP is directly outputted to be used as the target application program; and/or when there is an APP of which the average value or weighted average value of the icon similarities obtained by the ORB model and the Siamese model exceeds a second threshold value (e.g., 0.95), the APP is directly outputted to be used as the target application program.
  • the first threshold value e.g. 0.98
  • the second threshold value may be set differently according to the kinds and number of models used when the icon similarity is calculated. If the foregoing conditions are not satisfied, a comprehensive similarity may be calculated based on the outputs of the Word2Vec model, the ORB model and the Siamese model. For example, the average value or weighted average value of similarities (including a text similarity and an icon similarity) outputted by the three models may be calculated.
  • An APP list in which an APP has a comprehensive similarity ranking in top N (e.g., 3) is selected from (Q+P) candidate application programs of the second system platform.
  • the number of matched feature points may be mapped by linear transformation and a sigmoid function, to be normalized within [0, 1] for the weighted calculation of the comprehensive similarity.
  • the target application program may be determined based on one of the text similarity and the icon similarity, or the target application program may be determined based on both the text similarity and the icon similarity.
  • step S206 a mapping relationship is established according to the each application program of the first system platform and a corresponding target application program (an application program of the second system platform).
  • the target application program corresponding to the each application program of the first system platform may include one application program of the second system platform or a plurality of application programs of the second system platform. Therefore, a mapping table in which the application programs of the first system platform and the application programs of the second system platform have an one-to-one relationship or an one-to-many relationship may be obtained through the above steps.
  • the new device may acquire a to-be-downloaded APP list by querying the above mapping table, and then download a corresponding APP from the application store of the Android platform and perform an installation.
  • Fig. 4 is a block diagram of an apparatus for processing data according to an exemplary embodiment of the present disclosure.
  • the apparatus 400 for processing data may comprise an acquiring module 401, a determining module 402 and an installing module 403.
  • Each module in the apparatus 400 for processing data may be implemented by one or more modules, and the name corresponding to the module may vary depending on the type of the module.
  • some of the modules in the apparatus 400 for processing data may be omitted, or additional modules may be included in the apparatus 400 for processing data.
  • modules/elements according to various embodiments of the present disclosure may be combined to form a single entity, and thus the functions of the respective modules/elements before the combination may be performed equivalently.
  • the apparatus 400 for processing data may be a component in an electronic device or an external component in communication with the electronic device.
  • the acquiring module 401 may acquire application program information in the external device.
  • the external device has a first system platform
  • the application program of the external device comprises at least a first application program
  • the electronic device has a second system platform
  • the first system platform is different from the second system platform.
  • the determining module 402 may determine a second application program corresponding to the first application program and runnable on the second system platform, according to the acquired application program information.
  • the installing module 403 may download and install the second application program into the electronic device.
  • icons and/or names of the first application program and the second application program may be different.
  • the determining module 402 may determine the second application program corresponding to the first application program and runnable on the second system platform, according to a mapping relationship between an application program of the first system platform and an application program of the second system platform.
  • the mapping relationship may be established by: acquiring, for the application program of the first system platform and the application program of the second system platform, related information, respectively; and establishing the mapping relationship according to the related information.
  • the related information comprises at least one of text information and icon information of an application program.
  • the text information may comprise a title.
  • the text information may further comprise at least one piece of text information in a short description and a long description.
  • the determining module 402 may acquire the mapping relationship between an application program of the first system platform and an application program of the second system platform from the external. Alternatively, the determining module 402 may establish the mapping relationship based on the above operation.
  • a target application program satisfying a condition is determined from application programs of the second system platform according to the text information and/or the icon information.
  • the mapping relationship is established according to the each application program of the first system platform and a corresponding target application program.
  • the condition may comprise at least one of: a text similarity between application programs exceeding a first threshold value; an icon similarity between the application programs exceeding a second threshold value; and a comprehensive similarity based on the text similarity and the icon similarity ranking in top N.
  • N is an integer greater than or equal to 1.
  • At least one of a text similarity and an icon similarity between the each application program of the first system platform and the application programs of the second system platform or corresponding candidate application programs is calculated according to the text information and/or the icon information. According to at least one of the text similarity and the icon similarity, an application program satisfying the condition in the application programs of the second system platform is determined as the target application.
  • word segmentation processing may be first performed on the text information.
  • a relevance score of the each application program of the first system platform to each application program of the second system platform is calculated based on a word segmentation result.
  • Candidate application programs respectively corresponding to the each application program of the first system platform are determined from the application programs of the second system platform according to the relevance score.
  • the target application program satisfying the condition is determined from the candidate application programs corresponding to the each application program of the first system platform.
  • the icon similarity may be obtained by using at least one of an ORB model and a SiameseNet model based on the icon information.
  • the SiameseNet model may be trained and obtained by: collecting original icons of different application programs and an icon generated by a script or obtained through clipping; setting tags of an icon pair belonging to a given application program to be similar, and setting tags of an icon pair belonging to different application programs to be dissimilar, to generate a training sample set; and using the training sample set to train the SiameseNet model.
  • the target application program corresponding to the each application program of the first system platform may comprise one application program of the second system platform or a plurality of application programs of the second system platform.
  • the installing module 403 may display searched second application programs to a user, for the user to select to perform the downloading and the installing.
  • Fig. 5 is a schematic structural diagram of an electronic device according to an exemplary embodiment of the present disclosure.
  • the electronic device in Fig. 5 can quickly migrate data of an application program in a previously used device.
  • the electronic device may include, but not limited to, a portable communication apparatus (e.g., a smart phone), a computer apparatus, a portable multimedia apparatus, a portable medical apparatus, a camera, a wearable apparatus, and the like.
  • the electronic device is not limited to the above apparatuses.
  • the electronic device 500 may include a processing component 501, a communication bus 502, a network interface 503, an input/output interface 504, a storage device 505, and a power supply component 506.
  • the communication bus 502 is used to implement a connection communication between these components.
  • the input/output interface 504 may include a video display (e.g., a liquid crystal display), a microphone and speaker, and a user interaction interface (e.g., a keyboard, a mouse, a touch input apparatus).
  • the input/output interface 504 may further include a standard wired interface and a standard wireless interface.
  • the network interface 503 may alternatively include a standard wired interface and a standard wireless interface (e.g., a wireless fidelity interface).
  • the storage device 505 may be a high-speed random access memory or a stable non-volatile storage device.
  • the storage device 505 may alternatively also be a storage apparatus independent of the above processing component 501.
  • Fig. 5 does not constitute a limitation to the electronic device 500, and may include more or less components than those illustrated, or a combination of some components, or different component arrangements.
  • the storage device 505 may include an operating system (e.g., an iOS operating system), a data storage module, a network communication module, a user interface module, a data processing program and a database.
  • an operating system e.g., an iOS operating system
  • the network interface 503 is mainly used for data communication with an external device/terminal.
  • the input/output interface 504 is mainly used for data interaction with a user.
  • the processing component 501 and the storage device 505 in the electronic device 500 may be provided in the electronic device 500.
  • the electronic device 500 calls, through the processing component 501, the program stored in the storage device 505 and various APIs provided by the operating system, to perform a method for processing data provided in embodiments of the present disclosure or establish a mapping relationship between application programs of different systems.
  • the processing component 501 may include at least one processor, and the storage device 505 stores a computer executable instruction set.
  • the computer executable instruction set when executed by the at least one processor, performs the method for processing data according to the embodiments of the present disclosure or establishes the mapping relationship between the application programs of the different systems.
  • the processing component 501 may perform an encoding operation, a decoding operation, and the like.
  • the above examples are exemplary only, and the present disclosure is not limited thereto.
  • the processing component 501 may acquire application program information in the external device.
  • the external device has a first system platform
  • the application program of the external device comprises at least a first application program
  • the electronic device 500 has a second system platform
  • the first system platform is different from the second system platform.
  • the processing component 501 may determine a second application program corresponding to the first application program and runnable on the second system platform according to the acquired application program information, and then download and install the second application program into the electronic device 500.
  • icons and/or names of the first application program and the second application program may be different.
  • the electronic device 500 may receive or output data via the input/output interface 504.
  • the user may acquire a mapping relationship between an application program of the first system platform and an application program of the second system platform from the external via the input/output interface 504.
  • the processing component 501 may determine the second application program corresponding to the first application program and runnable on the second system platform, according to the acquired mapping relationship.
  • the processing component 501 may also establish the mapping relationship between the application program of the first system platform and the application program of the second system platform.
  • the processing component 501 may acquire, for the application program of the first system platform and the application program of the second system platform, related information, respectively; and establish the mapping relationship according to the related information.
  • the related information comprises at least one of text information and icon information of an application program.
  • the text information may comprise a title.
  • the text information may further comprise at least one piece of text information in a short description and a long description.
  • the processing component 501 may determine, for each application program of the first system platform, a target application program satisfying a condition from application programs of the second system platform according to the text information and/or the icon information, and establish the mapping relationship according to the each application program of the first system platform and a corresponding target application program.
  • the processing component 501 may calculate at least one of a text similarity and an icon similarity between the each application program of the first system platform and the application programs of the second system platform according to the text information and/or the icon information; and determine an application program satisfying the condition in the application programs of the second system platform as the target application, according to at least one of the text similarity and the icon similarity.
  • the condition may comprise at least one of: a text similarity between application programs exceeding a first threshold value; an icon similarity between the application programs exceeding a second threshold value; and a comprehensive similarity based on the text similarity and the icon similarity ranking in top N.
  • N is an integer greater than or equal to 1.
  • the processing component 501 may performe word segmentation processing on the text information; calculate a relevance score of the each application program of the first system platform to each application program of the second system platform based on a word segmentation result; determine candidate application programs respectively corresponding to the each application program of the first system platform from the application programs of the second system platform according to the relevance score; and then determine the target application program satisfying the condition from the candidate application programs corresponding to the each application program of the first system platform, according to the text information and/or the icon information. That is, the candidate application programs corresponding to the each application program of the first system platform may first be preliminarily screened. Then, according to at least one of the text similarity and the icon similarity, the target application program corresponding to the each application program of the first system platform is further screened from the candidate application programs.
  • the icon similarity may be obtained by using at least one of an ORB model and a SiameseNet model based on the icon information.
  • the ORB model and the SiameseNet model may be acquired from the external via the input/output interface 504.
  • the processing component 501 may train and obtain the ORB model and the SiameseNet model based on the icon information.
  • the SiameseNet model may be trained and obtained by: collecting original icons of different application programs and an icon generated by a script or obtained through clipping; setting tags of an icon pair belonging to a given application program to be similar, and setting tags of an icon pair belonging to different application programs to be dissimilar, to generate a training sample set; and using the training sample set to train the SiameseNet model.
  • the target application program corresponding to the each application program of the first system platform may comprise one application program of the second system platform or a plurality of application programs of the second system platform.
  • the input/output interface 504 may display searched second application programs to a user, for the user to select to perform the downloading and the installing.
  • the processing component 501 may respectively acquire an APP list of an iOS application store and an APP list of an Android application store. According to the ranking of numbers of downloads, top 100,000 APPs in each APP list are respectively acquired.
  • the related information of each APP is stored in a database.
  • the processing component 501 may load an iOS APP list, and for each iOS APP, search at most 100 candidate Android APPs through the database.
  • the processing component 501 may implement the preliminary search by using a strategy of combining the word segmentation and an inverted index.
  • the processing component 501 may extract, in the 100 candidate Android APPs, three domains (a title, a short description and a long description) of an APP for the iOS APP and the candidate APPs.
  • the processing component 501 may calculate a text similarity between iOS and Android APPs through a text matcher.
  • the processing component 501 may calculate, in the 100 candidate Android APPs, an icon similarity between the iOS and Android APPs through image matcher such as an ORB algorithm and a SiameseNet model.
  • the processing component 501 may screen one or more Android apps most similar to the iOS APP as a target APP.
  • the processing component 501 may obtain the target Android APP corresponding to the iOS APP using a preset rule, or obtain a comprehensive similarity to the iOS APP by weighting the above text similarity and the above icon similarity, and then perform sorting and selecting.
  • the above process is repeated to obtain a mapping table of the one-to-one corresponding relationship between the iOS APP and the target Android APP.
  • the processing component 501 may obtain a to-be-downloaded Android APP list by querying the above mapping table, and then download a corresponding APP from the application store of the Android device and perform an installation.
  • the electronic device 500 may be a PC computer, a tablet, a personal digital assistant, a smart phone, or other apparatuses capable of executing the above instruction set.
  • the electronic device 500 is not necessarily a single electronic device, but may be any collection of apparatuses or circuits capable of separately or jointly executing the above instruction (or instruction set).
  • the electronic device 500 may also be a portion of an integrated control system or system manager, or may be configured as a portable electronic device interconnected locally or remotely (e.g., via wireless transmission) through an interface.
  • the processing component 501 may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic apparatus, a dedicated processor system, a microcontroller, or a microprocessor.
  • the processing component 501 may further include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, and the like.
  • the processing component 501 may run the instructions or codes stored in the storage device.
  • the storage device 505 may further store data.
  • the instructions and data may also be transmitted and received over the network via the network interface 503.
  • the network interface 503 may employ any known transmission protocol.
  • the storage device 505 may be integrated with the processing component 501, for example, a RAM or flash memory is disposed within an integrated circuit microprocessor or the like.
  • the storage device 505 may include a separate apparatus, such as an external disk drive, a storage array, or other storage apparatuses that any database system may use.
  • the storage device and the processing component 501 may be operatively coupled, or may communicate with each other (e.g., through an I/O port and a network connection), to enable the processing component 501 to read the data stored in the storage device 505.
  • Fig. 6 is a schematic diagram of a computing apparatus according to an exemplary embodiment of the present disclosure.
  • the computing apparatus 600 includes a storage device 601 storing a computer program, and a processor 602.
  • the computer program when executed by the processor 602, implements a method for processing data or a method of establishing a mapping relationship according to exemplary embodiments of the present disclosure.
  • the computer program when executed by the processor 602, may implement: acquiring, in response to an instruction to migrate an application program of an external device to an electronic device, application program information in the external device, wherein the external device has a first system platform, the application program of the external device comprises at least a first application program, the electronic device has a second system platform, and the first system platform is different from the second system platform; determining a second application program corresponding to the first application program and runnable on the second system platform, according to the acquired application program information; and downloading and installing the second application program into the electronic device.
  • the computer program may implement: acquiring APP information of an application store of an old operating system such as an iOS operating system and an application store of a new operating system such as an Android operating system, respectively; extracting text information (e.g., a title, a short description and a long description) and icon information of APPs on the two system platforms according to the acquired APP information, respectively; screening preliminarily, for each APP of the old operating system, a plurality of candidate APPs of the new operating system according to the extracted text information; calculating a text similarity and an icon similarity between the APPs on the two system platforms through a text matcher and an image matcher; and screening one or more APPs belonging to the new operating system and most similar to an APP of the old operating system as a target, to finally obtain an one-to-one mapping table between the old operating system and the new operating system.
  • text information e.g., a title, a short description and a long description
  • icon information e.g., icon information of APP
  • the computing apparatus in the embodiment of the present disclosure may include, but not limited to, an apparatus such as a mobile phone, a notebook computer, a PDA (Personal Digital Assistant), a PAD (tablet computer), and a desktop computer.
  • an apparatus such as a mobile phone, a notebook computer, a PDA (Personal Digital Assistant), a PAD (tablet computer), and a desktop computer.
  • the computing apparatus shown in Fig. 6 is only an example, and should not bring any limitation to the function and scope of use of the embodiments of the present disclosure.
  • module may include a unit implemented by hardware, software or firmware, and may interchangeably be used with other terms, for example, “logic,” “logic block,” “portion,” or “circuit.”
  • the module may be a single integrated part or a minimum unit or portion of the single integrated part, adapted to perform one or more functions.
  • the module may be implemented in the form of an application specific integrated circuit (ASIC).
  • ASIC application specific integrated circuit
  • Various embodiments as set forth herein may be implemented as software including one or more instructions stored in a storage medium and readable by a machine (e.g., a mobile apparatus).
  • a processor of the machine may call and execute at least one of the one or more instructions stored in the storage medium, with or without using one or more other parts under the control of the processor. This enables the machine to be operated to perform at least one function according to the at least one called instruction.
  • the one or more instructions may include a code generated by a complier or a code executable by an interpreter.
  • a machine readable storage medium may be provided in the form of a non-transitory storage medium.
  • non-transitory simply means that the storage medium is a tangible apparatus, and does not include a signal (e.g., an electromagnetic wave), but this term does not differentiate between a case where data is semi-permanently stored in the storage medium and a case where the data is temporarily stored in the storage medium.
  • a signal e.g., an electromagnetic wave
  • a method may be included and provided in a computer program product.
  • the computer program product may be traded as a product between a seller and a buyer.
  • the computer program product may be distributed in the form of a machine readable storage medium (e.g., compact disc read only memory (CD-ROM)), or distributed (e.g., downloaded or uploaded) online via an application store (e.g., Play Store ⁇ ), or between two user apparatuses (e.g., smart phones) directly. If the computer program product is distributed online, at least portion of the computer program product may be temporarily generated or at least temporarily stored in the machine readable storage medium such as a storage device of a server of the manufacturer, a server of the application store, or a relay server.
  • CD-ROM compact disc read only memory
  • each part (e.g., module or program) of the above parts may include a single entity or a plurality of entities.
  • the storage device 601 may include one or more storage devices, and the processor 602 may include one or more processors.
  • one or more of the above parts may be omitted, or one or more other parts may be added.
  • a plurality of parts e.g., modules or programs
  • the integrated part may still perform one or more functions of each of the plurality of parts in the same or similar way as that in which the one or more functions are performed by a corresponding one of the plurality of parts before the integration.
  • operations performed by the module, the program, or an other part may be performed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be executed in a different order, or omitted, or one or more other operations may be added.
  • At least one of the plurality of modules may be implemented by an AI model.
  • the function associated with the AI may be performed by a non-volatile storage device, a volatile storage device, and a processor.
  • the processor may include one or more processors.
  • the one or more processors may be a general purpose processor (e.g., a central processing unit (CPU) and an application processor (AP)), a processor for graphics only (e.g., a graphics processing unit (GPU), a visual processing unit (VPU)), and/or an AI application specific processor (e.g., a neural processing unit (NPU)).
  • a general purpose processor e.g., a central processing unit (CPU) and an application processor (AP)
  • a processor for graphics only e.g., a graphics processing unit (GPU), a visual processing unit (VPU)
  • an AI application specific processor e.g., a neural processing unit (NPU)
  • the one or more processors control the processing on inputted data according to a predefined operating rule or an artificial intelligence (AI) model stored in the non-volatile storage device and the volatile storage device.
  • the predefined operating rule or the artificial intelligence model may be provided through training or learning.
  • the providing through the learning means that a predefined operation rule or an AI model with an expected characteristic is formed by applying a learning algorithm to a plurality of pieces of learning data.
  • the learning may be performed in a device performing the AI according to an embodiment, and/or may be implemented by a separate server/device/system.
  • the artificial intelligence model may consist of a plurality of neural network layers. Each layer has a plurality of weight values, and a layer operation is performed through a calculation of the previous layer and an operation of the plurality of weight values.
  • a neural network include, but not limited to, a convolutional neural network (CNN), a deep neural network (DNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a depth belief network (DBN), a bidirectional recurrent depth neural network (BRDNN), a generative adversarial network (GAN), and a deep Q network.
  • a learning algorithm may refer to a method of using a plurality of pieces of learning data to train a predetermined target device (e.g., a robot) to cause, allow, or control the target device to make a determination or prediction.
  • a predetermined target device e.g., a robot
  • Examples of the learning algorithm include, but not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.

Abstract

A method and apparatus for processing data which are used for an electronic device are provided. The method for processing data may comprise: acquiring, in response to an instruction to migrate an application program of an external device to the electronic device, application program information in the external device, wherein the external device has a first system platform, the application program of the external device comprises at least a first application program, the electronic device has a second system platform, and the first system platform is different from the second system platform; determining a second application program corresponding to the first application program and runnable on the second system platform, according to the acquired application program information; and downloading and installing the second application program into the electronic device.

Description

METHOD AND APPARATUS FOR PROCESSING DATA
The present disclosure relates to the field of electronic technology. More specifically, the present disclosure relates to a method and apparatus for processing data, which are used for a migration of data of an operating system.
When a user changes an electronic device such as a mobile phone, it may be required to migrate an application program (APP) installed in a previously used device to a new device. For example, an APP in an electronic device having an iOS operating system is migrated to an electronic device having an Android operating system. At this time, since the data of the application program cannot be packaged and transferred to the new device, and the application program cannot be installed into the new device, the user can only search for corresponding APPs, and then download and install the APPs one by one, resulting in a very low efficiency.
Exemplary embodiments according to the present disclosure provide a method and apparatus for processing data, which are used for a migration of data of an operating system, to solve at least the problem mentioned above.
According to an exemplary embodiment of the present disclosure, a method for processing data which is used for an electronic device is provided. The method may comprise: acquiring, in response to an instruction to migrate an application program of an external device to the electronic device, application program information in the external device, wherein the external device has a first system platform, the application program of the external device comprises at least a first application program, the electronic device has a second system platform, and the first system platform is different from the second system platform; determining a second application program corresponding to the first application program and runnable on the second system platform, according to the acquired application program information; and downloading and installing the second application program into the electronic device.
Alternatively, icons and/or names of the first application program and the second application program may be different.
Alternatively, the determining a second application program corresponding to the first application program and runnable on the second system platform may comprise: determining the second application program corresponding to the first application program and runnable on the second system platform, according to a mapping relationship between an application program of the first system platform and an application program of the second system platform.
Alternatively, the mapping relationship may be established by: acquiring, for the application program of the first system platform and the application program of the second system platform, related information, respectively; and establishing the mapping relationship according to the related information. Here, the related information comprises at least one of text information and icon information of an application program.
Alternatively, the text information may comprise a title.
Alternatively, the text information may further comprise at least one piece of text information in a short description and a long description.
Alternatively, the establishing the mapping relationship according to the related information may comprise: determining, for each application program of the first system platform, a target application program satisfying a condition from application programs of the second system platform according to the text information and/or the icon information; and establishing the mapping relationship according to the each application program of the first system platform and a corresponding target application program.
Alternatively, the condition may comprise at least one of: a text similarity between application programs exceeding a first threshold value; an icon similarity between the application programs exceeding a second threshold value; and a comprehensive similarity based on the text similarity and the icon similarity ranking in top N. Here, N is an integer greater than or equal to 1.
Alternatively, the determining, for each application program of the first system platform, a target application program satisfying a condition from application programs of the second system platform according to the text information and/or the icon information may comprise: performing word segmentation processing on the text information; calculating a relevance score of the each application program of the first system platform to each application program of the second system platform based on a word segmentation result; determining candidate application programs respectively corresponding to the each application program of the first system platform from the application programs of the second system platform according to the relevance score; and determining the target application program satisfying the condition from the candidate application programs corresponding to the each application program of the first system platform, according to the text information and/or the icon information.
Alternatively, the determining the target application program may comprise: calculating at least one of a text similarity and an icon similarity between the each application program of the first system platform and the application programs of the second system platform or the corresponding candidate application programs, according to the text information and/or the icon information; and determining an application program satisfying the condition in the application programs of the second system platform or the corresponding candidate application programs as the target application, according to at least one of the text similarity and the icon similarity.
Alternatively, the icon similarity may be obtained by using at least one of an ORB model and a SiameseNet model based on the icon information.
Alternatively, the SiameseNet model may be trained and obtained by: collecting original icons of different application programs and an icon generated by a script or obtained through clipping; setting tags of an icon pair belonging to a given application program to be similar, and setting tags of an icon pair belonging to different application programs to be dissimilar, to generate a training sample set; and using the training sample set to train the SiameseNet model.
Alternatively, the target application program corresponding to the each application program of the first system platform may comprise one application program of the second system platform or a plurality of application programs of the second system platform.
Alternatively, the downloading and installing the second application program into the electronic device may comprise: displaying, when the number of determined second application programs is greater than 1, searched second application programs to a user, for the user to select to perform the downloading and the installing.
According to another exemplary embodiment of the present disclosure, an apparatus for processing data which is used for an electronic device is provided. The apparatus may comprise: an acquiring module, configured to acquire, in response to an instruction to migrate an application program of an external device to the electronic device, application program information in the external device, wherein the external device has a first system platform, the application program of the external device comprises at least a first application program, the electronic device has a second system platform, and the first system platform is different from the second system platform; a determining module, configured to determine a second application program corresponding to the first application program and runnable on the second system platform, according to the acquired application program information; and an installing module, configured to download and install the second application program into the electronic device.
Alternatively, icons and/or names of the first application program and the second application program may be different.
Alternatively, the determining module may be configured to determine the second application program corresponding to the first application program and runnable on the second system platform, according to a mapping relationship between an application program of the first system platform and an application program of the second system platform.
Alternatively, the mapping relationship may be established by: acquiring, for the application program of the first system platform and the application program of the second system platform, related information, respectively; and establishing the mapping relationship according to the related information. Here, the related information comprises at least one of text information and icon information of an application program.
Alternatively, the text information may comprise a title.
Alternatively, the text information may further comprise at least one piece of text information in a short description and a long description.
Alternatively, the establishing the mapping relationship according to the related information may comprise: determining, for each application program of the first system platform, a target application program satisfying a condition from application programs of the second system platform according to the text information and/or the icon information; and establishing the mapping relationship according to the each application program of the first system platform and a corresponding target application program.
Alternatively, the condition may comprise at least one of: a text similarity between application programs exceeding a first threshold value; an icon similarity between the application programs exceeding a second threshold value; and a comprehensive similarity based on the text similarity and the icon similarity ranking in top N. Here, N is an integer greater than or equal to 1.
Alternatively, the determining, for each application program of the first system platform, a target application program satisfying a condition from application programs of the second system platform according to the text information and/or the icon information may comprise: performing word segmentation processing on the text information; calculating a relevance score of the each application program of the first system platform to each application program of the second system platform based on a word segmentation result; determining candidate application programs respectively corresponding to the each application program of the first system platform from the application programs of the second system platform according to the relevance score; and determining the target application program satisfying the condition from the candidate application programs corresponding to the each application program of the first system platform, according to the text information and/or the icon information.
Alternatively, the determining the target application program may comprise: calculating at least one of a text similarity and an icon similarity between the each application program of the first system platform and the application programs of the second system platform or the corresponding candidate application programs, according to the text information and/or the icon information; and determining an application program satisfying the condition in the application programs of the second system platform or the corresponding candidate application programs as the target application, according to at least one of the text similarity and the icon similarity.
Alternatively, the icon similarity may be obtained by using at least one of an ORB model and a SiameseNet model based on the icon information.
Alternatively, the SiameseNet model may be trained and obtained by: collecting original icons of different application programs and an icon generated by a script or obtained through clipping; setting tags of an icon pair belonging to a given application program to be similar, and setting tags of an icon pair belonging to different application programs to be dissimilar, to generate a training sample set; and using the training sample set to train the SiameseNet model.
Alternatively, the target application program corresponding to the each application program of the first system platform may comprise one application program of the second system platform or a plurality of application programs of the second system platform.
Alternatively, the installing module may be configured to display, when the number of determined second application programs is greater than 1, searched second application programs to a user, for the user to select to perform the downloading and the installing.
According to an exemplary embodiment of the present disclosure, a computer readable storage medium storing an instruction is provided. The instruction, when executed by a processor, implements the method for processing data according to the exemplary embodiment of the present disclosure.
According to an exemplary embodiment of the present disclosure, a computing apparatus is provided. The computing apparatus comprises a processor, and a storage device storing an instruction. The instruction, when executed by the processor, implements the method for processing data according to the exemplary embodiment of the present disclosure.
According to an exemplary embodiment of the present disclosure, a computer program product is provided. An instruction in the computer program product is run by at least one processor in an electronic apparatus, to perform the method for processing data according to the exemplary embodiment of the present disclosure.
According to the present disclosure, the data of an application program in the previously used device can be quickly migrated to the new device, which saves the operating time of the user, thus improving the user experience.
A portion of other aspects and/or advantages of the overall concept of the present disclosure will be explained in the following description, and an other portion of the other aspects and/or advantages will be apparent through the description or may be learned through the implementation of the overall concept of the present disclosure.
By combining the accompanying drawings, these and/or other aspects and advantages of the present disclosure will become apparent and more readily understood from the following description of the embodiments. In the accompanying drawings:
Fig. 1 is a flowchart of a method for processing data according to an exemplary embodiment of the present disclosure;
Fig. 2 is a schematic flowchart of a method for processing data according to another exemplary embodiment of the present disclosure;
Fig. 3 is a schematic structural diagram of a SiameseNet model according to an exemplary embodiment of the present disclosure;
Fig. 4 is a block diagram of an apparatus for processing data according to an exemplary embodiment of the present disclosure;
Fig. 5 is a schematic structural diagram of an electronic device according to an exemplary embodiment of the present disclosure; and
Fig. 6 is a schematic diagram of a computing apparatus according to an exemplary embodiment of the present disclosure.
The following specific embodiments are provided to help the reader obtain an overall understanding of the method, device and/or system described herein. However, after the understanding for the disclosure of the present application, various changes, modifications and equivalents of the method, device and/or system described herein will be apparent. For example, the order of operations described herein is exemplary only and not limited to the order set forth herein, but may be changed as apparent from the understanding of the disclosure of the present application, except for the operations that must occur in a particular order. Furthermore, for clarity and conciseness, descriptions for features known in the art may be omitted.
The features described herein may be implemented in different forms and should not be construed as being limited to the examples described herein. Rather, the examples described herein are provided to illustrate only some of many possible ways of implementing the method, device and/or system described herein, and the many possible ways will be apparent after the understanding of the disclosure of the present application.
The term used herein is only for describing various examples and is not intended to limit the present disclosure. The singular form is intended to include the plural form, unless the context clearly indicates otherwise. The terms "include," "comprise" and "have" indicate the presence of the stated features, numbers, operations, members, elements, and/or groups thereof, but do not preclude the presence or addition of one or more other features, numbers, operations, members, elements, and/or groups thereof.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the present disclosure belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure, and should not be interpreted in an idealized or overly formal sense, unless expressly so defined herein.
It should be noted that the terms "first," "second" and the like in the specification and claims of the present disclosure and the accompanying drawings are used to distinguish similar objects, and not necessarily used to describe a specific order or an order of priority. It should be understood that the data used in this way may be interchanged in an appropriate situation, such that the embodiments of the present disclosure that are described herein can be implemented in an order other than that illustrated or described herein. The implementations described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Rather, the implementations are merely examples of the apparatus and method consistent with some aspects of the present disclosure and described in detail in the claims.
Furthermore, in the description for the examples, when it is considered that the detailed description for the well-known related structure or function will lead to an ambiguous explanation for the present disclosure, such detailed description will be omitted.
Hereinafter, the embodiments will be described in detail with reference to the accompanying drawings However, the embodiments may be implemented in various forms, and are not limited to the examples described herein.
Fig. 1 is a flowchart of a method for processing data according to an exemplary embodiment of the present disclosure. Here, the method for processing data shown in Fig. 1 may be applied to an electronic device having an arbitrary system platform/operating system. The electronic device may include, but not limited to, a portable communication apparatus (e.g., a smart phone), a computer apparatus, a portable multimedia apparatus, a portable medical apparatus, a camera, a wearable apparatus, and the like. According to the embodiments of the present disclosure, the electronic device is not limited to the above apparatuses.
An example in which an application program of an external device having a first system platform is migrated to an electronic device having a second system platform is described below. Here, the first system platform may be different from the second system platform. For example, the first system platform is an iOS operating system platform, and the second system platform is an Android operating system platform.
Referring to Fig. 1, in step S101, in response to an instruction to migrate an application program of an external device to an electronic device, application program information in the external device is acquired. Here, the external device has a first system platform, the application program of the external device includes at least a first application program, the electronic device has a second system platform, and the first system platform is different from the second system platform. For example, when a user wants to migrate an application program in a previously used device such as an iOS device to a new device such as an Android device when changing the electronic device, the new device may first acquire the application program information in the previously used device, such as a list of application programs installed in the previously used device.
In step S102, a second application program corresponding to the first application program and runnable on the second system platform is determined according to the acquired application program information. Step S102 may be performed in the situation where the icons and/or names of the first application program belonging to the first system platform and the second application program belonging to the second system platform are the same or different. Step S102 may be performed for each application program installed in the external device.
According to an embodiment of the present disclosure, the second application program that corresponds to the first application program and can run on the second system platform may be determined according to a mapping relationship between an application program of the first system platform and an application program of the second system platform. The electronic device may obtain a mapping relationship from an external server. Alternatively, the electronic device may pre-store a corresponding mapping relationship. Here, the mapping relationship may be in the form of a mapping table, but not limited thereto. How to establish the mapping relationship between the application program of the first system platform and the application program of the second system platform is described below.
As an example, for the application program of the first system platform and the application program of the second system platform, related information may be respectively acquired. Here, the related information may include at least one of text information and icon information of an application program. Specifically, for each application program of the first system platform, a target application program satisfying a condition may be determinined from the application programs of the second system platform according to the text information and/or the icon information. Then, the mapping relationship is established according to the each application program of the first system platform and a corresponding target application program. Here, the condition may include at least one of: a text similarity between application programs exceeding a first threshold value; an icon similarity between the application programs exceeding a second threshold value; and a comprehensive similarity based on the text similarity and the icon similarity ranking in top N, where N is an integer greater than or equal to 1. The first threshold value or the second threshold value may be set differently as required.
In the present disclosure, the text information may include at least one of a title, a short description and a long description of the application program.
For example, the text information of the application program of the first system platform and the text information of the application program of the second system platform may be acquired, and a text similarity between the each application program of the first system platform and the application programs of the second system platform is calculated according to the text information. An application program satisfying the condition in the application programs of the second system platform is determined as the target application program according to the text similarity. For example, when the text information is acquired, an APP list of an application store on the first system platform and an APP list of an application store on the second system platform may respectively be acquired. The text information of the top 100,000 application programs of each APP list is acquired according to the ranking of numbers of downloads, and the text information of each APP is stored in a database. For example, a text matcher algorithm or a natural language processing method may be used, to calculate the text similarity between the application program of the first system platform and the application program of the second system platform based on the text information. How to calculate the text similarity will be described in detail below with reference to Fig. 2.
As another example, the icon information of the application program of the first system platform and the icon information of the application program of the second system platform may be acquired, and an icon similarity between the each application program of the first system platform and the application programs of the second system platform is calculated according to the icon information. According to the icon similarity, an application program satisfying the condition in the application programs of the second system platform is determined as the target application program. For example, when the icon information is acquired, the APP list of the application store on the first system platform and the APP list of the application store on the second system platform may respectively be acquired. The icon information of the top 100,000 application programs of the each APP list is acquired according to the ranking of the numbers of the downloads, and the icon information of the each APP may be stored in the database. For example, an image matcher algorithm and/or a SiameseNet model may be used, to calculate the icon similarity between the application program of the first system platform and the application program of the second system platform based on the icon information. How to calculate the icon similarity will be described in detail below with reference to Fig. 2.
As another example, the text information and the icon information of the application program of the first system platform and the application program of the second system platform may be acquired, the text similarity and the icon similarity between the each application program of the first system platform and the application programs of the second system platform are calculated according to the text information and the icon information, and an application program satisfying the condition in the application programs of the second system platform is determined as the target application program, according to the text similarity and the icon similarity. For example, the target application program may be determined according to a preset rule, or according to a comprehensive similarity obtained by weighting the text similarity and the icon similarity. How to determine the target application program will be described in detail below with reference to Fig. 2.
In addition, according to an embodiment of the present disclosure, word segmentation processing may be first performed on the text information, and a relevance score of the each application program of the first system platform to each application program of the second system platform is calculated based on a word segmentation result. Candidate application programs respectively corresponding to the each application program of the first system platform and having highest relevance scores are determined from the application programs of the second system platform according to the calculated relevance score. Then, at least one of a text similarity and an icon similarity between the each application program of the first system platform and the corresponding candidate application programs is calculated according to the text information and/or the icon information. According to at least one of the text similarity and the icon similarity, an application program satisfying the condition in the corresponding candidate application programs is determined as the target application program. For example, for the each application program of the first system platform (e.g., each application program in the top 100,000 application programs selected according to the ranking of the numbers of the downloads), at most 100 candidate application programs of the second system platform may be preliminarily searched through the database, respectively. For example, for the each application program belonging to the first system platform, candidate application programs of the each application program of the first system platform are searched from the top 100,000 application programs selected from the APP list of the second system platform according to the ranking of the numbers of the downloads. Then, according to the text similarity and/or the icon similarity, the target application program belonging to the second system platform is further screened from the candidate application programs corresponding to the each application program of the first system platform.
After the each application program of the first system platform and the corresponding target application program are obtained, the mapping relationship between the application program of the first system platform and the application program of the second system platform may be established.
In step S103, the determined second application program is downloaded and installed into the electronic device. According to an embodiment of the present disclosure, the target application program corresponding to the each application program of the first system platform may include one application program of the second system platform or a plurality of application programs of the second system platform. When the number of determined second application programs is greater than 1, a plurality of searched second application programs may be displayed to the user, for the user to select to perform the downloading and the installing. That is, for one application program of the first system platform, a plurality of second application programs of the second system platform may be searched according to the mapping relationship. At this time, the user may select a desired application program from the plurality of second application programs, to download and install the application program.
According to the embodiment of the present disclosure, the data of the application program in the previously used device can be migrated to the new device, which saves the operating time of the user, thus improving the user experience.
Fig. 2 is a schematic flowchart of a method for processing data according to another exemplary embodiment of the present disclosure. An example in which a mapping relationship between an application program of a first system platform (iOS operating system) and an application program of a second system platform (Android operating system) is established is described below.
Referring to Fig. 2, in step S201, related information of an application program of a first system platform and an application program of a second system platform is respectively acquired. For example, an APP list of an iOS application store and an APP list of an Android application store are respectively acquired. According to the ranking of numbers of downloads, top 100,000 APPs in each APP list are respectively acquired. The related information of each APP is stored in a database, to be ready for screening by means of text matching. Here, the related information of the APP may include text information such as a title, a short description or a long description of the APP, icon information, and the like.
In step S202, for an acquired each application program of the first system platform, a predetermined number of candidate application programs are preliminarily screened from application programs acquired for the second system platform based on the acquired related information. For example, corresponding 100 candidate application programs belonging to the second system platform may be preliminarily screened for the each application program of the first system platform. That is, one application program of the first system platform may correspond to 100 candidate application programs of the second system platform. For example, an iOS APP list is loaded, and for each iOS APP, a search is performed through the database and at most M candidate Android APPs are preliminarily screened. That is, M (e.g., M is 100) candidate Android APPs may be preliminarily screened at most for the each iOS APP.
As an example, word segmentation processing may be performed on text information of an application program. A relevance score of the each application program of the first system platform to each application program of the second system platform is calculated based on a word segmentation result. Then, candidate application programs respectively corresponding to the each application program of the first system platform are determined from the application programs of the second system platform according to the relevance score.
An analysis and an index inversion may be performed using the text information (e.g., the title, the short description, or the long description) of the application program, to implement the preliminary screening. For example, the word segmentation processing may be first performed on the text information of the iOS APP and the Android APP. Then, based on the word segmentation result, at most M candidate Android APPs may be matched for the each iOS APP by means of an inverted index.
Taking the title of an APP as an example, how to perform the preliminary screening is described. First, the word segmentation processing is performed on the field content of the title of the APP. For example, the title of an APP is "TXT Full-Text Free Novel Collection," of which the word segmentation result may be "TXT," "Full-Text," "Free," "Novel Collection." The title of an APP is "Seven-Cat Free Novel," of which the word segmentation result may be "Seven-Cat" and "Free Novel." The title of an APP is "Tomato Free Novel," of which the word segmentation result may be "Tomato" and "Free Novel." The title of an APP is "WeChat," of which the word segmentation result may be "WeChat." However, the above examples are exemplary only, and the present disclosure is not limited thereto.
After the word segmentation processing is performed on the title of each of the iOS APP and the Android APP, the segmented words may be aggregated to establish a mapping matrix between a plurality of pieces of data and segmented words, as shown in Table 1 below, such that a corresponding text ID may be found according to a certain word.
Text Name ID TXT
Full- Text
Free
Novel Collection Free Novel Seven-Cat Tomato WeChat
TXT Full Text Free Novel Collection 1 V V V V
Seven Cat Free Novel 2 V V
Tomato Free Novel 3 V V
WeChat 4 V
An index is created for a segmentated word, such that the index corresponds to the segmentated word such as "Seven-Cat" and "Free Novel," and the segmentated word corresponds to a text ID. The text ID is the ID of an APP. For example, the ID of the text "Seven-Cat Free Novel" is 2.For example, the title of an iOS APP is "Seven-Cat Free Novel." After the word segmentation is performed, "Seven-Cat" and "Free Novel" are obtained. Here, "Free Novel" corresponds to the text IDs 2 and 3 in Table 1, and thus, it may be queried that Android APPs containing "Free Novel" are "Seven-Cat Free Novel" and "Tomato Free Novel."
In addition, in addition to the preliminary screening performed using the title of the APP, it is possible to construct an integrated field by combining the title of the APP with the short description and/or the long description of the APP, and use a result obtained by performing the word segmentation on the integrated field of the APP as a keyword of the query for an Android APP, thus finding all application programs containing the keyword. For example, the title of an iOS APP is "Huazhu Hui," and the short description is "Huazhu Group's Official Hotel Online Booking Platform." Accordingly, the integrated field of the APP is constructed as "Huazhu Hui-Huazhu Group's Official Hotel Online Booking Platform." After the word segmentation is performed on the integrated field, the word segmentation result of the APP is obtained as "Huazhu," "Hui," "Huazhu," "Group," "Official," "Hotel," "Online," "Booking" and "Platform." A mapping matrix between a plurality of pieces of data and segmented words is established by aggregating the segmented words.
For the each iOS application, at most top M candidate Android APPs are selected according to a sorting result of a relevance score (Score), to be used as input data of a subsequent fine matching algorithm. For example, the relevance score may be calculated using the following equation (1):
Figure PCTKR2022005727-appb-img-000001
(1).
Here,
Figure PCTKR2022005727-appb-img-000002
, and
Figure PCTKR2022005727-appb-img-000003
.
A term frequency (TF) refers to a frequency at which a certain word occurs in a single document of an APP (e.g., a title, a short description and/or a long description of the APP) of a target system platform. The higher the frequency of occurrence is, the higher the relevance of the document to the search is.
An inverse document frequency (IDF), also known as an inverted document frequency, is the inverse of a document frequency. The inverse document frequency indicates that, if a certain word occurs in a large number of documents, the proportion of the word when Score is calculated is lower than that of a word only occurring in a few documents.
For example, keywords "Huazhu," "Hui," "Huazhu," "Group," "Official," "Hotel," "Online," "Booking" and "Platform" are queried. Here, the relevance score of "Huazhu Hotel (Hanting)" is 322.6379, and the relevance score of "Hotel Booking Platform" is 277.3931. However, the above examples are only exemplary, and the present disclosure is not limited thereto.
In step S203, a text similarity between the each application program of the first system platform and a corresponding candidate application program of the second system platform is calculated according to text information of an application program.
As an example, a text matcher may be used to calculate the text similarity. For example, a Word2Vec model may be used as the text matcher to calculate a text similarity between application programs.
The Word2Vec model is a deep learning model, which is mainly divided into two types: a continuous bag-of-words model (CBOW) and a skip-gram model (Skip-gram). After unsupervised learning training is performed on text data, the Word2Vec model may convert text content into a K-dimensional vector. A text semantic similarity is represented according to a vector space similarity. How to obtain the text matcher of the present disclosure that is used to calculate the text similarity will be described in detail below with the Word2Vec model as an example.
All the corpora of 100,000 APPs of each of the first system platform and the second system platform may first be aggregated, such as a title and long and short descriptions of an iOS application and a title and long and short descriptions of an Android application. For example, the title of a certain APP is "Tencent WiFi Housekeeper," and the short description of the APP is "One-click connection to secure WiFi," and the long description of the APP is "A secure WiFi connection app produced by Tencent! A connection is made to hundreds of millions of high-quality hotspots in seconds with a one-stop experience of an easy connection during catering, entertainment and waiting, a risk prevention, a speed testing and an anti-rub network."
Word segmentation processing may be performed on all the corpora of each APP. Then, the result obtained after the word segmentation is performed on all the corpora corresponding to the each APP is stored into a to-be-trained corpus file such as corpus.txt. For example, "Tencent," "WiFi," Housekeeper," "One-click," "secure," "WiFi," "Tencent," "produced," "A," "secure," "WiFi," "connection," "app," "seconds," "hundreds of millions," "high-quality," "hotspots," "catering," "entertainment," "waiting," "easy", "risk," "prevention," "speed testing," "anti-rub network," "one-stop" and "experience" are obtained according to the title and long and short descriptions of the above APP, and these segmented words are stored into the to-be-trained corpus file.
Training is performed according to a Word2Vec model framework, to map each term to a vector. For example, the vector of the segmented words "China Mobile" is [0.78839236 -2.7319999 0.779313 1.3800718 -2.739812 3.3856115, -0.4546756 3.3876383 -5.031738 -2.363761 -0.5720867 0.9202053, 0.15323274 0.522835 2.2700298 1.8007175 -2.0552135 -4.298568, -2.0884874 1.0599761 -0.4010187 1.2 ...], and the vector of the segmented words "China Telecom" is [1.0095484 -3.621079 -0.7675585 3.1832402 -2.380266 2.0256934, -5.5812764 2.1096725 -3.327445 -0.39619142 -0.808845 -1.5955386, -3.1196775 -0.7218589 -0.66389036 1.1921647 -0.11851689 -5.198051, -1.8142316 1.0056998 3.2740514 -0.8 ,,,]. However, the above examples are merely exemplary, and the present disclosure is not limited thereto. Since the vectors of segmented words having similar context positions are also similar, similar terms may be found through this model.
When the text similarity is calculated, the text information of the each application program of the first system platform and the text information of the corresponding candidate application program of the second system platform may be inputted into the Word2Vec model, to obtain the text similarity between the application programs. For example, the title of an iOS application and the title of an Android application are inputted, to calculate the text similarity using the Word2Vec model. Then, the calculation result is outputted.
For example, the title of the iOS application is "Guangfa Bank Mobile Bank," of which the word segmentation result is "Guangfa," "Bank," "Mobile" and "Bank." The title of the Android application is "Guangfa Mobile Bank," of which the word segmentation result is "Guangfa," "Mobile" and "Bank." The vectors of the segmented words are obtained using the Word2Vec model. For example, the vector of the segmented word "Guangfa" is [-1.2303904 -3.532071 1.7602117 1.2619283 -1.4360394 -0.22728966, -1.5298668 2.26116 -0.18427272 1.526164 -2.507586 2.1264179, -5.6475306 4.386107 -0.22141048 1.6134557 0.31511828], and the vector of the segmented word "Bank" is [-1.5294373 -1.0618939 2.2637882 2.5896416 -1.7539529 3.9206626, -4.7929626 2.6210604 -0.09684382 0.37046662 -0.8689433 1.9183955, 1.4442269 3.580839 -0.65922016 4.067455 -3.095096 -2.3516207]. The vectors of the segmented words are obtained. Then, through the following equation (2), the vectors of segmented words for an application program are added together to obtain the vector of the application program. For example, for the iOS application having the title "Guangfa Bank Mobile Bank," the vectors of the four segmented words "Guangfa," "Bank," "Mobile" and "Bank" are add together to obtain the vector of the title "Guangfa Bank Mobile Bank" of the iOS application. Similarly, the vector of the title "Guangfa Mobile Bank" of the Android application is calculated.
Figure PCTKR2022005727-appb-img-000004
(2)
The similarity between the titles of the iOS application and the Android application is obtained through a cosine similarity equation (3):
Figure PCTKR2022005727-appb-img-000005
(3).
Here,
Figure PCTKR2022005727-appb-img-000006
represents the vector of the title of the iOS application, and
Figure PCTKR2022005727-appb-img-000007
represents the vector of the title of the Android application. For example, the similarity between the title (Guangfa Bank Mobile Bank) of the iOS application and the title (Guangfa Mobile Bank) of the Android application is 0.9693953. However, the above examples are merely exemplary. In the present disclosure, the short description and/or long description of each application program may also be used to obtain a text similarity between application programs.
In step S204, an icon similarity between the each application program of the first system platform and the corresponding candidate application program of the second system platform is calculated according to icon information of the application program. An icon matcher may be used to calculate an icon similarity between application programs. For example, an ORB (Oriented FAST and Rotated BRIEF) algorithm and/or a SiameseNet model may be used as the icon matcher to obtain the icon similarity between the application programs.
As an example, the ORB algorithm is an image feature point extraction algorithm in computer vision. In the algorithm, a similarity may be obtained by comparing picture A and picture B. Specifically, feature point descriptors of the pictures A and B may be respectively calculated and extracted using the ORB algorithm. The distance between the feature point descriptors of the pictures A and B is calculated through a specific matching algorithm (e.g., a brute force algorithm). If a distance between descriptors of two certain feature points is less than a specific threshold value, it represents that matching is successful. The larger the number of successfully matched feature points is, the more similar the pictures A and B are. In the present disclosure, the ORB algorithm may be applied to an iOS application icon and an Android application icon, to obtain a matching degree between the icons of application programs.
As another example, the SiameseNet model may be used to calculate the icon similarity between the application programs. The architecture of the SiameseNet (i.e., siamese network) model is as shown in Fig. 3. Referring to Fig. 3, the SiameseNet model has two inputs, which are respectively a picture
Figure PCTKR2022005727-appb-img-000008
and a picture
Figure PCTKR2022005727-appb-img-000009
. Convolutional networks applied to the picture
Figure PCTKR2022005727-appb-img-000010
and the picture
Figure PCTKR2022005727-appb-img-000011
have the same structure, and share a weight value. Two vectors, which are respectively
Figure PCTKR2022005727-appb-img-000012
and
Figure PCTKR2022005727-appb-img-000013
, may be outputted from the convolutional networks. A Euclidean distance may be calculated based on
Figure PCTKR2022005727-appb-img-000014
and
Figure PCTKR2022005727-appb-img-000015
. For example, an L1 or L2 norm is used to calculate the Euclidean distance, where
Figure PCTKR2022005727-appb-img-000016
. Then,
Figure PCTKR2022005727-appb-img-000017
is outputted to a fully connected network and a Sigmoid module. Finally, an output may be obtained, that is, a probability value of determining whether the inputted two pictures are similar/dissimilar may be obtained.
According to an embodiment of the present disclosure, original icons of different application programs and an icon generated by a script or obtained through clipping may be collected. Tags of an icon pair belonging to a given application program are set to be similar and tags of an icon pair belonging to different application programs are set to be dissimilar, to generate a training sample set. The SiameseNet model according to the present disclosure is trained based on the sample set.
Specifically, APP icon data is first collected. For example, an original application icon may be downloaded from the network or from an app store, and then, some new icon data may be generated by a script or clipped. Corresponding categories are defined according to different APPs. One APP corresponds to one category and is placed in a corresponding folder. For example, it may be defined that icons in the same folder are of the same category (i.e., similar) and icons in different folders are of different categories (i.e., dissimilar). Preprocessing is performed on the collected APP icon data. For example, a script may be used to perform an operation such as size resetting, greying and renaming on the data. The preprocessed data is divided into a training data set/verification data set/test data set. An icon pair data set is established. For example, a folder (e.g., folder A) is randomly selected. Two icons A1 and A2 are randomly selected from the folder A to constitute an icon pair (A1, A2), and the tag data of the icon pair (A1, A2) is set to 1 (i.e., representing that the icons are similar). An other folder (e.g., folder B) is randomly selected. An icon B1 is randomly selected from the folder B, to constitute, together with the icon A1, another icon pair (A1, B1), and the tag data of the icon pair (A1, B1) is set to 0 (i.e., representing that the icons are dissimilar). In this way, two pieces of data are obtained, which are respectively (A1, A2, 1) and (A1, B1, 0). Through the establishment of the icon pairs, an icon pair data set required for the training of the model may be generated. A small batch of icon pair data (e.g., 32 icon pairs) is randomly extracted to perform training on the SiameseNet model, and an accuracy of the verification data set is calculated every fixed number of steps (e.g., 500 steps). The above training and verification are repeated until the accuracy of the verification reaches a threshold value (e.g., 95%) or a maximum number of training steps (e.g., 5 million steps), thereby obtaining the SiameseNet model of the present disclosure.
According to an embodiment of the present disclosure, the ORB algorithm and the SiameseNet model may be used individually to obtain the icon similarity between the application programs, or may be used together to obtain the icon similarity between the application programs. For example, an average value or a weighted average value of the icon similarity obtained through the ORB algorithm and the icon similarity obtained through the SiameseNet model may be calculated to be used as a final icon similarity.
In step S205, a target application program satisfying a condition is determined from candidate application programs corresponding to the each application program of the first system platform according to the text similarity and the icon similarity.
It is assumed that one application program of the first system platform has 100 candidate application programs of the second system platform. The text similarities between the one application program of the first system platform and the 100 candidate application programs of the second system platform may be respectively calculated by using the Word2Vec model. The 100 candidate application programs are sorted in a descending order of the text similarities, and top Q candidate application programs are selected from the 100 candidate application programs. For example, top 5 candidate application programs having highest text similarities may be selected. Then, the icon similarities between the one application program of the first system platform and the 100 candidate application programs of the second system platform may be calculated using at least one of the ORB model and the Siamese model. The 100 candidate application programs are sorted in a descending order of the icon similarities, and top P candidate application programs are selected from the 100 candidate application programs. For example, top 5 candidate application programs having highest icon similarities may be selected. Therefore, for the one application program of the first system platform, at most (Q+P) candidate application programs of the second system platform may be obtained based on the text similarities and the icon similarities. Here, there may be duplicate application programs in the Q candidate application programs obtained according to the text similarities and the P candidate application programs obtained according to the icon similarities. Therefore, (Q+P) candidate application programs of the second system platform or less may be obtained after the union of the Q candidate application programs and the P candidate application programs is obtained.
Next, the target application program satisfying the condition may be selected according to a preset rule. The condition may be, for example, a text similarity between application programs exceeding a first threshold value; an icon similarity between the application programs exceeding a second threshold value; or a comprehensive similarity based on the text similarity and the icon similarity ranking in top N, where N is an integer greater than or equal to 1.
As an example, in the situation where the one application program of the first system platform has (Q+P) candidate application programs of the second system platform, when there is an APP of which the text similarity exceeds the first threshold value (e.g., 0.98), the APP may be directly outputted to be used as the target application program; and/or when there is an APP of which the icon similarity obtained by the ORB model exceeds the second threshold value (e.g., 0.98), the APP is directly outputted to be used as the target application program; and/or when there is an APP of which the average value or weighted average value of the icon similarities obtained by the ORB model and the Siamese model exceeds a second threshold value (e.g., 0.95), the APP is directly outputted to be used as the target application program. In the present disclosure, the second threshold value may be set differently according to the kinds and number of models used when the icon similarity is calculated. If the foregoing conditions are not satisfied, a comprehensive similarity may be calculated based on the outputs of the Word2Vec model, the ORB model and the Siamese model. For example, the average value or weighted average value of similarities (including a text similarity and an icon similarity) outputted by the three models may be calculated. An APP list in which an APP has a comprehensive similarity ranking in top N (e.g., 3) is selected from (Q+P) candidate application programs of the second system platform. When the comprehensive similarity is calculated using the ORB algorithm, the number of matched feature points may be mapped by linear transformation and a sigmoid function, to be normalized within [0, 1] for the weighted calculation of the comprehensive similarity. However, the above examples are merely illustrative, and the present disclosure is not limited thereto.
According to an embodiment of the present disclosure, the target application program may be determined based on one of the text similarity and the icon similarity, or the target application program may be determined based on both the text similarity and the icon similarity.
In step S206, a mapping relationship is established according to the each application program of the first system platform and a corresponding target application program (an application program of the second system platform). Here, the target application program corresponding to the each application program of the first system platform may include one application program of the second system platform or a plurality of application programs of the second system platform. Therefore, a mapping table in which the application programs of the first system platform and the application programs of the second system platform have an one-to-one relationship or an one-to-many relationship may be obtained through the above steps.
When a user wants to migrate an APP installed in a previously used iOS device to a new Android device, the new device may acquire a to-be-downloaded APP list by querying the above mapping table, and then download a corresponding APP from the application store of the Android platform and perform an installation.
Fig. 4 is a block diagram of an apparatus for processing data according to an exemplary embodiment of the present disclosure. Referring to Fig. 4, the apparatus 400 for processing data may comprise an acquiring module 401, a determining module 402 and an installing module 403. Each module in the apparatus 400 for processing data may be implemented by one or more modules, and the name corresponding to the module may vary depending on the type of the module. In various embodiments, some of the modules in the apparatus 400 for processing data may be omitted, or additional modules may be included in the apparatus 400 for processing data. Furthermore, modules/elements according to various embodiments of the present disclosure may be combined to form a single entity, and thus the functions of the respective modules/elements before the combination may be performed equivalently.
The apparatus 400 for processing data may be a component in an electronic device or an external component in communication with the electronic device.
In response to an instruction to migrate an application program of an external device to the electronic device, the acquiring module 401 may acquire application program information in the external device. Here, the external device has a first system platform, the application program of the external device comprises at least a first application program, the electronic device has a second system platform, and the first system platform is different from the second system platform.
The determining module 402 may determine a second application program corresponding to the first application program and runnable on the second system platform, according to the acquired application program information.
The installing module 403 may download and install the second application program into the electronic device.
Alternatively, icons and/or names of the first application program and the second application program may be different.
Alternatively, the determining module 402 may determine the second application program corresponding to the first application program and runnable on the second system platform, according to a mapping relationship between an application program of the first system platform and an application program of the second system platform.
Alternatively, the mapping relationship may be established by: acquiring, for the application program of the first system platform and the application program of the second system platform, related information, respectively; and establishing the mapping relationship according to the related information. Here, the related information comprises at least one of text information and icon information of an application program.
Alternatively, the text information may comprise a title.
Alternatively, the text information may further comprise at least one piece of text information in a short description and a long description.
Alternatively, the determining module 402 may acquire the mapping relationship between an application program of the first system platform and an application program of the second system platform from the external. Alternatively, the determining module 402 may establish the mapping relationship based on the above operation.
As an example, for each application program of the first system platform, a target application program satisfying a condition is determined from application programs of the second system platform according to the text information and/or the icon information. The mapping relationship is established according to the each application program of the first system platform and a corresponding target application program.
For example, the condition may comprise at least one of: a text similarity between application programs exceeding a first threshold value; an icon similarity between the application programs exceeding a second threshold value; and a comprehensive similarity based on the text similarity and the icon similarity ranking in top N. Here, N is an integer greater than or equal to 1.
Alternatively, at least one of a text similarity and an icon similarity between the each application program of the first system platform and the application programs of the second system platform or corresponding candidate application programs is calculated according to the text information and/or the icon information. According to at least one of the text similarity and the icon similarity, an application program satisfying the condition in the application programs of the second system platform is determined as the target application.
Alternatively, word segmentation processing may be first performed on the text information. A relevance score of the each application program of the first system platform to each application program of the second system platform is calculated based on a word segmentation result. Candidate application programs respectively corresponding to the each application program of the first system platform are determined from the application programs of the second system platform according to the relevance score. According to the text information and/or the icon information, the target application program satisfying the condition is determined from the candidate application programs corresponding to the each application program of the first system platform.
Alternatively, the icon similarity may be obtained by using at least one of an ORB model and a SiameseNet model based on the icon information.
Alternatively, the SiameseNet model may be trained and obtained by: collecting original icons of different application programs and an icon generated by a script or obtained through clipping; setting tags of an icon pair belonging to a given application program to be similar, and setting tags of an icon pair belonging to different application programs to be dissimilar, to generate a training sample set; and using the training sample set to train the SiameseNet model.
Alternatively, the target application program corresponding to the each application program of the first system platform may comprise one application program of the second system platform or a plurality of application programs of the second system platform.
Alternatively, when the number of determined second application programs is greater than 1, the installing module 403 may display searched second application programs to a user, for the user to select to perform the downloading and the installing.
Fig. 5 is a schematic structural diagram of an electronic device according to an exemplary embodiment of the present disclosure. The electronic device in Fig. 5 can quickly migrate data of an application program in a previously used device. For example, in the exemplary embodiment of the present disclosure, the electronic device may include, but not limited to, a portable communication apparatus (e.g., a smart phone), a computer apparatus, a portable multimedia apparatus, a portable medical apparatus, a camera, a wearable apparatus, and the like. According to the embodiments of the present disclosure, the electronic device is not limited to the above apparatuses.
As shown in Fig. 5, the electronic device 500 may include a processing component 501, a communication bus 502, a network interface 503, an input/output interface 504, a storage device 505, and a power supply component 506. Here, the communication bus 502 is used to implement a connection communication between these components. The input/output interface 504 may include a video display (e.g., a liquid crystal display), a microphone and speaker, and a user interaction interface (e.g., a keyboard, a mouse, a touch input apparatus). Alternatively, the input/output interface 504 may further include a standard wired interface and a standard wireless interface. The network interface 503 may alternatively include a standard wired interface and a standard wireless interface (e.g., a wireless fidelity interface). The storage device 505 may be a high-speed random access memory or a stable non-volatile storage device. The storage device 505 may alternatively also be a storage apparatus independent of the above processing component 501.
It may be appreciated by those skilled in the art that the structure shown in Fig. 5 does not constitute a limitation to the electronic device 500, and may include more or less components than those illustrated, or a combination of some components, or different component arrangements.
As shown in Fig. 5, the storage device 505, as a storage medium, may include an operating system (e.g., an iOS operating system), a data storage module, a network communication module, a user interface module, a data processing program and a database.
In the electronic device 500 shown in Fig. 5, the network interface 503 is mainly used for data communication with an external device/terminal. The input/output interface 504 is mainly used for data interaction with a user. The processing component 501 and the storage device 505 in the electronic device 500 may be provided in the electronic device 500. The electronic device 500 calls, through the processing component 501, the program stored in the storage device 505 and various APIs provided by the operating system, to perform a method for processing data provided in embodiments of the present disclosure or establish a mapping relationship between application programs of different systems.
The processing component 501 may include at least one processor, and the storage device 505 stores a computer executable instruction set. The computer executable instruction set, when executed by the at least one processor, performs the method for processing data according to the embodiments of the present disclosure or establishes the mapping relationship between the application programs of the different systems. In addition, the processing component 501 may perform an encoding operation, a decoding operation, and the like. However, the above examples are exemplary only, and the present disclosure is not limited thereto.
As an example, in response to an instruction to migrate an application program of an external device to the electronic device 500, the processing component 501 may acquire application program information in the external device. Here, the external device has a first system platform, the application program of the external device comprises at least a first application program, the electronic device 500 has a second system platform, and the first system platform is different from the second system platform.
The processing component 501 may determine a second application program corresponding to the first application program and runnable on the second system platform according to the acquired application program information, and then download and install the second application program into the electronic device 500.
Alternatively, icons and/or names of the first application program and the second application program may be different.
The electronic device 500 may receive or output data via the input/output interface 504. For example, the user may acquire a mapping relationship between an application program of the first system platform and an application program of the second system platform from the external via the input/output interface 504.
The processing component 501 may determine the second application program corresponding to the first application program and runnable on the second system platform, according to the acquired mapping relationship.
In addition, the processing component 501 may also establish the mapping relationship between the application program of the first system platform and the application program of the second system platform. For example, the processing component 501 may acquire, for the application program of the first system platform and the application program of the second system platform, related information, respectively; and establish the mapping relationship according to the related information. Here, the related information comprises at least one of text information and icon information of an application program. The text information may comprise a title. The text information may further comprise at least one piece of text information in a short description and a long description.
Alternatively, the processing component 501 may determine, for each application program of the first system platform, a target application program satisfying a condition from application programs of the second system platform according to the text information and/or the icon information, and establish the mapping relationship according to the each application program of the first system platform and a corresponding target application program.
Alternatively, the processing component 501 may calculate at least one of a text similarity and an icon similarity between the each application program of the first system platform and the application programs of the second system platform according to the text information and/or the icon information; and determine an application program satisfying the condition in the application programs of the second system platform as the target application, according to at least one of the text similarity and the icon similarity.
Alternatively, the condition may comprise at least one of: a text similarity between application programs exceeding a first threshold value; an icon similarity between the application programs exceeding a second threshold value; and a comprehensive similarity based on the text similarity and the icon similarity ranking in top N. Here, N is an integer greater than or equal to 1.
Alternatively, the processing component 501 may performe word segmentation processing on the text information; calculate a relevance score of the each application program of the first system platform to each application program of the second system platform based on a word segmentation result; determine candidate application programs respectively corresponding to the each application program of the first system platform from the application programs of the second system platform according to the relevance score; and then determine the target application program satisfying the condition from the candidate application programs corresponding to the each application program of the first system platform, according to the text information and/or the icon information. That is, the candidate application programs corresponding to the each application program of the first system platform may first be preliminarily screened. Then, according to at least one of the text similarity and the icon similarity, the target application program corresponding to the each application program of the first system platform is further screened from the candidate application programs.
Alternatively, the icon similarity may be obtained by using at least one of an ORB model and a SiameseNet model based on the icon information. The ORB model and the SiameseNet model may be acquired from the external via the input/output interface 504. Alternatively, the processing component 501 may train and obtain the ORB model and the SiameseNet model based on the icon information.
Alternatively, the SiameseNet model may be trained and obtained by: collecting original icons of different application programs and an icon generated by a script or obtained through clipping; setting tags of an icon pair belonging to a given application program to be similar, and setting tags of an icon pair belonging to different application programs to be dissimilar, to generate a training sample set; and using the training sample set to train the SiameseNet model.
Alternatively, the target application program corresponding to the each application program of the first system platform may comprise one application program of the second system platform or a plurality of application programs of the second system platform.
Alternatively, when the number of determined second application programs is greater than 1, the input/output interface 504 may display searched second application programs to a user, for the user to select to perform the downloading and the installing.
An example in which the processing component 501 establishes a mapping relationship between an iOS system platform and an Android system platform is established is described below. The processing component 501 may respectively acquire an APP list of an iOS application store and an APP list of an Android application store. According to the ranking of numbers of downloads, top 100,000 APPs in each APP list are respectively acquired. The related information of each APP is stored in a database. The processing component 501 may load an iOS APP list, and for each iOS APP, search at most 100 candidate Android APPs through the database. The processing component 501 may implement the preliminary search by using a strategy of combining the word segmentation and an inverted index.
For each iOS APP, the processing component 501 may extract, in the 100 candidate Android APPs, three domains (a title, a short description and a long description) of an APP for the iOS APP and the candidate APPs. The processing component 501 may calculate a text similarity between iOS and Android APPs through a text matcher. In addition, for the each iOS APP, the processing component 501 may calculate, in the 100 candidate Android APPs, an icon similarity between the iOS and Android APPs through image matcher such as an ORB algorithm and a SiameseNet model.
Next, the processing component 501 may screen one or more Android apps most similar to the iOS APP as a target APP. The processing component 501 may obtain the target Android APP corresponding to the iOS APP using a preset rule, or obtain a comprehensive similarity to the iOS APP by weighting the above text similarity and the above icon similarity, and then perform sorting and selecting. The above process is repeated to obtain a mapping table of the one-to-one corresponding relationship between the iOS APP and the target Android APP.
For example, when a user changes a phone (e.g., changes an iOS device to an Android device), according to the APPs installed on the iOS device, the processing component 501 may obtain a to-be-downloaded Android APP list by querying the above mapping table, and then download a corresponding APP from the application store of the Android device and perform an installation.
As an example, the electronic device 500 may be a PC computer, a tablet, a personal digital assistant, a smart phone, or other apparatuses capable of executing the above instruction set. Here, the electronic device 500 is not necessarily a single electronic device, but may be any collection of apparatuses or circuits capable of separately or jointly executing the above instruction (or instruction set). The electronic device 500 may also be a portion of an integrated control system or system manager, or may be configured as a portable electronic device interconnected locally or remotely (e.g., via wireless transmission) through an interface.
In the electronic device 500, the processing component 501 may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic apparatus, a dedicated processor system, a microcontroller, or a microprocessor. As an example rather than a limitation, the processing component 501 may further include an analog processor, a digital processor, a microprocessor, a multi-core processor, a processor array, a network processor, and the like.
The processing component 501 may run the instructions or codes stored in the storage device. Here, the storage device 505 may further store data. The instructions and data may also be transmitted and received over the network via the network interface 503. Here, the network interface 503 may employ any known transmission protocol.
The storage device 505 may be integrated with the processing component 501, for example, a RAM or flash memory is disposed within an integrated circuit microprocessor or the like. In addition, the storage device 505 may include a separate apparatus, such as an external disk drive, a storage array, or other storage apparatuses that any database system may use. The storage device and the processing component 501 may be operatively coupled, or may communicate with each other (e.g., through an I/O port and a network connection), to enable the processing component 501 to read the data stored in the storage device 505.
Fig. 6 is a schematic diagram of a computing apparatus according to an exemplary embodiment of the present disclosure.
Referring to Fig. 6, the computing apparatus 600 according to the exemplary embodiment of the present disclosure includes a storage device 601 storing a computer program, and a processor 602. The computer program, when executed by the processor 602, implements a method for processing data or a method of establishing a mapping relationship according to exemplary embodiments of the present disclosure.
As an example, when executed by the processor 602, the computer program may implement: acquiring, in response to an instruction to migrate an application program of an external device to an electronic device, application program information in the external device, wherein the external device has a first system platform, the application program of the external device comprises at least a first application program, the electronic device has a second system platform, and the first system platform is different from the second system platform; determining a second application program corresponding to the first application program and runnable on the second system platform, according to the acquired application program information; and downloading and installing the second application program into the electronic device.
In addition, when executed by the processor 602, the computer program may implement: acquiring APP information of an application store of an old operating system such as an iOS operating system and an application store of a new operating system such as an Android operating system, respectively; extracting text information (e.g., a title, a short description and a long description) and icon information of APPs on the two system platforms according to the acquired APP information, respectively; screening preliminarily, for each APP of the old operating system, a plurality of candidate APPs of the new operating system according to the extracted text information; calculating a text similarity and an icon similarity between the APPs on the two system platforms through a text matcher and an image matcher; and screening one or more APPs belonging to the new operating system and most similar to an APP of the old operating system as a target, to finally obtain an one-to-one mapping table between the old operating system and the new operating system.
The computing apparatus in the embodiment of the present disclosure may include, but not limited to, an apparatus such as a mobile phone, a notebook computer, a PDA (Personal Digital Assistant), a PAD (tablet computer), and a desktop computer. The computing apparatus shown in Fig. 6 is only an example, and should not bring any limitation to the function and scope of use of the embodiments of the present disclosure.
As used herein, the term "module" may include a unit implemented by hardware, software or firmware, and may interchangeably be used with other terms, for example, "logic," "logic block," "portion," or "circuit." The module may be a single integrated part or a minimum unit or portion of the single integrated part, adapted to perform one or more functions. For example, according to an embodiment, the module may be implemented in the form of an application specific integrated circuit (ASIC).
Various embodiments as set forth herein may be implemented as software including one or more instructions stored in a storage medium and readable by a machine (e.g., a mobile apparatus). For example, a processor of the machine may call and execute at least one of the one or more instructions stored in the storage medium, with or without using one or more other parts under the control of the processor. This enables the machine to be operated to perform at least one function according to the at least one called instruction. The one or more instructions may include a code generated by a complier or a code executable by an interpreter. A machine readable storage medium may be provided in the form of a non-transitory storage medium. Here, the term "non-transitory" simply means that the storage medium is a tangible apparatus, and does not include a signal (e.g., an electromagnetic wave), but this term does not differentiate between a case where data is semi-permanently stored in the storage medium and a case where the data is temporarily stored in the storage medium.
According to an embodiment, a method according to various embodiments of the present disclosure may be included and provided in a computer program product. The computer program product may be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine readable storage medium (e.g., compact disc read only memory (CD-ROM)), or distributed (e.g., downloaded or uploaded) online via an application store (e.g., Play Store쪠), or between two user apparatuses (e.g., smart phones) directly. If the computer program product is distributed online, at least portion of the computer program product may be temporarily generated or at least temporarily stored in the machine readable storage medium such as a storage device of a server of the manufacturer, a server of the application store, or a relay server.
According to various embodiments, each part (e.g., module or program) of the above parts may include a single entity or a plurality of entities. For example, in Fig. 6, the storage device 601 may include one or more storage devices, and the processor 602 may include one or more processors. According to various embodiments, one or more of the above parts may be omitted, or one or more other parts may be added. Alternatively or additionally, a plurality of parts (e.g., modules or programs) may be integrated into a single part. In this case, according to various embodiments, the integrated part may still perform one or more functions of each of the plurality of parts in the same or similar way as that in which the one or more functions are performed by a corresponding one of the plurality of parts before the integration. According to various embodiments, operations performed by the module, the program, or an other part may be performed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be executed in a different order, or omitted, or one or more other operations may be added.
At least one of the plurality of modules may be implemented by an AI model. The function associated with the AI may be performed by a non-volatile storage device, a volatile storage device, and a processor.
The processor may include one or more processors. At this time, the one or more processors may be a general purpose processor (e.g., a central processing unit (CPU) and an application processor (AP)), a processor for graphics only (e.g., a graphics processing unit (GPU), a visual processing unit (VPU)), and/or an AI application specific processor (e.g., a neural processing unit (NPU)).
The one or more processors control the processing on inputted data according to a predefined operating rule or an artificial intelligence (AI) model stored in the non-volatile storage device and the volatile storage device. The predefined operating rule or the artificial intelligence model may be provided through training or learning. Here, the providing through the learning means that a predefined operation rule or an AI model with an expected characteristic is formed by applying a learning algorithm to a plurality of pieces of learning data. The learning may be performed in a device performing the AI according to an embodiment, and/or may be implemented by a separate server/device/system.
As an example, the artificial intelligence model may consist of a plurality of neural network layers. Each layer has a plurality of weight values, and a layer operation is performed through a calculation of the previous layer and an operation of the plurality of weight values. Examples of a neural network include, but not limited to, a convolutional neural network (CNN), a deep neural network (DNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a depth belief network (DBN), a bidirectional recurrent depth neural network (BRDNN), a generative adversarial network (GAN), and a deep Q network.
A learning algorithm may refer to a method of using a plurality of pieces of learning data to train a predetermined target device (e.g., a robot) to cause, allow, or control the target device to make a determination or prediction. Examples of the learning algorithm include, but not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
The present disclosure is shown and described with reference to the exemplary embodiments thereof. However, it should be appreciated by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present disclosure as defined by the claims.

Claims (15)

  1. A method for processing data, used for an electronic device, the method comprising:
    acquiring, in response to an instruction to migrate an application program of an external device to the electronic device, application program information in the external device, wherein the external device has a first system platform, the application program of the external device comprises at least a first application program, the electronic device has a second system platform, and the first system platform is different from the second system platform;
    determining a second application program corresponding to the first application program and runnable on the second system platform, according to the acquired application program information; and
    downloading and installing the second application program into the electronic device.
  2. The method according to claim 1, wherein icons and/or names of the first application program and the second application program are different.
  3. The method according to claim 1, wherein the determining a second application program corresponding to the first application program and runnable on the second system platform comprises:
    determining the second application program corresponding to the first application program and runnable on the second system platform, according to a mapping relationship between an application program of the first system platform and an application program of the second system platform.
  4. The method according to claim 3, wherein the mapping relationship is established by:
    acquiring, for the application program of the first system platform and the application program of the second system platform, related information, respectively; and
    establishing the mapping relationship according to the related information,
    wherein the related information comprises at least one of text information and icon information of an application program.
  5. The method according to claim 4, wherein the text information comprises a title.
  6. The method according to claim 5, wherein the text information further comprises at least one piece of text information in a short description and a long description.
  7. The method according to claim 4, wherein the establishing the mapping relationship according to the related information comprises:
    determining, for each application program of the first system platform, a target application program satisfying a condition from application programs of the second system platform according to the text information and/or the icon information; and
    establishing the mapping relationship according to the each application program of the first system platform and a corresponding target application program.
  8. The method according to claim 7, wherein the condition comprises at least one of:
    a text similarity between application programs exceeding a first threshold value;
    an icon similarity between the application programs exceeding a second threshold value; and
    a comprehensive similarity based on the text similarity and the icon similarity ranking in top N, wherein N is an integer greater than or equal to 1.
  9. The method according to claim 7, wherein the determining, for each application program of the first system platform, a target application program satisfying a condition from application programs of the second system platform according to the text information and/or the icon information comprises:
    performing word segmentation processing on the text information;
    calculating a relevance score of the each application program of the first system platform to each application program of the second system platform based on a word segmentation result;
    determining candidate application programs respectively corresponding to the each application program of the first system platform from the application programs of the second system platform according to the relevance score; and
    determining the target application program satisfying the condition from the candidate application programs corresponding to the each application program of the first system platform, according to the text information and/or the icon information.
  10. The method according to claim 7 or 9, wherein the determining the target application program comprises:
    calculating at least one of a text similarity and an icon similarity between the each application program of the first system platform and the application programs of the second system platform or the corresponding candidate application programs, according to the text information and/or the icon information; and
    determining an application program satisfying the condition in the application programs of the second system platform or the corresponding candidate application programs as the target application, according to at least one of the text similarity and the icon similarity.
  11. The method according to claim 10, wherein the icon similarity is obtained by using at least one of an ORB model and a SiameseNet model based on the icon information,
    wherein the SiameseNet model is trained and obtained by:
    collecting original icons of different application programs and an icon generated by a script or obtained through clipping;
    setting tags of an icon pair belonging to a given application program to be similar, and setting tags of an icon pair belonging to different application programs to be dissimilar, to generate a training sample set; and
    using the training sample set to train the SiameseNet model.
  12. The method according to claim 7, wherein the target application program corresponding to the each application program of the first system platform comprises one application program of the second system platform or a plurality of application programs of the second system platform.
  13. The method according to claim 1 or 12, wherein the downloading and installing the second application program into the electronic device comprises:
    displaying, when the number of determined second application programs is greater than 1, searched second application programs to a user, for the user to select to perform the downloading and the installing.
  14. An apparatus for processing data, used for an electronic device, the apparatus comprising:
    an acquiring module, configured to acquire, in response to an instruction to migrate an application program of an external device to the electronic device, application program information in the external device, wherein the external device has a first system platform, the application program of the external device comprises at least a first application program, the electronic device has a second system platform, and the first system platform is different from the second system platform;
    a determining module, configured to determine a second application program corresponding to the first application program and runnable on the second system platform, according to the acquired application program information; and
    an installing module, configured to download and install the second application program into the electronic device.
  15. A computer readable storage medium, storing a computer program, wherein the computer program, when executed by a processor, implements the method for processing data according to any one of claims 1-13.
PCT/KR2022/005727 2021-05-18 2022-04-21 Method and apparatus for processing data WO2022244997A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110538065.1A CN115373697A (en) 2021-05-18 2021-05-18 Data processing method and data processing device
CN202110538065.1 2021-05-18

Publications (1)

Publication Number Publication Date
WO2022244997A1 true WO2022244997A1 (en) 2022-11-24

Family

ID=84059445

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/005727 WO2022244997A1 (en) 2021-05-18 2022-04-21 Method and apparatus for processing data

Country Status (2)

Country Link
CN (1) CN115373697A (en)
WO (1) WO2022244997A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117240760A (en) * 2023-11-13 2023-12-15 国网天津市电力公司信息通信公司 Intelligent detection method and system for industrial Internet of things protocol field

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012056324A1 (en) * 2010-10-29 2012-05-03 France Telecom Method and system to recommend applications from an application market place to a new device
US20140282493A1 (en) * 2013-03-15 2014-09-18 Quixey, Inc System for replicating apps from an existing device to a new device
US8869074B2 (en) * 2011-06-01 2014-10-21 Lg Electronics Inc. Mobile terminal
US9652688B2 (en) * 2014-11-26 2017-05-16 Captricity, Inc. Analyzing content of digital images
US9690560B2 (en) * 2013-03-15 2017-06-27 Google Technology Holdings LLC System and method for transferring software applications and data between two mobile devices with different operating systems

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012056324A1 (en) * 2010-10-29 2012-05-03 France Telecom Method and system to recommend applications from an application market place to a new device
US8869074B2 (en) * 2011-06-01 2014-10-21 Lg Electronics Inc. Mobile terminal
US20140282493A1 (en) * 2013-03-15 2014-09-18 Quixey, Inc System for replicating apps from an existing device to a new device
US9690560B2 (en) * 2013-03-15 2017-06-27 Google Technology Holdings LLC System and method for transferring software applications and data between two mobile devices with different operating systems
US9652688B2 (en) * 2014-11-26 2017-05-16 Captricity, Inc. Analyzing content of digital images

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117240760A (en) * 2023-11-13 2023-12-15 国网天津市电力公司信息通信公司 Intelligent detection method and system for industrial Internet of things protocol field
CN117240760B (en) * 2023-11-13 2024-01-16 国网天津市电力公司信息通信公司 Intelligent detection method and system for industrial Internet of things protocol field

Also Published As

Publication number Publication date
CN115373697A (en) 2022-11-22

Similar Documents

Publication Publication Date Title
WO2021132927A1 (en) Computing device and method of classifying category of data
WO2018164378A1 (en) Electronic apparatus for compressing language model, electronic apparatus for providing recommendation word and operation methods thereof
WO2020019563A1 (en) Search sequencing method and apparatus, electronic device, and storage medium
WO2014007586A1 (en) Apparatus and method for performing visual search
WO2016027983A1 (en) Method and electronic device for classifying contents
WO2021025397A1 (en) Method and electronic device for quantifying user interest
WO2016003219A1 (en) Electronic device and method for providing content on electronic device
WO2017115994A1 (en) Method and device for providing notes by using artificial intelligence-based correlation calculation
WO2012132395A1 (en) Retrieval device, retrieval system, method, and program
CN113407814B (en) Text searching method and device, readable medium and electronic equipment
CN114564666B (en) Encyclopedia information display method, device, equipment and medium
WO2022244997A1 (en) Method and apparatus for processing data
EP3942510A1 (en) Method and system for providing personalized multimodal objects in real time
EP3577571A1 (en) Electronic apparatus for compressing language model, electronic apparatus for providing recommendation word and operation methods thereof
WO2021020810A1 (en) Learning method of ai model and electronic apparatus
WO2022197136A1 (en) System and method for enhancing machine learning model for audio/video understanding using gated multi-level attention and temporal adversarial training
WO2020171549A1 (en) Apparatus for searching for content using image and method of controlling same
WO2020149655A1 (en) Method for providing shared data on basis of device attribute and electronic device for same
WO2018191889A1 (en) Photo processing method and apparatus, and computer device
WO2019143161A1 (en) Electronic device and search keyword processing method thereof
WO2019146864A1 (en) Electronic device and control method therefor
WO2022145836A1 (en) Method and apparatus for processing information
WO2021177617A1 (en) Electronic apparatus and method for controlling thereof
WO2020171613A1 (en) Method for displaying visual object regarding contents and electronic device thereof
WO2012036535A2 (en) Searching system and method for providing same

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22804852

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE