<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def dict_to_dataset(data, *, attrs=None, library=None, coords=None, dims=None):
 """Convert a dictionary of numpy arrays to an xarray.Dataset. Parameters data : dict[str] -> ndarray Data to convert. Keys are variable names. attrs : dict Json serializable metadata to attach to the dataset, in addition to defaults. library : module Library used for performing inference. Will be attached to the attrs metadata. coords : dict[str] -> ndarray Coordinates for the dataset dims : dict[str] -> list[str] Dimensions of each variable. The keys are variable names, values are lists of coordinates. Returns ------- xr.Dataset Examples -------- dict_to_dataset({'x': np.random.randn(4, 100), 'y', np.random.rand(4, 100)}) """

    if dims is None:
        dims = {}

    data_vars = {}
    for key, values in data.items():
        data_vars[key] = numpy_to_data_array(
            values, var_name=key, coords=coords, dims=dims.get(key)
        )
    return xr.Dataset(data_vars=data_vars, attrs=make_attrs(attrs=attrs, library=library))