一、在 Word2Vec 之前,我們怎么處理語言?
在 Word2Vec 出現之前,自然語言處理更多是“工程方法”,例如字符串匹配、關鍵詞提取、正則規則...。但這些表示通常缺乏語義,詞與詞之間看不出任何聯系以及非常淺顯。當然,技術沒有好壞,只有適合的場景。例如:
關鍵詞匹配非常快速和結果可控,算法層面例如AC自動機、Trie等。但同時也取決于用的人,例如早前“在港臺電影中,劉德華為什么很少演反派?”會出現“華為”相關內容,有網友指出是因為觸發了關鍵詞“華為”。
TF-IDF的升級版BM25,廣泛應用于搜索引擎,例如ElasticSearch。
這些技術的共同點是依賴字面匹配、同義詞庫,出現頻率等,但很難捕捉“詞與詞之間的聯系”,例如:
-
“登錄”和“登陸”是否同義?
-
“香蕉”和“蘋果”是否都是水果,計算機怎么看得出來,巨大的詞庫?
-
“你好嗎” 和 “最近怎么樣” 聽起來很像,但關鍵詞