Intelligent Information Management, 2010, 2, 110-119
doi:10.4236/iim.2010.22014 Published Online February 2010 (http://www.scirp.org/journal/iim)
Copyright © 2010 SciRes IIM
Sensing Semantics of RSS Feeds by Fuzzy
Matchmaking
Mingwei Yuan1, Ping Jiang1, 2, Jin Zhu1, Xiaonian Wang1
1Department of Information and Control Engineering, Tongji University, Shanghai, China
2Department of Computing, University of Bradford, Bradford, UK
Email: yuan_mingwei@yahoo.com.cn, p.jiang@bradford.ac.uk,{zhujintj, dawnyea r}@tongji.edu.cn
Abstract
RSS feeds provide a fast and effective way to publish up-to-date information or renew outdated contents for
information subscribers. So far RSS information is mostly managed by content publishers but Internet users
have less initiative to choose what they really need. More attention needs to be paid on techniques for
user-initiative information discovery from RSS feeds. In this paper, a quantitative semantic matchmaking
method for the RSS based applications is proposed. Semantic information is extracted from an RSS feed as
numerical vectors and semantic matching can then be conducted quantitatively. Ontology is applied to pro-
vide a common-agreed matching basis for the quantitative matchmaking. In order to avoid semantic ambigu-
ity of literal statements from distributed and heterogeneous RSS publishers, fuzzy inference is used to trans-
form an individual-dependent vector into an individual-independent vector. Semantic similarities can be re-
vealed as the result.
Keywords: RSS Feeds, Matchmaking, Multi-Agent, Semantics
1. Introduction
Internet is a complex environment with dynamically
changing contents and large-scale distributed users. An
incessant research topic for the web based applications is
how to acquire information more efficiently and effec-
tively from the Internet. Nowadays there are mainly two
approaches. One is user-active that a user visits websites
to find interests manually. In order to improve its sear
ching efficiency, favourite websites could be bookmarked
for later usage. However, manual search or research could
be a tedious process for information acquisition. An al-
ternative approach is publisher-active that a user sub-
scribes relevant websites and waits for updates from
publishers. It is obvious that the latter mode is more
convenient and instant in terms of variant interests and
effortless information retrieval. RSS (RDF Site Summary
or Really Simple Syndication) feeds are such sources to
support automatic information acquisition from the
Internet. A user can select which RSS feeds to monitor
and avoid unnecessary visit.
RSS is a term used by two independent camps for web
content publishing. Therefore, there are two translations
about what the acronym RSS stands for: RDF (Resource
Description Framework) Site Summary or Really Simple
Syndication. Currently the latest versions of the two
formats are RSS1.0 (http://web.resource.org/rss/1.0/spec)
and RSS2.0 (http://blogs.law.harvard.edu/tech/rss), re-
spectively. The two formats are both XML-based (Ex-
tensible Markup Language) and provide similar func-
tions for information updating. RSS1.0 is RDF- compli-
ant so it has more flexible and extendable features than
RSS2.0, but RSS2.0 is simpler and more widely used
today. In general, the RSS is a metadata language for
describing web content changes. Nowadays RSS is
adopted by almost all mainstream websites for web con-
tent publishing, e.g., web site modifications, news, wiki,
and blog updates. But research shows that awareness of
RSS is still quite low in the Internet users, 12% of users
are aware of RSS, and only 4% have knowingly used
RSS [1]. Therefore, it is necessary to develop the RSS
based applications to be more conveniently accessible by
the ordinary Internet users.
Although a RSS feed is a standardized format with
some simple semantics, such as authorship, published
date and summary, filtering the received RSS documents
using such simple attributes is not able to reflect a user’s
complex intention. For efficient and effective information
acquisition, a user may want to further narrow his/her
focus and ignore irrelevant information. This requires a
new RSS reader with the features of:
M. W. YUAN ET AL. 111
1) semantic awareness
In a distributed web environment, the published in-
formation and knowledge can be very complex and di-
verse. Information acquisition requires a semantics ori-
ented approach that knowledge is represented in a hier-
archical data structure. Traditionally agent based infor-
mation matchmaking often flattens the structure of
knowledge into a free text vector with simple valued at-
tributes e.g. with keywords, price, delivery time. Seman-
tic relations of knowledge could be lost [2–4].
2) fuzzy sensing
Information acquisition from RSS feeds requires more
capability to deal with uncertainties because there is no
prior agreement on how information is represented by
heterogeneous publishers [4]. Logic based approaches
have been widely used to support rule-based matchmak-
ing or consistency checking by proving subsumption and
(un) satisfiability [5–6]. However, distributed web ap-
plications usually cannot retain a closed-world knowledge
base for logic based inference. It would be more realistic
to recognise the degree of similarity for flexible matches
[7]. It requires more intelligence but less precision, i.e.
fuzzy sensing.
Today RSS research rests mostly on effective ways to
aggregate/syndicate content [8,9] and to improve its ap-
plicability [10]. For information acquisition from RSS
feeds, current studies often adopt classical text mining
methods. In paper [11], fuzzy concept based [12] and
word sequence kernels based [13–14] text classifications
were applied to measure the similarity of RSS-formatted
documents. They intended to reveal similarity by direct
comparison of literal texts but ignoring the inherent cor-
relation of individual words, i.e . semantic similarity. Due
to the autonomy of heterogeneous RSS publishers in an
open environment it is impossible to force them to use
strictly consistent terminologies and sentences. This in-
troduces ambiguities into text mining of RSS feeds and
makes the keyword based vector space model [15] diffi-
cult for RSS based applications. Similar text mining ap-
proach was used for learning of user preference without
consideration of text semantics [16]. Statistical feature
selection methods in text mining were also evaluated for
classification of RSS feeds corpus [17] and the authors
pointed out that topic detection [18] and automatic text
classification methods [19] were important to RSS based
applications.
It is undoubted that such classical textual analysis
methods can be applied to RSS documents since they are
formatted textual documents. It should not be ignored
that RSS has a close relationship with the semantic web;
especially RSS1.0 builds on the RDF. Hence the per-
formance of RSS document classification can be im-
proved by the semantic web technology [20], which
takes into account correlations among concepts. Consid-
ering semantics, paper [21] developed a weighted schema
graph for semantic search of RSS feeds. However, the
weights need to be assigned manually. In fact, ontology
defines the concepts and correlations in a domain. It pro-
vides a powerful tool for semantics based classification,
taking into account meaning behind words. The archi-
tecture of Personalized News Service (PNS) [22] was
proposed, consisting of RSS News Feed Consolidation
Service, Ontology Reasoner and Personalized News Ser-
vice. A user can query interests from RSS feeds based on
ontology reasoning. A logic based approach was pro-
posed for implementation.
There have been increasing research interests in recent
years addressing the semantic search in distributed ap-
plications, especially in peer-to-peer environments e.g.
Bluetooth service discovery [22], grid computing [23]
and the electronic marketplace [24]. Although descrip-
tion logic can be used for similarity ranking by counting
missing/not-implied concept names and loose character-
istics between documents [24], the distinguishable granu-
larity is usually coarse and the ability to handle fuzziness
and uncertainty is limited. Fuzzy logic has been extended
to description logic for representing fuzzy knowledge
using continuous membership, such as f-Shin [25] and
rule-based f-SWRL [26]. However reasoning for fuzzy
description logic still relies on a consistent fuzzy knowl-
edge basis. Ontology can become the knowledge basis
for fuzzy reasoning [27].
This paper proposes a quantitative method for infor-
mation acquisition from RSS feeds with the aid of the
semantic web technique. It is an intelligent agent to de-
tect interests for a user. Ontology is used as a semantic
bridge linking RSS feeds with a user’s intention. Fuzzy
matchmaking is carried out for ranking RSS feeds. The
method proposed in this paper is for general formats of
RSS feeds, and hence RSS 1.0, RSS 2.0 or any other
RSS-like formats (e.g. Atom) can be applied. It acts as a
real-time sensor of RSS feeds in the Internet with the
capability of semantic awareness and fuzzy sensing. First,
it transfers received RSS feeds into numerical vectors,
feature vectors, underpinned by an ontology. Semantic
matching of information is conducted by correlation
computation. Because distributed publishers may express
their opinions using different jargons or words, the ob-
tained numerical vectors are usually individual- depend-
ent. To solve the inherent semantic ambiguity of RSS
feeds, fuzzy inference is introduced to transform an indi-
vidual-dependent vector into an individual- independent
vector, so that semantic matchmaking of RSS feeds is
accomplished.
This paper is organized as follows, section two pro-
poses the algorithms to extract semantic distance from a
domain ontology; section three discusses the method to
formulate RSS feeds into ontology instance for facilitat-
ing semantics based matchmaking; a job finding agent is
developed using the proposed approach in section four.
Section five summarizes the proposed method.
2. Semantic Distance between Concepts in
Ontology
Information providers publish their information in RSS.
Copyright © 2010 SciRes IIM
M. W. YUAN ET AL.
112
A web user subscribing favorite RSS feeds is often inter-
ested in some specific topics. Therefore, irrelevant RSS
items should be filtered out. A virtual sensor can be de-
veloped for this purpose, which connects with RSS
channels and monitors incoming RSS items for those
close to the topics semantically.
An illustrative RSS feed from a job publishing site is
shown below:
<rss version =”2.0”>
<channel>
<title> Yahoo! HotJobs:DVR</title>
<link>http://hotjobs.yahoo.com/jobs/USA/All/All-jobs</l
ink>
<description>Top HotJobs results for jobs matching:
DVR</description>
<webMas-
ter>webmaster-rss@hotjobs.com</webMaster>
<language>en-us</language>
<item>
<title>Java Developers - Beta Soft Systems - Fre-
mont, CA USA</title>
<link>http://pa.yahoo.com/*http://us.rd.yahoo.com/h
ot-
jobs/rss/evt=23685/*http://hotjobs.yahoo.com/jobsee
ker/jobsearch/job_detail.html?job_id=J987065YO
</link>
<description> ... to work with our top clients in USA
belonging to any industry ... .-BS/MS/MBA de-
gree/Eng. (CS, MIS,CIS,IS,IT,CS... </description>
</item>
<item>
<title>Software Engineer - MPEG, Video, Compres-
sion - Sigma Designs, Inc. - Milpitas, CA USA</title>
<link>http://pa.yahoo.com/*http://us.rd.yahoo.com/h
ot-
jobs/rss/evt=23685/*http://hotjobs.yahoo.com/jobsee
ker/jobsearch/job_detail.html?job_id=J497490PV
</link>
<description> ... </description>
</item>
</channel>
</rss>
From the example, an RSS feed is composed of a
channel and a series of items. Within an item tag pair, a
summary of an article or a story is presented. A virtual
sensor needs to detect relevant items according to sub-
scriber’s interests. In order to simplify the presentation,
only the title of an item is taken into account in this paper,
which is a condensed abstract of the content and is the
foremost factor influencing information selection. How-
ever, the method is applicable to other tags, such as the
description tags.
Selecting relevant RSS feeds relies on semantic
matchmaking rather than textual matchmaking. A textual
or word-to-word comparison makes little sense because
distributed and heterogeneous RSS publishers may have
totally different writing styles. In fact, words and con-
cepts used in RSS feeds have certain correlations, which
can be described by ontology as domain knowledge. The
domain knowledge is generally defined as a meta-data
model by domain consortia or standard bodies, for ex-
ample, STEP(Standard for the Exchange of Product
model data) AP203[28] and DIECoM (Distributed Inte-
grated Environment for Configuration Management)
meta-data model[29] in the domain of product manufac-
turing. The domain knowledge can then be formulated as
a domain ontology in XML using semantic web tech-
nologies, e.g. OWL (Web Ontology Language). RSS
feeds from distributed sources can be understandable and
interchangeable by software agents if the domain ontol-
ogy is provided.
Suppose domain ontology is defined as
),...,,( 21 N
eeeR
(1)
where ),...,1( Niei
denotes entities (concepts, terminol-
ogies, properties, attributes) used in a domain; R is the
set of relationships between the entities and can be rep-
resented as a graph. For example, a domain ontology for
DVR (Digital Video Recorder) development is shown in
Figure 1, which is edited using Protégé editor (http://
protege.stanford.edu/plugins/owl/index.html) and expressed
in OWL(http://www.w3.org/TR/2004/ REC-owl-ref-200
40210/). A DVR is a consumer video/ audio product that
can record and play video/audio encoded by using vari-
ous video/ audio compression standards. The storage media
includes hard disks and recordable CD/DVD disks.
Domain ontology provides a semantic bridge for mu-
tual understanding between publishers and subscribers.
Concepts defined in ontology may semantically relevant.
Hence semantic distance is introduced as a measure of
semantic difference or similarity between two concepts,
which has been applied in semantic web matchmaking
[30] and conceptual clustering of database schema [31].
In general, a semantic distance is defined as an applica-
tion of EE into R+, where E is a set of entities in a do-
main ontology with the following properties:
1) yxyxEyEx 
0),(Dis ,,
2) ),(Dis),(Dis ,,xyyxEyEx
3)
),(Dis),(Dis),(Dis ,,yzzxyxEzEyEx 
From Figure 1, it can be observed that an ontology ex-
hibits a hierarchical structure. According to the visual
distance [31], the semantic distance between two con-
cepts can be calculated as the shortest path length, in
which the unit length is assumed to be 1 if two nodes
have a direct link. A concept distance matrix to represent
semantic differences between two concepts can be ob-
tained by processing the ontology.
First a concept vector is defined, which consists of all
entities in the ontology.
V()=[e1,e2, …, eN]T (2)
To simply computation, the elements in a concept
vector are arranged in order by taking a “breadth-first”
scan of the ontology hierarchy. A higher level concept
Copyright © 2010 SciRes IIM
M. W. YUAN ET AL.
Copyright © 2010 SciRes IIM
113
Figure 1. A DVR development ontology represented by OWLViz of protégé.
M. W. YUAN ET AL.
114
will be allocated more ahead in the vector. If a concept
has multiple father concepts, the first appearance of a
concept by following the “breadth-first” scan will be
indexed. The following algorithm can be used to convert
an OWL document into a concept vector.
// Algorithm 1: Obtain a conceptVector from an OWL
document and list entities in the Breadth-First order.
BEGIN
Get root;
conceptVector (0) = root.Name ;
pos = 0; // the index of first concept in every level
count the childNum of root;
While childNum > 0
k=0; //count the children numbers of level l
For each entity i in level l
For each child j of entity i
k++;
conceptVector(pos+k) = j.Name;
Endfor
Endfor
pos = pos + childNum;
childNum = k;
Endwhile
After flattening an ontology graph into a concept vec-
tor, a semantic distance matrix can be obtained to depict
semantic difference between any two concepts defined in
ontology .
//Algorithm 2: Calculate Semantic Distance Matrix
Step 1 Obtain an N×N initialMatrix={ e(i,j) }: e(i,j) de-
notes the distance value between the ith element and the
jth element which have a direct link.
The initial relation matrix (initialMatrix= {e(i,j)},i=
1..N, j=1..N) denotes the semantic distance between two
concepts, ei and ej, which have a direct link in the ontol-
ogy. If two concepts have a direct relationship linked by
“subClassOf” or “ObjectProperty”, a distance 1 or dis-
tance 2 is assigned respectively.
elseX
jandibetweenexiststhereif
jandibetweenexiststhereif
jiif
jie ertyObjectProp:owl2
subClassOf:rdfs 1
0
),(
, and
),(),( ijejie.
In this initial relation matrix, only the direct links are
counted and X represents indirect links that will be cal-
culated in step 2 by updating the initial matrix recur-
sively.
Step 2: Obtain a semantic distance Matrix, DisMatrix
={d(i,j)}: d(i,j) denotes the distance value between the ith
element and the jth element.
For concepts A, B and C,
if B= ChildOf(A) and C = DescendantOf(B)
Distance(B,C)=Min(Distance(B,A)+Distance(A,C));
if there is a “SubClassOf” relation between B and A
Distance(B,A)=1 and
Distance(B,C) =Min(1+Distance(A,C));
if there is an “ObjectProperty” relation between B and A
Distance(B,A)=2.
where Distance(i, j) denotes the graph distance between
node i and node j. Therefore, the following recursive
algorithm can produce semantic distances of indirect
links between concepts in an ontology graph.
BEGIN
Input initialMatrix;
For each column j in initialMatrix
If ((the element in ith row)> 0)
fatherRow(k) = i; // record the index of k-th father
if
// there is multiple fathers
Endif
For each i<j;
For each father concept k
d(i,j)= (d(fatherRow(k),i)
k
MIN
+d(fatherRow(k),j) );
d(j,i)=d(i,j);
Endfor
Endfor
Endfor
END
The semantic distance matrix can be extracted from an
OWL document as:
0)2,()1,(
),2(0)1,2(
),1()2,1(0
DisMatrix
NdNd
Ndd
Ndd
, (3)
where d(i, j) is the semantic distance between concept ei
and concept ej.
3. Semantic Matchmaking of RSS Feeds
Since the Internet publishers are distributed and hetero-
geneous, the literal announcements in RSS have inherent
ambiguity and uncertainty due to, for instance, the way
to utilize synonyms and jargons. The ambiguity and un-
certainty in RSS documents can be alleviated by ontol-
ogy, which provides a common basis for understanding
of frequently used terms and concepts. An RSS feed
needs to be parsed into ontology instance first, which is
composed of only the concepts defined in the ontology.
Hence matchmaking of RSS feeds is transformed to
comparison of ontology instances.
At first, the received RSS feeds are preprocessed with
the Jena RSS package. The title and the link of each item
are obtained. Then concepts defined in the ontology are
found out from the title. If a word in the title does not
exist in the ontology but is part of a concept in the on-
Copyright © 2010 SciRes IIM
M. W. YUAN ET AL. 115
tology, the concept will be used as a replacement of this
word. For example, Software, MPEG, Vi deo, and Com-
pression_Standard are captured from the title of the last
item in the example of Section 2, where Compression
Standard, a concept defined in the ontology, replaces
Compression found in the title.
Secondly, the concepts extracted from each title are
arranged into a hierarchical concept graph, i.e. an ontol-
ogy instance. It has its URI (link) as the root and reor-
ganizes the concepts by retaining all ancestor descendant
and sibling relationships in the ontology. For example,
Software, MPEG, Vide o, Compression_Standard” can
be transformed into a concept graph as.
Assume that a subscriber of RSS feeds intends to de-
tect information which he/she is interested in. An expres-
sion of the interest could be written into an ontology in-
stance in OWL. For example, a job hunter expresses
himself as “Software Engineer, experiences in C lan-
guage, Video Compression standard such as H.264,
MPEG”; the ontology instance can be obtained as shown
in Figure 3.
Now the information from an RSS feed and a sub-
scriber has been represented formally in accordance with
the ontology definition for facilitating semantic match-
making. As a quantitative description, an ontology in-
stance can be transformed to a numerical vector, i.e. fea-
ture vector.
Algorithm 3: A feature vector of an ontology instance
can be represented as:
V(i)=[s1,s2, …, sN]T (4)
The element si in V(i) has a one-to-one correspon-
dence to the concept ei defined in the ontology concept
vector (2). The si [0,1] indicates the semantic closeness
between a concept, ei, and the root of an ontology instance.
instance in the appearenot does if 0
instance in the appeares if
),(
i
i
rooteDis
ie
ee
s
i
(5)
where Dis(ei,root) is a semantic distance between entity
Figure 2. The concept graph of a publisher’s ontology in-
stance.
Figure 3. The concept graph of a subscriber’s ontology in-
stance.
ei and the root. is a steepness measure [32] for fuzzy
modeling, which is often selected to be -7/MAX(Dis)
because e-70 when Dis(ei, root) reaches its maximum.
The semantic distance is computed according to Algo-
rithm 2.
Assume that a user’s interest and a received RSS feed
can be represented by two feature vectors, Vuser and Vrss.
It is expected that the similarities between a user’s inter-
est and received RSS feeds are measured by semantic
matchmaking, rather than literal matching only. For ex-
ample an RSS feed from a job-publishing website has
information to find “a Linux developer”. If a user is in-
terested in a job relevant to “Embedded Operation Sys-
tem”, the published job could be missed by using literal
matchmaking. In fact “Embedded Operating System” and
Linux” have a tight semantic relation that can be ob-
served from the ontology in Figure 1.
Due to the distributed nature of Internet applications, it
is impossible to force all information publishers using
strictly consistent terminologies and sentences. In fact
using words in their RSS feeds relies on their own view-
point and understanding. So the feature vectors are indi-
vidual-relevant.
In fact the words or concepts used by publishers are
fuzzy; any concept implies some extent of others due to
the semantic correlations that can be defined by mem-
berships in fuzzy set theory [33]. Suppose the entities of
in ontology form a universe of discourse in
a community. Any announcement i in an RSS feed, such
as “design driver program using C”, can be considered
as a linguistic variable. Then the corresponding feature
vector V(i)=[s1,s2, …, sN]T in (4) is a fuzzy representation
of i from an individual’s point of view, where si , i=1…N,
is a grade of membership corresponding to the ith entity
in the universe.
},...,,{21 N
eee
Now an individual-dependent V(i) can be transformed
into a fuzzy variable VI (i) that becomes individual-in-
dependent by taking account of semantic relationships
among concepts (e1eN)
)()()( iVIriV
(6)
where )(
r is a fuzzy relation matrix and each element
of rij reflects correlation or similarity between entity ei
and entity ej based on ontology . In this case, similar
entities can be taken into account even though they are
not explicitly cited in an RSS document.
The fuzzy relation )(
r can be obtained from the
ontology definition, e.g. in Figure 1. It is the inverse of
the distance matrix in (3):

),()2,()1,(
),2(1)1,2(
),1()2,1(1
)(
NNrNrNr
Nrr
Nrr
rc
(7)
Copyright © 2010 SciRes IIM
M. W. YUAN ET AL.
116
where r(i,j)=e-
d(i,j) and is a steepness measure; d(i,j) is
calculated by Algorithm 2. As an inverse of semantic
distance matrix (3), equation (7) tells us the closeness
between two concepts in ontology .
Therefore for any linguistic item i, the fuzzy inference
can be applied to consider implied semantic relations
described by ontology.
Algorithm 4: Obtain an individual-independent fea-
ture vector:


N
N
xxx
NrNr
Nrr
Nrr
sss
riViVI
21
21
1)2,()1,(
),2(1)1,2(
),1()2,1(1
.
)(.)()(


(8)
where . is an inner product of fuzzy relation, such as
max-min composition [33]:
))),(,min(
,)),,2(,min()),,1(,(min( 21
iNrs
irsirsMaxx
N
i (9)
Now RSS feeds and a user’s interest can be repre-
sented as a set of individual-independent vectors. Select-
ing the interested information from RSS feeds becomes a
process of similarity measuring between VIrss and VIuser.
The following fuzzy operation can be used to filter RSS
information.
user
rssuser
iVI
VIVI
U, where
[0,1] is a threshold (10)
where VIuserVIrss is the fuzzy min-operation whose ith
component is equal to the minimum of VIuser(i) and
VIrss(i); |VIuser| is the norm of VIuser which is defined to be
the sum of its components. If every element in VIrss is
equal to or greater than that in VIuser, then Ui=1 that
means VIrss is regarded as a perfect match of VIuser. If not,
VIrss with Ui higher than
will be considered as a close
match.
4. An RSS Filter Agent for Job Hunting
An RSS filter agent for job hunting is developed by us-
ing the proposed algorithms. Suppose a job hunter wants
to find a job via RSS feeds from website http://hotjobs.-
yahoo.com/jobs/. The job hunter is only interested in the
jobs in a specific knowledge domain, for example the
DVR developing domain in Figure 1. The job hunter will
provide a favorite profile to the agent. The agent will
detect relevant RSS feeds and prompt automatically.
The software architecture of the RSS filter agent is
shown in Figure 4. The core components are the Quanti-
tative Module, Matchmaking Module, Service Management
Module and Ontology. The Service Management Module
takes charge of coordination among the modules and confi-
Figure 4. The software architecture of the RSS filter agent.
guration of individual modules.
Protégé(http://protege.stanford.edu/plugins/owl/index.
html) was used to construct a domain ontology and ex-
ports the OWL document. Jena RSS package (http://
jena.sourceforge.net/) was adopted to parse an RSS feed
and Jena Ontology API was used to create and parse the
OWL document.
The resulted concept vector from Algorithm 1 is as
[DVR_Related_Technology, Standard, Hardware, Software,
Compression_Standard, Digital_Signal_Processing, Network,
Hardware_Description_Languages, Circuitry, MCU, Operation
_System, Programming Language, Driver_Development, Da-
tabase, Video, Audio, FFT, filter, RTP, TCP, IP, RTCP, VH- DL,
Verilog, PLD, CPLD, FPGA, ASIC, PCB, ARM, MIPS,
PowerPC, Digtal_Signal_Processor, Embedded_Operation
_System, Macintosh_Operation_System, Windows, DOS, High
_Level_Language, Assembly_Language, RS- 232, USB,RS-485,
IDE, PCI, DB2, MS_SQL, Oracle, MySQL, MPEG, H.26x, AAC,
MP3, WMA, WinCE, ucLinux, VxWorks, Linux, Java, C_
Plus_Plus, C, VB, C_Sharp, MPEG-4, MPEG -4_AVC, MPEG
-2, MPEG-1, H.263, H.264, H.261, H.262].
The corresponding initial relation matrix is obtained and
the distance matrix can then be computed according to Al-
gorithm 2, which is a 70*70 matrix and is illustrated in
Figure 5.
X
Y
10 20 30 4050 60 70
10
20
30
40
50
60
70
1
2
3
4
5
6
7
8
Figure 5. Distance matrix of the DVR developing ontology.
Copyright © 2010 SciRes IIM
M. W. YUAN ET AL. 117
From the graph we can observe that it is a symmetry
matrix. The grayscale indicates the semantic distance
between an entity in x axis and an entity in y axis, which
are entity indexes of the concept vector.
The following job titles were received from http://
hotjobs.yahoo.com/jobs/ RSS feeds.
J0: “Software Engineer, MPEG, Video, Compression
J1: “Senior Firmware Engineer W/ MPEG And ARM
J2: “Software Engineer - Programmer - Developer -
C++ - Java
J3: “C/C++/Linux/Oracle Developers
J4: “Embedded Software Engineer –embedded OS,
C, Assembly, DSP, Video
J5: “Application Engineer, Audio/Video, Hardware,
ASIC, PCB
J6: “MPEG ASIC/Hardware Engineer
J7: “Video Systems, H.264, MPEG, Decoder, FPGA,
HDTV
There are three users who want to find jobs and an-
nounce themselves as:
user0: “A hardware engineer, experience in using
CPLD/FPGA with Verilog for design
user1: “Software Engineer, experience in C language,
Video Compression standard such as H.264 , MPEG
user2: “H.264, MPEG, Video, Assembly, FPGA, DSP
From these statements, it is easy to observe that they
are individual-dependent and do not follow a strict for-
mat.
The extracted concept graphs from J0 and J1 have
been given in Figure 2 and Figure 3, respectively. The
resulted feature vectors to denote the above ontology
instances are listed below:
J0: [0, 0, 0, , , 0, …,0, , 0, …, ,
0, …, 0]
1*
e1*
e2*
e3*
e
J1: [0, …, 0, , 0, …, 0, , 0, …, 0]
1*
e1*
e
J2: [0, 0, 0,, 0, …, 0, , ,…, 0, 0]
1*
e2*
e2*
e
J3: [0, …, 0, , 0, ..., 0, , 0, , ,
0, …, 0]
1*
e1*
e1*
e1*
e
J4: [0, …, 0, , 0, ..., 0, , , 0, ..., 0,
, 0, …, 0, , 0, …, 0]
1*
e
1*
1*
e1*
e
1*
e e
J5: [0, 0, , 0, …, 0, , , 0, ..., ,
, 0, …, 0]
1*
e1*
e1*
e2*
e
2*
e
J6: [0, 0, , 0, …, 0, , 0, …, ,0, …, 0]
1*
e2*
e1*
e
J7: [0, …, 0, , 0,…, , …, , …, ,
0, 0]
1*
e1*
e2*
e2*
e
user0: [0,0, , 0, …,0, ,, 0,…,
,,0,…, 0]
1*
e1*
e1*
e
2*
e2*
e
user1: [0, 0,, 0, …, , …, , 0, …, 0]
1*
e2*
e1*
e
user2: [0,0, 0, 0, …,0, , 0,…, ,0,…,
,0,.., , 0, 0]
1*
e1*
e
2*
e2*
e
The elements in each feature vector are correspond-
ing to literal labels in the concept vector respectively.
is set to 1.
According to Algorithm 4 and (10), the resulted simi-
larities corresponding to every job Ji are:
user0: [0.0, 0.0, 0.0, 0.0, 0.0, 0.475, 0.475, 0.175]
user1: [0.833, 0.045, 0.333, 0.122, 0.577, 0.122, 0.045,
0.212]
user2: [0.135, 0.098, 0.0, 0.0, 0.634, 0.268, 0.098,
0.465]
The relationships between the published jobs and the
announcements of users are illustrated in Figure 6.
From this figure, the agent can identify suitable jobs
for users. For example, the most relevant jobs for user0
are J5 and J6.
As a general illustration, Figure 7 shows the user in-
terface for configuration of an RSS filter agent. A user
registered as Tom and subscribed RSS feeds from Yahoo
hotjobs (http://hotjobs.yahoo.com/rss/0/USA/-/-/-/IT), UK
academic employment (http://www.jobs.ac.uk/rss/disc/
2516. xml), and CareerBuilder (http://rtq.careerbuilder.
com/RTQ/rss20. aspx? lr=cbcb_ct&rssid= cb_ ct_ rss_
engine&cat=JN004&state=IL&city=chicago) for job
J0 J1 J2J3J4 J5J6 J7
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Job
Match Utility
use r0
use r1
use r2
Figure 6. Jobs vs users.
Figure 7. RSS filter agent registration.
Copyright © 2010 SciRes IIM
M. W. YUAN ET AL.
118
Figure 8. Virtual sensor output.
hunting. A user profile, “I am a software developer, mas-
tering C, Java and SQL. I have three years web pro-
gramming experience”, was announced as the interest.
The parameters of the virtual sensor were set as a sensor
resolution of 56% and display of top 10 candidates. The
detected RSS feeds were shown in Figure 8, where can-
didates were identified and the match degrees were
shown.
The method proposed in this paper can be applied for
both content publishers and content subscribers. For
example, on a business website side, the agent can be
used to find potential customers and, on a user side, the
agent can be used to perceive favorite information up to
a certain match-level by adjusting the threshold of
.
5. Conclusions
In this paper, the user-oriented active choice of informa-
tion from RSS feeds was discussed. A fuzzy method for
matchmaking between a subscriber’s interest and RSS
items was proposed, which converted headlines of an
RSS feed into numerical vectors and semantic closeness
to the interest was measured. Ontology acted as a bridge
to link heterogeneous publishers with subscribers in se-
mantics rather than in words. Concept graphs were firstly
extracted from the title of each RSS item and trans-
formed into an individual-dependent feature vector with
the aid of ontology. In order to eliminate ambiguity due
to different literal expression of individuals, fuzzy infer-
ence was applied to obtain the grade of membership in
terms of ontology, which became an individual inde-
pendent feature vector. A job seeking agent was devel-
oped to illuminate the method and the result showed its
validity.
6. References
[1] J. Grossnickle, T. Board, B. Pickens, and M. Bellmont,
“RSS-crossing into the mainstream,” October 2005. http://
publisher.yahoo.com/rss/RSS_whitePaper1004.pdf.
[2] D. Kuokka and L. Harada, “Integrating information via
matchmaking,” Journal of Intelligent Information Sys-
tems, Kluwer Academic Publishers, Vol. 6, pp. 261–279,
1996.
[3] K. Kurbel and I. Loutchko, “A model for multi-lateral
negotiations on an agent-based marketplace for personnel
acquisition,” Electronic Commerce Research and Appli-
cations, Vol. 4, No. 3, pp. 187–203, 2005.
[4] R. Hishiyama and T. Ishida, “Modeling e-procurement as
co-adaptive matchmaking with mutual relevance feed-
back,” M. Barley and N. K. Kasabov (Eds.): Intelligent
Agents and Muli-Agent Systems, the 7th Pacific Rim In-
ternational Workshop on Multi-Agents (PRIMA’04),
Auckland, New Zealand, pp. 67–80, 2004.
[5] D. Trastour, C. Bartolini, and C. Preist, “Semantic web
support for the business-to-business e-commerce pre-
contractual lifecycle,” Computer Networks, Vol. 42, pp.
661–673, 2003.
[6] J. Kopena and W. C. Regli, “DAMLJessKB: A tool for
reasoning with the semantic web,” IEEE Intelligent Sys-
tems, Vol. 18, pp. 74–77, 2003.
[7] S. A. Ludwig and S. M. S. Reyhani, “Introduction of
semantic matchmaking to grid computing,” Journal of
Parallel and Distributed Computing, Vol. 65, pp.
1533–1541, 2005.
[8] D. Sandler, A. Mislove, A. Post, and P. Druschel, “Feed-
tree: Sharing web micronews with peer-to-peer event no-
tification,” In Proceedings of the 4th International Work-
shop on Peer-to-Peer Systems (IPTPS’05), Ithaca, NY,
USA, pp. 141–151, 2005.
[9] B. Hammersley, “Content syndication with RSS,’ O' Reilly,
ISBN: 0-596-00383-8, 2003.
[10] E. Jung, “UniRSS: A new RSS framework supporting
dynamic plug-in of RSS extension modules,” In Pro-
ceedings of the 1st Aisan Semantic Web Conference
(ASWC’06), Beijing, China, pp. 169–178, 2006.
[11] K. Wegrzyn-Wolska and P. S. Szczepaniak, “Classifica-
tion of RSS-formatted documents using full text similar-
ity measures,” In Proceedings of the 5th International
Conference on Web Engineering (ICWE’05), Sydney,
Australia, pp. 400–405, 2005.
[12] P. S. Szczepaniak and A. Niewiadomski, “Clustering of
documents on the basis of text fuzzy similarity,”
Abramowicz W. (Eds.): Knowledge-based Information
Retrieval and Filtering from the Web, pp. 219–230, Klu-
wer Academic Publishers, 2003.
[13] N. Cancedda, E. Gaussier, C. Goutte, and J. Renders,
“Word-sequence kernels,” Journal of Machine Learning
Research, 3, pp. 1059–1082, 2003.
[14] H. Lodhi, N. Cristianini, J. Shave-Taylor, and C. Watkins,
“Text classification using string kernel,” Advances in
Neural Information Processing System, Vol. 13, pp.
563–569, 2001.
[15] G. Salton and M. J. McGill, “Introduction to modern in-
formation retrieval,” McGraw-Hill, New York, 1983.
Copyright © 2010 SciRes IIM
M. W. YUAN ET AL.
Copyright © 2010 SciRes IIM
119
[16] J. J. Sampera, P. A. Castillob, L. Araujoc, J. J. Merelob, O.
Cordon, and F. Tricas, “NectaRSS, an intelligent RSS
feed reader,” Journal of Networks and Computer Applica-
tions, Vol. 31, pp. 793–806, 2008.
[17] R. Prabowo and M. Thelwall, “A comparison of feature
selection methods for an evolving RSS feed corpus,” In-
formation Processing and Management, Vol. 42, pp.
1491–1512, 2006.
[18] N. S. Glance, M. Hurst, and T. Tomokiyo, “BlogPulse:
Automated trend discovery for weblogs,” In Proceedings
of the 13th International WWW Conference: Workshop
on Weblogging Ecosystem: Aggregation, Analysis and
Dynamics, New York, USA, pp.1–8, 2004.
[19] Y. Yang and J. O. Pedersen, “A comparative study on
feature selection in text categorization,” In Proceedings
of the Fourteenth International Conference on Machine
Learning (ICML’97), San Francisco, USA, pp. 412–420,
1997.
[20] T. Berners-Lee, “Semantic web road map,” 1998. http://
www. w3.org/DesignIssues/Semantic.html.
[21] X. Ning, H. Jin and H. Wu, “RSS: A framework enabling
ranked search on the semantic web,” Information Proc-
essing and Management, Vol. 44, pp. 893–909, 2008.
[22] S. Avancha, A. Joshi, and T. Finin, “Enhanced service
discovery in Bluetooth,” Communications, pp. 96–99, 2002.
[23] S. A. Ludwig and S. M. S. Reyhani, “Semantic approach
to service discovery in a grid environment,” Journal of
Web Semantics, Vol. 4, pp.1–13, 2006.
[24] S. Colucci, T. D. Noia, and E. D. Sciascio, F. M. Donini,
M. Mongiello, “Concept abduction and contraction for
semantic-based discovery of matches and negotiation
spaces in an E-marketplace,” Electronic Commerce Rese-
arch and Applications, Vol. 4, pp. 345–361, 2005.
[25] G. Stoilos, G. Stamou, V. Tzouvaras, J. Z. Pan, and I. Hor-
rocks, “The fuzzy description logic f-SHIN,” Interna-
tional Workshop on Uncertainty Reasoning For the Se-
mantic Web, 2005.
[26] J. Z. Pan, G. Stoilos, G. B. Stamou, V. Tzouvaras, and I.
Horrocks, “f-SWRL: A fuzzy extension of SWRL,” Jour-
nal on Data Semantics, Vol. 6, pp. 28–46, 2006.
[27] P. Jiang, Q. Mair, and Z. Feng, “Agent alliance formation
using ART-networks as agent belief models,” Journal of
Intelligent Manufacturing, Vol. 18, pp. 433–448, 2007.
[28] ISO, “Application protocol: Configuration controlled
design,” IS 10303 – Part 203, 1994.
[29] P. Jiang, Q. Mair, and J. Newman, “The application of
UML to the design of processes supporting product con-
figuration management,” International Journal of Com-
puter Integrated Manufacturing, Vol. 19, pp. 393–407, 2006.
[30] K. P. Sycara, M. Klusch, S. Widoff, and J. Lu, “Dynamic
service matchmaking among agents in open information
environments,” ACM SIGMOD Record (ACM Special
Interests Group on Management of Data), Vol. 28, pp.
47–53, 1999.
[31] J. Akoka and I. Comyn-Wattiau, “Entity-relationship and
object-oriented model automatic clustering,” Data and
Knowledge Engineering, Vol. 20, pp. 87–117, 1996.
[32] J. Williams and N. Steele, “Difference, distance and simi-
larity as a basis for fuzzy decision support based on pro-
totypical decision classes,” Fuzzy Sets and Systems, Vol.
131, pp. 35–46, 2002.
[33] L. A. Zadeh, “Fuzzy sets,” Information and Control, Vol.
8, pp. 338–353, 1965.