Method and computing apparatus for analysing a telephone number
Patent Information
- Application Number
- PCT/EP2026/058335
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-26
- Filing Date
- 2026-03-24
- Publication Date
- 2026-10-01
Smart Images

Figure EP2026058335_01102026_PF_FP_ABST
Abstract
Description
[0001] METHOD AND COMPUTING APPARATUS FOR ANALYSING A TELEPHONE NUMBER TECHNICAL FIELD
[0002] The embodiments herein relate to the field of analysis of telephone numbers, e.g. using computers employing software and algorithms for Artificial Intelligence (Al), to detect undesired telephone numbers. In particular, a computing apparatus and a method for analysing a telephone number are disclosed. Furthermore, a related computer program and a carrier therefor are disclosed.
[0003] BACKGROUND
[0004] Unsolicited telemarketing and sales calls are a persistent issue for users, consuming time and often causing frustration. These calls can disrupt daily activities, leading to inefficiencies and annoyance. Moreover, fraudulent callers pose an even greater risk by attempting to deceive individuals into disclosing sensitive information or transferring funds from their accounts under false pretences. Various approaches have been implemented to mitigate unwanted calls, including call blocking, number filtering, and user-reported spam databases. However, these methods often rely on static blacklists or user intervention, which may not be sufficient to protect against evolving fraud tactics or newly emerging scam numbers.
[0005] Accordingly, there is a need for an improved system and method for detecting and protecting against unwanted and potentially fraudulent calls.
[0006] WO2023126905 discloses a communication origination categorization server directed towards prevention of unsolicited voice calls and / or unsolicited messaging content on communication devices. The invention relies on a communication origination categorization server configured for implementing the steps of (i) identifying a number for a communication origination categorization decision, wherein the identified number is associated with a first telephony device that has initiated a communication with a second telephony device, (ii) identifying application user feedback information associated with the identified number, (iii) identifying at least one of calling behaviour information associated with the identified number and messaging behaviour information associated with the identified number, (iv) generating a communication origination categorization decision based on at least one or both of the identified calling behaviour information and the identified messaging behaviour information, and (v) transmitting to the second telephony device, the communication origination categorization decision.
[0007] US10791222 discloses a call screening computing system is described that is configured to perform voice captcha and real-time monitoring of calls into a contact center of an organization. The callscreening computing system includes a chat bot configured to operate as an Al-based call screener. The chat bot is configured to perform voice captcha by sending a random question to a user device placing a call into the contact center, and analyzing the received answer to determine whether a user of the user device is human or a robot. The chat bot is configured to, based on the user being human, determine whether the user is a legitimate customer of the organization by generating and presenting authentication challenges to the user device. The chat bot may be configured to monitor and interact with a conversation between the user and an agent of the organization during the call into the contact center.
[0008] SUMMARY
[0009] An object may be to mitigate, or even eliminate, the abovementioned disadvantage, or other disadvantages or problems.
[0010] This object, and / or other objects, may be achieved by the subject-matter as set forth in the appended independent claims.
[0011] According to an aspect, there is provided a method, performed by a computing apparatus, for analysing a telephone number.
[0012] The computing apparatus obtains the telephone number, e.g. as input from an end-user, e.g. using a human interface device, keyboard, mouse, or the like, by extraction from an incoming connection receivable at the computing apparatus, from a database comprising telephone numbers, or the like. The computing apparatus obtains a reference result relating to a selected type of interactions associated with telephone numbers.
[0013] The computing apparatus analyses the telephone number by repeating a set of actions. The set of actions comprises:
[0014] The computing apparatus obtains a set of results. Each result of the set of results comprises at least one of: information about an owner of the telephone number, content of reviews and / or reports relating to the telephone number, an objective of a caller associated with the telephone number, user-submitted information about the telephone number, and a response to an inquiry.
[0015] The computing apparatus determines, for said each result, a respective risk score using a similarity algorithm that compares said result with the reference result.
[0016] wherein the repetition of the set of actions is performed until a statistical measure of a set of risk scores, comprising the respective risk score for each repetition, satisfies a stability threshold value for required stability, in terms of the statistical measure, of the set of risk scores,
[0017] and wherein the method comprises:
[0018] The computing apparatus classifies the telephone number according to the selected type ofinteractions based on the set of risk scores and an identified threshold value for when to consider the telephone number identified as being of the selected type of interactions.
[0019] As an example, analysing the telephone number can mean that the computing apparatus determines whether or not the telephone number implies interactions of the selected type, such as fraud, sales, etc.
[0020] In some examples, thanks to a search on the Internet, it is ensured that all available information for a phone number is considered when analysing it. Thus, more reliable and accurate analysis of the telephone number is achieved, e.g. as compared to prior known solutions.
[0021] In some examples, the computing apparatus proactively contacts, or calls, the telephone number to retrieve up-to date and relevant knowledge that reduces a risk of a malicious actors is able to initiating an interaction, such as a conversation, communications, or the like, with the user.
[0022] According to another aspect, there is provided a computing apparatus configured for analysing a telephone number.
[0023] The computing apparatus is configured for obtaining the telephone number.
[0024] The computing apparatus is configured for obtaining a reference result relating to a selected type of interactions associated with telephone numbers.
[0025] The computing apparatus is configured for analysing the telephone number by repeating a set of actions. The set of actions comprises: 1) obtaining a set of results, wherein each result of the set of results comprises at least one of: information about an owner of the telephone number, content of reviews and / or reports relating to the telephone number, an objective of a caller associated with the telephone number, user-submitted information about the telephone number, a response to an inquiry and the like, and 2) determining, for said each result, a respective risk score using a similarity algorithm that compares said result with the reference result.
[0026] The computing apparatus is configured for repeating the set of actions until a statistical measure of a set of risk scores, comprising the respective risk score for each repetition, satisfies a stability threshold value for required stability, in terms of the statistical measure, of the set of risk scores. Furthermore, the computing apparatus is configured for classifying the telephone number according to the selected type of interactions based on the set of risk scores and an identified threshold value for when to consider the telephone number identified as being of the selected type of interactions.
[0027] According to at least some embodiments of the aspects above, one or more of the following features can be included:- the obtaining of the respective result comprises searching and retrieving the respective result from at least a portion of the Internet,
[0028] - the obtaining of the respective result comprises obtaining a connection towards the telephone number, and converting audio on the connection to text, thereby obtaining the respective result,
[0029] - the obtaining of the connection comprises establishing the connection towards the telephone number,
[0030] - the obtaining of the connection comprises accepting the connection towards the telephone number,
[0031] - the repetition of the set of actions comprises a first set of repetitions of the set of actions and a second set of repetitions of the set of actions, wherein
[0032] the obtaining of the respective result in the first set of repetitions is performed by searching and retrieving as above, and
[0033] the obtaining of the respective result in the second set of repetitions is performed by obtaining the connection and converting audio as above,
[0034] - the method further comprises:
[0035] performing the second set of repetitions, when the first set of repetitions results in that the measure of the set of risk scores fails to satisfy the stability threshold value, - the method further comprises
[0036] performing a task based on the selected type according to the classifying, wherein the task comprises one or more of:
[0037] displaying the set of risk scores, or a derivate thereof,
[0038] storing one or more of the telephone number, the set of the risk score, the selected type of interactions, and the reference result,
[0039] disconnecting the connection towards the telephone number,
[0040] redirecting the connection to a further telephone number,
[0041] rejecting the connection towards the telephone number,
[0042] or a combination thereof,
[0043] - the obtaining of the telephone number comprises
[0044] receiving the telephone number as input from an end-user,
[0045] extracting the telephone number from an incoming connection at the computing apparatus, and / or
[0046] retrieving the telephone number from a database comprising telephone numbers.
[0047] - the selected type of interactions identifies the telephone number as being one or more ofprivate, legitimate business, charity, healthcare, authority, spam, fraud, sales, marketing, survey, fundraising, legitimate finance, and the like,
[0048] - each repetition adds the respective result to a set of results.
[0049] BRIEF DESCRIPTION OF THE DRAWINGS
[0050] The various aspects of embodiments disclosed herein, including particular features and advantages thereof, will be readily understood from the following detailed description and the accompanying drawings, which are briefly described in the following.
[0051] Figure 1 is a schematic overview of an example of a system in which embodiments herein may be implemented.
[0052] Figure 2 is a flowchart illustrating embodiments of the method herein, e.g. performed by the system and / or the computing apparatus.
[0053] Figure 3 is a block diagram illustrating embodiments of the computing apparatus.
[0054] DETAILED DESCRIPTION
[0055] Throughout the following description, similar reference numerals have been used to denote similar features, such as nodes, actions, modules, circuits, parts, items, elements, units or the like, when applicable.
[0056] As used herein, a similarity algorithm can refer to an algorithm that is, or is derived from, one or more of cosine similarity, correlation coefficient, Pearson correlation coefficient, Euclidean distance, orthogonal projection, Jaccard similarity, or the like. Such algorithms may be used to quantify the similarity or dissimilarity between data points, vectors, sets, or distributions in various applications. For example, cosine similarity measures the angle between two vectors to determine their directional alignment, while the correlation coefficient and Pearson correlation coefficient assess linear relationships between variables. Euclidean distance calculates the absolute geometric distance between points in a multidimensional space, and orthogonal projection determines component similarities by projecting one vector onto another. Jaccard similarity, on the other hand, is particularly useful for comparing sets by evaluating the proportion of shared elements relative to the total unique elements.
[0057] It may be noted that similarity-based algorithm are technically distinct in both operation and effect as compared to e.g. machine-learning based algorithms.A machine-learning system derives decision logic by training a model on historical data, such that, after training, a given input yields a fixed result unless the model is retrained or updated. Repetition is performed during training and when using the model with the same input, it will yield the same output. The output is primarily a class rather than a direct measure of similarity to a reference as in the case of a similarity-based analysis as follows.
[0058] Hence, by contrast, the similarity-based analysis does not rely on a trained model or learned parameters, but instead applies a predefined similarity algorithm to directly compare obtained results with a reference result. The output of such analysis explicitly reflects degrees of similarity rather than a predicted class as output of a trained ML model. The analysis can be repeated as additional results are obtained, whereby the similarity scores may evolve. This makes it technically meaningful to assess statistical stability or convergence of the similarity scores over successive repetitions, e.g. by calculating a measure of difference between results. As the input includes more and more results, the measure of difference can eventually be sufficiently small and then be considered to be stable.
[0059] Accordingly, a similarity-based approach is reference-centric and adaptive to newly obtained information without retraining, whereas machine learning is model-centric and dependent on prior training, and these approaches are therefore not interchangeable from a technical standpoint.
[0060] As used herein, a "computing apparatus" can be realized by one or more software modules and / or one or more hardware modules and / or a virtual computer and / or a so called container having suitable programming instructions herein and / or a physical or virtual execution environment, such as a processing circuit, a processing board, etc., and / or the like. For example, the computing apparatus can be, or be realized by, a computer, a server, a serverless computing function, a virtual function or module, and the like.
[0061] As used herein, "threshold", "threshold value", "limit", or the like, may have been used interchangeably.
[0062] As used herein, "a current result is evaluated against a reference result", or the like, can refer to evaluation using a similarity algorithm which compares the current result to the reference result, e.g. typically yielding a value between 0 and 1, or between -1 and 1.
[0063] As used herein, "the telephone number", "the current telephone number", "the observed telephone number" can refer to the telephone number currently being analysed, studied, observed and / or the like. This can be a calling party's telephone number or the telephone number of an incoming call, i.e. incoming to the computing apparatus.As used herein, "destination telephone number" can refer to that the computing apparatus is associated with such destination telephone number. E.g. when receiving or performing outgoing calls, e.g. on accepting and / or establishing a connection between two telephone numbers, e.g. the current telephone number and the destination telephone number. The destination telephone number can also be referred to as own, source or home telephone number.
[0064] As used herein, "another or a further telephone number", being different from the two aforementioned telephone numbers, can be associated with: an Al-bot, an answering machine, e.g. playing music, etc., an authority responsible for catching callers associated with telephone numbers resulting in illegal activities, such as fraud, etc., and the like.
[0065] As used herein, "stored telephone number(s)" can refer to, e.g., non-verified telephone numbers, i.e. telephone number that have not previously, or not sufficiently recently, been analysed according to at least one embodiment herein.
[0066] In some examples, the term "telephone number" can more generally refer to an identifier relating to an end point in a communication network, such as TCP / IP network, a cellular network, a telecommunication network, or the like, for voice, SMS, chat, video, data, email, or the like. The communication network can be implemented using any known protocols.
[0067] Figure 1 depicts an exemplifying system 100 in which at least some embodiments herein can be implemented.
[0068] The exemplifying system 100 comprises a computing apparatus 110. The computing apparatus 110 can be associated with a user 200, such as an end-user, an operator, a person, or the like. Typically, the computing apparatus 110 can warn and / or protect the user 200 from undesired telephone calls, e.g. as defined or selected by the user 200.
[0069] The exemplifying system 100 can comprise an electronic communication device 120, e.g. associated with a responder 400, a third party 400, an answering machine, or the like.
[0070] The exemplifying system 100 can comprise a data storage 140. The data storage 140 can include a first data storage comprising previously analysed telephone numbers and a second data storage comprising non-verified telephone numbers. As an example, the data storage 140 can include, for each record in the data storage 140, a post indicating whether or not the telephone number has been analysed, and optionally when it was analysed, e.g. a time stamp of the analysis of the telephone number.
[0071] The data storage 140 can be an optical and / or electrical data storage, a memory, a database, or thelike. The data storage 140, being local or remote with respect to the computing apparatus 110, is accessible by the computing apparatus 110.
[0072] The computing apparatus 110 and / or the electronic communication device 120 and / or the data storage 140 can be interconnected 103, 106, 108 to each other, e.g. via the Internet 300.
[0073] Figure 2 shows an exemplifying method, such as a computer-implemented method, for analysing a telephone number, or telephone numbers in general. As an example, the system 100, or the computing apparatus 110, performs the method for analysing the telephone number. With the embodiments herein, Al-assisted analysis of telephone numbers can be achieved dynamically and reliably, e.g. based on information retrieved from the Internet and / or retrieved by actively calling the telephone number to be analysed as explained in the following.
[0074] One or more of the following actions may be performed in any suitable order.
[0075] Action A110
[0076] In order for the computing apparatus 110 to gain knowledge about which telephone number to analyse, the computing apparatus 110 obtains the telephone number. As mentioned, the telephone number can be referred to as "a current telephone number" as in currently under analysis or under observation.
[0077] As an example, the computing apparatus 110 may receive the telephone number as input from an end-user, e.g. using a human interface device, keyboard, mouse, or the like.
[0078] As an example, the computing apparatus 110 may extract the telephone number from an incoming connection receivable at the computing apparatus 110. The incoming connection can be directed towards the destination telephone number, e.g. at which the computing apparatus 110 can be reached.
[0079] As an example, the computing apparatus 110 may retrieve the telephone number from the data storage 140, e.g. comprising non-verified telephone numbers.
[0080] Action A120
[0081] The computing apparatus 110 may check whether the telephone number is stored or not. If the telephone number is stored, it means that the telephone number has been analysed previously. As an example, the computing apparatus 110 can, in this manner, check whether the data storage 140 includes, or does not include, the telephone number. Sometimes, the telephone number can beincluded in the data storage 140, but the telephone number can be indicated, such as by an indication, a field, or the like, in the data storage 140 as not being analysed, or to be analysed, or the like. The computing apparatus 110 can use such indication to determine whether or not to analyse the telephone number.
[0082] As an example, when the computing apparatus 110 has determined that the telephone number has previously been analysed, then the computing apparatus 110 can retrieve a time stamp of the stored information to determine whether or not a new analysis for the telephone number shall be performed, e.g. when the information as time stamped has an age that is above a refresh threshold value for when the information is to be considered to be outdated.
[0083] In view of the above, the telephone number can have associated information that can be stored in the data storage 140. The associated information can include one or more of: the indication of being analysed or not, the timestamp, or the like.
[0084] If an outcome of action A120 is that an analysis of the telephone number shall be performed, action A130 can be performed.
[0085] Action A130
[0086] The computing apparatus 110 analyses the telephone number by repeating B118 a set of actions.
[0087] The computing apparatus 110 analyses the set of results using a similarity algorithm taking a reference result and the set of results as input to obtain a risk score relating to a selected type of interactions of the reference result, such as selected communications, or the like.
[0088] The computing apparatus 110 analyses the telephone number, e.g. using Al, LLM, a neural network, or the like.
[0089] Action B110
[0090] The computing apparatus 110 obtains the reference result relating to the selected type of interactions associated with telephone numbers. This action can be performed at any point in time before action B130. The selected type of interactions can in this manner define, or specify, which interactions and / or communications are considered to be desired or undesired.
[0091] Preferably, this action is performed after the computing apparatus 110 has obtained information about the selected type of interactions. In some examples, action B110 can be performed at any point in time before action B130, such as before or just after action A110 and / or A120 and / or the like.In some examples, the selected type of interactions and / or communications identifies the telephone number as being one of private, legitimate business, charity, healthcare, authority, spam, fraud, sales, marketing, survey, fundraising, legitimate finance, and the like.
[0092] As an example, the computing apparatus 110 obtains the reference result, or a set of reference results, relating to the selected type of interactions, or selected communications, associated with telephone numbers. The set of reference results can comprise one or more reference results. For ease of explanation, the set of reference results is generally referred to as "the reference result" herein. For example, the reference result can identify characteristics of the selected type of interactions associated with telephone numbers identified as being undesired, e.g. as determined by a recipient, a user, or the like. The telephone number identified as being undesired can be fraudulent or can be telemarketing and / or telesales, or the like. These telephone numbers can be referred to as "known telephone numbers", or "pre-identified telephone numbers". Notably, the reference result does not explicitly include, such as indicate, state, mention, or the like, the telephone number itself. In this manner, characteristics relating to an unknown telephone number can be analysed with respect to similarity to the reference result and then derive whether the unknown telephone number is deemed to belong to a group of telephone numbers including the known telephone numbers. Action B115
[0093] In some examples, the computing apparatus 110 can obtain, such as establish, accept, or the like, a connection towards the telephone number, sometime referred to as the current telephone number, e.g. when no connection towards the telephone number already exists.
[0094] In this manner, the computing apparatus 110 can connect to, e.g. call, receive incoming call, or the like, the current telephone number to analyse the current telephone number with respect to whether interactions, or communications, associated therewith, or communications therefrom, are expected to be undesired or desired.
[0095] In some examples, the obtaining B115 of the connection comprises establishing the connection towards the telephone number. This means that the computing apparatus 110 actively, or even proactively, call the telephone number in order to interact with the party 400 to retrieve information before analysing the information to determine whether the telephone number relates to desired or undesired communications and / or interactions, i.e. being of the selected type.
[0096] In some examples, the obtaining B115 of the connection comprises accepting the connection towards the telephone number. This means that an incoming call, e.g. from the party 400, isaccepted and then the computing apparatus 110 can interact with the party 400 to retrieve information before analysing the information to determine whether the telephone number relates to desired or undesired communications and / or interactions, i.e. being of the selected type.
[0097] Action B118
[0098] The computing apparatus 110 repeats, such as iterates, performs one or more times, or the like, action B120 and B130, e.g. repeatedly performs a set of actions, comprising action B120 and B130, until the risk score is considered to be reliable.
[0099] Action B120
[0100] The computing apparatus 110 obtains, such as retrieves, fetches, collects, or the like, a set of results, e.g. relating to the current telephone number.
[0101] Each result of the set of results comprises at least one of:
[0102] • origin, such as information about an owner of the telephone number, or the like,
[0103] • content of reviews and / or reports relating to the telephone number,
[0104] • an objective of a caller associated with the telephone number,
[0105] • user-submitted information about the telephone number,
[0106] • a response to an inquiry,
[0107] • and the like.
[0108] Accordingly, the respective result is preferably a vector, such as a vector embedding, an embedding, an array of values, or the like.
[0109] In some examples, the obtaining B120 of the respective result comprises searching, e.g. on at least a portion of the Internet 300, and retrieving the respective result, e.g. from said at least a portion of the Internet 300, e.g. by vectorization of content retrieved from said at least a portion of the Internet 300.
[0110] In some examples, the obtaining B120 of the respective result comprises obtaining B115, such as establishing, accepting, or the like, the connection towards the telephone number, e.g. as in action B110, and converting audio on the connection to text, thereby obtaining the respective result. In some examples, the computing apparatus 110 vectorizes the text and adds the respective result into the set of results.In more detail, the computing apparatus 110 can obtain raw data from said at least a portion of the Internet 300 and / or from the audio of the connection, e.g. being converted to text by a speech-to-text tool, and / or SMS conversions, optionally preprocess the raw data, and then vectorize the raw data to obtain the respective result, e.g. using a transformer tool, such as a Bidirectional Encoder Representations from Transformers (BERT).
[0111] In some examples, each repetition B118 adds the respective result to a set of results.
[0112] Action B122
[0113] The computing apparatus 110 can obtain, such as extract, fetch, collect, or the like, the set of result by searching on at least a portion of the Internet 300. The computing apparatus 110 can search for, e.g. on said at least a portion of the Internet 300, for keywords, location information, user reviews, source information, and the like.
[0114] In general, the computing apparatus 110 can use a dedicated crawler subsystem or an external search-API for searching on the Internet 300.
[0115] In some examples, the computing apparatus 110 can employ a machine learning model, e.g., BERT-based or other Al-technology, in order to filter out pages that by coincidence happen to mention numbers in a format similar to common formats of telephone numbers. In this manner, noise or irrelevant results among the set of results can be reduced.
[0116] As an example, when a webpage containing the telephone number has been retrieved, the computing apparatus 110 can perform a sematic analysis of the webpage. The sematic analysis can include that the computing apparatus 110 sends a prompt to an LLM for the purpose of extracting a structured result from the webpage. In order to achieve this, the prompt, or otherwise, can instruct the LLM to extract entities, such as names of person, companies, organizations, or the like, that are near, e.g. in terms of a specified number of words before and / or after, the telephone number. The specified number of words can be between 2 and 10 words, 2 to 5 words, or the like.
[0117] The structured result can include one or more of:
[0118] • a credibility of the source, e.g. of the webpage. For example, an official webpage is more credible than a chat-thread,
[0119] • a number of sources indicating the same owner of the telephone number.
[0120] • a count of warnings found in the search of the repetition, i.e. found in the webpage, such as "This number belongs to a telemarketer", "Fraud reported", or the like, from user reviews."a comparison between official registers of owner of the telephone number and the respective result,
[0121] and the like.
[0122] In this manner, the set of results are processed to obtain a set of structured results.
[0123] Action B124
[0124] The computing apparatus 110 can obtain, such as extract, fetch, collect, or the like, the set of results by interacting with a responder 400 associated with the connection.
[0125] For example, the computing apparatus 110 can interact in a conversation with the responder, e.g. by sending one or more words, complete or partial sentences / statements / questions to the responder. In this manner, the computing apparatus 110 can trigger the responder to provide one or more responses from which the set of results is obtained. Said one or more responses can include one or more words, complete or partial sentences / statements / questions, to which the computing apparatus 110 may or may not send back one or more further words, i.e. in a further iteration to trigger one or more further responses.
[0126] The responder 400 can be a person, a switchboard, a conversational Al bot, other party, interacting party, connected party, connected participant, endpoint, node, or the like.
[0127] The interaction with the responder can be realized using audio, video, text, chat, audio and / or video snippets, or the like.
[0128] The interaction with the responder can include that the computing apparatus 110 sends one or more enquires to the responder in response to which the responder can send one or more response. The computing apparatus 110 can then process said one or more response to extract a respective result or the set of results, e.g. by using Text-to-Speech (TTS) analysis, audio to text analysis, speech recognition, Automatic Speech Recognition (ASR), or the like.
[0129] Action B130
[0130] The computing apparatus 110 determines, for said each result, a respective risk score using a similarity algorithm that compares said result, or said structured result, with the reference result. The computing apparatus 110 performs the repetition B118 of the set of actions until a statistical measure of a set of risk scores, comprising the respective risk score for each repetition, satisfies a stability threshold value for required stability, in terms of the statistical measure, of the set of risk scores, or until a maximum number of repetitions and / or a maximum time of performing the repetition B118 has been reached.In order to explain when the risk score is considered to be reliable, consider the following exemplifying scenario, in which cosine similarity is used as an example of the similarity algorithm: A first result is obtained in a first iteration of action B120. Then the first result is evaluated in action B130 against the reference result (e.g. indicating fraudulent telephone number). This yields a first value of the risk score.
[0131] After the first iteration, a first cosine distance to the reference result can be determined as 1 reduced by the first value of the risk score. With no preceding iteration, the computing apparatus 110 may find the retrieval of further results unnecessary, e.g. if the first cosine distance is less than an absolute threshold value for maximum allowed absolute distance to the reference result(s). In such case, the computing apparatus 110 does not perform actions B120 and B130 more than once.
[0132] Sometimes, however, the first cosine distance is greater than the absolute threshold value. Then, a second result is obtained in a second iteration of action B120. Then the second result is evaluated against the known reference result(s). This yields a second value of the risk score. Similarly as above, a second cosine distance to the reference result(s) can be determined as 1 reduced by the second value of risk score.
[0133] Now, when the second cosine distance is less than the absolute threshold value the computing apparatus 110 can stop any further iterations of action B120 and B130.
[0134] In some examples, the computing apparatus 110 can stop any further iterations of action B120 and B130, when the difference between the first and second cosine distance is less than a relative threshold value for when the risk score is considered to be reliable.
[0135] This means that a stop criterion for the iteration of action B120 and B130 can be established, such as derived from, defined by, or the like, by the absolute threshold value and / or the relative threshold value, respectively.
[0136] In one example, which can be combined with any one or more examples and / or embodiments herein, the computing apparatus 110 can perform a first set of repetitions of the set of actions and then perform a second set of repetitions of the set of actions. In such example, the obtaining B120 of the respective result in the first set of repetitions is performed according to action B122, and the obtaining B120 of the respective result in the second set of repetitions is performed according to action B124.
[0137] Expressed differently, in some examples, action A130 is first performed while action B122 retrieves the respective result from at least a portion of the Internet. If the result is not considered to be sufficiently reliable, the computing apparatus 110 can then proceed with further iterations byperforming action A130 while action B122 retrieves the respective result by interaction and / or sending / receiving communications with a responder associated with the current telephone number. The stop criterion as above can be used.
[0138] The computing apparatus 110 may perform the second set of repetitions, when, e.g. only when, the first set of repetitions results in that the measure of the set of risk scores fails to satisfy the stability threshold value. This typically happens when the first set of repetitions has exceeded a maximum number of repetitions and / or a maximum time of performing the repetition(s).
[0139] Advantageously, the obtaining of respective results using action B124 is invoked, e.g. when the obtaining of respective results using action B122 did not result in that the risk score, or the set of risk scores, was considered stable, e.g. in terms of the statistical measure. In this embodiment, a multilayer Al-driven process is achieved while combining passive, e.g. as in action B122, and active, e.g. as in action B124, retrieval of results to be compared with the reference result for further classification in action A150.
[0140] With at least some examples herein, the computing apparatus 110 takes advantage of a pipeline of different Al models, e.g. BERT for filtering and / or vectorization of the set of results, the respective risk score determined using the similarity algorithm and subsequent evaluation of the respective risk score.
[0141] Action A140
[0142] When the telephone number is stored in the data storage 140, the computing apparatus 110 can retrieve the information associated with the telephone number from the data storage 140.
[0143] The information can further comprise one or more of:
[0144] the set of results obtainable according to action A130,
[0145] the risk score or the set of risk scores, and the like.
[0146] Action A150
[0147] Subsequent to action A140 or action A130, the computing apparatus 110 classifies the telephone number according to the selected type of interactions based on the set of risk scores and an identified threshold value for when to consider the telephone number identified as being of the selected type of interactions.
[0148] Accordingly, the computing apparatus 110 analyses the telephone number in that the computingapparatus 110 determines whether or not the telephone number implies interactions and / or communications of the selected type.
[0149] Action A160
[0150] This action can be performed after action A130 or after action A140.
[0151] The computing apparatus 110 may perform a task based on the selected type according to the classifying A150. Expressed somewhat differently, the computing apparatus 110 can perform the task based on the risk score in relation to an identified threshold value for when the telephone number is considered to be identified according to the reference result(s).
[0152] The task can be that the computing apparatus 110 proceeds according to one or more of the following examples. In other words, the task can be, or comprise, one or more of said following examples.
[0153] The computing apparatus 110 can display the telephone number, the risk score and / or the set of risk scores and optionally the set of results, and optionally the reference result, to the user 200, e.g. on a display device, I / O unit, or the like, accessible by the computing apparatus 110. Alternatively to displaying the risk score(s), one or more derivates of the risk score(s) can be displayed. A derivative can be a number, e.g. from 1 to 10, a colour, or the like to visualize and convey the risk score to the end-user 200.
[0154] The computing apparatus 110 can store, such as save, memorize, or the like, one or more of the telephone number, the risk score, the set of the risk score, the reference result, the selected type of interactions, the set of results, e.g. in the data storage 140, or the like. For example, the storing can be performed by the computing apparatus 110, e.g. when, such as only when, the risk score satisfies the identified threshold value. In this manner, the database is updated and / or provided with new information, not already existing therein, about the telephone number.
[0155] For one or more of incoming connections, outgoing connections, incoming calls, outgoing calls, or the like, the computing apparatus 110 can allow the connection or the call to reach the user, e.g. when the risk score satisfies the identified threshold value.
[0156] The computing apparatus 110 can disconnect the connection towards the telephone number, e.g. when the risk score fails to satisfy the identified threshold value.The computing apparatus 110 can redirect the connection to a further telephone number. The further telephone number is different from the destination telephone number. The further telephone number can be represented by an Al-interviewer, an answering machine playing music to the party, e.g., of the telephone number. In this manner, the party 400 becomes occupied by interacting with and / or communicating towards the further telephone number. The interactions and / or communications from the further telephone number can be generated, or controlled by, the computing apparatus 110.
[0157] The computing apparatus 110 can rejecting the connection towards the telephone number. In this manner, the user 200 of the computing apparatus 110 is protected from interactions and / or communications towards the telephone number. Accordingly, preventing the party 400 from conveying their undesired selected type of interactions and / or communications.
[0158] Any one or more of the examples above can be combined into further examples and embodiments.
[0159] Reference result
[0160] The reference result or the reference results is herein referred to as "reference result" in singular for reasons of simplicity.
[0161] A reference telephone number can be identified as undesired, e.g. by manual identification, or similar. Then, the computing apparatus 110 can retrieve information about the reference telephone number in the same or similar manners as described above, e.g. according to action B122 and / or B124. In this manner, the computing apparatus 110 can generate the reference result to be used when analysing non-verified telephone numbers, e.g. not stored in the data storage 140, or at least not marked as analysed in the data storage 140.
[0162] In some examples, the reference result(s) can be obtained from a database derived from user-submitted telephone numbers that are known to be undesired, e.g. according to the selected type. The database can be updated based on analysed telephone numbers and / or user feedback. As an example, for a user-submitted telephone number, i.e. known to be undesired, a search on the Internet can be performed and the resulting raw data can be transformed into a vector as described above. An advantage of at least some embodiments herein as compared to e.g. machine learning algorithms can thus be that no re-training needs to be performed in order for the method to update information about which telephone numbers should be considered undesired, i.e. update thedatabase including reference result(s).
[0163] As an example, a reference result can be a vector representing one or more characteristics of an undesired telephone number.
[0164] In view of the above, the embodiments herein can provide real-time, or near real-time, evaluation and / or analysis of whether the current telephone number is of the selected type of interactions, which may or may not be desired.
[0165] In particular, the embodiments herein go beyond identification of a probable owner of the current telephone number by further classifying the telephone number into a category specified by the selected type.
[0166] Advantageously, the embodiments herein can be used globally, e.g. by simply adapting the language capabilities in the various steps and / or modules.
[0167] Furthermore, the embodiments herein go beyond a straightforward identification of the telephone number by building a profile associated with the telephone number, wherein the profile is represented by the set of results, or the set of structured results. In this manner, the profile takes into account previous results in combination with new results, optionally results may be filtered out when an age of the respective result exceeds a threshold for maximum allowed age of result.
[0168] With reference to Figure 3, a schematic block diagram of embodiments of the computing apparatus 110 of Figure 1 is shown.
[0169] The computing apparatus 110 can include a processing module 301 for performing the methods described herein. The processing module can be embodied in the form of one or more hardware modules and / or one or more software modules. The term "module" may thus refer to a circuit, a software block or the like according to various embodiments as described below.
[0170] The computing apparatus 110 may further include a memory 302. The memory can include, such as contain or store, instructions, e.g., in the form of a computer program 303, which can include computer readable code units. In some examples, the data storage 140 can be the memory 302. According to some embodiments herein, the computing apparatus 110 and / or the processing module 301 includes a processing circuit 304 as an exemplifying hardware module, which can include one or more processors. Accordingly, the processing module 301 may be embodied in the form of, or 'realized by', the processing circuit 304. The instructions may be executable by the processing circuit 304, whereby the computing apparatus 110 is operative to perform the methods of Figure 2. As another example, the instructions, when executed by the computing apparatus 110 and / or theprocessing circuit 304, may cause the computing apparatus 110 to perform the method according to Figure 2. In view of the above, in one example, there is provided a computing apparatus 110 configured for performing the method according to Figure 2. The memory 302 contains the instructions executable by said processing circuit 304 whereby the computing apparatus 110 is operative for performing the method of Figure 2.
[0171] Figure 3 further illustrates a carrier 305, or program carrier, which provides, such as comprises, mediates, supplies and the like, the computer program 303 as described directly above. The carrier 305 may be one of an electronic signal, an optical signal, a radio signal, a computer readable medium, a non-transitory computer readable medium, and a computer program product, a non-transitory computer program product, and the like.
[0172] In some embodiments, the computing apparatus 110 and / or the processing module 301 may comprise one or more of an obtaining module 310, an analysing module 320, a determining module 330, a repeating module 340, a classifying module 350, a performing module 360 etc., as exemplifying hardware modules. The term "module" may refer to a circuit when the term "module" refers to a hardware module. In other examples, one or more of the aforementioned exemplifying hardware modules may be implemented as one or more software modules.
[0173] Moreover, the computing apparatus 110 and / or the processing module 301 may comprise an Input / Output module 306, which may be exemplified by the receiving module and / or the sending module when applicable.
[0174] Accordingly, the computing apparatus 110 is configured for analysing a telephone number.
[0175] Therefore, according to the various embodiments described above, the computing apparatus 110 and / or the processing module 301 and / or the obtaining module 310 is configured for obtaining the telephone number.
[0176] The computing apparatus 110 and / or the processing module 301 and / or the obtaining module 310 is configured for obtaining a reference result relating to a selected type of interactions associated with telephone numbers.
[0177] The computing apparatus 110 and / or the processing module 301 and / or the analysing module 320 is configured for analysing the telephone number by repeating a set of actions. The set of actions comprises that:
[0178] - the computing apparatus 110 and / or the processing module 301 and / or the obtaining module 310 is configured for obtaining a set of results. Each result of the set of results comprises at least one of: information about an owner of the telephone number, content of reviewsand / or reports relating to the telephone number, an objective of a caller associated with the telephone number, user-submitted information about the telephone number, and a response to an inquiry.
[0179] - the computing apparatus 110 and / or the processing module 301 and / or the determining module 330 is configured for determining, for said each result, a respective risk score using a similarity algorithm that compares said result with the reference result.
[0180] The computing apparatus 110 and / or the processing module 301 and / or the repeating module 340 is configured for repeating the set of actions until a statistical measure of a set of risk scores, comprising the respective risk score for each repetition, satisfies a stability threshold value for required stability, in terms of the statistical measure, of the set of risk scores.
[0181] The computing apparatus 110 and / or the processing module 301 and / or the classifying module 350 is configured for classifying the telephone number according to the selected type of interactions based on the set of risk scores and an identified threshold value for when to consider the telephone number identified as being of the selected type of interactions.
[0182] In some examples, the computing apparatus 110 and / or the processing module 301 and / or the aforementioned corresponding module is configured for obtaining the respective result by searching and retrieving the respective result from at least a portion of the Internet 300.
[0183] In some examples, the computing apparatus 110 and / or the processing module 301 and / or the aforementioned corresponding module is configured for obtaining the respective result by obtaining a connection towards the telephone number, and converting audio on the connection to text, thereby obtaining the respective result.
[0184] In some examples, the computing apparatus 110 and / or the processing module 301 and / or the aforementioned corresponding module is configured for obtaining the connection by establishing the connection towards the telephone number.
[0185] In some examples, the computing apparatus 110 and / or the processing module 301 and / or the aforementioned corresponding module is configured for obtaining the connection by accepting the connection towards the telephone number.
[0186] In some examples, the computing apparatus 110 and / or the processing module 301 and / or the aforementioned corresponding module is configured for repeating the set of actions in a first set of repetitions and repeating the set of actions in a second set of repetitions.The computing apparatus 110 and / or the processing module 301 and / or the aforementioned corresponding module is configured for obtaining the respective result in the first set of repetitions by searching.
[0187] The computing apparatus 110 and / or the processing module 301 and / or the aforementioned corresponding module is configured for obtaining the respective result in the second set of repetitions by converting audio.
[0188] The computing apparatus 110 and / or the processing module 301 and / or the performing module 360 may be configured for performing the second set of repetitions, when, e.g. only when, the first set of repetitions results in that the measure of the set of risk scores fails to satisfy the stability threshold value.
[0189] The computing apparatus 110 and / or the processing module 301 and / or the performing module 360 may be configured for performing a task based on the selected type according to the classifying A150.
[0190] The computing apparatus 110 and / or the processing module 301 and / or the displaying module 370 may be configured for displaying the set of risk scores, or a derivate thereof.
[0191] The computing apparatus 110 and / or the processing module 301 and / or the storing module 380 may be configured for storing the telephone number, the set of the risk score and the selected type of interactions.
[0192] The computing apparatus 110 and / or the processing module 301 and / or a corresponding module can be configured for disconnecting the connection towards the telephone number.
[0193] The computing apparatus 110 and / or the processing module 301 and / or a corresponding module can be configured for redirecting the connection to a further telephone number.
[0194] The computing apparatus 110 and / or the processing module 301 and / or a corresponding module can be configured for rejecting the connection towards the telephone number.
[0195] In further examples, a combination thereof may be realized.
[0196] In some examples, the computing apparatus 110 and / or the processing module 301 and / or the receiving module 390 may be configured for receiving the telephone number as input from an enduser 200.
[0197] The computing apparatus 110 and / or the processing module 301 can be configured for extracting the telephone number from an incoming connection at the computing apparatus 110, and / or
[0198] The computing apparatus 110 and / or the processing module 301 may be configured for retrieving the telephone number from a database comprising telephone numbers.In some examples, the selected type of interactions and / or communications identify the telephone number as being one of private, legitimate business, charity, healthcare, authority, spam, fraud, sales, marketing, survey, fundraising, and legitimate finance.
[0199] In some examples, each repetition B118 adds the respective result to a set of results.
[0200] As used herein, the term "computer program carrier", "program carrier", or "carrier", may refer to one of an electronic signal, an optical signal, a radio signal, and a computer readable medium. In some examples, the computer program carrier may exclude transitory, propagating signals, such as the electronic, optical and / or radio signal. Thus, in these examples, the computer program carrier may be a non-transitory carrier, such as a non-transitory computer readable medium.
[0201] As used herein, the term "processing module" may include one or more hardware modules, one or more software modules or a combination thereof. Any such module, be it a hardware, software or a combined hardware-software module, may be a determining means, estimating means, capturing means, associating means, comparing means, identification means, selecting means, receiving means, sending means or the like as disclosed herein. As an example, the expression "means" may be a module corresponding to the modules listed above in conjunction with the Figures.
[0202] As used herein, the term "software module" may refer to a software application, a Dynamic Link Library (DLL), a software component, a software module, a software object, a React component, an object according to Component Object Model (COM), a software function, a software engine, an executable binary software file or the like.
[0203] As used herein, the terms "processing unit" or "processing circuit" may herein encompass e.g. one or more processors, an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA) or the like. The processing circuit or the like may comprise one or more processor kernels. As used herein, the expression "configured to / for" may mean that a processing circuit is configured to, such as adapted to or operative to, by means of software configuration and / or hardware configuration, perform one or more of the actions described herein.
[0204] As used herein, the term "action" may refer to an action, a step, an operation, a response, a reaction, an activity or the like. It shall be noted that an action herein may be split into two or more subactions as applicable. Moreover, also as applicable, it shall be noted that two or more of the actions described herein may be merged into a single action.As used herein, the term "memory" may refer to a hard disk, a magnetic storage medium, a portable computer diskette or disc, flash memory, random access memory (RAM) or the like. Furthermore, the term "memory" may refer to an internal register memory of a processor or the like.
[0205] As used herein, the term "computer readable medium" may be a Universal Serial Bus (USB) memory, a Digital Versatile Disc (DVD), a Blu-ray disc, a software module that is received as a stream of data, a Flash memory, a hard drive, a memory card, such as a Multimedia Card (MMC), Secure Digital (SD) card, etc. One or more of the aforementioned examples of computer readable medium may be provided as one or more computer program products.
[0206] As used herein, the term "computer readable code units" may be text of a computer program, parts of or an entire binary file representing a computer program in a compiled format or anything there between.
[0207] Any feature disclosed for one example and / or embodiment may be combined with one or more features disclosed for one or more other examples and / or embodiments without departing from the scope herein.
Claims
24CLAIMS1. A method, performed by a computing apparatus (110), for analysing a telephone number, wherein the method comprisesobtaining (A110) the telephone number,obtaining (B110) a reference result relating to a selected type of interactions associated with telephone numbers,analysing (A130) the telephone number by repeating (B118) a set of actions, wherein the set of actions comprises:obtaining (B120) a set of results, wherein each result of the set of results comprises at least one of: information about an owner of the telephone number, content of reviews and / or reports relating to the telephone number, an objective of a caller associated with the telephone number, user-submitted information about the telephone number, and a response to an inquiry,determining (B130), for said each result, a respective risk score using a similarity algorithm that compares said result with the reference result,wherein the repetition (B118) of the set of actions is performed until a statistical measure of a set of risk scores, comprising the respective risk score for each repetition, satisfies a stability threshold value for required stability, in terms of the statistical measure, of the set of risk scores,and wherein the method comprises:classifying (A150) the telephone number according to the selected type of interactions based on the set of risk scores and an identified threshold value for when to consider the telephone number identified as being of the selected type of interactions.
2. The method according to the preceding claim, wherein the obtaining (B120) of the respective result comprises searching and retrieving the respective result from at least a portion of the Internet (300).
3. The method according to any one of the preceding claims, wherein the obtaining (B120) of the respective result comprises obtaining (B115) a connection towards the telephone number, and converting audio on the connection to text, thereby obtaining the respective result.
4. The method according to the preceding claim, wherein the obtaining (B115) of the connection comprises establishing the connection towards the telephone number.
5. The method according to claim 3, wherein the obtaining (B115) of the connection comprises accepting the connection towards the telephone number.
6. The method according to claim 4, when dependent on claim 2, wherein the repetition (B118) of the set of actions comprises a first set of repetitions of the set of actions and a second set of repetitions of the set of actions, whereinthe obtaining (B120) of the respective result in the first set of repetitions is performed according to claim 2, andthe obtaining (B120) of the respective result in the second set of repetitions is performed according to claim 4.
7. The method according to the preceding claim, wherein the method comprises:performing the second set of repetitions, when the first set of repetitions results in that the measure of the set of risk scores fails to satisfy the stability threshold value.
8. The method according to any one of the preceding claims, wherein the method comprises performing (A160) a task based on the selected type according to the classifying (A150), wherein the task comprises one or more of:displaying the set of risk scores, or a derivate thereof,storing one or more of the telephone number, the set of the risk score, the selected type of interactions, and the reference result,disconnecting the connection towards the telephone number,redirecting the connection to a further telephone number,rejecting the connection towards the telephone number,or a combination thereof.
9. The method according to any one of the preceding claims, wherein the obtaining (A110) of the telephone number comprisesreceiving the telephone number as input from an end-user (200),extracting the telephone number from an incoming connection at the computing apparatus (110), and / orretrieving the telephone number from a database comprising telephone numbers.
10. The method according to any one of the preceding claims, wherein the selected type ofinteractions identifies the telephone number as being one of private, legitimate business, charity, healthcare, authority, spam, fraud, sales, marketing, survey, fundraising, and legitimate finance.
11. The method according to any one of the preceding claims, wherein each repetition (B118) adds the respective result to a set of results.
12. A computing apparatus (110) configured for analysing a telephone number, wherein the computing apparatus (110) is configured for:obtaining the telephone number,obtaining a reference result relating to a selected type of interactions associated with telephone numbers,analysing the telephone number by repeating a set of actions, wherein the set of actions comprises:obtaining a set of results, wherein each result of the set of results comprises at least one of: information about an owner of the telephone number, content of reviews and / or reports relating to the telephone number, an objective of a caller associated with the telephone number, user-submitted information about the telephone number, and a response to an inquiry,determining, for said each result, a respective risk score using a similarity algorithm that compares said result with the reference result,wherein the computing apparatus (110) is configured for repeating the set of actions until a statistical measure of a set of risk scores, comprising the respective risk score for each repetition, satisfies a stability threshold value for required stability, in terms of the statistical measure, of the set of risk scores,and wherein the computing apparatus (110) is configured for:classifying the telephone number according to the selected type of interactions based on the set of risk scores and an identified threshold value for when to consider the telephone number identified as being of the selected type of interactions.
13. A computer program (303), comprising computer readable code units which when executed on a computing apparatus (110) causes the computing apparatus (110) to perform the method according to any one of claims 1-11.
14. A carrier (405) comprising the computer program according to the preceding claim, wherein1the carrier (405) is one of an electronic signal, an optical signal, a radio signal, a computer readable medium, a non-transitory computer program product.