System and method for ad HOC translation

The ad hoc translation system addresses inefficiencies by storing translations centrally and using AI/ML to optimize translations, reducing costs and resources while ensuring timely and accurate language conversions.

WO2026024997A1PCT designated stage Publication Date: 2026-01-29BALCONY LABS INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/US2025/039169
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-24
Filing Date
2025-07-24
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Existing translation systems are inefficient in providing ad hoc translations, leading to unnecessary computational resources and costs due to repeated translations of the same information.

Method used

An ad hoc translation system that stores previously translated information as a 'single source of truth' in a database, allowing retrieval and reuse, and performs translations only when needed, using AI/ML to select optimal translation engines and support real-time, location-based, and group-specific translations.

Benefits of technology

Reduces computational resources and costs by minimizing redundant translations, optimizing resource usage, and ensuring timely and accurate translations across multiple languages and media types.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025039169_29012026_PF_FP_ABST
    Figure US2025039169_29012026_PF_FP_ABST
Patent Text Reader

Abstract

A system and method for providing ad hoc translation is provided. In one embodiment, the system and method include receiving information from a source device, the information provided in a first language; determining one or more receiver devices configured to provide information to a user in a second language different from the first language; determining whether the information has previously been translated from the first language to the second language and: if the information has previously been translated from the first language to the second language, retrieving the previous translation from a data storage and providing the previous translation to the one or more receiver devices configured to provide information in the second language; and if not, translating the information from the first language to the second language and providing the translated information to the one or more receiver devices configured to provide information in the second language.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR AD HOC TRANSLATIONCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of United States provisional application no. 63 / 675,179, filed 24 July 2024, which is hereby incorporated by reference as though fully set forth herein.BACKGROUNDField

[0002] The instant disclosure relates to an ad hoc translation system.BRIEF SUMMARY

[0003] In one embodiment, a system for providing ad hoc translation is provided. In this embodiment, the system comprises a data storage configured to store one or more translations and a a translation center comprising at least one processor configured to receive information associate with a first language from a source computing device, determine one or morereceiver computing devices configured to provide information to a user in a second language different from the first language, and determine whether the information has previously been translated from the first language to the second language. If the information has previously been translated from the first language to the second language, the translation center is configured to retrieve the previous translation from the data storage and provide the previous translation to the one or more receiver computing devices configured to provide information in the second language. If the information has not been previously translated from the first language to the second language, the translation center is configured to translate the information from the first language to the second language and provide the translated information to the one or more receiver computing devices configured to provide information in the second language

[0004] In another embodiment, a method for providing ad hoc translation is provided. In this embodiment, the system and method include receiving information from a source device, the information provided in a first language; determining one or more receiver devices configured to provide information to a user in a second language different from the first language; determiningwhether the information has previously been translated from the first language to the second language and: if the information has previously been translated from the first language to the second language, retrieving the previous translation from a data storage and providing the previous translation to the one or more receiver devices configured to provide information in the second language; and if not, translating the information from the first language to the second language and providing the translated information to the one or more receiver devices configured to provide information in the second language.

[0005] The foregoing and other aspects, features, details, utilities, and advantages of the present invention will be apparent from reading the following description and claims, and from reviewing the accompanying drawings.BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Figure 1 illustrates a block diagram of one embodiment of an ad hoc translation system, according to one or more implementations shown and described herein.

[0007] Figure 2 illustrates an example location-based message and translation process in which information relevant to one or more locations is provided, translated as needed, and sent in parallel to one or a plurality of users in one or a plurality of locations, according to one or more implementations shown and described herein.

[0008] Figure 3 illustrates a schematic diagram of a computing device upon which a location based information retrieval system may be implemented, according to one or more implementations shown and described herein.DETAILED DESCRIPTION

[0009] The following description of the invention is provided as an enabling teaching of the invention in its best, currently known embodiment. To this end, those skilled in the relevant art will recognize and appreciate that many changes can be made to the various aspects of the invention described herein, while still obtaining the beneficial results of the present invention. It will also be apparent that some of the desired benefits of the present invention can be obtained by selecting some of the features of the present invention without utilizing other features. Accordingly, thosewho work in the art will recognize that many modifications and adaptations to the present invention are possible and can even be desirable in certain circumstances and are a part of the present invention. Thus, the following description is provided as illustrative of the principles of the present invention and not in limitation thereof.

[0010] As used throughout, the singular forms “a,” “an” and “the” include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to “a” component can include two or more such components unless the context indicates otherwise. Also, the words “proximal” and “distal” are used to describe items or portions of items that are situated closer to and away from, respectively, a user or operator such as a surgeon. Thus, for example, the tip or free end of a device may be referred to as the distal end, whereas the generally opposing end or handle may be referred to as the proximal end.

[0011] All directional references (e.g., upper, lower, upward, downward, left, right, leftward, rightward, top, bottom, above, below, vertical, horizontal, clockwise, and counterclockwise) are only used for identification purposes to aid the reader’s understanding of the present invention, and do not create limitations, particularly as to the position, orientation, or use of the invention. Joinder references (e g., attached, coupled, connected, and the like) are to be construed broadly and may include intermediate members between a connection of elements and relative movement between elements. As such, joinder references do not necessarily infer that two elements are directly connected and in fixed relation to each other.

[0012] Ranges can be expressed herein as from “about” one particular value, and / or to “about” another particular value. When such a range is expressed, another aspect includes from the one particular value and / or to the other particular value. Similarly, when values are expressed as approximations, by use of the antecedent “about,” it will be understood that the particular value forms another aspect. It will be further understood that the endpoints of each of the ranges are significant both in relation to the other endpoint, and independently of the other endpoint.

[0013] As used herein, the terms “optional” or “optionally” mean that the subsequently described event or circumstance may or may not occur, and that the description includes instances where said event or circumstance occurs and instances where it does not.

[0014] The term “substantially” as used herein may be applied to modify any quantitative representation which could permissibly vary without resulting in a change in the basic function to which it is related.

[0015] Fig. 1 is a block diagram of one embodiment of an ad hoc translation system 10. In various embodiments, the ad hoc translation system shown in Fig. 1 may provide a one-to-one translation system or a one-to-many or many-to-many translation system.

[0016] In one implementation, for example, the ad hoc translation system may provide a one- to-many translation system that allows a source to provide information in a first source language. A plurality of receiver devices can then receive that information and provide that information to respective device users in one or a plurality of different languages. In one embodiment, for example, the information may be provided to the users as function of relevancy. A user can be a person or a source of data (intel, Al generated insight, IOT generated alert, etc.), either predetermined (protocol) or live.

[0017] In one implementation, the system may be configured to provide the information provided by the system to devices of users within a location (e.g., Geospace) for which the information may be provided as relevant to users of the devices within that location in any one of a plurality of supported languages that may be deemed relevant to users within that location. Translation(s) may be provided on an as-needed basis, such as staggering translations to be provided only as needed.

[0018] In the example shown in Fig. 1, for example, a message source comprises a source device 20 operating in a first language (e.g., English as shown on the top left of Fig. 1). A message, such as a text message, an audio message, a video message, a graphical message including text, or the like, may be provided by the user of the source device 20 for transmission to one or more receiver devices 30, 32. The receiver devices 30, 32 may be related in one or more manners such that the message information may be deemed relevant to the one or more device users targeted to receive the message information by the system. The receiver devices 30, 32 may share, for example,one or more of a common location (e.g., Geospace), a common organization, a common interest, or any other grouping relationship, and can build over time (Walk in, system identifies your language, checks if it exists already, if not - translates and sends, user gets the message)

[0019] In one embodiment, for example, a source 20 device may be configured to communicate information via a network (e.g., the Internet, a satellite network, a mobile network, a local area network, a wide area network or any other type of communication network) to one or more users having a compatible device that is located at a location of interest such as an airport, a mall, a train station, a building, a city, a country, or the like. The information, for example, may comprise location-specific information (e.g., directions, amenities, etc.), safety information (e.g., evacuation, shelter-in-place, etc.), requests for information, instructions, or the like.

[0020] Fig. 1 shows a translation center 40 of the system. In this embodiment, for example, the system uses a database or other data storage 42 to store one or more translations that may have previously been generated as a “single source of truth” that may be provided to any devices requesting the respective languages. In this manner, the system 10 maintains computational and other system efficiencies by reducing the number of translations that may be provided by the system. Thus, once information has been translated into a target language, that translation may be stored and accessible via the translation center so that subsequent translations of that information need not be performed each time a user device 30, 32 is identified as requesting the particular language.

[0021] Information that may be repeatedly transmitted to users may also remain in the database or other data storage 42 for reuse as needed. Thus, eliminating further translations except where one or more translations are not performed in a first transmission (e.g., where not needed) but may be requested in a subsequent transmission. Again, these subsequent translations may be stored and accessible for further transmissions.

[0022] The translation center is further configured to initiate a translation based on one or more settings, such as but not limited to admin settings 44 (e.g., preprogrammed or selected translations to be automatically performed, e.g., English to Spanish or other common translations likely to be desired depending on circumstances), dashboard operator selection 46 (e.g., per event and / or seat) in which one or more particular translations are identified for one or more messages by a particular sender or other operator, an automatic mode 48 (e.g., according to matchmaking such as based onuser device settings received), and / or based on a user device setting / identifier 50 received from a user device (e.g., by a receiver device based on a setting on the device and / or an option selected by a user of the device). Or based on a user request 50 to translate (while my device is in Spanish I want to read it in Portuguese).

[0023] As a translation is instructed, requested or otherwise desired, the system 10 and / or a receiver device 30, 32 is configured to determine whether the relevant translation has already been performed and is accessible (e.g., stored 42 and accessible to the translation center 40), the existing translation may be provided to and / or retrieved by the receiver device. If the translation has not been performed yet or is not accessible 42 via the translation center 40, the translation center 40 and / or a receiver device 30, 32 may be configured to initiate a new translation to a desired language. In order to optimize resources, such configuration may include rules and limitations, for example: Will only translate for people of a certain role or rank, or only for messages of a certain criticality or freshness (e.g., will not translate a one-year old message that may not be relevant anymore). These rules and limitations may be set and stored, for example, via the translation center 40, the admin settings 44, the dashboard 46, via the automode 48, and / or the authorized mobile user 50, and / or via one or more other components such as but not limited to the source device 20 and or one or more of the receiver devices 30, 32.

[0024] In this manner, the ad hoc translation system 10 is configured to perform translations on an ad hoc basis such that only translations needed / desired for a particular set of information need to be performed, thus saving costs and computational resources.

[0025] In the system shown in Fig. 1, a plurality of translation engines 60 are accessible to perform a translation. In one embodiment, artificial intelligence and / or machine learning may be used to select a primary translation engine for any particular language-todanguage translation. In one embodiment, for example, a first translation 62 engine may be determined to perform a first translation (e.g., English to Spanish) and a second translation engine 64 may be determined to perform a second translation (e.g., English to French), and so on. The preference may be determined based on any factors, such as accuracy, computational efficiency, cost, freshness of the version, or the like, and may be determined once or over time based on experience in translations, such as through artificial intelligence and machine learning. An AI / ML module 70, for example, may use a training set to determine primary translation engines for each desired language-to-languagetranslation and may further use additional translations over time to update the model. Where translation engines are updated, for example, the model(s) may be reevaluated via admin definition, artificial intelligence and / or machine learning.

[0026] A user may also be given the option to select the preferred translation engine (e.g., user selects “I trust Google translate”). In which case ML / Al will learn those priorities and update the automatic models.

[0027] In one embodiment, each user of a receiver device 30, 32 may further respond to the information received (e.g., answer an inquiry received via the information) in their own native / desired language. The return response generated in the native / desired language of the device user may then be translated on an ad hoc basis as needed. In one example, the response information may be translated to the base language of the original information sent by an operator of the ad hoc translation system and / or may be translated to each user of devices configured to receive the original information. The translation(s) of the response information may again be translated using one or more translation engines in the same manner as the original information provided by the system. For example, the response message may be translated one time per language and stored to be accessible to the translation center reducing the number of translations where users desiring a common language can access them without requiring additional translations and their corresponding additional resources.- Many to many - As the solution can define an ad hoc group as a role based, and or a locationbased chat room, where multiple people (that may include mobile users, dashboard board admins, web users, etc.) may need to collaborate - In such case the translation may run many- to-many where each one sees the groups chat in their specific selected language. Here also, there’s one single source of truth to save on resources per each message or exchange, and there’s the ad hoc translation capability, thus if a new user joins that requires a new language, that translation will be initiated ad hoc.When messages may be edited - in which case the translations will be regenerated and the single source of truth updated.In case a translation engine does not know to do it (local language dialect, etc.) - the one-time translation may be allocated to a human translator through a translation service providing module. The notion of one-time effort and single source of truth may be saved here as well.Translation may include also language improvement, accent removal, etc. (not necessarily two different languages). True for all types of media (voice, video, imagery, text, etc.).

[0028] Real time translation and transcription may also be relevant in case of one or more live or recorded video streams, either sourced from the platform (a user or an Admin streams video) and if sourced from a third-party source (a security camera with voice streams a developing event).

[0029]

[0030] Fig. 2 is a block diagram showing an example location-based message and translation process in which information relevant to one or more locations is provided, translated as needed, and sent in parallel to one or a plurality of users in one or a plurality of locations. In this particular example, the system 100 comprises a source device 120 such as shown in Fig. 1.

[0031] The source device 120 is configured to provide information in a first language. The information, for example, may comprise a message such as a text message, an audio message, a video message, a graphical message including text, or the like, may be provided by the user of the source device 20 for transmission to one or more receiver devices 130, 132 of the 1 to N Receiver Devices (e.g., Receiver Devices 1, 2, 3, 4, 5, ..., N shown) . The receiver devices 130, 132 may be related in one or more manners such that the message information may be deemed relevant to the one or more device users targeted to receive the message information by the system. In this embodiment, for example, the receiver devices 130, 132 correspond to Receiver Devices 1 and 2 located at a first Location 1 deemed relevant to the information provided by the source device 120.

[0032] Although geolocation of the receiver devices 130, 132 within or near the first location is shown in Fig. 2, the target receiver devices 130, 132 may share, for example, other common characteristics, such as but not limited to one or more of a common location (e.g., Geospace), a common organization, a common interest, or any other grouping relationship, and can build over time (Walk in, system identifies your language, checks if it exists already, if not - translates and sends, user gets the message).

[0033] In this example, Receiver Device 5 is shown at a location not at or within any of the designated locations 1 , 2, 3, . . . , N. If the receiver device 5, for example, moves within or near the designated location (e.g., Location 1), the receiver device 5 may be grouped with receiver devices 130, 132 and be targeted for the information provided by the source device 120.

[0034] Further, the information provided by the source device 120 may be deemed relevant to multiple locations.

[0035] In this embodiment, for example, the source 120 device is configured to communicate the information to one or more users having a compatible device that is located at a location of interest such as an airport, a mall, a train station, a building, a city, a country, or the like. The information, for example, may comprise location-specific information (e.g., directions, amenities, etc.), safety information (e.g., evacuation, shelter-in-place, etc.), requests for information, instructions, or the like.

[0036] Fig. 2 shows a translation center 140 of the system. In this embodiment, for example, the system uses a database or other data storage 142 to store one or more translations that may have previously been generated as a “single source of truth” that may be provided to any devices requesting the respective languages. In this manner, the system 100 maintains computational and other system efficiencies by reducing the number of translations that may be provided by the system. Thus, once information has been translated into a target language, that translation may be stored and accessible via the translation center 140 and the data storage / database 142 so that subsequent translations of that information need not be performed each time a user device 130, 132 is identified as requesting the particular language.

[0037] Information that may be repeatedly transmitted to users may also remain in the database or other data storage 142 for reuse as needed. Thus, eliminating further translations except where one or more translations are not performed in a first transmission (e.g., where not needed) but may be requested in a subsequent transmission. Again, these subsequent translations may be stored and accessible for further transmissions.

[0038] The translation center is further configured to initiate a translation based on one or more settings, such as but not limited to admin settings 44 (e.g., preprogrammed or selected translations to be automatically performed, e.g., English to Spanish or other common translations likely to be desired depending on circumstances), dashboard operator selection 46 (e.g., per event and / or seat) in which one or more particular translations are identified for one or more messages by a particular sender or other operator, an automatic mode 48 (e.g., according to matchmaking such as based on user device settings received), and / or based on a user device setting / identifier 50 received from a user device (e.g., by a receiver device based on a setting on the device and / or an option selected bya user of the device). Or based on a user request 50 to translate (while my device is in Spanish I want to read it in Portuguese).

[0039] As a translation is instructed, requested or otherwise desired, the system 100 and / or a receiver device 130, 132 is configured to determine whether the relevant translation has already been performed and is accessible (e.g., stored 142 and accessible to the translation center 140), the existing translation may be provided to and / or retrieved by the receiver device 130, 132. If the translation has not been performed yet or is not accessible 142 via the translation center 140, the translation center 140 and / or a receiver device 130, 132 may be configured to initiate a new translation to a desired language. In order to optimize resources, such configuration may include rules and limitations, for example: Will only translate for people of a certain role or rank, or only for messages of a certain criticality or freshness (e.g., will not translate a one-year old message that may not be relevant anymore). These rules and limitations may be set and stored, for example, via the translation center 40, the admin settings 44, the dashboard 46, via the automode 48, and / or the authorized mobile user 50, and / or via one or more other components such as but not limited to the source device 120 and or one or more of the receiver devices 130, 132.

[0040] In this manner, the ad hoc translation system 10 is configured to perform translations on an ad hoc basis such that only translations needed / desired for a particular set of information need to be performed, thus saving costs and computational resources.

[0041] As shown in Fig. 1, a plurality of translation engines 60 are accessible to perform a translation. In one embodiment, artificial intelligence and / or machine learning may be used to select a primary translation engine for any particular language-to-language translation. In one embodiment, for example, a first translation 62 engine may be determined to perform a first translation (e.g., English to Spanish) and a second translation engine 64 may be determined to perform a second translation (e.g., English to French), and so on. The preference may be determined based on any factors, such as accuracy, computational efficiency, cost, freshness of the version, or the like, and may be determined once or over time based on experience in translations, such as through artificial intelligence and machine learning. An AI / ML module 70, for example, may use a training set to determine primary translation engines for each desired language-to-language translation and may further use additional translations over time to update the model. Wheretranslation engines are updated, for example, the model(s) may be reevaluated via admin definition, artificial intelligence and / or machine learning.

[0042] A user may also be given the option to select the preferred translation engine (e.g., user selects “I trust Google translate”). In which case ML / Al will learn those priorities and update the automatic models.

[0043] In one embodiment, each user of a receiver device 130, 132 may further respond to the information received (e.g., answer an inquiry received via the information) in their own native / desired language. The return response generated in the native / desired language of the device user may then be translated on an ad hoc basis as needed. In one example, the response information may be translated to the base language of the original information sent by an operator of the ad hoc translation system and / or may be translated to each user of devices configured to receive the original information. The translation(s) of the response information may again be translated using one or more translation engines in the same manner as the original information provided by the system. For example, the response message may be translated one time per language and stored to be accessible to the translation center reducing the number of translations where users desiring a common language can access them without requiring additional translations and their corresponding additional resources.Many to many - As the solution can define an ad hoc group as a role based, and or a locationbased chat room, where multiple people (that may include mobile users, dashboard board admins, web users, etc.) may need to collaborate - In such case the translation may run many- to-many where each one sees the groups chat in their specific selected language. Here also, there’s one single source of truth to save on resources per each message or exchange, and there’s the ad hoc translation capability, thus if a new user joins that requires a new language, that translation will be initiated ad hoc.- When messages may be edited - in which case the translations will be regenerated and the single source of truth updated.In case a translation engine does not know to do it (local language dialect, etc.) - the one-time translation may be allocated to a human translator through a translation service providing module. The notion of one-time effort and single source of truth may be saved here as well.Translation may include also language improvement, accent removal, etc. (not necessarily two different languages). True for all types of media (voice, video, imagery, text, etc.).

[0044] Real time translation and transcription may also be relevant in case of one or more live or recorded video streams, either sourced from the platform (a user or an Admin streams video) and if sourced from a third-party source (a security camera with voice streams a developing event).

[0045] In one embodiment, the system 100 shown in Fig. 2 may be configured to provide the information in parallel to a plurality of users in a plurality of locations. In the particular implementation shown in Figure 2, a user in need of information can use his or her computing device to generate a request, such as a question. The request may also include one or more parameters for that request. For example, the user via the computing device may define a location of interest for the request, define the content of the request (e.g., a question), define a time of relevancy for the request, define a future time of becoming live, define if the request / question is recurring and, if so, a frequency of reoccurrence, define a type of media requested for a response to the request and other parameters relevant to a particular request.

[0046] The request is then sent to one or more locations (locations 1, 2, 3, 4, N-l, N in the example shown in Figure 2). The system 100 identifies user(s), if any, associated with the one or more locations (e.g., via the translation center 140 and / or a process or service operating on a server or other computing device associated with the translation center 140 and forwards the request to one or more of the identified users 130, 132. The system 100 also receives responses / answers and returns the responses / answers to the originating computing device 120 of the requesting user. The request and any responses / answers may be translated via the translation center 140 and / or one or more translation engines and / or retrieved from data storage / database 142 if already available.

[0047] The request and / or responses / answers may be provided anonymously and / or non- anonymously.

[0048] In one implementation, for example, the system and process provide information and receive one or more responses (e.g., answers) to location-based inquiries in real-time, near-real-time and / or “relevant time” with respect to the inquiries. For purposes of this application, the terms “relevant time” and “near-real-time refer to the earliest an information is available and provided Further, the systems and processes described in various implementations can leverage the power ofcrowd-sourcing to provide responses to location-based inquiries from users that are presently or recently were in one or more locations relevant to a particular inquiry.

[0049] The system and processes may further provide a common user location platform in which a single or aggregated cloud-based database (e.g., located on one or more servers) or other databases include aggregated and updated user locations of a plurality of service providers and native application users. By having the service providers and application users connected to a common database or set of databases, the system and process, in this implementation, provides a “larger than own” virtual user-base to each one of the participating services, enhancing by several factors service quality to all parties.

[0050] Thus, a single platform may aggregate the location of users from several different platforms or services that enable a user from one service to respond to a request from a user of a second service. The platform may be anonymous or not. Details in the request or response may reveal information about a user useful such as for advertising targeting. The common platform may further provide a system for classifying questions and answers based on attributes, such as origin, time and location.

[0051] Privacy information can also be kept in certain implementations according to personal settings of application users due to their willingness to allow personal location information. In some implementations, all responses are provided to a requester anonymously although the system and processes may also allow users to opt out of anonymity (e.g., allow the users to connect via the application and / or through another application (e.g., social media)).

[0052] Requests and responses may be private (limited to the requester and responder) or public (available to any user or group of users).

[0053] Location information may be determined from personal computing devices of potential respondents in any number of manners. Location information, for example, may be actively offered by potential respondents (e.g., checking in at a location), polled or pulled automatically from the computing devices of potential respondents as they move (e.g., at a predetermined interval or based on a determination that the device(s) have moved locations). In various implementations, users of the devices may set location settings controlling how their personal devices may be accessed for location information.

[0054] In one implementation, for example, an algorithm may receive an inquiry related to a location from a user. In this implementation, the algorithm may attempt to verify the location from the request and / or improve the accuracy of the location from the request. For example, the algorithm may determine how the location was defined for the request. If the location includes a text description of the location, the algorithm may attempt to retrieve the location from a plurality of different databases (e.g., independent databases). Where a particular database has been designed for providing directions to a user in a vehicle, for example, the accuracy may not be sufficient to answer a question about the location. Depending on details of the question about a particular location (e.g., a store inside a mall that may or may not be visible from a nearby road) data available in a particular database may not provide a level of accuracy desired to readily identify the location for selection of a potential responder to answer the question. Thus, the algorithm may use various techniques to improve the accuracy of the location identified in a request and / or verify the location within a reasonable level of accuracy.

[0055] In one implementation, for example, the algorithm may determine whether the location identified in a request is found within a database including one or more verified locations. A location may be verified, for example, by prior successful requests (e.g., requests that have been confirmed in some manner, such as by a prior requestor, responder, automatically or in some other manner). In some implementations, for example, the requestor may be given an opportunity to rate and / or give feedback after a request has been answered. In this example, where a response has been indicated to be successful, the location may be stored in a database listing verified locations. If the location identified in the request is a verified location, the algorithm may assign location information from a verified record corresponding to that location for use in a request for information related to the requested location.

[0056] If the location is not found in the verified database (or if no verified database is being used), the algorithm may also request location information from one or more other databases (e.g., one or more public location databases). The locations(s) found in the one or more databases may be compared to each other to determine a “best fit” or other accurate fit to determine location information to be used for the location identified in the request. In this implementation, the information for a plurality of different databases may be compared, ranked, analyzed or otherwise used to identify accurate information corresponding to the location identified. Various schemesmay be used to identify one or more of the location information found in the various databases , such as majority voting, averaging, identify databases with better likelihood of accuracy (e.g., databases where a business owner has the ability to modify the location information of the business). Once location information is identified for the location in the request, the algorithm may use that location information in the request to identify potential responders and / or to identify the location to the potential responders. Another manner to improve accuracy is to enable users to report “not at the desired location” when receiving a request for information.

[0057] In this manner, a location identified in a request may be checked against known data to confirm or increase the likelihood of having good information, such as to improve future matching. Further, once the request is successfully answered the location information may be added into a verified location database such as described above automatically and / or manually so that the verified information is added to over time.

[0058] Once the location information is identified, the algorithm in various implementations may further determine a type of area for that location. The type of area may be identified in the request or determined from analyzing the request. For example, the algorithm may determine whether the location is indoors or outdoors. Depending on the type of location, various parameters of the question and / or the location may be adjusted (e.g., dynamically adjusted). A radius of relevance (e.g., a geo fence or other location within which a potential responder may be present) corresponding to a particular location may be dynamically adjusted depending on one or more parameters related to that location. For a request for weather information for a given outdoor location (e.g., Central Park, NY), for example, a relatively large dynamic definition of radius (or other dimension) may be assigned to the location for purposes of the request. For information more specific to a particular location (e.g., availability of seating in a particular location within Central Park), the algorithm may dynamically define a radius or other dimension of relevancy that is relatively smaller than the one used for general weather inquiries related to the location. In various implementations, the dynamic radius of relevance may correspond to a geo fence or other identifier of a location within which a request is eligible to be delivered to a potential respondent located within the geo fence for responding to the request. Any number of factors, such as time, parsing of text, line of sight, Analysis of GIS (Geographical information systems) databases,identification by requestor or other information may be used for dynamically determining an area of relevance for the location identified in the request.

[0059] During entry of the request, the application or other executable may identify a topic of the request (e.g., through typing recognition or location identifier) and automatically suggest a question / request about the location or may automatically offer possible locations to ask about. Further, the algorithm may suggest topics and / or locations based on past movement / location patterns and / or previous requests submitted.

[0060] Based on the location(s) identified in the request, the algorithm may further identify one or more relevant users at the location(s). The relevant users identified as potential respondent(s) may be one or more users based on accuracy information, knowledge base (e.g., expertise), rankings related to prior successful answers or user feedback, responsiveness, demographics (e.g., age and gender), time of day, areas of interest, preferred locations, amount of traffic within a location, sponsorships (e.g., sponsored responses) or the like. The requests may be addressed to a single potential respondent at a time or sent (e.g., in parallel) to a plurality of potential respondents at the same time. The requests may also be sent to a plurality of potential responders in a row, i.e. one after the other. That can be done with a predefined time delay, or with a dynamic delay, for example as function of population, type of location, as a function of usage such as if the user opened the question he might receive some more time before the next user will be approached.

[0061] In one particular implementation, for example, an algorithm may determine how many potential responders are present within an area (e.g., a geo fence) corresponding to the location identified in a request. If a single user is the only one present, the algorithm can forward the request to that user for a potential response. If there are more than one users present, the algorithm may use any number of techniques to identify one or more users to which the request is forwarded for a potential response. Any number of potential respondents may be identified. In one example, a single user is identified based on one or more determinations of how to select the best or an appropriate user. In this example, the user may psychologically feel a stronger urge to answer the request if the user knows he or she is the only person receiving the request. A down selection process, for example, may be used to selectively identify the user to receive the request. Where a plurality of potential users are available, profiling, past performance, type of device or other identification of one or more potential responders may be performed. The profiling or other criteriamay be manually entered and / or dynamically determined over time, such as through machine learning, to increase the probability that a potential responder will make an effort to respond and / or provide a useful answer. Using prior successful feedback, the profiling or other information may be determined based on prior successful or unsuccessful requests.

[0062] In another example, the algorithm may forward the request to any user within the location meeting any particular criteria determined to qualify the user for responding to the request.

[0063] A location of users that are potential responders may be determined in any number of ways including checking in at a location, pinging, polling, pushing or otherwise communicating with an electronic device of the user to determine the location.

[0064] Examples of location identification and other factors useful for identifying potential receiver devices 130, 132 of interest with respect to a particular set of information to be provided is further described in United States patent application no. 15 / 917,409 entitled “System and Process for Location -Based Information Retrieval” filed on March 9, 2018, which is incorporated by reference as if fully set forth herein.Exemplary Computing System

[0065] Fig. 3 is a schematic diagram of a computing device 1000 upon which an ad hoc translation system, such as described and shown herein, may be implemented. As discussed herein, implementations include various steps. A variety of these steps may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general -purpose or special -purpose processor programmed with the instructions to perform the steps. Alternatively, the steps may be performed by a combination of hardware, software, and / or firmware.

[0066] FIG. 3 illustrates an exemplary system useful in implementations of the described technology. A general-purpose computer system 1000, such as but not limited to one or more server (either dedicated or cloud server), is capable of executing a computer program product to execute a computer process. Data and program files may be input to the computer system 1000, which reads the files and executes the programs therein. Some of the elements of a general -purposecomputer system 1000 are shown in FIG. 3 wherein a processor 1002 is shown having an input / output (I / O) section 1004, a Central Processing Unit (CPU) 1006, and a memory section 1008. There may be one or more processors 1002, such that the processor 1002 of the computer system 1000 comprises a single central-processing unit 1006, or a plurality of processing units, commonly referred to as a parallel processing environment. The computer system 1000 may be a conventional computer, a distributed computer, or any other type of computer. The described technology is optionally implemented in software devices loaded in memory 1008, stored on a configured DVD / CD-ROM 1010 or storage unit 1012, and / or communicated via a wired or wireless network link 1014 on a carrier signal, thereby transforming the computer system 1000 in FIG. 3 into a special purpose machine for implementing the described operations.

[0067] The I / O section 1004 is connected to one or more user-interface devices (e.g., a keyboard 1016 and a display unit 1018), a disk storage unit 1012, and a disk drive unit 1020. Generally, in contemporary systems, the disk drive unit 1020 is a DVD / CD-ROM drive unit capable of reading the DVD / CD-ROM medium 1010, which typically contains programs and data 1022. Computer program products containing mechanisms to effectuate the systems and methods in accordance with the described technology may reside in the memory section 1008, on a disk storage unit 1012, or on the DVD / CD-ROM medium 1010 of such a system 1000. Alternatively, a disk drive unit 1020 may be replaced or supplemented by a floppy drive unit, a tape drive unit, or other storage medium drive unit. The network adapter 1024 is capable of connecting the computer system to a network via the network link 1014, through which the computer system can receive instructions and data embodied in a carrier wave. Examples of such systems include SPARC systems offered by Sun Microsystems, Inc., personal computers offered by Dell Corporation and by other manufacturers of Intel-compatible personal computers, PowerPC-based computing systems, ARM -based computing systems and other systems running a UNIX-based or other operating system. It should be understood that computing systems may also embody devices such as Personal Digital Assistants (PDAs), mobile phones, gaming consoles, set top boxes, etc.

[0068] When used in a LAN-networking environment, the computer system 1000 is connected (by wired connection or wirelessly) to a local network through the network interface or adapter1024, which is one type of communications device. When used in a WAN-networking environment, the computer system 1000 typically includes a modem, a network adapter, or any other type of communications device for establishing communications over the wide area network. In a networked environment, program modules depicted relative to the computer system 1000 or portions thereof, may be stored in a remote memory storage device. It is appreciated that the network connections shown are exemplary and other means of and communications devices for establishing a communications link between the computers may be used.

[0069] In accordance with an implementation, software instructions and data directed toward operating the subsystems may reside on the disk storage unit 1012, disk drive unit 1020 or other storage medium units coupled to the computer system. The software instructions may also be executed by CPU 1006.

[0070] The implementations described herein are implemented as logical steps in one or more computer systems. The logical operations are implemented (1) as a sequence of processor- implemented steps executing in one or more computer systems and (2) as interconnected machine or circuit modules within one or more computer systems. The implementation is a matter of choice, dependent on the performance requirements of a particular computer system. Accordingly, the logical operations making up the embodiments and / or implementations described herein are referred to variously as operations, steps, objects, or modules. Furthermore, it should be understood that logical operations may be performed in any order, unless explicitly claimed otherwise or a specific order is inherently necessitated by the claim language.

[0071] In some implementations, articles of manufacture are provided as computer program products. One implementation of a computer program product provides a transitory or non- transitory computer program storage medium readable by a computer system and encoding a computer program.

[0072] Furthermore, certain operations in the methods described above must naturally precede others for the described method to function as described. However, the described methods are not limited to the order of operations described if such order sequence does not alter the functionality ofthe method. That is, it is recognized that some operations may be performed before or after other operations without departing from the scope and spirit of the claims.

Claims

CLAIMSWhat is claimed is:

1. A system configured to provide ad hoc translation of information comprising: a data storage configured to store one or more translations; a translation center comprising at least one processor configured to receive information associate with a first language from a source computing device, determine one or morereceiver computing devices configured to provide information to a user in a second language different from the first language, and determine whether the information has previously been translated from the first language to the second language, wherein if the information has previously been translated from the first language to the second language, the translation center is configured to retrieve the previous translation from the data storage and provide the previous translation to the one or more receiver computing devices configured to provide information in the second language, and if the information has not been previously translated from the first language to the second language, the translation center is configured to translate the information from the first language to the second language and provide the translated information to the one or more receiver computing devices configured to provide information in the second language.

2. The system of claim 1, wherein the at least one processor of the translation center comprises at least one processor of a server.

3. The system of claim 1, wherein the translation center is configured to store the translated information in the data storage.

4. The system of claim 1, wherein the translation center is configured to translate the information via an artificial intelligence model.

5. The system of claim 1, wherein the translation center is configured to translate the information via an artificial intelligence model selected from a plurality of artificial models.

6. The system of claim 5, wherein the selected artificial intelligence model is determined based upon the first language and the second language.

7. The system of claim 5, wherein the selected artificial intelligence model is determined based upon an input from a user of at least one of the source user computing device and the one or more receiver computing devices.

8. The system of claim 1, further comprising determining one or more receiver computing devices configured to provide information in a third language different from the first and second languages.9 The system of claim 8, wherein the translation center is configured to determine whether the information has previously been translated from the first language to the third language and: if the information has previously been translated from the first language to the third language, retrieving the previous third language translation from a data storage and providing the previous third language translation to the one or more receiver computing devices configured to provide information in the third language; and if the information has not been previously translated from the first language to the third language, translating the information from the first language to the third language and providing the translated information to the one or more receiver computing devices configured to provide information in the third language.

10. The system of claim 9, wherein the translation center is configured to determine the one or more receiver computing devices based upon a location of the one or more receiver computing devices.

11. The system of claim 1, wherein the translation center is configured to determine the one or more receiver computing devices based upon a relevance of the information with respect to a user of the one or more receiver computing devices.

12. The system of claim 1, wherein the translation center is configured to determine the one or more receiver computing devices based upon a relationship of a user of the one or more receiver computing devices.

13. A method for providing ad hoc translation comprising: receiving information from a source user computing device, the information provided in a first language; determining one or more receiver computing devices configured to provide information to a user in a second language different from the first language; determining whether the information has previously been translated from the first language to the second language and: if the information has previously been translated from the first language to the second language, retrieving the previous translation from a data storage and providing the previous translation to the one or more receiver computing devices configured to provide information in the second language; and if the information has not been previously translated from the first language to the second language, translating the information from the first language to the second language and providing the translated information to the one or more receiver computing devices configured to provide information in the second language.

14. The method of claim 13, wherein the operation of translating is performed via an artificial intelligence model.

15. The method of claim 13, wherein the operation of translating is performed via an artificial intelligence model selected from a plurality of artificial models.

16. The method of claim 13, wherein the selected artificial intelligence model is determined based upon the first language and the second language.

17. The method of claim 13, wherein the selected artificial intelligence model is determined based part upon an input from a user of at least one of the source user computing device and the one or more receiver computing devices.

18. The method of claim 13, further comprising determining one or more receiver computing devices configured to provide information in a third language different from the first and second languages.

19. The method of claim 18, comprising determining whether the information has previously been translated from the first language to the third language and: if the information has previously been translated from the first language to the third language, retrieving the previous third language translation from a data storage and providing the previous third language translation to the one or more receiver computing devices configured to provide information in the third language; and if the information has not been previously translated from the first language to the third language, translating the information from the first language to the third language and providing the translated information to the one or more receiver computing devices configured to provide information in the third language.

20. The method of claim 19, wherein the one or more receiver computing devices are determined based upon a location of the one or more receiver computing devices.

21. The method of claim 13, wherein the one or more receiver computing devices are determined based upon a relevance of the information with respect to a user of the one or more receiver computing devices.

22. The method of claim 13, wherein the one or more receiver computing devices are determined based upon a relationship of a user of the one or more receiver computing devices.

Citation Information

Patent Citations

  • Integrated native language translation

    US20060271352A1

  • Syntax-based multi-layer language translation

    US20220043987A1

  • Language Translation System

    US20240020488A1

  • System, method, and computer program for real-time language translation using generative artificial intelligence

    US20240386879A1

  • Methods and apparatuses for language translation to identify contextual synonyms

    US20250061275A1