A system (100; 516), comprising: a network interface (520; 212); a processor (107; 517; 512A; 202) communicatively coupled to the network interface; and a memory component (512B; 206), accessible by the processor, and storing instructions that, when executed by the processor, cause the processor to: receive (301; 401), via the network interface, from a user device (102; 810D; 20A, 20B, 20C), a natural language query for a first database, a key identifying a second database that includes a plurality of user records containing respective database query language types associated with respective databases of respective users, and a token identifying a first user that originated the natural language query; query the second database to identify a particular user record of the plurality of user records associated with the first user using the token, wherein the particular user record includes a particular database query language type associated with the first database; process (302; 405) a text input of the natural language query to generate a modified text input; generate (303; 406) an entity tree based on the modified text input, wherein generating the entity tree comprises assigning one or more semantic markers to one or more words or one or more groups of words within the modified text input, wherein each semantic tag denotes a semantic class for each respective word or group or words; convert (304; 407) the entity tree into a particular database query language associated with the first database to generate a translated query based on the particular database query language type in the particular user records; execute the translated query of the first database; and transmit, via the network interface, a set of returned results to the user device. a network interface (520; 212); a processor (107; 517; 512A; 202) communicatively coupled to the network interface; and a memory component (512B; 206), accessible by the processor, and storing instructions that, when executed by the processor, cause the processor to: receive (301; 401), via the network interface, from a user device (102; 810D; 20A, 20B, 20C), a natural language query for a first database, a key identifying a second database that includes a plurality of user records containing respective database query language types associated with respective databases of respective users, and a token identifying a first user that originated the natural language query; query the second database to identify a particular user record of the plurality of user records associated with the first user using the token, wherein the particular user record includes a particular database query language type associated with the first database; process (302; 405) a text input of the natural language query to generate a modified text input; generate (303; 406) an entity tree based on the modified text input, wherein generating the entity tree comprises assigning one or more semantic markers to one or more words or one or more groups of words within the modified text input, wherein each semantic tag denotes a semantic class for each respective word or group or words; convert (304; 407) the entity tree into a particular database query language associated with the first database to generate a translated query based on the particular database query language type in the particular user records; execute the translated query of the first database; and transmit, via the network interface, a set of returned results to the user device. receive (301; 401), via the network interface, from a user device (102; 810D; 20A, 20B, 20C), a natural language query for a first database, a key identifying a second database that includes a plurality of user records containing respective database query language types associated with respective databases of respective users, and a token identifying a first user that originated the natural language query; query the second database to identify a particular user record of the plurality of user records associated with the first user using the token, wherein the particular user record includes a particular database query language type associated with the first database; process (302; 405) a text input of the natural language query to generate a modified text input; generate (303; 406) an entity tree based on the modified text input, wherein generating the entity tree comprises assigning one or more semantic markers to one or more words or one or more groups of words within the modified text input, wherein each semantic tag denotes a semantic class for each respective word or group or words; convert (304; 407) the entity tree into a particular database query language associated with the first database to generate a translated query based on the particular database query language type in the particular user records; execute the translated query of the first database; and transmit, via the network interface, a set of returned results to the user device.