WO2005122014A2 - 情報空間処理装置、プログラム、および、方法 - Google Patents

情報空間処理装置、プログラム、および、方法 Download PDF

Info

Publication number
WO2005122014A2
WO2005122014A2 PCT/JP2005/010856 JP2005010856W WO2005122014A2 WO 2005122014 A2 WO2005122014 A2 WO 2005122014A2 JP 2005010856 W JP2005010856 W JP 2005010856W WO 2005122014 A2 WO2005122014 A2 WO 2005122014A2
Authority
WO
WIPO (PCT)
Prior art keywords
space
node
information
unit
calculation
Prior art date
Application number
PCT/JP2005/010856
Other languages
English (en)
French (fr)
Other versions
WO2005122014A1 (ja
Inventor
Mitsuhiro Tanada
Original Assignee
Mitsuhiro Tanada
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsuhiro Tanada filed Critical Mitsuhiro Tanada
Priority to JP2006514606A priority Critical patent/JPWO2005122014A1/ja
Publication of WO2005122014A2 publication Critical patent/WO2005122014A2/ja
Publication of WO2005122014A1 publication Critical patent/WO2005122014A1/ja
Priority to JP2007523391A priority patent/JPWO2007000893A1/ja
Priority to PCT/JP2006/311903 priority patent/WO2007000893A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor

Definitions

  • the present invention relates to management and retrieval of an information space that is a knowledge information capability in a computer program.
  • the present invention relates to an information space processing apparatus for performing analysis, sharing, and the like.
  • Non-Patent Document 1 Non-Patent Document 2
  • Non-Patent Document 3 Non-Patent Document 4
  • Non-Patent Document 5 Non-Patent Document 9.
  • next-generation information management of information such as (codename) WinFS of Microsoft's next-generation file system described in Non-patent Document 6, Non-patent Document 7, and Non-patent Document 8 is also available.
  • Research and development is progressing as a method. The idea is to make the file system accessible like accessing the file system on the Web. This means that all meta information about the file is stored in a relational database, enabling advanced query search, cross-search, search speed improvement, search by classification, and narrow search of search results. is there. However, this is also a method of managing and searching for meta information of information.
  • Non-patent Document 1 Jack Park, edited by Sam Hunting, edited by Tsuyoshi Goto, "XML Topic Maps—The Era is the Semantic Web"
  • Non-Patent Document 2 Members of the TopicMaps.Org Authoring Group, XML Topic Maps (XTM) 1.0, [online], [Searched on May 20, 2004], Internet: http://www.topicmaps.org/xtm / 1.0 />
  • Non-patent document 3 ISO 13250
  • Non-patent Document 4 W3C, Resource Description Framework (RDF), [online], [May 2004 search], Internet URL: http: ⁇ www.w3.org / RDF />
  • Non-Patent Document 5 W3C, OWL Web Ontology Language XML PresentationSyntax, [on line], [Searched on May 20, 2004], Internet http: ⁇ www.w3.org / TR / owHonlsynt ax />
  • Non-patent document 6 MicrosoftCorporation, WinFS, [online], [May 2004 search], Internet URL: nttp: / 1 msdn.microsoft.com/Longhorn/ understanding / pnlars / Win Fb / default.aspx
  • Non-Patent Document 7 By Microsoft Corporation, WinFS in the Longhorn SDK, [online], [Searched May 2004], Internet URL: http://longhorn.msdn.microsoft.com/?//lon ghorn.msdn.microsoft.com/lhsdk/winfs/daovrWelcomeToWinFS.aspx>
  • Non-Patent Document 9 Computational Intelligence Part4 Knowledge Engineering Ontology Promotes Knowledge Sharing ”, says Keio Byte, February 2004, Keitsu BP, 2004, P. 42-45
  • an object of the present invention is to provide an information space processing device or the like that can treat a meaning as it is, by treating the meaning of a person as state information in a space, and can treat the meaning as it is.
  • an information space evaluation device is an information space evaluation device that evaluates a plurality of spaces formed by a set of nodes as a set of information.
  • a data acquisition unit that acquires information from the space
  • an overlay calculation processing unit that performs overlay calculation that is a process of calculating the relevance of different spaces based on the acquired information
  • the overlay calculation unit A data output unit for outputting a result of the superposition calculation by the processing unit.
  • meaning is treated as space.
  • the meaning is treated as positional information that exists in a space that is different from some defined attribute information, and state information of its existence.
  • this space is particularly called a semantic space. Also, treating it as state information of its existence plays a significant role in handling meaningful ambiguity.
  • the concept of information can be efficiently handled by handling the state of existence. This principle allows for more efficient management and acquisition of information. But these To be effective, certain management and processing methods must be used.
  • Spatial superposition processing is a very important concept in the present invention. This is to calculate by comparing existence in different spaces. Of particular importance is the comparison of whether this comparison is the same.
  • Each space expresses a certain concept.
  • the existence of the same thing in each different space means that the same thing exists in different concepts.
  • the existence is understood as meaning. This existence does not depend on the structure of the space itself or the relationship between the information and the information, so that a large degree of freedom can be given to the description of the space.
  • objects that exist across multiple spaces can be revealed.
  • the superimposition process is a process of exposing information by comparing data bias and characteristics in space.
  • superposition processing can produce a great effect by utilizing spatial predictability.
  • Spatial predictability means that humans can predict unrecognized parts by recognizing information linked to the space or a part of the space. By performing the superposition process based on this prediction, it is possible to reach easily by revealing concepts or information that are not recognized, that is, unknown even if there is no clear existence. In this way, it can be said that the superimposition process is a process capable of retrieving information by utilizing human predictive ability.
  • the recognition process the non-recognition process, and the superimposition process will be described with reference to the drawings.
  • the perceived information power like 111 can be predicted to some extent.
  • the cognitive part power also predicts the non-cognitive part, and the information about the non-cognitive part can be revealed by the superimposition process.
  • Figure 5 shows the flow of information by searching using keywords and natural language processing.
  • the person 121 converts his or her own image into a keyword or natural language at 122. This information is processed by the computer at 123 and output as a result 124 for human perception.
  • Figure 6 shows the information flow of the overlay process.
  • the human 121 maps the power of the image that he or she has in the defined space at 125, performs the computer processing on the result of the mapping at 126, and outputs the result as the result 127 to output the human. Recognizes it.
  • Projection of a space is a mechanism that is useful when expressing different things while maintaining a uniform structure. In other words, it is possible to treat multiple versions of the space as one concept. Projection of space can make uniform data easier to handle. As a use, projection, which manages space for multiple languages such as Japanese, English, and Spanish, is powerful. By projecting, it is possible to clearly create a cohesive space for various aspects while maintaining a specific structure.
  • the layer can provide additional information or a process using the additional information for the space.
  • information about security is usually different from the concept you want to represent in space. Specifically, it is assumed that there is a space expressing a certain test result. Information on the security of this space, such as access permission and denial, should be related to the test score, V, and the test result.
  • the expansion of the space is facilitated by the automatic space classification process. This process eliminates the need for humans to manually consider where a node should be added in a space and when it should exist. Can be significantly reduced.
  • the present invention provides an information space evaluation method which can be realized as an information space evaluation device as described above, a program expressing the method as a step, and a computer readable CD-ROM or the like recording the program. It can also be realized as a medium.
  • the invention's effect can be realized as an information space evaluation device as described above, a program expressing the method as a step, and a computer readable CD-ROM or the like recording the program. It can also be realized as a medium.
  • FIG. 5 Diagram showing information flow in information search by keyword or natural language
  • FIG. 6 Diagram showing information flow in information search by overlay processing
  • FIG. 27 Diagram for explaining node implementation using XML
  • Figure 28 Diagram showing an example of the entity of a node expressed in XML
  • FIG.62 Diagram showing an example of logical operation by spatial XNOR
  • ⁇ 67 Diagram showing the result of weighted search adjusted by priority weighting.
  • ⁇ 68 Diagram showing an example of adjusting priority by link distance.
  • FIG. 81 is a diagram showing an example of a logical operation in a data scanning process
  • FIG. 82 is a diagram showing an example of weighting in data scanning processing
  • FIG.91 Node diagram representing music information and distinguished by synchronization point equivalence evaluation.
  • FIG.92 Node diagram representing music information and differentiated by equivalence evaluation by genre.
  • FIG. 161 Implementation diagram of client implementing invention by connection of external force
  • FIG. 101 is a functional block diagram showing a configuration example of the information space processing apparatus 4000 according to the present embodiment.
  • This information space processing device 4000 evaluates (analyzes, manages, searches, shares, etc.) multiple spaces formed by a set of nodes, which are a set of information.
  • the device is characterized by the fact that it can treat the meaning of a human as ambiguous by treating it as state information in space.
  • the data acquisition unit 4210, processing start unit 4212, projection unit 4411, It comprises a calculation processing unit 4211, a data output unit 4213, and an automatic classification processing unit 4809.
  • the data acquisition unit 4210 further includes a space selection unit 4250 including a link selection unit 4251 and a hierarchy selection unit 4252, and a spatial filtering unit 4253.
  • the superposition calculation processing unit 4211 further includes an operation processing unit 4216 including a logical operation calculation unit 4220, a weight calculation unit 4221, an integrated calculation operation unit 4222, a filtering unit 4223, and a Karoe processing unit 4224, and an equivalence evaluation unit. It consists of 4215 and a comparative study section 4217.
  • FIG. 2 also shows a spatial data section 4201 and the like existing outside the information spatial processing device 4000.
  • Each component is implemented by one or more programs and Z or hardware. Further, the program may be processed by a plurality of computers.
  • the overall processing flow uses the spatial data section 4201 to use the processing start section 4212 and the data acquisition section 4210 to determine the processing to be performed and the target space. Further, using the determinations of the processing start unit 4212 and the data acquisition unit 4210, the overlay calculation processing unit 4211 performs overlay processing, and the data output unit 4213 outputs the result to the output destination 4214.
  • the space data section 4201 is a portion where information related to space is present, and means a computer-readable recording medium such as a memory or a magnetic disk, or a network itself. In order to access this information, it is common to read the information from the realized space on the memory or magnetic disk, or to obtain the other computer space information on the network.
  • the processing start unit 4212 determines what kind of processing is to be performed. Here, it may be an instruction from an external or internal program, or a case where a human instructs a process. In this part, it is decided which space is to be processed and how to perform the overlay processing. In performing the processing, the spatial data section 4201 is accessed, and information is collected using the data acquisition section 4210 and the like. Such processing is often performed, for example, when a human interactively determines a search target through a program.
  • the data acquisition unit 4210 is a processing unit that acquires information from the spatial data unit 4201. This is performed in order to obtain information to be used in the start unit 4212 and to use the information in the overlay calculation processing unit 4211.
  • the data acquisition unit 4210 acquires data to be used for the overlay processing using a link selection unit 4251 or a hierarchy selection unit 4252, which is a kind of the space selection unit 4250. If necessary, the result of the data acquisition unit 4210 is subjected to a spatial filtering unit 4253 or the like to select data to be used.
  • the overlay calculation processing unit 4211 is a processing unit that performs overlay calculation, which is a process of calculating the association between different spaces, based on the information acquired by the data acquisition unit 4210. Based on this information, various operations are performed using the arithmetic processing unit 4216 and the equivalence evaluation unit 4215 to obtain the truth value of the logical operation and the weight (score) of the weighting process and the weighted integrated calculation. The calculation of the truth value by the logical operation is implemented in the logical operation calculation unit 4220.
  • the weight calculator 4221 obtains the weight (score) of the weight.
  • the integrated calculation operation unit 4222 performs a process for weighted integrated calculation using the result of the weight calculation unit 4221. It is also effective to apply the filtering unit 4223 to the result of the logical operation calculation unit 4220, the weighting calculation unit 4221, and the result of the integrated calculation operation unit 4222, and to apply the processing unit 4224.
  • the equivalence evaluation unit 4215 will be described.
  • the equivalence evaluation unit 4215 is a processing unit that evaluates whether or not nodes can be regarded as equivalent.
  • any equivalence evaluation that basically cannot be used such as synchronization point equivalency evaluation, equivalence evaluation using node properties and node type can be used.
  • These can be defined in the scripting language 4240, or the function of equivalence evaluation can be delegated to an external program 4241.
  • the comparison and examination unit 4217 performs a comparison and examination process for comparing and evaluating the nodes. Usually, numerical information is obtained by comparison.
  • the comparison process can be defined in the scripting / programming language 4240, or the function of the comparison process can be delegated to an external program 4241.
  • the arithmetic processing unit 4216 performs a comparison calculation for different spaces based on the evaluation by the equivalence evaluation unit 4215 and the comparison and examination unit 4217, and calculates the result as the relevance. is there.
  • the logical operation calculator 4221 calculates the truth value of the logical operation. Calculation is etc. This is performed using the price evaluation unit 4215 or the comparison and reviewing unit 4217. For example, for the evaluation by the equivalent evaluation unit 4215, true / false is determined by judging whether or not a certain condition is satisfied, and true / false of different spaces is logically calculated. The result is used to select the truth value by the force passed to the data output unit 4213 and the filtering unit 4223, and to be used for the calculation by the filtering unit 4223 and the processing unit 4224.
  • the weight calculation section 4221 calculates the weight (score) of the weight processing.
  • the calculation is performed using the equivalence evaluator 4215. For example, the number of nodes determined to be equivalent by the equivalence evaluation unit 4215 is counted, and a value depending on the counted number is weighted as a weight for a space or a node. Normally, uniqueness processing, priority adjustment, and various calculations are performed in this part.
  • the integrated calculation operation unit 4222 calculates the weight (score) of the weighted integrated calculation.
  • the calculation is performed using the equivalence evaluator 4215. Usually, this calculation is performed using the result of the weight calculation unit 4221. For example, a comparison calculation for different spaces is performed using the weights obtained by the weight calculation unit 4221.
  • the calculation results of the weighting calculation unit 4221 and the integrated calculation calculation unit 4222 may be output to the data output unit 4213 as they are. It is also effective to output the adjusted score using the unit 4224.
  • the filter unit 4223 performs a filtering process, which is a mechanism for narrowing down results such as a logical operation, a weighting process, or a weighted integrated calculation.
  • Information can be narrowed down by applying to the results of the logical operation calculation unit 4220, the weight calculation unit 4221, and the integrated calculation operation unit 4222.
  • the result of the logical operation calculation unit 4220 is used, or a node judgment formula is used. It is also effective to carry out the result further in the processing section 4224.
  • These results are output to the output destination 4214 by the data output unit 4213.
  • the processing unit 4224 performs a weighting process or a weighting process for performing a process on the weight of the integrated weighting calculation. In general, processing is performed using the result of the logical operation calculation unit 4220 or performing processing using a node determination formula. The results can be further filtered. It is also effective to sort by the filtering unit 4223. These results are output to the output destination 4214 by the data output unit 4213.
  • the data output unit 4213 receives the result of the superposition calculation process 4211 and outputs the result to the output destination 4214.
  • the output destination is a computer-readable recording medium or a network. Normally, the results are stored in memory or magnetic disk, the results are transferred to another computer or program using a network, or the output is made using a display or speakers. Further, the output result can be further arranged by using a filtering unit 4223 and a cache processing unit 4224.
  • the projection unit 4411 is a processing unit that enables a plurality of versions of the space to be treated as one concept, that is, a processing unit that projects the space. By using this function, information can be prevented from being dispersed. Projectionization is effective for multilingual space design and version control of complex programs and documents.
  • FIG. 161 As an operation mode of the present invention, a mode in which one or a plurality of information receiving apparatuses are connected to the information providing apparatus 6005 to receive information as shown in FIG. 161 is effective.
  • information receiving apparatuses 6001 and 6002 obtain information from information spatial processing apparatus 4200 and 6005 including spatial data section 4201 via information connecting sections 6011 and 6012. Accordingly, even if the client does not actually mount the information space processing device 4200, the information receiving device can use information such as the result of the superposition process.
  • the implementation shown in FIG. 161 allows information to be easily shared by many users.
  • An operation mode in which a part of the functions of the spatial data unit 4201 and the information spatial processing device 4000 is shared by a plurality of devices is also effective. In this way, by dispersing the functions, it is possible to obtain an advantage that the cost of calculation processing is not excessively concentrated on a specific program or computer.
  • the overlay calculation processing unit 4211 is also mounted on the devices 6021 and 6022. In this case, the information connection units 6031 and 6032 acquire information necessary for the overlay processing via 6025, and the overlay processing is performed by the respective devices 6021 and 6022.
  • the “node” is realized by a computer-readable recording medium or an information communication network such as the Internet.
  • a node is basically a unit for linking and managing information, or information itself. Usually, information is tied to nodes and managed.
  • the automatic classification processing unit 4809 is a control unit that controls to automatically execute each component included in the information space processing device 4000 sequentially.
  • the "user” includes not only a person who uses the program but also a program which uses the program.
  • a "link” is a mechanism for connecting nodes. It can be expressed in any form as long as a human, a program, or a device can recognize the connection between nodes.
  • a link exists to indicate a relationship such as a structure of a node group.
  • the link includes a unidirectional link and a bidirectional link. Although it depends on the environment in which it is used, the general implementation is easy to use because it is possible to follow the counter in both directions with a bidirectional link.
  • nodes and spaces having various characteristics can be created.
  • nodes can be localized in the link space.
  • a typical example is a hierarchical space in which link relationships are linked by parent-child relationships.
  • the real space includes a "link space” formed by nodes and a link between the nodes, and an "intangible space” formed by nodes in each category (that is, a simple set of nodes).
  • link space can structure and systematize the space, it is excellent in visibility and understandability.
  • intangible space can be replaced by the link space.
  • implementation in intangible space is simpler and easier to implement than in link space. It is also excellent when used for temporary calculation processing, because it is not necessary to consider link-related processing, especially in terms of processing speed.
  • a program that uses a space is called a “space program” or a “space management program”.
  • FIG. 7 is a node diagram of the link space.
  • 210 is a node and 211 is a link.
  • the space formed by the links between the nodes is the link space.
  • nodes are stored in an unlinked state.
  • 220 is an intangible space and 221 is a node.
  • An intangible space is formed by such a simple set of data nodes.
  • space is a very broad term.
  • a space can be called a space even with one node.
  • a plurality of spaces can be called one space.
  • a space is a collection of one or more nodes regardless of their structure, shape, or state.
  • the space will be described with reference to FIG. 231, 232, and 233 in Fig. 9 can all be called spaces.
  • 231 may be called a node.
  • FIG. 10 is a diagram in a case where link information of a node is stored in the node itself.
  • the node 300 holds link information to the node 301.
  • 300 and 301 may refer to nodes depending on the implementation.
  • FIG. 11 is a diagram showing a case where link information is described outside. Node 310 and node
  • 311 is in a linked state.
  • the link relationship is defined by 312 instead of the link information being stored in each of the nodes 310 and 311. 310, 3
  • 11 may be a reference to a node, depending on the implementation.
  • a link of a node When a link of a node is implemented on a memory, a method of expressing the link by holding a pointer to the node or a reference to an object is generally used.
  • the link of the node can also be expressed in a format such as HTML or XML. It can also be expressed using HTML hyperlinks or XML Xlinks.
  • “property” means information linked to a node.
  • Information linked to a node can be called a property. What is set in the property is left to the implementer of the program. For example, text such as name and description, numeric data such as ID, application-specific data format, binary data, specific memory area, XML-created schema, file list, and file stream may be used.
  • properties to information of other programs and information on the network, information management in a distributed environment can be easily realized.
  • synchronization is regarded as the same, but is different in space.
  • node A1 and node A2 are synchronized with each other. Except for the link, the one that applies to A2 even if it is applied to A1 is called synchronized. Synchronization only needs to be able to treat those synchronized with each other as the same except for the link.
  • nodes that can be regarded as the same, but differ in space, and have the property that changes in one are adapted to the other are synchronized with each other!
  • synchronization points refer to things that are synchronized with each other.
  • the synchronization point will be described below with reference to FIG. Node A is synchronized with each other at 400, 401, 402.
  • 400, 401, and 402 are called the synchronization points of A, and the synchronization points are said to be the same.
  • the synchronization point can be regarded as asynchronous. However, in actual implementations, it is often better to treat synchronous and asynchronous as clearly separated.
  • a reference generally exists as a pointer to an entity on a memory, and exists as an object or an object reference in an object-oriented environment. Link information defined outside can also be referred to as reference.
  • To multiplex operations is to express synchronization by simultaneously applying one instruction to a plurality of synchronized nodes.
  • FIG. 13 illustrates a reference management type implementation of an instance. These 421, 422 are references to entity 420. Therefore, the effects of operation 423 and operation 424 are both operations on the entity and the synchronization is maintained.
  • FIG. 14 shows an implementation by multiplexing operations.
  • 410 and 411 are different entities, but one operation 412 is duplicated and applied to multiple entities to synchronize. Has been realized.
  • the method of associating information with a node or a space depends on the implementation of the space. There are two main ways of thinking when linking information to node-space. This is ⁇ synchronous information addition '', which is the addition of information to the information including the synchronization of the nodes, or not including the synchronization! /, And ⁇ asynchronous information addition '', which is the addition of the information! That's it. Synchronous information addition is information that is shared between synchronized ones, while asynchronous type information addition means that information is not shared between synchronized ones. These mechanisms are important concepts that also affect projection, layering, and automatic classification. In the present invention, a property can be said to be information to which synchronous information is added.
  • FIG. 15 shows a method of linking information in an implementation that implements synchronization by reference management.
  • 440 means the entity of the node, and 441 and 442 mean the reference of the entity.
  • Attached calorie 443, 444, and 445 are ⁇ , 440, 441, and 442 inside or outside ⁇ ⁇ .
  • Synchronization achieves synchronization by making the operation by reference an operation to the entity. Operations on references apply to 440, except for links.
  • an implementation that links to the entity 440 like the additional information 445 is generally used. Further, it can also be realized by multiplexing operations on the additional information 443 and 444.
  • this is a method in which the operation on the additional information 443 is also applied to the additional information 444.
  • the calorie is added to the blue report 443, 444.
  • the information-bearing kama becomes more flexible. For example, if the reference is information that defines a space, the user is free to attach information to a specific space.
  • FIG. 16 shows a method of linking information in an implementation that achieves synchronization by multiplexing operations. Synchronization is maintained by simultaneously applying one instruction 439 to the entities 431 and 432 of the nodes in a synchronous relationship. Attached Caro Blue Report 433, 434, 435, 436, 437 is information linked inside or outside 431, 432. In this case, when asynchronous information addition is performed, information may be added to the additional information 433 and 434. When applying the synchronous information addition, it can be used by sharing the common additional information 437 from 431 and 432. Synchronous information addition can also be realized by using additional information 433 and 434. In this case, the node Just as the operations for the additional information 433 and 434 are multiplexed, the operations can also be realized by multiplexing.
  • independent space node the space itself can be treated as a node.
  • independent space nodes can be treated as nodes or as spaces.
  • 500 and 501 are independent space nodes that are synchronized with each other. Although 500 and 501 are linked like nodes, a space is formed inside. A change to node 502 is a change to 503. This is because the inside space is synchronized because 500 and 501 are synchronized.
  • Node type means a type representing a node.
  • a node that embodies the node type can be said to be a node. This is similar to the relationship between classes and instances used in object-oriented languages.
  • An instance is a representation of a class.
  • a node can use "inheritance" to define a new node.
  • This feature extends a node so that new nodes can inherit the properties of the source.
  • Inheritance is often used in fields other than programming languages, which are often used in object-oriented languages. This mechanism prevents duplication of implementation, systematizes concepts, and enables expression of polymorphism in programming languages. As a concrete example, it is used for purposes such as creating a file data node that inherits nodes and stores files in nodes. This mechanism is not required for a space program, but it makes space management easier.
  • Node 602 is created by inheriting node 601.
  • the pronotities 615 and 616 of the node 602 inherit the properties 610 and 611 of the node 601 as they are.
  • a new property 617 has been extended.
  • Figures 19 and 20 are XML that defines the node type.
  • FIG. 19 indicates the node 601 in FIG. 18, and
  • FIG. 20 indicates the node 602 in FIG. In this case, among the properties in Fig. 20, those defined in Fig. 19 are omitted ( It is strong.
  • node There are many possible application implementations of the node. By linking a URI or global ID to the property of a node and connecting it to a network, it becomes an information management system on the Internet easily. When linked to file system files and directories, it becomes a powerful file management system.
  • the node may be the information itself. That is, it may be simply text data or image data. Whether these are treated as nodes can be controlled depending on the program.
  • a node having a parent-child node link relationship is particularly called a "hierarchical space”. Spaces created by parent-child relationships are easier to systematize, and therefore have better learning comprehension than randomly linked spaces.
  • the advantage of hierarchical space is that it is rich in “spatial predictability”. This means that it is easy to predict the space connected to it only by recognizing a part of the space. This spatial predictability has a great effect on spatial overlay processing.
  • the hierarchical space is a space having a parent-child relationship
  • a node serving as a starting point exists. This is called the root node.
  • the target space can be specified by the path from the root node.
  • Node 812 is a child node of node 811
  • node 811 is a child node of node 810. What is constructed in such a parent-child relationship is a hierarchical space.
  • nodes have links to information about the diary. If you try to read the diary of October 6, 2001. Do you search for 801 nodes by date or 802 memories? You will try to find nodes by date. This is space It is predictive. This means that by recognizing a part of the space, the composition of the space can be predicted.
  • This information space processing device 4000 can perform a search using a property. This search can be described in a simple manner by describing recursive processing in a programming language or by using an agent that searches around.
  • information between nodes can also be defined.
  • a method of processing based on information given between nodes is easy to handle for a specific application, but may be difficult for other applications to handle.
  • the information may be stiffened.
  • the advantage of this method is that it is easy to describe automatic processing of information and inference processing by computer.
  • a link node 822 is arranged between the nodes 821 and 823. This is disclosed to the actual user as a space 829. In this case, node 821 can be expressed as node 824, and node 823 can be expressed as node 826.
  • the link form is also used as link node 822 to link 825.
  • the information space processing apparatus 4000 is realized by a single computer or a plurality of computers.
  • Figure 1 shows a schematic diagram of a general computer.
  • the present invention is applicable to any computer and system, such as a personal computer, a server computer, a mainframe computer, a network system, a personal digital assistant, and an embedded microcomputer. It can be implemented in the system. Because the principle of the present invention is relatively simple, it can be implemented on a computer that can be called a stored program method, or on any computer using it.
  • Object Model can also simulate the implementation of the space.
  • What is called a network type database can also be said to be an implementation example of the link space.
  • a hierarchical database is an implementation example of a hierarchical space.
  • RDF is also an example of implementing link space.
  • the file system can also be said to be a hierarchical space formed by directories and directories, and links based on parent-child relationships between directories and files.
  • a node When a node is implemented on a memory by a programming language, in the case of C language, a list structure including a data part and a pointer part is generally used. In an object-oriented language such as the JAVA (registered trademark) language, it is common to create a link structure using objects.
  • JAVA registered trademark
  • Nodes can also be realized on a network. This means that nodes and links may be signals flowing through the network.
  • FIG. 27 An implementation example when the space shown in the node diagram of Fig. 27 is created in the XML format is shown.
  • the same alphabet is synchronized with each other.
  • Each node is a simple node with only "name” and "type” properties.
  • the definition of each node itself is shown in Figure 28 as Node A, Figure 29 as Node B, Figure 30 as Node C, Are defined in XML.
  • the definition of the link when these nodes are a network type link space is the definition in Fig. 31. When these are expressed as a hierarchical space which is a kind of link space, It can also be represented as shown in Figure 32. This is a representation of the parent-child link relationship as XML parent and child elements.
  • the nodes and the space need not actually exist on a computer-readable recording medium or an information communication network.
  • a logical entity that can be expressed by a query, a program, a calculation formula, or the like may be called a node or a space.
  • Figure 149 is just a list of information.
  • the In Figure 149 only the alphabets and the order of the alphabets are displayed. However, in response to this information, "The alphabets are numbered in alphabetical order, and the numbers given are the magnitudes, k, d, s, c, f, p, x, a, e, g, m, s, Generate a space for the binary search tree by inserting elements into the river pages of v and z ", and the space will be as shown in Figure 150. In this case, however, the space does not exist as a reality until it is calculated. In this way, the calculation formula can be used in the same manner as a recording medium that can be read by a computer even if it does not actually exist, or a space that actually exists on an information communication network.
  • nodes and data associated with the nodes There are countless methods for managing nodes and data associated with the nodes. All information may be stored as it is in the node, but management by the file system or serialization of data may be used. In addition, implementation by linking with a relational database is also conceivable. It is also an effective implementation to expand the spatial information on the memory when the program is executed and record it on a non-volatile recording medium for storage, so that the information is made permanent.
  • the 910 node information is converted into a 912 byte stream or XML (see FIG. 34) by the 911 serialization process and stored in the 913 recording medium.
  • the 913 can be a file system, a network file system, a database, or your own storage system!
  • nodes An example of management of node information by the relational database by the information space processing apparatus 4000 will be described with reference to FIG. 920 and 921 are nodes.
  • the properties of the node can be stored in table 922 of relational database 923 to speed up the search by properties.
  • the nodes themselves can be stored in a table as data in the serialization process, making management easier. It is also useful to store the reference information of the nodes in a table.
  • FIG. 36 A case will be described with reference to FIG. 36 in which spatial information is developed on a memory at the time of executing a program and is recorded on a non-volatile recording medium for storage, thereby making the information permanent.
  • the space program 930 When the space program 930 is running, the space is stored on the storage medium 931 such as a faster memory. And perform calculations.
  • the storage medium 931 such as a faster memory.
  • efficient computer resources are effectively used.
  • FIG. 15 denotes a network (information communication network) such as the Internet, an intranet, and wireless communication. 10, 11, 12, and 13 mean independent computers connected to the network.
  • An address call is a method of accessing a part describing a specific process using a pointer in a memory. This is also used in C language for what is called callback processing. In most cases, methods 3, 4, and 5 are implemented using methods 1 and 2.
  • 1201, 1202, and 1203 mean programs.
  • the node 1210 managed by the program 1201 is used as the node 1211 in the program 1202 by the sharing means 1205.
  • the node 1213 managed by the program 1203 is used as the node 1212 in the program 1202 by the sharing means 1206.
  • programs 1202 can operate as if they were managed by 1202.
  • Nodes 1220 and 1221 are linked by link means 1232. In this way, the space is formed by the direct link between the nodes.
  • An event in space is a mechanism for transmitting a change in space, an instruction to space, and a time transition to external and internal programs.
  • Figure 40 shows the appearance of the event that has occurred.
  • the event that occurred in the spatial program 1301 on the computer 1300 is transmitted to the internal program as a message 1310.
  • Message 1311 is passed on to external program 1302.
  • Message 1312 runs through network space 1305 and is passed on to programs on other computers 1303.
  • Operations 1420, 1421 represent instructions for space 1430.
  • the user 1410 can execute the operations 1420 and 1421 because the user 1410 has the right to perform the operations.
  • User 141 1 can perform operation 1421 but cannot perform operation 1422.
  • User 1412 cannot perform operations 1420 and 1421. Thus, it imposes restrictions on the instructions that can be applied by the user who uses it.
  • Link selection is a method of selecting a space from a certain node in a link space according to a specific rule. It is convenient to use the selected space for things that specify the space for processing and operations, such as spatial overlay processing, logical rules, and layers. Strictly speaking, choice is a space that is recognized as a space program. In other words, it means that the program has acquired enough information to process the space.
  • Hierarchy selection is an effective selection method in a hierarchy space. This method can be used on the assumption that the link relationship is composed of a parent-child relationship. When a parent node in the hierarchical space is selected, the child nodes are also selected.
  • 1520, 1521, 1522, and 1523 are nodes, and 1510, 1511, 1512, and 1513 are spaces.
  • the space 1510 is selected.
  • the space 1511 is selected
  • the space 1512 is selected
  • the space 1513 is selected.
  • spatial filtering section 4253 can perform a filtering process on the selected space and extract a more necessary part of the space.
  • the filtering process needs a part to determine whether it is to be selected. In this part, a node judgment formula is used. From a simple formula to a complicated node calculation formula, it can be used for filtering.
  • the "node calculation formula” defines a procedure for obtaining or using information related to a node to calculate.
  • the information enumerated below is representative of the information linked to the node.
  • Node property information The value of a specific property held by the node, or information on linked resources
  • node synchronization point information By using "node synchronization point information”, it is possible to know whether or not a particular node is a synchronization point, and how many synchronization points of a particular node are in space.
  • Node property information refers to information about the properties that a node holds, the types of information that can be stored in node properties, and the definition of properties. .
  • Information on node links refers to information such as how many links exist for a node and whether a node link is bidirectional.
  • the "node determination formula” defines a procedure for calculating using information related to a node, such as that used in a node calculation formula, and determines whether a node requires or does not. It means the expression. Here, it may be as simple as determining whether the value of a property is a specific value or not, and using a more complicated node calculation formula to find the answer. In an actual implementation, it would be common to allow node expressions to be defined in scripting languages or programming languages. It is also effective to implement a node judgment formula by an external or internal program.
  • the node calculation formula and the node determination formula used by the information space processing apparatus 4000 will be described with reference to some examples.
  • the detailed definition of the node 1616 is 1601.
  • An example of calculation using the property value of the node for the node 1616 is shown in the table of FIG.
  • Equivalence evaluation performed by the equivalence evaluation unit 4215 will be described.
  • Equivalence means the same, and equivalence evaluation means determining whether they are the same. What is equivalent changes in situations where space is used. It is common to evaluate using information related to nodes, such as those used in node formulas. There is a wide variety of methods, such as how to compare information linked to nodes as they are to determine whether they are equivalent, and how to determine more complex node formulas by defining them in a programming language or script. Listed below are those that are considered particularly important.
  • FIG. 49 shows a result table that shows an example of the case where various equivalence evaluations using properties and node types are applied to these two types.
  • the values of properties 1715 and 1725 can be analyzed by text mining or parsing to determine if they are equivalent.
  • FIG. 52 is a result table showing an example of a case where the equivalence evaluation is applied using the information of the synchronization point and the information of the link.
  • a method of performing equivalence evaluation using data outside the node is generally a method of comparing data related to the node as it is or by calculating the result.
  • How to implement the equivalent mechanism is left to the implementer of the spatial program. Also, what is equivalent depends on the situation where the space is used and the design, so it is desirable to provide a mechanism according to the situation.
  • the equivalence evaluation by the equivalence evaluation unit 4215 is a particularly important concept in the superposition processing and the logic rule. When information is analyzed using a spatial program, various viewpoints can be changed by changing the criteria for equivalence evaluation.
  • Equivalence evaluation is relatively easy to describe externally because it only needs to pass two nodes to be compared, or node information, and pass information for determining whether they are the same or for calculation processing.
  • the “overlapping process” of the space by the overlay calculation processing unit is to extract information from a plurality of spaces by using a comparative evaluation for comparing nodes. By using this processing, various information can be revealed.
  • the most important thing to be used as a comparative evaluation mechanism is the equivalence evaluation by the equivalence evaluation unit 4215.
  • the superimposition processing based on equivalence is also referred to as “equivalent superimposition processing”.
  • the "logical operation" of a space by the logical operation calculation unit 4220 is a type of superposition processing performed using a specific node or space. In this operation, a method of expressing information of a space as a truth table for logic operation and performing a logic operation between the truth tables is general.
  • a common method is to determine whether the number of nodes determined to be equivalent by the evaluation is within a specified range or not. For example, true if the equivalent number is 1 or more, false otherwise And so on. These values are better implemented by the user, depending on the situation. It can also be calculated by changing the number specified by the space.
  • the score of the weighting process associated with a certain node is 1 or more, 10 or less is true, and the others are calculated as false.
  • FIG. 53 A truth table in which space 1800 is replaced by a logical table is shown in FIG. 54, and a truth table in which space 1801 is replaced is shown in FIG. The details of the logical operation using the AND operation are shown in FIG.
  • the calculation of the boolean value is not limited to simply expressing the space by the truth. Naturally, it is possible to apply a bit mask, perform a logical operation between the operation results, and apply a NOT operation to a specific part.
  • the space weighting process by the weighting calculation unit 4221 uses the comparative evaluation of nodes. In the search, one or more spatial forces also determine the weight of the data. Equivalence evaluation is the most important thing used as a comparative evaluation mechanism. In the present invention, the weighting processing based on the equivalent evaluation is also referred to as “equivalent superposition processing”. In addition, the weighting process based on the comparison process for obtaining weights by comparing nodes is referred to as “comparison process”.
  • the equivalent weighting process performed by the weighting calculation unit 4221 performs an operation by counting the number of duplicates that have been made equivalent to a specific node or space by the node equivalent evaluation.
  • the overlapping number of levers is information that can be regarded as importance to the information.
  • the weighting process returns information on nodes equivalent to the obtained weight (score) as shown in FIG.
  • Merging is a process of merging equivalent objects that exist in space, that is, putting them together. Specifically, when there are six equivalents in a space, they are reduced to two. What is particularly important in the merging process is the unique process.
  • merging is a process in which overlapping items are put together and calculated.
  • Uniqueness processing is processing in which, when there is a plurality of equivalents in each space, this is regarded as a duplication number 1. For example, nodes evaluated as equivalent by the equivalence evaluator 4215 are counted as one node in each space.
  • the value of the weight can be changed according to the situation. This is particularly called priority adjustment.
  • This feature allows for semantic adjustments when using weighted processing. For example, adjustments to change the dependency when determining the numerical power weight of the counted nodes according to the space or the node.
  • FIG. 64 This figure shows the counting of multiple numbers in three spaces.
  • the nodes marked with alphabetical letters a and b be the nodes selected for search in the weighted search. It is assumed that the a nodes 1901 and 1902 in each space are equivalent, and the b nodes 1903, 1904, 1905 and 1906 are equivalent.
  • the results of the weighted search for the spaces 1910, 1911, 1912, and 1913 are shown in FIG. 65 as a list of equivalent nodes and weights (scores).
  • the space 1910 is calculated as the score of the a node is 1
  • the space 1911 is calculated as the score of the a node is 1
  • the score of the b node is 1
  • the space 1912 is calculated as the score of the b node ⁇ . Therefore, the score of the superposition by adding the three spaces is 2 for the a node and 4 for the b node.
  • the nodes of equivalence evaluation in space are counted as they are at the time of calculation.
  • the results of the weighted search for the spaces 1910, 1911, and 1912 are shown in Fig. 66 as the list of equivalent nodes and the weight (score).
  • the space 1910 is calculated with the score of the a node being 1
  • the space 1911 is calculated with the score of the a node being the score of the b node
  • the space 1912 is calculated with the score of the b node being 1. Therefore, the score of the equivalent weighting process by adding the three spaces is that the score of the a node is 2 and the score of the b node is ⁇ .
  • the score of the b-node is merged to 1 in the space 1912.
  • the weight calculation unit 4221 can use the normal weighting process and the weighting process using the uniqueness process in combination. For example, in the case of Fig. 64, in the case of weighting processing of the space 1910, the space 1911, and the space 1912, the spaces 1910 and 1911 can be calculated by weighting, and the space 1912 can be calculated by applying the uniqueness processing and weighting. is there.
  • a calculation method of the unique processing will be described. There are multiple equivalent nodes in one space. In this case, if the weight is forcibly set to 1, the information on the priority may be lost. Therefore, as a method of applying the uniqueness processing, a method of performing weighting processing and then dividing by the number of equivalent nodes is preferable. With this method, priority adjustment and uniqueness processing can coexist. In actual implementation, it is better to implement both the method of forcibly setting the weight to 1 and the method of dividing the weight by the number of equivalent nodes as different methods.
  • the "distance priority method” in which the priority is adjusted according to the distance from a specific node to calculate the weight may be effective.
  • FIG. 68 it is assumed that the portion indicated by the broken line is the space to be subjected to the weighting process.
  • the formula of "distance of 1Z link + 1" is applied as the weight of each space with reference to node 1991.
  • Fig. 69 shows a method in which 0.25 is subtracted every time the link distance increases until it becomes 0. In this way, the weight is adjusted in various ways according to the link distance.
  • the distance priority method it is possible to change the weight based on spatial positional information.
  • Filtering that uses a node judgment formula to select necessary and unnecessary ones is an effective filtering process. This function makes it possible to perform filtering processing such as leaving only those that have a specific property. It is also effective to perform a filtering process by the filtering unit 4223 using the truth result of the logical operation.
  • weight processing By using the "weight processing" by the processing unit 4224, it is also effective to change the weight for the weight processing result. This process is to pray and make changes to the results of the weight calculation. Changing the weight means adding a value to the weight or using it as an operand of a more complex operation expression to derive a new result. More specifically, a node judgment formula is used to perform processing such as adding a weight of 5 to only those nodes that meet specific conditions or those that are true using logical operations.
  • the handling of the independent space node is slightly ambiguous. This is because an independent space node can be regarded as a mere node including a function as a space and a plurality of nodes. Therefore, if the independent space node is considered as a space, if it is considered as a node, it is better to implement an implementation that combines both.
  • the superposition calculation processing unit 4211 performs an equivalent superposition process on the space including the independent space node.
  • a weighting process is performed for the space 1985 and the space 1986 in FIG.
  • the independent space nodes 1981, 1982 are synchronized with each other.
  • the result of performing the equivalent weighting process on the independent space node from the viewpoint of both the node and the space is the “addition score” item in FIG.
  • the part with the equivalent number A is the part processed as a node.
  • step S101 the nodes in the space and the node information necessary for the superimposition processing are expanded to the data container to make the data already sorted.
  • a data container is a container in the C ++ language, a collection in the Java language, and the like. Normally, the data container has a memory resource area, list structure, tree structure, hash structure, etc. inside. It is preferable that the data container be sorted after the storage by storing the data container.
  • a container having a tree-structured or hash-structured data storage area inside and that can retrieve information in a sorted state when stored may be used. This is commonly called an associative container in the C ++ language.
  • a calculation and a merge process are performed on the sorted data containers while scanning, and a final result is output.
  • the sorted data containers it is possible to perform the calculation of step S102 in one scanning process for each data container, so that the cost of this process is reduced in linear time. It is possible to do.
  • a sort criterion for performing a sort process on a data container may be a form in which adjacent ones determined to be equivalent by the equivalence evaluation used in the overlay process are adjacent.
  • Figure 78 shows the implementation of the algorithm when performing the overlapping process of three spaces.
  • First empty by processing 1950 The node between them or the information of the node is stored in the data container.
  • Processing in data container Performs sorting in 1951.
  • Processing 1950 and 1951 can be combined into one using an associative container.
  • the process 1953 the data container is scanned, the weight is calculated for each space, the priority and the unique weight are calculated, and the results are combined by the merge process.
  • Figure 79 shows the part of the two sorted data container powers that derives the calculation results.
  • the numbers in the data container in Fig. 79 indicate nodes or node information, and those with the same number are judged to be equivalent by the equivalence evaluation.
  • the data container 1 and the data container 2 are alternately scanned, and the calculation process is performed while outputting the result.
  • the calculation by scanning since equivalent nodes or node information are arranged next to each other, calculation is performed while scanning, and when the non-equivalent part reaches the inside of the container, the scan of merge processing is switched. good.
  • FIG. 80 shows a state where the data container is scanned.
  • Those of the same alphabet mean equivalent nodes or node information.
  • Figure 82 shows the calculation results when the figure is weighted using unique processing and the priority of node c is doubled.
  • the processing cost is higher than that using the equivalence evaluation. It may also be effective to do Abstract data is when the node information is text-based information or multimedia. Since the weighting based on simple equivalence evaluation uses a sharp criterion of the same power, if the equivalence evaluation considers abstract contents, the processing result is unstable and what the process executor expects In some cases. Also, the nodes are organized in space V. In any case, the comparison processing is effective.
  • the weight is 10 if they are the same, the weight is 8 if they are quite similar, the weight is 6 if they are similar, the weight is 4 if they are slightly similar, and the weight if they are almost similar Is 2, and if they are not quite similar, the weight is 0, and so on. It is up to the implementer to determine what weights to use during the actual comparison.
  • the space superimposition process using the comparative study process is particularly called “comparison study superimposition process”.
  • it is the process of performing the superposition calculation by comparing the nodes.
  • the process of obtaining the weight by the weight calculation unit 4221 is referred to as “comparison weighting process”
  • the process of performing a logical operation and obtaining a truth value is referred to as “comparison logical operation”.
  • the weight obtained by the comparative examination weighting processing is used as a comparative examination logical operation to be used as a logical operation, or a comparative examination weighting processing to perform four arithmetic operations in units of space.
  • the comparative study weighting process by the weighting calculation unit 4221 will be described.
  • a typical method is to use four arithmetic operations with the weights obtained in various comparison processing as operands. In general, four arithmetic operations are performed on the basis of equivalence evaluation.
  • the full comparison type covers all the space to be compared.
  • the outer comparison type performs comparison only with the external space.
  • the inner comparison type performs comparison only in the inner space.
  • the external comparison type performs the comparison operation only with the external space. That is, the nodes included in the space 5001 are not compared with other nodes in the space 5001, but are compared only with the nodes in the space 5002. Conversely, the node in the space 5002 does not compare with other nodes in the space 5002, but compares only with the node in the space 5001.
  • Figure 138 "External comparison type score”. For example, when considering node a, a comparison is made with nodes h, i, j, k, and 1 in space 5002. The specific calculation is “9 + 3 + 2 + 1 + 1” in the case of simple score addition, and the score is 16.
  • the inner comparison type by the weight calculation unit 4221 will be described with reference to the drawings.
  • the inner comparison type does not compare the spaces with each other, but makes a comparison between nodes inside the space. That is, the nodes included in the space 5001 are compared only with the nodes in the space 5001, and the nodes included in the space 5002 are compared only with the nodes in the space 5002.
  • node a which compares with nodes a, b, c, d, e, f, and g in the same space 5001.
  • the specific calculation is “3 + 2 + 2 + 4 + 1 + 3” in the case of a simple score addition, and the score is 15.
  • the weighting calculation unit 4221 performs comparison using the entire space. Therefore, characteristic information is derived as a whole as a process.
  • the weight calculator 4221 compares only the external space. Therefore, the external comparison type has the meaning of extracting important things in the relationship between multiple spaces. For example, as shown in FIG. 139, when comparison and weighting processing is performed in a large space 5012 and a small space 5011, the difference between the characteristics of the full comparison type and the external comparison type becomes clear. Since all comparison types tend to acquire important information as a whole, the characteristics of a small space may be buried in a huge space.
  • the inner comparison type performs comparison only in the internal space, and is not affected by other spaces. It can extract the characteristic part of each space. This is a usage method used for comparison and examination logical operations, etc., rather than as a unit for comparison and examination weighting. Can be said to be normal.
  • the selection / comparison type performed by the weight calculation unit 4221 will be described.
  • the selection comparison type is a method of deciding whether or not to compare using a node judgment formula. In other words, the method is to calculate the comparison process when a specific condition is satisfied, and to ignore it when it is not. For example, the comparison is performed only when specific information is stored in the property of the node, and the others are ignored.
  • the calculation of the comparative examination weighting process by the weighting calculation unit 4221 is not limited to the addition. Various calculations can be performed as the operands of the calculation for the weight of the comparison weighting process.
  • the weight calculation section 4221 performs the calculation using the result of the comparison weighting process having a different comparison format as a calculation operand.
  • the weighting calculation unit 4221 performs comparative study weighting processing.
  • the result is obtained for the information of the space 5201.
  • the score at the time of comparison shall conform to Figure 137.
  • the calculation that means that the characteristics of the spaces 5201 and 5202 as a whole are important, and that those that are closely related to the space 5203 are particularly important, and those that are closely related to the space 5204 should be excluded. Suppose you do.
  • the weight calculation unit 4221 performs a full comparison in the space 5201 and the space 5202, adds a double value in the space 5203 by the outer comparison, further performs an outer comparison in the space 5204, and subtracts the value. It can be obtained by performing the following calculation. The results of this calculation are shown in the table in FIG. FIG. 141 stores the formulas and results of the calculations actually performed. For example, in the item “Compare all 5201 and 5202”, “2 + 1 + 9 + 4 + 3” is the calculation, and “19” is the final result.
  • a unique comparison process can be performed in which a node in the space is made unique by a specific equivalence evaluation before calculation.
  • the most important equivalence evaluation among these is the synchronization point equivalence evaluation. Synchronization means that the information is the same entity I can say. Considering the same entity as one means eliminating or reducing duplication of information.
  • the comparative study weighting processing may require complicated processing. This is because various analytical processes and data mining must be used to return reliable results. Therefore, it is desirable to implement this part so that it can be expanded by performing external force processing. For example, using a script or a programming language 4240, using an external program 4241, or using an internal program or system.
  • the comparison weighting process by the weight calculation unit 4221 takes a long time for the calculation as the space size increases. Assuming that the number power of the nodes existing in one space is S "n”, the comparison and examination process based on the full comparison of the two spaces performs "O (nXn)" comparisons. That is, the order is the square of n. Furthermore, when the number of spaces is large or the cost of the comparison process itself is high, the calculation cost is further increased. For this reason, although there is a possibility that the accuracy may slightly decrease, the weighting calculation unit 4221 performs a comparative examination weighting process in which nodes that are determined to be equivalent by dividing nodes according to the criteria for equivalence evaluation are referred to as “equivalent weighting processing”. It can be said that it is meaningful to increase the calculation speed by using the narrowing comparison weighting process.
  • Fig. 143 is a view of the space shown in Fig. 142 in the evaluation of equivalence based on a specific standard. Nodes that have been assigned the same alphabet are the nodes determined to be equivalent. Fig.
  • the weights to be integrated can be performed between various types of weighting processing. For example, there are an equivalent weighting process and a comparative weighting process. Alternatively, the result of the weighted integration calculation may be used. In short, if weight information is linked to a node, weighted integration calculation is possible.
  • the advantage of performing the weighted integration calculation is that simple weighting processing can derive powerful data, so that data for deeper analysis can be generated.
  • the score of the weighting process can be regarded as a measure of importance. By adding the scores, it can be inferred whether a particular node is important for multiple equivalence evaluations or comparisons. Furthermore, by performing subtraction using a score of a specific equivalence evaluation, it is possible to give a meaning that excludes the equivalence evaluation and comparison. Furthermore, by combining complex calculations, it becomes possible to perform integrated calculations with subtle meanings.
  • the procedure of the integrated calculation by the integrated calculation operation unit 4222 will be described below.
  • the weights are connected to the nodes of the sky f3 ⁇ 45611, 5612, and 5613 in Fig. 145!
  • the weights can be derived as a result of the superposition process or not.
  • Letters that have been shaken are those that are determined to be equivalent by a certain equivalence evaluation.
  • the integrated calculation by the integrated calculation operation unit 4222 can be calculated based on the criteria for equivalence evaluation.
  • Integrated calculation is a process that integrates the weights obtained by multiple methods.
  • integration refers to summarizing based on specific criteria.
  • the criterion for integrating the weights is equivalence evaluation.
  • any equivalent evaluation can be used, and deciding which of the myriad of equivalent evaluations to use can be said to be case-by-case.
  • weight is the same space, it can be used by integrating weights obtained by different methods and criteria.
  • the weight table may or may not be obtained by the superposition process.
  • FIG. 147 those having the same alphabet are the equivalent standards to be integrated.
  • the integrated calculation operation unit 4222 integrates the three, but here, it is added twice because the elements of the weight table 5623 are important.
  • the calculation in this case is shown in the table in Figure 148.
  • the specific calculation procedure leading to the result is shown in the “calculation” item in FIG. 148, and the specific result is stored in the “score” item. This can be expressed as x + y * 2 using a calculation formula.
  • Figure 83A shows the space used for the weight integration process.
  • Figure 83B, Figure 83C, Figure 83D, and Figure 83E show the space of Figure 83A with different equivalence evaluations. In these spaces, those with the same sign are equivalent.
  • the table in Fig. 84 shows the results of the equivalence evaluation 1 for the space 2031 and the space 2032 in the equivalence evaluation 1
  • Fig. 85 shows the results in the equivalence evaluation 2 for the space 2031 and the space 2032.
  • FIG. 86 shows the result table of FIG. 86 obtained by integrating and calculating the results of FIG. 84 and FIG. 85 based on the completely independent equivalent evaluation.
  • the “completely independent equivalent evaluation” is an evaluation that treats all nodes existing in the space as different from each other.
  • the "equivalent node” item uses completely independent equivalence evaluation, thus treating all spatial nodes as different.
  • the score is 2 because of the equivalent bl.
  • the score is 1 because 2011 is equivalent b2
  • the score is 2 because 2012 is equivalent a2.
  • the merge score shown in FIG. 86 is obtained by simply adding the “equivalent evaluation 1 score” and the “equivalence evaluation 2 score” by the integration calculation operation unit 4222 in node units. In other words, if we explain the details of 2011, “equivalent evaluation 1 score” is 3, and “equivalent evaluation 2 score” is 1, and the sum of these is 3 + 1, and the answer is 4.
  • the difference score in FIG. 86 is obtained by the integration calculation operation unit 4222 subtracting the “equivalent evaluation 2 score” from the “equivalence evaluation 1 score” in node units. Furthermore, in the “difference absolute value score”, the integration calculation operation unit 4222 calculates the absolute value of the “difference score”.
  • FIG. 87 shows the result table of FIG. 87 obtained by integrating and calculating the results of FIG. 84 and FIG.
  • the equivalence nodes are 2013 and 2021.
  • the score of 2013 is 3 and the score of 2021 is 2, so that the score of “evaluation score of 1” is 5 by “3 + 2”.
  • the score of 2013 is 1 and the score of 2021 is 3, so "1 + 3" is obtained, and the score of "equivalence evaluation 2" is 4.
  • the sum of the scores of Equivalent Evaluation 1 and Equivalent Evaluation 2 is the “merge score” item.
  • the "merge score” is divided by the "equivalent node” by the "score per piece".
  • the weighting used to derive FIG. 86 or FIG. 87 simply obtains a score for existence, but the original weighting process is naturally performed by the weight calculation unit 4221. It may be a weighting process using a conversion process, or a process with a priority added.
  • FIG. 88 shows the result of the unique weighting performed for both the spaces 2031 and 2032 by performing the unique processing.
  • FIG. 89 shows the pre-processing before performing the integrated calculation, and
  • FIG. 90 shows the result calculated using FIG.
  • the “merge score” in Figure 90 is simply the sum of the three equivalent evaluation scores in Figure 89.
  • the score of criterion 1 is operand x
  • the score of criterion 2 is operand y
  • the score of criterion 3 is Assuming that the operand is z, it can be expressed by the expression “x ⁇ y + z * z”.
  • the filtering process by the filtering unit 4223 and the weight adding process by the processing unit 4224 can naturally be used for the integrated calculation of the weighting.
  • FIG 91 is a space that expresses information about music CDs, and nodes represent music CDs. Those assigned the same number are determined to be equivalent by the synchronization point equivalent evaluation.
  • Figure 93 lists the weights of each space.
  • the executor trusts the evaluation of "Mr. A”, “Mr. B” and “Mr. D” in the evaluation of the CD, but does not trust the evaluation of "Mr. C” at all. Performers are also very interested in trendy music. Based on this, how to use overlay processing Indicates what is being done.
  • the filtering process by the filtering unit 4223 using a logical operation will be specifically described below. Excluded from the weighting process of spaces 2051, 2052, and 2054 that the results of the nodes included in the space 2053 that collected the untrusted 'Mr. C' recommendations and the space 2057 that collected the low-selling items were considered necessary. This is effective in cases such as In this case, the equivalent weighting process for the spaces 2051, 2052, and 2054 is performed, and An OR operation is performed with one or more existing as true, and those to which the result of the OR operation is applicable are excluded from the results of the equivalent weighting.
  • the result of the OR operation of space 2053 and space 2057 is shown in FIG. Fig. 99 shows how to use this result to apply the filtering to the weighting score. In this case, those evaluated as true by the logical operation are excluded from the processing results.
  • weight score 1 in Fig. 100, which is the addition of the weights of the spaces 2051, 2052, and 2054, is processed and analyzed from different viewpoints.
  • the “rock” and “pops” in the “genre” property of the node are given priority, so the weight of the “rock” value is tripled and the “pops” value is used. Doubling! /
  • FIG. 102 illustrates the case where projection by the projection unit 4411 is specifically used.
  • projection is performed on the nodes 2360 and 2361 by the projection unit 4411 to form a multilingual node group.
  • the nodes 2360 and 2361 have generated four nodes or node information.
  • the projection transforms the space that can be expressed in two dimensions into three-dimensional information.
  • the projected space is particularly called a "projected space”
  • the projected node is called a "projected node”.
  • the projection function is a process that treats multiple spaces as one space, and includes, for example, “single access of projective nodes”, “cooperation of node generation”, “cooperation of node deletion”, and “ It refers to “cooperation”, “access per projection space”, “access for each projection space of node”, “generation of space for each projection”, “deletion of space for each projection”, and “projection synchronization”. Projection logically has some or all of these functions.
  • 2320, 2321, and 2322 are projection spaces, and 2301, 2302, and 2303 are the respective projected nodes.
  • the "single access of a projection node" by the projection unit 4411 accesses a plurality of projected projection nodes as one in space. In other words, this means that the projected space as shown in Fig. 103B can be treated as accessing Fig. 103A.
  • the "coordination of node generation" by the projection unit 4411 is to add a new node to another projection space when a new node is added. For example, when a node is added to the projective space 2320, a node is also created in the corresponding projective space 2321 or 2322.
  • FIG. 103C illustrates cooperation of node generation by the projecting unit 4411. In this case, the projection nodes 2311, 2312, and 2313 are simultaneously generated.
  • the "cooperation of node deletion" by the projection unit 4411 is to delete a node corresponding to another projection space when a node is deleted. For example, when the projection node 2301 is deleted, the projection nodes 2303 and 2305 are also deleted. Fig. 103B Fig. 103D shows the force that destroyed the projection nodes 2301, 2303, and 2305. In this case, three projective nodes are destroyed at the same time.
  • the "access in units of projective space" by the projecting unit 4411 is such that each projective space can be treated as one independent space rather than a united space. That is, the projective spaces 2320, 2321, and 2322 can be treated as independent spaces.
  • the "access for each projection space of a node" by the projection unit 4411 is to access a node by designating a projection space. For example, referring to FIG. 97B, if it is the projection space 2320, the projection node 2301 is specified, and if it is the projection space 2322, the node 2305 is specified.
  • the access in units of projective space and the access in units of projective space of nodes are functions that enable the projective space to be treated as an independent space.
  • the "deletion of space for each projection" by the projection unit 4411 is a function of destroying a space in units of a projection space. This means that as shown in FIG. 97G, the projection space 2320 is destroyed so that only the projection spaces 232 1 and 2322 are performed.
  • This function is a function in which, when a space is projected, the projection is also applied to the synchronization of the nodes included in the space. For example, in the space of FIG. 104, the nodes 2371a and 2372a are synchronized. At this time, when projection is applied to 2371a, it means the function to apply projection to space 2372a. In FIG. 104, 2371b and 2372b are projected.
  • projection nodes 2301, 2302, and 2303 are actually three nodes Is equivalent to treating a space as one.
  • Link projection is a method of actually creating a plurality of link structures in a link space and controlling them by a program. This can be said to actually create multiple spaces so that they can be treated as projective spaces by the function of the program.
  • Fig. 105B shows the result of link projection of Fig. 105A. As seen in Figure 105B, there are two spaces for each link configuration. In this case, a space composed of 2331a and 2332a and a space composed of 2331b and 2332b are generated as elements of projection.
  • the node projection is a process of creating a uniform structure for each node constituting a space, and is a method of creating a plurality of each node and controlling them by a program.
  • Node projection of Fig. 105A. Fig. 105C. This is a structure in which a plurality of nodes or node information is added to each node. In this case, node 2331 is converted to node 2331c, and node 2332 is converted to node 2332c. That is, each node holds the projected node information.
  • Node projection is easier to implement than other methods for projecting in a space that is not composed of links, such as an intangible space, and for synchronous projection.
  • FIG. 106 shows a case where the node projection is created by a link list.
  • Node 2380 is a list of projected nodes or node information 2381, 2382, and 2383.
  • This link can be a list structure in memory or an instance of an object, or it can be a tag language such as XML or HTML. This link may be the technology used to link nodes.
  • Fig. 107 illustrates an implementation for linking a node to a data group in node projection.
  • the data group of node 2391 is connected to node 2390. This is in memory If implemented, it is better to store the projected node or node information in the data container. When saving data to a disk storage device or the like, it is better to save the data in a file format or in a binary-compressed form. The point is, even if the inside is random, it is only necessary to be able to access it as a projected node!
  • the data addition projection is a method of connecting projection data to a space.
  • Fig. 105 5A is the result of data-added projection.
  • Fig. 105D This includes those that use layers to achieve projection.
  • the projection is realized by using the additional information 2333 for the projected space.
  • the interior of 2333 contains information about the space. Using this information, it is treated as if there are multiple spaces.
  • the data addition projection will be described with reference to FIG. Figure 108 projects the space consisting of nodes 2401, 2402, and 2403.
  • Node 2401 has 2404 forces.
  • Node 2402 has 2405 forces.
  • Node 2403 has 2406 forces.
  • the information for projection may be stored in 2404, 2405, and 2406.
  • the design may be such that the common resources 2407 are referred to as a whole 2404, 2405, and 2406. In this way, projection is performed by adding data to the space.
  • the independent space projection by the projection unit 4411 is a method of creating a type of independent space node and holding a plurality of pieces of spatial information inside or outside to implement projection.
  • Figure 105E shows the independent space projection of Figure 105 ⁇ . As long as the data for projection inside the independent space node 2334 can be handled by the projection function, a plurality of spaces may be held inside in any form, or may be expressed as a completely different format.
  • the independent space projection will be described with reference to FIG.
  • the space definition 2418 is connected to the independent space node 2411 externally or internally.
  • 2418 contains three projective spaces, 2412 and 2413 space, 2414 and 2415 space, 2416 and 2417 space.
  • Figure 110A is a space that represents a document.
  • the space 2481 is related to important documents and needs to be created in multiple languages. In this case, do not use projection. Otherwise, the space design is as shown in Fig. 110B.
  • Figure 110B many spaces are created for each language version. For example, 2481 is for Japanese, 2482 is for English, and 2483 is for French. Thus, a new space is created for each different version. This means that the space increases with each version.
  • the use of projection does not logically increase the space itself as shown in Fig. 110C.
  • each of 2481a, 2481b, and 2481c is a space for one language. Creating a different space for each different version, as shown in Figure 110B, will increase management costs.
  • Space is a composition that expresses or collects a number of concepts. When changing the concept to be expressed, it is necessary to change the configuration of the space. At this time, if there are simply multiple spaces for each version, it will be necessary to apply changes and additions to all spaces. This is a problem that arises because the concepts to be expressed are the same, but they are implemented as different spaces with only the difference in the format, and these are very expensive to maintain.
  • the concept to be expressed is dispersed as a different space only by the difference of the expression form, which makes it difficult for a third party to understand the relationship between the concept and the space.
  • the projection that connects the concepts to be expressed into one is an important function.
  • FIG. 111 is a diagram for describing the projection unit 4411 in detail.
  • a functional block diagram of a general program that realizes projection is shown. These functions are implemented by one or more programs. Further, the program may be processed by a plurality of computers.
  • the space corresponding to the projection and the processing are linked.
  • the spatial data section 4201 is controlled by the projection section 4411.
  • the spatial data section 4201 or the projecting section 4411 can be appropriately accessed through the interface to the space 4413, so even if the inside of the spatial data section 4201 is in a special format different from the normal space, it is easy. And secure access.
  • the data of the projected space exists as a link projection 4430, a node projection 4431, a data addition projection 4432, or an independent space projection 4433. Although these data may be accessed directly, it is better to operate through the interface to space 4413 because the risk of data destruction without having to consider complex internal configurations and specifications is reduced.
  • the projecting unit 4411 includes “single access of projective nodes”, “cooperation of node generation”, “cooperation of node deletion”, “cooperation of space transformation”, “access in projective space units”, “node It performs the function of projecting by performing operations such as “access for each projection space”, “generation of space for each projection”, “deletion of space for each projection”, and “projection synchronization”.
  • Layers can be applied to nodes, links, and spaces.
  • a layer is a structure in which information is defined in parallel with a node or space, and has a structure in which additional information is given in parallel with a node that does not attach information to the node itself.
  • To be defined in parallel means to be defined in a form that corresponds to nodes and spaces.
  • Various information can be added to the space by using layers.
  • nodes do not operate themselves, making it easy to add information and reducing the risk of data corruption.
  • it can be used in various situations by stacking multiple layers or combining them depending on the situation. Layers can separate things that are different from the concept that the node or space wants to represent.
  • all information that is different from the concept you want to express should be included in the layer.
  • Layers can be applied to a single node or space, are flexible, and are very useful when adding information to a space. It is especially effective to use security, events, and priorities.
  • the layer can give information to each node in the space to which the layer is added, or can give information as the whole space.
  • the layers include a "structural layer” and a "substance layer".
  • the structural layer adds a layer to the spatial structure itself, and applies a layer to the node structure.
  • the entity layer adds a layer to the entity itself, that is, performs the operation on the node itself. In other words, the effect of the layer is applied to all nodes that have the same synchronization point for the node to which the substantive layer is added.
  • the structure layer and the substance layer will be described with reference to FIG. Nodes 3141 and 3142 are synchronized with each other. At this time, even if a structural layer is applied to a node in the space 3140, a layer is added to the node 3141. No layer is added to the node 3142. However, if the physical layer is added to the nodes in the space 3140, the physical layer is applied to the node 3142 as well as the node 3141.
  • the structure layer will be described with reference to FIG. In Figure 112, one space and two structural layer forces S are defined. Nodes 3100, 3101, 3102, 3103, and 3104 form a link space.
  • a structure layer is composed of 3110, 3111, 3112, 3113 and 3114, 3115, 3116, 3117.
  • two structural layers are connected to the space.
  • the structural layer it is possible to define a layer for the link, but in this case, the structural layer is added only to the nodes in the space.
  • the structure layers 1 and 3114, 3115, 3116 and 3117 are respectively formed in layers 3110, 3111, 3112 and 3113. The straight broken line shown in FIG.
  • 112 indicates the correspondence between the node and the structure layer, and the circular broken line indicates the structure layer.
  • additional information is given to the structure layer, and various processes are performed inside or outside the program based on the additional information. Layers do not need to be composed of links like nodes, even when layers are added to a force link space that exists in parallel with nodes.
  • the entity layer will be described with reference to FIG. Node 3150 and node 3152 are synchronized with each other. Nodes 3150, 3151, and 3152 have physical layer power. At this time, node 3153 and node 3150 and node 3152 force in layer 1 and node 3151 and 3154 force S are connected. Similarly, node 3150 and 3152 are connected to layer 3155, and node 3151 is connected to 3156. In this way, the entity layer is tied to the node entity, not the spatial structure.
  • Layer is a force that can exist outside or inside a node.Layer logically gives information to an external force node, so it is desirable to hold a lot of information outside even in implementation. .
  • the layer can be implemented on a computer-readable recording medium or on a network. That is, it can be implemented in any environment where the node can be realized. It is in memory It can be an entity, or it can be XML-based on disk.
  • FIG. 114 shows a method described in the node itself.
  • Reference numeral 3150 denotes a node or reference information to the node. 3150 stores information on layers. In addition, information for the node is stored in layer 1 3151.
  • FIG. 115 shows a case where the relationship between nodes and layers is described externally. 3155 is a node
  • information is added to a node as asynchronous information addition, and the physical layer is usually treated as a synchronous information addition to a node.
  • the part is the definition of the structural layer. In a real common implementation, this tag would contain more information or a reference to the information.
  • the layer self-expanding function refers to a function in which a layer is applied to a node to which a layer is applied, or to an added portion when a space is added. Furthermore, it is also effective to use a function of selecting a space link and a function of spatial filtering for this function to implement a self-expanding space in a more flexible manner. This function is mainly applied in the structural layer.
  • the self-expanding function of the layer will be described with reference to the drawings.
  • the nodes 3120, 3121, and 3122 in FIG. 120A form an empty space at the nodes! 3130, 3131 and 3132 layers are formed.
  • follow-up node 3123 to 3122 As shown in FIG. 120B, follow-up node 3123 to 3122. Then, layer 3133 of FIG. 12 OC is expanded.
  • Introducing a security layer in implementing security can make security management more manageable and easier. This can be achieved by mapping security layers into space. Normally, the security layer contains one or more user information and security right information. As a result, security for each user and the correspondence between the authority and space of multiple users become clearer and easier to manage. Note that the security layer is a layer in which security information is added.
  • the security layer will be described with reference to FIG. 3215 is a security layer for user 3201, and 3216 is a security layer for user 3202. Each security layer masks part of the space. Instruction 3202 for user 3201 is excluded by security layer 3215. Instruction 3222 is applied to 3211 without being affected by the security layer. Similarly, instruction 3221 applies to node 3210 and instruction 3223 has been excluded.
  • Fig. 122 shows an example of realizing security by the security layer using a step diagram.
  • step S401 an operation on the space is detected.
  • step S402 it is checked whether a security layer exists in the space to be operated.
  • the security set in step S403 is analyzed to determine whether to permit the operation.
  • S404 is executed when the operation is permitted, S405 is not permitted, the operation is invalidated, and the notification process is performed at the same time. Be executed.
  • an event layer in which event information is layered is introduced, so that the event can be handled more flexibly.
  • Events basically consist of “reaction” and “notification”.
  • the event layer should record information such as the ability to react to what and to whom and how to communicate, and implement the function of the program event.
  • An event layer is a layer to which event information for notifying internal or external users of changes in space, commands to space, or temporal changes is added.
  • FIG. 123 shows an example of realizing an event using an event layer by using a step diagram.
  • Step 501 means that an event such as an operation or change to the space occurs.
  • step 502 it is checked whether or not the event layer corresponding to the space to be operated or the changed space exists.
  • step S503 the force of the event information corresponding to the operation or change is confirmed.
  • step S504 a notification process is performed based on the event information.
  • steps S502 and S503 information about the event is collected, and in S504, an actual notification is performed.
  • the space in the figure represents a software bug report for a company.
  • a security layer is set in this space.
  • security information is added using the structural layer 3251 to prohibit changes by outsiders in the entire space.
  • security information should be set in 3252 as a structural layer that makes the creator-specific part invisible to outsiders.
  • FIG. 125 shows a functional block diagram of a general program that realizes a security layer. These functions are implemented by one or a plurality of programs. Further, the program may be processed by a plurality of computers.
  • the user 4802 accesses the spatial data section 4201 through the security gateway 4803 to! /.
  • the security gateway 4803 accesses the security layer information 4804 and permits operation according to the security level.
  • the automatic classification processing unit 4809 is a processing unit that expands a space by adding a node that configures the space, and obtains a node or information associated with the node, and starts an automatic classification processing start unit. 4810 and an automatic classification unit 4811.
  • the automatic classification unit 4811 includes a traversing unit 4812 that links the links of the nodes.
  • the determining unit 4813 that determines whether the power is appropriate and the determining unit 4813 determine that When it is determined that the node is appropriate, it is composed of an adding unit 4814 for adding a node, and the determining unit 4813 is further composed of an existence / non-existence condition determining unit 4820 and a traversing possibility / non-permission condition determining unit 4821. Further, it comprises an individual adding section 4830, a synchronization adding section 4831, and a link adding section 4832. The outline of these functions will be described with reference to FIG. 134 of a functional block diagram of a general program that implements automatic classification processing. These functions are implemented by one or more programs. Further, the program may be processed by a plurality of computers.
  • the "automatic classification processing" of the space by the automatic classification processing unit 4809 facilitates extension and addition to the link space.
  • This function can add new nodes by using existence conditions that are connected to nodes inside or outside the nodes while traversing the space. Judge whether it is a good one.
  • the general implementation of the existence condition expression is generally considered to be able to be described in a script language or programming language like a node judgment expression using information of newly added nodes. It is.
  • One existence condition expression may correspond to a plurality of nodes.
  • FIG. 126A shows a node to which a presence / absence conditional expression is added.
  • Nodes 3610, 3611, 3612, and 3613 have presence / absence conditional expressions 3620, 3621, 3622, and 3623, respectively.
  • FIG. 126B shows the result of the newly added node.
  • the newly added nodes were determined to be inappropriate according to the conditional expressions 3620 and 3621.
  • the new nodes 3630 and 3631 were permitted to be added as appropriate. .
  • FIG. 127 is shown as an example of a rough flow of the automatic classification process, and will be described step by step.
  • the traversing unit 4812 checks whether or not there is a node to be deleted, and terminates the process if there is no such node.
  • the next node is entered.
  • the existence / non-existence condition determination unit 4820 determines whether or not the existence is possible using the existence / non-existence condition expression. If it is determined that the existence is possible, the addition unit 4814 adds the node to the node in S604. Further, the flow of FIG. 127 is recursively executed inside S602 or S604.
  • FIG. 12 illustrates a case where a node is added at the same time as the presence / absence conditional expression in the automatic classification process. This can be realized by replacing S604 in the flowchart of FIG.
  • the traveling permission / non-permission condition determination unit 4821 controls a node to be searched in the automatic classification process using a traveling permission / prohibition condition expression.
  • the automatic classification process starts from the root node 3640.
  • the patrol processing 3650 reaches the node 3642, if the patrol permission / non-permission condition determination unit 4821 determines that the patrol is not possible by the patrol permission / prohibition conditional expression set in the conditional expression 3652, the packet does not reach the nodes 3643 and 3644. The process ends.
  • synchronous automatic addition by the synchronous addition unit 4831 means that nodes added after the second are added in synchronization with the node added first.
  • the existence / non-existence conditional expression and the traversability / non-existence conditional expression may be linked to the node by a mechanism using either "synchronous information addition” or "spatial information addition”. By using synchronous information addition, conditional expressions can be shared between synchronized nodes.
  • the existence / non-existence conditional expression and the tour availability / non-existence conditional expression need not correspond to one node. That is, these expressions may be shared by a plurality of nodes.
  • the major flow of the processing by the automatic classification processing unit 4809 is that the data classification is received from the automatic classification processing start unit 4810, the automatic classification unit 4811 is executed, and the spatial data The node is added to the data section 4201.
  • Automatic classification processing start unit 4810 acquires or generates data for starting automatic classification processing. This part may be based on an external or internal program, when a change outside the program is sensed, or input by a human.
  • the automatic classification unit 4811 includes a traveling unit 4812, a determination unit 4813, and an addition unit 4814.
  • the traversing unit 4 812 traverses the nodes of the spatial data unit 4201, and when the determining unit 4813 determines that the node can be added, the adding unit 4814 adds the node to the spatial data unit 4201.
  • the traveling unit 4812 acquires the information of the spatial data unit 4201 and performs a traveling around the space or a process having the same effect as the traveling. While circulating in the circulating unit 4812, the decision unit 4813 determines whether to add a node or whether to traverse the node further.
  • the determination unit 4813 determines the presence / absence condition determination unit 4820 that determines whether to add the presence permission conditional expression associated with the node and determines whether to add the node, and determines whether or not to perform the tour by determining the traversal permission / non-permission condition expression. It comprises a patrol permission / non-permission condition determination unit 4821.
  • the existence permission condition expression and the traversability condition expression used in the judgment unit 4813 are usually associated with a node using a layer or a similar mechanism as shown in 4815.
  • the existence / non-existence conditional expression 'circability / non-existence conditional expression 4815' may be a script 'program language 4841 which is usually defined by an external program 4842 or the like. Actually, if the conditional expression is complicated, it seems to be common to call the function of the internal or external program from Script's programming language 4841 and process it.
  • the adding unit 4814 performs a process of adding a new node to the spatial data unit 4201. Individual type automatic adding unit is realized by using individual adding unit 4814, synchronous automatic adding unit is used by using synchronous adding unit 4831, and link type automatic adding unit is realized by using link adding unit 4832. I do.
  • spatial storage With the implementation of the space in the spatial data section 4201 as an independent storage, because it facilitates data handling, ease of processing, and coordination of processing.
  • semantic storage it is possible to link with a relational database or XML database to improve performance, centralize data management, and coexist with existing information systems. Become. This is based on the technology of distributed management of space.
  • the definition of spatial storage is storage that can use spatial overlay, projection, layer-based, or automatic classification.
  • 3802 is a spatial storage
  • 3801 is a client of the spatial storage
  • 3803 is a relational database or XML database.
  • the communication between 3801, 3802, and 3803 is performed by 3804 and 3805.
  • the communication of 3804 and 3805 may be the communication method used in the distributed management of space.
  • the most powerful function in using the space is a process using the superposition of the space by the superposition calculation processing unit 4211. This makes it possible to easily convert ambiguous data into more semantically detailed information.
  • the most effective use would be in technical databases such as state-of-the-art technology, medicine, law, and information science, as well as for searching and exchanging knowledge on the Internet. Compared to other information management methods, the more the vague and complicated data is handled, the greater the effect of the present invention. Also, since human emotional information can be used, it is also effective for art databases such as paintings, movies, and music information.
  • a supervising search can be performed by superimposing a space by the superimposition calculation processing unit 4211, a learning search device of an educational institution may be used.
  • the present invention is applied to the Internet directory search engine.
  • the mainstream Internet search engines are robot-type search engines used by google and others.
  • relatively selective sites are registered in the directory search engine, and it can be said to be an effective search engine when searching for a specific set of information.
  • Typical directory-type search engines include Yahoo categories and google directories.
  • FIG. 152 shows a search engine system to which the present invention is applied.
  • 7111, 7112, and 7113 represent users who use the search engine.
  • the user connects to the search engine device 7101 through the information communication network 15 using a Web browser such as Internet Explorer or another communication program.
  • the information provision interface unit 7102 implements the interface function as a search engine, and stores the address and name of the Web site in the spatial data unit. If it is necessary to perform the superimposition process, the calculation is performed using the information space processing device 4000, and the result is delivered to the user through 7102.
  • a directory-type search engine categorizes Web sites into categories by people or computers to create tree-like information, and searchers can find information by following the categories.
  • FIG. 153 shows an example of the categorization of the directory type search engine partially omitted.
  • a category that is usually useless Rise is also useful classification information.
  • the space is classified according to the registration date of the Web site or the corresponding language.
  • the ivy space alone is almost worthless as the classification information of the Web page, but it becomes meaningful information if the overlay processing is used.
  • ivy information is not very valuable on its own, so it is not created by website classification.
  • such information is effective value-added information for a system that uses overlay processing.
  • the use of the search engine system 7100 also makes it easy to search using constantly changing information. For example, consider the case of using Web page access ranking. Fig. 154 shows the access ranking information in space 7131. Such information changes over time. In addition, since the data is of interest and not very meaningful on its own, it is difficult to categorize it with ordinary index-type search engines. However, if an access ranking space is created, a search that adds value, such as “Web site of the power category you are looking for but has an access ranking of 1 to 2000”, can be easily performed by overlay processing. As a result, it is possible to narrow down Web sites that are likely to be the source of information requested by users.
  • the expansion of space does not basically affect the nodes. Therefore, the space can be expanded relatively easily in the search engine system 7100 as well. Therefore, by creating and adding spaces from various perspectives, it is possible to significantly increase the number of web page search results. Also, even if a space is created with subjective information, if the user can understand it, it is possible to use information search by superposition.
  • FIG. 155 is a drawing in which a new space 7132 is added to the space of FIG. 154 created in the space data section 4201.
  • This space 7132 lists the famous sites of famous people called Opinion Leaders.
  • the genre you are looking for, but the access ranking is 1st to 2000th by adding a superimposition with the space 7133, A site with an access ranking of 1-2000 and recommended by celebrity A. " A more specialized search like this can be performed.
  • a more specialized search like this can be performed.
  • the user can search for information on the Internet from various perspectives by using the superposition process while reducing or reducing various spaces.
  • a method of using the present invention for a bulletin board system will be described below using an actual example.
  • a bulletin board system is a system in which many people share information by writing information to the bulletin board through an information communication network such as the Internet.
  • the bulletin board system 7300 in FIG. 156 is a bulletin board system in which a search system is enhanced by using the present invention.
  • 7311, 7312, and 7313 represent bulletin board users who use the bulletin board.
  • Bulletin board system The 7300 links and manages bulletin board information and spatial information.
  • the user connects to the bulletin board device 7301 through the information communication network 15 using a Web browser such as the Internet Explorer or another communication program.
  • the user transfers arbitrary information to the bulletin board device 7301 for discussion and information exchange.
  • bulletin board thread In a general bulletin board system, one bulletin board is created for each topic. This is usually called a bulletin board thread.
  • the thread is composed of multiple message boards that write messages.
  • Figure 157 is a simple representation of a bulletin board.
  • 7321 means a thread which is a unit of topic of a bulletin board
  • 7322 means a message board.
  • FIG. 158 shows a tree-type bulletin board. In this case, a response can be returned to each arbitrary message board.
  • message board 7327 is a response message board for 7326.
  • a message boat is used as a node and a bulletin board.
  • the signboard in FIG. 157 can be represented as in FIG.
  • the message board 732 corresponds to the node 7323
  • the message board 7323 corresponds to the node 7333.
  • the tree-type bulletin board in FIG. 158 can be represented as in FIG.
  • the message board 7326 corresponds to the node 7336
  • the message board 7328 corresponds to the node 7338!
  • the weighting cost by comparison and evaluation that makes it easier to handle text information etc. is much higher than that by equivalence evaluation. Therefore, when implementing as a system, the text information on the message board is replaced with information for search processing such as vector information, and the information is stored in the spatial data section 4201 and compared with that information. The method of performing weighting and the like is common.
  • the thread may become too large due to the incandescence of discussions on the bulletin board or the subdivision of the contents. In such a case, if the comparative examination weighting process is performed by the thread alone, an important message board can be emerged as a whole.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

明 細 書
情報空間処理装置、プログラム、および、方法
技術分野
[0001] 本発明は、コンピュータプログラムにおける知識情報力 なる情報空間の管理、検索
、分析、共有化を行う情報空間処理装置についての発明である。
背景技術
[0002] 今日の科学技術の発展は目覚 、ものである。しかし、一方で、科学技術の進歩と 複雑化、インターネット空間での情報の大規模ィ匕が進み、膨大な情報を管理すること が困難になってきている。これらの問題を解決し、膨大な情報管理を容易にするには 、単なる情報を情報として扱うのではなぐ情報の持つ意味を効率的に処理すること ができれば、大きなアドバンテージを持つことができる。
[0003] 人の頭の中にある、「ある情報に対する意味」というものは非常にあいまいである。ま た、同じ情報であっても扱う人によって意味は変わる。また、状況や情報に対する視 点によっても変化するものである。これが計算機上で表現しにくい原因となっている。 極論を言ってしまえば個人の持っている意味情報を正確に扱おうとするなら、脳を分 子コピーして、コンピュータ上に分子レベルでシュミレーシヨンしなければならな!/、だ ろう。しかし、現代科学ではこれは不可能である。では意味といったあいまいなものを コンピュータ上で表現することはできないのだろうか。
[0004] 過去にも、意味を情報化しょうという試みはあった。既存の意味管理システム、意味 体系化手法には、非特許文献 1、非特許文献 2、非特許文献 3、非特許文献 4、非特 許文献 5、および、非特許文献 9に記述されているようなセマンティクスネットワーク、ト ピックマップ、 RDF (Resource
Description Frameworkノ、 OWL (Web Ontology Language)と ヽつたもの力め 。特に トピックマップ、 RDF,OWLはセマンティクスウェブと呼ばれ現在盛んに研究されて!、る 。しかし、これらでは情報にメタデータを与えることや、情報に意味情報および関係情 報を付加、または定義することで情報に意味を与えようとしている。しかし、これでは 意味の硬直化と複雑ィ匕の増大と!/、う問題が起こってしまう。硬直化とは本来「意味」と はあいまいなものであるはずが特定のものに固定されてしまうことで、複雑ィ匕とは定義 されたデータ間の関係を定義する情報が大きくなりすぎ扱えなくなることを意味する。 つまり、既存のデータ管理手法では意味を何力しらの検索用の定義データに置き換 えて管理しょうとして 、るとも言える。
[0005] また、非特許文献 6、非特許文献 7、および、非特許文献 8に記述されているマイクロ ソフトの次世代ファイルシステムの(コードネーム) WinFSなども、情報の次世代の情 報管理手法として研究開発が進んでいる。この手法は、ファイルシステムを Webにァ クセスするようにファイルシステムにアクセス可能にしょうというものである。これは、フ アイルにつ 、てのメタ情報をリレーショナルデータベースに格納し、高度なクエリー検 索、横断検索、検索速度の向上、分類による検索、検索結果の絞り込み検索などが 可能になるというものである。しかし、これもまた、情報のメタ情報を管理し検索すると いう手法である。
[0006] 非特許文献 1:ジャック ·パーク(Jack Park)著,サム ·ハンティング(SamHunting)編, 後藤 強訳,「XML Topic Maps—時代はセマンテイクウェブ」
非特許文献 2: Members of the TopicMaps.Org Authoring Group著, XML Topic Maps (XTM) 1.0, [online], [2004年 5月 20日検索],インターネットく http:〃 www.topicma ps . org/ xtm/ 1.0/ >
非特許文献 3 : ISO 13250
非特許文献 4:W3C著, Resource Description Framework (RDF), [online], [2004年 5 月検索], インターネットく URL : http:〃 www.w3.org/RDF/>
非特許文献 5 :W3C著, OWL Web Ontology Language XML PresentationSyntax, [on line], [2004年 5月 20日検索],インターネットく http:〃 www.w3.org/TR/owHonlsynt ax/>
非特許文献 6 :MicrosoftCorporation著, WinFS, [online], [2004年 5月検索], イン タ' ~~ ット URL: nttp:/ 1 msdn.microsoft.com/Longhorn/ understanding/ pnlars/Win Fb/ default. aspx
非特許文献 7 : Microsoft Corporation著, WinFS in the Longhorn SDK, [online], [20 04年 5月検索], インターネットく URL : http://longhorn.msdn.microsoft.com/?//lon ghorn.msdn.microsoft.com/lhsdk/winfs/daovrWelcomeToWinFS.aspx> 非特許文献 8 : Microsoft Corporation著, The WindowsFile System, [online], [2004 年 5月検索], インターネット < URL : http://msdn.microsoft.com/library/default.asp ? url=/library/ en— us/ dnaero/html/ wux— topic— storage, asp >
非特許文献 9 : Computational Intelligence Part4 知識工学 オントロジが知識の共 有を促す」,曰経バイ卜 2004年 2月号, 曰経 BP社, 2004年, P. 42—45
発明の開示
発明が解決しょうとする課題
[0007] しかしながら、上記従来の技術では、人間の持つ意味といったもの本来の意味に近 い形で体系的扱い、お互いに共有し、本来の意味に基づいた処理や管理ができて V、るとは 、えな 、と 、う問題がある。
そこで、本発明は、人間の持つ意味を空間における状態情報として扱うことによつ て、意味をぁ 、ま 、なまま扱うことができる情報空間処理装置等を提供することを目 的とする。
課題を解決するための手段
[0008] 上記目的を達成するために、本発明に係る情報空間評価装置は、ひとまとまりの情 報であるノードの集合で形成された複数の空間に対する評価を行う情報空間評価装 置であって、前記空間から情報を取得するデータ取得部と、取得された情報に基づ いて、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う重ね 合わせ計算処理部と、前記重ね合わせ計算処理部による重ね合わせ計算の結果を 出力するデータ出力部とを備えることを特徴とする。
本発明では意味といったものを空間として扱う。つまり、意味を何かしらの定義され た属性情報ではなぐ空間に存在する位置情報、および、その存在の状態情報とし て扱う。本発明ではこの空間のことを特に意味空間 (セマンティクススペース)と呼ぶ。 また、この存在の状態情報として扱うことが、意味の持つあいまい性を扱う上で大きな 役割を果たす。
[0009] 本発明は存在の状態を扱うことで、情報の持つ概念を効率的に扱うことができる。こ の原理によって情報の管理や取得をより効率的に扱うことができる。しかし、これらの 効果を適切に引き出すには、特定の管理方法や処理方法を使用する必要がある。
[0010] 空間の重ね合わせ処理は本発明において非常に重要な概念である。これは異なる 空間に存在を比較して演算するというものである。特に重要なものはこの比較に同じ であるかどうかを比較するものである。それぞれの空間は何力しらの概念を表現した ものとなる。それぞれの異なる空間の中で同じであるものが存在するということは、同 じものが異なる概念の中で存在して 、ると 、うことを意味する。本発明にお 、ては存 在することを意味として捉えている。この存在は空間の構造そのものや、情報と情報 の関係といったものに左右されないため、空間の記述に大きな自由度を与えることが できる。重ね合わせ処理を使用すれば、複数の空間に横断的に存在するものを浮か びあがらせる事ができる。
[0011] 一言で言えば、重ね合わせ処理は、空間におけるデータの偏りや特徴を比較するこ とで情報を浮かび上がらせる処理であるといえる。
[0012] さらに、重ね合わせ処理は空間予測性を利用する事で大きな効果を生み出ことがで きる。空間予測性とは人間が空間に結びついた情報や、空間の一部を認知すること で、認知していな部分を予測できることを言う。この予測に基づいて重ね合わせ処理 を行うことで、認知していない、つまり、ノ、ッキリとした存在すら知らない概念や情報を 浮かび上がらせることで到達が容易に可能となる。このように、重ね合わせ処理は人 間の持つ予測能力を利用して、情報を検索できる処理であるとも言える。
[0013] 以下に図を使用して、認知と非認知と重ね合わせ処理について説明する。通常、空 間が巨大であるならば、すべてを認知することはできない。し力し、図 3の 112のよう に非認知であっても 111のような認知した情報力もある程度は予測できる。このとき、 図 4の 113に見られるように、認知部分力も非認知の部分を予測し、重ね合わせ処理 によって非認知の部分についての情報を浮かび上がらせることが可能となる。
[0014] 以下にキーワードや自然言語処理による検索と、重ね合わせ処理の情報サイクルの 比較を行う。図 5はキーワードや自然言語処理による検索による情報の流れを示した 物である。この場合は、人間 121が自身の持つイメージをキーワードや自然言語へ 1 22において変換する。この情報を 123でコンピュータが処理し、結果 124として出力 されて人間がそれを認知する。図 6は重ね合わせ処理の情報の流れを示した物であ る。この場合は、人間 121が自身の持つイメージが定義された空間のどれにあたるの 力といったことを 125においてマッピングして、そのマッピングの結果を 126でコンビュ ータ処理し、結果 127として出力されて人間がそれを認知する。
[0015] 空間の射影化は画一的な構造を維持したままで、異なるものを表現する場合に重宝 する仕組みである。つまり、複数バージョンの空間を一つの概念として扱うことを可能 とするものである。空間の射影化によって画一的なデータを扱いやすくすることが出 来る。用途としては、日本語版と英語版とスペイン語版といった、多言語用に空間を 管理する射影化などが強力である。射影化によって特定の構造を保持したまま、様 々な局面別のまとまった空間を明確に作成することができる。
[0016] レイヤーは空間に対して、付加情報、または、付加情報を使用した処理を提供するこ とができる。例えば、セキュリティに関する情報は、空間で表現したい概念とは通常は 異なる。具体的に言えば、あるテスト結果を表現した空間があるとする。この空間のセ キユリティに関する情報であるアクセス許可、不許可といった情報は、テストの点数と V、つたテスト結果とは関係な 、はずである。このように空間の表現した 、概念と直接 関係のな 、情報を明確に分離することで、それぞれを扱!、やすくすることができる。
[0017] 空間の自動分類処理によって空間の拡張が容易になる。この処理を使用すれば、人 間が手作業で空間のどこにノードを追加するの力、どこに存在させるべきかといつた ことを考慮する必要がなくなり、空間全体を把握してノードを追加するという手間を大 幅に減少させることが可能となる。
なお、本発明は、上記のような情報空間評価装置として実現できるだけでなぐ情 報空間評価方法、その方法をステップとして表現したプログラム、そのプログラムを記 録したコンピュータ読み取り可能な CD— ROM等の記録媒体としても実現できる。 発明の効果
[0018] この意味を空間における状態情報として扱うことによって、意味をあいまいなまま扱う ことができるようになった。このことによって多くの人間が情報を保存、共有、交換、お よび、伝達できるようになる。この意味のあいまい性の効果は階層空間を利用したプ ログラムによって顕著に表れる。さらに、存在の状態を使用した空間の論理演算、重 み付け処理、意味空間を利用する上で最も強力な機能といえる。 図面の簡単な説明
圆 1]本発明で使用されるコンピュータ概略図
圆 2]本発明で使用されるネットワーク概略図
圆 3]認知部分と非認知部分を示す図
[図 4]重ね合わせ処理の概念を示す図
[図 5]キーワードや自然言語による情報の検索における情報の流れを示す図 [図 6]重ね合わせ処理による情報の検索における情報の流れを示す図
[図 7]リンク空間を表したノード図
[図 8]無形空間を表したノード図
[図 9]空間を表すノード図
[図 10]ノードのリンクをノードの内部に実装する仕組みを表す図
[図 11]ノードのリンクをノードの外部における定義で表す図
圆 12]同期点の説明における、ノード図
圆 13]参照管理による同期維持の仕組みを表す図
圆 14]操作の多重化による同期維持の仕組みを表す図
圆 15]参照管理による同期維持を行う場合のデータ付加を行う図
[図 16]操作の多重化による同期維持を行う場合のデータ付加を行う図 圆 17]独立空間ノードを表したノード図
[図 18]ノードを継承する場合を表した図
[図 19]継承もとのノードの定義を XMLで表した図
[図 20]継承先のノードの定義を XMLで表した図
[図 21]結びつけ用のノード図
[図 22]ノードにファイル情報を結びつけた図
[図 23]階層空間の説明図
圆 24]空間予測性の説明における、ノード図
[図 25]ツリービューのスクリーンショットを示す図
[図 26]リンクノードの実装を示す図
[図 27]XMLによるノード実装の説明用の図 [図 28]ノードの実体を XMLで表現した一例を示す図
[図 29]ノードの実体を XMLで表現した他の例を示す図
[図 30]ノードの実体を XMLで表現した他の例を示す図
[図 31]空間のリンクを XMLで表現した例を示す図
[図 32]階層空間のリンクを XMLで表現した例を示す図
[図 33]ノード、および、ノードデータのシリアライズ処理の説明図
[図 34]ノードのデータのシリアライズされたデータ例を示す図
[図 35]ノードの情報をリレーショナルデータベーステクノロジとの連携を表す図 圆 36]ノードの情報をメモリと不揮発性記録媒体との連記を表す図
[図 37]複数のプログラムで通信するブロック図
[図 38]ノードを同期データとして複数のコンピュータで管理する方法の図
[図 39]異なるプログラム間でノードのリンクを実装する方法の図
[図 40]イベントが様々な通知を行うことを表す図
[図 41]セキュリティの仕組みを表す図
[図 42A]リンク数選択を行う前の空間を表すノード図
圆 42B]リンク数選択を行った後の空間を表すノード図
圆 43]階層選択の仕組みを表すノード図
圆 44]計算式、および、判定式の説明用のノード図
[図 45]プロパティの値を使用した計算式、および、判定式の結果表
[図 46]ノードタイプ、プロパティ、ノードのリンクに関する情報による計算式、および、 判定式の結果表
[図 47]同期点を使用した計算式、および、判定式のためのノード図
圆 48]同期点を利用した計算式、および、判定式の結果表
圆 49]等価評価の説明用のノード図
[図 50]プロパティの値による等価評価の結果表
圆 51]リンク、および、同期点の情報を使用した等価評価の説明用のノード図 圆 52]リンク、および、同期点の情報を使用した等価評価の結果表
[図 53]空間の論理演算を行うノード図 [図 54]空間 Aの論理表への置き換え例を示す図
[図 55]空間 Bの論理表への置き換え例を示す図
圆 56]詳細な論理演算の説明図
[図 57]空間の ANDによる論理演算の例を示す図
[図 58]空間の ORによる論理演算の例を示す図
[図 59]空間の XORによる論理演算の例を示す図
[図 60]空間の NANDによる論理演算の例を示す図
[図 61]空間の NORによる論理演算の例を示す図
[図 62]空間の XNORによる論理演算の例を示す図
[図 63]指定数を 2にした場合の空間 Aの真偽値への置き換えの例を示す図
[図 64]空間の重み付け検索用のノード図
[図 65]重み付け検索の結果を示す図
[図 66]—意性重み付け検索の結果を示す図
圆 67]優先度重み付けによる調整を行った、重み付け検索の結果を示す図 圆 68]リンクの距離により優先度を調整する場合の例を示す図
[図 69]リンクの距離により優先度を調整する場合の他の例を示す図 圆 70]重み付け処理のより詳細な説明用のノード図
圆 71]重み付け処理のより詳細な説明用の計算図
[図 72]フィルタリング処理の説明図
[図 73]空間の置換説明用のノード図
[図 74]独立空間ノードの重ね合わせを示す図
圆 75]独立空間ノードを含む空間の重み付け計算のノード図
圆 76A]独立空間ノードを含む空間の重み付け計算の結果表
圆 76B]独立空間ノードを含む空間の重み付け計算のその他の結果表
[図 77]高速な重み付け処理の計算アルゴリズムのステップ図
[図 78]高速な重み付け処理の計算アルゴリズムのブロック図
[図 79]ノードのマージ処理の説明図
[図 80]データの走査処理における計算を示す図 [図 81]データの走査処理における論理演算の例を示す図
[図 82]データの走査処理における重み付けの例を示す図
[図 83A]重み付け統合計算の説明用空間図
[図 83B]等価評価 1の場合のノード図
[図 83C]等価評価 2の場合のノード図
[図 83D]等価評価 3の場合のノード図
[図 83E]等価評価 4の場合のノード図
[図 84]等価評価 1の場合における重み付けのスコア表
[図 85]等価評価 2の場合における重み付けのスコア表
圆 86]完全独立等価評価による統合計算の例を示す図
圆 87]等価評価 3が基準である統合計算の例を示す図
[図 88]等価評価 3の一意重み付け検索のスコア表
圆 89]等価評価 4が基準である統合計算の前処理の結果を示す図 圆 90]等価評価 4が基準である様々な統合計算の例を示す図
[図 91]音楽情報を表し同期点等価評価で区別されたノード図 圆 92]音楽情報を表しジャンルによる等価評価で区別されたノード図
[図 93]音楽情報空間のスコア表
[図 94]音楽情報の重ね合わせ処理結果表
[図 95]音楽情報空間の論理演算の結果表
[図 96]音楽情報のジャンル別のスコア表
[図 97]音楽情報空間の統合演算結果表
[図 98]音楽情報空間の論理規則の結果表
圆 99]論理規則によるフィルタリングの計算方法を示す図
[図 100]音楽情報空間の重みの加工処理を示す図
[図 101]重ね合わせ処理の実装時の機能ブロック図
圆 102]多言語バージョンによる射影化の説明を行う図
圆 103A]射影機能を説明するための射影化される前のノード図
[図 103B] 3つに射影化した場合のノード図 圆 103C]ノードの生成の連携を説明するノード図 圆 103D]ノードの削除の連携を説明するノード図
圆 103E]空間の変形の連携を説明するノード図
圆 103F]射影ごとの空間の生成を説明するノード図
圆 103G]射影ごとの空間の削除を説明するノード図
圆 104]射影同期を説明するノード図
圆 105A]射影化の実装の詳細を説明するためのノード図
圆 105B]リンク射影を行った場合のノード図
[図 105C]ノード射影を行った場合のノード図
[図 105D]データ付加射影を行った場合のノード図
圆 105E]独立空間射影を行った場合のノード図
圆 106]ノード射影をリンクリストで形成した場合を示す図
圆 107]ノード射影をデータ群と結びつけて形成した場合を示す図 圆 108]データ付加射影の詳細を示す図
圆 109]独立空間射影の詳細を示す図
圆 110A]射影化前のドキュメントを表現した空間のノード図
圆 110B]射影化を使用しない場合のドキュメントの多言語化ノード図 圆 110C]射影化を使用した場合のドキュメントの多言語化ノード図 圆 111]射影化の実装時の機能ブロック図
圆 112]構造レイヤーの構造説明図
圆 113]実体レイヤーの説明図
[図 114]レイヤーとノードの内部からのリンク関係を示す図
[図 115]レイヤーとノードの外部からのリンク関係を示す図
[図 116]構造レイヤーと実体レイヤーの違いにつ!、てのノード図
[図 117]リンク空間における構造レイヤーの XMLによる実装例を示す図
[図 118]階層空間におけるノードレイヤーの XMLによる実装例を示す図 圆 119]実体レイヤーの実装例を示す図
[図 120A]レイヤーの自己拡張機能のノード図 [図 120B]レイヤーの自己拡張機能のノード図
[図 120C]レイヤーの自己拡張機能のノード図
[図 121]セキュリティレイヤーの説明図
[図 122]セキュリティレイヤーの説明用ステップ図
[図 123]イベントレイヤーの説明用ステップ図
[図 124]バグ情報システムのノード図
[図 125]セキュリティレイヤー実装時の機能ブロック図
[図 126A]存在可否条件式が設定された空間のノード図
圆 126B]自動分類処理が適用された空間のノード図
圆 126C]自動分類処理において、ノードの追加と共に存在可否条件式が追加された 空間のノード図
[図 127]自動分類処理のステップ図
[図 128]ノードの追加と共に存在可否条件式を適用する場合の差し替え用のステップ 図
圆 129]巡回可否を説明するノード図
圆 130]巡回可否を説明するステップ図
[図 131A]自動分類処理において、ノードの追加前のノード図
[図 131B]自動分類処理において、ノードが追加される場合の図
[図 131C]自動分類処理において、二番目以降のノードが最初のノードのリンクとして 追加される場合の図
[図 132]巡回のシミュレーションを説明する図
圆 133]巨大な空間に対する追加について説明する図
[図 134]自動分類処理の実装時の機能ブロック図
[図 135]空間ストレージの図
圆 136]全、外、内比較型を説明用するための空間の図
[図 137]比較時のスコア対応表
[図 138]全、外、内比較型の結果
[図 139]巨大な空間と小さな空間 [図 140]空間のオペランド計算の説明をするための図
[図 141]空間のオペランド計算説明用計算結果の図
[図 142]等価絞り込み前の空間の図
[図 143]等価絞り込み後の空間の関係
[図 144]等価絞り込みを適用した空間の図
[図 145]統合計算の基本計算パターン図
[図 146]統合計算の計算結果の図
[図 147]統合計算の基本計算パターン 2図
[図 148]統合計算の計算結果 2の図
[図 149]論理的に生成する前の情報の図
[図 150]論理的に生成された空間
[図 151]併合ィ匕の説明用の図
[図 152]検索エンジンシステムの機能図
[図 153]カテゴライズされた空間の図
[図 154]重ね合わせによる説明用の空間の図
[図 155]追加された空間の図
[図 156]掲示板システムの図
[図 157]掲示板の概要図
[図 158]ツリー型掲示板の概要図
[図 159]掲示板を空間に置き換えた図
[図 160]ツリー型掲示板を空間に置き換えた図
[図 161]外部力 の接続により発明を実施するクライアントの実装図
[図 162]重ね合わせ処理をクライアントコンピュータに実装した図
発明を実施するための最良の形態
[0020] 以下、本発明の実施の形態について図面を用いて詳細に説明する。
[0021] 図 101に、本実施の形態における情報空間処理装置 4000の構成例を示す機能ブ ロック図を示す。この情報空間処理装置 4000は、ひとまとまりの情報であるノードの 集合で形成された複数の空間に対する評価 (分析、管理、検索、共有化等)を行なう 装置であり、人間の持つ意味を空間における状態情報として扱うことによって、意味 をあいまいなまま扱うことができる点に特徴を有し、データ取得部 4210、処理開始部 4212、射影部 4411、重ね合わせ計算処理部 4211、データ出力部 4213及び自動 分類処理部 4809から構成される。データ取得部 4210は、さらに、リンク選択部 425 1及び階層選択部 4252からなる空間選択部 4250と、空間フィルタリング部 4253と 力も構成される。また、重ね合わせ計算処理部 4211は、さらに、論理演算計算部 42 20、重み付け計算部 4221、統合計算演算部 4222、フィルタリング部 4223及びカロ ェ処理部 4224からなる演算処理部 4216と、等価評価部 4215と比較検討部 4217 とから構成される。
[0022] なお、本図には、本情報空間処理装置 4000の外に存在する空間データ部 4201等 も一緒に示されている。各構成要素は一つ、または、複数のプログラム及び Z又はハ 一ドウエアで実装される。また、プログラムは複数のコンピュータで処理されても良い。 全体的な処理の流れは、空間データ部 4201から処理開始部 4212とデータ取得部 4210を使用して、行う処理や対象となる空間を決定する。さらに、処理開始部 4212 とデータ取得部 4210の決定を使用して、重ね合わせ計算処理部 4211で重ね合わ せ処理を行!、、データ出力部 4213により出力先 4214へ結果を出力する。
[0023] 空間データ部 4201は空間に関する情報が存在する部分で、メモリや磁気ディスクな どコンピュータ読み取り可能な記録媒体、または、ネットワークそのものを意味する。こ れらの情報にアクセスするには、メモリ、や磁気ディスク上の実現された空間から情報 を読み取る方法や、ネットワーク上の他のコンピュータ力 空間情報を取得する方法 などが一般的である'
[0024] 処理開始部 4212でどの様な処理を行うのかを決定する。ここには、外部、または、内 部のプログラムからの命令であったり、人間が処理を命令した場合であったりする。こ の部分で、どの空間が処理対象であるのかとったことや、どの様に重ね合わせ処理を 行うのかといったことを決定する。処理を行う上で、空間データ部 4201にアクセスし たり、データ取得部 4210などを使用して情報を収集したりする。このような処理は例 えば、人間がプログラムを通じて対話的に検索対象を決定する場合に多い。
[0025] データ取得部 4210は、空間データ部 4201から情報を取得する処理部であり、処理 開始部 4212で利用するための情報を取得することや、重ね合わせ計算処理部 421 1で利用するために行う。データ取得部 4210は空間選択部 4250の一種であるリンク 選択部 4251や階層選択部 4252などを使用して重ね合わせ処理に使用するデータ を取得する。さらに必要であるならデータ取得部 4210の結果に対して空間フィルタリ ング部 4253などを実行して使用すべきデータを選別する。
[0026] 重ね合わせ計算処理部 4211は、データ取得部 4210で取得された情報に基づいて 、異なる空間どうしの関連性を算出する処理である重ね合わせ計算を行う処理部で あり、データ取得部 4210の情報を元に演算処理部 4216と等価評価部 4215を使用 して、さまざまな演算を行 、論理演算の真偽値や重み付け処理や重み付け統合計 算の重み (スコア)を取得する。論理演算による真偽値の計算は論理演算計算部 42 20で実装される。重み付け計算部 4221では重み付けの重み (スコア)を求める。統 合計算演算部 4222では重み付け計算部 4221の結果を使用して重み付け統合計 算用の処理を行うのが良い。論理演算計算部 4220、重み付け計算部 4221、統合 計算演算部 4222の結果に対してフィルタリング部 4223を適用することや、加工処理 部 4224を適用することも有効である。
[0027] 等価評価部 4215について解説する。等価評価部 4215は、ノードどうしが等価であ ると見なすことができるか否かを評価する処理部である。重ね合わせ計算処理で使 用される等価評価には基本的に使用できないものはなぐ同期点等価評価、ノードの プロパティを使用する等価評価やノードタイプを使用するものなどあらゆる等価評価 を使用できる。これらはスクリプト 'プログラム言語 4240で定義されたり、等価評価の 機能を外部プログラム 4241に委任したりすることもできる。
[0028] 比較検討部 4217について解説する。比較検討部 4217は、ノードどうしを比較して 評価する比較検討処理を行う。通常は比較して数値情報を求める。比較検討処理は スクリプト ·プログラム言語 4240で定義されたり、比較検討処理の機能を外部プログ ラム 4241に委任したりすることもできる。
[0029] 演算処理部 4216は、等価評価部 4215、および、比較検討部 4217による評価に基 づいて、異なる空間に対して、比較計算をし、その結果を前記関連性として算出する 処理部である。論理演算計算部 4221では論理演算の真偽値を計算する。計算は等 価評価部 4215、または、比較検討部 4217を使用して行われる。たとえば、等価評 価部 4215による評価に対して、一定の条件を満たすカゝ否かを判断することによって 真偽を求め、異なる空間どうしの真偽を論理演算する。この結果は、データ出力部 4 213に渡される力、フィルタリング部 4223によって真偽値を選別したり、フィルタリン グ部 4223や加工処理部 4224の計算に利用されたりする。
[0030] 重み付け計算部 4221では重み付け処理の重み (スコア)を計算する。計算は等価評 価部 4215を使用して行われる。たとえば、等価評価部 4215によって等価と判断さ れたノードの数を数え上げ、数え上げた数に依存する値を空間又はノードに対する 重みとして重み付け処理をする。通常はこの部分で一意化処理や優先度調整や様 々な計算を行う。
[0031] 統合計算演算部 4222では重み付け統合計算の重み (スコア)を計算する。計算は 等価評価部 4215を使用して行われる。通常、この計算は重み付け計算部 4221の 結果を利用して行われる。たとえば、重み付け計算部 4221で得られた重みを用いて 、異なる空間に対する比較計算をする。
[0032] 重み付け計算部 4221や統合計算演算部 4222の計算の結果は、データ出力部 42 13にそのまま出力しても良いが、フィルタリング部 4223によって特定のものだけを選 別することや、加工処理部 4224を使用して、スコアを調整したものを出力するなども 有効である。
[0033] フィルタンダ部 4223は論理演算、重み付け処理、または、重み付け統合計算などの 結果を絞りこむ仕組みであるフィルタリング処理を行うものである。論理演算計算部 4 220や重み付け計算部 4221や統合計算演算部 4222の結果に対して適用すること で情報を絞り込むことができる。絞り込みには、論理演算計算部 4220の結果を使用 したり、ノード判定式を使用したりする。また、結果をさらに加工処理部 4224でカロェ を行うことも有効である。これらの結果をデータ出力部 4213によって出力先 4214に 出力される。
[0034] 加工処理部 4224は重み付け処理や重み付け統合計算の重みに対して加工を行う 重みの加工処理の計算を行う。加工には論理演算計算部 4220の結果を使用するこ とや、ノード判定式を使用して処理を行うものが一般的である。また、結果をさらにフィ ルタリング部 4223で選別することも有効である。これらの結果はデータ出力部 4213 によって出力先 4214に出力される。
[0035] データ出力部 4213は重ね合わせ計算処理 4211の結果を受け取り、出力先 4214 への出力を行う。出力先は、コンピュータ読み取り可能な記録媒体やネットワークなど である。通常は、結果をメモリや磁気ディスクに保存したり、ネットワークを使用するな どして他のコンピュータやプログラムに結果を転送したり、ディスプレイやスピーカー などを使用して出力を行ったりする。また、出力された結果に対して、フィルタリング部 4223やカ卩ェ処理部 4224を使用して、結果をさらにアレンジすることもできる。
[0036] 射影化部 4411は複数バージョンの空間を一つの概念として扱うことを可能とするた めの処理、つまり、空間を射影化する処理部である。この機能を使用することで、情 報の分散を防止することができる。射影化は、空間の多言語設計や、複雑なプロダラ ムゃドキュメントのバージョン別管理など有効である。
[0037] 本発明の運用形態としては、図 161に示されるように、情報提供装置 6005に対して 一つ、または、複数の情報受信装置が接続して情報を受け取る形態が有効である。 図 161では情報受信装置 6001、 6002、が情報空間処理装置 4200、空間データ部 4201を含む 6005から情報接続部 6011、 6012を介して情報を得ている。これによ つて実際にはクライアントが情報空間処理装置 4200を実装していなくても情報受信 装置は重ね合わせ処理の結果などの情報を利用することができる。また、図 161に 示される実装にすることで、情報を多数のユーザで容易に共有することができる。
[0038] また、空間データ部 4201や情報空間処理装置 4000の機能の一部を複数の装置で 共有する運用形態も有効である。このように、機能を分散させることで、計算処理のコ ストを特定のプログラムやコンピュータに集中させすぎないなどの利点を得ることがで きる。例えば、図 162に示されるように、重ね合わせ計算処理部 4211を装置 6021、 6022にも実装している。この場合、重ね合わせ処理に必要な情報を 6025を介して 、情報接続部 6031、 6032が取得して、重ね合わせ処理をそれぞれの装置 6021、 6022で行う。このように比較的に計算コストの高い重ね合わせ処理などの機能や情 報の一部をクライアントコンピュータに任せることで、計算のコストが情報を提供するコ ンピュータに集中しな 、ように調整できる。 [0039] 本発明において「ノード」とはコンピュータ読み取り可能な記録媒体、または、インター ネットなどの情報通信網で実現されるものである。基本的にノードは情報を結びつけ て管理するための単位、または、情報そのものである。通常、情報はノードに結びつ けられて管理される。
自動分類処理部 4809は、この情報空間処理装置 4000が備える各構成要素を順 次自動実行させる制御を行う制御部である。
[0040] 次に、本明細書で用いられる各用語の意味と各構成要素の詳細な説明をする。
本発明において、「ユーザ」とはプログラムを使用する人のみならず、プログラムを使 用するプログラムも含むものである。
[0041] 本発明にお 、て、「リンク」とは、ノードとノードをつなぎ合わせる仕組みである。ノード とノードを結びつけていると人間やプログラム、または、装置が認識できるのならば、 いかなる形態で表現されても良い。リンクとはノード群を構造ィ匕するなど関連を示す ために存在する。
[0042] リンクは、単方向リンクと双方向リンクが存在する。使用される環境にもよるが、一般的 な実装では双方向リンクによる実装の方カ^ンタを双方向にたどることが可能となるの で、利用しやすい。
[0043] リンクに何力しらの制限や規則を適用する「リンク制限」の仕組みを利用することで、 様々な特性を持ったノード、および、空間を作成することができる。リンク可能な数を 1 つに限定して、ノードをリンク空間の中で局所的なものにすることもできる。また、リン ク関係を親子関係でリンクさせた階層空間などが代表的である。
[0044] 実態を持った空間にはノードとノードのリンクにより形成された「リンク空間」と、カテゴ リ別にノード魏めた (つまり、単なるノードの集合である)「無形空間」がある。
[0045] リンク空間は空間を構造化、体系化することができるので、視認性や理解性に優れて いる。
[0046] 無形空間の機能は、リンク空間で代用できる。しかし、無形空間による処理は実装が リンク空間による実装よりも単純で実装しやすい。また、一時的な計算処理などに利 用する場合は、特に処理の速度の面で、リンクに関する処理を考える必要がないの で優れている。 [0047] 本発明において、空間を使用するプログラムのことを「空間プログラム」、または、「空 間管理プログラム」と呼ぶ。
[0048] 図 7にリンク空間のノード図がある。 210はノードで 211はリンクを意味する。このよう にノードとノードのリンクによって形成された空間がリンク空間である。
[0049] 以下に図 8を使用して無形空間を説明する。リンク空間と異なりノードはリンクされて いない状態で格納される。 220は無形空間で 221はノードである。このように単純な データノードの集合によって形成されているのが無形空間である。
[0050] 本発明において、「空間」とは非常に広義な言葉である。空間とはノードが一つでも 空間と呼ぶことができる。また、複数の空間を一つの空間と呼ぶこともできる。空間と は一つ以上のノードの集まりを、構造や形や状態にかかわらず一まとめにしたもので あると言;^る。
[0051] 図 9を使用して、空間について説明する。図 9の 231、 232、 233はすべて空間と呼 ぶことができる。 231はノードと呼んでも良い。
[0052] ノード間のリンクの情報はノードそのものの中に記述されていても、外部に記述されて いてもかまわない。
[0053] 図 10はノードそのものの中にノードのリンク情報が格納される場合の図である。この 場合、ノード 300がノード 301へのリンク情報を保持している。 300、 301は実装によ つてはノードの参照の場合もある。
[0054] 図 11は外部にリンク情報が記述されている場合であるの図である。ノード 310とノード
311はリンク状態であるとする。この場合、リンク情報がノード 310、 311のノードそれ ぞれに格納されているのではなく 312によってリンク関係が定義されている。 310、 3
11は実装〖こよってはノードの参照であることもある。
[0055] ノードのリンクはメモリ上で実装される場合は、ノードに対するポインタやオブジェクト への参照を保持する形で表現する方法が一般的である。
[0056] ノードのリンクは HTMLや XMLなどの形式でも表現することができる。 HTMLのハイ パーリンクや XMLの Xlinkなどを使用して表現することもできる。
[0057] 本発明において、「プロパティ」とはノードに結びついた情報を意味する。ノードに結 びついた情報はプロパティと呼ぶことができる。 [0058] プロパティに何を設定するかはプログラムの実装者に任せられるものである。例えば 名前や説明などのテキスト、 IDなどの数値データ、アプリケーション特有のデータフォ 一マット、バイナリデータ、特定のメモリ領域、 XMLで作成されたスキーマ、ファイルの リスト、ファイルストリームでも良い。さらに、プロパティと他のプログラムの情報やネット ワーク上の情報と結びつけることで、分散環境での情報管理が容易に実現できる。
[0059] 本発明において「同期」とは、同じと見なせるが空間上では異なるものである。例えば 、ノード A1とノード A2はお互いに同期しているとする。リンクを除いて、 A1に対する変 ィ匕が A2にも適応されるものを同期していると呼ぶ。同期はお互いに同期しているもの をリンクは除いて同一のものとして扱うことができれば良い。つまり、同じと見なせるが 空間上では異なり、かつ、一方における変化が他方にも適応される性質をもつノード をお互 ヽに同期して!/、るノードと!/、う。
[0060] 本発明において、「同期点」とはお互いに同期しあっているもののことを言う。以下に 図 12を使用して同期点を説明する。ノード Aは 400、 401、 402でお互いに同期して いる。このとき 400、 401、 402を Aの同期点と呼び、同期点が同じであると言う。また 、同期点力^つのものは非同期とみなすこともできる。しかし、実際の実装では同期と 非同期を明確に分離されたものとして扱うほうが良い場合が多いと思われる。
[0061] 同期の扱いはコンピュータ読み取り可能な記録媒体上のインスタンス(実体)の参照 を管理するものが最も適当と思われるが、操作を多重化する方法でも良い。
[0062] 参照とは、メモリ上であれば実体へのポインタとして存在し、オブジェクト指向な環境 であれば、オブジェクト、または、オブジェクトの参照として存在しているのが一般的で ある。外部に定義されたリンク情報といったものも参照と呼ぶことができる。
[0063] 操作を多重化するとは、ひとつの命令を同期している複数のノードに同時に適用する ことで、同期を表現する。
[0064] 図 13にインスタンスの参照管理型の実装を図示した。このよう〖こ 421、 422は実体 42 0への参照となって 、る。よって操作 423と操作 424の効果は共に実体への操作とな り同期が維持される。
[0065] 図 14は操作の多重化による実装を示している。この場合 410と 411はお互いに異な る実体であるが、一つの操作 412が複製され、複数の実体に適用されることで同期を 実現している。
[0066] ノードや空間に対して情報を結びつける方法は、空間の実装によって左右される。ノ ードゃ空間に情報を結びつける場合、大きく二つの考え方に分かれる。これはノード の同期も含めたものに対する情報の付加である「同期型情報付加」であるのか、同期 を含めな!/、情報の付加である「非同期型情報付加」であるのかと!/、つたことである。同 期型情報付加は同期したもの同士で共有される情報であるが、非同期型情報付カロ は同期したもの同士でも情報が共有されていないことを言う。これらの仕組みは、射 影化、レイヤー、自動分類処理においても影響する重要な概念と言える。本発明に おいて、プロパティは、同期型情報付加の情報であると言える。
[0067] 図 15は同期を参照管理によって実現する実装における情報の結びつけの方法を示 している。 440はノードの実体を意味し、 441、 442は実体の参照を意味する。付カロ †青報 443、 444、 445は 440、 441、 442の内咅^または、外咅に結びつけられた†青 報である。同期は参照による操作が実体への操作となることで同期を実現する。参照 への操作はリンクを除いて、 440へ適用される。この場合、同期型情報付加を適用す る場合、付加情報 445のように実体 440へ結びつける実装が一般的である。また、付 加情報 443、 444に対する操作を多重化することでも実現できる。つまり、付加情報 4 43に対する操作を付加情報 444にも適用する方法である。非同期型情報付加の場 合 ίま、付カロ†青報 443、 444【こ見られるよう【こ 441、 442へ付カロされて!ヽる。これで実 体とは異なり、参照に情報を付加することで、情報付カ卩に柔軟性が生まれる。例えば 、この参照が空間を定義する情報である場合、自由に特定の空間に対して情報を付 カロすることちでさる。
[0068] 図 16は同期を操作の多重化により実現する実装における情報の結びつけの方法を 示している。一つの命令 439を同期関係にあるノードの実体 431、 432に同時に適 用することで同期を維持して ヽる。付カロ†青報 433、 434, 435, 436, 437は 431、 43 2の内部、または、外部に結びつけられた情報である。この場合、非同期型情報付加 を行う場合は、付加情報 433、 434に情報を付加すれば良い。同期型情報付加を適 用する場合、 431、 432から共通の付加情報 437を共有することで利用できる。同期 型情報付加は付加情報 433、 434を使用しても実現できる。この場合、ノードに対す る操作が多重化されたように、付加情報 433、 434に対する操作も多重化するという 方法でも実現できる。
[0069] 「独立空間ノード」を使用することで、空間そのものをノードとして扱うことができる。つ まり、独立空間ノードはノードとして扱うことも、空間として扱うこともできる。
[0070] 以下に図 17を使用して、独立空間ノードを解説する。 500、 501は独立空間ノードで お互いに同期しているとする。 500、 501はノードの様にリンクされているが、内部に 空間が形成されている。またノード 502への変更は 503への変更となる。これは、 50 0と 501が同期しているため、内部の空間が同期しているのである。
[0071] 独立空間ノードの実装について説明する。実装は様々に考えられるが、ノードに空間 の情報を結びつければ良いので実装は比較的容易である。結びつける方法は同期 型情報付加によってノードに対して空間の情報を結びつければ良い。
[0072] 「ノードタイプ」とは、ノードを表す型を意味する。ノードタイプを具現ィ匕したものがノー ドとも言える。これは、オブジェクト指向言語で使用される、クラスとインスタンスの関係 に似て ヽる。クラスを具現ィ匕したものがインスタンスである。
[0073] ノードは「継承」を使用して、新たなノードを定義できるものとする。この機能はノード を拡張して新たなノードに継承元のプロパティを受け継がせることが出来るものである 。継承とはオブジェクト指向言語などで良く利用されるものである力 プログラム言語 以外の分野でも良く利用されているものである。この仕組みは実装の重複を防止し、 概念を体系化し、プログラミング言語で多態性を表現できるようになるものである。具 体例としてノードを継承し、ノードにファイルを格納するファイルデータノードなどを作 成するなどの用途で使用される。この仕組みは空間プログラムにお 、て必要なもので はないが、空間の管理がより容易になる。
[0074] 図 18を使用して、継承について説明する。ノード 602はノード 601を継承して作成さ れている。ノード 602のプロノティ 615、 616は、ノード 601のプロパティ 610、 611を そのまま受け継いでいる。その上で、新たなプロパティ 617を拡張している。
[0075] さらに、 XMLを使用して、ノードの継承を説明する。図 19、図 20はノードタイプを定 義した XMLである。図 19は図 18のノード 601を、図 20は図 18のノード 602を意味 する。この場合、図 20のプロパティのうち、図 19で定義されているものは省略 (受け 継がれて)いるのがわ力る。
[0076] ノードの応用的な実装は数多く考えることができる。ノードのプロパティに URIやグロ 一バル IDを結びつけて、ネットワークへつなげば、容易にインターネット上での情報 管理システムとなる。ファイルシステムのファイルやディレクトリに結びつければ、強力 なファイル管理システムとなる。
[0077] ノードは情報そのものであっても良い。つまり、単なるテキストデータや画像データで あっても良い。これらをノードとして扱うかどうかはプログラム次第でコントロールできる
[0078] 以下に空間を利用して、ファイルシステムを実装する方法を図 21と図 22を使用して 説明する。ノード 730をフォルダ 740と結びつける。同様に 731をファイル 741と、 73 2をファイル 742と結びつける。このようにすれば、仮想ファイルシステムが出来上が る。
[0079] ノードのリンク関係が親子関係のものを特に「階層空間」と呼ぶものとする。親子関係 で作成された空間は容易に体系化することが出来るので、無秩序にリンクされた空間 より学習理解性に優れている。階層空間が優れているのは「空間予測性」に富むと言 うことである。これは空間の一部を認識するだけで、それに連なる空間を予測しやす いということにある。この空間予測性が空間の重ね合わせ処理で大きな効果をもたら す。
[0080] 階層空間とは親子関係の空間であるため、始点となるノードが存在することとなる。こ れをルートノードと呼ぶ。また、元になるノードが定まるのでそのルートノードからのパ スで目的の空間を指定することが出来る。
[0081] 以下に図 23を使用して階層空間を説明する。ノード 812はノード 811の子ノードであ り、ノード 811はノード 810の子ノードとなっている。このように親子関係で構成された ものが階層空間である。
[0082] 空間予測性を図 24を用いて説明する。 800のノードは日記についての情報に対する リンクを所持している。もしあなたが、 2001年 10月 6日の日記を読もうとする。あなた は、 801の日付別のノードを迪つて探すだろうか、それとも、 802の思い出別のノード を迪るのだろうか。あなたは、日付別のノードを迪つて探そうとするだろう。これが空間 予測性である。これは空間の一部を認知することによって先の空間の構成を予測で きることを言う。
[0083] 階層空間を使用したアプリケーションが実装される場合、ユーザインタフェースは図 2 5の様なツリービューなどによる実装が容易で一般的であろう。
[0084] この情報空間処理装置 4000は、プロパティを使用して検索をすることができる。この 検索はプログラミング言語などで再帰処理を記述することや、検索巡回するエージェ ントを使用することなどで、簡潔に検索処理を記述することが出来る。
[0085] 本発明において、ノード間の情報を定義することもできる。これは、ノードとノードの関 係をメタデータで定義すると 、うことを意味する。これは従来のセマンティクスウェブで も利用されてきた方法である。しかし、ノード間に与えた情報を元に処理を行う手法は 、特定のアプリケーションには扱いやすいが、他のアプリケーションからは扱いにくい ものとなる可能性がある。また、情報の硬直ィ匕を招いてしまう可能性もある。しかし、こ の手法の利点はコンピュータによる情報の自動処理や推論処理を記述しやす ヽと ヽ ぅ禾 IJ点がある。
[0086] ノードとノードの間にリンクノードを配置することによってリンク自体にノードと同じ特性 を与えることが容易に可能となる。つまり、プロパティを保持することや、重ね合わせ 計算処理部 4211による重ね合わせ処理の実行と!/、つたことも、通常のリンク空間の 実装を使用することで容易に実装することもできる。また、ユーザ側力もはリンクノード をリンクとして見せることでより自然にリンクを扱うことができる。リンクに関連情報ゃ特 別な情報を与えるような実装を行う場合でもこのような実装が望ましい。図 26に示さ れるように空間 828にはノード 821とノード 823の間にリンクノード 822が配置されて いる。これを実際のユーザ側に対して空間 829として公開する。この場合ノード 821 はノード 824として、ノード 823はノード 826として表現できる。リンクの形態もリンクノ ード 822からリンク 825として使用されることになる。
[0087] 本情報空間処理装置 4000は、単数、または、複数のコンピュータによって実現され る。図 1に一般的なコンピュータの概略図を示している。本発明は、パーソナルコンビ ユータ、サーバコンピュータ、メインフレームコンピュータ、ネットワークシステム、携帯 情報端末、組み込みマイクロコンピュータなど、あらゆるコンピュータ、および、システ ムに実装可能である。本発明の原理は比較的単純であるため、ストアドプログラム方 式と呼ぶことのできるコンピュータ、または、それを使用したすべてに実装可能である
[0088] 空間データ部 4201における空間の実装方法は無数にある。たとえば XMLで利用さ れる DOM(Document
Object Model)でも、空間の実装をシミュレートすることができる。ネットワーク型データ ベースと呼ばれるものもリンク空間の一実装例ともいうことが出来る。階層型データべ ースは階層空間の一実装例と言える。 RDFもリンク空間を実装した一例であると言え る。ファイルシステムもディレクトリとディレクトリ、ディレクトリとファイルの親子関係によ るリンクで形成された階層空間と言うことができる。
[0089] ノードがプログラム言語によって、メモリ上で実装された場合、 C言語の場合はデータ 部とポインタ部力 成るリスト構造が一般的ある。また、 JAVA (登録商標)言語のよう なオブジェクト指向言語においては、オブジェクトによるリンク構造を作成するのがー 般的である。
[0090] ノードはネットワーク上でも実現することができる。これは、ノードやリンクといったもの がネットワークを流れる信号であっても良 、と 、うことを意味する。
[0091] 図 27のノード図に示される空間を XML形式で作成した場合の実装例を示す。アル ファベットが同じものはお互いに同期しているとする。それぞれのノードは" name"プロ パティど' type"プロパティのみを持つ単純なノードである。それぞれのノード自身の定 義は、図 28にノード A、図 29にノード B、図 30にノード C、のノードを XMLであらわし たものである。これらのノードをネットワーク型のリンク空間とした場合のリンクの定義 が図 31の定義である。これらをリンク空間の一種である階層空間として表現した場合 は、図 32のように表すこともできる。これは親子のリンク関係を XMLの親要素、子要 素として表現したものである。
[0092] ノード、および、空間は、コンピュータ読み取り可能な記録媒体、または、情報通信網 上に実際に存在している必要はない。クエリーやプログラム、計算式などで表現でき る論理的に存在するものもノード、および、空間と呼んでも良い。
[0093] 以下に、論理的に存在する空間について説明する。図 149は単なる情報の羅列であ る。図 149では、ただ単にアルファベットと、そのアルファベットの順番が表示されて いるだけである。ただこの情報に対して、「アルファベットにアルファベット順に番号を 付けて、付けられた数値を大ささとして、 k、 d、 s、 c、 f、 p、 x、 a、 e、 g、 m、 s、 v、 zの川頁 に要素を挿入して 2分探索木の空間を生成する」という計算式を適用すれば、図 150 の様な空間となる。この場合、しかし、空間は計算されるまで実態として存在していな いといえる。このように計算式を利用して、実際に実在していない場合でもコンビユー タ読み取り可能な記録媒体、または、情報通信網上に実際に存在している空間と同 等に使用することができる。
[0094] ノード、および、ノードに結びついたデータの管理方法は無数にある。ノードに全情 報をそのまま格納してもよいが、ファイルシステムによる管理やデータのシリアライズ 化などを使用しても良い。また、リレーショナルデータベースとの連携による実装など も考えられる。プログラム実行時にはメモリ上に空間情報を展開しておき、保存用に 不揮発性の記録媒体に記録することで、情報を永続化させるなども有効な実装であ る。
[0095] 図 33を使用して本情報空間処理装置 4000によるデータのシリアライズィ匕によるノー ド情報の管理の一例を説明する。 910のノード情報を、 911のシリアライズ処理により 、 912のバイトストリームや XML (図 34参照)などに変換し、 913の記録媒体に保存さ れる。 913はファイルシステムでも、ネットワークファイルシステムでもデータベースで も独自のストレージシステムでもよ!/、。
[0096] 図 35を使用して本情報空間処理装置 4000によるリレーショナルデータベースによる ノード情報の管理の一例を説明する。 920、 921はノードである。この実装では、ノー ドのプロパティをリレーショナルデータベース 923のテーブル 922に格納して、プロパ ティによる検索を早めることができる。また、ノードそのものもシリアライズ処理で、テー ブルにデータとして格納することで管理をより容易にすることもできる。ノードの参照 情報をテーブルに格納することも有益である。
[0097] 図 36を使用してプログラム実行時にはメモリ上に空間情報を展開しておき、保存用 に不揮発性の記録媒体に記録することで、情報を永続化させる場合を説明する。空 間プログラム 930が起動している場合、より高速なメモリなどの記録媒体 931に空間 を展開し、演算などを行う。しかし、保存命令時、終了時、または、あるタイミングによ つて不揮発性のコンピュータ読み取り可能な記録媒体 932に空間のデータ記録する ことで、効率的なコンピュータの資源を有効活用する。
[0098] 次に、この情報空間処理装置 4000による空間の分散管理についての説明を行う。
扱う空間が巨大になると一つのコンピュータ、または、一つのプログラム上で管理する ことが困難となる。空間は当然複数のコンピュータ、および、複数のプログラムでも実 現できる。空間の分散管理の実装方法は多数あるが、代表的なものを以下に列挙す る。
• 異なるプログラム間で、ノードを同期として共有する
• 異なるプログラム間で、ノードをリンクさせる
• 以上の手順を組み合わせる。などがある。
[0099] 空間の分散管理は複数のプログラムで空間を管理する。空間の分散管理は一つの コンピュータ上、または、図 2に示すように複数のコンピュータ上にも実装することがで きる。 15はインターネットやイントラネット、無線通信などのネットワーク (情報通信網) を意味する。 10、 11、 12、 13はネットワークに接続されたそれぞれ独立したコンビュ ータを意味している。
[0100]
図 37に示されるようなプログラム間の通信に使用する代表的なものを以下に列挙す る。
手法 1 ネットワーク、ネットワークプロトコルを利用した通信
手法 2 メモリゃノ、ードディスクなど、コンピュータ読み取り可能な記録媒体の共有 による迪 1
手法 3 処理のアドレス呼び出しによる通信
手法 4 プログラム言語のシステム、または、ライブラリ〖こよる通信
手法 5 OSの APIによる通信
などがある。要は、プログラム間で情報の共有、または、伝達を行うことができるもので あるならば良い。ネットワークプロトコルとは OSI参照モデル(OSI reference model)に 一部、または、全体を含めることができるものはすべて含めることのできる概念である 。アドレス呼び出しとは、特定の処理を記述した部分へメモリ上のポインタを使用して アクセスする方法である。これは、 C言語などではコールバック処理と呼ばれるもので も使用されている。また、多くの場合、手法 3、 4、 5は手法 1、 2を用いて実現されてい る。
[0101] 図 38を使用して、異なるプログラム間で、ノードを同期として共有する場合の説明を 行う。 1201、 1202、 1203はプログラムを意味する。プログラム 1201で管理されてい るノード 1210は共有手段 1205によってプログラム 1202でノード 1211として使用さ れている。また、プログラム 1203で管理されているノード 1213は共有手段 1206によ つてプログラム 1202でノード 1212として使用されている。し力し、プログラム 1202か らは 1202によって管理されているかの様に操作することができる。
[0102] 図 39を使用して、異なるプログラム間で、ノードをリンクさせる場合の説明を行う。 123 0、 1231はプログラムを意味する。ノード 1220、 1221をリンク手段 1232によってジン クされている。このようにノードとノードが直接リンクを形成することで、空間を形成して いる。
[0103] 空間の分散管理を使用して、多ユーザによる空間の接続が可能となる。これはインタ 一ネット上で大規模な意味ネットワークの構築を可能する。
以下に図を使用して、論理演算
[0104] ノードに URIや GUIDのようなグローバルに一意なデータ(グローバル識別子)と結び つけることで、ネットワークを介したグローバルなレベルでの空間の重ね合わせ処理 なども容易に実現させることが可能となる。また、同期の情報とグロ一ノ レ識別子を 結びつけることで、同期の実装をネットワーク環境などで実現しやすくなる。
[0105] 空間におけるイベントは、空間の変化、空間への命令、時間的遷移時に対して外部 、および、内部のプログラムにそれを伝える仕組みである。図 40は発生したイベント が外部に伝わる様子を表したものである。コンピュータ 1300上の空間プログラム 130 1で発生したイベントはメッセージ 1310のように内部のプログラムに伝えられている。 メッセージ 1311は外部のプログラム 1302に伝えられている。メッセージ 1312はネッ トワーク空間 1305を走り、他のコンピュータ 1303のプログラムに伝えられる。 [0106] 一つ、または、複数の空間を様々なユーザで共有する場合、セキュリティの問題は無 視できない。このためユーザ別に使用可能な操作を設定できることが重要である。
[0107]
図 41を使用してセキュリティを説明する。ユーザ 1410、 1411、 1412はそれぞれ異 なる権限を持っている。操作 1420、 1421は空間 1430に対する命令を表す。ユーザ 1410は操作 1420、 1421を実行する権限を持っているので実行できる。ユーザ 141 1は操作 1421実行できるが操作 1422は実行できない。ユーザ 1412は操作 1420、 1421を実行できない。このように、使用するユーザによって適用できる命令に制限を 課す。
[0108] セキュリティの権限や制限についてさらに詳しく説明する。ノードやリンクといったもの にセキュリティをかける場合、一般的には、「読み込み」、「書き込み」、「実行」といつ たものに分解できる。読み込みに関する権限は、データの一部、または、全体を読み 込めないようにすることができる。完全に読み込みを不可にすれば、不可視となり存 在していることそのものを隠蔽することも可能となる。書き込みに関する権限は、ノード やリンクそのものや、結びついた情報の変更を禁止することができる。実行に関する 権限は、ノードなどに結びつ 、たプログラムやスクリプトなどの処理を実行できな!/、よ うにすることも可能である。セキュリティはノードやリンクなどの「存在するもの」に付カロ されるだけではない。特定の機能や命令の実行に制限をかけることもできる。例えば 、論理規則や射影化を行うことに対して制限するなどもある。
[0109] 「リンク選択」とはリンク空間において、あるノードから特定の法則に従って空間を選択 する方法である。選択された空間は空間の重ね合わせ処理、論理規則、レイヤーな ど、処理や演算に空間を指定するものに利用すると便利である。選択とは厳密に定 義すると、空間プログラム力 認知されている空間となる。つまり、プログラムがその空 間に対して処理を行えるだけの情報を取得した状態を意味する。
[0110] 「リンク数選択」を利用することで、あるノードを中心に指定された数だけリンクを迪り、 迪つた空間を選択する方法である。
[0111] 以下に図 42Aと図 42Bを使用して、リンク数選択部 4251によるリンク数選択につい て説明する。図 42Aのノード 1500のノードに対してリンク数を 2として、リンク数選択 を実行すると図 42Bになる。図 42Bの破線で示された部分が選択された空間である
[0112] 「階層選択」は階層空間において有効な選択方法である。この方法はリンク関係が親 子関係で構成されていることが前提で使用可能なものである。階層空間の親ノードが 選択されると、その子供ノードまで選択する仕組みである。
[0113] 以下に図 43を使用して、階層選択部 4252による階層選択について説明する。図 43 の 1520、 1521、 1522、 1523はノードであり、 1510、 1511、 1512、 1513は空間 である。このとき 1520のノードにおいて階層選択が実行されるとき、 1510の空間が 選択される。同様に 1521のノードの場合は、 1511の空間が選択され、 1522のノー ドの場合は、 1512が選択され、 152のノードの場合は 1513の空間が選択される。
[0114] 空間フィルタリング部 4253は、「空間フィルタリング」を使用することで、選択された空 間に対してフィルタリング処理を行い、空間の中のより必要とされる部分を抽出するこ とができる。フィルタリング処理は選択するものかどうかを判定する部分が必要である 。この部分にノード判定式を利用する、単純なものから、複雑なノード計算式までフィ ルタリング処理に利用することができる。
[0115] データ取得部 4210が空間をコピーする場合、大きく分けると 3つのコピー方法が存 在する。以下に 3つのコピー方法を列挙する。
方法 1 すべてのノードを同期としてコピーする
方法 2 すべてのノードを実体としてコピーする
方法 3 特定のノードを同期としてコピーして、残りを実体とコピーする
などがある。方法 3では特定のノードを同期としてコピーするが、実際はリンク選択や フィルタリング処理により、特定したノードのみを同期としてコピーするのが一般的で ある。
[0116] 本発明において、「ノード計算式」とはノードに関係する情報を取得、または、使用し て、計算する手順を定義したものである。ノードに結びついた情報とは以下に列挙す るものが代表的である。
• ノードの同期点の情報
• ノードのプロパティの情報 • ノードが保持する特定のプロパティの値、または、結びつ 、た資源の情報
• ノードタイプに関する情報
• ノードのリンクに関する情報
• ノードに直接結びつかな!/、 (独自の付加情報、レイヤーの情報、ログデー タなど)情報
これらを使用することで、ノードに関して様々な分析を行うことが可能となる。どのよう な計算を行うかは分析したいデータや求めたい情報によって異なる。
[0117] 「ノードの同期点の情報」を使用することで、特定のノードの同期点かどうかといった 事や、空間に特定のノードの同期点はいくつあるのかといつたことを知ることができる
[0118] 「ノードのプロパティの情報」とはノードがどの様なプロパティを保持している力、ノード のプロパティにはどの様な情報を格納できるかといつたプロパティの定義に関する情 報のことである。
[0119] 「ノードのリンクに関する情報」とは、ノードに対してリンクはいったいいくつあるのか、 ノードのリンクは双方向かといった情報である。
[0120] 「ノード判定式」とはノード計算式で使用されるような、ノードに関係する情報を使用し て計算する手順を定義したもので、ノードが求めるものか、そうでないかを判定する式 のことを言う。ここには、単純にプロパティの値が特定のものかどうかといつた単純なも のから、より複雑なノード計算式を使用して答えをもとめるものでも良い。実際の実装 では、スクリプト言語やプログラム言語でノード判定式が定義することができるようにす るのが一般的であろう。外部、または、内部のプログラムによるノード判定式の実装も 有効である。
[0121] 図を使用して、本情報空間処理装置 4000が使用するノード計算式、ノード判定式が いかなるものかをいくつかの例を示して説明する。図 44において、ノード 1616の詳 細な定義が 1601となる。ノード 1616に対してノードのプロパティの値を使用した計 算の例を図 45の表に示す。
ノード 1616に対してノードのプロパティ、ノードタイプ、リンクの情報を使用した計算 の例を図 46の表に示す。図 47のノード 1621とノード 1622はお互いに同期している 。このとき、同期点情報を使用した計算の例が図 48の表に示される。
[0122] 次に、等価評価部 4215による「等価評価」について説明する。等価とは同じであるこ とを意味し、等価評価とは同じであるかどうかを判定することを意味する。何をもって 等価とするかは、空間を使用する状況において変化する。ノード計算式で使用される ような、ノードに関係する情報を使用して、評価するのが一般的である。ノードに結び ついた情報を、そのまま比較して等価かどうかを判定する方法や、より複雑なノード 計算式をプログラム言語やスクリプトで定義して判定するなど多岐にわたる。以下に 特に重要と思われるものを列挙する。
• ノードの同期点が同じもの(お互いに同期しているもの)を等価とする。
• ノードで定義された特定のプロパティの値が同じであるものを等価とする。 特に同期しているもの同士を等価とする同期点等価評価は重要である。これは、同 期しているもの同士は本質的に同じものであるからである。同期しているものを等価と して計算することは自然なことで、使用される場面も非常に多いと思われる。
[0123] 等価かどうか比較するそれぞれのノードにノード計算式を適用し、ノード計算式の結 果が同じものや、近いものを等価とするなども一般的な手法である。
[0124] 図を使用して、等価評価部 4215によるプロパティ、ノードタイプを使用した等価評価 を具体的に説明する。図 49には二つのノード 1701、 1702が定義されている。この 二つについてプロパティ、および、ノードタイプを使用した様々な等価評価を適用し た場合の一例を示した結果表が図 50である。さらに例を挙げると、プロパティ 1715と プロパティ 1725の値を、テキストマイニングや構文解析によって解析して等価なのか どうかを判定するなどがある。
[0125] 図を使用して、同期点、リンクを使用した等価評価を具体的に説明する。図 51のノー ドで同じアルファベットが降られたノードはお互いに同期している。つまり、ノード 173 0、 1731、 1732ίまお互!ヽ【こ同期しており、ノード 1735、 1736も互!ヽ【こ同期して!/ヽる 。ここで、同期点の情報と、リンクの情報を使用して、等価評価を適用した場合の一例 を示した結果表が図 52である。
[0126] ノードの外部のデータを使用して、等価評価を行う方法もノードに関係するデータを そのまま、あるいは計算してその結果を比較する方法が一般的である。 [0127] 等価の仕組みをどのように実装するかは空間プログラムの実装者に任せられる。また 、何をもって等価とするかは、空間の使用される状況、および、設計によって千差万 別であるのでその状況に応じた仕組みを提供することが望ま 、。この等価評価部 4 215による等価評価は重ね合わせ処理や論理規則で特に重要な概念である。空間 プログラムを使用して、情報を分析する場合、等価評価の判定基準を変えることで、 様々に視点を変えることができる。そのため、空間プログラムのユーザがスクリプト言 語やプログラム言語、外部プログラム等で等価評価を柔軟に拡張することができる仕 組みが提供されていることが望ましい。特に、等価評価を複雑な構文解析やデータ マイニングを通じて行う場合、外部プログラムと連携して等価評価を実行する仕組み は、実装のしゃすさやの向上や、第三者による等価評価の提供や拡張を容易にする 。等価評価は比べる 2つのノード、または、ノード情報を渡して、同じかどうかの判定 や計算処理用の情報を渡すだけでも良いので外部に記述することは比較的容易で ある。
[0128] 重ね合わせ計算処理部による空間の「重ね合わせ処理」とは、ノードを比較する比較 評価を使用して、複数の空間から情報を抽出することにある。この処理を使用するこ とによって、様々な情報を浮かび上がらせることができる。比較評価の仕組みとして 利用されるものは等価評価部 4215による等価評価が最も重要である。本発明では、 等価による重ね合わせ処理を「等価重ね合わせ処理」とも呼ぶ。
[0129] 論理演算計算部 4220による空間の「論理演算」は、ある特定のノード、または、空間 を使用して行われる重ね合わせ処理の一種である。この演算は空間の情報を論理演 算用の真偽値表であらわして真偽値表同士で論理演算を行う方法が一般的である。
AND (論理積), OR (論理和), XOR (排他的論理和), NOT (否定論理積), NAND ( 否定論理積), NOR (否定論理和) ,XNOR (排他的論理和の否定)とすべての演算が 可能である。基本的にこの演算は空間に含まれるノードに対しての情報、および、真 偽を返す。
[0130] 論理演算において何を真として、何を偽とするかは重要である。一般的なものは、等 価評価で等価と判断されるノードの数が、任意の指定された範囲であるのか、どうか で真偽を決定する方法である。例えば、等価な数が 1以上のものを真、それ以外を偽 とするなどである。これらの値はユーザが状況によって指定できる実装が良い。また、 空間によって指定される数を変えて計算することもできる。
[0131] また、論理演算において重み付け処理などの結果スコアを元に真偽を決定する方法 も重要である。例えば、あるノードに結びついた重み付け処理のスコアが 1以上、 10 以下が真でそれ以外を偽として計算するなどである。
[0132] 以下に図を使用して、論理演算計算部 4220による空間の論理演算の実装例を解説 する。図 53の丸はノードで中に数字が割り当てられているもの力 空間の演算対象と なっている。数字の意味は、等価となるものを同じ番号であらわした等価番号である。 この例では、二つの空間 1800、 1801は共に等価な数が 1以上のものを真とする。つ まり、存在するものは空間単位ですベて真となる。空間 1800を論理表に置き換えた 真偽値表が図 54に示され、空間 1801を置き換えた真偽値表が図 55である。論理演 算を AND演算の使用で、詳細に説明すると図 56のようになる。図 56に示されるよう に、本実装ではそれぞれの空間に存在しないもの(なし)は、偽として演算されている 。図 56でも示されるように、真偽値表に置き換えた時点で通常の論理演算と同じ真 偽値が結果として返ってくる。同様に、空間 1800と空間 1801を論理演算した場合の 結果が図 57の AND演算、図 58の OR演算、図 59の XOR演算、図 60の NAND演 算、図 61の NOR演算、図 62の XNOR演算に示されるような結果となる。
[0133] 当然、真偽値の計算は単に空間を真偽で表したもの同士とは限らない。ビットマスク を適用したり、演算の結果同士を論理演算したり、特定の部分に NOT演算を適用す ることも当然行うことができる。
[0134] 以下には、論理演算の指定数を様々に変化させた場合の真偽値表を示す。空間 18 00を等価な数が 2以上のものを真、それ以外を偽として、真偽値表として置き換えた 場合図 63の結果となる。
[0135] また、ノードに結びついた情報が一定の基準を満たす場合に真、そうでない場合は 偽とするなどがあります。例えば、重み付け処理で求めた重みが特定の範囲の値で あるかどうかで、真偽を決めるなどである。具体的に言えば、重ね合わせ処理の結果 のスコアが 5から 10の間を真で、そうでない場合は偽にするなどである。
[0136] 重み付け計算部 4221による空間の重み付け処理は、ノードの比較評価を使用した 検索で、一つ、または、複数の空間力もデータの重みを求めるものである。比較評価 の仕組みとして利用されるものは等価評価が最も重要である。本発明では、等価評 価による重み付け処理を「等価重ね合わせ処理」とも呼ぶ。また、ノード同士を比較し て重みを求める比較検討処理による重み付け処理を「比較検討重ね合わせ処理」と 呼ぶ。
[0137] 重み付け計算部 4221による等価重み付け処理は、ある特定のノード、または、空間 に対してノードの等価評価で等価とされたものの重複数を数え上げて演算を行う。通 常、重み付け処理にぉ 、てこの重複数は情報に対する重要度とも捉えることができる 情報である。通常、重み付け処理は、図 65に示されるように、求めた重み (スコア)と 等価なノードに関する情報を返す。
[0138] 空間に併合化処理を適用することで、空間の設計により大きな自由度を与えることが できる。併合ィ匕とは空間に存在する等価なものを併合、つまり、まとめ上げる処理を 言う。具体的に言えば、ある空間に 6個の等価なものが存在するときにそれを 2つにし てしまうなどである。併合化処理でも特に重要なものは一意化処理である。
[0139] 以下に併合化処理を図を使用して説明する。図 151の空間 6101に対して、等価な ものを最大 2個にすると 、う計算処理を行うとする。この処理の結果は図 151の表 61 021に示されるようになる。つまり、併合化とは重複するものをまとめ上げるて計算す る処理であるといえる。
[0140] 一意化処理とは、空間それぞれの空間で等価なものが複数ある場合、これを重複数 1とみなす処理である。たとえば、等価評価部 4215によって等価と評価されたノード については、それぞれの空間で 1つのノードとして数え上げる。
[0141] 重み付け計算部 4221による空間の重み付け処理は、重み付けの値を状況に応じて 変化させることができる。これを特に、優先度調整と呼ぶ。この機能によって、重み付 け処理の使用時に意味の調整が可能となる。たとえば、空間またはノードに応じて、 数え上げたノードの数力 重みを決定する際の依存関係を変化させる調整などであ る。
[0142] 図を使用して、重み付け計算部 4221による一般的な空間の等価重み付け処理と一 意化処理を使用した重み付け処理の具体例を図によって説明する。図 64に示される 3つの空間における重複数の数え上げを示す。 3つのノード図でアルファベット a、 bが 打たれたノードが重み付け検索において検索のため選択されたノードであるとする。 それぞれの空間の aノード 1901、 1902は等価同士で、 bノード 1903、 1904、 1905 、 1906も等価同士であるとする。
[0143] 以下は、等価重み付け処理を使用した具体例を示す。空間 1910と 1911と 1912と 1 913の重み付け検索の結果は図 65に等価ノードの列挙と重み (スコア)として示され ている。空間 1910は aノードのスコアが 1、空間 1911は aノードのスコア力 1で bノード のスコアが 1、空間 1912は bノードのスコア力^として計算される。よって 3つの空間の 加算による重ね合わせのスコアは aノードのスコアが 2、 bノードのスコアが 4となる。以 上の様に計算時に空間における等価評価のノードをそのまま数え上げる。
[0144] 以下に、重み付け計算部 4221による一意化処理を使用した重み付け処理の具体例 を示す。空間 1910と 1911と 1912の重み付け検索の結果は図 66に等価ノードの列 挙と重み (スコア)として示されている。空間 1910は aノードのスコアが 1、空間 1911 は aノードのスコアカ^で bノードのスコアが 1、空間 1912は bノードのスコアが 1として計 算される。よって 3つの空間の加算による等価重み付け処理のスコアは、 aノードのス コアが 2、 bノードのスコアカ^となる。このように空間 1912で bノードのスコアが 1にマー ジされている。
[0145] 重み付け計算部 4221は、通常の重み付け処理と、一意化処理を使用した重み付け 処理は、当然組み合わせて使用することができる。例えば図 64の場合、空間 1910と 空間 1911と空間 1912の重み付け処理の場合、空間 1910、 1911は重み付けで計 算して、空間 1912は一意化処理を適用して重み付けで計算するなどが可能である。
[0146] 以下に図を使用して、優先度調整を説明する。図 64の空間 1910、 1911、 1912の 等価重み付け処理にぉ 、て 1912全体の優先度を二倍にしたとき、計算時の 1912 のスコアは bノードが 6となる。その結果、最終的に、加算による等価重み付け処理の 計算結果は図 67に示されるように、 aノードのスコアは 2、 bノードのスコアは 7になる。 以上の様に、優先度をノード、または空間に対して状況に応じて変化させることで、 重み付け処理に柔軟性を与えることができる。
[0147] 一意化処理の計算方法について説明する。等価となるノードが一つの空間に複数あ る場合、強制的に重みを 1にしてしまうと優先度に関する情報が失われてしまう可能 性がある。よって一意化処理の適用方法は、重み付け処理を行った後、等価となるノ ードの数で割る方法が良い。この方法であるなら、優先度調整と一意化処理を共存さ せることができる。実際に実装する場合は、強制的に重みを 1にする方法と、重みを 等価となるノードの数で割る方法の両方を異なるものとして実装するものが良い。
[0148] ノードや空間に対して、優先度に関する情報を付加し、検索時に優先度調整を使用 しなくても優先的に重み付け処理時に浮かび上がらせる事ができる優先度付加を利 用することは有効である。
[0149] 重み付け処理を行う場合、特定のノードからの距離により優先度を調整して重みを計 算する「距離優先度方式」も有効である場合がある。図 68では、破線で示された部分 が重み付け処理の対象となる空間であるとする。ノード 1991を基準として「1Zリンク の距離 + 1」の式をそれぞれの空間の重みとして適用したものである。また、図 69 はリンクの距離が離れるごとに 0になるまで 0. 25を引いていくとという手法である。こ のように、リンクの距離に応じて重みを様々な方法で調整している。距離優先度方式 を使用することで、空間の位置的な情報で重みを変化させることが可能となる。
[0150] 図 70を使用して、より詳細に等価重み付け処理を説明する図 70の空間 1971、 197 2、 1973の重み付け計算部 4221による等価重み付け処理を行う場合の説明を行う 。等価重み付け処理の結果が図 71の表に示される。図の式は値を導く過程を示した もので、「=」の右側が求める値である。それぞれの空間の重みは「1971のスコア」、 「1972のスコア」、 「1973のスコア」に示されている。「1971のスコア」をオペランド" x "、「1972のスコア」をオペランド,,y"、「1973のスコア」をオペランド" z"とする。「計算 1のスコア」は "X + y + z"の加算による計算である。「計算 2のスコア」は" X
+ y - z"となり、 "X + y"から "z"を除外するという意味になる。「計算 3のスコア」は" x + y + 2 * z"となり、 "z"の概念をより強調した加算による重み付けと言える。「計算 4の スコア」は等価番号が a、 b、 cのものは" x +y+ z"となり、残りは" X
+ y + 2 * z"として計算されている。「計算 5のスコア」は,, X + y * y + z"となり、,,y"に 二乗の計算を行うことで' y'の値の増加が大きく結果に影響する重み付けと言える。
[0151] このように、様々な計算のオペランドとして重みを使用することでより緻密で複雑な重 み付けを行うことが可能となる。
[0152] フィルタリング部 4223による重み付け処理の「フィルタリング処理」は、演算処理部 42 16 (論理)演算計算部 4220等)で得られた結果を特定の条件で絞り込み、その結果 を重ね合わせ計算処理部 4211の結果として出力する処理部であり、重み付け処理 によって得られた値をさらに絞り込んで出力するものである。この処理によって結果が 大量で、情報が大きすぎて扱えない場合などに情報を絞り込むことができるので有効 である。図 72にフィルタリング処理のイメージ図を示す。
[0153] ノード判定式を利用し、必要なものとそうでないものを選別するフィルタリングは有効 なフィルタリング処理である。この機能によって特定のプロパティを保持したものだけ を残すなどのフィルタリング処理が可能となる。また、論理演算の真偽の結果を使用 して、フィルタリング部 4223によるフィルタリング処理を行うことも有効である。
[0154] 加工処理部 4224による「重みの加工処理」を使用することで、重み付けの処理結果 に対して、重みの変更を行うことも有効である。この処理は重み付けの計算結果を分 祈して、変更を加えるものである。重みの変更とは、重みに値を加算することや、より 複雑な演算式のオペランドとして使用されて新たな結果を導き出すことを言う。具体 的言えば、ノード判定式を使用してノードが特定の条件を満たすものや、論理演算を 使用して真になるものだけに重みに 5を足すなどの処理を行う。
[0155] 重ね合わせ計算処理部 4211による空間の重ね合わせ処理において、リンク構造を 考慮しなければ結果には影響しない。つまり、図 64で使用した空間 1911は、図 73 の無形空間 1915で重み付け処理を行っても、リンク構造を考慮しなければ同じスコ ァが導かれる。
[0156] 空間の重ね合わせ処理において、独立空間ノードの扱いは少々あいまいである。こ れは独立空間ノードが、空間としての機能と、複数のノードを含んだ単なるノードとし て捉えることもできるからである。よって、独立空間ノードを空間として捉えた場合、ノ ードとして捉える場合、その両方を組み合わせるといった実装が実現されるのが良い
[0157] 図 74を使用して、重ね合わせ計算処理部 4211による独立空間ノードと空間の重ね 合わせ処理について説明する。図 74において、 1920がノードで、 1921は独立空間 ノードである。この場合、 1921aのように空間として重ね合わせ処理する場合と、 192 lbのようにノードとして重ね合わせ処理を行場合がある。空間として処理された場合 は、独立空間ノードの内部のノードも計算対象となる。
[0158] 重ね合わせ計算処理部 4211は、独立空間ノードを含む空間の等価重ね合わせ処 理を行う。図 75の空間 1985と空間 1986の重み付け処理を行う。独立空間ノード 19 81、 1982はお互いに同期している。この時、独立空間ノードをノードと空間の両方 の見方で等価重み付け処理を行った結果が図 76の「加算のスコア」項目である。等 価番号 Aの部分がノードとして処理を行った部分である。
[0159] 効率的な重ね合わせ処理の計算を使用することは重要である。以下に重ね合わせ 計算処理部 4211による効率的な重ね合わせ処理の計算方法につ!、て考察する。 図 77のステップ図に効率的な検索処理の大まかな手順が記されている。ステップ S1 01では空間のノード、および、重ね合わせ処理に必要なノード情報をデータコンテ ナヘ展開しソート済みの状態にする。データコンテナとは C+ +言語ではコンテナ、 J ava (登録商標)言語ではコレクションと呼ばれるものなどである。通常、データコンテ ナは内部にメモリの資源領域、リスト構造、ツリー構造、ハッシュ構造などを備えてい る。この、データコンテナは格納後にソート処理を行ってソート済みの状態すると良い 。内部にツリー構造やハッシュ構造のデータ格納領域を備えたコンテナを使用して、 格納時にソート状態で情報を取り出すことができるものでも良い。これは一般的に C + +言語では連想コンテナとよばれるものである。さらにステップ S102ではソート済 みデータコンテナに対して、走査をしながら計算とマージ (併合)処理を行って最終 的な結果を出力する。ここで、ソート済みデータコンテナを使用することで、それぞれ のデータコンテナに対して、一度の走査処理でステップ S102の計算を行うことが可 能であるので、この処理のコストは線形時間で処理を行うことが可能となる。
[0160] データコンテナに対してソート処理をする場合のソート基準としては、重ね合わせ処 理で使用される等価評価で等価と判断とされるものが隣同士になるような形であれば 良い。
[0161] 以下に図 78を交えて有効な実装の詳細について解説する。図 78は 3つの空間の重 ね合わせ処理を行う場合のアルゴリズムの実装を表す。まずは処理 1950によって空 間のノード、または、ノードの情報をデータコンテナへ格納する。データコンテナで処 理 1951のソート処理を行う。処理 1950、 1951の部分は連想コンテナを使用すれば 一つにすることもできる。処理 1953でデータコンテナに走査を行い、空間単位での 重み付けの計算、優先度や一意重み付け処理の計算を行いつつ、結果をマージ処 理で結合している。
[0162] 以下に、マージの部分をより詳しく説明する。図 79には二つのソート済みデータコン テナ力も計算結果を導き出す部分を示して 、る。図 79のデータコンテナの数字はノ ード、または、ノード情報を意味し、同じ番号のものは等価評価で等価と判断されるも のである。この場合データコンテナ 1とデータコンテナ 2を交互に走査を行 、ながら計 算処理をして結果として出力している。走査による計算も、等価となるノード、または、 ノード情報が隣同士で並んでいるため、走査しながら計算し、等価でない部分にコン テナ内で達したときにマージ処理の走査の切り替えを行えば良い。
[0163] 論理演算計算部 4220による論理演算を実行する場合、走査を行いながら真偽を計 算する。図 80にはデータコンテナを走査している様子が図示されている。同じアルフ ァベットのものは、等価なノード、または、ノード情報を意味する。これを 2つ以上等価 なものを真、それ以外を偽として計算すると図 81で示されるような表となる。
[0164] 重み付け計算部 4221による重み付け処理を実行する場合、走査を行いながら、数 え上げ、一意化処理、優先度調整の計算を行う必要がある。こういった処理を一つ、 または、複数のデータコンテナで線形走査しながら計算し、計算結果をマージ処理 の応用で結合していく。以下に図を一意化処理を利用した重み付け処理で、かつ、 ノード cの優先度を二倍にした場合の計算結果を図 82に示す。
[0165] ノードに格納された情報自体が抽象的なデータである場合、等価評価を使用したも のよりも処理のコストは大きくなる力 ノードを比較検討することで重みを求める「比較 検討処理」を行うことも有効である場合がある。抽象的なデータとはノードの情報がテ キストベースの情報や、マルチメディアである場合などである。単純な等価評価による 重み付けは、同じ力どうかというハツキリとした基準を使用するため、抽象的な内容を 考慮する等価評価である場合は、処理の結果は不安定で処理の実行者の期待する ものとのずれが生じる場合がある。また、ノードが空間の中で理路整然と整理されて V、な 、場合にも比較検討処理は有効である。
[0166] 以下に例を使用して、抽象的な内容を考慮する等価評価について考える。 今日、ヤンキースの松井は 3安打 5打点の活躍であった。
2.
ドジャースの野茂は被安打 7ながらも無失点に抑え 3勝目を上げた。
3.
阪神タイガースは今年優勝できるのであろうか。
4.
今年の高校野球の注目選手は東北高校のダルビッシュ投手である。
5.
サッカー日本代表はワールドカップでどこまで 、けるのだろう力。
これらの様々な等価にっ 、て列挙する。 これらはどれもスポーツに関するものであるのですべてを同じであるとみなす
2.
5以外は野球に関するものなので、 1、 2、 3、 4の文書を等価と見なす。
3.
1、 2、 3がプロ野球に関する事なので等価である。
4.
1、 2がメジャーリーグに関することで、等価である。
5.
3、 4が日本の野球に関することなので、等価である。
このように様々な等価が考えられ、特定の物だけを選択するのは手間であるし、難 い場合がある。どの等価評価を使用するかによって結果も大きく変化する。また、重 み付け処理において空間全体に含まれる抽象的な内容の意味を考慮した処理を行 いたい場合などもある。
[0167] このように等価評価だけでは扱いにく!、場合、比較検討部 4217を利用した重み付け 計算部 4221による「比較検討重み付け処理」を行うことが有効な場合がある。例えば 、同じであるなら重みは 10、かなり似ているのであれば重みは 8、似ているのであれ ば重みは 6、少し似ているのであれば重みは 4、ほとんど似ていないのであれば重み は 2、全く似ていないのであれば重みは 0というように比較して重みを求める。実際の 比較時にそれぞれの重みをどのようにするかは実装者に任せられる。
[0168] 本発明において、比較検討処理を利用する空間の重ね合わせ処理を特に、「比較 検討重ね合わせ処理」と呼ぶ。つまり、ノードとノードとの比較により重ね合わせ計算 をする処理である。そのなかで、重み付け計算部 4221による重みを求める処理を「 比較検討重み付け処理」と呼び、論理演算を行い、真偽値を求める処理を「比較検 討論理演算」と呼ぶ。
[0169] 比較検討重み付け処理により求められた重みは、論理演算として利用する比較検討 論理演算や、空間単位で四則演算を行う比較検討重み付け処理などとして利用する ことちでさる。
[0170] 重み付け計算部 4221による比較検討重み付け処理について説明する。代表的なも のは様々な比較検討処理で求められた重みをオペランドとして四則演算を使用して 計算を行うことである。一般的なものは、等価評価の基準で四則演算を行うものであ る。
[0171] 次に、重み付け計算部 4221による比較検討重ね合わせ処理の計算方法である、「 全比較型」、「外比較型」、「内比較型」について説明する。全比較型は比較演算の 対象の空間をすべてとするもので、外比較型は外部の空間とだけ比較演算を行うも ので、内比較型は内部の空間だけで比較演算を行うものである。
[0172] 以下に図を使用して重み付け計算部 4221による全比較型の説明を行う。図 136の 二つの空間 5001、 5002で全比較型の比較検討重み付け処理を行う。それぞれの ノードを比較した場合のスコアの対応表は図 137になる。計算の結果は図 138の「全 比較型のスコア」で示されて 、る。全比較型はすべてのノードを比較するものである。 例えばノード aについて考えてみる場合、 a以外のすべてのノードと比較を行いスコア をまとめる。具体的な計算は、単純なスコアの加算の場合、「3 + 2 + 2+4 + 1 + 3 + 9 + 3 + 2+ 1 + 1」となりスコアは 31となる。 [0173] 以下に図を使用して重み付け計算部 4221による外比較型の説明を行う。図 136の 二つの空間 5001、 5002で外比較型の比較検討重み付け処理を行うとする。外比 較型は外部の空間とだけ比較演算を行う。つまり、空間 5001に含まれるノードは空 間 5001の他のノードとの比較は行わず、空間 5002のノードとだけ比較を行う。逆に 空間 5002のノードは空間 5002の他のノードとの比較は行わず、空間 5001のノード とだけ比較を行う。このようにして計算した結果が図 138の「外比較型のスコア」に示 されている。例えばノード aについて考えてみる場合、空間 5002のノード h、 i、 j、 k、 1 と比較を行う。具体的な計算は、単純なスコアの加算の場合、「9 + 3 + 2+ 1 + 1」と なりスコアは 16となる。
[0174] 以下に図を使用して重み付け計算部 4221による内比較型の説明を行う。図 136の 二つの空間 5001、 5002で内比較型の比較検討重み付け処理を行うとする。内比 較型は空間同士を比較するのではなぐ空間内部のノード間で比較を行う。つまり、 空間 5001に含まれるノードは空間 5001のノードとだけ比較を行い、空間 5002に含 まれるノードは空間 5002のノードとだけ比較を行う。例えばノード aについて考えてみ る場合、 aは同じ空間 5001のノード a、 b、 c、 d、 e、 f、 gと比較を行う。具体的な計算は 、単純なスコアの加算の場合、「3 + 2 + 2+4+ 1 + 3」となりスコアは 15となる。
[0175] 全比較型、外比較型、内比較型の特徴を対比させて説明する。全比較型は重み付 け計算部 4221が空間全体を使用して比較を行う。そのため、処理としては全体とし て特徴的な情報が導き出される。外比較型は重み付け計算部 4221が外部の空間と のみ比較を行う。そのため、外比較型は複数の空間の関係において重要なものを取 り出すという意味合いがある。例えば、図 139に示されるように、巨大な空間 5012と、 小さな空間 5011で比較検討重み付け処理を行う場合に、全比較型と外部比較型の 特性の違 、が明確になる。全比較型は全体として重要な情報を取得する傾向がある ため、小さな空間の特性は巨大な空間に埋もれてしまうことがある。しかし、外比較型 であるならば、両方の空間の特徴的な部分が特徴として抽出できるのである。内比較 型は内部の空間だけで比較を行うものであるので、他の空間の影響は受けない。こ れは、それぞれの空間の特徴的な部分を取り出すことができる。これは、比較検討重 み付け処理の単体として利用するよりも比較検討論理演算などに利用する使用方法 が通常であると言える。
[0176] 重み付け計算部 4221による選別比較型について説明する。選別比較型とは比較す るかどうかについてノード判定式を利用して決定する方法である。つまり、特定の条 件を満たした場合、比較検討処理の計算を行い、そうでない場合は無視する方法で ある。例えば、ノードのプロパティに特定の情報が格納されている場合のみ比較を行 い、それ以外は無視するなどである。
[0177] 重み付け計算部 4221による比較検討重み付け処理の計算は加算によるものだけと は限らない。比較検討重み付け処理の重みは、計算のオペランドとして様々な計算 を行うことができる。
[0178] 以下に例を使用して、重み付け計算部 4221が異なる比較形式を持つ比較検討重 み付け処理の結果を計算のオペランドとして計算を行う場合について説明する。図 1 40にある 4個の空間を使用して重み付け計算部 4221が比較検討重み付け処理を 行う。ここでは空間 5201の情報について結果を求めるものとする。比較時のスコアは 図 137に従うものとする。ここでは、空間 5201、 5202の全体として特徴的なものが重 要で、さらに、空間 5203と関係が深いものは特に重要で、空間 5204と関係が深いも のは除外すべきものという意味の計算を行うと仮定する。この場合、重み付け計算部 4221は、空間 5201、空間 5202で全比較を行い、かつ、空間 5203で外比較で 2倍 の値の加算を行い、さらに、空間 5204で外比較を行いその値を減算する計算を行う ことで求めることができる。この計算による結果は図 141にある表に示される。図 141 には実際に行われる計算の式と結果が格納されている。例えば「5201と 5202の全 比較」項目では、「2+ 1 + 9 +4 + 3」の部分が計算で、「19」が最終的な結果となる。 この場合、空間 5201と空間 5202の全比較を x、空間 5201と空間 5203の外比較を y、空間 5201と空間 5204の外比較を zとすると、この計算は「x+y * 2— z」という式 で表すことができる。このように、比較検討処理の重みも様々な計算によってさらに有 効に利用されるのである。
[0179] 比較検討重み付け処理を行う前、または、後に空間のノードを特定の等価評価で一 意化してから計算する一意比較検討処理を行うことができる。このなかで特に重要な 等価評価は同期点等価評価である。同期しているということは、情報が同じ実体であ ると言うことができる。同じ実体を一つと見なす事は情報の重複をなくす、または、軽 減するという意味がある。
[0180] 比較検討重み付け処理は複雑な処理が必要になる場合がある。これは、信頼できる 結果を返すには様々な解析処理やデータマイニングなどを駆使する必要が出てくる ためである。そのため、この部分を外部力 処理を行うなどの拡張ができるように実装 することが望ましい。例えば、スクリプトやプログラム言語 4240を使用することや、外 部プログラム 4241、または、内部のプログラムやシステムを使用するなどである。
[0181] 重み付け計算部 4221による比較検討重み付け処理は、空間の規模が大きくなれば 計算に大きな時間がかかる。一つの空間に存在するノードの数力 S"n"であるとすると 、二つの空間の全比較による比較検討処理は" O (n X n) "回の比較を行う。つまり、 オーダーは nの二乗である。さらに、空間の数が多数であったり、比較の処理自体の コストが高力つたりする場合はさらに大きな計算コストがかかってしまう。このため、重 み付け計算部 4221は、多少の精度の低下が起こる可能性があるものの、等価評価 の基準でノードを分けて等価と判定されたノード同士で比較検討重み付け処理を行 う「等価絞り込み比較検討重み付け処理」を使用することで、計算速度を速めることは 有意義であると言える。
[0182] 等価絞り込み比較検討重み付け処理では、比較時に大きなスコアにならないものが 等価ではない等価評価を使用するものが良い。これは、比較時に小さなスコアにしか ならないものを除外しても結果に大きな影響は与えにくいためである。
[0183] 以下に重み付け計算部 4221による「等価絞り込み比較検討重み付け処理」を図 14 2を使用して一例を説明する。図 142の空間 5401aと 5402aを使用して全比較型の 比較検討処理を行う場合、使用されるノードの合計は「9 + 8」で 17となる。このため 通常行わなければならない比較の回数は「17 X 16 + 2」回。つまり、 136回は行う必 要がある。しかし、等価絞り込みを行うことで比較回数を減らすことができる。ある特定 の基準の等価評価で図 142の空間を見た物が図 143である。ノードの同じアルファ ベットを振られたノードが等価と判定されたノードである。これらの等価なものだけで 振り分けたものが図 144である。図 144のような等価なノードだけで比較による計算を 行う場合、空間 5405については「6 X 5 + 2」回であり、空間 5406では「5 X 4 + 2」回 であり、空間 5407では「6 X 5 ÷ 2」回である。これらを合計すると 40回となる。つまり、 この場合は、等価評価による分類によるコストは掛力つてしまうものの、単純な比較検 討処理の 3分の 1以下の比較回数で済むことになる。重み付け処理の応用として、統 合計算演算部 4222による「重み付け統合計算」がある。これは、複数の重み付け処 理の結果を統合して、再計算する方法である。
[0184] 統合される重みは、様々なタイプの重み付け処理同士で行うことができる。例えば、 等価重み付け処理と比較検討重み付け処理などである。また、重み付け統合計算の 結果であっても良い。要は、ノードに重み情報が結びついていれば、重み付け統合 計算は可能である。
[0185] 重み付け統合計算を行う利点は、単純な重み付け処理では分力もな力つたデータを 導くことができるので、より深い分析用のデータを生成できる。重み付け処理のスコア は重要度を表す尺度として捉えることができる。スコアを加算することで、特定のノー ドが複数の等価評価や、比較検討で重要なものであるかどうかと 、つたことも推測で きる。さらに、特定の等価評価のスコアで減算を行うことで、その等価評価や、比較検 討を除外するような意味を持たせることもできる。さらに、複雑な計算を組み合わせる ことで、微妙な意味合 、の統合計算を行うことが可能となる。
[0186] 以下に統合計算演算部 4222による統合計算の手順について説明する。図 145の 空 f¾5611、 5612、 5613のノードに重み力結びつ!/ヽて!ヽる。重み ίま、重ね合わせ処 理の結果導かれたものでも、そうでなくても可能である。振られているアルファベット はある等価評価で等価と判定されるものである。
[0187] 統合計算演算部 4222による統合計算は等価評価の基準で計算できる。統合計算 は複数の方法で求められた重みを統合する処理である。ここでの統合とは特定の基 準でまとめることを意味する。その重みを統合する基準が等価評価である。また、どの ような等価評価でも使用することができ、無数にある等価評価のどれを使用するのか 決定するのはケースバイケースといえる。
[0188] 以下に統合計算演算部 4222による重み付け統合計算の計算パターンを説明する。
まず、図 145の 3つの空間を統合する場合について考える。図 145において同じァ ルファベットが割り振られて 、るノードは等価評価で等価と判定されるものである。ま た、割り振られている数字は重みを表している。たとえば、ノード 5615には重み 6が 結びついている。ここで、この 3つの空間を足し合わせてあらたな結果を導くとする。 この場合の結果は図 146に示される。統合計算演算部 4222による計算の手順を見 るためにノード aについて計算の順を追って説明する。ノード aは空間 5611、空間 56 13に存在する。それぞれを足し合わせる計算は 6 + 8で 14が答えとなる。このように 統合することで、複数の重みをまとめて一つの結果にすることができる。
[0189] さらに、同一の空間の重みであったとしても、異なる方法や基準で求められた重みを 統合することにち使用できる。図 147の 2つの空間 5621、 5622とある重み表 5623を 統合する場合について考える。空間 5621と空間 5622は同じ空間である力 異なる 重みが付与されている。重み表は重ね合わせ処理によって求められたものでも良い し、そうでなくても良い。図 147において、同じアルファベットが振られているものは統 合する等価の基準である。統合計算演算部 4222は、この三つを統合するが、ここで 、重み表 5623の要素が重要であるため 2倍して加える。この場合の計算は図 148の 表に示される。図 148の「計算」項目では結果に至る具体的な計算手順が示され、「 スコア」項目に具体的な結果が格納されている。これを計算式で表すと x+y* 2とな る。
[0190] 以下に、等価重み付けの結果を使用して、統合計算演算部 4222が重み付けの統 合計算を行う場合の方法を説明する。図 83Aは重み付けの統合処理に使用される 空間を示している。この図 83Aの空間を異なる等価評価で表したものが図 83B、図 8 3C、図 83D、図 83Eで示される。これらの空間の中で、同じ符号が振られているもの が等価なものを意味する。空間 2031と空間 2032の等価重み付け処理を等価評価 1 で行つたものが図 84の表で、等価評価 2で行つたものが図 85である。
[0191] この図 84と図 85の結果に対して完全独立等価評価を基準として統合計算演算部 42 22が統合計算したものが図 86の結果表である。ここで、「完全独立等価評価」とは、 空間に存在するノードをすべてお互いに異なるものとして扱う評価である。「等価ノー ド」項目は完全独立等価評価を使用して 、るためすべての空間のノードを異なる物と して扱っている。図 86の具体的な表の作成方法は、 2011、 2012について考えると 、等価評価 1の重み付けの場合 2011は等価 alであるためスコアは 3となり、 2012は 等価 blであるためスコアは 2となる。等価評価 2の重み付けの場合 2011は等価 b2で あるためスコアは 1となり、 2012は等価 a2であるためスコアは 2となる。図の計算式は 値を導く過程を示したもので、 「 =」の右側が求める値である。
[0192] さらに、これらの結合について考察する。図 86のマージスコアは統合計算演算部 42 22が「等価評価 1のスコア」と「等価評価 2のスコア」をノード単位で単純に加算しただ けである。つまり、 2011について詳細を説明すると「等価評価 1のスコア」は 3で、「等 価評価 2のスコア」は 1であり、これらの加算が 3 + 1となり答えは 4となる。さらに、図 8 6の差分スコア」は統合計算演算部 4222が「等価評価 1のスコア」から「等価評価 2の スコア」をノード単位で減算を行ったものである。さら〖こ、「差分絶対値スコア」では統 合計算演算部 4222が「差分スコア」の絶対値を計算したものである。
[0193] 図 84と図 85の結果に対して等価評価 3を基準として統合計算演算部 4222が統合 計算したものが図 87の結果表である。図 87の具体的な表の作成方法は等価 a3につ いて考えると、等価ノードは 2013と 2021となる。これを等価評価 1の場合を考えると 、 2013のスコアは 3で、 2021のスコアは 2であるため「3 + 2」よって「等価評価 1のス コア」のスコアは 5となる。等価評価 2の場合を考えると 2013のスコアは 1で、 2021の スコアは 3であるため「1 + 3」となり「等価評価 2のスコア」のスコアは 4となる。これらの 等価評価 1と等価評価 2のスコアを加算したものが「マージスコア」項目である。さらに 「ひとつあたりのスコア」で、「マージスコア」を「等価ノード」で除算して 、る。
[0194] これらの図 86、または、図 87を導くために使用された重み付けは単純に存在に対し てスコアを求めるものであるが、元になる重み付け処理は当然、重み付け計算部 422 1による一意化処理を利用した重み付け処理であったり、優先度が付加されたもので あったりもする。
[0195] 統合計算演算部 4222によるによる重み付け統合計算の結果をそのまま利用する方 法も良いが、結果に対してフィルタリング部 4223によるフィルタリング処理や力卩ェ処 理部 4224による様々な計算を適用してスコアを調整することも有用である。
[0196] 以下に図を使用して、統合計算演算部 4222による 3つの重み付け処理の統合計算 の処理を行う。この計算は等価評価 1、等価評価 2で空間 2031、 2032の重み付け 処理の結果と、等価評価 3で、空間 2031、 2032の両方に一意化処理を行う空間 20 31、 2032の一意化処理を利用した重み付け処理の結果を等価評価 4を基準として 統合計算した場合を説明する。空間 2031、 2032の両方に一意化処理を行った一 意重み付けの結果が図 88である。図 89は統合計算を行う前の前処理を表し、図 90 は図 89を使用して計算した結果を表している。図 90の「マージスコア」は単純に図 8 9の 3つの等価評価のスコアを足し算したものである。さらに、 3つの、より複雑な計算 の結果が図 90の「計算 1のスコア」、「計算 2のスコア」、」、「計算 3のスコア」に示され ている。「計算 1のスコア」は図 89における「等価評価 1のスコア」と「等価評価 3のスコ ァ」を加算したものに「等価評価 2のスコア」を減算したものである。「計算 2のスコア」 項目では図 89の「等価評価 1のスコア」と「等価評価 2のスコア」と「等価評価 3のスコ ァ」を 2乗したものを加算している。「計算 3のスコア」は図 89における「等価評価 1の スコア」で 2以上のものを 2で除算したものと「等価評価 2のスコア」と「等価評価 3のス コア」の加算である。
[0197] ここで、図 90の「計算 2のスコア」で使用される方法を式に直してみると、基準 1のスコ ァをオペランド x、基準 2のスコアをオペランド y、基準 3のスコアをオペランド zとすると 、「x- y+z*z」という式で表せる。
[0198] フィルタリング部 4223によるフィルタリング処理や、加工処理部 4224による重みの加 ェ処理は当然、重み付けの統合演算でも使用できる。
[0199] 重ね合わせをどのように計算するかといったことに答えはない。様々な切り口や視点 で計算方法を、理論的、または、感覚的に変化させることで様々な結果が導き出され 分析できることが重要である。
[0200] 具体的な例を用いて統合計算演算部 4222による重ね合わせ処理を説明する。ここ で、重ね合わせ処理を実行する実行者の目的の CDを探しあてる様々な手法を説明 する。図 91は音楽 CDに関する情報を表現した空間で、ノードは音楽 CDを意味して いる。同じ番号が振られたものは同期点等価評価で等価と判断されるものである。図 93はそれぞれの空間の重みを列挙したものである。ここで、重ね合わせ処理の実行 者の視点で処理を行う場合を考える。実行者は CDの評価において「A氏」「B氏」「D 氏」の評価は信頼しているが、「C氏」の評価は全く信頼していない。また、実行者は 流行の音楽に大変興味がある。このことを踏まえて重ね合わせ処理がどのように使用 されるものなのかを示す。
[0201] 図 91の空間で、「A氏、または、 B氏のお薦めでなおかつ、売り上げが 1〜10位まで のもの」といった問い合わせを行う場合、論理演算計算部 4220論理演算はうつてつ けである。この問い合わせは「空間 2051、または、空間 2052に存在し、かつ空間 20 55に存在するものは何力」 t 、つた問!、合わせととることができる。このような問!、合 わせを行う場合、図 95の表の「演算結果」に示されるようになる。それぞれの空間は 1 つ以上存在する場合は真として空間を真偽値に変換している。求める解は「(空間 2 051 OR 空間 2052) A205D 空間 2055」の結果で求められる。図 95の演算結 果から、求めるノードは bと gであると分る。
[0202] 空間 2051、 2052、 2054の重みの加算を行った結果が図 94の「重みスコア 1」に示 されている。これは実行者が信頼する「A氏」「B氏」「D氏」の推薦する CDを表す空 間を重ね合わせたものである。この結果を分析すると等価番号 bの CDが空間 2051、 2052、 2054に存在しており、スコアは最も大きくお勧めの CDであると推測できる。 つ!、で等価番号 g、 hが実行者の求めるものである可能性が高 、。
[0203] さらに、実行者は「C氏」の評価するものが嫌いである場合が多いので、空間 2051、 2052、 2054の重みのカロ算カら、空間 2053の重みを減算した演算を行った結果が 図 94の「重みスコア 2」である。この場合、「重みスコア 1」とは少し異なりこの場合は等 価番号 b、 gの重みが等しぐこの二つがお勧めとみることができる。
[0204] また、実行者は流行の音楽に興味がある。そのためさらに計算に少し工夫をカ卩える。
売り上げ 1〜10位のものは空間の重みの 3倍の値を図 94の「重みスコア 2」と乗算を 行い、 11〜100位のものは空間の重みの 2倍の値を「重みスコア 2」と乗算を行う。こ のことによって売り上げ順位の情報が大きく重み付けの結果に影響を与える。この場 合でも等価番号 bと gが重要で、次 、で iが重要であると考えられる。
[0205] 以下に論理演算を使用した、フィルタリング部 4223によるフィルタリング処理を具体 的に説明する。空間 2051、 2052、 2054の重み付け処理から、信頼していない「C 氏」の推薦を集めた空間 2053と、売り上げが低いものを集めた空間 2057に含まれ るノードの結果を必要な 、として除外した 、場合などに有効である。この場合は空間 2051、 2052、 2054の等価重み付け処理を行い、さらに空間 2053と空間 2057の 1 つ以上存在するものを真として OR演算を行 、、等価重み付けの結果から OR演算の 結果の当てはまるものを除外する。空間 2053と空間 2057の OR演算の結果は図 98 で表されている。この結果を使用して重み付けのスコア力もフィルタリングを使用する 様子が図 99に示される。この場合、論理演算で真と評価されるものを処理結果から 除外している。
[0206] 以下に加工処理部 4224による重みの加工処理を具体的に説明する。空間 2051、 2 052、 2054の重みの加算である、図 100の「重みスコア 1」の結果に対して加工処理 を施し異なった視点で分析を行う。ここで、ノードの「ジャンル」プロパティで「ロック」と 「ポップス」であるものを優先的に扱 ヽた 、ので値が「ロック」であるものの重みを 3倍、 値が「ポップス」であるものを 2倍にして!/、る。
[0207] 図 92を使用して、統合計算演算部 4222による重み付け統合計算について、具体的 な例を使用して説明する。重み付け統合計算を使用する場合の基準となる等価評価 は同期点等価評価を使用するものとする。今回はノードのプロパティによる等価評価 を使用した重み付け処理との連携を使用する。図 92のノードは「ジャンル」プロパティ を保持しており、「ジャンル」プロパティの値で等価評価を使用した場合は、図 93で表 すことができる。図 93を等価なものでグループ分けしたものが図 96である。図 96から 、お勧めで流行のジャンルは「ポップス」である可能性が高い。空間 2051、 2052、 2 054の重みの加算である図 97の「スコア 1」の結果と、「ジャンル」プロパティの等価評 価で空間 2051、 2052、 2054、 2055の重みのカロ算である図 98の「スコア 2」を統合 する。「スコア 1」と、「スコア 2」の重みをそのまま加算すると「スコア 2」の影響が大きい ため二分の一にしたものとを加算して統合した結果が図 98の「計算結果」に示される 。このような計算によって、空間に存在する音楽 CDのお勧めの重みに加えて、流行 の音楽ジャンルを加味した重み付けを行うことが可能となる。
[0208] 図 102は射影部 4411による射影化が具体的に使用されている場合の説明である。
図 102ではノード 2360、 2361に対して射影部 4411により、射影化が実行され、多 言語用のノード群が形成されている。この場合、ノード 2360、 2361は 4つ分のノード 、または、ノード情報が生成されていることになる。このように、射影化は 2次元で表現 できる空間に対して、 3次元の情報にすることとも言うことができる。 [0209] 射影化された空間を特に「射影空間」、射影化されたノードを「射影ノード」と呼ぶ。
[0210] 射影部 4411が有する「射影機能」について説明する。射影機能とは、複数の空間を 一つの空間として扱う処理であり、例えば、「射影ノードの単一アクセス」「ノードの生 成の連携」、「ノードの削除の連携」、「空間の変形の連携」、「射影空間単位のァクセ ス」、「ノードの射影空間ごとのアクセス」、「射影ごとの空間の生成」、「射影ごとの空 間の削除」、「射影同期」のことを言う。射影化は論理的にこれらの機能の一部、また は、すべて備えている。
[0211] 図を使用して射影部 4411による射影化の機能を説明する。図 103Aの空間を 3つに 射影ィ匕した物力 s図 103Bである。 2320、 2321, 2322は射影空間で 2301、 2302, 2303はそれぞれの射影化されたノードである。
[0212] 射影部 4411による「射影ノードの単一アクセス」は、射影化された複数の射影ノード を空間上は一つのものとしてアクセスするものである。つまり、これは図 103Bの様に 射影化された空間を図 103Aにアクセスするように扱うことができることを言う。
[0213] 射影部 4411による「ノードの生成の連携」は、新たなノードが追加される場合、他の 射影空間にも追加するものである。例えば、射影空間 2320にノードが追加されると、 対応する射影空間 2321、 2322にもノードが作成される機能である。図 103Cは射影 部 4411によるノードの生成の連携を表したものである。この場合、射影ノード 2311、 2312、 2313を同時【こ生成して!/、る。
[0214] 射影部 4411による「ノードの削除の連携」は、ノードが削除された場合、他の射影空 間の対応するノードも削除するものである。例えば、射影ノード 2301を削除する場合 、射影ノード 2303、 2305も削除される機能である。図 103B力も射影ノード 2301、 2 303、 2305を破壊したものが図 103Dである。この場合、 3つの射影ノードを同時に 破壊している。
[0215] 射影部 4411による「空間の変形の連携」は、空間の構成を他の射影空間に反映さ せるものである。例えば 2303と 2304の間のリンク力破壊されれば、 2301と 2302、 2 305と 2306の間のリンクも破壊する機能である。図 97B力も空間の変形の連携を行 つたたものが図 97Eである。
[0216] 射影ノードの単一アクセス、ノードの生成の連携、ノードの削除の連携、および、空間 の変形の連携は複数のノードを空間上の一つのものとして扱っている。つまり、射影 ノード 2301、 2302、 2303が空間上一つのノードとして扱うことが可能なのである。こ れカ 複数の空間を一つの概念として扱うということである。
[0217] 射影部 4411による「射影空間単位のアクセス」は、それぞれの射影空間をまとまった 空間ではなぐ一つの独立した空間として扱うことができるものである。つまり、射影空 間 2320、 2321、 2322をそれぞれ独立した空間として扱うことができるものである。
[0218] 射影部 4411による「ノードの射影空間ごとのアクセス」とは、ノードに対して射影空間 を指定してアクセスするものである。例えば、図 97Bで説明するなら、射影空間 2320 であるならば射影ノード 2301が指定され、射影空間 2322であるならばノード 2305 が指定される。
[0219] 射影空間単位のアクセスや、ノードの射影空間ごとのアクセスは、射影空間を独立し た一つ一つの空間として扱うことのできるようにする機能である。
[0220] 射影部 4411による「射影ごとの空間の生成」は、新たな射影空間を追加する機能で ある。図 97Bでは 3つの射影空間が存在する力 これに新たに 4つめの射影空間 23 23加えたものが図 97Fに示される。このように、新たな射影空間を空間単位で追カロ することができる。
[0221] 射影部 4411による「射影ごとの空間の削除」は、射影空間単位で空間を破壊する機 能である。これは図 97Gに示されるように射影空間 2320を破壊して、射影空間 232 1と 2322だけにするなどの処理を行うことを言う。
[0222] 射影部 4411による「射影同期」について説明する。この機能は、空間が射影化され た場合、その空間に含まれるノードの同期に対しても射影化が適用される機能である 。例えば、図 104の空間においてノード 2371aとノード 2372aは同期している。この 時、 2371aに対して射影化が適用される場合、空間 2372aにも射影化が適用される 機能のことである。図 104では、 2371bと 2372b力射影ィ匕されている。
[0223] このように、射影化を行った空間は複数の空間を一つのものとして扱うことと、それぞ れを異なった物として扱うことが可能となる。
[0224] 射影化を使用すれば、複数バージョンの空間を空間上は一つの空間であるかのよう に扱うことができる。例えば、射影ノード 2301、 2302、 2303は実際には 3つのノード である力 空間上は一つのものとして扱っていることに等しい。
[0225] 射影部 4411による射影化の実装の詳細について説明する。射影化の実装方法は 無数にあるが内部の構成は「リンク射影」、「ノード射影」、「データ付加射影」、「独立 空間射影」を利用するものが代表的な実装方法である。内部の構造をこれらの方法 で実装し、プログラムによる制御で射影機能を実現する。これらのデータ構造はメモリ 上のポインタやオブジェクトなどでも、 XMLや HTMLなどのタグ言語を使用しても実 現可能である。
[0226] リンク射影とは、リンク空間において実際にリンク構造を複数作り出し、それらをプログ ラムで制御する方法である。これは、実際に空間を複数作り出して、プログラムの機 能で射影空間として扱えるようにするとも言える。図 105Aをリンク射影したものを表し たものが図 105Bである。図 105Bに見られるように、リンクの構成ごと二つの空間に なって ヽる。この場合、 2331aと 2332aで構成された空間と 2331bと 2332bで構成 された空間が射影化の要素として生成されている。
[0227] ノード射影とは、空間を構成するノード単位で画一的な構造を作り出す処理であり、 各々のノードを複数作り出して、それらをプログラムで制御する方法である。図 105A に対してノード射影したもの力 図 105Cである。これは、各々のノードに対して複数 のノード、または、ノード情報を付加する構造のものである。この場合、ノード 2331の ノード 2331cに、ノード 2332をノード 2332cへと変換している。つまり、それぞれのノ ードが射影化されたノード情報を保持している。ノード射影は無形空間などのリンクに より構成されていない空間における射影化や、同期射影を他の方法よりも実装しやす い。
[0228] 図 106にはノード射影をリンクリストで作成した場合を表している。ノード 2380〖こは射 影化されたノード、または、ノード情報が 2381、 2382、 2383とリストの形を形成して いる。このリンクはメモリ上のリスト構造やオブジェクトのインスタンスで構成されたもの でも、 XMLや HTMLなどのタグ言語で構成されたものでも良い。このリンクはノードと ノードをリンクさせる場合に使用される技術でも良い。
[0229] 図 107にはノード射影において、ノードをデータ群と結びつける実装を図示している 。ノード 2390に対して、ノード 2391のデータ群を結びつけている。これはメモリ上に 実装される場合は、データコンテナに射影化されたノード、または、ノード情報を格納 するなどが良い。ディスク記憶装置などに保存する場合は、ひとまとめにしてファイル 形式やバイナリ圧縮された形でディスクに保存するなどが良い。要は、内部ではバラ ノラであっても、射影されたノードとしてアクセスできれば良!、。
[0230] データ付加射影とは、空間に対して射影用のデータを結びつける方法である。図 10 5Aをデータ付加射影したものを表したもの力 図 105Dである。これはレイヤーを使 用して射影化を実現するものも含まれる。この場合、射影化された空間に対して付加 情報 2333を使用して射影化を実現する。 2333の内部には空間に関する情報が含 まれている。この情報を利用して、空間が複数あるように扱う。
[0231] データ付加射影を実装する場合は、レイヤー、または、それと同等の仕組みを用いる のが良い。
[0232] 図 108を使用してデータ付加射影を説明する。図 108はノード 2401、 2402、 2403 で構成された空間を射影化している。ノード 2401には 2404力 ノード 2402には 24 05力 ノード 2403に ίま 2406力結びつ!/ヽて!ヽる。ここで、 2404、 2405、 2406に射 影用の情報を保持させれば良い。また、 2404、 2405、 2406を全体として共通のリソ ース 2407を参照する設計でも良い。このように、空間に対してデータを付加する形 で射影化を行っている。
[0233] 射影部 4411による独立空間射影とは、一種の独立空間ノードを作り出して内部、ま たは、外部で複数の空間情報を保持することで射影を実現する方法である。図 105 Αを独立空間射影したものを表したものが、図 105Eである。独立空間ノード 2334の 内部の射影化用データは射影化機能で扱えるのならば、いかなる形でも良ぐ内部 に空間を複数保持しても良いし、全く異なるフォーマットとして表現されても良い。
[0234] 図 109を使用して独立空間射影を説明する。独立空間ノード 2411に外部、または、 内部に空間定義 2418が結びついている。 2418には射影空間が 3つ格納されており 、 2412と 2413の空間、 2414と 2415の空間、 2416と 2417の空間ある。
[0235] 図を使用して、射影部 4411による射影化の効果と必要性を説明する。図 110Aはあ るドキュメントを表現した空間である。ここで、空間 2481が重要なドキュメントに関する ものであるため、多言語で作成する必要があるとする。この場合、射影化を使用しな い場合、図 110Bの様な空間設計となる。図 110Bでは、各言語バージョンの空間が 多数作成されている。例えば、 2481は日本語用、 2482は英語用、 2483はフランス 語用というようになる。このように、異なるバージョンごとに新たな空間を作成すること になる。これは、バージョンが増えるごとに空間が増えていく事を意味する。しかし、 射影化を使用すれば論理的には図 110Cの様に異なる空間そのものが増えることは ない。この場合、 2481a, 2481b, 2481cそれぞれが一つの言語用の空間となって いる。図 110Bの様に異なるバージョンごとに異なる空間を作成することは管理コスト の増大を招くこととなる。空間は何力しらの概念を表現した、または、集めた構成物で ある。表現する概念を変更する場合、空間の構成も変更する必要がある。この時、バ 一ジョンごとに単に複数の空間が存在するだけの場合、変更や追加をすベての空間 に適用する必要が出てくる。これは表現する概念は同じであるにも係わらず形式の違 いだけで異なる空間として実装するために発生する問題で、これらは大変な保守コス トとなる。また、表現したい概念が表現形式の違いだけで、異なる空間として分散する ため、第三者が概念と空間の関係を若干理解しづらくなる。このように、表現したい概 念を一つに結びつける射影化は重要な機能と言える。
[0236] 図 111は、射影部 4411を詳細に説明するための図であり、ここでは、射影化を実現 した一般的なプログラムの機能ブロック図を示す。これらの機能は一つ、または、複数 のプログラムで実装される。また、プログラムは複数のコンピュータで処理されても良 い。射影化を実現するためには射影化に対応した空間と、処理の連携を行う。基本 的には空間データ部 4201を射影部 4411によって制御する。空間へのインタフエ一 ス 4413を通じて適切に空間データ部 4201、または、射影部 4411にアクセスするこ とができるので、空間データ部 4201の内部が通常の空間と異なる特殊なフォーマツ トであっても容易に、そして、安全にアクセスすることができる。
[0237] 空間データ部 4201では射影された空間のデータはリンク射影 4430、ノード射影 44 31、データ付加射影 4432、または、独立空間射影 4433として存在している。これら のデータには直接アクセスしても良いが、空間へのインタフェース 4413を通じて操作 を行った方が、複雑な内部構成や仕様を考慮する必要がなぐデータの破壊リスクも 軽減できるので良い。 [0238] 射影部 4411は、「射影ノードの単一アクセス」「ノードの生成の連携」、「ノードの削除 の連携」、「空間の変形の連携」、「射影空間単位のアクセス」、「ノードの射影空間ご とのアクセス」、「射影ごとの空間の生成」、「射影ごとの空間の削除」、「射影同期」な どを行うことで、射影化としての機能を果たす。
[0239] ユーザ 4412が空間へのインタフェース 4413を通じて、空間を操作することで射影化 としての適切な機能を提供することが可能となる。ユーザ 4412は通常は外部、また は、内部のプログラムか人間である。人間はユーザインタフェースなどを介して射影 空間にアクセスする。
[0240] ノード、リンク、および、空間には「レイヤー」を適用できる。レイヤーとは、ノード、また は、空間に対して情報が平行に定義されるものであり、ノードそのものに情報を付カロ するのではなぐノードと並行的に付加情報が与えられる構造である。平行に定義さ れるとは、ノードや空間に対応させた形で定義されることを意味する。レイヤーを使用 することによって様々な情報を空間に付加することが出来る。また、プロパティと異な り、ノードそのものを操作するのではないので、情報の付カ卩が容易になり、データの 破壊リスクも軽減できる。さらに、レイヤーを複数重ねたり、状況によって組み合わせ ることで様々な場面で使用することが可能となる。レイヤーはノードや空間が表現した い概念と異なるものを分離することができる。さらに言えば、表現したい概念とは異な る情報はすべてレイヤーに含めるべきであるともいえる。レイヤーはノード一つでも空 間にでも適用させることができ、柔軟であり、空間に対して情報を付加する場合、非 常に便利である。使用用途はセキュリティ、イベント、優先度などへの実装が特に有 効である。
[0241] レイヤーはレイヤーが付加された空間のノード一つ一つに対して、情報を与えること も、空間全体としての情報も与えることもできる。
[0242] レイヤーには「構造レイヤー」と「実体レイヤー」がある。構造レイヤーは、空間の構造 そのものに対してレイヤーを付加するものであり、ノード構造に対してレイヤーを適用 するものである。実体レイヤーは、実体そのものに対してレイヤーを付加する、つまり 、ノードそのものに対して行う。つまり、実体レイヤーが付加されたノードは基本的に 同期点が同じであるすベてのノードに対してレイヤーの効果が適用される。 [0243] 図 116を使用して構造レイヤーと実体レイヤーを説明する。ノード 3141、 3142はお 互いに同期している。このとき、空間 3140のノードに構造レイヤーを適用しても、ノー ド 3141にレイヤーは付加される力 ノード 3142にはレイヤーは付加されない。しかし 、空間 3140のノードに対して、実体レイヤーを付加させると、ノード 3141のみならず ノード 3142に対しても実体レイヤーが適用される。
[0244] 図 112を使用して構造レイヤーについて説明する。図 112には一つの空間と、二つ の構造レイヤー力 S定義されている。 3100、 3101、 3102、 3103、 3104はノードでリ ンク空間を形成している。 3110、 3111、 3112、 3113、および、 3114, 3115, 311 6、 3117で構成されたものが構造レイヤーである。図 112では空間に 2つの構造レイ ヤーを結びつけて 、る。構造レイヤーではリンクにもレイヤーを定義することは可能で あるが、この場合は空間のノードのみに構造レイヤーが付加されている。それぞれ 31 10、 3111、 3112、 3113ίま構造レイヤー 1を、 3114、 3115、 3116、 3117ίま構造 レイヤー 2を形成している。図 112に見られる直線の破線はノードと構造レイヤーの対 応関係を示し、円形の破線は構造レイヤーを意味する。通常は、構造レイヤーに対し て付加情報を与え、その付加情報を元にプログラム内部、または、外部で様々な処 理が行われる。レイヤーはノードと並行的に存在するものである力 リンク空間に対し てレイヤーを付加する場合でも、ノードのようにリンクで構成される必要はない。
[0245] 図 113を使用して実体レイヤーについて説明する。ノード 3150とノード 3152は、お 互いに同期している。ノード 3150、 3151、 3152に実体レイヤー力 寸カロされている。 このときレイヤー 1の 3153にノード、 3150とノード、 3152力 ノード、 3151には 3154力 S 結びつ \ /、て 、る。同様にレイヤー 2の 3155にノード 3150と 3152力 ノード 3151に は 3156が結びついている。このように、実体レイヤーは空間の構造ではなくノードの 実体に結びついている。
[0246] レイヤーの具体的な実装について説明する。レイヤーはノードの外部、または、内部 に存在させることができる力 レイヤーは論理的には外部力 ノードに対して情報を 与えるものであるので、実装においても外部に多くの情報を保持するのが望ましい。 レイヤーはコンピュータ読み取り可能な記録媒体、または、ネットワーク上に実装でき る。つまり、ノードが実現できるすべての環境で実装可能である。それは、メモリ上の 実体であっても、ディスク上の XMLで形成されたものでも良 、。
[0247] ノードとレイヤーを関連付けるにはノードとノードをリンクでつなぐ様に結びつける必 要がある。ノードとレイヤーを結びつける情報はノードそのものの中に記述、外部に記 述するなどがある。
[0248] レイヤーは、理論上は空間の外部力 情報を与えるものなので、すべての情報をノー ドの内部に格納するのは良いとは言えない。つまり、一部、または、全部を外部に格 納するのが理想である。
[0249] 図 114はノードそのものの中に記述する方式である。 3150はノード、または、ノード への参照情報である。 3150にはレイヤーへの情報が格納されている。また、レイヤ 一 3151にはノードへの情報が格納されている。
[0250] 図 115はノードとレイヤーの関係を外部に記述する場合を示している。 3155はノード
、または、ノードへの参照情報を意味している。 3156はレイヤーを意味し、 3157は 3
155と 3156を結びつける情報を保持して 、る。
[0251] 構造レイヤーはノードに対して非同期型情報付加として情報が付加され、実体レイヤ 一はノードに対して同期型情報付加として扱われるのが通常である。
[0252] XMLを使用して、空間にレイヤーを付加する実装を説明する。図 27のノードのリンク を表現した XMLである図 31、図 32に対してレイヤーを付加した場合の実装を説明 する。
[0253] 構造レイヤーを実装する場合の一例を示す。ノード 851、 852とその間のリンクに対し て構造レイヤーを付加すると仮定する。この場合、図 117、図 118のようにリンク定義 に対して、テスト用のシンプルな構造レイヤーを付加している。この場合は、
<StructualLayer
name= layer 1 value= .100〃/〉
部分が、構造レイヤーの定義である。実際の一般的な実装ではこのタグには、より多 くの情報や情報への参照が含まれる。
[0254] 実体レイヤーを実装する場合の一例を示す。図 119のノード Aとノード Bに対して、実 体レイヤーを付カ卩したものが図 に示されるような XMLで示される。このように、構造 ではなぐノードそのものにレイヤーを付カ卩している。この場合は、完全にノードの外 部からレイヤーを定義して 、る。
[0255] レイヤーの自己拡張機能とはレイヤーが適用された空間に対して、ノード、または、 空間が追加されると追加された部分に対してもレイヤーが適用される機能のことを言 う。さらに、この機能に、空間のリンク選択、空間フィルタリングの機能を利用して、より 、柔軟な形で空間の自己拡張を行う実装も有効である。この機能は主に構造レイヤ 一において適用される。
[0256] 図を使用して、レイヤーの自己拡張機能を説明する。図 120Aのノード 3120、 3121 、 3122ίまノードで空 を形成して!/ヽる。 3130、 3131、 3132ίまレイヤーを形成して いる。図 120Bに示されるように 3122に対してノード 3123を追カロする。すると、図 12 OCのレイヤー 3133が拡張される。
[0257] セキュリティを実現するにあたってセキュリティレイヤーを導入することで、セキュリティ の管理をより扱 、やすくすることが出来る。これはセキュリティレイヤーを空間にマツピ ングさせることによって実現できる。通常、セキュリティレイヤーには一つ、または、複 数のユーザ情報とセキュリティ権限情報が含まれている。これによつて、ユーザ別の セキュリティや、複数のユーザの権限と空間との対応がより明確になり管理しやすくな る。なお、セキュリティレイヤーとは、レイヤーにセキュリティ情報が付加されたもので ある。
[0258] 図 121を使用してセキュリティレイヤーを説明する。 3215はユーザ 3201用のセキュ リティレイヤー、 3216はユーザ 3202用のセキュリティレイヤーである。それぞれのセ キユリティレイヤーは空間の一部をマスクしている。ユーザ 3201の命令 3220はセキ ユリティレイヤー 3215によって除外される力 命令 3222はセキュリティレイヤーの影 響を受けることなく 3211には適用されている。同様に、命令 3221はノード 3210に適 用され、命令 3223は除外されている。
[0259] 図 122にセキュリティレイヤーによるセキュリティの実現の一例をステップ図の使用で 示す。ステップ S401で空間に対する操作を検出する。ステップ S402で操作対象の 空間にセキュリティレイヤーが存在するかどうか確認する。ステップ S403で設定され ているセキュリティを分析して、操作を許可するかどうか決定する。 S404は操作を許 可された時に実行され、 S405は不許可となり操作を無効にされ通知処理も同時に 実行される。
[0260] イベントを実現するに当たってイベント情報をレイヤーにしたイベントレイヤーを導入 することで、イベントをより柔軟に扱うことができる。イベントは基本的には「反応」と「通 知」からなる。つまり、イベントレイヤーには何に対して反応する力、誰にどのように通 知するかといった情報を記録し、プログラム力 イベントの機能を実現すればよい。な お、イベントレイヤーとは、レイヤーに空間の変化、空間に対する命令、または、時間 的変移を内部、または、外部ユーザに通知するイベント情報が付加されたものである
[0261] 図 123にイベントレイヤーによるイベントの実現の一例をステップ図の使用で示す。ス テツプ 501は空間に対する操作や変化などの出来事が発生することを意味する。ス テツプ 502では操作の対象の空間、または、変化した空間に対応するイベントレイヤ 一が存在するのカゝどうか確認する。ステップ S503は操作や変化に対して対応するィ ベント情報が存在する力確認する。ステップ S504でイベント情報により通知処理を行 う。ステップ S502、 S503でイベントに関する情報を収集し、 S504で実際の通知を行
[0262] レイヤーに重み付け処理で利用する優先度を付加することも有用である。優先度の 情報をレイヤーにすれば、状況によって優先度を自在に切り替えて重み付け処理を 行うことも容易に実現できる。
[0263] 以下に図 124を使用して実際にレイヤーが使用される様子を具体的に説明する。図 の空間はある会社のソフトウェアのバグレポートを表現したものである。この場合、こ の空間を外部のネットワーク力 アクセスできるようにする場合はセキュリティの設定を 行う必要がある。ここで、この空間にセキュリティレイヤーを設定する。まず、社外の人 間やバグの修正に関わる必要のな 、部外者に対しては、空間の情報を変更できな ヽ ようにセキュリティを設定することが望ましい。ここで構造レイヤー 3251を使用して部 外者による変更を空間全体で禁止を行うセキュリティ情報を付加する。さら〖こ、作成 者別にバグを分類する部分も部外者には作者に関する情報を開示するのは不要で 不名誉である。このため 3252には作成者別の部分を部外者に対して不可視の状態 にする構造レイヤーとしてセキュリティ情報を設定するのが良い。さらに、未対処のバ グは悪用されると危険であったりするので、部外者に対して絶対に公開しない方が良 い。そこで、 3253の空間にあるノードには実体レイヤーとしてセキュリティ情報を設定 すれば良い。このようにすれば、他の空間に同期が存在している場合でもセキユリテ ィは適用される。以上のようにレイヤーを使用すればセキュリティに関する設定が空 間に対して直接の変更を加えることなく行うことができる。このように管理された情報 は明確に分離されており追加、削除などを容易に行うことができる。
[0264] 図 125にセキュリティレイヤーを実現した一般的なプログラムの機能ブロック図を示す 。これらの機能は一つ、または、複数のプログラムで実装される。また、プログラムは 複数のコンピュータで処理されても良い。ユーザ 4802がセキュリティゲートウェイ 480 3を通して空間データ部 4201にアクセスして!/、る。セキュリティゲートウェイ 4803はセ キユリティレイヤー情報 4804にアクセスし、セキュリティのレベルに応じた操作を許可 する。
[0265] 次に、自動分類処理部 4809の詳細について説明する。自動分類処理部 4809は、 空間を構成するノードを追加することによって空間を拡張する処理部であり、ノード、 または、ノードに対応づけられた情報を取得して処理を開始する自動分類処理開始 部 4810と自動分類部 4811とから構成される。自動分類部 4811は、ノードのリンクを 迪る巡回部 4812、巡回部において巡回したノードに新たなノードを追加する場合に 、適切力どうかを判断する判定部 4813及び判定部 4813により追カ卩が適切と判定さ れた場合に、ノードを追加する追加部 4814から構成され、判定部 4813は、さらに、 存在可否条件判定部 4820及び巡回可否条件判定部 4821から構成され、追加部 4 814は、さらに、個別追加部 4830、同期追加部 4831及びリンク追加部 4832から構 成される。これらの機能について、自動分類処理を実装した一般的なプログラムの機 能ブロック図の図 134を使用して処理の概要を説明する。これらの機能は一つ、また は、複数のプログラムで実装される。また、プログラムは複数のコンピュータで処理さ れても良い。
[0266] 自動分類処理部 4809による空間の「自動分類処理」はリンク空間に対する拡張や追 加を容易にする。この機能は、空間を巡回しながら、ノードとノードの内部、または、 外部に結びついた存在可否条件式を使用して、新しく追加するノードが追加して良 いものかどうか判断する。存在可否条件式の一般的な実装は、新しく追加されるノー ドの情報を使用して、ノード判定式のようにスクリプト言語やプログラム言語で記述で きるようにするのが一般的であると思われる。存在可否条件式は一つを複数のノード に対応させても良い。
[0267] 図を使用して自動分類処理部 4809による自動分類処理を説明する。図 126Aはノ ードに存在可否条件式が付加されたものを示している。ノード 3610、 3611、 3612、 3613にそれぞれ存在可否条件式 3620、 3621、 3622、 3623力 ^結びつ!/ヽて!ヽる。 ここに新たなノードを自動分類処理で追加すると図 126Bになった。これは新たに追 加されたノードが条件式の要件を満たしたからと言える。この場合、条件式 3620、 36 21では新たに追加されるノードは不適切と判断された力 条件式 3622、 3623によ つて、新たなノード 3630、 3631を適切なものとして追加を許可したのである。
[0268] 自動分類処理の大まかなフローの一例として図 127を示し、順を追って説明する。 S 601で、巡回部 4812は、迪るべきノードが存在するかどうか確認し、ないのなら処理 を終了する。 S602で次のノードを迪る。 S603において、存在可否条件判定部 482 0は、存在可否条件式で存在可能かどうか判定し、可能と判断されれば S604で追加 部 4814はノードを追カロする。さらに、 S602、または、 S604の内部で図 127のフロー を再帰的に実行する。
[0269] 実際の実装では自動分類処理において、リンクを巡回部 4812による巡回しない実 装もある。これは、処理を実行するノードが分かれば良いので、図 132の 3671のよう な空間を直接巡回しなくても、 3672〖こ示されるよう〖こ、 3671のノードを置き換えたも の、または、表現する別のものを通じて、自動分類処理を行うことで同様の効果を上 げる方法も実装上は考えられる。 3672は 3671の空間のノードを特定できるだけの 情報を保持していれば良い。
[0270] 図を使用して、自動分類処理でノードを追加する時に存在可否条件式を付加する場 合を説明する。自動分類処理でノードと存在可否条件式を付加する処理を図 126A に対して行う。すると、図 126Cに示されるように、新しくノードが追加される場合、ノー ド 3630、 3631と共に存在可否条件式 3636、 3635を付カロして!/ヽる。
[0271] 自動分類処理でノードを追加すると同時に存在可否条件式を付加する場合を図 12 7のフロー図の S604を図 128で示されるものとすることで実現する事ができる。
[0272] 自動分類処理において、迪るべきノードをノードの内部、または、外部に結びついた 巡回可否条件式によって制御することも可能である。これは階層空間において特に 有効な手段である。この機能によって概念の体系化を利用した自動分類が可能とな る。また、巡回すべきノード数が制限されるので、実行速度の面でも有利である。
[0273] 図 129を使用して、自動分類処理において迪るべきノードを巡回可否条件判定部 48 21が巡回可否条件式によって制御する場合の説明を行う。ルートノード 3640から自 動分類処理が開始するとする。巡回処理 3650がノード 3642に到達するときに、条 件式 3652に設定された巡回可否条件式で巡回可否条件判定部 4821により巡回不 可と判定されると、ノード 3643、 3644に到達することなく処理が終了する。
[0274] 自動分類処理にぉ 、て迪るべきノードを巡回可否条件式によって制御する場合の説 明を、図 130のフロー図を用いて説明する。図 130のフローは図 127でのフロー図の ステップ S601とステップ S602の間に新たに巡回可能かどうかを判断するステップ S 5を追加したものとなる。
[0275] 自動分類処理でノードを追加すると同時に巡回可否条件式を付加することも有効で ある。
[0276] 自動分類処理にぉ 、て、個別追加部 4830による「個別型自動追加」とは、追加され るノードが個別の実体として追加されることを言う。つまり、二番目以降に追加するノ ードがそれぞれ異なる実体として追加されることである。
[0277] 図を使用して、個別追加部 4830による個別型自動追加を使用した場合について説 明する。図 131Aの空間にノード 3660の自動分類処理を行ったところ、ノード 3661 、 3662のノードで存在可會である場合、図 131Bのようにノード 3663、 3664カ 口え られる。このときに、ノード 3663と 3664が異なる実体として追加される。
[0278] 自動分類処理において、同期型追加部 4831による「同期型自動追加」とは、二番目 以降に追加されるノードは最初に追加されたノードの同期した状態で追加されること を言う。つまり、同じと見なせるが空間上では異なり、かつ、一方における変化が他方 にも適応される性質をもつノードどうしを、同期した状態と呼ぶ場合において、二番目 以降に追加されるノードが最初に追加されたノードの同期した状態で追加されること である。
[0279] 図を使用して、同期型追加部 4831による同期型自動追加を使用した場合について 説明する。図 131Aの空間にノード 3660の自動分類処理を行ったところ、ノード 366 1、 3662のノードで存在可會である場合、図 131Bのようにノード 3663、 3664カ 口 えられる。このときに、ノード 3663と 3664がお互いに同期した状態で追加される。
[0280] 自動分類処理にぉ 、て、リンク追加部 4832による「リンク型自動追加」の使用によつ て、二番目以降に追加されるノードは最初に追加されたノードのリンクした状態で追 カロされることを言う。
[0281] 図を使用して、リンク追加部 4832によるリンク型自動追加を使用した場合について 説明する。図 131Aの空間にノード 3660の自動分類処理をしたところ、ノード 3661、 3662のノードで存在可能であるとする。この場合、図 131Cのノード 3665が加えら れる。このように、ノードが二つ追加されるのではなぐ最初に追加された 3665のリン クを追加する。
[0282] 存在可否条件式、および、巡回可否条件式は「同期型情報付加」、または、「空間型 情報付加」のどちらでも仕組みでノードと結びつけても良い。同期型情報付加を使用 すれば同期したノード同士で条件式を共有できる。
[0283] 存在可否条件式や巡回可否条件式は一つのノードに対応する必要はない。つまり、 これらの式は複数のノードで共有されて ヽるものでも良 、。
[0284] 存在可否条件式や巡回可否条件式は空間が表現したい概念を生成するための仕 組みである力 表現したい空間と直接には関係がない。そのため、これらがレイヤー として実装されるのは自然なことだと言える。
[0285] 存在可否条件式や巡回可否条件式に設定する条件がより複雑になると、スクリプトや 単純なプログラム言語で表現することは困難となる。例えば、ノードの文章プロパティ を複雑な構文解析を行って判断するような場合などである。そのため、この部分に外 部のプログラムによる処理を実行することを可能として、存在可否条件式や巡回可否 条件式の処理速度、開発効率、保守の容易性を向上させることが可能となる。
[0286] 以上のように、自動分類処理部 4809による処理の大きな流れとしては自動分類処理 開始部 4810からのデータ決定を受け取り、自動分類部 4811が実行され、空間デー タ部 4201へのノードの追カ卩が実行される。
[0287] 自動分類処理開始部 4810は自動分類処理を開始するためのデータを取得、または 、生成する。この部分には、外部、または、内部のプログラムによるものであったり、プ ログラム外部の変化を感知した場合であったり、人間が入力したものであったりする。
[0288] 自動分類部 4811は、巡回部 4812、判定部 4813、追加部 4814から成る。巡回部 4 812が空間データ部 4201のノードを巡回し、判定部 4813によりノードが追カ卩可能と 判断された場合、追加部 4814により空間データ部 4201にノードが追加される。
[0289] 巡回部 4812は空間データ部 4201の情報を取得して空間を巡回、または、巡回と同 等の効果がある処理を行う。巡回部 4812で巡回しながら、判定部 4813を使用してノ ードを追加するのかどうか、または、ノードをさらに巡回するのかどうかを決定する。
[0290] 判定部 4813はノードに結びついた存在許可条件式を判断して追加するかどうかを 決定する存在可否条件判定部 4820と、巡回可否条件式を判断して巡回するかどう かを決定する巡回可否条件判定部 4821から成る。判定部 4813で使用される存在 許可条件式、巡回可否条件式は 4815のように、レイヤー、または、同様の仕組みを 用いてノードに対応付けられるのが通常である。存在可否条件式'巡回可否条件式 4815はスクリプト 'プログラム言語 4841で定義されるのが通常である力 外部プログ ラム 4842などを使用するものでも良い。実際では、条件式が複雑な場合は、スクリブ ト 'プログラム言語 4841から、内部、または、外部プログラムの機能を呼び出して処理 を行う方法が一般的と思われる。
[0291] 追加部 4814は空間データ部 4201へ新たなノードを追加する処理を行うものである 。個別型自動追カ卩は個別追加部 4814を使用することで、同期型自動追加は同期追 加部 4831を使用することで、リンク型自動追カ卩はリンク追加部 4832を使用すること で実現する。
[0292] 自動分類処理を使用する利点は、適切な空間を保ったまま、拡張することができる点 である。人手によって保守されるものは誤りを含む可能性がある。また、定義された空 間の規模が巨大である場合は全体を認識できなくなる可能性がある。こういった問題 を補完するものが自動分類処理である。図 133に示されるように新たなノードを追カロ する場合、どの部分に追加すれば良いの力、どの部分に存在すべきかといつたこと 1S 空間の規模が大きくなればなるほど把握できなくなる。しかし、自動分類処理は 一度、存在可否条件式を設定すれば、新たなノードの追加時に巡回して存在すべき 適切な場所へ追加されることになる。
[0293] 空間データ部 4201における空間の実装を独立したストレージとして、「空間ストレー ジ」を実装することはデータの扱 、やすさや処理の連携などが容易になり有効である 。また、意味空間ストレージの実装で、リレーショナルデータベースや XMLデータべ ースなどとの連携を可能とすることによって、性能の向上や、データの一元管理、既 存の情報システムとの共存なども容易になる。これは、空間の分散管理の技術がベ ースになっている。空間ストレージの定義は空間の重ね合わせ処理、射影化、レイヤ 一または、自動分類処理を使用することができるストレージである。
[0294] 図を使用して、空間ストレージを説明する。図 135において、 3802が空間ストレージ で 3801が空間ストレージのクライアントで、 3803はリレーショナルデータベースや X MLデータベースなどである。そして、 3801、 3802、 3803間を、 3804、 3805によつ て通信している。 3804、 3805の通信は空間の分散管理で使用されている通信手段 でよい。
産業上の利用可能性
[0295] 間を利用するにあたって最も強力な機能は重ね合わせ計算処理部 4211による空間 の重ね合わせを利用した処理である。これによつて曖昧なデータから、より意味的に 詳細な情報へと容易に変換することが可能となる。最先端技術、医療、法律、情報科 学などの技術データベース、インターネット上での知識検索、交換などでの使用が、 最も効果的と思われる。他の情報管理手法に比べて、より曖昧で複雑なデータを扱う ほど本発明の効果は大きくなる。また、人間の感性的な情報を利用できるので、絵画 、映画、音楽情報などの芸術データベースなどにも効果的である。また、重ね合わせ 計算処理部 4211による空間の重ね合わせ処理によって学習的検索も可能であるた め、教育機関の学習用検索装置なども考えられる。さらに、個人の小型情報データ ベース、ファイル管理プログラムとしても十分効果的である。また、 RDFや OWLといつ たセマンティクスウェブ技術やマイクロソフトの提唱する WinFSとも異なる技術である 1S 相反するものではなぐこれらの技術の内部または、本発明の内部にそれらの技 術を使用することはより効果的な情報管理システムの構築を可能とする。以下にイン ターネットのディレクトリ型検検索エンジンに適用する場合について説明する。現在、 インターネット検索エンジンには googleなどで使用される、ロボット型検索エンジンな どが主流である。しかし、ディレクトリ型検索エンジンには比較的に厳選されたサイト が登録されており、まとまった特定の情報をしらみつぶしに調べるような場合には有 効な検索エンジンと言える。
[0296] 代表的なディレクトリ型検索エンジンには Yahooカテゴリや googleディレクトリといったも のが代表的と言える。
[0297] 図 152は本発明を適用した検索エンジンシステムである。 7111、 7112、 7113は検 索エンジンを利用するユーザを表して 、る。ユーザはインターネットエクスプローラな どの Webブラウザや、その他の通信プログラムを使用して、情報通信網 15を通して 検索エンジン装置 7101へ接続する。この実装では、情報提供インタフェース部 710 2が検索エンジンとしてのインタフェース機能を実装し、 Webサイトのアドレスや名前を 空間データ部に格納している。重ね合わせ処理を行う必要があれば、情報空間処理 装置 4000を使用して計算を行い、結果を 7102を通じてユーザに配信される。
[0298] 基本的にディレクトリ型検索エンジンは人、または、コンピュータによって Webサイトを カテゴリ別に分類してツリー状の情報を作成し、検索者はカテゴリをたどることで情報 を見つけることができる。
[0299] 通常、ディレクトリ型検索エンジンを使用して Webページを検索する場合、カテゴライ ズされた階層を一つずっ迪り、 目的の Webサイトを探す方法が一般的であるが、検索 ボックスに情報を入力することで検索するものもある。
[0300] ディレクトリ型検索エンジンに本発明を適用する場合は、 Webサイトのタイトルゃァドレ スをノードに結びつけて、分類階層を空間とする。図 153がディレクトリ型検索ェンジ ンのカテゴライズの一例を部分的に省略して示して 、る。カテゴライズされた空間は 順に迪ることで、 目的の情報へ到達することができる。例えば、サッカーに関する-ュ ース情報を知りたいのであれば、ニュース > スポーツ-ユース > サッカー-ュ 一スと迪つて行けば、 7121、 7122、 7123といった適切なサイトへ到達できる。
[0301] 重ね合わせ処理を使用する前提で空間を設計すれば、通常は役に立たないカテゴ ライズも有用な分類情報になる。例をあげれば、 Webサイトの登録日別や対応言語で 分類した空間などである。 こう 、つた空間は単体では Webページの分類情報として はほとんど無価値であると 、えるが、重ね合わせ処理を利用すれば有意義な情報と なる。こう 、つた情報は単体ではあまり価値がな 、ため Webサイトの分類では作成さ れない。しかし、こういった情報は重ね合わせ処理を利用するシステムとしては有効 な付加価値情報となる。
[0302] 検索エンジンシステム 7100を使用することで、絶えず変動する情報を利用して検索 することも容易になる。例えば、 Webページへのアクセスランキングを使用する場合に ついて考える。図 154にアクセスランキングの情報を空間 7131にした様子を示して いる。こういった情報は時間によって変化する。また、単体では興味本位のデータで 、それほど有意義なデータではないため、通常のインデックス型の検索エンジンでは カテゴリ化されにくい。しかし、アクセスランキング空間を作成すれば、「探している力 テゴリの Webサイトでありながら、アクセスランキング 1〜2000位のもの」といったより 付加価値をつける検索が重ね合わせ処理により容易に可能となる。この結果、ユー ザの求める情報原である可能性の高い Webサイトを絞り込むことができるのである。
[0303] 本発明を使用する場合、空間の拡張は基本的にはノードに影響を与えない。そのた め、検索エンジンシステム 7100においても空間の拡張は比較的容易に行うことがで きる。そのため、様々な切り口で空間を作成、および、追加することで、 Webページ検 索のノリエーシヨンを大幅に増やすことができる。また、主観的な情報で空間を作成 してもユーザがそれを理解できれば重ね合わせによる情報検索を使用することがで きる。
[0304] 検索エンジンシステム 7100において、実際に空間を主観的に拡張する場合と、その 効果を説明する。空間データ部 4201に作成された、図 154の空間に対して新たな 空間 7132を追加した図面が図 155である。この空間 7132は有名なオピニオンリ一 ダ一と呼ばれるような著名人のお薦めサイトが列挙されている。ここで、先ほどの検索 「探しているジャンルでありながら、アクセスランキング 1〜2000位のもの」に対して、 さらに空間 7133との重ね合わせを追加することで、「探しているジャンルでありながら 、アクセスランキング 1〜2000位のもの、かつ、著名人 A氏がお勧めするサイト」という ようなより特殊な検索を行うことができる。このように、様々な空間を選択して重ね合わ せることで、分析に近い検索が可能となる。このように、様々な空間をカ卩えたり、減らし たりしながら重ね合わせ処理を利用することで、ユーザは様々な見方でインターネッ トの情報を検索できるのである。
[0305] 以下に掲示板システムに対して、本発明を適用した場合の実例を利用方法を説明す る。掲示板システムとは、インターネットなどの情報通信ネットワークを通じて、多数の 人々が情報を掲示板に書き込むことで、情報を共有するシステムである。
[0306] 以下に本発明を使用した掲示板システムの実装例を説明する。図 156の掲示板シス テム 7300は本発明を使用することで、検索システムが強化された掲示板システムで ある。 7311、 7312、 7313は掲示板を利用する掲示板ユーザを表している。掲示板 システム 7300では掲示板の情報と空間情報を結びつけ管理して 、る。ユーザはイン ターネットエクスプローラなどの Webブラウザやその他の通信プログラムを使用して、 情報通信網 15を通して掲示板装置 7301へ接続する。ユーザは任意の情報を掲示 板装置 7301に転送し、議論や情報交換を行う。
[0307] 一般的な掲示板システムでは話題単位で一つの掲示板が作成される。これを通常、 掲示板のスレッドと呼ばれる。スレッドはメッセージを書き込む複数のメッセージボード 力 成り立つている。
[0308] 掲示板をについて説明する。図 157はある掲示板を単純に表したものである。 7321 が掲示板の話題の単位であるスレッドを意味し、 7322がメッセージボードを意味する 。ユーザ力 Sメッセージボードに対して文章などを転送し、それを見た他のユーザがレ スポンスを新たなメッセージとして転送する。図 158はツリー型の掲示板である。この 場合、それぞれの任意のメッセージボードに対してレスポンスを返すことができる。例 えばメッセージボード 7327は 7326に対するレスポンスメッセージボードである。
[0309] 世界中の掲示板システムには日々膨大な量の情報が蓄積されている。しかし、大半 の情報が整理されておらず、テキストのかたまりとしてログファイルの中に存在して!/ヽ るといえる。これらの情報を本発明により、テキストマッチング以外の検索方法を適用 することで、過去の情報に対してより深い分析を行うことを可能とする。
[0310] 掲示板システム 7300に本発明を適用する場合は、メッセージボートをノード、掲示板 を空間として重ね合わせ処理を行って計算する方法が良い。この場合、図 157の掲 示板は図 159のように表すことができる。この場合、メッセージボード 732はノード 73 23と対応しており、メッセージボード 7323はノード 7333と対応している。また、同様 に図 158のツリー型掲示板は図 160のように表すことができる。この場合メッセージボ ード 7326はノード 7336と、メッセージボード 7328はノード 7338と対応して!/ヽる。
[0311] 掲示板を使って複数の人間が議論を行っているとする。ここで、過去にも似たような 議論が行われて!/、るかどうかを調査する場合、過去の掲示板と重ね合わせ処理を行 うことで、似たような議論を引っ張りだすことができる。
[0312] スレッド全体、または、一部で、他の掲示板のスレッドと重ね合わせ処理を行えば、類 似したスレッドを見つけることも可能になる。比較検討処理などを利用すれば似たも の同士を比較してスコアを足し合わせた時、似ていれば似ているほど、スコアは大き くなる。そのため、掲示板のノードの数とスコアの大きさで類似度を算出することが可 能となり、「内容の近い掲示板を見つけ出す」といった検索が可能となる。
[0313] 理論上は等価評価によるものよりも、比較検討による重み付けの方がテキスト情報な どを扱いやすいと言える力 計算コストは非常に大きい。そのため、システムとして実 装する場合はあら力じめメッセージボードのテキスト情報をベクトル情報などの検索処 理用の情報に置き換えて空間データ部 4201に情報を保存し、その情報に対して比 較検討重み付けなどを行う方法が一般的と 、える。
[0314] また、掲示板の議論の白熱や内容の細分ィ匕によってスレッドが大きくなりすぎる場合 もある。このような場合、このスレッド単体で比較検討重み付け処理を行えば、全体と して重要なメッセージボードを浮かび上がらせることができる。

Claims

請求の範囲
[1] ひとまとまりの情報であるノードの集合で形成された一つ、または、複数の空間に対 する評価を行う情報空間評価装置であって、
前記空間から情報を取得するデータ取得部と、
取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね 合わせ計算を行う重ね合わせ計算処理部と、
前記重ね合わせ計算処理部による重ね合わせ計算の結果を出力するデータ出力 部と
を備えることを特徴とする情報空間評価装置。
[2] 前記重ね合わせ計算処理部は、
前記ノードどうしが等価であると見なすことができる力否かを評価する等価評価部と 前記等価評価部による評価に基づいて、前記異なる空間に対して、比較計算をし、 その結果を前記関連性として算出する演算処理部とを有する
ことを特徴とする請求項 1記載の情報空間評価装置。
[3] 前記演算処理部は、前記等価評価部による評価に対して、一定の条件を満たすか 否かを判断することによって真偽を求め、前記異なる空間どうしの真偽を論理演算す ることによって、前記比較計算をする論理演算部を有する
ことを特徴とする請求項 2記載の情報空間評価装置。
[4] 前記論理演算部は、前記等価評価部によって等価と評価された前記ノードの数が 指定された範囲なのか否かで前記真偽を求める
ことを特徴とする請求項 3記載の情報空間評価装置。
[5] 前記演算処理部は、
前記等価評価部によって等価と判断されたノードの数を数え上げ、数え上げた数 に依存する値を空間又はノードに対する重みとして重み付け処理をする重み付け計 算部と
重み付け計算部で得られた重みを用いて、前記比較計算をする統合計算演算部と を有する ことを特徴とする請求項 2記載の情報空間評価装置。
[6] 前記重み付け計算部は、前記等価評価部によって等価と評価されたノードについ ては、それぞれの前記空間で 1つのノードとして数え上げる計算する一意化処理をす る
ことを特徴とする請求項 5記載の情報空間評価装置。
[7] 前記重み付け計算部は、前記重みに対して、それぞれの前記空間で等価と評価さ れたノードの数で除算を行って得られる値を新たな重みとして、前記重み付け処理を する
ことを特徴とする請求項 6記載の情報空間評価装置。
[8] 前記重み付け計算部は、前記空間またはノードに応じて、数え上げたノードの数か ら重みを決定する際の依存関係を変化させる
ことを特徴とする請求項 5記載の情報空間評価装置。
[9] 前記重み付け計算部は、それぞれの空間の重みを計算のオペランドとして使用す ることによって前記重みを特定する
ことを特徴とする請求項 5記載の情報空間評価装置。
[10] 前記重み付け計算部は、前記計算において四則演算を使用する
ことを特徴とする請求項 9記載の情報空間評価装置。
[11] 前記等価評価部は、前記ノードに結びついた情報であるプロパティを使用すること によって、前記等価を評価する
ことを特徴とする請求項 2記載の情報空間評価装置。
[12] 前記等価評価部は、前記ノードの型を表すノードタイプを使用することによって、前 記等価を評価する
ことを特徴とする請求項 2記載の情報空間評価装置。
[13] 前記等価評価部は、同じと見なせるが空間上では異なり、かつ、一方における変化 が他方にも適応される性質をもつお互いに同期しているノードを等価とする同期点等 価評価によって、前記等価を評価する
ことを特徴とする請求項 2記載の情報空間評価装置。
[14] 前記等価評価部は、プログラム言語、または、スクリプト言語による判断で前記等価 を評価する
ことを特徴とする請求項 2記載の情報空間評価装置。
[15] 前記等価評価は、外部プログラムによる判断で前記等価を評価する
ことを特徴とする請求項 2記載の情報空間評価装置。
[16] 前記等価評価部は、空間に存在するノードをすべてお互いに異なるものとして扱う 完全独立等価評価によって前記等価を評価する
ことを特徴とする請求項 2記載の情報空間評価装置。
[17] 前記情報空間評価装置はさらに、
前記空間に存在するノード、または、前記ノードの情報をソート状態で前記空間別 のデータコンテナへ格納するソート済みコンテナ作成部と、
ソート済みデータコンテナに対して線形走査による計算とマージ処理によって一つ の結果を導くマージ計算部とを備え、
前記重ね合わせ計算処理部は、前記マージ計算部によってマージ処理された空 間に対して、前記重ね合わせ計算をする
ことを特徴とする請求項 1記載の情報空間評価装置。
[18] 前記重ね合わせ計算処理部は、
前記ノードと前記ノードとの比較計算を行い、関連度を算出する比較検討部と、 前記比較検討部による評価に基づいて、前記重ね合わせ計算をする比較検討重ね 合わせ処理によって前記空間どうしの関連性を算出する
ことを特徴とする請求項 1記載の情報空間評価装置。
[19] 前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、重みを 求める比較検討重み付け処理をする
ことを特徴とする請求項 18記載の情報空間評価装置。
[20] 前記重ね合わせ計算処理部は、前記比較による値を計算のオペランドとして使用 して計算することで前記関連性を算出する
ことを特徴とする請求項 19記載の情報空間評価装置。
[21] 前記重ね合わせ計算処理部は、前記比較による値を計算のオペランドとして使用 する場合において、計算に四則演算を利用する ことを特徴とする請求項 20記載の情報空間評価装置。
[22] 前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理にぉ 、て、空間全 体を使用して比較を行う全比較型の比較をする
ことを特徴とする請求項 18記載の情報空間評価装置。
[23] 前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理にぉ 、て、外部の 空間のノードと比較を行う外比較型の比較をする
ことを特徴とする請求項 18記載の情報空間評価装置。
[24] 前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理において、内部の 空間のノードと比較を行う内比較型の比較をする
ことを特徴とする請求項 18記載の情報空間評価装置。
[25] 前記重ね合わせ計算処理部は、前記比較検討重ね合わせ処理によって空間又は ノードに対する重みを算出し、算出した重みを使用して一定の条件に対する真偽を 求め、求めた真偽を論理演算する比較検討論理演算をする
ことを特徴とする請求項 18記載の情報空間評価装置。
[26] 前記演算処理部は、
前記等価評価部によって等価と判断されたノードの数を数え上げ、数え上げた数 に依存する値を空間又はノードに対する重みとして重み付けする等価重み付け処理 と、前記ノードと前記ノードとの比較を用いた前記重ね合わせ計算をすることによって 前記重み付けをする比較検討重み付け処理をする重み付け計算部と、
前記重み付け計算部で得られた重みを用いて、前記比較計算をする統合計算演 算部とを有する
ことを特徴とする請求項 2記載の情報空間評価装置。
[27] 前記統合計算演算部は、
前記重み付け処理によって得られた結果を特定の等価評価を基準として分類、お よび、統合する分類統合部と、
前記分類統合部の結果を計算のオペランドとして使用して計算する統合計算部と を有する
ことを特徴とする請求項 26記載の情報空間評価装置。
[28] 前記分類統合部は、同じと見なせるが空間上では異なり、かつ、一方における変化 が他方にも適応される性質をもつお互いに同期しているノードを等価とする同期点等 価評価によって、前記等価評価をする
ことを特徴とする請求項 27記載の情報空間評価装置。
[29] 前記分類統合部は、空間に存在するノードをすべてお互いに異なるものとして扱う 完全独立等価評価によって前記等価評価をする
ことを特徴とする請求項 27記載の情報空間評価装置。
[30] 前記統合計算部は、前記分類統合部の結果に対して四則演算による計算を行う ことを特徴とする請求項 27記載の情報空間評価装置。
[31] 前記重み付け計算部は、導き出された結果に対して求める重みの値を加工する重 みカ卩ェ処理を行う
ことを特徴とする請求項 5記載の情報空間評価装置。
[32] 前記重み付け計算部は、前記重み加工処理において、論理演算により加工する重 みを特定する
ことを特徴とする請求項 31記載の情報空間評価装置。
[33] 前記重ね合わせ計算処理部はさらに、前記演算処理部で得られた結果を特定の 条件で絞り込み、その結果を重ね合わせ計算処理部の結果として出力するフィルタリ ング部を有する
ことを特徴とする請求項 2記載の情報空間評価装置。
[34] 前記フィルタリング部は、前記空間の論理演算による絞り込みを行う
ことを特徴とする請求項 33記載の情報空間評価装置。
[35] 前記フィルタリング部は、特定のノードかどうかを判定する判定式を使用して絞り込 みを行う
ことを特徴とする請求項 34記載の情報空間評価装置。
[36] 前記情報空間評価装置はさらに、前記複数の空間を一つの空間として扱う処理で ある空間の射影化を行う射影部を備える
ことを特徴とする請求項 1記載の情報空間評価装置。
[37] 前記射影部は、空間を構成するノード単位で画一的な構造を作り出すノード射影 化を行う
ことを特徴とする請求項 36記載の情報空間評価装置。
[38] 前記空間は、空間を構成するノードどうしが連結関係を示す情報であるリンクによつ て連結されたリンク空間であり、
前記射影部は、ノードのリンク構成そのものを複数作り出す事で前記射影化をする リンク射影化を行う
ことを特徴とする請求項 37記載の情報空間評価装置。
[39] 前記射影部は、空間に対してデータを結びつけることで前記射影化を行う
ことを特徴とする請求項 37記載の情報空間評価装置。
[40] 前記射影部は、ノードであるが空間としても使用することができる独立空間ノードを 使用することで前記射影化を行う
ことを特徴とする請求項 37記載の情報空間評価装置。
[41] 前記空間は、空間を構成するノードどうしが連結関係を示す情報であるリンクによつ て連結されたリンク空間である
ことを特徴とする請求項 1記載の情報空間評価装置。
[42] 前記リンク空間は、親子関係のリンクで形成された階層空間である
ことを特徴とする請求項 42記載の情報空間評価装置。
[43] 前記空間は、単なるノードの集合である無形空間であること
ことを特徴とする請求項 1記載の情報空間評価装置。
[44] 前記空間は、論理的な空間である
ことを特徴とする請求項 1記載の情報空間評価装置。
[45] 前記空間は、ノードそのものに情報を付加するのではなぐノードと並行的に付カロ 情報が与えられたレイヤー構造を有する
ことを特徴とする請求項 1記載の情報空間評価装置。
[46] 前記レイヤーは、空間の構造そのものに対して前記レイヤーを付加する構造レイヤ 一である
ことを特徴とする請求項 45記載の情報空間評価装置。
[47] 前記レイヤーは、実体そのものに対して前記レイヤーを付加する実体レイヤーであ る
ことを特徴とする請求項 45記載の情報空間評価装置。
[48] 前記レイヤーは、レイヤーにセキュリティ情報が付加されたセキュリティレイヤーであ る
ことを特徴とする請求項 45記載の情報空間評価装置。
[49] 前記レイヤーは、レイヤーに空間の変化、空間に対する命令、または、時間的変移 を内部、または、外部ユーザに通知するイベント情報が付加されたイベントレイヤー である
ことを特徴とする請求項 45記載の情報空間評価装置。
[50] 前記情報空間評価装置はさらに、
前記空間を構成するノードを追加することによって空間を拡張する自動分類処理部 を備え、
前記自動分類処理部は、
前記ノード、または、前記ノードに対応づけられた情報を取得して処理を開始する 自動化処理開始部と、
前記ノードのリンクを迪る巡回部と、
前記巡回部において巡回したノードに新たなノードを追加する場合に、適切かどう かを判断する存在可否条件式を使用して適切カゝどうかを判断する存在可否条件判 定部と、
前記存在可否条件判定部により追加が適切と判定された場合に、ノードを追加す る追加部とを有する
ことを特徴とする請求項 1記載の情報空間評価装置。
[51] 前記追加部は、二番目以降に追加するノードがそれぞれ異なる実体として追加さ れる個別型自動追加をする
ことを特徴とする請求項 50記載の情報空間評価装置。
[52] 前記追加部は、同じと見なせるが空間上では異なり、かつ、一方における変化が他 方にも適応される性質をもつノードどうしを、同期した状態と呼ぶ場合において、二番 目以降に追加されるノードが最初に追加されたノードの同期した状態で追加される同 期型自動追加をする
ことを特徴とする請求項 50記載の情報空間評価装置。
[53] 前記追加部は、二番目以降に追加されるノードが最初に追加されたノードへのリン クの追加となるリンク型自動追加をする
ことを特徴とする請求項 50記載の情報空間評価装置。
[54] 前記追加部は、ノードの追加と共に前記存在可否条件式を設定する
ことを特徴とする請求項 50記載の情報空間評価装置。
[55] 前記巡回部は、巡回時にノードのリンクを迪つて巡回するかどうか判定する巡回可 否条件式を使用し、巡回不可と判断された場合に、リンクされたノードの巡回を行わ ない
ことを特徴とする請求項 50記載の情報空間評価装置。
[56] ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行 う情報空間評価方法であって、
前記空間から情報を取得するデータ取得ステップと、
取得された情報に基づいて、異なる空間どうしの関連性を算出する処理である重ね 合わせ計算を行う重ね合わせ計算処理ステップと、
前記重ね合わせ計算処理ステップによる重ね合わせ計算の結果を出力するデータ 出力ステップと
を含むことを特徴とする情報空間評価方法。
[57] ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行 う情報空間評価装置のためにプログラムであって、
請求項 56記載のステップをコンピュータに実行させる
ことを特徴とするプログラム。
[58] ひとまとまりの情報であるノードの集合で形成された複数の空間に対する評価を行 う情報空間評価装置のためにプログラムが記録されたコンピュータ読み取り可能な記 録媒体であって、
請求項 57記載のプログラムが記録されて 、る
ことを特徴とする記録媒体。
[59] 前記情報空間評価装置に対して、情報通信網を介して接続することで前記情報空 間評価装置の出力する情報を得ることができる情報接続部を備える情報受信装置。
[60] 前記情報接続部は、重ね合わせ計算の結果に依存する情報を得ることができること を特徴とする請求項 59記載の情報受信装置。
PCT/JP2005/010856 2004-06-14 2005-06-14 情報空間処理装置、プログラム、および、方法 WO2005122014A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006514606A JPWO2005122014A1 (ja) 2004-06-14 2005-06-14 情報空間処理装置、プログラム、および、方法
JP2007523391A JPWO2007000893A1 (ja) 2005-06-14 2006-06-14 情報空間処理装置、プログラム、および、方法
PCT/JP2006/311903 WO2007000893A1 (ja) 2005-06-14 2006-06-14 情報空間処理装置、プログラム、および、方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-175714 2004-06-14
JP2004175714 2004-06-14

Publications (2)

Publication Number Publication Date
WO2005122014A2 true WO2005122014A2 (ja) 2005-12-22
WO2005122014A1 WO2005122014A1 (ja) 2005-12-22

Family

ID=

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007000893A1 (ja) * 2005-06-14 2007-01-04 Mitsuhiro Tanada 情報空間処理装置、プログラム、および、方法
JP2008225997A (ja) * 2007-03-14 2008-09-25 Nippon Telegr & Teleph Corp <Ntt> メタデータ管理方法、メタデータ管理システム、及び、メタデータ管理プログラム
JPWO2007000893A1 (ja) * 2005-06-14 2009-01-22 充弘 店田 情報空間処理装置、プログラム、および、方法
US8818930B2 (en) 2009-05-18 2014-08-26 Takatoshi Yanase Knowledge base system, logic operation method, program, and recording medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007000893A1 (ja) * 2005-06-14 2007-01-04 Mitsuhiro Tanada 情報空間処理装置、プログラム、および、方法
JPWO2007000893A1 (ja) * 2005-06-14 2009-01-22 充弘 店田 情報空間処理装置、プログラム、および、方法
JP2008225997A (ja) * 2007-03-14 2008-09-25 Nippon Telegr & Teleph Corp <Ntt> メタデータ管理方法、メタデータ管理システム、及び、メタデータ管理プログラム
US8818930B2 (en) 2009-05-18 2014-08-26 Takatoshi Yanase Knowledge base system, logic operation method, program, and recording medium

Also Published As

Publication number Publication date
JPWO2005122014A1 (ja) 2008-04-10

Similar Documents

Publication Publication Date Title
Baca Introduction to metadata
Aggarwal et al. Text mining in social networks
US8290923B2 (en) Performing large scale structured search allowing partial schema changes without system downtime
US20080104032A1 (en) Method and System for Organizing Items
Salatino et al. Improving editorial workflow and metadata quality at springer nature
Khan et al. Weblens: Towards interactive large-scale structured data profiling
Xu et al. Application of rough concept lattice model in construction of ontology and semantic annotation in semantic web of things
Wei et al. DF-Miner: Domain-specific facet mining by leveraging the hyperlink structure of Wikipedia
Collarana et al. Fuhsen: A federated hybrid search engine for building a knowledge graph on-demand (short paper)
Za et al. Knowledge creation processes in information systems and management: Lessons from simulation studies
Jupp et al. A flexible API and editor for SKOS
Priss Facet-like structures in computer science
Ke et al. Structure and pattern of social tags for keyword selection behaviors
Nešić Semantic document model to enhance data and knowledge interoperability
Zhang et al. An exploratory study on utilising the web of linked data for product data mining
WO2007000893A1 (ja) 情報空間処理装置、プログラム、および、方法
Signore The semantic web and cultural heritage: Ontologies and technologies help in accessing museum information
Stoilos et al. An ontology-based interactive system for understanding user queries
Kurki et al. Authority control of people and organizations on the semantic web
Wei et al. ExNa: an efficient search pattern for semantic search engines
Mimouni et al. Answering complex queries on legal networks: A direct and a structured IR approaches
WO2005122014A2 (ja) 情報空間処理装置、プログラム、および、方法
Stegemann et al. Interactive construction of semantic widgets for visualizing semantic web data
CN101452462A (zh) 用于自动建立网络上信息对象之间层次结构的方法和系统
Chen et al. A bag-of-semantics model for image clustering

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase in:

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2006514606

Country of ref document: JP

122 Ep: pct application non-entry in european phase

Ref document number: 05751172

Country of ref document: EP

Kind code of ref document: A2