Preheat oven to 325 degrees. Lightly grease a 13 x 9-inch baking dish and place the cubed bread in the dish.
In a large bowl, whisk together the milk, cream, coffee liqueur. Add beaten eggs, vanilla and almond extracts.
In a another bowl, combine the sugar, brown sugar, and cocoa powder and cinnamon, and mix well. Add the sugar mixture to the milk mixture and mix well. Stir in semisweet chocolate.
Pour the mixture over the cubed bread in the pan. Let the mixture stand, for approximately 20 minutes, occasionally pressing down the bread cubes with the back of a spoon, until bread absorbs most of the milk mixture.
Bake pudding for 1 hour or until set. Check pudding by inserting a knife through the middle and it should come out clean.
Serve the pudding warm, or refrigerate and serve chilled with whipped cream if desired.