Apparatus and method for controlling and / or monitoring an agronomical resource
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- BASF DIGITAL FARMING GMBH
- Filing Date
- 2024-08-23
- Publication Date
- 2026-07-01
AI Technical Summary
Farmers face challenges in efficiently managing agronomical resources due to complex tools that require expert knowledge and extensive training to optimize resource performance.
A method and apparatus for controlling and monitoring agronomical resources using a computer-implemented system that receives agronomical querying data, enhances it with prompting data to form a stack, and forwards it to a prediction device for generating response data, which may include instructions for invoking tools or repositories to execute querying instructions.
The system simplifies the management of agronomical resources by providing an efficient and user-friendly interface that reduces the need for expert knowledge, allowing farmers to improve resource performance through enhanced querying and data execution capabilities.
Smart Images

Figure EP2024073728_27022025_PF_FP_ABST
Abstract
Description
[0001] APPARATUS AND METHOD FOR CONTROLLING AND / OR MONITORING AN AGRONOMICAL RESOURCE
[0002] TECHNICAL FIELD
[0003] This disclosure relates to the technical field of agronomics. In particular the present disclosure relates to a method for controlling and / or monitoring an agronomical resource, to an agronomical assistant apparatus for controlling and / or monitoring an agronomical resource and to a data structure.
[0004] TECHNICAL BACKGROUND
[0005] A farmer or user when controlling and / or monitoring an agronomical resource often faces the challenge that he / she does not know the exact condition of the resource and substantially all factors that may have impact to operate the resource with a high performance.
[0006] For agronomical resources like fields, tools such as field managing tools exist in order to make information about an agronomical resource available. However, such tools may be very complex and may need a lot of experience for optimizing the management of the agronomical resource. Often, for drawing the right conclusions for improving the performance of a resource a lot of experience may be necessary to find the right view of the many views provided by a management tool and a lot of training may be necessary.
[0007] The knowledge of how to improve the situation of an agronomical resource may be available but in complex tools expert knowledge may be necessary to find the right source of information.
[0008] SUMMARY
[0009] In view of the above, it may be an object of the present invention to provide an efficient management of an agronomical resource.
[0010] In an aspect the disclosure relates to a method for controlling and / or monitoring an agronomical resource, to an agronomical assistant apparatus for controlling and / or monitoring an agronomical resource and to a data structure.
[0011] The object of the present invention is solved with the subject matter of the independent claims, wherein further embodiments are incorporated in the dependent claims. It should be noted that the following described aspects and examples apply for the method as well as for the apparatus, and the data structure.
[0012] In this disclosure, a method, in particular a computer implemented method, may be described. The method may be usable for controlling and / or monitoring an agronomical resource. The method may comprise receiving agronomical querying data associated with an agronomical query from a user. The agronomical query data may be received in e.g. an agronomical assistant apparatus and / or in a dispatching apparatus.
[0013] The method further comprises forming a stack of agronomical querying data by enhancing the agronomical querying data with prompting data. The prompting data may be in an example a data structure. The prompting data comprise an indication for intended agronomical response data and / or an indication for an intended answer in response to the agronomical querying data.
[0014] Such an indication in an example, may let an answer to the agronomical querying data comprise an end condition for a query loop and / or a query dialog between the agronomical assistant apparatus and a prediction device. In other words, the agronomical querying data and / or prompting data may comprise instructions as to how to answer the question and / or the agronomical querying data.
[0015] The formed stack of agronomical querying data may be forwarded to a prediction device, for example to a Generative Al model and or an LLM for generating agronomical response data linked to the stack of agronomical querying data by a predefined probability relation. The strength of the relation as well as the predefinition of the probability relation may be set by a temperature and / or a temperature parameter. In other words, the strength of the link and / or the predefinition of the probability relation may be set by a temperature and / or a temperature parameter. In an example the stack of agronomical querying data may comprise history data and / or enhanced querying data.
[0016] Upon receiving of agronomical response data from the prediction device, e.g. in the agronomical assistant apparatus, a check and / or verification of the received agronomical response data is made.
[0017] If the received agronomical response data comprise querying instruction data for at least one tool and / or for at least one repository the method provides for invoking the at least one tool and / or the at least one repository and for executing the querying instruction data on the at least one tool and / or on the at least one repository.
[0018] The method further comprises providing intended agronomical response data, wherein the intended agronomical response data include the agronomical response data and / or the result of executing the querying instruction data on the at least one tool and / or on the at least one repository.
[0019] In an example, the prediction device may return an error message and / or an advice that the prediction device is not able to continue however the prediction device make a proposal which tool and / or repository to be used to continue. In another example the agronomical querying data may comprise an instruction, wherein the instruction may include a proposal which tool and / or repository to be used to continue in a case where the prediction device may not be able to provide complete querying instruction data in response to the agronomical querying data. Based on this instruction data the prediction device may find an alternative tool and / or repository for continue the loop. The disclosure may also describe a program element comprising program code, which when being executed on a processor executes the method for controlling and / or monitoring an agronomical resource.
[0020] The disclosure further describes a computer readable storage medium, comprising program code, which when being executed on a processor executes the method for controlling and / or monitoring an agronomical resource.
[0021] The disclosure further relates to an agronomical assistant apparatus for controlling and / or monitoring an agronomical resource. The apparatus may comprise an input device, an output device, a prediction device connecting device and stacking device.
[0022] The input device is adapted for receiving agronomical querying data associated with an agronomical query from a user. The stacking device is adapted for forming a stack of agronomical querying data by enhancing the agronomical querying data with prompting data, wherein the prompting data comprise an indication for intended agronomical response data in response to the agronomical querying data.
[0023] The prediction device connecting device is adapted for forwarding the stack of agronomical querying data to a prediction device for generating agronomical response data linked to the stack of agronomical querying data by a predefined probability relation and for receiving the agronomical response data from the prediction device.
[0024] The output device is adapted for checking the received agronomical response data and for triggering the stacking device to invoke at least one tool and / or at least one repository and for triggering the stacking device to execute querying instruction data on the at least one tool and / or on the at least one repository, if the received agronomical response data comprise the querying instruction data for the at least one tool and / or for the at least one repository. In other words, the output device is adapted for triggering the invocation and / or for triggering the execution in case the received agronomical response data comprise the querying instruction data for the at least one tool and / or for the at least one repository.
[0025] The output device is further adapted for providing intended agronomical response data, wherein the intended agronomical response data include the agronomical response data and / or the result of executing the querying instruction data on the at least one tool and / or on the at least one repository.
[0026] The disclosure also describes a data structure, e.g. a program element and / or prompt comprising program code and / or text, wherein the program code and / or text is adapted in such a way that when executed and / or interpreted by a prediction device, in particular by an LLM, generates response data linked to the program code with a predefined probability, wherein the program code relates to agronomical querying data. By forming the prompt in a target way the response data may be influenced. In an example the data structure, e.g. the prompting data, may be designed in such a way to influence the response as to be in the agronomical field of technology. The data structure may be associated with a natural language sequence of data. The data structure may comprise program code and / or a data stream, e.g. a text stream comprising natural language text. The data structure, in particular the program code and / or the data stream comprises a stack of agronomical querying data formed by enhancing agronomical querying data with prompting data, wherein the prompting data comprise an indication for intended agronomical response data and / or for an intended answer in response to the agronomical querying data. The intended agronomical response data may comprise querying instruction data and / or data indicating at least one tool and / or at least one repository to be invoked.
[0027] In this way an intended answer may be triggered and / or provoked from a prediction device. The text may be seen as instructions in natural language. The data structure may be used for directly and / or indirectly controlling, operating and / or monitoring an agronomical resource or for generating control data for controlling, operating and / or monitoring an agronomical resource. The prediction device may be seen as a processor on which the data structure, data stream and / or program code may be executed when loaded on and / or sent to the prediction device. Receiving the data structure, data stream and / or program code may trigger generation of a response to the agronomical querying data.
[0028] By using the agronomical assistant apparatus, a conversational interface for text, speech and / or audio information for users may be provided to investigate agricultural intelligence and / or agronomical intelligence in textual, graphical and / or audio form and use the agronomical assistant apparatus as an assistant to carry out analysis and tasks. In particular, the control, the operation, the management and / or the monitoring of an agronomical resource may be conducted by a user, e.g. by a farmer.
[0029] The handling of an Agronomic Decision Engine (ADE) and / or of a field managing device may be simplified, as a user may communicate with the agronomical assistant apparatus in natural language and by voice and the agronomical assistant apparatus recognizes the intent of the user and provides a commonly accepted presentation and / or visualization of results that may be helpful for the intention of the user.
[0030] For detecting the intent of the user, the agronomical assistant apparatus may use the trained common knowledge stored in a prediction device and this intent may be expressed by enriching and personalizing provided query data with private data individually available for the user. In other words, the agronomical user specific information is embedded in a commonly used presentation format such as a chart or a time diagram.
[0031] The agronomical assistant apparatus may be realized as a chat application that collects prompting data and may form a part of the historical stack data. The more information provided via the chat interface, the more accurate the response of the prediction device may be.
[0032] A user may get the feeling that an assistant is supporting the user by navigating through a management device such as a field management device and by elaborating a control task and / or monitoring task for an agronomical resource. The natural language recognition may prevent a user from a long training effort to get familiar with control elements of tools and / or repositories.
[0033] Any disclosure, embodiments and examples described herein relate to the methods, the systems, apparatuses, chemical products and computer elements lined out above and below. Advantageously, the benefits provided by any of the embodiments and examples equally apply to all other embodiments and examples.
[0034] EMBODIMENTS
[0035] In the following, embodiments of the present disclosure will be outlined by ways of examples. It is to be understood that the present disclosure is not limited to said embodiments and / or examples.
[0036] In an embodiment executing the querying instruction data on the at least one tool and / or on the at least one repository comprises forming an historical stack of agronomical querying data by enhancing the stack of agronomical querying data with the result of executing the querying instruction data on the at least one tool and / or on the at least one repository and forwarding the historical stack of agronomical querying data to the prediction device for generating the agronomical response data.
[0037] Both historical stack of agronomical querying data and stack of agronomical querying data may comprise a history and / or an enhancement of data. In this way in a loop more and more information may be provided which may improve the quality of the provided response.
[0038] In a further embodiment forming the stack and / or forming the historical stack of agronomical querying data comprises enhancing the agronomical querying data and the stack of agronomical querying data, respectively, with description data of the at least one tool and / or of the at least one repository.
[0039] The description may allow a prediction device to understand what information may be retrieved, e.g. via the agronomical assistant apparatus. The description data may refer to a private tool and / or a private repository and / or describe the private tool and / or the private repository. By substantially only providing the description the private data of the toll and / or repository may be hidden to external devices.
[0040] In yet another embodiment the prediction device is a prediction device adapted for agronomical querying data.
[0041] The adaptation may be achieved by fine-tuning the prediction device, in particular by fine-tuning a layer of the prediction device, e.g. a prediction layer and / or the last layer. By replacing layers in a prediction device an updated version of a prediction device may be provided and the fine-tuned part may still be used with substantially no new training or tuning. In an example the different layers may be operated by different operators and / or on different architectural components such as different servers, virtual machines or containers. In a further embodiment the prediction device is a Large Language Model (LLM), a set of Large Language Models and / or wherein the predefined probability and / or the predefined probability relation is a temperature of the Large Language Model.
[0042] In yet another embodiment the stack of agronomical querying data comprises a request for an indication of complete querying instructions.
[0043] In this way the prediction device may be triggered to provide for an end condition.
[0044] In another embodiment the at least one tool and / or on the at least one repository is adapted to provide at least one functionality and / or at least one information unit selected from the group of functionalities and / or information units, including structured information, unstructured information, public information, private information, a geospatial information, map data, sensor data, domain specific information, agronomic knowledge, e.g. master data (MD), regulation information, a mathematical functionality, yield price retrieving functionality, encyclopedic functionality, e.g. Wikipedia accessible by sparql (SPARQL Protocol And RDF Query Language) enquiries or Wikidata and shipping allocation functionality.
[0045] Shipping allocation functionality may relate to shipping information of an agronomical resource. Shipping information in an example comprise weight and / or dispatching time.
[0046] Different data sources may provide functionality and / or data that do not exist in the prediction device.
[0047] In another embodiment the stack of agronomical querying data and / or the history stack of agronomical querying data comprises prompting data, description data, result of executing the querying instruction data on the at least one tool and / or on the at least one repository.
[0048] In an embodiment the method further comprise converting intended agronomical response data and / or agronomical response data into control data, monitoring data, management data and / or into map data.
[0049] These data allow for controlling and / or monitoring an agronomical resource.
[0050] In another embodiment the intended agronomical response data comprise an indication for a display format, an indication for a tabular representation, an indication for a textual and / or an indication for a graphical representation.
[0051] These indications may refer to a vector graphic format like svg and or another graphical description format like tex, latex, markdown and / or mermaid. In other words, by using a description language, a prediction device may be able to generate graphical output or graph output, e.g. to display diagrams and / or charts. A graphical output and / or graph output may make it easy for a user to understand the output.
[0052] In yet another embodiment forming a stack of agronomical querying data by enhancing the agronomical querying data with prompting data comprises pre-processing agronomical querying data and selecting at least one tool and / or at least one repository relevant for the agronomical querying data.
[0053] Pre-processing may comprise forming a vector store and / or embeddings. Such pre-processing may simplify requests to the prediction device. It may also be possible to identify tools that are expected to be relevant for answering a question and thus limiting the volume of description data that may need to be transferred to the prediction device.
[0054] In another embodiment forming a stack of agronomical querying data and / or an historical stack of agronomical querying data comprises generating data for a vector store.
[0055] A vector store may reduce the number of transactions and therefore may increase the performance of an agronomical assistant apparatus.
[0056] In another embodiment forwarding the stack of agronomical querying data and / or the historical stack of agronomical querying data to a prediction device comprises forwarding the stack of agronomical querying data and / or the historical stack of agronomical querying data to a plurality of prediction devices.
[0057] In this way different fine-tuned prediction devices may be used. Also, the agronomical assistant apparatus may comprise an own prediction device and / or an own LLM for different tasks executed locally in the agronomical assistant apparatus. It may also be possible to use different prompts for the different prediction devices.
[0058] In further embodiments the prompting data comprise a data stream and / or text stream.
[0059] The generating of further enhanced agronomical querying data and forwarding the further enhanced agronomical querying data to the prediction device is repeated until the received agronomical response data are free from querying instruction data. This may be seen as an end condition a completion of a task.
[0060] In a further embodiment a tool may directly communicate with the prediction device.
[0061] In yet another embodiment a repository may comprise user specific data, structured date domain specific data and / or unstructured data.
[0062] The content of a document may be seen as unstructured data. Metadata, linked data and / or an ontology may comprise data with a structure and may provide content of a document with a specific commonly known meaning. In a further embodiment the agronomical resource is selected from the group of agronomical resources consisting of a farm, a field, a plant treatment product, a product registration, and an application device.
[0063] In a further embodiment the description data comprises a repository description selected from the group of repository description data consisting of an API description, a GQL description, and a CFD (cross Farm Dashboard).
[0064] In yet another embodiment a repository having user specific data associated with the agronomic resource may comprise structured data, e.g. Elasticsearch, RDBMS and / or unstructured data.
[0065] In a further embodiment the repository having user specific data associated with the agronomic resource may comprise sensor data, geospatial information, map information, weather data.
[0066] In an example the at least one tool and / or for at least one repository include a separate prediction device, e.g. LLM, which may be different to the prediction device to which the agronomical querying data is forwarded.
[0067] In another embodiment the querying instruction comprises a request, e.g. POST, GET to a tool, e.g. math, domain specific data, product registration.
[0068] In a further embodiment the agronomical query comprises a question about the number of fields, in particular the agronomical fields, of the user, about the state of at least one field of the user, about the crop of the field, about the yield.
[0069] In a further embodiment the querying instruction data comprises a representation of strategy and / or layout, e.g. as file in a JSON-, XML-, SVG-, PDF- and / or tex-format. In another embodiment the querying instruction data comprises a workflow and / or a chain of instructions representing an intend of the user.
[0070] In a further embodiment the description data of the at least one tool and / or of the at least one repository comprise information about data retrievable from the repository by using the encoded user identifier.
[0071] In another embodiment the description data of the at least one tool and / or of the at least one repository API data, address data, e.g. of an endpoint, target data of the tool and / or repository and / or master data.
[0072] BRIEF DESCRIPTION OF THE DRAWINGS
[0073] In the following, the present disclosure is further described with reference to the enclosed figures. The same reference numbers in the drawings and this disclosure are intended to refer to the same or like elements, components, and / or parts. Fig. 1 shows a flow diagram of the method for controlling and / or monitoring an agronomical resource.
[0074] Fig: 2 illustrates an example embodiment of a block diagram of an agronomical assistant apparatus.
[0075] Fig. 3 illustrates an example embodiment of providing intended agronomical response data to a user by preventing PI I data being fed into the prediction device.
[0076] Fig. 4 illustrates an example embodiment of providing intended agronomical response data to a user by teaching the prediction device by providing description data.
[0077] Fig. 5 illustrates an example embodiment of providing intended agronomical response data to a user by teaching the prediction device by fine-tuning.
[0078] Fig. 6 shows that the Pll specific data repository comprises two parts.
[0079] Fig. 6a illustrates two message flow diagrams for an agronomic assistant apparatus.
[0080] Fig. 6b illustrates a message flow diagram for an agronomic assistant apparatus having an access component.
[0081] Fig. 7a illustrates a block diagram for an agronomical querying system.
[0082] Fig. 7b illustrates a logical arrangement of the components of the block diagram of Fig. 7a.
[0083] FIG. 8 illustrates an embodiment of obtaining an embedding layer.
[0084] FIG. 9A illustrates an embodiment of a transformer encoder architecture.
[0085] FIG. 9B illustrates an embodiment of a transformer decoder architecture.
[0086] FIG. 9C illustrates an embodiment of a transformer encoder-decoder architecture.
[0087] FIG. 10 illustrates an embodiment of training and / or deploying the transformer encoder.
[0088] FIG. 11 illustrates an embodiment of input embedding. DETAILED DESCRIPTION
[0089] The following embodiments are mere examples for implementing the method, the apparatus, the system, the data structure or apparatus disclosed herein and shall not be considered limiting.
[0090] Fig. 1 shows a flow diagram of the method for controlling and / or monitoring an agronomical resource.
[0091] In state 101 an agronomical assistant apparatus 200 or a dispatching apparatus 200 receives agronomical querying data 205' associated with an agronomical query from a user 205. The querying data 205' may be provided as natural language data and may be provided to the agronomical assistant apparatus 200 via input device 208a or input interface208a.
[0092] The input device 208a may in one example be realized as a chat application.
[0093] In an embodiment the agronomical querying data 205' may comprise personal information like "provide me my fields”, "provide me my 5 most performant fields”. Those agronomical querying data 205' may have to be divided in subtasks which are executed by different tools and / or which retrieve different data from different repositories and the subtasks may have to be executed in different orders. The order and the list of tools and / or repositories may form a strategy which is realized by a chain of commands and / or a workflow as provided by the prediction device 203 as a reaction to the provided data 209”, 209'” from the agronomic assistant apparatus 200.
[0094] The strategy may also comprise detecting and evaluating geo-spatial information from a map, like different biomass zones of a field. Dependent on the actual situation of the geo-spatial information, a strategy may be elaborated to improve the state in this geo-spatial zone. Strategies for improvement starting from a predefined state may be derived from a master data (MD) database 204. A master data database may be a compilation of curated information about agronomical knowledge.
[0095] In state 102 a stack 209” of agronomical querying data is formed by enhancing the agronomical querying data 205' with prompting data 209'. Prompting data 209' may be a data structure comprising data that are parsable and / or detectable by a prediction device 203. By arranging the information in the stack 209” in a predefined way, desired reactions may be provoked in the prediction device 203, e.g. a large language model (LLM) 203, in a targeted way.
[0096] Prompting data 209' may also comprise data loaded from a vector store. A vector store may comprise embeddings and / or embedded data allocated to metadata and may accelerate finding similarities in the prediction device 203. A vector store may allow for finding embeddings based on the metadata. Embeddings are tokens that are generated by converting text into a vector-format. Embeddings may allow to find probability relations between input text, e.g. querying data 205', and the vector space stored in the prediction device 203 by similarity search. The similarity search may be based on finding the minimum cosine distance between a vector generated from embeddings and a vector space inside the prediction device.
[0097] The prompting data 209' comprise an indication for an intended answer 203'”, an indication to provide an end condition and / or an end condition to the agronomical querying data 205'. The end condition may be a complete list of usable tools 204, of usable repositories 204 and / or a workflow comprising instructions for using usable tools 204 and / or repositories 204. The end condition may also be a trigger word, agreed between the agronomic assistant apparatus 200 and the prediction device 203. Tools and / or repositories 204 may be usable if they help finding agronomical response data 203”. In an example the prompting data 209' may allow for forming a chain comprising an intent of the user an action and the final outcome, i.e. the agronomical response data.
[0098] In this way it may be possible to ask the assistant apparatus 200 in encoded natural language for example a question like "show me my five most efficient fields by using tool A and tool B and indicate by a request for more information if more information than the information provided by tool A and tool B is necessary.
[0099] In an example, the prompt data 209' and / or stack data 209” may comprise an instruction indicating which tool and / or repository 204 to use and / or how to use it in cases where the prediction device 203 may not be able to provide a complete answer. Such incomplete answer and / or incomplete querying instruction of the prediction device 203 may generate a looped access to the prediction device 203.
[0100] The formed or generated stack 209” of agronomical querying data may be forwarded to a prediction device 203, e.g. to a Large Language Model (LLM) 203 for generating agronomical response data 203” linked to the stack 209” of agronomical querying data by a predefined probability relation.
[0101] The stack 209” may be enhanced in cases where no final or complete solution may be generated after the first forwarding of querying data to the prediction device 203. The stack 209” may be seen as a memory device, a storage and / or a history or accumulation of past information sent to the prediction device 203. Having the history in form of a stack may be beneficial as the prediction device 203 is state less, i.e. the prediction device does not have a memory and / or is memory free and / or stateless. By using the stack 209” of agronomical querying data and / or historical stack 209'” of agronomical querying data that comprises the history of requests a final agronomical response may be generated in a multi-step and / or a looped approach, wherein in each step additional information may be added to the stack.
[0102] The stack 209” of agronomical querying data, historical stack 209'” of agronomical querying data and / or enhanced agronomical querying data 209”, 209'” may comprise agronomical querying data 205', prompt data 209', description data 204' and / or querying instruction data 203'. In this way by using a multi-step approach, a dialog between agronomic assistant apparatus 200 and prediction device 203 may be established where the agronomic assistant apparatus 200 may offer tools 204 and / or repositories 204 that are accessible via the agronomic assistant apparatus 200.
[0103] The prediction device 203 may be an external device, arranged externally to agronomical assistant apparatus 200. The external character may be visible by a prediction device connecting device 210 and / or a corresponding interface 210. The agronomical assistant apparatus 200 communicates with the prediction device 203 via an API and / or an access token. An access token may grant access to the prediction device 203 via the API.
[0104] In state 104 the agronomical response data 203” are received by the agronomical assistant apparatus 200 from the prediction device 203.
[0105] The received agronomical response data 203” are checked in state 105, in the agronomical assistant apparatus 200, in particular in the output device 208b, for any instructions and the results of the check are evaluated. The check may also comprise the detection of an end condition.
[0106] At least two cases are differentiated in state 105. If the received agronomical response data 203” comprise querying instruction data 203' for at least one tool and / or for at least one repository 204 the method continues in state 106 with invoking the at least one tool 204 and / or invoking the at least one repository 204; and executing in state 107 the querying instruction data 203', 207 on the at least one tool 204 and / or on the at least one repository 204.
[0107] In state 108 the available information is provided as intended agronomical response data 203'”. The intended agronomical response data 203'” include the agronomical response data 203”, if no further information is to be retrieved and all agronomical querying data 205' may have been answered by the prediction device 203.
[0108] If however, further inquiries to tools 204 and / or to repositories 204 have been necessary, the result of executing the querying instruction data 203' on the at least one tool 204 and / or on the at least one repository 204 may also be inserted into the intended agronomical response data 203'”. The intended agronomical response data 203'” and / or specified agronomical response data 203'” may comprise a format selected by the prediction device 203 in order to meet the intended use of the intended agronomical response data 203'”. The format may be derived by the prediction device 203 by selecting a format that is likely be used for similar requests. The format may comprise a tabular view, a chart view and / or a color map.
[0109] Further inquiries may be necessary, if the prediction device 203 needs access to personal data or Personal Identifiable Information (PH) of a user 205 may need to be involved in providing an answer 203'”. In such a case the PI I may substantially be blocked from the prediction device 203 and may substantially solely be handled by the agronomical assistant apparatus 200. In such a case the prediction device may substantially only help by assembling a query request to a Pll repository that may be finally handled by the agronomical assistant apparatus 200. In an example the prediction device 203 may provide a program code for a query, e.g. SQL-Query, Elasticsearch query, SPARQL-query and a layout for the answer. The prediction device 203 informs the agronomical assistant apparatus 200 where to add the retrieved information in the layout for the answer.
[0110] In other words, the prediction device may provide the structure of the answer and / or the output format but the agronomical assistant apparatus 200 handle the private data and / or PI I data.
[0111] The answer of the prediction device 203 may look like this pseudo program code structure "The 5 most efficient fields of user <add result of query for user id> are <add result of query for fields>”. The term <add result of query for user id> may represent a query to a repository as a place holder and the agronomical assistant apparatus 200 may execute this request on the repository. In a similar way <add result of query for 5 fields> may represent a query and / or request 207 generated in the prediction device 203 and is used as a place holder for the relevant result. The answer may be provided as text in a structured format, e.g. as a JSON (Java Script Object Notation) text. In other words, the expression < > may indicate a place holder and the prediction device 203, e.g. the LLM, instructs the agronomical assistant apparatus 200 to execute an operation and insert the result of the operation into the placeholder < >. Thus, the prediction device 203 may generate the template and / or structure for the output and the agronomical assistant apparatus 200 fills in the missing gaps and / or place holder by executing corresponding operations.
[0112] In this way, for completing a workflow and / or a chain of instructions 203' the method may comprise in state 109 executing the querying instruction data 203', 207 on the at least one tool and / or on the at least one repository 204 and forming an historical stack 209'” of agronomical querying data and / or an historical stack 209'” of enhanced agronomical querying data by enhancing the stack 209” of agronomical querying data and / or the historical stack 209”' of agronomical querying data with the result of executing the querying instruction data 203' on the at least one tool and / or on the at least one repository 204. Then the historical stack 209'” of agronomical querying data is forwarded to the prediction device 203 again for generating the agronomical response data 203”.
[0113] In other words, by running through a loop and / or a recursive procedure, a stack 209” of agronomical querying data and / or an historical stack 209”' of agronomical querying data may be generated. The term 'historical' may indicate that there is a history for generating the input data for the prediction device 203. The stack 209” and / or historical stack 209”' may supplement the prediction device 203 with a memory functionality in order to generate agronomical result data 203” that are in close probability proximity to the stack 209” of agronomical querying data and / or historical stack 209”' agronomical querying data.
[0114] A stack 209” of agronomical querying data and / or an historical stack 209'” of agronomical querying data may be generated until an end condition will be reached. The end condition may be reached when querying instructions 203 are complete, e.g. no further place holders are included in the agronomical response data. This check for end condition may be executed in state 109'. In an example the end condition may be included in the prompt data 209' and / or stack data 209”. For instance, the end condition may be provided as a text stream and / or as a string. In an example, the end condition may be marked by a key word. In another example, the agronomical querying data may comprise an example for resolving an exemplary agronomical query.
[0115] For generating agronomical result data 203” it may be necessary that data to which the prediction device 203 has no access to and / or from which the prediction device 203 is blocked are provided by the agronomic assistant apparatus 200. Examples for such data that are blocked from an access via the prediction device 203 may be private data such as PI I data and / or master data (MD) that are intended to remain within the agronomic assistant apparatus 200.
[0116] An example may show the difference between private data and public data. The prediction device 203 may link with a high probability the input information "winter wheat” to an output of "cereal”. Thus, "winter wheat” and "cereal” have a close probability relation in the representation inside the prediction device and this information may be available as general knowledge of the prediction device 203. However, the information on which agronomical fields the user 205 who is actually consulting the agronomic assistant apparatus 200 grows winter wheat is private information that is blocked from the prediction device 203 as long as no permission exist to access the information and / or to use the information in a different way by the prediction device 203.
[0117] Examples for techniques for retaining private data within the agronomic assistant apparatus 200 are a technique of using access tokens and / or user ids, authentication and / or authorization, running the agronomic assistant apparatus 200 in a blocked environment such as in a private cloud, running the agronomic assistant apparatus 200 behind a firewall and / or running the agronomic assistant apparatus 200 in a sand box.
[0118] In order to access private data and / or a predefined tool it is possible that the prediction device 203 controls the agronomic assistant apparatus 200, by instructing the agronomic assistant apparatus 200 how to access the data. In an example querying instruction data 203' are generated by the prediction device 203, wherein the querying instruction data 203' are adapted by the prediction device 203 to instruct the agronomic assistant apparatus 200 to execute at least one instruction 203', 207, a workflow 203', 207 and / or a chain 203', 207 of instructions, in order to retrieve the desired information, e.g. private data. The agronomic assistant apparatus 200 may execute the instructions 203', 207 on the at least one tool 204 and / or on the at least one repository 204; and retrieve the desired information.
[0119] For retrieving missing information via the agronomic assistant apparatus 200, the method may comprise enhancing the agronomical querying data 205' and / or the stack 209” of agronomical querying data with description data 204' of the at least one tool 204 and / or of the at least one repository 204, when the stack 209” and / or the historical stack 209”' of agronomical querying data is formed. In a particular example the description data 204' comprise description data 204' of at least one private tool 204 and / or of at least one private repository 204. State 110 shows forming an historical stack 309'” by adding description data 204' of the at least one tool 204 and / or of the at least one repository 204. The description data 204' may be used by the prediction device 203 for generating program code and / or instructions 203', 207 which when executed by the agronomic assistant apparatus 200 let the agronomic assistant apparatus 200 generate missing data for the intended agronomical response data 203'”.
[0120] The agronomic assistant apparatus 200 may be used as a DST (Decision Support Tool) which may support a user to take agronomical decisions regarding a resource of the user 205.
[0121] Fig: 2 illustrates an example embodiment of a block diagram of an agronomical assistant apparatus 200.
[0122] The agronomical assistant apparatus 200 may be seen as a dispatching apparatus as the agronomical assistant apparatus 200 receives information from a user 205 and tries to forward received information as long as an appropriate response may be generated. The agronomical assistant apparatus 200 for controlling and / or monitoring an agronomical resource (the agronomical resource not shown in Fig. 2) comprises an input device 208a, an output device 208b, a prediction device connecting device 210 or an interface 210 to a prediction device 203 and a stacking device 209.
[0123] The input device 208a or input interface 208a is adapted for receiving agronomical querying data 205' associated with an agronomical query from a user 205. The input device may be adapted for receiving different type of input data, such as natural language data, sound data and / or visual data. The input device 208a may be adapted to convert the received agronomical querying data 205' into a text-based stream.
[0124] The stacking device 209 is adapted for forming a stack 209” of agronomical querying data by enhancing the agronomical querying data 205' with prompting data 209' or prompt data 209'.
[0125] Generating a stack 209” of data may comprise repeating of the enhancement of data to an existing stack 209” and in this way forming historical stack data 209'”. Historical stack data 209'” may comprise a collection of past data and an additional data unit. Thus, historical stack data 209'” may comprise more data than stack data 209”. It may be a property of a prediction device 203 that the probability relation between the input data, e.g. the stack 209” of agronomical querying data and / or the historical stack 209'” of agronomical querying data, to an intended querying instruction data 203” is more probable the more content is included in the input data 209”, 209'”.
[0126] Even if historical data may comprise a plurality of historic stack 209'” data in this text substantially only stack 209” data and historical stack 209'” data are differentiated irrespectively of how many times a method may be recalled or looped and how many generations of data are contained in a stack.
[0127] The prompting data 209' may comprise an indication for intended agronomical response data 203'” in response to the agronomical querying data 205'. In other words, by generating prompting data 209' the prediction device 203 may be influenced in a targeted way to a specific intended agronomical response data 203'” and may influence the response to the agronomical query. Thus, by designing the prompting data 209' the prediction device 203 may be directed into the agronomical area in a data space inside the prediction device 203. In this way, specific agricultural knowledge may be triggered in the prediction device 203. The prediction device may be pre-trained with general and publicly available structured and / or unstructured data related to the agronomical area, e.g. by teaching the prediction device with videos about agronomical knowledge and / or respective transcripts of the videos. The influence may also include the format of the provided intended agronomical response data 203'”, e.g. whether textual and / or diagrammatical answer format may be more appropriate for a query. In an example the prompting data 209' may influence whether a response is provided as text base output or graphical output. In another example it may also be possible to leave the output format open and use the most common format for a specific question type as suggested by the prediction device 203. An example for a graphical output may be a timing diagram showing different seasons and necessary treatment steps in a sequential order, e.g. as a Gantt-diagram and / or as a treatment program.
[0128] The prediction device connecting device 210 and / or prediction interface 210 is adapted for connecting and / or interfacing with a prediction device 203 and for forwarding the stack 209” of agronomical querying data to the prediction device 203 for generating agronomical response data 203”. The prediction device connecting device 210 may also handle an access token and / or API key that authorizes the agronomical assistant apparatus 200 to use the prediction device 203. The prediction device analyses the forwarded stack 209” of agronomical querying data and generates agronomical response data 203” linked to the forwarded stack 209” of agronomical querying data by a predefined probability relation. The prediction device 203 may be an LLM 203 which uses a temperature parameter to influence the predefined probability relationship.
[0129] The prediction device connecting device 210 and / or the prediction device interface 210 may be adapted for receiving the agronomical response data 203” from the prediction device 203. By the specific design of the prompt data 209' the prediction device is instructed to indicate whether enough information is available for providing the intended agronomical response data 203'”.
[0130] The output device 208b is adapted for checking the received agronomical response data 203”.
[0131] If the output device 208b realizes that the received agronomical response data 203” comprise querying instruction data 203' for at least one tool 204 and / or for at least one repository 204 the output device 208b triggers the stacking device 209 to invoke the at least one tool 204 and / or the at least one repository 204 and triggers the stacking device 209 to execute the querying instruction data 203', 207 on the at least one tool and / or on the at least one repository 204.
[0132] In this way the prediction device 203 may be adapted for instructing and / or controlling the agronomical assistant apparatus 200 to provide missing information and / or missing functionality. Missing information may be private data such as PH information and / or special knowledge like special agronomical relationships between different plant treatment products, environmental parameter such as weather data, field data and / or application devices.
[0133] The private repository 204 and / or Master Data (MD) may also comprise the information about controlling and / or monitoring an agronomical resource. Master data may be stored in a master database. The master database may comprise a product database, a weed database and / or a formulation database.
[0134] A master data database may store information about crop trait and / or crop characteristics, e.g. which crop trait is tolerant against which herbicide. The master database may also comprise information about varieties and variety characteristics. The master database may also comprise geolocation information e.g. which weeds are relevant for which region and / or for which country.
[0135] The master database may also comprise regulatory data, i.e. which plant treatment product can be used under which conditions. The regulatory data may also be country specific. The master database may also comprise information about the type of formulation, e.g. use it with water or another liquid or apply a specific product in solid form.
[0136] An agronomical resource may be a field, a plant treatment product, an application device e.g. a spraying device and / or a seeding device. In order to control an application device for instance control data, e.g. an application map, may be generated that instructs the application device about the location and / or quantity to apply a plant treatment product.
[0137] The output device 208b is adapted for providing intended agronomical response data 203'”, which include the agronomical response data 203” and / or the result of executing the querying instruction data 203' on the at least one tool and / or on the at least one repository 204. The intended agronomical response data 203'” may reflect the intent the user 205 had when providing agronomical querying data 205'.
[0138] In an example the intended agronomical response data 203'” may be converted into data for controlling and / or monitoring the agronomical resource, e.g. into control signals for an application device. The application device may be used to treat a field. The control data may be distributed via a CAN bus (Controller Area Network).
[0139] The result and / or output of executing the querying instruction data 203' on the at least one tool and / or on the at least one repository 204 may be used by the stacking device 209 to form an historical stack 209”' by enhancing the stack 209” of agronomical querying data which was the basis for generating querying instruction data 203' with the result of executing the querying instruction data 203' on the at least one tool 204 and / or on the at least one repository 204 and forwarding the historical stack 209'” of agronomical querying data again to the prediction device 203 for generating more complete agronomical response data 203”. However, in cases where the result and / or output of executing the querying instruction data 203' on the at least one tool and / or on the at least one repository 204 comprise private data, the private data may be prevented from being sent to the prediction device 203 and may be directly provided by the agronomical assistant apparatus 200 to the user 205 via output device 208b.
[0140] Building a stack 209” and / or historical stack 209'” of agronomical querying data and forward the stack to the prediction device 203 and interpreting the output of the prediction device 203 may be repeated until an end condition may be detected. The generation of an end condition may be injected into the prediction device 203 by forming specific prompt data 209'.
[0141] Upon detecting the end condition and / or an end signal the intended agronomical response data 203'” may be provided via the output device 208b. The output device 208b may be adapted to convert any structural information in a format that may be easy to understand by a user. In an example a JSON file may be difficult to be understood by a user. However, a text in natural language and / or a graphical representation may be easy to understand for a user.
[0142] The intended agronomical response data 203'” include the agronomical response data 203” and / or the result of executing the querying instruction data 203' on the at least one tool and / or on the at least one repository 204.
[0143] In other words, by controlling the at least one tool 204 and / or on the at least one repository 204 the agronomical assistant apparatus 200 may provide functionality that is missing in the prediction device 203. An example of a missing functionality is a mathematical operation. The prediction device 203 may be aware that mathematical operations exist, however due to the fact that it is a prediction device it may not have mathematical functionality included. Thus, the agronomical assistant apparatus 200 may transfer missing functionality to the agronomical assistant apparatus 200 and may instruct the agronomical assistant apparatus 200 to provide a result of a predefined operation.
[0144] In another example PI I information and / or secret information may also not be available in the prediction device 203. In one embodiment the prediction device 203 may be trained by a fine-tuning operation to have such private information available. In a further embodiment the private information may be kept separately from the prediction device 203 and only description data 204' are provided to the prediction device 203. This description data 204' may teach the prediction device 203 what information is available in the agronomical assistant apparatus 200 and how this information may be accessed. The description data may comprise an interface description, an API (Application Program Interface) description and / or a data structure.
[0145] By informing the prediction device, e.g. in form of an historical stack 209”'of enhanced agronomical querying data, the prediction device may use the information from the repositories 204 without substantially accessing the information. In an example one repository 204 may be a field managing device. The field managing device may comprise a plurality of Pll data, a description of different views and / or actual environment data such as satellite data and / or weather data. In an example a field management tool 204 and / or a field management repository 204 may provide different views in form of dashboards, e.g. a cross farm dashboard (CFD). A dashboard may display a satellite photo of a field and may show different zone views of the field which indicate the different parameter of a field according to a predefined colour scheme. A filter may allow for filtering field specific information and display user specific details of a field. In an example, user specific details of a field may comprise the cycle of the treatment and / or a treatment history. In other words, a dashboard and / or field management device may be a collection of data and support a user 205 to retrieve the user specific information necessary for an analysis of the state of a field. However, in order to get a complete picture of a field the selection of different views and data collections may be necessary. The agronomic assistant apparatus 200 may be a support tool that helps the user 205 to compile the necessary information for a specific question a user 205 may have about a field and / or any other resource of the user.
[0146] A prediction device 203 may not have access to currently available data as the prediction device 203 may only benefit from historical data which it has been trained with. But the prediction device may use the agronomical assistant apparatus 200 in order to access the current information. The current information may be information that is valid at the time of making an inquiry.
[0147] The prediction device may also suggest a beneficial view for displaying intended agronomical response data 203'” related to agronomical querying data 205'. The prediction device may be adapted to detect that a specific view may be beneficial by having learned that a specific view may get positive feedback from a user 205 in a specific situation of provided agronomical querying data 205'.
[0148] In this way the agronomical assistant apparatus 200 may simplify the operation of a field management device by using positive past feedback for suggesting a specific view, e.g. a bar chart, a pie diagram etc, to an inexperienced user.
[0149] In an example the user 205 may ask the agronomical assistant apparatus 200 for the best treatment timing and the prediction device may suggest providing the intended agronomical response data 203'” in form of a timing diagram instead of a pure textual output.
[0150] Fig. 3 illustrates an example embodiment of providing intended agronomical response data 203”' to a user 205 (not shown in Fig. 3) by preventing Pll data being fed into the prediction device 203. In this example a stack 209” of agronomical querying data and / or a historical stack 209'” of agronomical querying data is forwarded to the prediction device 203 following the schematic path 301 . The prediction device 203 knows about the data that may be provided by repository 204. The prediction device 203 may know about the data structure and the meaning of private data 203b”. The prediction device 203 has knowledge about the data content and the data structure by having been informed by the description 204'. The data structure may be defined by a tree structure, an ontology, linked tables, a JSON schema and / or a database schema. Examples for database schema may be a relational database management system (RDBMS), a GQL (Graph Query Language) or an REST (Restful) API.
[0151] The prediction device 203 may generate instructions 203', e.g. as program text, ASCII data and / or as a database query, in order to provide a data structure 203a” as response data 203a” having place holder <xxxx> or <yyyy> for the private information. The place holder may be filled by the agronomic assistant apparatus 200 with the corresponding private information. And a respective response is provided intended agronomical response data 203”'.
[0152] The final response data 203c” may be provided as a JSON file.
[0153] Another way of preventing Pll information getting into contact with the prediction device 203 may be receiving input data, extracting personal data (Pll), extracting structural data from the input data, forwarding substantially only structural data, e.g. JSON data with place holder, to a the prediction device 203, receiving a response data structure, e.g. a JSON data structure with place holder, converting the response data structure to request data, identifying the place holders in the request data, merge request data and personal data (Pll) and querying a database e.g. a private database or an Elasticsearch database with the merged request data and personal data.
[0154] Fig. 4 illustrates an example embodiment of providing intended agronomical response data 203'” to a user 205 (not shown in Fig. 4) by teaching the prediction device 203 by providing description data 204' of at least one tool and / or of at least one repository 204 accessible via the agronomical assistant apparatus 200. In a first stack 209” of agronomical querying data description data, e.g. API data 204', are sent to the prediction device 203. The description data 204' may comprise a description of a repository 204 and / or of a tool 204 that may be accessed via the agronomical assistant apparatus 200. The description may be provided as embedded data and / or as a vector of a vector storage. The prediction device may use the description data 204' in order to provide a querying strategy 203', querying instruction data 203', a chain of instructions 203' and / or a workflow 203' in order to retrieve the intended agronomical response data 203'”. The querying strategy 203' may provide for one or more loops of enhancing stack 209” of agronomical querying data and / or historical stack 209'” of agronomical querying data.
[0155] The chain of instructions 203' and / or a workflow 203' may comprise generating control commands and / or control instructions. The control instructions may be formulated in a program language such as python code, a JSON object, as a flow chart and / or may be formulated in a descriptive language such as UML (Unified Modeling Language); S- BPM (Subject-oriented Business Process Modeling), BPMN (Business Process Modelling and Notation) and / or as an event-driven process chain (EPC). The prediction device 203 may be able to make other appropriate proposals for an applicable modelling language for providing the instructions and / or querying instruction data 203', 207. The selected modeling language may depend on an interpreter for the respective modelling language available in the agronomical assistant apparatus 200. The stack 209” of agronomical querying data may also comprise a description of the available modelling language interpreter of the agronomical assistant apparatus 200. The control instructions 203' and / or a part of the control instruction 203' may also be used for controlling and / or monitoring an agronomical resource. In such a case the interpreter for the control instructions may sit on the agronomical resource, e.g. an application device for an agronomical product and / or a smart spraying device. In an example the control instructions 203' and / or the intended agronomical response data 203'” may comprise map data for an application map. An application map may comprise application quantities for an agronomical product dependent on a geographical location. The intended agronomical response data 203'” may be at least partially provided in ISO XML format, e.g. according to ISO 11783-10:2015 and or in the Shape format.
[0156] These data may be detected at the output device 208b and / or the output interface 208b e.g. by a protocol analyzer. The intended agronomical response data 203'” may be stored on a storage medium such as a USB stick and / or distributed via a communication network. In this way an offline control and online control, respectively of an agronomical resource may be possible.
[0157] Forming the stack 209” of agronomical querying data and / or historical stack 209”' of agronomical querying data may also include executing the querying instruction data 203', 207 on the at least one tool and / or on the at least one repository 204 and forming the historical stack 209”' of agronomical querying data by enhancing the stack 209” of agronomical querying data with the result of executing the querying instruction data 203' on the at least one tool and / or on the at least one repository 204. In this way the data retrieval by e.g a request 207 may be controlled by the prediction device 203. The historical stack 209'” of agronomical querying data including the result of executing the querying instruction data 203' are forwarded to the prediction device 203 for generating the agronomical response data 203”.
[0158] Historical stack 209'” of agronomical querying data may be seen as the current query data comprising a current list of accumulated historical data and in this way forming a memory of already forwarded information.
[0159] Stack 209'” of agronomical querying data may be seen as previous querying data which may be enhanced in order to form historical stack 209'” of agronomical querying data.
[0160] Forming a memory of information may allow for getting a good result as the more details are included in the stack 209'” of agronomical querying data and / or the historical stack 209'” of agronomical querying data the more accurate the result provided by the prediction device 203.
[0161] The path 302 is used for description data 204' and results of executing the querying instruction data 203' on the at least one tool and / or on the at least one repository 204 is shown in Fig. 4 as a loop.
[0162] Fig. 5 illustrates an example embodiment of providing intended agronomical response data 203'” to a user 205 (not shown in Fig. 5) by teaching the prediction device 203 by fine-tuning. During the fine tuning of the prediction device 203 with information from the at least one tool and / or on the at least one repository 204 and / or with description data 204' of at least one tool and / or of at least one repository 204 accessible via the agronomical assistant apparatus 200 the prediction device 203 is aware of available tools and / or repositories 204, the location, the provided functionality, the provided information and / or the access method. In this way the prediction device 203 may after providing the first stack 209” of agronomical querying data immediately request the result and later use the results.
[0163] The path 303 does not have to provide description data 204' in a separate loop and / or step as the description data 204' are already trained into the prediction device 203.
[0164] The use of the different paths 301, 302, 303 may be dependent on the agronomical querying data 205' and thus may be related to the needed data.
[0165] Fig. 6 illustrates an example embodiment of a block diagram of an agronomical querying system 600. Fig. 6 shows the agronomic assistant engine 200', the agronomic assistant device 200' and / or the agronomic assistant service 200'. The agronomic assistant engine 200' may be a processing device on an agronomic assistant apparatus 200.
[0166] Physical connections are not shown in Fig. 6. However, physical connections may exist between the agronomic assistant engine 200', the prediction device 203 and the tools 204a and repositories 204b, 204c. The different devices are connected by physical connections and / or logical connections, e.g. VPN (Virtual Private Network). The agronomic assistant engine 200' may be organized like a hub and connects the prediction device 203, the farmer 205 or user 205, the tools 204a and repositories 204b, 204c.
[0167] If a question is received in the agronomic assistant engine 200' it is combined with prompting data 209' and forwarded to the prediction device 203. The prediction device 203 may generate the final question if the prediction device 203 may have all information and / or data available for generating the final intended agronomical response data 203”’.
[0168] If the prediction device may not have all information the prediction device 203 responds to the agronomic assistant engine 200' with a tool and / or repository which the prediction device may suggest to use in order to find the final intended agronomical response data 203'”. The agronomic assistant engine 200' may receive a strategy from the prediction device 203 in form of instructions. The agronomic assistant engine 200' may follow the instruction and invoke a corresponding tool 204a and / or repository 204b, 204c. The tool may be a mathematical tool 204a, a dictionary and / or a weather tool. The tool may provide functionality not available in the prediction device. Another example of a tool providing current information may be a market price retrieving tool, a stock exchange tool and / or a B2B platform where a user may be able to retrieve an actual market price for a yield and / or crop. A possible question may also be to ask the agronomic assistant apparatus 200 to provide the quantity of an herbicide to be ordered for all fields of a user under the condition of current geospatial field maps.
[0169] The agronomic assistant apparatus 200 may also have access to at least one sensor, e.g. weather sensor, in order to determine the current condition at a field from the user. As an alternative or in addition a sensor repository 204 may exist where at least one sensor of the user 205 stores current sensor data. Such a repository may be an eventbased repository allowing for reconstructing a time series of the at least one sensor data. The sensor data may also comprise satellite data, drone data, remote sensing data, cab sensor data, LAI (Leaf area index) data, GAI (Green Area Index) data and / or ground based sensor data. The sensor data may support monitoring of the agronomical resource.
[0170] The repository 204b may be a domain specific repository 204b having local information available locally close to the agronomical resource which is to be controlled or monitored.
[0171] The repository 204c may be a private repository having PI I information of a user 205. Private data may be data that are related to the user 205, e.g. the number of fields the user has, and / or data that describe the user 205 like a name or birthday.
[0172] In order to protect the private data from being accessed by the prediction device 203 in state “iO" the agronomic assistant engine 200' invokes the tool 204a and / or repository 204b, 204c as selected by the prediction device 203. In Fig. 6 the prediction device 203 chooses the PI I specific data repository 204c. The prediction device 203 may be a monolithic device responding to the different tools 2004a and / or services 200'. The prediction device 203 may also be realized as separate devices, e.g. separate LLMs, which are individually allocated to the different tools and / or services and separated from another.
[0173] Fig. 6 shows that the Pll specific data repository 204c may comprise two parts. The Pll specific data repository 204c may comprise a Pll specific data tool 204c' or a Pll specific data component 204c'.
[0174] The Pll specific data repository 204c may also comprise a Pll database.
[0175] The Pll specific data tool 204c' may be integrated in the agronomic assistant apparatus 200. The Pll specific data tool 204c' may handle the access to the Pll database 204c” where actually the data are stored.
[0176] In general, a repository 204, 204c, 204b may comprise an access component 204c' and a database component 204c”. The access component 204c' may ensures authentication and / or authorization in order to allow for access to the database component 204c”. The access component 204c' may also distribute the description data 204' that may be ingested and / or fed into the prediction device 203. The access component 204c' may generate an access token in order to grant access to the database component 204c”. In an example, access component 204c' may form an access interface 204c' to the database component 204c”. The access interface 204c' may be included in the agronomic assistant apparatus 200, whereas the database component 204c” may be a remote component, e.g. running on a server and / or in a cloud environment.
[0177] In state “i 1” the access component 204c' forwards repository description data 204', e.g. a database schema, as prompting data 209', as stack 209” of agronomical querying data and / or as historical stack 209'” of agronomical querying data to the prediction device 203. Even if Fig. 6 suggests that access component 204c' is in direct contact with the prediction device 203, the distribution of repository description data 204' is made via stacking device 209, which may also be integrated into the agronomic assistant apparatus 200.
[0178] The prediction device 203 responses in state “i2" to the provision of the database schema 204' with a database query 207 via the output device 208b, as shown in Fig. 2. In other words, when the prediction device 203 receives repository description data 204' the prediction device 203 uses the repository description data 204' and generates instructions 203', 207, if necessary for generating intended agronomical response data 203'”. The instructions 203', 207 cause in state “i3" the access component 204c' and / or the database interface component 204c' to request data from the database component 204c”, when the instructions 203', 207 are executed by the agronomic assistant apparatus 200, in particular by the agronomic assistant engine 200'.
[0179] Data, e.g. Pll data, which are retrieved in state “i4” as a result of executing the querying instruction data 203' on the at least one tool 204, 204a and / or as a result of querying the at least one repository 204, 204b, 204c from the database component 204c” are provided in state “i5" to the agronomic assistant engine 200'. The agronomic assistant engine 200' either adds the results of executing the querying instruction data 203' on the at least one tool 204, 204a and / or on the at least one repository 204, 204b, 204c to the intended agronomical response data 203”' and provides the intended agronomical response data 203”' to the user 205. Or adds the results of executing the querying instruction data 203' on the at least one tool 204, 204a and / or on the at least one repository 204, 204b, 204c to stack of agronomical querying data 209” and continues the loop via the prediction device 203.
[0180] As long as no end condition is detected by the agronomic assistant engine 200' in state “j” further prompting data 209' may be generated and forwarded to the prediction device 203. In other words, as long as no end condition is detected, stack 209” of agronomical querying data and / or a historical stack 209”' of agronomical querying data is generated and provided to the prediction device 203. The feeding to the prediction device is repeated with additionally gathered data from the domain repository 204b and / or from the Pll repository 204c.
[0181] However, if an end condition is detected, the intended agronomical response data 203”' is generated and the intended agronomical response data 203”' is provided to the user 205. The agronomic assistant apparatus 200 hides and / or encapsulates the complexity of a software tool 204 and / or repository, e.g. an agronomical software, by understanding the intent of the user 205, converting the intent into action and generating an output 203'” according to the intent. The agronomic assistant apparatus 200 uses a prediction device 203 or an LLM in the agricultural field.
[0182] Training time for learning how to operate the software may be prevented or reduced. The agronomic assistant apparatus 200 may continuously learn from the questions of a user and the preference from the user in displaying the output 203'”. For the user specific preferences, a separate prediction device and / or LLM device may be provided which is separated from the main prediction device 203. The agronomic assistant apparatus 200 may comprise an artificial intelligence (Al) model and / or program code to understand in which situations different graphical presentations may be useful and, in this way, may also make proposals to a user. In one example the assistant may be an Al model trained to a specific technical subject such as agronomical knowledge. A specific training to a special technical subject may be achieved by fine-tuning a Large Language Model (LLM) to that specific technical subject.
[0183] The assistant 200 may run in a private environment but may have interfaces to different data sources, repositories 204 and / or tools 204. The data sources may comprise structured and / or unstructured data.
[0184] Structured data like a form may comprise key value pairs and may follow a hierarchical structure and / or an ontology. In an example one of the data sources may be a semantic web. The structure may also be provided by annotations, metadata, labels and / or knowledge graphs.
[0185] Unstructured data may comprise scientific papers, electronic documents, blogs, images, videos, transcripts of videos and / or other voice recordings.
[0186] In an example the agronomic assistant apparatus 200 receives input data 205' and / or agronomical querying data 205' comprising an overall problem to be solved. The problem may be in the technical field of agricultural knowledge and / or agronomical knowledge. The agronomic assistant apparatus 200, e.g. a software module, is able to divide the overall problem to be solved in sub-problems and combination rules in order query different data sources 204, e.g. public data, private data, structured data and / or unstructured data, logical operators, mathematical operators. The agronomic assistant apparatus 200 may also be able to generate different output types and / or output formats, e.g. graphical and / or textual output 203'”.
[0187] The agronomic assistant apparatus 200 may learn different repository description data and / or tool description data 204, e.g. API structures and may generate appropriate queries in order to receive solutions to sub-problems for solving the overall problem.
[0188] A problem may be to provide the 5 most inefficient fields of a farmer 205. In order to solve this problem, subproblems may be identified by the prediction device 203 such as how are inefficient fields defined in the agronomic context. The assistant may identify this question as an agronomical problem and routes the inquiry to a specialized agronomical database 204'.
[0189] The specialized agronomical database 204 may be trained by different color schemes of geospatial maps, e.g. biomass maps, and may derive from the color schemes a state of an agronomical resource, e.g. a field.
[0190] In an example a prediction device 203 and / or a private prediction device may be trained by fine-tuning to understand zone maps and in particular to understand a color schema of a zone map.
[0191] In this way the private prediction device may assess a map with zones for different performance in the zones like potential expected yield.
[0192] In order to identify a specific number of results the agronomical assistant apparatus 200 may be able to understand that a mathematical problem is to be solved and may use an inquiry to a mathematical tool 204a and / or LLM model.
[0193] The order of the relevant operations may be identified, e.g. to ensure that in a first step all fields may be assessed and after this first step in a second step the relevant fields may be selected.
[0194] In other words, the intent may be converted into a querying strategy and / or in a querying program.
[0195] The agronomic assistant apparatus 200 may allow for building a conversational interface for text and / or audio input for users 205, e.g. farmers, to access agronomical (ag) intelligence, e.g. agronomical tools and / or repositories 204 in a dynamic way, by allowing natural dialogues with the user 205. The agronomic assistant apparatus 200 may be used as an assistant to carry out analysis and tasks.
[0196] In one example field specific and / or farm specific insights to regional insights may be considered by accessing a respective tool 204 and / or repository 204. The repository and / or tool 204, e.g. a NoSQL database and / or a JSON based database like Elasticsearch or OpenSearch may allow for leveraging structured personalized data and / or structured usage data. A field and / or farm may also have private user related PI I data.
[0197] Product usage guidelines may be stored in a repository 204 as structured domain data. Domain data may have a regional and / or country related context and thus may by substantially locally limited. Such product usage guidelines may be stored as Master data (MD) in a master database 204.
[0198] Applicable regulatory assessments may be stored as unstructured domain data, eg. nutrition rules from regional governments. Geospatial information may comprise multivariable data, i.e. metadata related to a geographic location. They may be stored as ISO XML data in a corresponding repository 204 and may include the biomass and / or soil quality at a specific geographic coordinate. Multivariable data may be used for multivariable optimization, e.g. for geospatial analysis or for automatic anomaly detection by detecting whether high yielding field zones show up as low potential zones in current biomass maps.
[0199] The agronomic assistant apparatus 200 may be used for command execution and / or action execution. In an example, notes may be taken on a field, particularly a digital representation of an agronomical field, through voice commands and speech to text conversion.
[0200] The agronomic assistant apparatus 200 may increase the efficiency of model development by supporting efficient development, validation, and data lifecycle management.
[0201] The agronomic assistant apparatus 200 may be integrated as an assistant and / or chat tool in one of the tools 204 and / or repositories. It may be used as human to machine interface allowing users 205 to query their data in natural language within the scope of agricultural resources like a farm, fields and crops.
[0202] The agronomic assistant apparatus 200 may add by the stacking functionality of the stacking device 209 memory to a prediction device 203 and / or to a tool 204 or repository 204 for remembering context from a current and / or previous conversation.
[0203] The agronomic assistant apparatus 200 may comprise a fine-tuned LLM and / or leverage from a fine-tuned LLM portion of the prediction device 203 to extend the scope of a tool 204 and / or of a repository 204. The agronomic assistant apparatus 200 may learn to use an agent, e.g. a Python program code, to carry out specific tasks intended by the users 205. On command and / or on its own motion the agronomic assistant apparatus 200 may be instructed by the prediction device 203 to produce graphs and charts in response to user queries 205'. Using geospatial information may allow for geospatial analysis. Instructed by the prediction device 203 the agronomic assistant apparatus 200 may choose between multiple data sources 204 to answer a query 205'. By its self-learning functionality the agronomic assistant apparatus 200 may learn to extract knowledge from nutrition regulations for one region and make it available to a user 205 in an appropriate format.
[0204] The agronomic assistant apparatus 200 in combination with the prediction device 203 may allow for extending local agronomical knowledge to new crops and / or new countries or domains, e.g. derive agronomical knowledge for tomatoes in Romania even no experiments have been made in this domain.
[0205] Fig. 6a illustrates two message flow diagrams for an agronomic assistant apparatus 200. Message flow diagram 610 shows a case where the prediction device 203 is able to generate the final answer or the intended agronomical response data 203'” to agronomical querying data without the involvement of any tool and / or repository 204. This may be the case if prediction device 203 is a pre-trained model and / or a fine-tuned model with regard to agronomical knowledge.
[0206] Message flow diagram 620 shows a case where the prediction device 203 has knowledge about available tools 204, 204a, 204b, 204c accessible via the agronomic assistant apparatus 200.
[0207] Information retrieved from the tool 204a and / or from the repository 204b, 204c is blocked from being distributed to the prediction device 203. After the prediction device 203 informs the agronomic assistant apparatus 200 about the way how to retrieve desired information, the agronomic assistant apparatus 200 handles the information without sending it back to the prediction device 203.
[0208] Fig. 6b illustrates a message flow diagram for an agronomic assistant apparatus 200 having an access component 204c’.
[0209] Message flow diagram 630 shows a case where agronomical querying data 205', query data 205' and / or a query 205' from a user 250 is assessed by an agronomic assistant apparatus 200, in particular by an agronomic assistant engine 200' inside the agronomic assistant apparatus 200. The agronomic assistant apparatus 200 adds prompting data 209' to the query data 205' and forms a stack 209” of accumulated prompting 209' and query data 205'. This stack 209” of accumulated data may be forwarded to the prediction device 203 which may realize by forming a probability relation with the stack 209” of agronomical querying data that an additional tool 204 and / or additional data from a repository 204 may be necessary in order to form a complete response.
[0210] For retrieving the missing information, the prediction device 203 may send querying instruction data 203' and / or agronomical response data 203” comprising an indication for the chosen tool 204 and / or for the chosen repository 204 to the agronomic assistant engine 200'. The indication may be instructions on how to initiate the tool 204 and / or repository 204 for returning the desired information.
[0211] The agronomic assistant engine 200' may realize that a special authorization procedure may be required in order to access the required data. For example, the required data may comprise Pll data of the user and therefore authentication and / or authorization may be necessary.
[0212] The Pll Tool 204c' or access component 204c' may be used for accessing Pll data. For granting access to the Pll information the user 205 may be authenticated and / or authorized in the agronomic assistant engine 200'. The agronomic assistant engine 200' may have information about access privileges of a user 205 and about ways how a particular tool 204 and / or a particular repository 204 is accessed. The agronomic assistant engine 200' may forward information about the chosen tool 204 and / or about the repository 204 to the access component 204c' of the tool 204, 204c and / or of the repository 204, 204c. Agronomic assistant engine 200' may also invoke the access component 204c' of the tool 204, 204c and / or of the repository 204, 204c.
[0213] The access component 204c' may generate at state 631 a stack 209” of agronomical querying data and / or an historical stack 209” of agronomical querying data with prompting data 209', with repository description data 204' and / or with tool description data 204', e.g. API description data or schema of a database or tool. The description data 204' may be generated to prevent private data and / or PI I data being included in the stack 209” and / or historical stack 209” and is sent towards the prediction device 203. The prevention of private information being sent to the prediction device may increase the security as no private data may be flooded in the prediction device 203.
[0214] By sending the stack 209” and / or historical stack 209” of query data to the prediction device 203 the prediction device 203 may be triggered to generate query data and / or a repository query and / or a repo query for the repository 204 and / or the tool 204. The query data are sent to access component 204c' and by considering the access rights of the user 205 the query is sent to the database component 204c”. The access privilege may be controlled by using access token in order to ensure that only authorized and / or authenticated user 205 may get access to the private information in database component 204c”.
[0215] As shown in Fig. 6b the Pll data of private database 204c” is passed around the prediction device 203 without ingesting private information in the prediction device 203 despite the fact that the prediction device 203 controls the access to the repository 204c. In this way a high security level may be guaranteed for private user data even by using a publicly accessible component such as the prediction device 203. As a prediction device may be time consuming to be trained it may be necessary to use the publicly available prediction device 203. The high amount of trained data makes the prediction device 203 useful for handling general publicly available knowledge, e.g. by leveraging from the fact that prediction device 203 may know a good way of representing a specific type of information in a user accepted way.
[0216] The retrieved private data and / or Pll data and or any derived data may be provided to the user 205 as intended agronomical response data 203'” and / or final answer. The intended agronomical response data 203'” may be formatted in a way that meets the intention of the user 205 for the data.
[0217] Fig. 7a illustrates a block diagram for an agronomical querying system 600.
[0218] The input device 208a may comprise a user interface to receive a digital voice stream generated from the speech of a user. The speech is converted into a text with a speech to text converter. It is also possible to use a translation engine to convert any language into English. It may be possible that a prediction device 203 is trained for words in English language and thus the prediction may be easier if English text is provided. For translating the text, the prediction device may also be used. The prediction device 203 may comprise a generative Al LLM module that is connected with a structured agronomic master data database. This structured agronomic master data database may comprise specific agronomical knowledge which may be added to a prediction device 203 by fine-tuning the prediction device. The data retrieved from the master data database may be used for strategic considerations with regard to an agronomical resource. E.g. the master data database comprises information about how to treat an underperforming field in order to increase the performance. In an example the structured agronomic master data database may anonymously be accessed.
[0219] The prediction device 203 may also comprise a LLM transformer to database (DB) query module.
[0220] The LLM transformer to DB query module may control the access to private data and / or to PI I data. The query module is connected to aggregated agricultural (AG) user and field and AG situation data. The aggregated AG user and field and AG situation data are generated from other data sources 204 and converted in fast searchable format, e.g. Elasticsearch, wherein Elasticsearch may use unstructured data. The aggregated AG user and field and AG situation data may form a meta-database and may comprise data relating to the agronomical resource which is to be monitored and / or to be controlled and the relation of the resource data to the user 205.
[0221] The aggregated AG user and field and AG situation data comprise structured user, farm, field data and may be user specific. In a separate database the aggregated AG user and field and AG situation data may be able to access structured AG model result data and may be user specific. The structured user, farm, field data and structured AG model result data may be stored in separate databases and / or separate storage areas.
[0222] The generative Al LLM module and the LLM transformer to DB query module may use at least partially the agronomical assistant apparatus 200 which may generate requests to the repositories 204 in a looped way by repetitively forming a stack 209” and / or historical stack 209'” of agronomical querying data. Fig. 7a shows that in an example the prediction device 203 may comprise separate prediction devices, e.g. the generative Al LLM module and the LLM transformer to DB query module.
[0223] The agronomical assistant apparatus 200 may return the intended agronomical response data 203'” in text form. However, the prediction device 203 may also suggest an appropriate way for outputting the generated data. Output device 208b may also comprise a rendering engine which uses the prediction device 203 in order to convert the intended agronomical response data 203'” into speech, into a graphical format and / or into natural language.
[0224] Fig. 7b illustrates a logical arrangement of the components of the block diagram of Fig. 7a. Fig. 7a separates user interface, display layer, semantic layer and data layer. The user interface and the display layer may be located in the input device 208a and / or output device 208b. The semantic layer is provided by the prediction device 203 which may comprise a plurality of prediction devices, LLMs, agricultural specific fine-tuned LLMs and / or generative Al devices. The user interface 208a, 208b, e.g. the input device 208a and / or the output device 208b may comprise a PDA (Personal Digital Assistant), a telephone line, a network interface and / or a display.
[0225] The agronomic assistant apparatus 200 may allow for natural language queries in dynamic user specific context using a prediction device 203 that may use an LLM or generative Al (Artificial Intelligence). It may aggregate large textual data pools 204 and allow for natural language queries. In particular publicly available data pools 204 may be used. However, the agronomic assistant apparatus 200 prevent sharing user specific data or Pll data, e.g. user 205 data or farmer 205 data with the prediction device 203, e.g. through a common generative Al bot.
[0226] Therefore, a multilayer architecture used for the agronomic assistant apparatus 200 utilizes generative Al, e.g. provided by the prediction device 203, to build database queries out of natural language questions which are then sent towards a prepared structured database 204, e.g. Elastic Search, in user context without ingesting this data into the Generative Al engine.
[0227] The data will be rendered, and the agronomic assistant apparatus 200, which may be setup to work as an LLM assistant and / or Al assistant, can help to build besides a textual response also tabular or graphical results and show them to the user 205 through an output device 208b, e.g. a frontend Ul (User Interface).
[0228] The LLM model that may be used in the prediction device 203 can be static and may be operated in a private cloud environment. The prediction device 203 and a corresponding Al model may only be updated with growing data model in one of the repositories 204 and / or tools 204, e.g. a field management tool and / or a field management database.
[0229] Data resulting from queries may be fetched dynamically by forming a stack 209”, 209'”. The stack 209”, 209'” may comprise recent information in a user context and thus ensuring data security, privacy of data and data integrity within the agronomic assistant apparatus 200.
[0230] The agronomic assistant apparatus 200 may use the technique of Al training based on a data model specific for an agronomical (AG) solution to transform a user query 205' into explicit data base queries for the provided repositories 204 in user context. The user context may determine authorization to access a repository and / or tool 204.
[0231] The agronomic assistant apparatus 200 may allow for accessing Master Data (MD) services for compliance check of crop protection use and / or seed product use, for retrieving product data and / or product benefits.
[0232] The agronomic assistant apparatus 200 may allow for providing agronomical situational data, e.g. daily updated anonymous regional advices or for providing agronomical regulation data, e.g. for providing monthly updated anonymous governmental rulesets such as nutrition regulations and / or public governmental documents.
[0233] The information gathered by the agronomic assistant apparatus 200 may be processed in a natural language format. In one example in order to provide recommendations, the query structure 204' for the repository 204, e.g. Elastic search, is trained into the prediction device 203 and / or a separate fine-tune module of the prediction device 203. The query structure 204' may be provided with example queries to show how the respective repository 204 may be used. The query structure may also include the structure of a dashboard.
[0234] Geospatial information may allow the user 205 to provide geo queries 205', like "What is the dominant soil in a field?” or "What is the shortest route between high-risk fields”.
[0235] The agronomic assistant apparatus 200 may offer a chatbot endpoint as input device 208a. A chat bot is a text editor that uses text fields in order to build the stack 209”, 209'”. The chat bot takes the user question and chat history 209”, 209”' as input. The question and history are fed into an agent, which in an example may be configured as an LLM with a special prompt 209' asking to decide what to do next, e.g. invoke CFD, call MD, execute a mathematical operation.
[0236] The agent may be realized as a specifically trained and / or fine-tuned part of the prediction device and / or of the agronomic assistant apparatus 200.
[0237] In combination with the agent, the prediction device 203 outputs parseable text 203', 203” which then invokes the corresponding tool 204, e.g. CFD, MD etc.. Depending on the agents output one of the tools 204 is invoked. The text may be parsed.
[0238] In the following a query to the CFD tool may be described. In order to query the CFD tool 204 the querying instruction data 203' and / or the agronomical response data 203” are provided as a multi-step chain.
[0239] In a first step a check for historical data 209”, 209'” is made. If history 209”, 209”' was provided the agronomic assistant apparatus 200 invokes an LLM, e.g. the prediction device 203, for condensing the history, which may comprise the human question 205' and Al answer 209” pairs and the new question into a single question 209'”.
[0240] In a second step the condensed history 209'” is forwarded to a vector store of embeddings of chunks of the CFD schema 204' to retrieve relevant parts of the schema.
[0241] In a third step, the prediction device 203 , e.g. an LLM, is invoked with the historical stack 209”' comprising question, history and relevant schema parts 204' to produce a query 203' for the repository 204, e.g. an Elasticsearch query in JSON.
[0242] In a fourth step the tool 204, e.g. the CFD, is invoked with the query 203' and some additional information is generated. In a fifth step, the newly gathered information from the tool 203, e.g. the CFD, is added to a new historical stack 209'”. This historical stack 209'” then may comprise the question, history, relevant schema parts, Elasticsearch query and Elasticsearch response and the historical stack 209'” is forwarded to the prediction device 203 to produce the answer to the user's question 205'.
[0243] In order to use a Master Data (MD) tool 204, the description data 204' of the tool is provided to the prediction device 203. The MD tool 204 may have description data in the OpenAPI format.
[0244] Thus, in order to use the MD tool 204, the OpenAPI specification of the MD tool is used as context for the prediction device 203 to make it very likely that the prediction device 203 generates REST calls 203' to the MD tool endpoints. The endpoints may be one or more address(es) for reaching the respective endpoint.
[0245] For using a tool 204 like a math tool 204a the querying instruction data 203' may comprise an instruction to invoke the math tool 204a with numerical parameters to perform mathematical calculations. In this way the math toll may add the mathematical functionality to the prediction device. The prediction device 203 may not be able to execute mathematical operations out of the box.
[0246] The agronomic assistant apparatus 200 might chain calls, e.g. the querying instruction data 203' to different tools 204 and / or repositories 204 to arrive at the final answer. The querying instruction data 203' may comprise instructions to first fetch data from CFD, then join it with MD data and perform calculations on top using the math toll 204a.
[0247] If the agronomic assistant apparatus 200 decides that the question 205' has been answered successfully it stops and returns the answer 203'”. For the decision that the question 205' has been answered an end condition may be verified that may have been defined by the agronomic assistant apparatus 200 before.
[0248] The prediction device 203 may be trained to know that when it receives a question about the most efficient fields the prediction device 203 can go to another repository 204, e.g. master data (MD) and retrieve the strategy how an efficient field is determined. The prediction device 203 may be adapted to disassemble this strategy in single steps and / or sub-problems for querying instruction data 203'. The prediction device 203 may be further adapted to realize that it needs to get PI I data to find out what the fields of a user 205 are. In order to find the right order, the prediction device 203 may recognize that it is unable to make a calculation and it will need a math tool 204a that help to evaluate the efficiency of a field.
[0249] In the following a prediction device 203 may be described. A prediction device may comprise a plurality of layers. The prediction device may receive a stack 209” of agronomical querying data and / or a historical stack 209'” of agronomical querying data and forwards the stack 209” and the historical stack 209” to an embedding layer of the prediction device 203. The stack 209” of agronomical querying data and / or the historical stack 209'” of agronomical querying data may be converted in an input vector 806.
[0250] The agronomical response data 203” may be provided as an output vector 816.
[0251] FIG. 8 illustrates an embodiment of obtaining an embedding layer. The embedding layer may be obtained by training for example a continuous bag of words model (CBOW) or a skip-gram model. The embedding layer may be suitable for generating embedded input data based on input data. Generating embedded input data may refer to embedding input data. Embedding input data may result in a representation associated with the input data.
[0252] Thus, the embedded input 814 may be the representation associated with the input data.
[0253] The input data may comprise a one or more elements. The one or more elements may be represented by the input vector 806. In particular, the embedded input 814 and / or the input vector 806 may be machine- readable and / or processable by a processor. For this purpose, the embedded embedded input 814 and / or the input vector 806 may be a tensor, in particular a first-rank tensor. Specifically, the input vector 806 may be a one hot vector or a summation of a plurality of one hot vectors. A one hot vector may be a vector with one entry unequal to zero. Examples for one hot vectors may be 808, 810 and 812. The entries unequal to zero in the one hot vector and / or in the input vector 806 may indicate the element. For example, a look up table may define the relation between the position of the entries unequal to zero and the element indicated by the one hot vector. The look up table may specify a plurality of different elements. The number of different elements may be equal to the number of entries in the one hot vector. The number of different elements may be referred to as vocabulary size. In an example, the elements may be represented by tokens and a sequence of elements may refer to at least a part of a sentence. The at least a part of the sentence may be represented by a plurality of tokens. A token may represent at least a part of the element and / or word. For example, where one element would be associated with only one word, words such as "embeddings", "embedding” or "embed” would constitute different elements. A first token may represent the stem "embed” and the endings, typically appearing in a plurality of word, may be represented by a second token, a third token and a fourth token. The second token, the third token and the fourth token may be used for representing other words such as "look”, "looking” or the like, preferably together with a fifth token representing the stem "look”. Ultimately, this tokenization of elements associated with a plurality of stems and a plurality of endings results in less tokens to be used for representing a plurality of elements and thus, uses less computational resources.
[0254] A look up table specifying a subset of the vocabulary size eg of the English language may comprise 10,000 words or more. The embedded input 814 may be a lower-dimensional representation than the input vector 806. For example, typical embedded inputs 814 may comprise some hundreds of different entries. Followingly, the embedded inputs 814 constitute a densified representation of one or more elements using less computational resources. More than that, the embedded input 814 may represent a relation between two or more elements. For example, the words "Italy” and "Germany” may be similar or may be more closely related since they both define European countries, whereas the word "embodiment” may be very different from the two respective words. The smaller the dot product between two embedded inputs 814 may be the more similar the two elements associated with the embedded inputs 814 may be. Hence, the embedded inputs 814 may represent one or more elements accurately and lead to accurate results based on processing the embedded inputs 814.
[0255] For transforming the input vector 806 into the embedded input 814, the embedding layer may comprise a number of neurons equal to the number of entries in the embedded input 814. Based on the embedded inputs 814, the output layer may generate the output vector 816. The output vector may be a vector and / or may indicate one or more elements. The output vector 816 may indicate one or more elements different from the input vector 806 and / or the one hot vectors associated with the input vector 806. For this purpose, the output layer may comprise a number of neurons equal to the number of entries of the input vector 806 and / or the output vector 816. The output layer may apply a softmax function to the embedded inputs 814. By doing so, the output vector may comprise the probabilities associated with the elements associated with the entries of the output vector 816 unequal to zero. Hence, from the output vector 816 one or more elements may be obtained with a corresponding probability. Where the input vector 806 may specify one or more sequence(s) of elements, the output vector 816 may specify one or more elements corresponding to the sequence(s) of elements specified by the input vector 806. In the example of FIG. 8, the element associated with vector 818 may correspond to the input vector with a probability of 71 %. Additional or alternative elements may correspond to the input vector as indicated by the output vector with lower probability. By defining a threshold to which the probability may be compared, the selection of the corresponding elements may be tailored to the needs of the user. The elements generated by the model comprising the embedding layer 802 and the output layer 804 may refer to the most probable elements indicated by the output vector 816. Hence, the model depicted in FIG. 8 may generate the element associated with the vector 818 with a confidence score of 71 %.
[0256] The model of FIG. 8 may be continuous bag of words (CBOW) model. The CBOW model may be trained based on a training data set comprising a plurality of input vectors and corresponding output vectors. As the training data set may not be labeled, the training of the CBOW model may be referred to as self-supervised. Before training of the CBOW model, the CBOW model may be initialized with random values assigned to the weights of the neurons. During the training of the CBOW model, the input vectors may be passed through the initialized embedding layer and the output layer and a loss may be determined by comparing the output vector obtained by passing the input vector 806 through the model to the output vector corresponding to the input vector 806 as specified by the training data set. Based on the determined loss, backpropagation may be applied to determine the gradients associated with the neurons of the embedding layer 802 and the output layer 804 to lower the loss. According to the determined gradients, the weights of the neurons may be updated by using a gradient descent algorithm. If a predetermined loss may be achieved by the CBOW model, the training may be terminated and a trained CBOW model may be obtained. From the trained CBOW model, the embedding layer 802 may be suitable for embedding input data comprising one or more elements. This embedding layer 802 may be used in other machine-learning architectures requiring an embedding layer 802 such as a transformer encoder, transformer decoder or transformer encoder decoder architecture as described within the context of FIG. 9A, FIG. 9B and FIG. 9C. For training these architectures, a trained embedding layer 802 may be required. Hence, a model such as a CBOW model may be trained prior to training the transformer encoder, transformer decoder or transformer encoder decoder architecture.
[0257] FIG. 9A illustrates an embodiment of a transformer encoder architecture. The transformer encoder comprises an encoder input 978, one or more encoder blocks 974, 914 and an encoder output. The transformer encoder architecture may be derived from the transformer encoder-decoder architecture as known in the art and shown in FIG. 9C. In particular, the transformer encoder may be referred to as X-former. The transformer encoder architecture may correspond to the encoder architecture associated with the transformer encoder-decoder architecture with an additional encoder output instead of connecting the encoder block directly to the decoder of the transformer encoder-decoder architecture. A plurality of transformer encoder architectures are available in the art such as the bi-directional encoder representations from transformers (BERT).
[0258] The input data may be received at the encoder input 978. The input data may be contextualized chemical product data. The encoder input 978 may apply an input embedding 902. Applying the input embedding 902 may refer to passing the input data through an embedding layer e.g. as described within the context of FIG. 8. Applying the input embedding 902 to the contextualized chemical product data may result in embedded contextualized chemical product data.
[0259] The encoder input 978 may apply positional encoding 904. Applying positional encoding 904 may refer to adding a positional factor to the embedded input obtained via input embedding. Preferably, the input data may specify a sequence of elements. The positional factor pposmay be indicative of the position of the elements within the sequence. For example, the positional factor pposmay be obtained based on the following equation: where pos may refer to the position of the element within the sequence, I may refer to the dimension associated with the input embedding and d may refer to the dimension of the model, e.g. transformer decoder, transformer encoder or transformer encoder-decoder. This may be referred to as absolute positional embeddings. Alternatively, the positional encoding may be based on rotary positional embeddings (RoPE). Positional encoding is beneficial since it enables the processing of sequential data without requiring further dimensions indicating the position of each element. Followingly, the positional encoding 904 reduces the computational resources needed for embedding the input data. By passing the input data through the encoder input, the input data may be transformed into a second-rank tensor representing the sequence of elements. This second-rank tensor may be referred to as embedded input data. The embedded input data may be processed by the encoder block. The embedded input data may be provided to the layer normalization 908 by a residual connection. Multi-head self attention 906 may be applied to the embedded input data. Multi-head self attention 906 may comprise the two components multi-head and self-attention. Self-attention may be understood as being a filter applied to the embedded input data. By applying the filter to the embedded input data, the elements associated with the embedded input data contributing to the to be generated output data may be identified for generating the output data. Hence, the filter may represent the degree of contributing to the to be generated output data by the elements associated with the embedded input data.
[0260] Applying the filter may be referred to as weighting the elements associated with the embedded input data. This is advantageous specifically regarding long sequences of elements. The filter may be learned and improved during the training by learning to identify the contribution of elements associated with the embedded input data. For example, in the partial sentence "I went to the bakery to buy a” the last word may be generated by the data-driven model such as the transformer encoder. The self attention may focus the transformer encoder to attend to the word "bakery” and "buy” mostly to generate the word "bread”. Self attention may refer to attention generated based on the input data. Hence, the filter may be determined based on the input data, preferably the embedded input data. The embedded input data may serve as query Q, key K and value V with respect to the self attention operation. The self attention may refer to attention based on the received input data. Hence, the filter may be calculated based on the following formula by inserting the respective tensors based on the embedded input data: corresponds to the dimension of the key.
[0261] For improving the efficiency of the transformer encoder further, the multiple heads are used to apply the filter resulting in the multi-head self attention 906. Multi-head self attention 906 may comprise applying the filter to two or more parts of the embedded input data. Hence, the tensor may be split into two or more parts and the filter may be applied to the two or more parts separately by two or more heads according to the following equation:head i =Attention (QWiQ, KW , VT j) with parameter matrices may refer to the number of heads, dv, d and dQ may refer to the dimensions of the value, key and query. The result of the two or more head may be concatenated according to the following equation: e -^hdvd and h may refer to the number of heads.
[0262] The embedded input data may be transformed via the multi-head self attention 906 into a context tensor. The context tensor may represent the sequence of elements and the relation between two or more elements of the input data. Transforming the embedded contextualized chemical product data may result in chemical product and environmental attribute data context tensor 622. Transforming the embedded contextualized chemical product data may result in chemical product data context tensor 620. Hence, the context tensor may be chemical product data context tensor 620 and / or chemical product and environmental attribute data context tensor 622. The context tensor may be a second rank tensor and / or may comprise one or more first rank tensor(s). After the multi-head self attention 906 layer normalization 908 may be applied based on the context tensor and / or the embedded input data from the residual connection. Applying layer normalization 908 may refer to normalizing the context tensor. Normalizing the context tensor may lower the values of the entries of the context tensor. This reduces the computational cost associated with processing the context tensor. Layer normalization 908 may be followed by passing the context tensor to a feed forward layer 910 again followed by layer normalization 912 based on the residual connection to the context tensor and / or the output of the feed forward layer 910. The feed forward layer 910 may be a feed-forward neural network. The feed-forward neural network may comprise of a plurality of fully connected neurons.
[0263] Passing the context tensor through the feed-forward neural network may result in transforming the context tensor linearly. Additionally or alternatively, the neural network may comprise one or more activation functions such as a rectified linear unit (ReLU).
[0264] Hence, the neural network may be configured for performing one or more non-linear operations to the context tensor and / or transforming the context tensor non-li nearly . After the context tensor has been transformed and / or normalized by the feed forward layer 910 and the layer normalization 912, the context tensor may be provided to one or more further encoder blocks 914. Having passed the context tensor through the feed forward layer 910 may adapt the context tensor for the processing by a further attention layer of the one or more further encoder blocks 914 for applying a self attention filter, preferably multi-head self attention 906. The context vector after being transformed by the layer normalization 912 and the feed forward layer 910 may be referred to as hidden state.
[0265] The encoder output 976 comprises of a linear layer 916 and a softmax layer 918. The linear layer 916 may transform the context vector into a logits vector. The linear layer may be fully-connected. The logits vector obtained by passing the context tensor through the linear layer 916 may be passed through the softmax layer 918. Passing the logits vector through the softmax layer 918 may refer to applying the softmax function to the logits vector. Applying the softmax function to the logits vector may result in a probability distribution of one or more elements corresponding to the sequence of elements in the input data. From the probability distribution based on predefined selection criteria, one or more elements may be chosen. The one or more chosen elements may be referred to as the one or more elements generated by the transformer encoder. The one or more generated elements may be provided to the encoder input for generating further one or more elements corresponding to the sequence of the input data and the one or more elements generated by the transformer encoder as described within the context of FIG. 10.
[0266] The output data from the encoder output 976 may be chemical product production and / or processing data. Hence, the result of transforming the chemical product data context tensor 620 may be chemical product production and / or processing data.
[0267] FIG. 9B illustrates an embodiment of a transformer decoder architecture. Input data, embedded input data, context tensor and / or output data may be as defined within the context of FIG. 9A.
[0268] The transformer decoder comprises a decoder input 984, one or more decoder blocks 980, 932 and a decoder output 992. The transformer decoder architecture may be derived from the transformer encoder-decoder architecture as known in the art and shown in FIG. 9C. The transformer decoder may be referred to as X- former. The transformer decoder architecture may correspond to the decoder architecture associated with the transformer encoder-decoder architecture independent of receiving one or more hidden states from the encoder of the transformer encoder-decoder. A plurality of transformer decoder architectures are available in the art such as the generalized pretrained transformers (GPT).
[0269] The decoder input 984 may apply input embedding 920 and positional encoding 922 analogous to analogous to the input embedding 902 and the positional encoding 904 as described within the context of FIG. 9A.
[0270] The decoder block 980 may comprise the layer normalizations 926, the masked multi-head self attention 924, the feed forward layers 928 and / or the layer normalization 930. The embedded input data resulting from passing the input data through the decoder input 984 may be provided to the layer normalization 926 via a residual connection. Further, masked multi-head self attention 924 may be applied to the embedded input data. Masked multi-head self attention 924 corresponds to the multi-head self attention 906 as described within the context of FIG. 9A with additionally masking a part of the embedded input data associated with elements later in the sequence than the element to be generated.
[0271] Additionally or alternatively, the part of the input data associated with elements later in the sequence than the element to be generated may not be received and / or transformed into the embedded input data. Thus, the transformer decoder may be suitable for generating a subsequent element to a sequence, whereas the transformer encoder may be suitable for generating a missing element in within one sequence and / or between two or more sequences. Therefore, the transformer encoder may be configured for classification tasks.
[0272] The transformer decoder may be configured for text generation.
[0273] Similar to the transformer encoder as described within the context of FIG. 9A, a context tensor may be generated by applying the masked multi-head self attention 924 and the layer normalization 926. The context tensor may be provided to the layer normalization 930 via a residual connection. Further, the feed forward layer 928 and the layer normalization 930 may be analogous to the feed forward layer 910 and the layer normalization 912 as described within the context of FIG. 9A. The context tensor may be provided to one or more further decoder blocks 932.
[0274] The decoder output 992 may comprise of a linear layer 934 and a softmax layer 936. The linear layer 934 and the softmax layer 936 may be analogous to the linear layer 916 and the softmax layer 918 as described within the context of FIG. 9A.
[0275] FIG. 9C illustrates an embodiment of a transformer encoder-decoder architecture. Input data, embedded input data, context tensor and / or output data may be as defined within the context of FIG. 9A.
[0276] The transformer encoder-decoder may comprise the encoder input 988, the one or more encoder blocks 986, 964, the decoder input 994, the decoder block 990 and the decoder output 992. The encoder input 988 may correspond to the encoder input 978 of FIG. 9A.
[0277] The one or more encoder block 986, 964 may correspond to the one or more encoder blocks 974, 914 of FIG. 9A. The decoder input 994 may correspond to the decoder input 984 of FIG. 9B.
[0278] The decoder block 990 may comprise a masked multi-head self attention 970, a layer normalization 972, a feed forward layer 938 and a layer normalization 940 analogous to the masked multi-head self attention 924, the layer normalization 926, the feed forward layer 928 and the layer normalization 930 as described within the context of FIG. 9B. The decoder block 990 may further comprise a multi-head self attention 950 and a layer normalization 948. Analogous to the description of FIG. 9B, the context tensor may be obtained from the masked multi-head self attention 970 and the layer normalization 972.
[0279] Multi-head self attention 950 analogous to the multi-head self attention 906 of FIG. 9A may be applied to the context vector obtained from the layer normalization 972 and the hidden states of the one or more encoder blocks 986, 964. Layer normalization 948 may be applied to the context vector obtained from the multi-head self attention 950 and the context vector obtained from the layer normalization 972 provided via a residual connection. The context vector resulting from the layer normalization 948 may be processed via the feed forward layer 938 and the layer normalization 940 analogous to the description of FIG. 9B. The context vector resulting from the layer normalization 940 may be provided to further decoder blocks 942 analogous to the decoder block 990. The context vector obtained from the one or more decoder blocks 990, 942 may be provided to the decoder output 992. The decoder output 992 may correspond to the decoder output 982 of FIG. 9B.
[0280] With the above-described architecture, the transformer encoder-decoder may receive and process input data at the encoder input 988 and the one or more encoder blocks 986, 964 and the decoder block 990 and the decoder output 992. Based on the input data, the transformer encoder-decoder may generate output data part by part or sequentially. The sequentially generated output data may be provided to and / or may be processed by the decoder input 994, the one or more decoder blocks 990, 942 and the decoder output 992.
[0281] Preferably, a sequence may be provided to the encoder input 988 and after having generated at least a part of the output data, the decoder input 994 may be provided with at least the part of the elements of the output data already generated. By doing so, the next elements of the output data may be generated with a higher accuracy by taking the input data and the generated output data into account since more data is received by the transformer encoder-decoder may be received over time.
[0282] Because of the transformer encoder-decoder architecture, the transformer encoder-decoder may be configured for transforming a sequence into another representation of the sequence. An example for transforming one sequence into another representation may be translation of one sentence into another language. A plurality of transformer encoder-decoders are available in the art such as BART, T5 or the like.
[0283] In an embodiment, the layer normalization 908, 912 may be applied prior to the masked multi-head self attention 924, multi-head self attention 906 and / or the feed forward layer 910 in the transformer decoder, the transformer encoder and / or the transformer encoder-decoder. By doing so, the computational resources for applying the multi-head self attention 906 and / or the feed forward layer 910 to the embedded input data and / or the context tensor may be decreased as the entries of the respective tensors may be lower after normalization.
[0284] In an embodiment, the decoder output 992 may comprise of a classification neural network, further feedforward layers, convolutional layers, fully connected layers or the like. For example, the transformer encoder-decoder may be configured for choosing between a plurality of options. For this purpose, the transformer encoder-decoder may be provided with three different input data sets and may classify the context vectors obtained from the one or more decoder blocks 990 via one or more linear layers. Followingly, the architecture may be extended depending on the use case to be solved. FIG. 10 illustrates an embodiment of training and / or deploying the transformer encoder, the transformer decoder and / or the transformer encoder-decoder.
[0285] The encoder / decoder / encoder-decoder architecture 1002 may correspond to the transformer decoder, the transformer encoder and / or the transformer encoder-decoder as describe within the context of FIG. 9A- FIG. 9C. Input data, embedded input data, context tensor and / or output data may be as defined within the context of FIG. 9A.
[0286] The output data generated by the encoder / decoder / encoder-decoder architecture 1002 may comprise of one or more elements, in particular a sequence of elements. The previously generated elements of the output data may be provided as input for generating the next element in the sequence of the output data.
[0287] In the example of FIG. 10, the input data may comprise of N elements, in particular input tokens. An input token may be a token dedicated to be inputted into a data-driven model such as the transformer decoder, the transformer encoder or the transformer encoder-decoder. The output data to be generated may comprise of M elements. The encoder / decoder / encoder-decoder architecture 1002 may generate one element of the output data based on receiving the input data and optionally previously generated elements of the output data at a timestep. Hence, for generating M elements M time steps are required. A time step comprises of providing input 1010, 1012, 1014 to the encoder / decoder / encoder-decoder architecture 1002 and receiving output data 1004, 1008, 1006 from the encoder / decoder / encoder-decoder architecture 1002. In a first timestep, the input 1010 may comprise of N input tokens. The N input tokens may be associated eg with N words, stems or endings. Preferably, the N input tokens may specify a question. One or more input tokens may specify the beginning of the sequence of tokens and / or the end of the sequence of tokens. The input 1010 may be processed by the encoder / decoder / encoder-decoder architecture 1002. Based on the input 1010 at least a part of the output data 1004 may be generated. The at least a part of the output data may comprise a first output token. In the next timestep, the generated first output token may be provided together with the input 1012. Specifically, where the input 1012 may be received by a transformer encoder-decoder the input tokens may be received at the encoder input 988 and the first output token may be received at the decoder input 994. Where the input 1012 may be received by the transformer encoder, the input 1012 may be received by the encoder input 978 and analogously regarding the transformer decoder and the decoder input 984. Based on the input 1012, the output data 1008 comprising the first output token and a second output token may be generated. Generating the output data 1008 based on the input 1012 may refer to generating the second token based on the first token and the N input tokens, wherein the first token may have been generated based on the N input tokens. This process may be repeated until the last token in the sequence of the output data 1006 may be generated. Preferably, the last token may be an end token. The end token may terminate the generation of a further output token. Similarly, to the data processing during deployment of the encoder / decoder / encoder-decoder architecture 1002, the encoder / decoder / encoder-decoder architecture 1002 may be trained. The training data set may comprise a plurality of sequences comprising a plurality of elements. The sequences may be associated with the input data and / or the output data. Additionally or alternatively, the sequences may be independent of the input data and / or the output data. For example, where the input data and the output data may refer to chemical compositions represented via text, the training data set may comprise sequential text data independent of chemical compositions. In this example, the training data set may comprise sequences of words originating from a conversation. In an embodiment, the training data set may comprise at least partially input data sets and / or output data sets.
[0288] The training may be initialized by initializing the encoder / decoder / encoder-decoder architecture 1002. In an embodiment, the parameters associated with the encoder / decoder / encoder-decoder architecture 1002 may be initialized randomly.
[0289] Additionally or alternatively, the input embedding of the encoder / decoder / encoder-decoder architecture 1002 may be obtained by training a CBOW model or a skip gram model as described within the context of FIG. 8. The trained embedding layer may be used during training. The parameters associated with the embedding layer may be kept constant and / or may be updated after a predefined number of training epochs. By doing so, the number of parameters to be updated is lower enabling a faster and less computational resources- consuming training. Further, the accuracy associated with the embedding layer may be constant and / or may be increased by avoiding error compensation in relation to the just initialized encoder / decoder / encoder- decoder architecture 1002.
[0290] During the training of the encoder / decoder / encoder-decoder architecture 1002, at least a part of the sequences of the training data set may be provided to the encoder / decoder / encoder-decoder architecture 1002 one by another and one or more elements may be generated based on the sequences of the training data set one by another. The elements generated based on the sequences may follow the elements of the parts of sequences the encoder / decoder / encoder-decoder architecture 1002 may have been provided with. The generated one or more elements may be compared to the one or more elements following the at least a part of the sequences provided to the encoder / decoder / encoder-decoder architecture 1002 as specified by the training data set.
[0291] Hence, during the training the encoder / decoder / encoder-decoder architecture 1002 may generate a guess on the next element and the guess on the next element in a sequence may be compared to the ground truth specifying the actual next element according to the training data set. Based on the guess on the next element and the ground truth a loss may be determined. The loss may define the similarity between the guess on the next element and the ground truth. The loss may be determined by forming a vector dot product between the token associated with the one or more elements and the token associated with the ground truth. A loss unequal to zero may result in updating the parameters associated with encoder / decoder / encoder-decoder architecture 1002. Preferably the parameters associated with the encoder / decoder / encoder-decoder architecture 1002 may be independent of the embedding layer. For example, the parameters associated with the encoder / decoder / encoder-decoder architecture 1002 may be weights of the neurons of the encoder / decoder / encoder-decoder architecture 1002.
[0292] Based on the determined loss, backpropagation may be applied to determine the gradients associated with the parameters of the parameters associated with encoder / decoder / encoder-decoder architecture 1002 to lower the loss. According to the determined gradients, the parameters associated with the encoder / decoder / encoder-decoder architecture 1002, preferably the weights of the neurons associated with the encoder / decoder / encoder-decoder architecture 1002, may be updated by using a gradient descent algorithm.
[0293] The training data set may be unlabeled. The sequences of elements within the training data set may inherently comprise the ground truth for determining the loss with respect to the one or more elements generated during the training of the encoder / decoder / encoder-decoder architecture 1002. Hence, the encoder / decoder / encoder- decoder architecture 1002 may be trained self-supervised. This is advantageous since time and resources for creating a labeled training data set may be saved. Furthermore, this enables the usage of large training data sets associated with a size of several tera bytes. Consequently, the data-driven model may be accurate in generating elements of a sequence. In addition, the large training data set enables few shot predictions or even zero shot predictions. Hence, the data-driven models trained as described above are versatile contributing to saving resources needed for training and / or hosting a plurality of purpose-driven models such as CNNs. The training described above may be referred to as pretraining. The data-driven model may be configured for performing few shot or even zero shot predictions with respect to a plurality of use cases after pretraining. The performance of the data-driven model may be increased further by additional training referred to as finetuning.
[0294] FIG. 11 illustrates an embodiment of input embedding. Input data, embedded input data, context tensor and / or output data may be as defined within the context of FIG. 9A.
[0295] Where the sequence of elements associated with the input data, preferably comprised in the input data, may be of one type, the input embedding 902, 920, 952, 966 as described within the context of FIG. 9A - 2C may be used. For example, a type of input data may be text where the elements may be associated with at least a part of a word, a punctuation character, a start token specifying the beginning of one or more sequences associated with the input data and / or the end token. In another example, the input data may be at least partially numerical. Hence, the input data may comprise a plurality of numbers. Numerical input data may be for example tabular data. Tabular data may specify one or more rows and / or one or more columns. Hence, the tabular data may comprise one or more cells, wherein the cells may be associated with one or more numerical values. Numerical input data may require a different embedding than text input data. Input embeddings for numerical input data may comprise a token embedding, a positional embedding, a column embedding, a row embedding or a combination thereof.
[0296] Applying a token embedding to one or more elements, in particular tokens associated with the input data may result in a machine-processable representation associated with the one or more elements, in particular tokens. Applying the token embedding to one or more elements may refer to passing the one or more elements through the embedding layer, e.g. as described within the context of FIG. 8. Hence, token embeddings may specify the one or more elements, in particular tokens in a machine-processable representation. For example, the token embedding may transform a numerical value into a vector. This is advantageous since this representation can be enriched by further information such as the position of the token within the sequence and / or within a table associated with the sequence of tokens. The positional embedding may be analogous to the positional embedding as described within the context of FIG. 8, FIG. 9A- 9C. Where the input data may be tabular data, column embedding may be applied. Applying a column embedding to one or more elements, in particular tokens associated with the input data may result in a machine-processable representation specifying the location of the one or more elements within a table 1102, preferably within the columns of the table 1102. Applying the column embedding may refer to adding a column factor to the input data embedded via token embeddings, in particular the embedded input data. The column factor may be the same for elements associated with the same column and / or may differ between two or more elements associated with different columns. Analogous, row embeddings may be applied where the input data may be tabular data. Applying a row embedding to one or more elements, in particular tokens associated with the input data may result in a machine-processable representation specifying the location of the one or more elements within a table 1102, preferably within the rows of the table 1102. Applying the row embedding may refer to adding a column factor to the input data embedded via token embeddings, in particular the embedded input data. The row factor may be the same for elements associated with the same row and / or may differ between two or more elements associated with different rows.
[0297] In an embodiment, input data may be at least partially numerical and at least partially text. Hence, the input data may comprise two or more types of data. A type of data may refer to a modality. Followingly, different embeddings may be applied to the input data. To parts of the input data comprising text the input embedding referred to in FIG. 8, FIG. 9A-9C may be applied. To parts of the input data being numerical token embeddings, positional embeddings, column embeddings and row embeddings may be applied. Further, segment embeddings may be applied to the input data independent of the type of input data. The segment embedding may specify the type of input data one or more elements may be associated to. For example, if the input data comprises of text and numbers, the input data may comprise of two types of input data. Applying the segment embedding to the input data may refer to adding a segment factor to the input data, preferably the embedded input data and / or the input data after having applied the token embedding. The segment factor may specify the type of data associated with the one or more elements. The segment factor may be the same for one or more elements associated with the same type of input data and / or may differ between two or more elements associated with different types of input data.
[0298] Applying the token embedding, the positional embedding, the segment embedding, the column embedding, the row embedding or a combination thereof may result in embedded input data and / or may be the output of any one of the encoder input 978, 984, 988 or decoder input 984, 994. The data obtained by applying the token embedding, the positional embedding, the segment embedding, the column embedding, the row embedding or a combination thereof may be processed by the encoder block 974, 986, decoder block 980, 990, encoder output 976, decoder output 992, 982.
[0299] The present disclosure has been described in conjunction with preferred embodiments and examples as well. However, other variations can be understood and effected by those persons skilled in the art and practicing the claimed invention, from the studies of the drawings, this disclosure and the claims.
[0300] Any steps presented herein can be performed in any order. The methods disclosed herein are not limited to a specific order of these steps. It is also not required that the different steps are performed at a certain place or in a certain computing node of a distributed system, i.e. each of the steps may be performed at different computing nodes using different equipment / data processing.
[0301] As used herein ..determining" also includes ..initiating or causing to determine", "generating" also includes ..initiating and / or causing to generate" and "providing” also includes "initiating or causing to determine, generate, select, send and / or receive”. "Initiating or causing to perform an action” includes any processing signal that triggers a computing node or device to perform the respective action.
[0302] In the claims as well as in the description the word “comprising” or “including” or similar wording does not exclude other elements or steps and shall not be construed limiting to the elements or steps lined out. The indefinite article “a” or “an” does not exclude a plurality. A single element or other unit may fulfill the functions of several entities or items recited in the claims. The mere fact that certain measures are recited in the mutual different dependent claims does not indicate that a combination of these measures cannot be used in an advantageous implementation or further elements may be included.
[0303] Providing in the scope of this disclosure may include any interface configured to provide data. This may include an application programming interface, a human-machine interface such as a display and / or a software module interface. Providing may include communication of data or submission of data to the interface, in particular display to a user or use of the data by the receiving entity. Any disclosure and embodiments described herein relate to methods, systems, apparatuses, devices, chemicals, materials, computer program elements lined out above and vice versa.
[0304] Advantageously, the benefits provided by any of the embodiments and examples equally apply to all other embodiments and examples and vice versa.
[0305] All terms and definitions used herein are understood broadly and have their general meaning.
[0306] REFERENCE NUMERALS
[0307] 200 agronomic assistant apparatus
[0308] 200' agronomic assistant engine
[0309] 203 prediction device;
[0310] 203' querying instruction data
[0311] 203” agronomical response data
[0312] 203a”,
[0313] 203b”,
[0314] 203c” example agronomical response data
[0315] 203'” intended agronomical response data
[0316] 204 repository and / or tool
[0317] 204a math tool
[0318] 204b, 204c repository
[0319] 204' repository description data and / or tool description data
[0320] 204c' access component
[0321] 204c” database component
[0322] 205 user
[0323] 205' agronomical querying data
[0324] 205” access rule set
[0325] 205'” encoded user identifier;
[0326] 205”” user specific data associated with an agronomic resource;
[0327] 206 repository management device;
[0328] 207 request
[0329] 208a input device
[0330] 208b output device
[0331] 209 stacking device
[0332] 209' prompting data
[0333] 209” stack of agronomical querying data
[0334] 209'” historical stack of agronomical querying data
[0335] 210 prediction device connecting device
[0336] 301 schematic path for providing PI I data
[0337] 302 schematic path for description data and result data
[0338] 303 schematic path for a fine-tuned model
[0339] 600 agronomical querying system
[0340] 610 message flow diagram for direct response
[0341] 620 message flow diagram for tool / repository involvement
[0342] 631 state
Claims
Claims:1 . Method for controlling and / or monitoring an agronomical resource, comprising: receiving, in an agronomical assistant apparatus (200), agronomical querying data (205') associated with an agronomical query from a user (205); forming a stack (209”) of agronomical querying data by enhancing the agronomical querying data (205') with prompting data (209'); wherein the prompting data (209') comprise an indication for intended agronomical response data and / or intended answer (203'”) in response to the agronomical querying data (205'); forwarding the stack (209”) of agronomical querying data to a prediction device (203) for generating agronomical response data (203”) linked to the stack (209') of agronomical querying data by a predefined probability relation; receiving the agronomical response data (203”) from the prediction device (203); checking the received agronomical response data (203”); if the received agronomical response data (203”) comprise querying instruction data (203') for at least one tool and / or for at least one repository (204); invoking the at least one tool and / or the at least one repository (204); and executing the querying instruction data (203', 207) on the at least one tool and / or on the at least one repository (204); providing intended agronomical response data (203'”); wherein the intended agronomical response data (203'”) include the agronomical response data (203”); and / or the result of executing the querying instruction data (203') on the at least one tool and / or on the at least one repository (204).
2. Method of claim 1 , wherein executing the querying instruction data (203', 207) on the at least one tool and / or on the at least one repository (204); comprises forming an historical stack (209'”) of agronomical querying data by enhancing the stack (209”) of agronomical querying data with the result of executing the querying instruction data (203') on the at least one tool and / or on the at least one repository (204); forwarding the historical stack (209'”) of agronomical querying data to the prediction device (203) for generating the agronomical response data (203”).
3. Method of claim 1 or 2, wherein forming the stack (209”) and / or forming the historical stack (209'”) of agronomical querying data comprises; enhancing the agronomical querying data (205') and / or the stack (209”) of agronomical querying datawith description data (204') of the at least one tool (204) and / or of the at least one repository (204)4. Method of one of claims 1 to 3, wherein the prediction device (203) is a prediction device (203) adapted for agronomical querying data (205').
5. Method of one of claims 1 to 4, wherein the prediction device (203) is a Large Language Model, a set of Large Language Models and / or wherein the predefined probability is a temperature of the Large Language Model.
6. Method of one of claims 1 to 5, wherein the stack (209”) of agronomical querying data comprise a request for an indication of complete querying instructions.
7. Method of one of claims 1 to 6, wherein the at least one tool and / or on the at least one repository is adapted to provide at least one functionality and / or at least one information unit selected from the group of functionalities and / or information units, including: structured information; unstructured information; public information; private information; a geospatial information; map data; sensor data; domain specific information; agronomic knowledge; regulation information; mathematical functionality; yield price retrieving functionality; encyclopedic functionality (Wikipedia, SPARQL); and shipping allocation functionality.
8. Method of one of claims 1 to 7, wherein the stack (209”) of agronomical querying data and / or the history stack (209'”) of agronomical querying data comprises prompting data (209'), description data (204'), and / or a result of executing the querying instruction data (203') on the at least one tool and / or onthe at least one repository (204);9. Method of one of claims 1 to 8, further comprising: converting intended agronomical response data (203'”) and / or agronomical response data (203”) into control data, monitoring data, management data and / or into map data.
10. Method of one of claims 1 to 9, where the intended agronomical response data (203'”) comprise an indication for a display format, an indication for a tabular representation, an indication for a textual and / or an indication for a graphical representation.
11. Method of one of claims 1 to 10, wherein forming a stack (209”) of agronomical querying data by enhancing the agronomical querying data (205') with prompting data (209') comprises pre-processing agronomical querying data (205') and selecting at least one tool and / or at least one repository (204) relevant for the agronomical querying data (205').
12. Method of one of claims 1 to 11, wherein forming a stack (209”) of agronomical querying data and / or an historical stack (209'”) of agronomical querying data comprises generating data for a vector store.
13. Method, of one of claims 1 to 12, wherein forwarding the stack (209') of agronomical querying data and / or the historical stack (209'”) of agronomical querying data to a prediction device (203) comprises forwarding the stack (209') of agronomical querying data and / or the historical stack (209'”) of agronomical querying data to a plurality of prediction devices.
14. Agronomical assistant apparatus (200) for controlling and / or monitoring an agronomical resource, comprising: an input device (208a); an output device (208b); a prediction device connecting device (210); a stacking device (209); wherein the input device (208a) is adapted for receiving agronomical querying data (205') associated with an agronomical query from a user (205); wherein the stacking device (209) is adapted for forming a stack (209”) of agronomical querying data by enhancing the agronomical querying data (205') with prompting data (209'); wherein the prompting data (209') comprise an indication for intended agronomical response data (203'”) in response to the agronomical querying data (205'); wherein the prediction device connecting device (210) is adapted for forwarding the stack (209”) ofagronomical querying data to a prediction device (203) for generating agronomical response data (203”) linked to the stack (209”) of agronomical querying data by a predefined probability relation; and for receiving the agronomical response data (203”) from the prediction device (203); wherein the output device (208b) is adapted for checking the received agronomical response data (203”); and for triggering the stacking device (209) to invoke at least one tool (204) and / or at least one repository (204); and for triggering the stacking device (209) to execute querying instruction data (203', 207) on the at least one tool and / or on the at least one repository (204); if the received agronomical response data (203”) comprise the querying instruction data (203') for the at least one tool (204) and / or for the at least one repository (204); and wherein the output device (208b) is further adapted; for providing intended agronomical response data (203'”); wherein the intended agronomical response data (203'”) include the agronomical response data (203”); and / or the result of executing the querying instruction data (203') on the at least one tool and / or on the at least one repository (204).
15. Data structure (209', 209”, 209'”), comprising program code, wherein the program code comprises a stack of agronomical querying data formed by enhancing agronomical querying data with prompting data, wherein the prompting data comprise an indication for intended agronomical response data and / or for an intended answer in response to the agronomical querying data and wherein the program code is adapted in such a way that when executed and / or interpreted by a prediction device (203) the prediction device (203) generates response data linked to the program code with a predefined probability.