




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
移動環(huán)境下的內(nèi)容推薦初探移動環(huán)境下的內(nèi)容推薦初探1Agenda●
什么是推薦系統(tǒng)●
移動內(nèi)容推薦的特點●
豌豆莢移動內(nèi)容推薦關鍵技術●
總結(jié)Agenda●什么是推薦系統(tǒng)●移動內(nèi)容推薦的特點2什么是推薦系統(tǒng)什么是推薦系統(tǒng)3Recommender
systems
orrecommendation
systems
(sometimesreplacing
"system"
with
a
synonym
suchas
platform
or
engine)
are
a
subclass
ofinformation
filtering
system
that
seek
topredict
the
'rating'
or
'preference'
thatuser
would
give
to
an
item.-
from
wikipediaRecommendersystemsorrecommen4Recommender
systems/engines
are
asubclass
of
information
retrievalsystems/engines
in
passive
mode.Search
systems/engines
are
a
subclassof
information
retrieval
systems/enginesin
active
mode.Recommendersystems/enginesar5常用的推薦功能●
有哪些值得看的電影?●
去哪兒下館子腐敗?●
淘點啥寶貝?●
裝什么有意思的應用?●
大家都在討論什么話題?●
Netflix
Prize
$1
Million
Challenge?常用的推薦功能●有哪些值得看的電影?●裝什么有意6應用場景排行榜推薦個性化推薦使用海量數(shù)據(jù)電影推薦多多是餐館推薦多少是商品推薦多多是應用推薦多多是話題推薦多少是廣告推薦少多是推薦技術應用場景應用場景排行榜推薦個性化推薦使用海量數(shù)據(jù)電影推薦多多是餐館推7推薦用戶(User)海量數(shù)據(jù)是推薦之本
推薦位置
●
推薦位所在頁面內(nèi)容
●
推薦位在頁面中位置
推薦物品(Item)推薦物品
●
種類、主題、關鍵詞
●
生命周期、投放規(guī)則
●
大小、顏色、價格
●
…...推薦用戶
●
人口學屬性(性別、年
齡等)
●
行為屬性/興趣特征(瀏
覽、搜索、緩存)
●
Social內(nèi)容(社交關系
、小組發(fā)帖)
●
上下文(時間、地點等)●…...推薦用戶(User)海量數(shù)據(jù)是推薦之本推薦物品推薦用戶●….8
推薦算法
關鍵規(guī)則挖掘協(xié)同過濾
CF(User-based
CF,
Item-
based
CF)
矩陣分解
圖挖掘
基于熱度/知識/規(guī)則的推薦
基于內(nèi)容的推薦
基于預測模型的推薦
混合推薦方法推薦算法
推薦用戶
用戶行為屬性
Social內(nèi)容
人口學屬性
行為屬性/興趣
特征
用戶全局畫像
推薦場景一個用戶在多個物品
有行為
用戶-物品行為矩陣
不能過于稀疏用戶對物品的興趣規(guī)
律可觀察
適用于解決冷啟動
(cold
start)問題真實系統(tǒng)大都這么做 推薦算法推薦算法 推薦場景9推薦算法優(yōu)點缺點示例基于知識的推薦算法(基于人工觀察和經(jīng)驗,抽象出規(guī)則進行推薦)1.方法簡單2.規(guī)則易解釋、易運營3.所需數(shù)據(jù)少1.規(guī)則來源于人工知識,覆蓋率差2.有效周期難以判斷好友推薦基于內(nèi)容的推薦算法1.可以解決冷啟動問題2.方便整合各種用戶/物品特征3.推薦結(jié)果易于理解1.受限于特征提取的準確性2.需要大量的支撐數(shù)據(jù)3.常局限于特征稀疏的情況GoogleNewsAmazon淘寶豌豆莢協(xié)同過濾的推薦算法1.原理簡單有效,易于理解2.算法靈活,支持海量用戶/物品3.無需考慮復雜特征,支持特征空間極其復雜的用戶/物品的高效計算1.很明顯的冷啟動問題2.常受限于用戶/物品行為矩陣稀疏的情況3.受限于用戶/物品rating的正確性Netfix淘寶Amazon豆瓣豌豆莢常用推薦算法比較推薦算法優(yōu)點缺點示例基于知識的推薦算法(1.方法簡單1.規(guī)則10協(xié)同過濾-User-based
CF協(xié)同過濾-Item-based
CF協(xié)同過濾-User-basedCF協(xié)同過濾-Item-ba11移動推薦的特點移動推薦的特點12使用次數(shù)多時間碎片化使用次數(shù)多時間碎片化13內(nèi)容消費占大頭用戶易定位(用戶<->設備)內(nèi)容消費占大頭用戶易定位(用戶<->設備)14特點原因?qū)崟r推薦非常重要移動設備/應用使用次數(shù)多推薦的準確率要求更高移動設備/應用使用時間碎片化內(nèi)容推薦是關鍵移動設備/應用消費中內(nèi)容是大頭可利用用戶信息更豐富移動設備可以用來準確定位用戶移動推薦的新特點特點原因?qū)崟r推薦非常重要移動設備/應用使用次數(shù)多推薦的準確率15豌豆莢移動內(nèi)容推薦關鍵技術豌豆莢移動內(nèi)容推薦關鍵技術16豌豆莢移動內(nèi)容推薦框架豌豆莢移動內(nèi)容推薦框架17關鍵技術之知識圖譜關鍵技術之知識圖譜18知識圖譜
-
Knowledge
Graph
Knowledge
Graph
understands
real-world
entities
and
their
relationships
to
one
another:
things,
not
strings,
helps
the
machine
to
understand
the
world
a
bit
more
like
people
do.Knowledge
Graph
consists
of
nodes
with
edgesbetween
them.
Each
node
corresponds
to
an
entity
inreal
work,
each
edge
describe
the
relationship
betweenthe
begin
and
end
nodes.知識圖譜-KnowledgeGraphKnowledg19Google
Knowledge
GraphData
Sources●
Public
Sources(Wikipedia,
Freebase,CIA
World
Factbook)●
Knowledge
Mining
from
Webpages(Lists,
Tables,
etc.)●
Knowledge
Mining
from
user
queries(xxattributes
of
yy
entity)GoogleKnowledgeGraphDataSou20Google
Knowledge
Graph
Usages
●
Find
the
right
thing
○
Recognize
the
entities
in
queries
and
associates
them
with
the
relevant
information,
and
disambiguate
entities
using
context
information.
●
Get
the
best
summary
○
Use
the
users
search
behavior
to
determine
the
most
needed
aspects
for
each
entity.
●
Go
deeper
and
broader○Help
users
to
get
some
unexpected
discoveries.GoogleKnowledgeGraph○Helpus21移動環(huán)境下的內(nèi)容推薦初探課件22豌豆莢知識圖譜數(shù)據(jù)來源●
公開來源(Wikipedia,
Freebase,
IMDB、豆瓣電影)●
應用內(nèi)內(nèi)容/網(wǎng)頁信息中解析出來的實體
和實體關系信息(應用,游戲,書,視頻
,音樂等)●
豌豆莢用戶貢獻的User
profile信息和UGC內(nèi)容●
用戶-實體的關系(搜索、瀏覽、消費、豌豆莢知識圖譜數(shù)據(jù)來源●公開來源(Wikipedia23豌豆莢知識圖譜數(shù)據(jù)來源●
公開來源(Wikipedia,
Freebase,
IMDB、豆瓣電影)●
應用內(nèi)內(nèi)容/網(wǎng)頁信息中解析出來的實體
和實體關系信息(應用,游戲,書,視頻
,音樂等)●
豌豆莢用戶貢獻的User
profile信息和UGC內(nèi)容●
用戶-實體的關系(搜索、瀏覽、消費、豌豆莢知識圖譜數(shù)據(jù)來源●公開來源(Wikipedia24豌豆莢知識圖譜
用途
●
信息展示○全面展示內(nèi)容相關的實體及相互關系●
用戶意圖理解○○重名區(qū)分查詢意圖識別●
內(nèi)容推薦○○○○豌豆莢首頁內(nèi)容推薦
-
追新有趣豌豆莢詳情頁內(nèi)容推薦
-
相關而非相似豌豆莢各頻道列表頁內(nèi)容推薦
-
追熱有趣…...豌豆莢知識圖譜○全面展示內(nèi)容相關的實體及相互關系●用25關鍵技術之Giraph-圖挖掘平臺關鍵技術之Giraph-圖挖掘平臺26Giraph
-
圖挖掘平臺Giraph
是Google
Pregel的開源實現(xiàn),它基于Hadoop,通過在Hadoop上運行map-only的job來實現(xiàn)常見的圖挖掘算法。Giraph
提供了一個簡單的“面向節(jié)點”(Think
like
a
vertex)的編程模型。所有的圖挖掘算法都可簡化為在每一個Vertex上的兩類操作:1)
在vertext上進行數(shù)值計算(computation);2)
將數(shù)值計算的結(jié)果通過邊傳遞給相鄰的全部/部分節(jié)點(communication)。上述編程模型極大簡化了圖挖掘算法的實現(xiàn),使得每個算法都可以迭代地實現(xiàn),這一切是建立在Giraph內(nèi)嵌的bulksynchronous
parallel編程模型基礎上。Giraph-圖挖掘平臺Giraph是GoogleP27Giraph
Timeline●
受Google
Pregel啟發(fā)開發(fā)
(2010)●
被Yahoo!捐獻給ASF
(2011)●
成為Top-level
Apache
Project
(2012)●
發(fā)布1.0版本
(2013)●
發(fā)布1.1版本
(2014)Giraph典型應用●
Ranking
○
Popularity,
Importance,
etc.●
Label
Propagation
○
Location,
School,
Interest,
gender,
etc.●
Community
○
Groups,
ClustersGiraphTimelineGiraph典型應用28
Map-only
Map-Reduce
●
Think
like
a
key-value
pairpublic
class
Mapper<
KEYIN
VALUEIN
KEYOUT
VALUEOUT>{
void
map(KEYIN
key,
VALUEIN
value,
Context
context)
throws
IOException,
InterruptedException;}
Giraph
●
Think
like
a
vertexpublic
class
Vertext<
I
extends
WritableComparable,
V
extends
Writable,
E
extends
Writable,
M
extends
Writable>{
void
compute(
Iterator<M>
msgIterator);} Map-onlyMap-Reduce Giraph29
Giraph
API(當前Vertex上
可用)I
getVertextId()V
getVertextValue()void
setVertextValue(V
vertextValue)Iterator<I>
iterator()E
getEdgeValue(I
targetVertextId)boolean
hasEdge(I
targetVertextId)boolean
addEdge(I
targetVertextId,
EedgeValue)E
removeEdge(I
targetVertextId)void
voteToHalt()boolean
isHalted()Giraph
API(Vertex間傳遞消息可用)
void
sendMsg(I
targetVertexid,
M
msg)
void
sendMsgToAllEdges(M
msg)
void
addVertextRequest(BasicVertex(I,
V,
E,
M>
vertex)
void
removeVertextRequest(I
vertexId)
void
addEdgeRequest(I
sourceVertexId,
Edge<I,
E>
edge)
void
removeEdgeRequest(I
sourceVertextId,
I
destVertextId) GiraphAPI(當前Vertex上GiraphAP30一個簡單的例子
-
計算最大節(jié)點值public
class
MaxValueVertex
extends
EdgeListVertex<IntWritable,
IntWritable,
IntWritable,
IntWritable>{@overridepublic
void
compute(Iterator<IntWritable>
msgIterator){boolean
changed
=
false;while(msgIterator.hasNext()){IntWritable
msgValue
=
msgIterator.next();if(msgValue.get()
>
getVertexValue().get())}setVertexValue(msgValue);changed
=
true;
}}if(getSuperStep()
==
0
||
changed)
{sendMsgToAllEdges(getVertexValue());}
else
{voteToHalt();
}
}}一個簡單的例子-計算最大節(jié)點值publicclass31復雜點的例子
-
PageRankpublic
class
SimplePageRankVertex
extends
EdgeListVertex<
LongWritable,
DoubleWritable,
FloatWritable,
DoubleWritable>{
@override
public
void
compute(Iterator<DoubleWritable>
msgIterator){
if(getSuperStep()
>=
1)
{
double
sum
=
0;
while(msgIterator.hasNext())
{
sum
+=
msgIterator.next().get();
}
setVertexValue(new
DoubleWritable((0.15f
/getNumVertices())
+
0.85f
*
sum);
}
if(getSuperStep()
<
300)
{
long
edges
=
getNumOutEdges();
sendMsgToAllEdges(newDoubleWritable(getVertexValue.get()
/
edges));
}
else
{
voteToHalt();
}
}}Mahout
(Hadoop)
854行復雜點的例子-PageRankpublicclass32豌豆莢知識圖譜
+
Giraph用途●
用戶性別、地域、教育水平的prediction●
用戶內(nèi)容消費社區(qū)的discovery●
Item/User-based
CF,支撐內(nèi)容推薦●
作弊用戶識別,
opinion
leader識別豌豆莢知識圖譜+Giraph用途●用戶性別、地域33總結(jié)總結(jié)34豌豆莢移動內(nèi)容推薦框架豌豆莢知識圖譜獨有內(nèi)容●●●應用內(nèi)內(nèi)容中解析出來的實體和實體關系信息(應用,游戲,書,視頻,音樂等)豌豆莢用戶貢獻的User
profile信息和UGC內(nèi)容用戶-實體的關系(搜索、瀏覽、消費、評價等)豌豆莢知識圖譜
+
Giraph●●●●用戶屬性prediction社區(qū)發(fā)現(xiàn)內(nèi)容推薦spammer/opinion
leader發(fā)現(xiàn)豌豆莢移動內(nèi)容推薦框架豌豆莢知識圖譜獨有內(nèi)容●應用內(nèi)內(nèi)容中解35謝謝!謝謝!36每一次的加油,每一次的努力都是為了下一次更好的自己。12月-2212月-22Thursday,December29,2022天生我材必有用,千金散盡還復來。12:48:3312:48:3312:4812/29/202212:48:33PM安全象只弓,不拉它就松,要想保安全,常把弓弦繃。12月-2212:48:3312:48Dec-2229-Dec-22得道多助失道寡助,掌控人心方位上。12:48:3312:48:3312:48Thursday,December29,2022安全在于心細,事故出在麻痹。12月-2212月-2212:48:3312:48:33December29,2022加強自身建設,增強個人的休養(yǎng)。2022年12月29日12:48下午12月-2212月-22擴展市場,開發(fā)未來,實現(xiàn)現(xiàn)在。29十二月202212:48:33下午12:48:3312月-22做專業(yè)的企業(yè),做專業(yè)的事情,讓自己專業(yè)起來。十二月2212:48下午12月-2212:48December29,2022時間是人類發(fā)展的空間。2022/12/2912:48:3312:48:3329December2022科學,你是國力的靈魂;同時又是社會發(fā)展的標志。12:48:33下午12:48下午12:48:3312月-22每天都是美好的一天,新的一天開啟。12月-2212月-2212:4812:48:3312:48:33Dec-22人生不是自發(fā)的自我發(fā)展,而是一長串機緣。事件和決定,這些機緣、事件和決定在它們實現(xiàn)的當時是取決于我們的意志的。2022/12/2912:48:33Thursday,December29,2022感情上的親密,發(fā)展友誼;錢財上的親密,破壞友誼。12月-222022/12/2912:48:3312月-22謝謝大家!每一次的加油,每一次的努力都是為了下一次更好的自己。12月-37移動環(huán)境下的內(nèi)容推薦初探移動環(huán)境下的內(nèi)容推薦初探38Agenda●
什么是推薦系統(tǒng)●
移動內(nèi)容推薦的特點●
豌豆莢移動內(nèi)容推薦關鍵技術●
總結(jié)Agenda●什么是推薦系統(tǒng)●移動內(nèi)容推薦的特點39什么是推薦系統(tǒng)什么是推薦系統(tǒng)40Recommender
systems
orrecommendation
systems
(sometimesreplacing
"system"
with
a
synonym
suchas
platform
or
engine)
are
a
subclass
ofinformation
filtering
system
that
seek
topredict
the
'rating'
or
'preference'
thatuser
would
give
to
an
item.-
from
wikipediaRecommendersystemsorrecommen41Recommender
systems/engines
are
asubclass
of
information
retrievalsystems/engines
in
passive
mode.Search
systems/engines
are
a
subclassof
information
retrieval
systems/enginesin
active
mode.Recommendersystems/enginesar42常用的推薦功能●
有哪些值得看的電影?●
去哪兒下館子腐???●
淘點啥寶貝?●
裝什么有意思的應用?●
大家都在討論什么話題?●
Netflix
Prize
$1
Million
Challenge?常用的推薦功能●有哪些值得看的電影?●裝什么有意43應用場景排行榜推薦個性化推薦使用海量數(shù)據(jù)電影推薦多多是餐館推薦多少是商品推薦多多是應用推薦多多是話題推薦多少是廣告推薦少多是推薦技術應用場景應用場景排行榜推薦個性化推薦使用海量數(shù)據(jù)電影推薦多多是餐館推44推薦用戶(User)海量數(shù)據(jù)是推薦之本
推薦位置
●
推薦位所在頁面內(nèi)容
●
推薦位在頁面中位置
推薦物品(Item)推薦物品
●
種類、主題、關鍵詞
●
生命周期、投放規(guī)則
●
大小、顏色、價格
●
…...推薦用戶
●
人口學屬性(性別、年
齡等)
●
行為屬性/興趣特征(瀏
覽、搜索、緩存)
●
Social內(nèi)容(社交關系
、小組發(fā)帖)
●
上下文(時間、地點等)●…...推薦用戶(User)海量數(shù)據(jù)是推薦之本推薦物品推薦用戶●….45
推薦算法
關鍵規(guī)則挖掘協(xié)同過濾
CF(User-based
CF,
Item-
based
CF)
矩陣分解
圖挖掘
基于熱度/知識/規(guī)則的推薦
基于內(nèi)容的推薦
基于預測模型的推薦
混合推薦方法推薦算法
推薦用戶
用戶行為屬性
Social內(nèi)容
人口學屬性
行為屬性/興趣
特征
用戶全局畫像
推薦場景一個用戶在多個物品
有行為
用戶-物品行為矩陣
不能過于稀疏用戶對物品的興趣規(guī)
律可觀察
適用于解決冷啟動
(cold
start)問題真實系統(tǒng)大都這么做 推薦算法推薦算法 推薦場景46推薦算法優(yōu)點缺點示例基于知識的推薦算法(基于人工觀察和經(jīng)驗,抽象出規(guī)則進行推薦)1.方法簡單2.規(guī)則易解釋、易運營3.所需數(shù)據(jù)少1.規(guī)則來源于人工知識,覆蓋率差2.有效周期難以判斷好友推薦基于內(nèi)容的推薦算法1.可以解決冷啟動問題2.方便整合各種用戶/物品特征3.推薦結(jié)果易于理解1.受限于特征提取的準確性2.需要大量的支撐數(shù)據(jù)3.常局限于特征稀疏的情況GoogleNewsAmazon淘寶豌豆莢協(xié)同過濾的推薦算法1.原理簡單有效,易于理解2.算法靈活,支持海量用戶/物品3.無需考慮復雜特征,支持特征空間極其復雜的用戶/物品的高效計算1.很明顯的冷啟動問題2.常受限于用戶/物品行為矩陣稀疏的情況3.受限于用戶/物品rating的正確性Netfix淘寶Amazon豆瓣豌豆莢常用推薦算法比較推薦算法優(yōu)點缺點示例基于知識的推薦算法(1.方法簡單1.規(guī)則47協(xié)同過濾-User-based
CF協(xié)同過濾-Item-based
CF協(xié)同過濾-User-basedCF協(xié)同過濾-Item-ba48移動推薦的特點移動推薦的特點49使用次數(shù)多時間碎片化使用次數(shù)多時間碎片化50內(nèi)容消費占大頭用戶易定位(用戶<->設備)內(nèi)容消費占大頭用戶易定位(用戶<->設備)51特點原因?qū)崟r推薦非常重要移動設備/應用使用次數(shù)多推薦的準確率要求更高移動設備/應用使用時間碎片化內(nèi)容推薦是關鍵移動設備/應用消費中內(nèi)容是大頭可利用用戶信息更豐富移動設備可以用來準確定位用戶移動推薦的新特點特點原因?qū)崟r推薦非常重要移動設備/應用使用次數(shù)多推薦的準確率52豌豆莢移動內(nèi)容推薦關鍵技術豌豆莢移動內(nèi)容推薦關鍵技術53豌豆莢移動內(nèi)容推薦框架豌豆莢移動內(nèi)容推薦框架54關鍵技術之知識圖譜關鍵技術之知識圖譜55知識圖譜
-
Knowledge
Graph
Knowledge
Graph
understands
real-world
entities
and
their
relationships
to
one
another:
things,
not
strings,
helps
the
machine
to
understand
the
world
a
bit
more
like
people
do.Knowledge
Graph
consists
of
nodes
with
edgesbetween
them.
Each
node
corresponds
to
an
entity
inreal
work,
each
edge
describe
the
relationship
betweenthe
begin
and
end
nodes.知識圖譜-KnowledgeGraphKnowledg56Google
Knowledge
GraphData
Sources●
Public
Sources(Wikipedia,
Freebase,CIA
World
Factbook)●
Knowledge
Mining
from
Webpages(Lists,
Tables,
etc.)●
Knowledge
Mining
from
user
queries(xxattributes
of
yy
entity)GoogleKnowledgeGraphDataSou57Google
Knowledge
Graph
Usages
●
Find
the
right
thing
○
Recognize
the
entities
in
queries
and
associates
them
with
the
relevant
information,
and
disambiguate
entities
using
context
information.
●
Get
the
best
summary
○
Use
the
users
search
behavior
to
determine
the
most
needed
aspects
for
each
entity.
●
Go
deeper
and
broader○Help
users
to
get
some
unexpected
discoveries.GoogleKnowledgeGraph○Helpus58移動環(huán)境下的內(nèi)容推薦初探課件59豌豆莢知識圖譜數(shù)據(jù)來源●
公開來源(Wikipedia,
Freebase,
IMDB、豆瓣電影)●
應用內(nèi)內(nèi)容/網(wǎng)頁信息中解析出來的實體
和實體關系信息(應用,游戲,書,視頻
,音樂等)●
豌豆莢用戶貢獻的User
profile信息和UGC內(nèi)容●
用戶-實體的關系(搜索、瀏覽、消費、豌豆莢知識圖譜數(shù)據(jù)來源●公開來源(Wikipedia60豌豆莢知識圖譜數(shù)據(jù)來源●
公開來源(Wikipedia,
Freebase,
IMDB、豆瓣電影)●
應用內(nèi)內(nèi)容/網(wǎng)頁信息中解析出來的實體
和實體關系信息(應用,游戲,書,視頻
,音樂等)●
豌豆莢用戶貢獻的User
profile信息和UGC內(nèi)容●
用戶-實體的關系(搜索、瀏覽、消費、豌豆莢知識圖譜數(shù)據(jù)來源●公開來源(Wikipedia61豌豆莢知識圖譜
用途
●
信息展示○全面展示內(nèi)容相關的實體及相互關系●
用戶意圖理解○○重名區(qū)分查詢意圖識別●
內(nèi)容推薦○○○○豌豆莢首頁內(nèi)容推薦
-
追新有趣豌豆莢詳情頁內(nèi)容推薦
-
相關而非相似豌豆莢各頻道列表頁內(nèi)容推薦
-
追熱有趣…...豌豆莢知識圖譜○全面展示內(nèi)容相關的實體及相互關系●用62關鍵技術之Giraph-圖挖掘平臺關鍵技術之Giraph-圖挖掘平臺63Giraph
-
圖挖掘平臺Giraph
是Google
Pregel的開源實現(xiàn),它基于Hadoop,通過在Hadoop上運行map-only的job來實現(xiàn)常見的圖挖掘算法。Giraph
提供了一個簡單的“面向節(jié)點”(Think
like
a
vertex)的編程模型。所有的圖挖掘算法都可簡化為在每一個Vertex上的兩類操作:1)
在vertext上進行數(shù)值計算(computation);2)
將數(shù)值計算的結(jié)果通過邊傳遞給相鄰的全部/部分節(jié)點(communication)。上述編程模型極大簡化了圖挖掘算法的實現(xiàn),使得每個算法都可以迭代地實現(xiàn),這一切是建立在Giraph內(nèi)嵌的bulksynchronous
parallel編程模型基礎上。Giraph-圖挖掘平臺Giraph是GoogleP64Giraph
Timeline●
受Google
Pregel啟發(fā)開發(fā)
(2010)●
被Yahoo!捐獻給ASF
(2011)●
成為Top-level
Apache
Project
(2012)●
發(fā)布1.0版本
(2013)●
發(fā)布1.1版本
(2014)Giraph典型應用●
Ranking
○
Popularity,
Importance,
etc.●
Label
Propagation
○
Location,
School,
Interest,
gender,
etc.●
Community
○
Groups,
ClustersGiraphTimelineGiraph典型應用65
Map-only
Map-Reduce
●
Think
like
a
key-value
pairpublic
class
Mapper<
KEYIN
VALUEIN
KEYOUT
VALUEOUT>{
void
map(KEYIN
key,
VALUEIN
value,
Context
context)
throws
IOException,
InterruptedException;}
Giraph
●
Think
like
a
vertexpublic
class
Vertext<
I
extends
WritableComparable,
V
extends
Writable,
E
extends
Writable,
M
extends
Writable>{
void
compute(
Iterator<M>
msgIterator);} Map-onlyMap-Reduce Giraph66
Giraph
API(當前Vertex上
可用)I
getVertextId()V
getVertextValue()void
setVertextValue(V
vertextValue)Iterator<I>
iterator()E
getEdgeValue(I
targetVertextId)boolean
hasEdge(I
targetVertextId)boolean
addEdge(I
targetVertextId,
EedgeValue)E
removeEdge(I
targetVertextId)void
voteToHalt()boolean
isHalted()Giraph
API(Vertex間傳遞消息可用)
void
sendMsg(I
targetVertexid,
M
msg)
void
sendMsgToAllEdges(M
msg)
void
addVertextRequest(BasicVertex(I,
V,
E,
M>
vertex)
void
removeVertextRequest(I
vertexId)
void
addEdgeRequest(I
sourceVertexId,
Edge<I,
E>
edge)
void
removeEdgeRequest(I
sourceVertextId,
I
destVertextId) GiraphAPI(當前Vertex上GiraphAP67一個簡單的例子
-
計算最大節(jié)點值public
class
MaxValueVertex
extends
EdgeListVertex<IntWritable,
IntWritable,
IntWritable,
IntWritable>{@overridepublic
void
compute(Iterator<IntWritable>
msgIterator){boolean
changed
=
false;while(msgIterator.hasNext()){IntWritable
msgValue
=
msgIterator.next();if(msgValue.get()
>
getVertexValue().get())}setVertexValue(msgValue);changed
=
true;
}}if(getSuperStep()
==
0
||
changed)
{sendMsgToAllEdges(getVertexValue());}
else
{voteToHalt();
}
}}一個簡單的例子-計算最大節(jié)點值publicclass68復雜點的例子
-
PageRankpublic
class
SimplePageRankVertex
extends
EdgeListVertex<
LongWritable,
DoubleWritable,
FloatWritable,
DoubleWritable>{
@override
public
void
comp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)業(yè)城物業(yè)合同范本
- 糾紛收樓合同范本
- 合同范本寫作
- 光纖外包安裝合同范例
- 代理食品的合同范本
- 合同范本中英對照
- 買賣新房子合同范本
- 合同范本員工拒續(xù)簽合同
- 合金采購合同范例
- it行業(yè)員工合同范本
- 豌豆栽培及病蟲害防治課件
- ISO45001職業(yè)健康安全管理體系培訓
- 大學二級學院突發(fā)事件應急預案
- 動物生產(chǎn)學(全套課件)
- 水利工程現(xiàn)場簽證單(范本)
- 部編版四年級下冊道德與法治 第4課 買東西的學問(第2課時) 教學課件
- 慢性活動性EB病毒課件
- 物料吊籠安全技術標準
- 業(yè)務招待費明細單
- 鍋爐房風險管控措施告知牌
- 年產(chǎn)200噸L絲氨酸發(fā)酵和無菌空氣車間的工藝設計課程設計
評論
0/150
提交評論