This application claims priority under 35 U.S.C. §119 from Japanese Patent Application No. 2012-155217 filed Jul. 11, 2012, the entire contents of which are incorporated herein by reference.
The invention relates to the field of social network systems (SNS). More specifically, a technique for expanding a social network graph linking individual users and items in a SNS.
Social network systems (SNS) have been introduced to companies to encourage activity across the organization. In order for a SNS to function effectively, a network must be constructed based on data that relates both users and content to each other.
Facebook is an example of an SNS which has an increasing number of users. In these social network systems a certain amount of preference data is collected, the usefulness of the network increases, and positive feedback becomes possible through the proactive efforts of users. When users do not actively participate in the SNS, data is not collected and the networks do not become useful. This causes users to participate even less, creating a vicious cycle known as the cold start problem. The following literature discloses related technologies for addressing this problem.
Japanese Patent Application No. 2011-227892 describes a system which includes the steps of: creating a specific profile for each user of a social network by supplying data to a context-aware framework using monitor agents in the user's social network; creating a context-aware keyword list rich with content for characterizing the relationships between users in the social network by extracting common interests and related keywords to cluster the original data; and providing an interface for querying the list.
Japanese Patent Application No. 2011-170471 describes a system that includes a social graph generating device, a tag evaluation value determining unit, and a social graph generating unit. In this system, when the social graph generating device receives evaluation request information from an evaluated user, the tag evaluation value determining unit selects a plurality of evaluating users requesting an evaluation value setting related to attribute information on the evaluated user. When tag evaluation information in which an evaluation value has been set by each selected evaluating user has been received, the tag evaluation value determining unit determines whether each evaluating user is a bona fide user or a malicious user using trust. When the number of bona fide users outnumbers malicious users, an evaluation value is determined for the evaluated user. Next, the social graph generating unit extracts the users strongly related to the evaluated user and generates a social graph by executing collaborative filtering using attribute information set by the evaluated user and the evaluation values for this attribute information.
Japanese Translation of PCT Application No. 2009-505286 describes a method for associating public tags, memos, or some other data as annotations to acquaintances in a social network. Here, a means is provided which allows users of a social network to obtain at a glance useful information related to others in the network with whom they have no connection and select acquaintances in the network using keywords defined by the user. This makes it easy for users to discover potential new friends and acquaintances at work.
Japanese Translation of PCT Application No. 2010-500648 describes a method for displaying news in a social network environment which includes the steps of: restricting access to news items to a predetermined set of viewers; generating news items related to activities related to users of the social network environment similar to assigning an order to news items; and connecting an information link related to at least one activity to at least one news item.
Japanese Translation of PCT Application No. 2008-539528 describes a method for scoring the compatibility of members in a social network which includes the steps of: generating an interest compatibility score based on interests provided by members of the social network; and calculating the compatibility score for a first member of the social network and the second member of the social network based on the interests provided by the first member, the interests provided by the second member, and the interest compatibility score between the interests provided by the first member and the interests provided by the second member.
Japanese Translation of PCT Application No. 2010-500649 describes a system for generating content based on personalized dynamic relationships between members of a web-based social network. At least one action of at least one member of a web-based social network is associated with relationship data for one or more members to generate integrated data, one or more elements associated with the integrated data are identified, the integrated data is collected, and the collected integrated data is weighted by affinity in order to generate content based on personalized dynamic relationships between members of a web-based social network.
MATSUO et al., “Social Network Extraction From Web Information”, Journal of the Japanese Society for Artificial Intelligence, 2005, describes a method for extracting the strength of a relationship between individuals from the co-occurrence of their names in documents on the web (search results from a search engine). This method is premised on a large number of documents having a co-occurrence.
TOMOBE et al., “Extraction and Utilization of Human Social Network For the Semantic Web”, Journal of the Information Processing Society of Japan, 2005, describes a technique similar to that of MATSUO et al.
BIRD et al., “Mining Email Social Networks”, MSR, 2006, describes a method for extracting and analyzing relationships from groups of addresses appearing in email. Here, “betweenness” is defined as the indicator for detecting important people.
DAS et al., “Google News Personalization: Scalable Online Collaborative Filtering”, WWW, 2007, describes the collaborative filtering used by Google News.
Kamishima, “Algorithms for Recommender Systems (1)-(3)”, Journal of the Japanese Society for Artificial Intelligence, 2007-2008, are a series of introductory articles on recommender systems. These articles describe a weakness of recommender systems, which is that valid results are difficult to obtain unless a certain number of user preferences has been collected.
AMITAY et al., “Social Search and Discovery Using a Unified Framework”, Hypertext, 2009, describes item searching and scoring in an SNS.
The techniques described in the related art allow one to take full advantage of a social network that already exists and is fully activated. In addition, the related art describe techniques which construct social networks based on a user's own information and based on the user's history of past activity. However, a social network cannot be constructed in an environment in which the social network is inadequate and the users are not active. Therefore, the purpose of the present invention is to provide a technique able to expand a social network, even when the social network is inadequate and there is no incentive for users to proactively contribute to the social network.
Accordingly, one aspect of the present invention is a computer implemented method for expanding a social graph, wherein the computer includes a processor communicatively coupled to a memory, the method including the steps of: preparing a plurality of questions for adding to the social graph an edge E1 or an edge E1 and a node N1 at an endpoint of the edge; determining a predetermined number of questions among the plurality of prepared questions to present to a user indicated by given node N2 representing a user in the social graph; and the determination step including a step performed based on at least one item among operating costs for an operation in an answer to a question, the distance between node N2 and node N3 at one endpoint of the added edge E1, and the sum of the inter-nodal distances reduced by the addition of edge E1 across some or all of the nodes in the social graph.
Another aspect of the present invention is a computer readable storage medium tangibly embodying a computer readable non-transitory program code having computer readable instructions which, when implemented, cause a computer to carry out the steps of a method for expanding a social graph, the method including the steps of: preparing a plurality of questions for adding to the social graph an edge E1 or an edge E1 and a node N1 at an endpoint of the edge; determining a predetermined number of questions among the plurality of prepared questions to present to a user indicated by given node N2 representing a user in the social graph; and the determination step including a step performed based on at least one item among operating costs for an operation in an answer to a question, the distance between node N2 and node N3 at one endpoint of the added edge E1, and the sum of the inter-nodal distances reduced by the addition of edge E1 across some or all of the nodes in the social graph.
Another aspect of the present invention is a computer system for expanding a social graph, including: means for preparing a plurality of questions for adding to the social graph an edge E1, or an edge E1 and a node N1 at an endpoint of the edge; means for determining a predetermined number of questions among the plurality of prepared questions to present to a user indicated by given node N2 representing a user in the social graph; and the means for determining including means performed based on at least one item among operating costs for an operation in an answer to a question, the distance between node N2 and node N3 at one endpoint of the added edge E1, and the sum of the inter-nodal distances reduced by the addition of edge E1 across some or all of the nodes in the social graph.
a)-(c) are diagrams showing an example of a card presented to a user according to an embodiment of the present invention.
a)-14(b) are diagrams showing examples of a card presented to a user according to an embodiment of the present invention.
The following is an explanation of examples of the present invention with reference to the drawings. These examples are provided to explain preferred embodiments of the present invention. However, the scope of the present invention is not limited to the examples shown here. In the drawings, the same objects are denoted by the same reference symbols unless otherwise indicated.
The purpose of the present invention is to provide a technique that is able to expand a social network even when the social network is inadequate and there is no incentive for users to proactively contribute to the social network. The present invention provides a system which achieves this by creating a minimal social network with a hierarchical structure and by adding nodes and edges reflecting relationships between actual users and items to expand the social network. In other words, the system of the present invention determines the proximity to the target state when new edges are added to a social network and the distance between nodes is reduced by the new edge.
In a preferred embodiment, the system of the present invention displays GUI cards to users of a client system connected to a web server which prompt users to enter information and introduce new edges. The system of the present invention uses an algorithm comprising the following priority criteria to select cards to be displayed:
In other words, the present invention can effectively expand a social network by selecting cards that relate to nodes in accordance with priority criteria and displaying the cards as GUI to prompt users of the system to enter information and by introducing edges based on entered responses.
In
In order to log in, the user of the client computer enters a user ID and password associated with the user ID. Once the user of the client computer has logged into the SNS, a blog entry can be written, the blog entries of other people with access to the system can be read and commented upon, news can be read, groups can be formed with likeminded people, chat sessions can be held, and likeminded communities can be discovered. Mobile terminals such as smartphones 110a, . . . 110k are connected to the web server 102 via a packet communication network 108. If users remember their user ID and password, they can access the SNS of the web server 102 using the web browser installed in their smartphone.
Referring to
The keyboard/mouse controller 228 is connected to a keyboard 230 and a mouse 232. The keyboard 230 is typically used to write chat messages and enter community information to be searched in the SNS. The mouse 232 is used to click links, read news, select operations from menus, and select blogs to read in the SNS. The CPU 204 can have a 32-bit architecture or 64-bit architecture. Examples include Pentium 4 (trademark of Intel Corporation) or Core (trademark) 2 Duo from Intel Corporation or Athlon (trademark) from Advanced Micro Devices. The audio interface 222 can be connected to a speaker 224 and a microphone 226. The speaker 224 is provides auditory feedback to a user. The microphone 226 transmits user audio to the audio interface 222.
The hard disk drive 210 includes at least an operating system and a web browser (not shown) that operates on the operating system. The operating system is loaded into the main memory 206 at system startup. Operating systems that can be used include Windows XP (trademark of Microsoft Corporation), Windows (trademark of Microsoft Corporation) 7, Linux (trademark of Linus Torvalds), and Mac OS X.
Programs for embodying the functions of the present invention on the client side are introduced to the hard disk drive 210. These programs can be introduced in the form of a plug-in for the web browser and downloaded beforehand from a web server 102. The plug-in is operated by JavaScript® and calls up RESTAPI on the web server 102 side. Therefore, in this example, the web browser supports JavaScript®. However, the present invention is not limited to this. Internet Explorer, Firefox and Google Chrome can also be used. JavaScript® operability is not essential. Any program that can communicate based on HTTP protocol to call up RESTAPI can be used. In the case of a Smartphone, a native application can be installed to initiate HTTP protocol communication. The communication interface 218 uses the TCP/IP communication function provided by the operating system and communication with the web server 102 is conducted via Ethernet (trademark) protocol (not pictured), wireless LAN 218(a), and the like.
The configuration of the client computers 106a, 106b, . . . 106z was described above. Because the configuration of the smartphones 110a, . . . , 110k is nearly identical to the configuration of the client computers 106a, 106b, . . . , 106z in the context of this example, further description has been omitted. Preferably, the web browser in the smartphones 110a, . . . , 110k also has an introduced plug-in operated by JavaScript® and calling up RESTAPI on the web server 102 side.
The hard disk drive 310 in the web server 102 stores an operating system and a correspondence table of user IDs and passwords used to manage the log-in of client computers 106a, 106b, . . . , 106z. The hard disk drive 310 also stores software, such as Apache, enabling the web server 102 to function as a web server. This is loaded into the main memory 308 and activated when the web server 102 starts up. This enables the client computers 106a, 106b, . . . , 106z to access the web server 102 using the TCP/IP protocol. While not shown in the drawings, the hard disk drive 310 in the web server 102 also stores a communication module used to communicate with smartphones via the packet communication network 108.
The hard disk drive 310 in the web server 102 also stores information such as the messages, blogs, and bulletin boards of each user of the SNS. The SNS information is preferably stored in text format, such as in HTML files, or multimedia formats, such as graphic images, video files, and audio files. Users can write entries in their blogs or bulletin boards and other users can read these blogs and bulletin boards and post comments if authorized. The hard disk drive 310 also stores social network graphs (SNS graphs) 402. SNS graphs 402 are explained below with reference to the function block diagram in
The web server 102 can be any type of server, such as an IBM (trademark of International Business Machines Corporation) System X, System i, or System p server available from International Business Machines Corporation. Available operating systems include AIX (trademark of International Business Machines Corporation), UNIX (trademark of The Open Group), Linux (trademark of Linus Torvalds), and Windows (trademark) 2003 Server. The operating system in this example is Linux (trademark of Linus Torvalds) to which Java® EE has been introduced. Server-side Java® has been introduced and the node reference routine 404, the card recommendation routine 408, and the edge adding/updating routine 414, which are processing programs of the present invention, are preferably installed as Java® programs or Servlet.
The following is an explanation of the processing elements according to an embodiment of the present invention with reference to the function block diagram in
In
Returning to
User information 406 is stored, including each registered user ID, organizations, interests, and other information. Tag information is also stored as user information 406 when the users use a card to tag themselves or other users. The card recommendation routine 408 generates a card from a card template 410 based on the information from the node reference routine 404 and user information 406, and presents one or more cards to the requester of the cards according to priority. The following is an example of a method used to create candidate cards.
Candidates for cards to be presented to a given user are created in the following manner. The node representing the person in the social network corresponding to the user is denoted as N and a node representing another person is denoted as N1. Item node I, I1, . . . , In denotes all nodes other than person nodes. In other words, these include tag nodes. It is said that “N1 is closer to N in the social network” when d(N1, N) is smaller than others. The following A1-C2 are examples of card templates:
The card recommendation algorithm is explained below in greater detail with reference to the flowchart in
The following is an explanation of the operations performed by this example with reference to the flowchart in
After an initial social network graph has been prepared as the social network graph 402 in Step 502, the user interface module 412 receives a user ID and a card inquiry from a user. A card request can be triggered by a user operation performed on a user terminal or can be triggered automatically and periodically by a plug-in operation performed by the user terminal. In response to this in Step 504, the node reference routine 404 specifies the position (node) of the social network graph (SNS graph) 402 based on the user ID.
In Step 506, a card candidate is created based on the position in the graph and on the method for creating card candidates. Preferably, all cards listed in the method for creating card candidates are generated. In the following example, a card to be issued to N2 is selected. At this time, the number of card candidates may be limited, such as limiting the N1 range to a set number of hops from the user. The number of hops is a number to which 1 is added every time an edge in the graph has been traversed.
In
Here, the distance used is the shortest path connecting two nodes. This distance is usually the sum of the distances of traversed edges. However, the distance may be weighted exponentially in the following manner. In other words, when the distances of the edges along a path from node A are d1, d2, d3, etc. in ascending order, the appropriate positive constant a is used to obtain path distance d1+d2*exp(a)+d3*exp(2a)+etc.
In Step 506, the card recommendation routine 408 gives each card a priority. The priorities used at this time are any of those shown in
In Step 510, the card recommendation routine 408 returns the card with the highest priority to the client, returns a plurality of cards requested by the client in ascending order of priority, or selects a plurality of cards with a high priority, stochastically weights them by priority, and returns one or more cards requested by the client to the user via the user interface module 412.
In Step 512, the user terminal displays a card on the screen and a response is received from the user regarding the card.
If the user has not responded during a predetermined period of time after the card 904 has been displayed by entering something in the card 904 or clicking button 904a or 904b, the decision in Step 514 is NO and the process is ended. When the user has performed an operation with respect to the card 904, the process advances to Step 516. If the user clicks the “Next” button 904b or clicks the “No” button when asked if he or she knows the person on the card, the decision in Step 516 is NO and the process is ended. If the user clicks the “OK” button 904a, the decision in Step 516 is YES and response data is transmitted to the edge adding/updating routine 414 via the user interface module 412. The response data includes information such as one or more tags entered by the user.
In Step 518, the edge adding/updating routine 414 adds new non-person nodes to the social network graph 402 if necessary based on the data received via the user interface module 412 and the current position in the social network graph and adds an edge between two nodes with a distance corresponding to the answer to the question on card 904. If an edge already exists between the nodes, the distance is updated in accordance with the answer.
As the processing is repeated, the initial social network graph shown in
The following are some examples of cards that are presented. One pattern is to have the user attach tags himself/herself.
Another pattern is to have others (acquaintances) attach tags. Here, a person close to the user in terms of familiarity distance who hardly has any tags is selected (Q). Preferably, Q is an influential person linked to many nodes in the graph. The following are examples of such cards.
Another pattern is to strengthen existing edges.
Another pattern is to recommend content.
The examples explained above were constructed as a Java®-based client-server system. However, the present invention is not restricted to a particular platform and can be realized using any hardware, operating system, programming processing system, or network environment. The depicted cards are merely examples and it should be understood that any card getting the attention of a user or prompting a user to input information is within the scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2012-155217 | Jul 2012 | JP | national |