999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于微信的自動問答系統研究

2014-12-29 00:00:00石凱諶志群
計算機時代 2014年9期

摘 要: 自動問答是計算機與人類以自然語言的形式進行交流的一種方式,是人工智能研究的一個分支。介紹了微信公眾平臺的特點及其開發接口,研究了Lucene全文檢索工具包和IK Analyzer中文分詞工具包,并最終實現了一個基于微信的自動問答系統,可為用戶提供自動問答服務。測試結果表明,該系統具有一定的實用性。

關鍵詞: 自動問答; 微信公眾平臺; Lucene; IK Analyzer

中圖分類號:TP391.1;TP18 文獻標志碼:A 文章編號:1006-8228(2014)09-09-03

Automatic question-answering system based on WeChat

Shi Kai, Chen Zhiqun

(School of computer science and technology, Hangzhou Dianzi University, Hangzhou, Zhejiang 310018, China)

Abstract: Automatic question-answering is a way that computers communicate with humans in the form of natural language. It is a branch of artificial intelligence research. The features and the interface of the public platform of WeChat are introduced. The Lucene full-text retrieval toolkit and the IK Analyzer Chinese participle toolkit are studied. An automatic question-answering system based on WeChat is realized. The system can provide users with a question-answering service. The test results show that the system has a certain practicality.

Key words: automatic question-answering; the public platform of WeChat; Lucene; IK Analyzer

0 引言

近年來,隨著互聯網的快速發展,網絡上的信息量呈現出爆炸式增長的勢頭。用戶在互聯網上搜索問題時,傳統搜索引擎暴露出兩個問題:①用戶常因關鍵字選擇不準確而導致搜索失敗;②搜索結果是一大堆網頁鏈接,用戶仍需逐個打開查看。于是,自動問答系統[1]成為了當下研究的熱點。這是因為自動問答系統允許用戶以一種自然語言的形式進行提問,并且直接給出答案。目前,國外已經有幾個比較成熟的問答系統,如:Start、Webclopedia、AnswerBus等系統。但是相比之下,由于中文本身的語義、語法復雜性等多方面因素,中文問答系統的發展則相對遜色一點。本文主要討論如何借助微信公眾平臺,利用Lucene和IK Analyzer兩個開源工具,構建一個自動問答系統。

1 微信公眾平臺

微信公眾平臺[2]是騰訊公司在微信基礎上新增的功能模塊,通過這個平臺,個人和企業都能打造一個屬于自己的微信公眾賬號,并且能夠實現和特定群體之間文字、圖片及語音的溝通和互動。

由于微信擁有其得天獨厚的優勢,它的用戶基數早已突破六億,所以,基于微信公眾平臺的開發也正如火如荼地發展起來。微信團隊給開發者提供了一套標準的接口,為開發者的開發工作提供了很大的便利。我們從圖1中可以知道,開發者要做的就是兩件事:①如何正確使用微信開發的消息接口來收發消息;②服務器如何正確處理接收到的消息。其他的事情只要交給微信的服務器去做就行了。本系統正是利用微信公眾平臺開發的這些優勢,只專注于自動問答系統的實現過程,大大減少了網絡通信的工作量,選擇它作為問答這一互動過程的交流渠道也是基于這些考量。

對于開發人員而言,首先要做的是了解微信公眾平臺的消息接口。如圖2所示,雖然微信消息有很多種類,但其基礎接口總體上可以分為兩大類,按照微信公布的接口格式對其進行封裝處理可以大大減少程序代碼的編寫量。

2 Lucene全文檢索工具包

Lucene[3]是一套用于全文檢索和搜索的開源工具包,由Apache軟件基金會支持和提供。但Lucene不是一個完整的全文索引應用,而是一個用Java寫的全文索引引擎工具包,它可以方便地嵌入到各種應用中以實現針對應用的全文檢索功能。

Lucene最核心的兩個功能就是索引和檢索。它給開發人員提供了很多的API,其中IndexWriter類是創建索引的核心類,IndexSearcher類是搜索的核心類。本系統正是使用這兩個類來對數據源建立索引和全文檢索,以實現正確匹配用戶問題的功能。

3 IK Analyzer中文分詞工具包

IK Analyzer[4]是一個開源的,基于Java語言開發的輕量級的中文分詞工具包,采用的是“正向迭代最細粒度切分算法”。在最初,它是以開源項目Lucene為應用主體,并且結合了詞典分詞和文法分析算法的中文分詞組件。

IK Analyzer一共支持兩種分詞模式:智能切分和細粒度切分。這兩種分詞模式各有自己的優勢。對于同樣數量的文章,智能分詞得到的關鍵詞少,生成的索引文件小,用相同的關鍵詞進行搜索檢索得到的結果少、匹配度高;而細粒度分詞因為切分得更細,所以得到的關鍵詞多,生成的索引文件大,用相同的關鍵詞進行搜索檢索得到的結果更多。

4 系統設計和實現

系統工作流程如圖3所示。首先,系統按照微信開發的消息接口格式接收來自微信公眾平臺的消息。然后,系統會用IK Analyzer中文分詞工具對用戶的問題進行分詞處理,再用Lucene工具在事先創建好的FAQ庫索引上進行全文檢索。接下來,在檢索完之后的相關文檔中,選出得分最高的文檔去匹配該問題所對應的答案。最后,系統再按照微信開發的消息接口格式,將要回復給用戶的消息封裝成相對應的消息格式,并發送還微信的服務器,通過微信的服務器把用戶問題的答案發送給用戶。

4.1 FAQ庫設計模塊

FAQ(Frequently Asked Questions,常見疑問)庫[5]是事先準備好的一些問題-答案對,回復給用戶的答案都存在這個數據庫中。而Lucene正是根據FAQ庫的內容建立的索引文件,這也是系統能正常工作的前提條件。

⑴ QA表存儲的是問題-答案對,這是一個問題只對應一個答案的情況。

⑵ QA_Sub表存儲的也是問題-答案對,這是一個問題對應多個答案的情況。換句話說,當一個問題有多個答案時,系統將不再從QA表中獲取答案,而是從QA_Sub表中隨機地抽取一個該問題所對應的答案。其中,pid作為外鍵,就是指QA表中的問題-答案對的編號(id字段)。

⑶ ChatHistory表存儲的是用戶與公眾號之間的聊天記錄。通過查看聊天記錄,我們可以針對系統不能回答或者回答得不好的問題進行人工的補充和修改。通過定期地更新FAQ庫中的內容,可以逐步地完善FAQ庫,使系統能回答越來越多的問題,保證FAQ庫的健壯性。

4.2 問題分析模塊

在這個模塊中,系統借用的是開源的IK Analyzer中文分詞工具包來實現。在智能切分模式下,IK Analyzer工具能對用戶發來的問題進行很好的分詞處理。除此之外,IK Analyzer不僅可以對專業詞匯進行擴充,還可以針對某些特定的應用場景使用停用詞典來提高分詞的準確率。不過,由于系統主要是用于人們日常生活的交流,并不涉及到某些領域的專業詞匯,所以系統僅僅是簡單地采用智能切分來處理用戶的問題,并沒有對專業詞匯進行擴充或使用停用詞典。

4.3 全文檢索模塊

在這個模塊中,系統借用的是開源的Lucene開源檢索工具包來實現。在對用戶的問題進行分詞處理之后,系統要用分詞后的內容在基于FAQ庫建立的索引文件之上使用開源的Lucene工具包進行全文檢索。Lucene擁有強大的搜索功能,其中IndexSearcher就是其搜索的核心類,用于在指定的索引文件中進行搜索。而Search()方法能夠幫助我們找到得分前n的相關文檔集合。

4.4 答案抽取模塊

答案抽取模塊是對全文檢索出來的相關文檔作進一步的篩選。簡單地,我們可以直接選取得分Top1的文檔來當做最匹配的問題,然后再根據該問題的id去FAQ庫中選出答案返回給用戶。但是,Lucene有著自己的一套評分機制,我們也可以通過干預Lucene的評分公式來影響它的排序結果,從而可以針對不同的場合選取更合適的答案。

5 系統測試

本系統分別在裝有5.2.1版本微信客戶端的安卓和蘋果手機上進行測試,測試顯示運行效果良好,系統能正常地與用戶進行日常交流。測試效果如圖4所示。

6 結束語

對自動問答系統的研究已經得到越來越多的重視,用戶可以通過這些研究成果或方法快速得到自己想要的答案。本文對微信公眾平臺進行了簡單的介紹,分析了系統的主要功能模塊,并實現了一個簡單的自動問答系統。測試結果表明,該系統達到了預期的效果。但是FAQ庫的內容來源及其后期的維護和補充仍是一個龐大的工程,有大量的工作需要做。

參考文獻:

[1] 毛先領,李曉明.問答系統研究綜述[J].計算機科學與探索,2012.6(3):

193-207

[2] 張德申,秦紅亮.微信公眾平臺開發—訂閱號功能開發研究[J].電子

技術與軟件工程,2013.18:66-68

[3] 李永春,丁華福.Lucene的全文檢索的研究與應用[J].計算機技術與

發展,2010.20(2):12-15

[4] 黃翼彪.開源中文分詞器的比較研究[D].鄭州大學,2013.

[5] 強繼朋.FAQ問答系統中的問句相似度研究[D].合肥工業大學,

2013.

主站蜘蛛池模板: 日韩毛片免费视频| 一本大道无码高清| 成年人福利视频| 国产一级毛片网站| 日韩亚洲高清一区二区| 日韩精品一区二区三区免费在线观看| 国产精品久久久久久久伊一| 日本久久网站| 国产精品思思热在线| 精品欧美日韩国产日漫一区不卡| 国产在线高清一级毛片| 国产成人久视频免费| 视频二区亚洲精品| 亚洲一区二区成人| 欧美日韩va| 精品夜恋影院亚洲欧洲| 无码一区中文字幕| 国产日韩精品一区在线不卡| 日本亚洲欧美在线| 91免费国产在线观看尤物| h视频在线观看网站| 国产成人乱码一区二区三区在线| 福利国产微拍广场一区视频在线| 久久人搡人人玩人妻精品 | 国产免费看久久久| 全部无卡免费的毛片在线看| 99视频在线观看免费| 国产呦视频免费视频在线观看| 国产亚洲美日韩AV中文字幕无码成人| 欧美成人综合视频| 2018日日摸夜夜添狠狠躁| 亚洲日本中文字幕天堂网| 久久免费精品琪琪| 91区国产福利在线观看午夜| 免费A∨中文乱码专区| 亚洲AV一二三区无码AV蜜桃| 免费国产不卡午夜福在线观看| 免费观看三级毛片| 久久精品无码一区二区日韩免费| 欧美一区二区三区香蕉视| 国产成人1024精品| 国产在线精品美女观看| 毛片久久久| 激情影院内射美女| 中国一级特黄视频| 久久男人资源站| 中文国产成人精品久久| 国产欧美日韩免费| 自慰网址在线观看| 国产视频自拍一区| 国产精品福利一区二区久久| 亚洲一区二区在线无码| 国产专区综合另类日韩一区| 亚洲天堂区| a级毛片免费在线观看| 亚洲人精品亚洲人成在线| 国产福利一区在线| 国禁国产you女视频网站| 91精品国产一区自在线拍| a毛片在线| 91精品啪在线观看国产91| 国产区91| 亚洲日韩国产精品综合在线观看| 国产精品久久久久久久伊一| 免费一级无码在线网站| 青青网在线国产| 波多野结衣国产精品| 55夜色66夜色国产精品视频| 成人av专区精品无码国产| 日韩精品专区免费无码aⅴ| 国产va视频| 99草精品视频| 永久成人无码激情视频免费| 久久婷婷六月| 午夜欧美理论2019理论| 久久人人妻人人爽人人卡片av| 91口爆吞精国产对白第三集| 波多野结衣一区二区三视频| 免费黄色国产视频| 精品成人一区二区三区电影| 真实国产乱子伦视频| 国产精品欧美日本韩免费一区二区三区不卡|