一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何基于Tf-Idf詞向量和余弦相似性根據(jù)字幕文件找出相似的TED演講

zhKF_jqr_AI ? 來(lái)源:未知 ? 作者:李倩 ? 2018-06-30 09:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

編者按:數(shù)據(jù)科學(xué)顧問(wèn)Gunnvant Saini講解了如何基于Tf-Idf詞向量和余弦相似性根據(jù)字幕文件找出相似的TED演講。

好吧,我喜歡TED演講,誰(shuí)不喜歡呢?當(dāng)我查看Kaggle上的TED數(shù)據(jù)集(rounakbanik/ted-talks)時(shí),有不少發(fā)現(xiàn)。首先,由于數(shù)據(jù)集包含許多TED演講的字幕,因此我們有了一個(gè)非常豐富、語(yǔ)言學(xué)上結(jié)構(gòu)良好的語(yǔ)料。其次,由于該語(yǔ)料具備良好的語(yǔ)言學(xué)屬性,它很可能和Reuters 20 News Group或者古登堡語(yǔ)料庫(kù)差不好。這讓我靈機(jī)一動(dòng):

我有許多TED演講的字幕數(shù)據(jù),我能?chē)L試找到一種根據(jù)演講相似性推薦TED演講(就像TED官網(wǎng)做的那樣)的方法嗎?

當(dāng)然,TED官網(wǎng)所用的推薦系統(tǒng),會(huì)比我這里演示的復(fù)雜得多,同時(shí)涉及一些用戶交互的歷史數(shù)據(jù)。

本文想要演示如何僅僅基于內(nèi)容生成推薦。當(dāng)你不具備任何用戶交互數(shù)據(jù)時(shí),比如在剛開(kāi)始的時(shí)候,這一技術(shù)變得極為重要,它有助于向消費(fèi)者提供內(nèi)容相關(guān)的上下文推薦。

數(shù)據(jù)

字幕儲(chǔ)存于transcript一列,每行對(duì)應(yīng)一個(gè)演講。

import pandas as pd

transcripts=pd.read_csv("E:\Kaggle\ted-data\transcripts.csv")

transcripts.head()

可以看到,從url很容易就能提取演講的標(biāo)題。我的目標(biāo)是使用字幕文本創(chuàng)建相似性的測(cè)度,然后為給定演講推薦4個(gè)最相似的演講。

transcripts['title']=transcripts['url'].map(lambda x:x.split("/")[-1])

transcripts.head()

好了,數(shù)據(jù)預(yù)處理完畢,我可以開(kāi)始創(chuàng)建推薦系統(tǒng)了:

為字幕創(chuàng)建向量表示

為上一步創(chuàng)建的向量表示創(chuàng)建一個(gè)相似性矩陣

基于某種相似性測(cè)度,為每個(gè)演講選定4個(gè)最相似的演講

使用Tf-Idf創(chuàng)建詞向量

由于我們的最終目標(biāo)是基于內(nèi)容相似性推薦演講,我們首先要做的就是為字幕創(chuàng)建便于比較的表示。其中一種方法是為每個(gè)字幕創(chuàng)建一個(gè)tfidf向量。但是,到底什么是tfidf呢?讓我們先討論下這個(gè)概念。

語(yǔ)料庫(kù)、文檔和頻次矩陣

為了表示文本,我們將把每個(gè)字幕看成一個(gè)“文檔”,然后將所有文檔的集合看成一個(gè)“語(yǔ)料庫(kù)”。然后,二維碼將創(chuàng)建一個(gè)向量,表示每個(gè)文檔中詞匯出現(xiàn)的次數(shù),像這樣:

這些向量組成了一個(gè)矩陣,稱為頻次矩陣(count matrix)。不過(guò),這樣的表示方式有一個(gè)問(wèn)題。比如,“one”在文檔1中只出現(xiàn)過(guò)一次,但在其他文檔中均未出現(xiàn),所以“one”是一個(gè)重要的詞匯。但是如果我們查看文檔1的頻次向量,“one”的權(quán)重和“This”、“is”等詞一樣,都是1. 而Tf-Idf可以解決這一問(wèn)題。

詞頻-逆向文檔頻率(Tf-Idf)

為了理解Tf-Idf如何幫助識(shí)別詞匯的重要性,讓我們?cè)儐?wèn)自己幾個(gè)問(wèn)題,如何決定一個(gè)詞匯是否重要?

如果這個(gè)詞匯在文檔中多次出現(xiàn)?

如果這個(gè)詞匯很少在語(yǔ)料庫(kù)中出現(xiàn)?

同時(shí)滿足1和2?

如果一個(gè)詞匯在某個(gè)文檔中頻繁出現(xiàn),但在語(yǔ)料庫(kù)中的其他文檔中很少出現(xiàn),那么該詞匯對(duì)這個(gè)文檔很重要。詞頻(term frequency)衡量詞匯在給定文檔中出現(xiàn)的頻繁程度,而逆向文檔頻率(inverse document frequency)衡量詞匯在語(yǔ)料庫(kù)中出現(xiàn)的罕見(jiàn)程度。兩者之積Tf-Idf衡量詞匯的重要程度。使用sklearn機(jī)器學(xué)習(xí)框架,創(chuàng)建Tf-Idf向量表示非常直截了當(dāng):

from sklearn.feature_extraction import text

Text=transcripts['transcript'].tolist()

tfidf=text.TfidfVectorizer(input=Text,stop_words="english")

matrix=tfidf.fit_transform(Text)

現(xiàn)在我們已經(jīng)解決了如何在詞向量中體現(xiàn)詞匯重要性的問(wèn)題,我們將開(kāi)始考慮下一個(gè)問(wèn)題,如何個(gè)找到給定文檔的相似文檔(在我們的例子中是TED演講字幕)?

查找相似文檔

通常,我們使用余弦相似度,衡量Tf-Idf向量的接近程度。也就是說(shuō),我將基于Tf-Idf向量創(chuàng)建一個(gè)余弦矩陣,表示文檔兩兩之間的相似程度:

同樣,使用sklearn做這個(gè)非常直接:

from sklearn.metrics.pairwise import cosine_similarity

sim_unigram=cosine_similarity(matrix)

創(chuàng)建了相似度矩陣后,我只需查詢這一矩陣,在每一行找出4個(gè)余弦相似度最高的列,就可以為每個(gè)文檔(字幕)選出最相似的4個(gè)文檔了。

def get_similar_articles(x):

return",".join(transcripts['title'].loc[x.argsort()[-5:-1]])

transcripts['similar_articles_unigram']=[get_similar_articles(x) for x in sim_unigram]

讓我們看下效果,比如,隨便挑一個(gè)演講,看看哪4個(gè)演講和它最相似:

transcripts['title'].str.replace("_"," ").str.upper().str.strip()[1]

'AL GORE ON AVERTING CLIMATE CRISIS'

transcripts['similar_articles_unigram'].str.replace("_"," ").str.upper().str.strip().str.split(" ")[1]

['RORY BREMNER S ONE MAN WORLD SUMMIT',

',ALICE BOWS LARKIN WE RE TOO LATE TO PREVENT CLIMATE CHANGE HERE S HOW WE ADAPT',

',TED HALSTEAD A CLIMATE SOLUTION WHERE ALL SIDES CAN WIN',

',AL GORE S NEW THINKING ON THE CLIMATE CRISIS']

顯然,從標(biāo)題上看,這些演講的主題是相似的。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 向量
    +關(guān)注

    關(guān)注

    0

    文章

    55

    瀏覽量

    11893
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1224

    瀏覽量

    25445

原文標(biāo)題:TF-IDF和余弦相似度告訴你該看哪個(gè)TED演講

文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    TF-IDF測(cè)量文章的關(guān)鍵相關(guān)研究

    停用詞的移除、大小寫(xiě)字母轉(zhuǎn)化和詞干提取。4)獲取查詢。獲取單詞權(quán)重,對(duì)于可疑文檔利用TF-IDF獲得關(guān)鍵,并排序得到相應(yīng)的關(guān)鍵列表。排在前n個(gè)的關(guān)鍵詞組成一個(gè)查詢,以此類(lèi)推,本試驗(yàn)中n=5。5)檢索
    發(fā)表于 01-26 10:38

    影像匹配中幾種相似性測(cè)度的分析

    摘要對(duì)基于灰度影像匹配中的幾種相似性測(cè)度進(jìn)行了研究,分析了每種測(cè)度的直觀意義、限制條件以及改進(jìn)措施,最后通過(guò)實(shí)臉結(jié)果驗(yàn)證了L述結(jié)論關(guān)健影像匹配:相似hi測(cè)度;
    發(fā)表于 01-09 16:44 ?10次下載

    基于相似性的圖像融合質(zhì)量的客觀評(píng)估方法

    基于相似性的圖像融合質(zhì)量的客觀評(píng)估方法:研究圖像融合結(jié)果的質(zhì)量評(píng)估問(wèn)題,提出一種新的基于相似性的圖像融合質(zhì)量客觀評(píng)估方法.這種方法考慮人類(lèi)視覺(jué)對(duì)局部變化更加敏感的
    發(fā)表于 10-31 08:57 ?16次下載

    一中余弦相似度的改進(jìn)方法

    位置時(shí)間序列常被應(yīng)用到不同的研究領(lǐng)域,具有很高的商業(yè)價(jià)值。本文通過(guò)計(jì)算位置時(shí)間序列的余弦相似度找到確定與其近似的位置時(shí)間序列。同時(shí)針對(duì)余弦相似
    發(fā)表于 11-01 17:42 ?0次下載
    一中<b class='flag-5'>余弦</b><b class='flag-5'>相似</b>度的改進(jìn)方法

    基于Document Triage的TF-IDF算法

    針對(duì)TF-IDF算法在加權(quán)時(shí)沒(méi)有考慮特征本身在文檔中重要度的問(wèn)題,提出利用用戶閱讀時(shí)的閱讀行為來(lái)改進(jìn)TF-IDF。將Document Triage引入到TF-IDF中,利用IPM收集
    發(fā)表于 12-27 10:54 ?0次下載

    TF-IDF算法的改進(jìn)及在語(yǔ)義檢索中應(yīng)用

    技術(shù)相結(jié)合,從而實(shí)現(xiàn)對(duì)TF-IDF算法的改進(jìn)。利用語(yǔ)義庫(kù)對(duì)搜索主題進(jìn)行描述,根據(jù)正則原予語(yǔ)義的重要和在網(wǎng)頁(yè)標(biāo)簽中的不同位置進(jìn)行加權(quán)計(jì)算,得到正則原子在文檔中的相似度。通過(guò)空間
    發(fā)表于 01-02 11:25 ?0次下載
    <b class='flag-5'>TF-IDF</b>算法的改進(jìn)及在語(yǔ)義檢索中應(yīng)用

    基于劃分思想的文件結(jié)構(gòu)化相似性比較方法

    針對(duì)傳統(tǒng)文件結(jié)構(gòu)化相似性比較法中采用基本塊( BB) -對(duì)一映射而造成的巨大時(shí)空消耗及基本塊比較結(jié)果的絕對(duì)化問(wèn)題,提出一種基于劃分思想的文件結(jié)構(gòu)化相似性比較方法。該方法首先對(duì)用于基本塊
    發(fā)表于 01-02 14:04 ?0次下載
    基于劃分思想的<b class='flag-5'>文件</b>結(jié)構(gòu)化<b class='flag-5'>相似性</b>比較方法

    云模型重疊度的相似性度量算法

    重疊度的相似性度量算法。首先,根據(jù)云模型期望、熵、超熵三個(gè)數(shù)字特征,定義兩個(gè)云模型的位置關(guān)系和邏輯關(guān)系;其次,利用兩個(gè)云的位置和形狀特性,計(jì)算得到它們間的重疊度;最后,結(jié)合云模型重疊度與相似度的關(guān)系,將云模
    發(fā)表于 01-07 10:54 ?1次下載

    基于節(jié)點(diǎn)相似性社團(tuán)結(jié)構(gòu)劃分

    針對(duì)復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)劃分過(guò)程復(fù)雜、準(zhǔn)確差的問(wèn)題,定義了節(jié)點(diǎn)全局和局部相似性衡量指標(biāo),并構(gòu)建節(jié)點(diǎn)的相似性矩陣,提出一種基于節(jié)點(diǎn)相似性度量的社團(tuán)結(jié)構(gòu)劃分算法。其基本思路是將節(jié)點(diǎn)(或社團(tuán))按
    發(fā)表于 01-10 14:02 ?0次下載

    計(jì)算文本相似度幾種最常用的方法,并比較它們之間的性能

    估計(jì)兩句子間語(yǔ)義相似度最簡(jiǎn)單的方法就是求句子中所有單詞嵌入的平均值,然后計(jì)算兩句子嵌入之間的余弦相似性。很顯然,這種簡(jiǎn)單的基準(zhǔn)方法會(huì)帶來(lái)
    的頭像 發(fā)表于 06-30 11:16 ?5.4w次閱讀
    計(jì)算文本<b class='flag-5'>相似</b>度幾種最常用的方法,并比較它們之間的性能

    如何使用會(huì)話時(shí)序相似性進(jìn)行矩陣分解數(shù)據(jù)填充

    針對(duì)已有數(shù)據(jù)填充方法只考慮評(píng)分信息和傳統(tǒng)相似性,無(wú)法捕獲用戶間真實(shí)相似關(guān)系的問(wèn)題,提出了基于會(huì)話時(shí)序相似性的矩陣分解數(shù)據(jù)填充方法來(lái)緩解數(shù)據(jù)稀疏、提高推薦精度。首先,分析了傳統(tǒng)
    發(fā)表于 01-23 14:50 ?3次下載
    如何使用會(huì)話時(shí)序<b class='flag-5'>相似性</b>進(jìn)行矩陣分解數(shù)據(jù)填充

    TF-IDF的基礎(chǔ)模型和使用教程和算法代碼免費(fèi)下載

    這是一個(gè)tf-idf的算法包,里面包含的基礎(chǔ)模型,使用教程和算嗎代碼。
    發(fā)表于 05-21 08:00 ?0次下載

    一種基于TF-IDF的Webshell文件檢測(cè)方法

    的 Webshell文件檢測(cè)方法。系統(tǒng)首先對(duì)不同類(lèi)型的Webshell文件進(jìn)行分類(lèi),并對(duì)不同文件進(jìn)行相應(yīng)的預(yù)處理轉(zhuǎn)碼,以降低混淆干擾技術(shù)對(duì)檢測(cè)的影響;隨后建立袋模型,并采用
    發(fā)表于 04-26 14:16 ?3次下載
    一種基于<b class='flag-5'>TF-IDF</b>的Webshell<b class='flag-5'>文件</b>檢測(cè)方法

    PyTorch教程15.7之詞的相似性和類(lèi)比

    電子發(fā)燒友網(wǎng)站提供《PyTorch教程15.7之詞的相似性和類(lèi)比.pdf》資料免費(fèi)下載
    發(fā)表于 06-05 11:04 ?0次下載
    PyTorch教程15.7之詞的<b class='flag-5'>相似性</b>和類(lèi)比

    基于結(jié)構(gòu)相似性可靠監(jiān)測(cè)結(jié)果

    電子發(fā)燒友網(wǎng)站提供《基于結(jié)構(gòu)相似性可靠監(jiān)測(cè)結(jié)果.pdf》資料免費(fèi)下載
    發(fā)表于 02-05 09:10 ?0次下載
    基于結(jié)構(gòu)<b class='flag-5'>相似性</b>可靠<b class='flag-5'>性</b>監(jiān)測(cè)結(jié)果