一文帶你了解搜索功能設(shè)計(jì)

3 評論 10171 瀏覽 113 收藏 24 分鐘

從PC時(shí)代到移動(dòng)互聯(lián)網(wǎng)時(shí)代,搜索滿足了人們從海量信息中找到有價(jià)值信息的需求,進(jìn)一步提高了用戶的信息消費(fèi)能力和獲取信息效率。筆者曾做過一個(gè)比較簡單的APP站內(nèi)搜索功能優(yōu)化,查閱了許多搜索功能設(shè)計(jì)資料。

于是乎便有了這篇搜索文章,我將從搜索最主要的三步理解用戶搜索意圖、召回內(nèi)容、排序內(nèi)容來給大家講講搜索功能設(shè)計(jì)的那些事。

大綱如下:

  1. 搜索是為了解決什么
  2. 如何設(shè)計(jì)站內(nèi)搜索
  3. 理解用戶搜索意圖
  4. 召回內(nèi)容
  5. 排序內(nèi)容
  6. query分析
  7. 寫在最后

一、搜索是為了解決什么

搜索引擎在PC時(shí)代崛起,谷歌、百度通過輸入框和網(wǎng)頁搜索結(jié)果來滿足網(wǎng)民的信息消費(fèi),幫助網(wǎng)民打破各種信息不對稱。谷歌、百度的搜索信息是相對開放的,用戶能在上面搜到大部分的內(nèi)容。

隨著移動(dòng)互聯(lián)網(wǎng)的普及,許多APP開始構(gòu)建自己的內(nèi)容生態(tài),搭建自身的站內(nèi)搜索。谷歌、百度等搜索引擎時(shí)從搜索到內(nèi)容,這些站內(nèi)搜索是從內(nèi)容到搜索,基于自家的內(nèi)容生態(tài)來搭建搜索功能。

對于用戶來說,用戶搜索內(nèi)容可分為幾種場景:

  • 有明確想搜的內(nèi)容并記得所有關(guān)鍵詞
  • 有明確想搜的內(nèi)容但記不清所有關(guān)鍵詞
  • 無明確想搜的內(nèi)容

所以對于用戶來說,搜索是為了解決用戶明確或者不明確的搜索需求,讓用戶能夠搜到想搜的內(nèi)容。從更深一層來說,搜索提高了用戶獲取信息、內(nèi)容的效率。

二、如何設(shè)計(jì)站內(nèi)搜索

一文帶你了解搜索功能設(shè)計(jì)

站內(nèi)搜索對于搜索系統(tǒng)來說,整個(gè)流程可以分為三步,分別是:

  • 理解用戶搜索意圖
  • 召回內(nèi)容
  • 排序內(nèi)容

整個(gè)流程里,第一步理解用戶搜索意圖會(huì)涉及到query預(yù)處理、分詞技術(shù)等技術(shù),第二步召回相關(guān)內(nèi)容一般用到的是索引倒序的技術(shù),召回有相關(guān)性的內(nèi)容,這里會(huì)涉及到倒排索引和匹配度問題。第三步排序內(nèi)容目前常見的有排序策略、機(jī)器學(xué)習(xí)。

產(chǎn)品經(jīng)理需要做的主要是畫搜索原型圖和制定召回相關(guān)性策略和排序策略,其他的主要是靠技術(shù)或者第三方去實(shí)現(xiàn)。

三、理解用戶搜索意圖

用戶搜索是整個(gè)搜索系統(tǒng)的上游,只有理解了用戶的搜索意圖,搜索展現(xiàn)的結(jié)果才會(huì)是用戶想要的。如果對搜索意圖理解錯(cuò)了,不論我們的召回率和排序策略多么牛,對用戶來說這次的搜索其實(shí)是失敗的。

那么怎么理解用戶的搜索意圖呢?用戶輸入的是關(guān)鍵詞,所以我們來分析下怎么理解關(guān)鍵詞。(ps:這篇文章只討論搜索方式為輸入文字的方式,不討論語音輸入、圖片、視頻輸入等方式)

3.1 query預(yù)處理

3.1.1 拼音轉(zhuǎn)文字

當(dāng)用戶在搜索框中輸入拼音時(shí),可以識(shí)別出文字。這種搜索場景還是蠻常見的,比如用戶想在微信讀書中搜索“俞軍產(chǎn)品方法論”,那么當(dāng)用戶在搜索框中輸入”yujunchnapinfangfalun”時(shí)能理解出“俞軍產(chǎn)品方法論”,并給出搜索結(jié)果。

3.1.2 繁體轉(zhuǎn)簡體

對于一些有繁體輸入習(xí)慣的用戶,需要對用戶輸入的繁體字進(jìn)行轉(zhuǎn)化,可以識(shí)別出其簡體。具體方案是通過詞表將繁體query轉(zhuǎn)化為簡體query,后續(xù)系統(tǒng)在將簡體query進(jìn)行召回。

3.1.3 自動(dòng)糾錯(cuò)

當(dāng)用戶在搜索框中輸入“于軍”,其實(shí)用戶想搜的是“俞軍”。系統(tǒng)可以對這個(gè)query進(jìn)行判斷,判斷有沒有在索引庫命中文檔,如果沒有,則需要對其進(jìn)行預(yù)處理的自動(dòng)糾錯(cuò)。

自動(dòng)糾錯(cuò)可以通過維護(hù)糾錯(cuò)表的方式實(shí)現(xiàn)。在糾錯(cuò)表里通過映射原詞給糾錯(cuò)后的詞,從而實(shí)現(xiàn)query改寫。

目前自動(dòng)糾錯(cuò)在客戶端顯示上也有幾種不同的形式:

  • 強(qiáng)糾錯(cuò):直接改寫query,給用戶的提示一般為“已顯示XXX的搜索結(jié)果”
  • 中糾錯(cuò):直接改寫query,給用戶的提示一般為“已顯示XXX的搜索結(jié)果,仍然搜索:X原詞XX”
  • 弱糾錯(cuò):不改寫query,只是給用戶提示“你是不是要搜索:XXX”

3.1.4 同義詞轉(zhuǎn)換

同義詞轉(zhuǎn)換從字面上理解就是能夠?qū)uery進(jìn)行同義詞的理解。比如當(dāng)用戶輸入“首都機(jī)場”,可以理解為“北京機(jī)場”,用戶輸入“國寶”,可以理解為“大熊貓”。

同義詞轉(zhuǎn)換技術(shù)對于query意圖理解非常重要,很多時(shí)候用戶不能很好地輸出自己想搜索的內(nèi)容,如果沒有同義詞轉(zhuǎn)換技術(shù)進(jìn)一步處理,那么召回的內(nèi)容很有可能并不是用戶想要的。

同義詞轉(zhuǎn)換技術(shù)一般是通過獲取用戶的session日志來分析相關(guān)的query。

舉個(gè)例子,比如一個(gè)用戶輸入”國寶“后,查詢出來的結(jié)果不是想要的,從而沒有點(diǎn)擊行為。該用戶接著輸入“大熊貓”,得到了想要的搜索結(jié)果并點(diǎn)擊了內(nèi)容。那么“國寶”和”大熊貓“之間就建立了聯(lián)系。

當(dāng)然,”國寶“也有可能和”國家寶藏”、“國家文物”等建立聯(lián)系,基于統(tǒng)計(jì)后,可以計(jì)算出“國寶”與別的詞的聯(lián)系權(quán)重。在召回相關(guān)性內(nèi)容時(shí),對關(guān)鍵詞和同義詞進(jìn)行召回,并賦予不同的權(quán)重,權(quán)重分值可以放在相關(guān)性分?jǐn)?shù)上。

3.2 分詞技術(shù)

以微信讀書為例子,目前微信讀書的搜索結(jié)果內(nèi)容為書、公眾號(hào)文章、公眾號(hào)。比如用戶在微信讀書上輸入“無限的游戲”,用戶的意圖是想查找一本名為“有限與無限的游戲”的書,不過記錯(cuò)為“無限的游戲”。

如果詞典里沒有“無限的游戲”這個(gè)詞,那么就無法返回對應(yīng)的內(nèi)容,用戶的搜索就到此結(jié)束。

詞典的詞是有限的,輸入的關(guān)鍵詞是無限的。為了解決這種情況,目前搜索系統(tǒng)主要是通過分詞技術(shù)來實(shí)現(xiàn)。分詞的意思是將關(guān)鍵詞切分成多個(gè)詞。

比如“無限的游戲“可以切分為“無限”“的”“游戲”,采用不同的分詞技術(shù)出來的分詞結(jié)果也不同。比如有了“無限”“的”“游戲”后,分詞會(huì)對應(yīng)到詞典里的詞,有對應(yīng)的索引內(nèi)容,召回了“有限與無限的游戲”這本書。

中文分詞目前有三種分詞方法,分別是:

  • 基于詞典的分詞
  • 基于語法的分詞
  • 基于統(tǒng)計(jì)的分詞

第一種基于詞典的分詞方法用的比較多,我簡單地為大家介紹一下。

基于詞典的分詞指的就是系統(tǒng)有一個(gè)詞典庫,當(dāng)query的分詞與詞典的詞對應(yīng)上了,就能召回詞典對應(yīng)的索引文檔。

分詞的粒度也是至關(guān)重要的,目前有許多這方面的規(guī)則和算法。比較經(jīng)典的有正向最大匹配、逆向最大匹配的規(guī)則、MMSEG算法。

經(jīng)過分詞切割后,用戶非標(biāo)準(zhǔn)的query就能被切分成標(biāo)準(zhǔn)的分詞,并能在詞典中匹配到詞,從而能索引回相關(guān)的內(nèi)容。

當(dāng)然產(chǎn)品經(jīng)理不需要精通這些技術(shù),了解概念和實(shí)現(xiàn)的結(jié)果即可。產(chǎn)品經(jīng)理提出來的需求有可能是技術(shù)部門不支持的,或者不是該功能的最優(yōu)方案。所以了解這些最基本的技術(shù)原理,有助于我們更好地設(shè)計(jì)搜索功能和提合理的搜索需求。

四、召回內(nèi)容

4.1 倒排索引技術(shù)

這一節(jié),我們需要先說下搜索很核心的技術(shù)——倒排索引技術(shù)。

搜索系統(tǒng)有詞典和內(nèi)容索引庫(數(shù)據(jù)庫),詞典里的詞關(guān)聯(lián)匹配內(nèi)容索引庫。當(dāng)用戶輸入關(guān)鍵詞后,如果詞典里有這個(gè)詞,線上會(huì)快速召回內(nèi)容文檔。如果詞典里沒有這個(gè)詞,那這次的搜索行為就沒有結(jié)果。

假設(shè)內(nèi)容索引庫一共只有3個(gè)內(nèi)容文檔,分別是:

  • doc1:站內(nèi)搜索從0到1全流程設(shè)計(jì)
  • doc2:搜索應(yīng)該怎么設(shè)計(jì)才是對的
  • doc3:產(chǎn)品小白怎么入門站內(nèi)搜索設(shè)計(jì)

用戶輸入關(guān)鍵詞“怎么設(shè)計(jì)站內(nèi)的搜索”,經(jīng)過分詞后,詞典里有這個(gè)詞,系統(tǒng)會(huì)召回對應(yīng)的索引文檔。

索引庫如下圖所示:

一文帶你了解搜索功能設(shè)計(jì)

以新聞搜索來說,一條新聞?dòng)嵪⒁话銜?huì)有標(biāo)題、簡介、關(guān)鍵詞、來源、正文。

在召回內(nèi)容的時(shí)候,會(huì)根據(jù)新聞的這幾個(gè)屬性分別構(gòu)建倒排索引。當(dāng)然需要召回的字段屬性是需要考慮的,并非所有屬性都得進(jìn)行索引召回。

比如可以只對標(biāo)題和簡介這兩個(gè)屬性進(jìn)行倒排索引召回。召回的時(shí)候,我們認(rèn)為標(biāo)題跟關(guān)鍵詞匹配度高于簡介跟關(guān)鍵詞的匹配度,可以先以標(biāo)題為維度倒排索引進(jìn)行召回,接著再從簡介進(jìn)行召回。

這樣的分級索引庫有利于提高檢索效率,同時(shí)能較快將優(yōu)質(zhì)和匹配度高的內(nèi)容檢索出來。

五、排序內(nèi)容

召回相關(guān)的內(nèi)容后,如何排序呢?排序的策略決定了用戶最終看到怎樣的搜索結(jié)果,所以這部分是相當(dāng)重要的,同時(shí)也是比較復(fù)雜的。

我這里提供兩種排序策略,一種粗排,一種精排(精排、粗排的叫法只是我為了區(qū)分兩種排序策略而定義的)。產(chǎn)品經(jīng)理要根據(jù)具體的搜索業(yè)務(wù)和需求來制定搜索排序策略。

5.1 粗排策略

粗排主要是通過維度來將召回的內(nèi)容進(jìn)行排序。以某新聞app為例,搜索結(jié)果只是新聞(新聞內(nèi)容包括圖文、純文本、視頻)。召回的范圍是新聞標(biāo)題和摘要。

召回的內(nèi)容匹配度分兩個(gè)等級:

  1. 完全匹配
  2. 模糊匹配(前綴、后綴、分詞等)

排序策略:

優(yōu)先度:新聞標(biāo)題>摘要,在優(yōu)先度下按照下方的策略:

I.完全匹配>模糊匹配

II.時(shí)效性(以天為單位)

III.閱讀量優(yōu)先

以上的粗排策略只是為了講解,具體的維度和排序指標(biāo)不一定是我上面提及的。

5.2 精排策略

精排策略是根據(jù)doc分?jǐn)?shù)倒序排序。用戶輸入query后,召回了doc(內(nèi)容),這些doc怎么排序呈現(xiàn)給用戶呢?答案是根據(jù)每個(gè)doc的分?jǐn)?shù)倒序呈現(xiàn)給用戶。

doc分?jǐn)?shù)=文本相關(guān)性的值*重要度的值。

文本相關(guān)性的值用dscore表示、重要度的值用Iscore來表示,則doc分?jǐn)?shù)=dscore*Iscore。

5.2.1 文本相關(guān)性

文本相關(guān)性的數(shù)值怎么計(jì)算呢?目前業(yè)界計(jì)算相關(guān)性的方法主要有三種,分別是tf-idf文本相關(guān)性、基于統(tǒng)計(jì)詞頻的BM25、空間向量模型。

我在這里給大家介紹下非常經(jīng)典的tf-idf文本相關(guān)性方法。這個(gè)方法不僅簡單,并且能解決80%以上的搜索結(jié)果相關(guān)性問題。

5.2.1.1 Tf-idf

Tf-idf中的tf全稱為Term Frequence,指的是詞頻,是指該詞在某文本的占比。Tf越高,說明該詞在文本中越重要。

Idf全稱為Inverse Document Frequence,指的是逆文檔頻率。在說idf前先介紹下df,df是文檔頻率,是將包含該Term的文檔數(shù)除以總文檔數(shù)。比如一個(gè)Term在10個(gè)文檔出現(xiàn),總共有50個(gè)文檔,那么df值為10/50(1/5)。

講完df后,我們再聊回idf,還是上面的例子,那么idf值為log(50/10)。由公式可以看出,idf越高,說明有該Term的文本越少,那么該文本越就能代表該Term。

同時(shí)用log來表示,還能處理掉一些高頻詞對文本相關(guān)性的干擾。比如“的”“了”,這種高頻詞的Tf可能很高,但I(xiàn)df會(huì)很小,接近于0,兩數(shù)值相乘后也會(huì)很小,能很好的排除這些高頻詞的噪音。

對于較為簡單的文本相關(guān)性排序,相關(guān)性的分值可以用Tf*idf來表示,分值越高,說明文本相關(guān)性越高。

5.2.1.2 詞距與詞序

query被切割分詞成多個(gè)term后,term之間的距離與順序跟文本相關(guān)性有關(guān)。

舉個(gè)例子,用戶搜索“產(chǎn)品方法論”,在索引庫里恰好有兩個(gè)文檔為“俞軍產(chǎn)品方法論”和“做產(chǎn)品的10個(gè)方法”,很明顯召回排序時(shí),“俞軍產(chǎn)品方法論”應(yīng)該要比“做產(chǎn)品的10個(gè)方法”排在更前。

但可能這兩個(gè)文檔的Tf*idf值是一樣的,因?yàn)椤爱a(chǎn)品”和“方法”這兩個(gè)term都有。所以我們需要關(guān)注term之間的距離和順序,在計(jì)算相關(guān)性分值時(shí)考慮進(jìn)來,從而保證緊密度更高的term在召回的文檔中出現(xiàn)距離更近更相關(guān)。

5.2.1.3 term位置

不同位置相關(guān)性的重要程度會(huì)不同,以新聞搜索來說,標(biāo)題與關(guān)鍵詞的相關(guān)性是要重要于簡介與關(guān)鍵詞的相關(guān)性的。一般這種情況下,可以賦予一個(gè)系數(shù)到Tf*idf,最終dscore=a*Tf*idf(a是系數(shù),比如標(biāo)題可以賦予1,簡介賦予0.8)

5.2 重要度

重要度指得是doc(內(nèi)容)的重要程度(優(yōu)質(zhì)程度)。相關(guān)性得分差不多的內(nèi)容里會(huì)存在優(yōu)質(zhì)內(nèi)容和劣質(zhì)內(nèi)容,一般情況下,我們會(huì)將優(yōu)質(zhì)內(nèi)容排在更前面。當(dāng)然也會(huì)有商業(yè)、廣告或者別的業(yè)務(wù)的考慮,這種情況下重要度得分就會(huì)更加復(fù)雜一些。

重要度得分(Tscore)由于跟query沒有直接關(guān)系,是每一個(gè)doc的實(shí)時(shí)屬性,所以這一部分的分?jǐn)?shù)可以離線算好。

還是以新聞搜索為例,假設(shè)一條新聞最重要的三個(gè)指標(biāo)是閱讀量、評論率、時(shí)效性。那么:Tscore=a*f(閱讀量)+b*f(評論量)+c*f(時(shí)效性)。

f(閱讀量)、f(評論量)、f(評論量)這三個(gè)都是函數(shù)。一般來說,這三個(gè)函數(shù)可以為對數(shù)函數(shù)(log函數(shù)),因?yàn)閷?shù)函數(shù)是遞增函數(shù),但其導(dǎo)數(shù)為遞減函數(shù),說明隨著閱讀量增大,f(閱讀量)值也會(huì)增大,但增大趨勢在下降,即增大程度越來越小。

這樣有助于冷卻一些優(yōu)質(zhì)數(shù)據(jù),想要獲得更高分?jǐn)?shù)會(huì)越來越困難,使得馬太效應(yīng)的強(qiáng)度降低一些。

三個(gè)對數(shù)函數(shù)還會(huì)存在一個(gè)問題,即沒有歸一化。比如閱讀量的值會(huì)在0-100000,評論率在0-1之間,時(shí)效性以小時(shí)來算的話,時(shí)效性的值可以在0-8760(以上數(shù)值不具備參考意義,單純是為了講解)。

三個(gè)指標(biāo)的值不在同一區(qū)間,會(huì)嚴(yán)重影響最終的重要度得分(Tscore)的真實(shí)性。所以需要將三個(gè)指標(biāo)的值歸一化,消除量綱,將數(shù)據(jù)值按比例縮放。

歸一化有幾種常見的方法,有取分?jǐn)?shù)、min-max標(biāo)準(zhǔn)化、Z-score標(biāo)準(zhǔn)化方法等,通過這些方法將三個(gè)指標(biāo)的取值范圍控制在0~1。(具體歸一化操作大家可自行搜索,不在此展開)

如何確定a、b、c三個(gè)值呢?

一般有兩種辦法:

  1. 專家、產(chǎn)品自行決定(拍腦袋或者通過多組數(shù)據(jù)來得出)
  2. 通過機(jī)器學(xué)習(xí)來訓(xùn)練,得出a、b、c的值

驗(yàn)證這些值是不是對的,可以通過A/Btest、搜索功能上線后的數(shù)據(jù)來驗(yàn)證。

六、query分析

搜索功能搭建好之后,如果搜索功能對于整體業(yè)務(wù)來說很重要,那么我們需要不斷地優(yōu)化搜索功能。優(yōu)化搜索功能不單單只是優(yōu)化搜索策略和算法,還可以通過query分析來提升用戶搜索體驗(yàn)。

query分析指的是對用戶的查詢進(jìn)行分析,用戶的搜索軌跡能夠很好的幫助我們了解整體用戶的搜索意圖,也能發(fā)現(xiàn)我們目前的搜索滿足了用戶哪些搜索需求,哪些搜索需求還需要完善。

query分析可以分以下幾步來操作:

1、以月份為單位,從query中抽取1000個(gè)query樣本

2、針對query意圖進(jìn)行分類,每個(gè)query樣本用兩個(gè)需求分類來表征該query的搜索需求

3、統(tǒng)計(jì)一類需求、二類需求query個(gè)數(shù)的占比情況和搜索次數(shù)占比情況

query個(gè)數(shù)占比=分類query個(gè)數(shù)/query總數(shù)

query搜索次數(shù)占比=分類query搜索次數(shù)/總query搜索次數(shù)

4、統(tǒng)計(jì)幾個(gè)數(shù)據(jù):

query召回率=搜索結(jié)果在準(zhǔn)確的數(shù)量/應(yīng)該被搜索的結(jié)果數(shù)量

query準(zhǔn)確率=搜索結(jié)果在準(zhǔn)確的數(shù)量/返回的結(jié)果數(shù)量

query需求滿足程度,可以根據(jù)搜索結(jié)果質(zhì)量得出query需求滿足程度,分為高中低三等級

通過以上四步,我們能獲得相應(yīng)的數(shù)據(jù)統(tǒng)計(jì),接下來就是需要對數(shù)據(jù)結(jié)果進(jìn)行分析,通過分析來決策下一步搜索需要怎么優(yōu)化。

舉個(gè)例子,比如在query需求滿足度中,分析出需求滿足度低的query需求是哪些,查看搜索結(jié)果,分析是什么原因?qū)е隆?/p>

可能會(huì)是數(shù)據(jù)缺失、搜索結(jié)果相關(guān)度低等原因引起,那么我們后面如果需要提高這類query需求的用戶搜索體驗(yàn)的話,那么就需要去解決數(shù)據(jù)缺失、搜索結(jié)果相關(guān)度低的問題。

  • 如果是數(shù)據(jù)缺失,那么可以通過引入外面的內(nèi)容、加大該類內(nèi)容供給
  • 如果是搜索結(jié)果相關(guān)度低,那么可以改善匹配策略,召回更相關(guān)的內(nèi)容

七、寫在最后

寫到最后才發(fā)現(xiàn)寫了這么多,其實(shí)一個(gè)完整的站內(nèi)搜索不僅僅只是這些,理解用戶搜索意圖、召回內(nèi)容、排序內(nèi)容這三步可以優(yōu)化的地方實(shí)在是太多了。

隨著搜索需求越來越高,傳統(tǒng)的方法無法滿足一些搜索場景和目的。所以我們早已開始從算法工程和機(jī)器學(xué)習(xí)切入,這部分我暫時(shí)還未涉及,不過最近有在看算法,看看后面能不能從算法的角度來跟大家講講如何提高對用戶搜索意圖分析、如何提高搜索相關(guān)性等。

談到搜索,在中文搜索里繞不開俞軍老師。最后貼一下俞軍老師當(dāng)年求職搜索工作的求職信,體會(huì)下這封至今讀來依舊帶有傳奇色彩的求職信。

搜索引擎9238,男,26歲,上海籍,同濟(jì)大學(xué)化學(xué)系五年制,覽群書,多游歷。97年7月起在一個(gè)國營單位籌備進(jìn)口生產(chǎn)項(xiàng)目。99年4月起在一個(gè)代理公司銷售進(jìn)口化工原料兼報(bào)關(guān)跟單。2000年1月起在一個(gè)垂直網(wǎng)絡(luò)公司做分析儀器資料采編。2000年7月起去一個(gè)網(wǎng)絡(luò)公司應(yīng)聘搜索引擎產(chǎn)品經(jīng)理,卻被派去做數(shù)據(jù)庫策劃,9月起任數(shù)據(jù)中心經(jīng)理。長期想踏入搜索引擎業(yè),無奈欲投無門,心下甚急,故有此文。如有公司想做最好的中文搜索,誠意乞一參與機(jī)會(huì)。

本人熱愛搜索成癡,只要是做搜索,不計(jì)較地域(無論天南海北,刀山火海),不計(jì)較職位(無論高低貴賤一線二線,與搜索相關(guān)即可),不計(jì)較薪水(可維持個(gè)人當(dāng)?shù)匾率匙⌒屑词堑拙€),不計(jì)較工作強(qiáng)度(反正已習(xí)慣了每日14小時(shí)工作制)。

 

作者:蘇Eddie,微信公眾號(hào):蘇Eddies

本文由 @蘇Eddie 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評論
評論請登錄
  1. 向俞軍老師致敬!

    來自四川 回復(fù)
  2. 英文文本搜索應(yīng)該有所不同吧,大佬有空講下英文吧 ??

    來自上海 回復(fù)
    1. 英文不是每個(gè)單詞間都有空格嗎

      來自浙江 回復(fù)