專利名稱:基于微博的眾包問答系統(tǒng)信息采集方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)應(yīng)用中的數(shù)據(jù)處理技術(shù)、信息處理領(lǐng)域中的文本相似度分析技術(shù)、社交網(wǎng)絡(luò)領(lǐng)域中的用戶興趣信息提取技術(shù),特別涉及一種基于微博的眾包問答系統(tǒng)信息采集方法。
背景技術(shù):
在互聯(lián)網(wǎng)應(yīng)用方面,大多數(shù)社交網(wǎng)絡(luò)平臺都采用了開放授權(quán)0Auth2的用戶登陸和授權(quán)模式。應(yīng)用通過平臺用戶的授權(quán)之后,就可以通過API接口獲取相應(yīng)的用戶數(shù)據(jù)。此夕卜,在微博系統(tǒng)中,當(dāng)用戶@具體賬號時,該條消息就會發(fā)送給被@的用戶。所述@到該官方賬號具體為:在微博內(nèi)容中加上以“@”+賬號昵稱為格式的文本。這些成熟的互聯(lián)網(wǎng)數(shù)據(jù)處理技術(shù)和服務(wù)是本發(fā)明實現(xiàn)的基礎(chǔ)。在眾包系統(tǒng)中,通常都是通過一套激勵措施吸引用戶來完成一系列的工作和任務(wù)。問答網(wǎng)站是眾包系統(tǒng)的一種實例。在問答網(wǎng)站中,一般都實現(xiàn)了積分方式作為對回答者的一種激勵。眾包系統(tǒng)的存在,正是因為在信息處理領(lǐng)域中,許多的問題和工作仍然只有通過人力才能夠更高效地開展。最近幾年來,在眾包系統(tǒng)領(lǐng)域,專家學(xué)者又提出了一系列新的思路和技術(shù)。例如,伯克利大學(xué)的科研工作者提出了通過眾包來回答數(shù)據(jù)庫查詢的技術(shù)。在信息處理領(lǐng)域中,文本相似度分析已經(jīng)存在很多成熟的算法,例如最長公共子串LCS算法和字符串相似度Levenshtein距離算法。LCS算法的原理是將兩個字符串分別以行和列組成矩陣,每個節(jié)點行列字符如果相同則計為1,通過找出值為I的最長對角線即可得到最長公共子串。Levenshtein距離又稱為編輯距離,Levenshtein距離算法的基本原理是返回將第一個字符串轉(zhuǎn)換成第二個字符串的編輯次數(shù)。次數(shù)越少,意味著字符串相似度越高。在社交網(wǎng)絡(luò)領(lǐng)域中,專家學(xué)者們針對用戶興趣愛好的分析提取提出了許多工作。最基本的處理方法通常都是對社交網(wǎng)絡(luò)中具體用戶發(fā)布的所有信息數(shù)據(jù),進行分詞處理,對具體詞匯通過tf-1df (詞頻-反文檔頻率)算法進行進一步計算,排序得到tf-1df值最高的一系列關(guān)鍵詞作為該用戶可能感興趣的標(biāo)簽。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種基于微博的眾包問答系統(tǒng)信息采集方法。本發(fā)明解決其技術(shù)問題采用的技術(shù)方案如下:一種基于微博的眾包問答系統(tǒng)信息采集方法,包括如下步驟:
步驟1:在微博平臺上注冊官方賬號,在微博開放平臺申請成為第三方網(wǎng)站開發(fā)賬號,獲取開發(fā)網(wǎng)站的App Key (應(yīng)用碼)和App Secret (應(yīng)用密鑰);
步驟2:通過微博開放平臺提供的接口,開發(fā)數(shù)據(jù)采集和發(fā)布模塊,向微博平臺采集和發(fā)布數(shù)據(jù),包括問答數(shù)據(jù)以及用戶資料信息; 步驟3:用戶發(fā)起的任何問題只需要O到該官方賬號,該問題原微博以及所有轉(zhuǎn)發(fā)微博將通過數(shù)據(jù)采集和發(fā)布模塊被系統(tǒng)采集收錄;
步驟4:對采集到的問答數(shù)據(jù)進行分析處理:該步驟可提取該問題的整體樹狀轉(zhuǎn)發(fā)結(jié)構(gòu)、提取相似答案、過濾純轉(zhuǎn)發(fā)答案,并對整個話題回答進行各類統(tǒng)計分析;
步驟5:將步驟4提取的該問題的整體樹狀轉(zhuǎn)發(fā)結(jié)構(gòu)、提取相似答案和過濾純轉(zhuǎn)發(fā)答案,以及統(tǒng)計分析的結(jié)果,在前端界面為用戶提供多元化的結(jié)果展示;
步驟6:利用全局采集到的用戶問答記錄和具體用戶資料信息,分析每個用戶在問答系統(tǒng)中的活躍程度、感興趣領(lǐng)域以及擅長領(lǐng)域等信息;
步驟7:利用步驟6所得到的用戶活躍程度、感興趣和擅長領(lǐng)域等信息,系統(tǒng)自動將該新問題推送給可能感興趣的潛在回答用戶。本發(fā)明的有益效果是,該發(fā)明首先實現(xiàn)了與微博平臺進行數(shù)據(jù)交互的數(shù)據(jù)采集和發(fā)布模塊,通過該模塊自動采集系統(tǒng)相關(guān)的所有問答數(shù)據(jù)和用戶資料信息。對于采集到的問答數(shù)據(jù)進行后臺分析處理,為用戶提供更直觀和專業(yè)的回答結(jié)果展示。另外,系統(tǒng)通過對用戶資料信息和問答行為的具體分析,將各類新問題有效推送給可能回答的潛在用戶,以對新問題進行高效、快速擴散。應(yīng)用本發(fā)明的方法,可以通過微博平臺實現(xiàn)問答系統(tǒng)更高效快速地獲取答案。
圖1是本發(fā)明實施步驟總體模塊流程 圖2是數(shù)據(jù)采集和發(fā)布模塊具體工作流程具體實施例方式現(xiàn)結(jié)合具體實施和示例對本發(fā)明的技術(shù)方案作進一步說明。如圖1,本發(fā)明基于微博的眾包問答系統(tǒng)信息采集方法,包括如下步驟:
步驟1:在微博平臺上注冊官方賬號,在微博開放平臺申請成為第三方網(wǎng)站開發(fā)賬號,獲取開發(fā)網(wǎng)站的App Key (應(yīng)用碼)和App Secret (應(yīng)用密鑰)。官方賬號可以通過微博平臺網(wǎng)站注冊申請,得到的微博賬號通過用戶名、密碼正常登陸后,可以修改個人信息、發(fā)布微博。在微博開放平臺網(wǎng)站申請成為第三方網(wǎng)站開發(fā)賬號,完成身份認(rèn)證和開發(fā)者審核流程,獲得測試應(yīng)用開發(fā)權(quán)限。在開放平臺網(wǎng)站的管理中心頁面,添加待開發(fā)的網(wǎng)站,完成該網(wǎng)站基本信息的注冊審核之后,得到相應(yīng)的App Key和App Secret信息。步驟2:通過微博開放平臺提供的接口,開發(fā)數(shù)據(jù)采集和發(fā)布模塊,向微博平臺采集和發(fā)布數(shù)據(jù),包括問答數(shù)據(jù)以及用戶資料信息。如圖2,數(shù)據(jù)采集和發(fā)布模塊的工作過程如下:
首先,根據(jù)步驟I)獲取的第三方網(wǎng)站應(yīng)用App Key和App Secrect信息,通過開放平臺的開放授權(quán)0Auth2協(xié)議用官方賬號登陸并完成授權(quán),由此可以獲取該官方賬號訪問微博數(shù)據(jù)的訪問令牌Access Token。另外,其他微博用戶在系統(tǒng)網(wǎng)站中通過微博登陸和完成授權(quán),同樣也可獲得該賬號綁定的訪問令牌Access Token。其次,根據(jù)相關(guān)微博賬號所綁定的訪問令牌Access Token,通過微博開放平臺所提供的獲取數(shù)據(jù)和發(fā)布數(shù)據(jù)API,實現(xiàn)數(shù)據(jù)采集和發(fā)布模塊的代碼。最后,完成具體的開發(fā)之后,微博的用戶只需要通過開放授權(quán)0Auth2登陸授權(quán),系統(tǒng)就可以對該用戶的數(shù)據(jù)進行采集和發(fā)布,所采集的數(shù)據(jù)包括用戶所發(fā)表的問答微博數(shù)據(jù)和用戶資料信息。步驟3:用戶發(fā)起的任何問題只需要O到該官方賬號,該問題原微博以及所有轉(zhuǎn)發(fā)微博將通過數(shù)據(jù)采集和發(fā)布模塊被系統(tǒng)采集收錄。所述@到該官方賬號具體為:在微博內(nèi)容中加上以“@”+被@的用戶的賬號昵稱為格式的文本。在微博系統(tǒng)中,被@的用戶將收到通知提醒。數(shù)據(jù)采集和發(fā)布模塊維護了官方賬號的訪問令牌Access Token,通過微博開放平臺的獲取提及微博getMentions接口,就可以采集所有@到官方賬號的微博。步驟4:對采集到的問答數(shù)據(jù)進行分析處理。該步驟可提取該問題的整體樹狀轉(zhuǎn)發(fā)結(jié)構(gòu)、提取相似答案、過濾純轉(zhuǎn)發(fā)答案,并對整個話題回答進行各類統(tǒng)計分析。數(shù)據(jù)分析處理的工作過程如下:
首先,根據(jù)微博的轉(zhuǎn)發(fā)格式,對轉(zhuǎn)發(fā)微博的文本內(nèi)容進行分析,提取該話題的整體樹狀轉(zhuǎn)發(fā)結(jié)構(gòu)。微博的轉(zhuǎn)發(fā)一般都以“//”的形式進行分隔,通過對轉(zhuǎn)發(fā)內(nèi)容的解析可以獲得該條轉(zhuǎn)發(fā)微博本身的文本內(nèi)容,以及它所轉(zhuǎn)發(fā)的父微博。對一個問題的所有轉(zhuǎn)發(fā)微博進行分析之后,就可以得出該話題的整體樹狀轉(zhuǎn)發(fā)結(jié)構(gòu)。其次,根據(jù)上一過程獲取每條轉(zhuǎn)發(fā)微博本身的文本內(nèi)容,如果該文本內(nèi)容為空,則這是一條純轉(zhuǎn)發(fā)答案,可以進行過濾;
在提取相似答案步驟,根據(jù)每條回答的文本內(nèi)容,通過最長公共子串LCS算法和字符串相似度Levenshtein距離算 法計算文本之間的相似距離,對整個問題的所有答案進行相似答案聚類。最后,根據(jù)一個話題的所有回答微博,統(tǒng)計回答時間、回答用戶所在城市等分布信
肩、O步驟5:將步驟4提取的該問題的整體樹狀轉(zhuǎn)發(fā)結(jié)構(gòu)、提取相似答案和過濾純轉(zhuǎn)發(fā)答案,以及統(tǒng)計分析的結(jié)果,在前端界面為用戶提供多元化的結(jié)果展示。步驟6:利用全局采集到的用戶問答記錄和具體用戶資料信息,分析每個用戶在問答系統(tǒng)中的活躍程度、感興趣領(lǐng)域以及擅長領(lǐng)域等信息。對于單個用戶,系統(tǒng)形成了該用戶所發(fā)表微博和所有回答的資料庫。對這些微博資料進行分詞之后,通過tf-1df (詞頻-反文檔頻率)算法計算排序最高的關(guān)鍵詞作為標(biāo)簽。具體的關(guān)鍵詞tf-1df算法計算如下:
每一個用戶所發(fā)表的微博作為該用戶的文檔集,所有用戶所發(fā)表的微博合成全局的文檔集。通過IKAnalyzer (中文分詞庫)分詞器對每條微博進行分詞,每條微博生成若干關(guān)鍵詞集合,對于某個用戶,每個關(guān)鍵詞的tf (詞頻)值是該用戶文檔集中所包含該關(guān)鍵詞的頻率;與此類似,可計算得出每個關(guān)鍵詞在全局文檔集中出現(xiàn)的頻率。最后,根據(jù)tf-1df公式為每個用戶計算得出所有關(guān)鍵詞的tf-1df值,排序后截取該值最大的一些關(guān)鍵詞表示該用戶的感興趣領(lǐng)域和擅長領(lǐng)域信息。通過該方法,每個用戶維護了一個帶權(quán)重的關(guān)鍵詞向量 Kt1, W1) , (t2, W2),…,(tn, Wn) } O
其次,用戶的活躍程度可以根據(jù)以下方法進行計算:
對于用戶維護單獨的活躍程度active,每個用戶的活躍程度active值根據(jù)該用戶當(dāng)天所發(fā)表的問答微博數(shù)量進行更新。更新后的活躍程度active值是前一天的活躍程度active值乘以固定的衰減系數(shù)(該衰減系數(shù)在0-1之間,通??稍O(shè)置為0.6左右)再加上當(dāng)天該用戶所發(fā)表的問答微博數(shù)量。步驟7:利用步驟6所得到的用戶活躍程度、感興趣和擅長領(lǐng)域等信息,系統(tǒng)自動將該新問題推送給可能感興趣的潛在回答用戶。推送算法可以通過以下過程實現(xiàn):
首先,為了保證提升效果以及防止推送過程對用戶進行騷擾等原因,對用戶活躍程度設(shè)一定臨界值threshold,只向活躍程度值在該臨界值threshold之上的用戶進行推送。其次,計算每個新問題與每個用戶之間的相似度值,該值表示了該問題與用戶之間的相關(guān)性程度,通過對相似度值進行排序,截取相關(guān)性最高的一定量用戶進行推送。具體的相似度值計算方法如下:
新問題內(nèi)容通過分詞可以得到所包含的關(guān)鍵詞列表,根據(jù)步驟6中計算得到的每個用戶關(guān)鍵詞向量,對所有匹配的關(guān)鍵詞權(quán)重加合,作為該問題與該用戶之間的相似度值。最后,對計算得到的推送用戶列表,通過步驟2開發(fā)的數(shù)據(jù)采集和發(fā)布模塊,向該問題原微博發(fā)布一條評論微博,在評論中@到所有待推送的用戶。
權(quán)利要求
1.一種基于微博的眾包問答系統(tǒng)信息采集方法,其特征在于,包括如下步驟: 步驟1:在微博平臺上注冊官方賬號,在微博開放平臺申請成為第三方網(wǎng)站開發(fā)賬號,獲取開發(fā)網(wǎng)站的App Key (應(yīng)用碼)和App Secret (應(yīng)用密鑰); 步驟2:通過微博開放平臺提供的接口,開發(fā)數(shù)據(jù)采集和發(fā)布模塊,向微博平臺采集和發(fā)布數(shù)據(jù),包括問答數(shù)據(jù)以及用戶資料信息; 步驟3:用戶發(fā)起的任何問題只需要O到該官方賬號,該問題原微博以及所有轉(zhuǎn)發(fā)微博將通過數(shù)據(jù)采集和發(fā)布模塊被系統(tǒng)采集收錄; 步驟4:對采集到的問答數(shù)據(jù)進行分析處理:該步驟可提取該問題的整體樹狀轉(zhuǎn)發(fā)結(jié)構(gòu)、提取相似答案、過濾純轉(zhuǎn)發(fā)答案,并對整個話題回答進行各類統(tǒng)計分析; 步驟5:將步驟4提取的該問題的整體樹狀轉(zhuǎn)發(fā)結(jié)構(gòu)、提取相似答案和過濾純轉(zhuǎn)發(fā)答案,以及統(tǒng)計分析的結(jié)果,在前端界面為用戶提供多元化的結(jié)果展示; 步驟6:利用全局采集到的用戶問答記錄和具體用戶資料信息,分析每個用戶在問答系統(tǒng)中的活躍程度、感興趣領(lǐng)域以及擅長領(lǐng)域等信息; 步驟7:利用步驟6所得到的用戶活躍程度、感興趣和擅長領(lǐng)域等信息,系統(tǒng)自動將該新問題推送給可能感興趣的潛在回答用戶。
2.根據(jù)權(quán)利要求1所述基于微博的眾包問答系統(tǒng)信息采集方法,其特征在于,所述步驟2由以下子步驟來實現(xiàn): (1)根據(jù)步驟I獲取的第三方網(wǎng)站應(yīng)用AppKey和App Secrect信息,通過開放平臺的開放授權(quán)0Auth2協(xié)議用官方賬號登陸并完成授權(quán),由此可以獲取該官方賬號訪問微博數(shù)據(jù)的訪問令牌Access Token ;另外,其他微博用戶在系統(tǒng)網(wǎng)站中通過微博登陸和完成授權(quán),同樣也可獲得該賬號綁定的訪問令牌Access Token ; (2)根據(jù)相關(guān)微博賬號所綁定的訪問令牌AccessToken,通過微博開放平臺所提供的獲取數(shù)據(jù)和發(fā)布數(shù)據(jù)API,實現(xiàn)數(shù)據(jù)采集和發(fā)布模塊的代碼; (3)完成具體的開發(fā)之后,微博的用戶只需要通過開放授權(quán)0Auth2登陸授權(quán),系統(tǒng)就可以對該用戶的數(shù)據(jù)進行采集和發(fā)布,所采集的數(shù)據(jù)包括用戶所發(fā)表的問答微博數(shù)據(jù)和用戶資料信息。
3.根據(jù)權(quán)利要求1所述基于微博的眾包問答系統(tǒng)信息采集方法,其特征在于,所述步驟4中,所述對整個話題回答進行各類統(tǒng)計分析由以下子步驟來實現(xiàn): (1)根據(jù)微博的轉(zhuǎn)發(fā)格式,對轉(zhuǎn)發(fā)微博的文本內(nèi)容進行分析,提取該話題的整體樹狀轉(zhuǎn)發(fā)結(jié)構(gòu);微博的轉(zhuǎn)發(fā)一般都以“//”的形式進行分隔,通過對轉(zhuǎn)發(fā)內(nèi)容的解析可以獲得該條轉(zhuǎn)發(fā)微博本身的文本內(nèi)容,以及它所轉(zhuǎn)發(fā)的父微博;對一個問題的所有轉(zhuǎn)發(fā)微博進行分析之后,就可以得出該話題的整體樹狀轉(zhuǎn)發(fā)結(jié)構(gòu); (2)根據(jù)上一過程獲取每條轉(zhuǎn)發(fā)微博本身的文本內(nèi)容,如果該文本內(nèi)容為空,則這是一條純轉(zhuǎn)發(fā)答案,可以進行過濾; (3)在提取相似答案步驟,根據(jù)每條回答的文本內(nèi)容,通過最長公共子串LCS算法和字符串相似度Levenshtein距離算法計算文本之間的相似距離,對整個問題的所有答案進行相似答案聚類; (4)根據(jù)一個話題的所有回答微博,統(tǒng)計回答時間、回答用戶所在城市等分布信息。
全文摘要
本發(fā)明公開了一種基于微博的眾包問答系統(tǒng)信息采集方法,該發(fā)明首先實現(xiàn)了與微博平臺進行數(shù)據(jù)交互的數(shù)據(jù)采集和發(fā)布模塊,通過該模塊自動采集系統(tǒng)相關(guān)的所有問答數(shù)據(jù)和用戶資料信息;對于采集到的問答數(shù)據(jù)進行后臺分析處理,為用戶提供更直觀和專業(yè)的回答結(jié)果展示;另外,系統(tǒng)通過對用戶資料信息和問答行為的具體分析,將各類新問題有效推送給可能回答的潛在用戶,以對新問題進行高效、快速擴散;應(yīng)用本發(fā)明的方法,可以通過微博平臺實現(xiàn)問答系統(tǒng)更高效快速地獲取答案。
文檔編號G06F17/30GK103106267SQ20131004055
公開日2013年5月15日 申請日期2013年2月2日 優(yōu)先權(quán)日2013年2月2日
發(fā)明者胡天磊, 伍賽, 陳剛, 周顯錁, 張冰冰, 陳珂 申請人:浙江大學(xué)