這樣我們就可以創建一個co-occurence的方陣,行列都是文中無重複的詞。這是個n×n的矩陣,矩陣的第i行第j個元素代表第i個詞附近出現第j 個詞的得分。這個得分實際上是對距離的一個打分。比如若“貓”和“狗”在文中緊挨著,那么對應項可以得分5;如果中間隔著一個詞,則得分為4等等,這樣一 直到得分為1.這樣的做法可以看作是控制了一個大小為5的滑動視窗。
mouse | dog | cat | Japan | Malaysia | Singapore | |
mouse | 0 | 3 | 4 | 0 | 0 | 0 |
dog | 3 | 0 | 5 | 0 | 0 | 0 |
cat | 4 | 5 | 0 | 0 | 0 | 0 |
Japan | 0 | 0 | 0 | 0 | 4 | 3 |
Malaysia | 0 | 0 | 0 | 4 | 0 | 5 |
Singapore | 0 | 0 | 0 | 3 | 5 | 0 |
這樣相近的詞語有著相似的行。從下面的表格中我們可以看出這一點。注意貓、狗、老鼠以及日本、馬來西亞、新加坡。
行便是向量,向量之間的距離可以用餘弦相似度來決定,注意需要將向量的長度歸一化為1.
上面的例子還說明,不直接共同出現(co-occurrence)的詞也可能意義相近,比如“狗”和“老鼠”儘管沒有共同出現,但是它們和“貓”共同出現。
Hyperspace Analogue to Language (HAL)的與前人不同的優點便在於不需要人工指定維數以及訓練語義向量空間(training semantic vector spaces),HAL只需要語料信息,這樣不會受到人工偏置的干擾。