Kenneth G. Wilson (1923). The Columbia Guide to Standard American English. 1993.
bi-, semi- (prefixes)
When prefixed to nouns meaning periods of time, bi- means every two, so that bimonthly means every two months, biweekly every two weeks. Semi-, when prefixed to words meaning periods of time, means half, or halfway through, so that semimonthly means every half month, or twice a month, and semiweekly means every half week, or twice a week. Unfortunately, when you bisect a line you divide it into two equal parts, and a good many other words begin with a bi- that means into two, rather than every two. So a rare but naggingly recurrent meaning of bimonthly is also, alas, twice a month. Best advice: when you use bi- and semi- words, let context help define them, even at the cost of some redundancy. See BIANNUAL.