Stack Overflow 引入 CROKAGE,搜問題不用再東拼西湊

許多開發者使用 Stack Overflow 搜索開發中遇到的問題,有時候需要查詢的結果中有通俗的講解,而且最好還能夠帶上代碼 demo,但是兩者同時很完美地滿足要求還是比較困難的。不過最近 Stack Overflow 官方博客上介紹了一種智能化的技術,或許可以解決這一問題。

新技術名叫 CROKAGE(Crowd Knowledge Answer Generator,羣衆知識答案生成器),它來源於今年早些時候一個計算機科學研究小組發表的一篇論文,CROKAGE 可以將提問作爲查詢,然後返回相關的、全面的編程解決方案,所謂全面,就是說它不僅有代碼片段,還包括簡潔的自然語言解釋,這樣開發者就不用在衆多的答案中拼湊出一個解決方案。

CROKAGE 使用 Stack Overflow 上的數百萬個 Q&A 作爲訓練語料庫進行訓練,還擴展了自然語言查詢(任務描述),包括從 Stack Overflow 中仔細挖掘出來的獨特的開源軟件庫和功能術語。

對於返回來的候選答案,研究人員組合了四個加權因子進行排序,他們利用傳統的信息檢索(IR)指標,如 TF-IDF 和非對稱相關性,同時爲了適應 Stack Overflow 的環境,還採用了非常適合軟件特定文檔的針對性排序機制。

簡單來講,整個運作機制如前邊的圖片所示,主要分爲幾個步驟:

  • A、語料庫準備
  • B、構建模型,map、索引
  • C、搜索相關答案
  • D、整合編程解決方案

研究團隊還對結果進行了對比,如下圖所示,在對比中,CROKAGE 給出的建議答案中,代碼示例的相關性、代碼解釋的清晰度以及整體解決方案的質量(也就是代碼+解釋的整體質量),比目前最先進的工具產出了更好的結果。

目前 CROKAGE 還有一些侷限性,比如它僅支持 Java 語言的相關查詢,而且如果問題描述比較差,那工具也無法給出如何改進的建議。

開發者可以通過 http://www.isel.ufu.br:9000 體驗該功能。

關於該功能的更多信息,查看:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章