Here’s my interpretation of what you mean by semantic associativity: “Bi-” is another way of saying “two,” and the confusion with “biweekly” arises because it’s unclear if the “two” should be taken to mean “two occurrences per week” or “two weeks per occurrence.”
Meanwhile, “semi-” means “one half,” and in normal conversation it’s not common to say that an event occurs “one half of a time per week”. So it’s unambiguous that it must refer to “one occurrence per half week.”
bi(weekly) = double once per one week interval = 2/7 day^-1
(semiweek)ly = once per half-week interval = 2/7 day^-1
semi(weekly) = half of the rate of once per week interval = 1/14 day^-1
So, we end up with the same two meanings in the end.
I think it has the same issue as biannually or biweekly.
The problem is whether "half as much as annually" is interpreted as twice as frequently (your view, and the accepted one) or half as frequently (my natural inclination).
"Bi-" is more specifically a factor of 2, while "tri-" is a factor of 3, etc., though "semi-" can be a looser qualifier.
If someone said that they did something "bi-annually", that'd sound more like they mean twice-per-year (even if that's an estimated average rate). By contrast, if they said "semi-annually", that'd sound more like they mean usually-several-times-per-year.
(Or the inverses rates, due to the other ambiguity.)