文本摘要演算法
MD5是不可能逆向的。
王教授的碰撞法是利用了MD5或者SHA1演算法的一個特性,
根據MD5和SHA1等Hash演算法的特點,因為他們是任意長度的字元串變成固定長度的摘要信息。
那麼這里就有可能發生一個問題,就是不同的字元串在理論上是有可能產生相同的摘要信息。
王教授所謂的碰撞法,碰撞的就是不同的字元串所產生的摘要信息是一樣的那些字元串。因此得名碰撞法。
碰撞就是體現在這里。沒有什麼其它的傳神的東西了。根據SHA1和MD5等Hash演算法,在設計時候,設計這個演算法的人認為不同的字元串要產生相同結果的摘要信息的可能性幾乎為零。而王教授則證明了SHA1和MD5等Hash演算法產生的摘要信息規則是可以在比較短時間內被破解的。這樣一來,原始數據的
Integrity
就被打破了。
所謂的破解,也就是體現在這里。
至於破解工具,下面的地址提供一些免費的破解服務,能破解一些簡單的密碼,其實都是採用字典或暴力破解。
www.cmd5.com
www.xmd5.org
我有時去破解一些常用的密碼,有一定的成功率
Ⅱ 請翻譯下面的內容。。
With the continuous development of Internet technology and popularization, facing the mass information, people urgent need for a fast and accurate to obtain information. Thus appeared many text processing technology, including the text classification, text clustering, text based. One text refers to the text information content generalization, main contents and forms the extraction process. The following is the text information retrieval after information or knowledge acquisition is an important step for fast searching for, the text, abstract is very important.
Due to the articles in information retrieval can play an important role, so a good this algorithm is very important. At present, however, the calculation method of each sentence is with the whole document similarity, according to their sequence in the text of the output of certain related to realize the sentences. This method, there is no problems from the view of global text content, language expression, the diversity of the presence of large amounts of information rendancy.
This design based on genetic algorithm is presented by clustering techniques mentioned in the article, after searching, relevant sentence sets processing, with each of the most relevant cluster center as abstract output. Thus, from the Angle of the global important content, can effectively avoid the rendant information in the proction.
Ⅲ 摘要演算法的分類
1、CRC8、CRC16、CRC32
CRC(Cyclic Rendancy Check,循環冗餘校驗)演算法出現時間較長,應用也十分廣泛,尤其是通訊領域,現在應用最多的就是 CRC32 演算法,它產生一個4位元組(32位)的校驗值,一般是以8位十六進制數,如FA 12 CD 45等。CRC演算法的優點在於簡便、速度快,嚴格的來說,CRC更應該被稱為數據校驗演算法,但其功能與數據摘要演算法類似,因此也作為測試的可選演算法。
在 WinRAR、WinZIP 等軟體中,也是以 CRC32 作為文件校驗演算法的。一般常見的簡單文件校驗(Simple File Verify – SFV)也是以 CRC32演算法為基礎,它通過生成一個後綴名為 .SFV 的文本文件,這樣可以任何時候可以將文件內容 CRC32運算的結果與 .SFV 文件中的值對比來確定此文件的完整性。
與 SFV 相關工具軟體有很多,如MagicSFV、MooSFV等。
2、MD2 、MD4、MD5
這是應用非常廣泛的一個演算法家族,尤其是 MD5(Message-Digest Algorithm 5,消息摘要演算法版本5),它由MD2、MD3、MD4發展而來,由Ron Rivest(RSA公司)在1992年提出,被廣泛應用於數據完整性校驗、數據(消息)摘要、數據加密等。MD2、MD4、MD5 都產生16位元組(128位)的校驗值,一般用32位十六進制數表示。MD2的演算法較慢但相對安全,MD4速度很快,但安全性下降,MD5比MD4更安全、速度更快。
在互聯網上進行大文件傳輸時,都要得用MD5演算法產生一個與文件匹配的、存儲MD5值的文本文件(後綴名為 .md5或.md5sum),這樣接收者在接收到文件後,就可以利用與 SFV 類似的方法來檢查文件完整性,絕大多數大型軟體公司或開源組織都是以這種方式來校驗數據完整性,而且部分操作系統也使用此演算法來對用戶密碼進行加密,另外,它也是目前計算機犯罪中數據取證的最常用演算法。
與MD5 相關的工具有很多,如 WinMD5等。
3、SHA1、SHA256、SHA384、SHA512
SHA(Secure Hash Algorithm)是由美國專門制定密碼演算法的標准機構—— 美國國家標准技術研究院(NIST)制定的,SHA系列演算法的摘要長度分別為:SHA為20位元組(160位)、SHA256為32位元組(256位)、 SHA384為48位元組(384位)、SHA512為64位元組(512位),由於它產生的數據摘要的長度更長,因此更難以發生碰撞,因此也更為安全,它是未來數據摘要演算法的發展方向。由於SHA系列演算法的數據摘要長度較長,因此其運算速度與MD5相比,也相對較慢。
SHA1的應用較為廣泛,主要應用於CA和數字證書中,另外在互聯網中流行的BT軟體中,也是使用SHA1來進行文件校驗的。
4、RIPEMD、PANAMA、TIGER、ADLER32 等
RIPEMD是Hans Dobbertin等3人在對MD4,MD5缺陷分析基礎上,於1996年提出來的,有4個標准128、160、256和320,其對應輸出長度分別為16位元組、20位元組、32位元組和40位元組。
TIGER由Ross在1995年提出。Tiger號稱是最快的Hash演算法,專門為64位機器做了優化。
Ⅳ MD5是什麼
MD5的全稱是Message-digest Algorithm 5(信息-摘要演算法),用於確保信息傳輸完整一致。在90年代初由MIT Laboratory for Computer Science和RSA Data Security Inc,的Ronald L. Rivest開發出來,經MD2、MD3和MD4發展而來。它的作用是讓大容量信息在用數字簽名軟體簽署私人密鑰前被"壓縮"成一種保密的格式(就是把一個任意長度的位元組串變換成一定長的大整數)。不管是MD2、MD4還是MD5,它們都需要獲得一個隨機長度的信息並產生一個128位的信息摘要。雖然這些演算法的結構或多或少有些相似,但MD2的設計與MD4和MD5完全不同,那是因為MD2是為8位機器做過設計優化的,而MD4和MD5卻是面向32位的電腦。這三個演算法的描述和c語言源代碼在Internet RFC 1321中有詳細的描述(http://www.ietf.org/rfc/rfc1321.txt),這是一份最權威的文檔,由Ronald L. Rivest在1992年8月向IETF提交。
對MD5演算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。
在MD5演算法中,首先需要對信息進行填充,使其位長對512求余的結果等於448。因此,信息的位長(Bits Length)將被擴展至N*512+448,即N*64+56個位元組(Bytes),N為一個正整數。填充的方法如下,在信息的後面填充一個1和無數個0,直到滿足上面的條件時才停止用0對信息的填充。然後,在在這個結果後面附加一個以64位二進製表示的填充前信息長度。經過這兩步的處理,現在的信息的位長=N*512+448+64=(N+1)*512,即長度恰好是512的整數倍。這樣做的原因是為滿足後面處理中對信息長度的要求。
MD5中有四個32位被稱作鏈接變數(Chaining Variable)的整數參數,他們分別為:A=0x01234567,B=0x89abcdef,C=0xfedcba98,D=0x76543210。
當設置好這四個鏈接變數後,就開始進入演算法的四輪循環運算。循環的次數是信息中512位信息分組的數目。
將上面四個鏈接變數復制到另外四個變數中:A到a,B到b,C到c,D到d。
主循環有四輪(MD4隻有三輪),每輪循環都很相似。第一輪進行16次操作。每次操作對a、b、c和d中的其中三個作一次非線性函數運算,然後將所得結果加上第四個變數,文本的一個子分組和一個常數。再將所得結果向右環移一個不定的數,並加上a、b、c或d中之一。最後用該結果取代a、b、c或d中之一。
以一下是每次操作中用到的四個非線性函數(每輪一個)。
F(X,Y,Z) =(X&Y)|((~X)&Z)
G(X,Y,Z) =(X&Z)|(Y&(~Z))
H(X,Y,Z) =X^Y^Z
I(X,Y,Z)=Y^(X|(~Z))
(&是與,|是或,~是非,^是異或)
這四個函數的說明:如果X、Y和Z的對應位是獨立和均勻的,那麼結果的每一位也應是獨立和均勻的。
F是一個逐位運算的函數。即,如果X,那麼Y,否則Z。函數H是逐位奇偶操作符。
假設Mj表示消息的第j個子分組(從0到15),<<
FF(a, b, c, d, Mj, s, ti)表示 a = b + ((a + (F(b, c, d) + Mj + ti) << s
GG(a, b, c, d, Mj, s, ti)表示 a = b + ((a + (G(b, c, d) + Mj + ti) << s
HH(a, b, c, d, Mj, s, ti)表示 a = b + ((a + (H(b, c, d) + Mj + ti) << s
II(a, b, c, d, Mj, s, ti)表示 a = b + ((a + (I(b, c, d) + Mj + ti) << s
這四輪(64步)是:
第一輪
FF(a, b, c, d, M0, 7, 0xd76aa478)
FF(d, a, b, c, M1, 12, 0xe8c7b756)
FF(c, d, a, b, M2, 17, 0x242070db)
FF(b, c, d, a, M3, 22, 0xc1bdceee)
FF(a, b, c, d, M4, 7, 0xf57c0faf)
FF(d, a, b, c, M5, 12, 0x4787c62a)
FF(c, d, a, b, M6, 17, 0xa8304613)
FF(b, c, d, a, M7, 22, 0xfd469501)
FF(a, b, c, d, M8, 7, 0x698098d8)
FF(d, a, b, c, M9, 12, 0x8b44f7af)
FF(c, d, a, b, M10, 17, 0xffff5bb1)
FF(b, c, d, a, M11, 22, 0x895cd7be)
FF(a, b, c, d, M12, 7, 0x6b901122)
FF(d, a, b, c, M13, 12, 0xfd987193)
FF(c, d, a, b, M14, 17, 0xa679438e)
FF(b, c, d, a, M15, 22, 0x49b40821)
第二輪
GG(a, b, c, d, M1, 5, 0xf61e2562)
GG(d, a, b, c, M6, 9, 0xc040b340)
GG(c, d, a, b, M11, 14, 0x265e5a51)
GG(b, c, d, a, M0, 20, 0xe9b6c7aa)
GG(a, b, c, d, M5, 5, 0xd62f105d)
GG(d, a, b, c, M10, 9, 0x02441453)
GG(c, d, a, b, M15, 14, 0xd8a1e681)
GG(b, c, d, a, M4, 20, 0xe7d3fbc8)
GG(a, b, c, d, M9, 5, 0x21e1cde6)
GG(d, a, b, c, M14, 9, 0xc33707d6)
GG(c, d, a, b, M3, 14, 0xf4d50d87)
GG(b, c, d, a, M8, 20, 0x455a14ed)
GG(a, b, c, d, M13, 5, 0xa9e3e905)
GG(d, a, b, c, M2, 9, 0xfcefa3f8)
GG(c, d, a, b, M7, 14, 0x676f02d9)
GG(b, c, d, a, M12, 20, 0x8d2a4c8a)
第三輪
HH(a, b, c, d, M5, 4, 0xfffa3942)
HH(d, a, b, c, M8, 11, 0x8771f681)
HH(c, d, a, b, M11, 16, 0x6d9d6122)
HH(b, c, d, a, M14, 23, 0xfde5380c)
HH(a, b, c, d, M1, 4, 0xa4beea44)
HH(d, a, b, c, M4, 11, 0x4bdecfa9)
HH(c, d, a, b, M7, 16, 0xf6bb4b60)
HH(b, c, d, a, M10, 23, 0xbebfbc70)
HH(a, b, c, d, M13, 4, 0x289b7ec6)
HH(d, a, b, c, M0, 11, 0xeaa127fa)
HH(c, d, a, b, M3, 16, 0xd4ef3085)
HH(b, c, d, a, M6, 23, 0x04881d05)
HH(a, b, c, d, M9, 4, 0xd9d4d039)
HH(d, a, b, c, M12, 11, 0xe6db99e5)
HH(c, d, a, b, M15, 16, 0x1fa27cf8)
HH(b, c, d, a, M2, 23, 0xc4ac5665)
第四輪
II(a, b, c, d, M0, 6, 0xf4292244)
II(d, a, b, c, M7, 10, 0x432aff97)
II(c, d, a, b, M14, 15, 0xab9423a7)
II(b, c, d, a, M5, 21, 0xfc93a039)
II(a, b, c, d, M12, 6, 0x655b59c3)
II(d, a, b, c, M3, 10, 0x8f0ccc92)
II(c, d, a, b, M10, 15, 0xffeff47d)
II(b, c, d, a, M1, 21, 0x85845dd1)
II(a, b, c, d, M8, 6, 0x6fa87e4f)
II(d, a, b, c, M15, 10, 0xfe2ce6e0)
II(c, d, a, b, M6, 15, 0xa3014314)
II(b, c, d, a, M13, 21, 0x4e0811a1)
II(a, b, c, d, M4, 6, 0xf7537e82)
II(d, a, b, c, M11, 10, 0xbd3af235)
II(c, d, a, b, M2, 15, 0x2ad7d2bb)
II(b, c, d, a, M9, 21, 0xeb86d391)
常數ti可以如下選擇:
在第i步中,ti是4294967296*abs(sin(i))的整數部分,i的單位是弧度。(4294967296等於2的32次方)
所有這些完成之後,將A、B、C、D分別加上a、b、c、d。然後用下一分組數據繼續運行演算法,最後的輸出是A、B、C和D的級聯。
當你按照我上面所說的方法實現MD5演算法以後,你可以用以下幾個信息對你做出來的程序作一個簡單的測試,看看程序有沒有錯誤。
MD5 ("") =
MD5 ("a") =
MD5 ("abc") =
MD5 ("message digest") =
MD5 ("abcdefghijklmnopqrstuvwxyz") =
MD5 ("") =
Ⅳ 詳細解讀你所不了解的「大數據」
詳細解讀你所不了解的「大數據」
進入2012年,大數據(bigdata)一詞越來越多地被提及,人們用它來描述和定義信息爆炸時代產生的海量數據,並命名與之相關的技術發展與創新。它已經上過《》《華爾街日報》的專欄封面,進入美國白宮官網的新聞,現身在國內一些互聯網主題的講座沙龍中,甚至被嗅覺靈敏的證券公司等寫進了投資推薦報告。
一、大數據出現的背景
進入2012年,大數據(bigdata)一詞越來越多地被提及,人們用它來描述和定義信息爆炸時代產生的海量數據,並命名與之相關的技術發展與創新。它已經上過《》《華爾街日報》的專欄封面,進入美國白宮官網的新聞,現身在國內一些互聯網主題的講座沙龍中,甚至被嗅覺靈敏的證券公司等寫進了投資推薦報告。
數據正在迅速膨脹並變大,它決定著企業的未來發展,雖然現在企業可能並沒有意識到數據爆炸性增長帶來問題的隱患,但是隨著時間的推移,人們將越來越多的意識到數據對企業的重要性。大數據時代對人類的數據駕馭能力提出了新的挑戰,也為人們獲得更為深刻、全面的洞察能力提供了前所未有的空間與潛力。
最早提出大數據時代到來的是全球知名咨詢公司麥肯錫,麥肯錫稱:「數據,已經滲透到當今每一個行業和業務職能領域,成為重要的生產因素。人們對於海量數據的挖掘和運用,預示著新一波生產率增長和消費者盈餘浪潮的到來。」「大數據」在物理學、生物學、環境生態學等領域以及軍事、金融、通訊等行業存在已有時日,卻因為近年來互聯網和信息行業的發展而引起人們關注。
大數據在互聯網行業指的是這樣一種現象:互聯網公司在日常運營中生成、累積的用戶網路行為數據。這些數據的規模是如此龐大,以至於不能用G或T來衡量,大數據的起始計量單位至少是P(1000個T)、E(100萬個T)或Z(10億個T)。
二、什麼是大數據?
信息技術領域原先已經有「海量數據」、「大規模數據」等概念,但這些概念只著眼於數據規模本身,未能充分反映數據爆發背景下的數據處理與應用需求,而「大數據」這一新概念不僅指規模龐大的數據對象,也包含對這些數據對象的處理和應用活動,是數據對象、技術與應用三者的統一。
1、大數據(bigdata),或稱巨量資料,指的是所涉及的資料量規模巨大到無法透過目前主流軟體工具,在合理時間內達到擷取、管理、處理、並整理成為幫助企業經營決策更積極目的的資訊。大數據對象既可能是實際的、有限的數據集合,如某個政府部門或企業掌握的資料庫,也可能是虛擬的、無限的數據集合,如微博、微信、社交網路上的全部信息。
大數據是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產。從數據的類別上看,「大數據」指的是無法使用傳統流程或工具處理或分析的信息。它定義了那些超出正常處理范圍和大小、迫使用戶採用非傳統處理方法的數據集。
亞馬遜網路服務(AWS)、大數據科學家JohnRauser提到一個簡單的定義:大數據就是任何超過了一台計算機處理能力的龐大數據量。研發小組對大數據的定義:「大數據是最大的宣傳技術、是最時髦的技術,當這種現象出現時,定義就變得很混亂。」Kelly說:「大數據是可能不包含所有的信息,但我覺得大部分是正確的。對大數據的一部分認知在於,它是如此之大,分析它需要多個工作負載,這是AWS的定義。
2、大數據技術,是指從各種各樣類型的大數據中,快速獲得有價值信息的技術的能力,包括數據採集、存儲、管理、分析挖掘、可視化等技術及其集成。適用於大數據的技術,包括大規模並行處理(MPP)資料庫,數據挖掘電網,分布式文件系統,分布式資料庫,雲計算平台,互聯網,和可擴展的存儲系統。
3、大數據應用,是指對特定的大數據集合,集成應用大數據技術,獲得有價值信息的行為。對於不同領域、不同企業的不同業務,甚至同一領域不同企業的相同業務來說,由於其業務需求、數據集合和分析挖掘目標存在差異,所運用的大數據技術和大數據信息系統也可能有著相當大的不同。惟有堅持「對象、技術、應用」三位一體同步發展,才能充分實現大數據的價值。
當你的技術達到極限時,也就是數據的極限」。大數據不是關於如何定義,最重要的是如何使用。最大的挑戰在於哪些技術能更好的使用數據以及大數據的應用情況如何。這與傳統的資料庫相比,開源的大數據分析工具的如Hadoop的崛起,這些非結構化的數據服務的價值在哪裡。
三、大數據的類型和價值挖掘方法
1、大數據的類型大致可分為三類:
1)傳統企業數據(Traditionalenterprisedata):包括 CRMsystems的消費者數據,傳統的ERP數據,庫存數據以及賬目數據等。
2)機器和感測器數據(Machine-generated/sensor data):包括呼叫記錄(CallDetailRecords),智能儀表,工業設備感測器,設備日誌(通常是Digital exhaust),交易數據等。
3)社交數據(Socialdata):包括用戶行為記錄,反饋數據等。如Twitter,Facebook這樣的社交媒體平台。
2、大數據挖掘商業價值的方法主要分為四種:
1)客戶群體細分,然後為每個群體量定製特別的服務。
2)模擬現實環境,發掘新的需求同時提高投資的回報率。
3)加強部門聯系,提高整條管理鏈條和產業鏈條的效率。
4)降低服務成本,發現隱藏線索進行產品和服務的創新。
四、大數據的特點
業界通常用4個V(即Volume、Variety、Value、Velocity)來概括大數據的特徵。具體來說,大數據具有4個基本特徵:
1、是數據體量巨大
數據體量(volumes)大,指代大型數據集,一般在10TB規模左右,但在實際應用中,很多企業用戶把多個數據集放在一起,已經形成了PB級的數據量;網路資料表明,其新首頁導航每天需要提供的數據超過1.5PB(1PB=1024TB),這些數據如果列印出來將超過5千億張A4紙。有資料證實,到目前為止,人類生產的所有印刷材料的數據量僅為200PB。
2、是數據類別大和類型多樣
數據類別(variety)大,數據來自多種數據源,數據種類和格式日漸豐富,已沖破了以前所限定的結構化數據范疇,囊括了半結構化和非結構化數據。現在的數據類型不僅是文本形式,更多的是圖片、視頻、音頻、地理位置信息等多類型的數據,個性化數據占絕對多數。
3、是處理速度快
在數據量非常龐大的情況下,也能夠做到數據的實時處理。數據處理遵循「1秒定律」,可從各種類型的數據中快速獲得高價值的信息。
4、是價值真實性高和密度低
數據真實性(Veracity)高,隨著社交數據、企業內容、交易與應用數據等新數據源的興趣,傳統數據源的局限被打破,企業愈發需要有效的信息之力以確保其真實性及安全性。以視頻為例,一小時的視頻,在不間斷的監控過程中,可能有用的數據僅僅只有一兩秒。
五、大數據的作用
1、對大數據的處理分析正成為新一代信息技術融合應用的結點
移動互聯網、物聯網、社交網路、數字家庭、電子商務等是新一代信息技術的應用形態,這些應用不斷產生大數據。雲計算為這些海量、多樣化的大數據提供存儲和運算平台。通過對不同來源數據的管理、處理、分析與優化,將結果反饋到上述應用中,將創造出巨大的經濟和社會價值。
大數據具有催生社會變革的能量。但釋放這種能量,需要嚴謹的數據治理、富有洞見的數據分析和激發管理創新的環境(RamayyaKrishnan,卡內基·梅隆大學海因茲學院院長)。
2、大數據是信息產業持續高速增長的新引擎
面向大數據市場的新技術、新產品、新服務、新業態會不斷涌現。在硬體與集成設備領域,大數據將對晶元、存儲產業產生重要影響,還將催生一體化數據存儲處理伺服器、內存計算等市場。在軟體與服務領域,大數據將引發數據快速處理分析、數據挖掘技術和軟體產品的發展。
3、大數據利用將成為提高核心競爭力的關鍵因素
各 行各業的決策正在從「業務驅動」轉變「數據驅動」。對大數據的分析可以使零售商實時掌握市場動態並迅速做出應對;可以為商家制定更加精準有效的營銷策略提供決策支持;可以幫助企業為消費者提供更加及時和個性化的服務;在醫療領域,可提高診斷准確性和葯物有效性;在公共事業領域,大數據也開始發揮促進經濟發展、維護社會穩定等方面的重要作用。
4、大數據時代科學研究的方法手段將發生重大改變
例如,抽樣調查是社會科學的基本研究方法。在大數據時代,可通過實時監測、跟蹤研究對象在互聯網上產生的海量行為數據,進行挖掘分析,揭示出規律性的東西,提出研究結論和對策。
六、大數據的商業價值
1、對顧客群體細分
「大數據」可以對顧客群體細分,然後對每個群體量體裁衣般的採取獨特的行動。瞄準特定的顧客群體來進行營銷和服務是商家一直以來的追求。雲存儲的海量數據和「大數據」的分析技術使得對消費者的實時和極端的細分有了成本效率極高的可能。
2、模擬實境
運用「大數據」模擬實境,發掘新的需求和提高投入的回報率。現在越來越多的產品中都裝有感測器,汽車和智能手機的普及使得可收集數據呈現爆炸性增長。Blog、Twitter、Facebook和微博等社交網路也在產生著海量的數據。
雲計算和「大數據」分析技術使得商家可以在成本效率較高的情況下,實時地把這些數據連同交易行為的數據進行儲存和分析。交易過程、產品使用和人類行為都可以數據化。「大數據」技術可以把這些數據整合起來進行數據挖掘,從而在某些情況下通過模型模擬來判斷不同變數(比如不同地區不同促銷方案)的情況下何種方案投入回報最高。
3、提高投入回報率
提高「大數據」成果在各相關部門的分享程度,提高整個管理鏈條和產業鏈條的投入回報率。「大數據」能力強的部門可以通過雲計算、互聯網和內部搜索引擎把」大數據」成果和「大數據」能力比較薄弱的部門分享,幫助他們利用「大數據」創造商業價值。
4、數據存儲空間出租
企業和個人有著海量信息存儲的需求,只有將數據妥善存儲,才有可能進一步挖掘其潛在價值。具體而言,這塊業務模式又可以細分為針對個人文件存儲和針對企業用戶兩大類。主要是通過易於使用的API,用戶可以方便地將各種數據對象放在雲端,然後再像使用水、電一樣按用量收費。目前已有多個公司推出相應服務,如亞馬遜、網易、諾基亞等。運營商也推出了相應的服務,如中國移動的彩雲業務。
5、管理客戶關系
客戶管理應用的目的是根據客戶的屬性(包括自然屬性和行為屬性),從不同角度深層次分析客戶、了解客戶,以此增加新的客戶、提高客戶的忠誠度、降低客戶流失率、提高客戶消費等。對中小客戶來說,專門的CRM顯然大而貴。不少中小商家將飛信作為初級CRM來使用。比如把老客戶加到飛信群里,在群朋友圈裡發布新產品預告、特價銷售通知,完成售前售後服務等。
6、個性化精準推薦
在運營商內部,根據用戶喜好推薦各類業務或應用是常見的,比如應用商店軟體推薦、IPTV視頻節目推薦等,而通過關聯演算法、文本摘要抽取、情感分析等智能分析演算法後,可以將之延伸到商用化服務,利用數據挖掘技術幫助客戶進行精準營銷,今後盈利可以來自於客戶增值部分的分成。
以日常的「垃圾簡訊」為例,信息並不都是「垃圾」,因為收到的人並不需要而被視為垃圾。通過用戶行為數據進行分析後,可以給需要的人發送需要的信息,這樣「垃圾簡訊」就成了有價值的信息。在日本的麥當勞,用戶在手機上下載優惠券,再去餐廳用運營商DoCoMo的手機錢包優惠支付。運營商和麥當勞搜集相關消費信息,例如經常買什麼漢堡,去哪個店消費,消費頻次多少,然後精準推送優惠券給用戶。
7、數據搜索
數據搜索是一個並不新鮮的應用,隨著「大數據」時代的到來,實時性、全范圍搜索的需求也就變得越來越強烈。我們需要能搜索各種社交網路、用戶行為等數據。其商業應用價值是將實時的數據處理與分析和廣告聯系起來,即實時廣告業務和應用內移動廣告的社交服務。
運營商掌握的用戶網上行為信息,使得所獲取的數據「具備更全面維度」,更具商業價值。典型應用如中國移動的「盤古搜索」。
七、大數據對經濟社會的重要影響
1、能夠推動實現巨大經濟效益
比如對中國零售業凈利潤增長的貢獻,降低製造業產品開發、組裝成本等。預計2013年全球大數據直接和間接拉動信息技術支出將達1200億美元。
2、能夠推動增強社會管理水平
大數據在公共服務領域的應用,可有效推動相關工作開展,提高相關部門的決策水平、服務效率和社會管理水平,產生巨大社會價值。歐洲多個城市通過分析實時採集的交通流量數據,指導駕車出行者選擇最佳路徑,從而改善城市交通狀況。
3、如果沒有高性能的分析工具,大數據的價值就得不到釋放
對大數據應用必須保持清醒認識,既不能迷信其分析結果,也不能因為其不完全准確而否定其重要作用。
1)由於各種原因,所分析處理的數據對象中不可避免地會包括各種錯誤數據、無用數據,加之作為大數據技術核心的數據分析、人工智慧等技術尚未完全成熟,所以對計算機完成的大數據分析處理的結果,無法要求其完全准確。例如,谷歌通過分析億萬用戶搜索內容能夠比專業機構更快地預測流感暴發,但由於微博上無用信息的干擾,這種預測也曾多次出現不準確的情況。
2)必須清楚定位的是,大數據作用與價值的重點在於能夠引導和啟發大數據應用者的創新思維,輔助決策。簡單而言,若是處理一個問題,通常人能夠想到一種方法,而大數據能夠提供十種參考方法,哪怕其中只有三種可行,也將解決問題的思路拓展了三倍。
所以,客觀認識和發揮大數據的作用,不誇大、不縮小,是准確認知和應用大數據的前提。
八、總結
不管大數據的核心價值是不是預測,但是基於大數據形成決策的模式已經為不少的企業帶來了盈利和聲譽。
1、從大數據的價值鏈條來分析,存在三種模式:
1)手握大數據,但是沒有利用好;比較典型的是金融機構,電信行業,政府機構等。
2)沒有數據,但是知道如何幫助有數據的人利用它;比較典型的是IT咨詢和服務企業,比如,埃森哲,IBM,Oracle等。
3)既有數據,又有大數據思維;比較典型的是Google,Amazon,Mastercard等。
2、未來在大數據領域最具有價值的是兩種事物:
1)擁有大數據思維的人,這種人可以將大數據的潛在價值轉化為實際利益;
2)還未有被大數據觸及過的業務領域。這些是還未被挖掘的油井,金礦,是所謂的藍海。
大數據是信息技術與專業技術、信息技術產業與各行業領域緊密融合的典型領域,有著旺盛的應用需求、廣闊的應用前景。為把握這一新興領域帶來的新機遇,需要不斷跟蹤研究大數據,不斷提升對大數據的認知和理解,堅持技術創新與應用創新的協同共進,加快經濟社會各領域的大數據開發與利用,推動國家、行業、企業對於數據的應用需求和應用水平進入新的階段。
Ⅵ 不同原文用同一個哈希演算法進行處理的消息摘要一定不同嗎
對原文長度沒有限制,所有原文產生的散列值長度是一樣的。
你對散列函數的理解有錯誤。散列函數唯一的條件是同樣的原文產生的散列值(就是摘要)不同。而要將一個散列函數應用可以應用於消息的認證中,至少要有三個條件。1.可以產生定長輸出,2.可以應用於任意大小的數據塊,3.求出給定消息的散列值是可行的。
另外,安全的散列演算法應當具有這幾個性質:對於給定散列值,求出其對應明文是不可行的。必須具有抗強碰撞性和抗弱碰撞性。抗弱碰撞性是指對指定明文,找到與其具有相同散列值的明文是不可行的,這是必須的。抗強碰撞性是指找到任意具有相同散列的兩條消息是不可行的,主要為了對抗生日攻擊。
散列的演算法比較多。最簡單的就是將所有消息放在一起異或。另外有安全散列演算法(SHA),Whirlpool等。
有什麼不懂得可以再問我。
Ⅶ 摘要演算法的特點是什麼
「消息摘要」(Message Digest)是一種能產生特殊輸出格式的演算法,這種加密演算法的特點是無論用戶輸入什麼長度的原始數據,經過計算後輸出的密文都是固定長度的,這種演算法的原理是根據一定的運算規則對原數據進行某種形式的提取,這種提取就是「摘要」,被「摘要」的數據內容與原數據有密切聯系,只要原數據稍有改變,輸出的「摘要」便完全不同,因此基於這種原理的演算法便能對數據完整性提供較為健全的保障。但是,由於輸出的密文是提取原數據經過處理的定長值,所以它已經不能還原為原數據,即消息摘要演算法是「不可逆」的,理論上無法通過反向運算取得原數據內容,因此它通常只能被用來做數據完整性驗證,而不能作為原數據內容的加密方案使用,否則誰也無法還原。
Ⅷ 什麼是大數據時代
世界包含的多得難以想像的數字化信息變得更多更快……從商業到科學,從政府到藝術,這種影響無處不在。科學家和計算機工程師們給這種現象創造了一個新名詞:「大數據」。大數據時代什麼意思?大數據概念什麼意思?大數據分析什麼意思?所謂大數據,那到底什麼是大數據,他的來源在哪裡,定義究竟是什麼呢?
七:最後北京開運聯合給您總結一下
不管大數據的核心價值是不是預測,但是基於大數據形成決策的模式已經為不少的企業帶來了盈利和聲譽。
1、從大數據的價值鏈條來分析,存在三種模式:
1)手握大數據,但是沒有利用好;比較典型的是金融機構,電信行業,政府機構等。
2)沒有數據,但是知道如何幫助有數據的人利用它;比較典型的是IT咨詢和服務企業,比如,埃森哲,IBM,Oracle等。
3)既有數據,又有大數據思維;比較典型的是Google,Amazon,Mastercard等。
2、未來在大數據領域最具有價值的是兩種事物:
1)擁有大數據思維的人,這種人可以將大數據的潛在價值轉化為實際利益;
2)還未有被大數據觸及過的業務領域。這些是還未被挖掘的油井,金礦,是所謂的藍海。
大數據是信息技術與專業技術、信息技術產業與各行業領域緊密融合的典型領域,有著旺盛的應用需求、廣闊的應用前景。為把握這一新興領域帶來的新機遇,需要不斷跟蹤研究大數據,不斷提升對大數據的認知和理解,堅持技術創新與應用創新的協同共進,加快經濟社會各領域的大數據開發與利用,推動國家、行業、企業對於數據的應用需求和應用水平進入新的階段。
Ⅸ 如何用python玩轉TF-IDF之尋找相似文章並生成摘要
應用1:關鍵詞自動生成
核心思想是對於某個文檔中的某個詞,計算其在這個文檔中的標准化TF值,然後計算這個詞在整個語料庫中的標准化IDF值。在這里,標准化是說對原始的計算公式進行了一些變換以取得更好的衡量效果,並避免某些極端情況的出現。這個詞的TF-IDF值便等於TF*IDF。對於這個文檔中的所有詞計算它們的TF-IDF值,並按照由高到低的順序進行排序,由此我們便可以提取我們想要的數量的關鍵詞。
TF-IDF的優點是快捷迅速,結果相對來說比較符合實際情況。缺點是當一篇文檔中的兩個詞的IDF值相同的時候,出現次數少的那個詞有可能更為重要。再者,TF-IDF演算法無法體現我詞的位置信息,出現位置靠前的詞與出現位置靠後的詞,都被視為重要性相同,這是不正確的。存在的解決辦法是對文章的第一段和每段的第一句話給予比較大的權重。
應用2:計算文本相似度
明白了對於每個詞,如何計算它的TF-IDF值。那麼計算文本相似度也輕而易舉。我們已經計算了文章中每個詞的TF-IDF值,那麼我們便可以將文章表徵為詞的TF-IDF數值向量。要計算兩個文本的相似度,只需要計算餘弦即可,餘弦值越大,兩個文本便越相似。
應用3:自動摘要
2007年,美國學者的論文<A Survey on Automatic Text Summarization>總結了目前的自動摘要演算法,其中很重要的一種就是詞頻統計。這種方法最早出自1958年IBM公司一位科學家的論文<The Automatic Creation of Literature Abstracts>。這位科學家認為,文章的信息都包含在句子中,有的句子包含的信息多,有的句子包含的信息少。自動摘要就是找出那些包含信息最多的句子。那麼句子的信息量怎麼衡量呢?論文中採用了關鍵詞來衡量。如果包含的關鍵詞越多,就說明這個句子越重要,這位科學家提出用Cluster的來表示關鍵詞的聚集。所謂簇,就是包含多個關鍵詞的句子片段。
以第一個圖為例,其中的cluster一共有7個詞,其中4個是關鍵詞。因此它的重要性分值就等於(4*4)/7=2.3。然後,找出包含cluster重要性分值最高的句子(比如5句),把它們合在一起,就構成了這篇文章的自動摘要。具體實現可以參見<Mining the Social Web: Analyzing Data from Facebook, Twitter, LinkedIn, and Other Social Media Sites>(O'Reilly, 2011)一書的第8章,Python代碼見github。這種演算法後來被簡化,不再區分cluster,只考慮句子包含的關鍵詞。偽代碼如下。
Summarizer(originalText,maxSummarySize):
//計算文本的詞頻,生成一個列表,比如[(10,'the'),(3,'language'),(8,'code')...]
wordFrequences=getWordCounts(originalText)
//過濾掉停用詞,列表變成[(3,'language'),(8,'code')...]
contentWordFrequences=filtStopWords(wordFrequences)
//按照詞頻的大小進行排序,形成的列表為['code','language'...]
contentWordsSortbyFreq=sortByFreqThenDropFreq(contentWordFrequences)
//將文章分成句子
sentences=getSentences(originalText)
//選擇關鍵詞首先出現的句子
setSummarySentences={}
:
firstMatchingSentence=search(sentences,word)
setSummarySentences.add(firstMatchingSentence)
ifsetSummarySentences.size()=maxSummarySize:
break
//將選中的句子按照出現順序,組成摘要
summary=""
foreachsentenceinsentences:
:
summary=summary+""+sentence
returnsummary
類似的演算法已經被寫成了工具,比如基於Java的Classifier4J庫的SimpleSummariser模塊、基於C語言的OTS庫、以及基於classifier4J的C#實現和python實現。
Ⅹ python有哪些提取文本摘要的庫
1.google goose
>>>fromgooseimportGoose
>>>url='http://edition.cnn.com/2012/02/22/world/europe/uk-occupy-london/index.html?hpt=ieu_c2'
>>>g=Goose()
>>>article=g.extract(url=url)
>>>article.title
u''
>>>article.meta_description
".Paul'yinadecisionmadebyLondon'sCourtofAppeal."
>>>article.cleaned_text[:150]
(CNN)--.Paul'
>>>article.top_image.src
http://i2.cdn.turner.com/cnn/dam/assets/111017024308-occupy-london-st-paul-s-cathedral-story-top.jpg
2. pythonSnowNLP
fromsnownlpimportSnowNLP
s=SnowNLP(u'這個東西真心很贊')
s.words#[u'這個',u'東西',u'真心',
#u'很',u'贊']
s.tags#[(u'這個',u'r'),(u'東西',u'n'),
#(u'真心',u'd'),(u'很',u'd'),
#(u'贊',u'Vg')]
s.sentiments#0.9769663402895832positive的概率
s.pinyin#[u'zhe',u'ge',u'dong',u'xi',
#u'zhen',u'xin',u'hen',u'zan']
s=SnowNLP(u'「繁體字」「繁體中文」的叫法在台灣亦很常見。')
s.han#u'「繁體字」「繁體中文」的叫法
#在台灣亦很常見。'
text=u'''
自然語言處理是計算機科學領域與人工智慧領域中的一個重要方向。
它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。
自然語言處理是一門融語言學、計算機科學、數學於一體的科學。
因此,這一領域的研究將涉及自然語言,即人們日常使用的語言,
所以它與語言學的研究有著密切的聯系,但又有重要的區別。
自然語言處理並不是一般地研究自然語言,
而在於研製能有效地實現自然語言通信的計算機系統,
特別是其中的軟體系統。因而它是計算機科學的一部分。
'''
s=SnowNLP(text)
s.keywords(3)#[u'語言',u'自然',u'計算機']
s.summary(3)#[u'因而它是計算機科學的一部分',
#u'自然語言處理是一門融語言學、計算機科學、
#數學於一體的科學',
#u'自然語言處理是計算機科學領域與人工智慧
#領域中的一個重要方向']
s.sentences
s=SnowNLP([[u'這篇',u'文章'],
[u'那篇',u'論文'],
[u'這個']])
s.tf
s.idf
s.sim([u'文章'])#[0.3756070762985226,0,0]
3. pythonTextTeaser
#!/usr/bin/python
#-*-coding:utf-8-*-
#articlesource:https://blogs.dropbox.com/developers/2015/03/limitations-of-the-get-method-in-http/
title=""
text=",.Inthehopesthatithelpsothers,.Inthispost,we』ourownAPI.Asarule,..Forexample,abrowserdoesn』,,thebrowserknowsit』』sanetworkerror.ForformsthatuseHTTPPOST,.HTTP-』tmodifyserverstate.,theapp』.Thelibrarydoesn』.』tmodifyserverstate,butunfortunatelythisisn』talwayspossible.GETrequestsdon』thavearequestbody,.WhiletheHTTPstandarddoesn』,.Thisisrarelyaproblem,/deltaAPIcall.Thoughitdoesn』tmodifyserverstate,.Theproblemisthat,inHTTP,estbody.Wecouldhavesomehowcontorted/,,likeperformance,simplicity,anddeveloperergonomics.Intheend,wedecidedthebenefitsofmaking/deltamoreHTTP-likeweren』.case,soit』snosurprisethatitdoesn』tfiteveryAPIperfectly.Maybeweshouldn』tletHTTP』.Forexample,independentofHTTP,.Then,』tmodifyserverstateanddon』thavelargeparameters,.Thisway,we』."
tt=TextTeaser()
sentences=tt.summarize(title,text)
forsentenceinsentences:
printsentence
4. pythonsumy
#-*-coding:utf8-*-
from__future__importabsolute_import
from__future__importdivision,print_function,unicode_literals
fromsumy.parsers.htmlimportHtmlParser
fromsumy.parsers.
fromsumy.nlp.tokenizersimportTokenizer
fromsumy.summarizers.
fromsumy.nlp.stemmersimportStemmer
fromsumy.utilsimportget_stop_words
LANGUAGE="czech"
SENTENCES_COUNT=10
if__name__=="__main__":
url="http://www.zsstritezuct.estranky.cz/clanky/predmety/cteni/jak-naucit-dite-spravne-cist.html"
parser=HtmlParser.from_url(url,Tokenizer(LANGUAGE))
#orforplaintextfiles
#parser=PlaintextParser.from_file("document.txt",Tokenizer(LANGUAGE))
stemmer=Stemmer(LANGUAGE)
summarizer=Summarizer(stemmer)
summarizer.stop_words=get_stop_words(LANGUAGE)
forsentenceinsummarizer(parser.document,SENTENCES_COUNT):
print(sentence)