WO2014167702A1 - 計算機、データ処理方法、及び、非一時的な記録媒体 - Google Patents

計算機、データ処理方法、及び、非一時的な記録媒体 Download PDF

Info

Publication number
WO2014167702A1
WO2014167702A1 PCT/JP2013/061027 JP2013061027W WO2014167702A1 WO 2014167702 A1 WO2014167702 A1 WO 2014167702A1 JP 2013061027 W JP2013061027 W JP 2013061027W WO 2014167702 A1 WO2014167702 A1 WO 2014167702A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
data
messages
search
message
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2013/061027
Other languages
English (en)
French (fr)
Inventor
岐勇 飯島
菅谷 奈津子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to US14/428,208 priority Critical patent/US20150234872A1/en
Priority to PCT/JP2013/061027 priority patent/WO2014167702A1/ja
Priority to JP2015511042A priority patent/JP5922306B2/ja
Publication of WO2014167702A1 publication Critical patent/WO2014167702A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Definitions

  • the present invention relates to a computer.
  • SMS short messaging service
  • SMS social networking services
  • free call services that have become popular in recent years are realized by messenger software.
  • this messenger software a technique similar to SMS is adopted as a technique for transmitting and receiving information between users, not an e-mail technique, but a short sentence and a small amount of information.
  • a message for asking another user a question and a message for answering this question are different messages, and each is stored as a plurality of data. For this reason, the start and end of information having one theme are not included in one message, and information having one theme is divided into a plurality of messages.
  • the user browses the transmitted / received messages in the order of the transmitted / received time, and accumulates the browsed contents in the user's brain to generate context-related information.
  • the computer extracts and references only one piece of data after the period when the data was sent and received, the data generated and transmitted before and after the extracted data and strongly related to the extracted data Without reference, it is impossible to obtain information that the user wants.
  • a method is considered in which a plurality of messages are grouped in some unit and the grouped messages are provided to the user as a search result.
  • step S2 the document attribute processing unit 22 extracts attribute information (header information such as a message ID) from the e-mail document acquired and supplied by the document acquisition unit 21 in step S1. Then, based on the attribute information, the documents are grouped (that is, grouped for each topic) and supplied to the document content processing unit 23 and the document feature database creation unit 24 ”.
  • attribute information header information such as a message ID
  • a method is considered in which a plurality of messages are grouped in some unit and shown as a search result.
  • a method for grouping messages In the case of generating a group based on bibliographic information such as a sender as in the technique of Patent Document 1, there is a method for grouping messages. Noise (data having information that does not match the search condition) is included. This is because even the same sender may transmit a plurality of topics, and one unit generated by bibliographic information may include a plurality of themes.
  • An object of the present invention is to provide a method for appropriately collecting a plurality of data in order to output search results that are meaningful to the user.
  • a computer having a processor and a memory for storing a program executed by the processor, the memory having a data set storage unit, and the data set storage unit being A plurality of messages generated as information constituting at least one theme, each of the plurality of messages not including the at least one theme, and the computer includes at least one of the messages And a unit generator for reconfiguring a plurality of messages stored in the data set storage unit into at least one data unit indicating the theme, and a message included in the reconfigured data unit
  • the index generation unit for generating an index and the search condition for searching for the plurality of messages are received.
  • a search execution unit that specifies the data unit corresponding to the search condition based on the generated index and the search condition, and a result output that outputs a search result based on the specified data unit Part.
  • a search result that is meaningful to the user can be output by collecting a plurality of messages into search units.
  • the computer reconstructs a group of data (search unit) including a desired meaning from a plurality of pieces of data including information divided into a plurality of pieces.
  • FIG. 1 is a block diagram showing a physical configuration and a logical configuration of the computer system of this embodiment.
  • the computer system of this embodiment includes a search server 10, a search client 20, an instruction client 30, a storage medium 40, and a network 50.
  • the search server 10 is a computer that changes the configuration of a plurality of data.
  • the search client 20 is a computer that inputs search conditions to the search server 10 and receives search results from the search server 10.
  • the instruction client 30 is a computer that inputs conditions for collecting a plurality of data to the search server 10.
  • the storage medium 40 is a storage device that holds data to be searched.
  • the storage medium 40 may be any device as long as it stores data, and may be, for example, a hard disk or an SSD (Solid State Drive).
  • the network 50 connects the search server 10, the search client 20, and the instruction client 30.
  • the network 50 may be a LAN or the Internet.
  • the search server 10, the search client 20, and the instruction client 30 shown in FIG. 1 are each implemented in different devices, but all the computers may be implemented in one device, or at least two computers are in one device. It may be implemented in a device.
  • search server 10 and the storage medium 40 shown in FIG. 1 are implemented by different devices, but may be implemented by one device.
  • the search client 20 has a CPU 21, a main memory 22, an output device 23, an input device 24, and a network port 25 as physical configurations.
  • the physical configuration of the search client 20 is connected to each other by a bus.
  • the CPU 21 is an arithmetic unit and executes a program held in the main memory 22.
  • the CPU 21 may be any processor other than a CPU (Central Processor Unit) as long as it is an arithmetic device.
  • the main memory 22 is a storage device that holds programs and data.
  • the output device 23 is connected to a printer, a display, or the like, and outputs a processing result or the like in the search server 10.
  • the input device 24 is connected to a mouse or a keyboard and receives instructions from the user.
  • the output device 23 and the input device 24 may be connected to a device capable of input and output, such as a touch panel.
  • the network port 25 is a port for the search client 20 to connect to the network 50.
  • the instruction client 30 has a CPU 31, a main memory 32, an output device 33, an input device 34, and a network port 35 as physical configurations.
  • the physical configuration of the instruction client 30 is connected to each other by a bus.
  • the CPU 31 is an arithmetic unit and executes a program stored in the main memory 32.
  • the CPU 31 may be any processor other than the CPU as long as it is an arithmetic device.
  • the main memory 32 is a storage device that holds programs and data.
  • the output device 33 is connected to a printer, a display, or the like, and outputs a processing result or the like in the search server 10.
  • the input device 34 is connected to a mouse or a keyboard and receives instructions from the user.
  • the output device 33 and the input device 34 may be connected to a device capable of input and output, such as a touch panel.
  • the network port 35 is a port for the instruction client 30 to connect to the network 50.
  • the search server 10 has a CPU 11, a main memory 12, an output device 13, an input device 14, a network port 15, and a storage port 16 as physical configurations.
  • the physical configuration of the search server 10 is connected to each other by a bus.
  • the CPU 11 is an arithmetic unit and executes a program stored in the main memory 12.
  • the CPU 11 may be any processor other than the CPU as long as it is an arithmetic device.
  • the main memory 12 is a storage device that holds programs and data.
  • the output device 13 is connected to a printer, a display, or the like, and outputs a processing result or the like in the search server 10.
  • the input device 14 is connected to a mouse or a keyboard. Further, the output device 13 and the input device 14 may be connected to a device capable of input and output, such as a touch panel.
  • the network port 15 is a port for connecting the search server 10 to the network 50.
  • the storage port 16 is a port for the search server 10 to connect to the storage medium 40.
  • the main memory 12 includes a system control unit 100, an index control unit 101, an information extraction unit 102, a unit generation unit 103, an index generation unit 104, a search control unit 107, a condition reception unit 108, a search execution unit 109, a result generation unit 110, and
  • the result output unit 111 is included as a program that implements the function of the search server 10.
  • the main memory 12 shown in FIG. 1 has index generation information 105, a bibliographic information table 112, and at least one extracted data table 106.
  • the index generation information 105, the extracted data table 106, and the bibliographic information table 112 may be stored in a device different from the device that implements the search server 10.
  • the system control unit 100 controls the index control unit 101 and the search control unit 107.
  • the index control unit 101 controls the information extraction unit 102, the unit generation unit 103, and the index generation unit 104.
  • the search control unit 107 controls the condition reception unit 108, the search execution unit 109, the result generation unit 110, and the result output unit 111.
  • the information extraction unit 102 acquires a plurality of designated data from the target data set 41 and extracts bibliographic information from the acquired plurality of data. Then, the information extraction unit 102 stores the extracted bibliographic information in the bibliographic information table 112.
  • the unit generation unit 103 uses the bibliographic information table 112 to store in the search unit table 42 a combination of at least one piece of data in the target data set 41 and the search unit.
  • the index generation unit 104 generates the search unit index 43 using the search unit stored in the search unit table 42.
  • the condition receiving unit 108 acquires search conditions. Then, the condition reception unit 108 converts the acquired search condition into a format for processing by the search execution unit 109.
  • the search execution unit 109 searches the search unit index 43.
  • the result generation unit 110 extracts data from the target data set 41 using the search unit table 42, and generates a search result by combining the extracted data.
  • the result output unit 111 transmits the search result generated by the result generation unit 110 to the search client 20.
  • the index generation information 105 is information for designating data of the target data set 41.
  • the extracted data table 106 shows data extracted according to the combination of users who exchanged messages.
  • the bibliographic information table 112 includes bibliographic information of data of the target data set 41.
  • the search server 10 implements each function by a program, but each function of the search server 10 may be implemented by a physical device such as an integrated circuit.
  • the index generation information 105, the bibliographic information table 112, and the extraction data table 106 shown below hold information according to the table format.
  • the index generation information 105, the bibliographic information table 112, and the extraction data table 106 of this embodiment are Information may be held in any format such as CSV.
  • the storage medium 40 is connected to the search server 10 via the storage port 16 of the search server 10.
  • the target data set 41 stores data of messages exchanged by a plurality of users.
  • the search unit table 42 stores the search units reconstructed by the unit generation unit 103.
  • the search unit index 43 stores an index and a search unit.
  • the index setting 44 stores parameters indicating a method for generating a search unit and the like.
  • the target data set 41, the search unit table 42, the search unit index 43, and the index setting 44 may be stored in the main memory 12, or may be stored in a device different from the device in which the storage medium 40 is mounted. .
  • FIG. 2A is an explanatory diagram showing an example of messages exchanged by e-mail according to the present embodiment.
  • a message 600 shown in FIG. 2A is a message transmitted from the user 61 to the user 60 by electronic mail.
  • the address of the user 60 is taro @ hi. and the address of the user 61 is hanako @ hi. com.
  • the message 600 includes information exchanged between the user 60 and the user 61 as a history.
  • the message 600 includes information about the topics of the user 60 and the user 61 that can be understood by the user.
  • the information that can be understood by the user is the topic context
  • the topic context is the background and background of the topic, and the explanation of the background and background of the topic.
  • the computer can effectively retrieve information exchanged by the user 60 and the user 61 according to one theme from one data of one message 600.
  • the message shown in FIG. 2A is an e-mail, but one piece of data that can be effectively searched by the computer includes one piece of data such as an electronic patent specification, a paper, a newspaper article, and a blog article.
  • FIG. 2B is an explanatory diagram showing a plurality of messages having one theme of the present embodiment.
  • the contents included in the message 600 are divided and included in each of the messages 601 to 607 shown in FIG. 2B.
  • the user 60 transmits a part of the content of the message 600 to the user 61 as one message indicating a question or an answer.
  • the messages 601 to 607 shown in FIG. 2B are messages transmitted by SMS, for example. Each data of the message 601 to the message 607 is independent.
  • the user 60 receives a message 600 from the user 61, and the computer converts all message data exchanged between the user 60 and the user 61 into “product A”, “execution authority”, and “ When the search is performed according to the search condition “error”, the computer can acquire “execute with administrator authority” of the message 600 as a search result indicating a solution. This is because the data of the message 600 includes character strings such as “product A is ...” and “error without execution authority ...”.
  • the user 60 and the user 61 exchange messages 601 to 607, and the computer exchanges all messages exchanged between the user 60 and the user 61 with “product A”, “execution authority”.
  • the search is performed according to the search conditions “” and “error”, the computer cannot obtain the search result.
  • the messages 601 to 607 do not include messages including all the search conditions of “product A”, “execution authority”, and “error”. This is also because the character string indicating the solution is included in a message different from the message including each of “product A”, “execution authority”, and “error”.
  • ⁇ DATA1 From USER1 To USER2 “Children grow bigger and life is difficult”
  • DATA2 From USER2 To USER1 “Why?”
  • ⁇ DATA3 From USER1 To USER2 “Expenditure increased but salary increased”
  • ⁇ DATA4 From USER2 To USER1 “Want to find a better salary?”
  • ⁇ DATA5 From USER1 To USER2 “For example?”
  • ⁇ DATA6 From USER2 To USER1 “(Emerging country manufacturer) ⁇ ?”
  • DATA7 From USER1 To USER2 “Is it OK?”
  • DATA8 From USER2 To USER1 “You know-how is selling?”
  • ⁇ DATA9 From USER1 To USER2 “Looking at the job change site”
  • the above conversation is a message exchanged between two employees (USER1 and USER2) by a device owned by a company.
  • Each of DATA1 to DATA9 is a message exchanged between two employees (USE
  • the human resources department of this company wants to monitor conversations that conflict with company rules, and extract the conversations of employees in question based on the search conditions of “Manufacturer name XX” and “Change of job”.
  • the personnel department since the character strings of “maker name XX” and “change of job” are included in a plurality of different data, the personnel department cannot extract the conversation of the employee in question.
  • FIG. 3A is an explanatory diagram illustrating messages exchanged by a plurality of users according to the present embodiment.
  • 3A exchanges a plurality of messages with a plurality of users (users 61 to 66) according to a plurality of themes.
  • the user 60 shown in FIG. 3A exchanges a plurality of messages 608 with the user 61.
  • the address of the user 62 is jiro @ hi. com and the address of the user 63 is sabuuro @ hi. com, and the address of the user 64 is shiro @ hi. com, and the user 65 has goro @ hi. com and the address of the user 66 is rokuro @ hi. com.
  • the user 60 When the user 60 reconstructs the information in his / her brain based on a plurality of messages including information indicating one theme divided, the user 60 is based on the plurality of messages viewed by the user 60. Reconstruct information. For this reason, in the present embodiment, it is assumed that the possibility that the user 60 reconfigures information indicating one theme based on a plurality of messages exchanged with a plurality of users is low.
  • FIG. 3B is an explanatory diagram showing a plurality of messages exchanged between two users of this embodiment.
  • FIG. 3B is a diagram in which a plurality of messages 608 exchanged between the user 60 and the user 61 shown in FIG. 3A are sorted in the order of generated time.
  • the time flow shown in FIG. 3B corresponds to the actual time.
  • the plurality of messages 608 include a message 621 to a message 626.
  • An identifier (# 0001) to an identifier (# 0003), an identifier (# 0317), an identifier (# 0321), and an identifier (# 0334) are assigned to the messages 621 to 626, respectively.
  • the difference between the time when the message (# 0003) 623 is generated and the time when the message (# 0317) 624 is generated is extremely small.
  • conversations on one theme are often performed continuously, and each of a plurality of conversations performed in different periods is often related to a different theme.
  • the message (# 0001) 621, the message (# 0002) 622, and the message (# 0003) 623 include information related to “Product A” and “Processing B”. Further, the message (# 0317) 624, the message (# 0321) 625, and the message (# 0334) 626 include information related to “Product C” and “Processing D”.
  • the computer When the computer combines all the data of the message 608 shown in FIG. 3B as one data and searches the combined data for the full text using the keyword “product C” or “process B”, the computer returns the message (# 0001 ) 621, message (# 0002) 622, message (# 0003) 623, message (# 0317) 624, message (# 0321) 625 and message (# 0334) 626 are acquired as search results.
  • unnecessary data is included in the obtained search results.
  • the keyword is “product C”
  • the content of the message (# 0001) 621, the message (# 0002) 622, and the message (# 0003) 623 among the acquired search results is noise.
  • the keyword is “Process B”
  • the content of the message (# 0317) 624, the message (# 0321) 625, and the message (# 0334) 626 is noise in the acquired search results.
  • the search server 10 of this embodiment reconfigures the message (# 0001) 621, the message (# 0002) 622, and the message (# 0003) 623 as one search unit, and further, the message (# 0317) 624, message (# 0321) 625 and message (# 0334) 626 are reconfigured as a search unit different from the search unit, and a plurality of reconfigured search units are searched to detect noise included in the search result. Reduce.
  • the search server 10 of a present Example acquires the time when the some message was produced
  • FIG. 4 is an explanatory diagram showing the target data set 41 of this embodiment.
  • the target data set 41 stores a plurality of target message data searched by the search server 10.
  • the target data set 41 stores a plurality of data of a plurality of messages exchanged between users.
  • the target data set 41 includes Data-ID 411 and Data 412.
  • Data-ID 411 uniquely indicates each of the plurality of messages and indicates an identifier (hereinafter referred to as “Data-ID”) of each data included in the plurality of messages.
  • Data 412 indicates data included in the message.
  • the Data-ID may be a numerical value or a character.
  • Data 412 of one entry includes data of one message transmitted between users.
  • the data 412 of this embodiment includes the time when the message data is generated, the address of the transmission source and the destination address when the data is transmitted as a message, and the text of the message.
  • the search server 10 may acquire data of a plurality of messages exchanged by a user from a communication carrier used by the user, or may collect data of a plurality of messages exchanged by the user from messenger software used by the user. Good.
  • the system control unit 100 of the search server 10 stores the acquired message data in the target data set 41 and assigns a Data-ID to each of the acquired message data.
  • FIG. 5 is a flowchart showing processing for generating a search unit according to this embodiment.
  • the instruction client 30 receives an index generation instruction and index generation information input from an administrator or operator (hereinafter referred to as an operator) of the computer system of this embodiment. Then, the instruction client 30 transmits an index generation instruction and index generation information to the search server 10.
  • the system control unit 100 of the search server 10 receives the index generation instruction and the index generation information (701). Then, the system control unit 100 stores the received index generation information as index generation information 105 in the main memory 12.
  • the index generation instruction is an instruction to reconstruct the data of a plurality of messages included in the target data set 41 into at least one search unit and generate an index for the search unit.
  • the index generation information 105 includes a value specifying each of a plurality of message data included in the target data set 41.
  • FIG. 6 is an explanatory diagram showing an example of the index generation information 105 of the present embodiment.
  • the index generation information 105 indicates Data 412 for generating an index for search among Data 412 of a plurality of messages included in the target data set 41.
  • FIG. 6 shows two examples of the index generation information 105, showing index generation information 611 and index generation information 612.
  • the index generation information 611 indicates the data 412 for which an index is to be generated, using a Data-ID.
  • the index generation information 611 includes at least one Data-ID.
  • the index generation information 612 indicates the data 412 to be indexed by the range of values including the Data-ID.
  • “From” in the index generation information 612 shown in FIG. 6 indicates the start of a range of values including the Data-ID. Further, “to” in the index generation information 612 shown in FIG. 6 indicates the end of the range of values including the Data-ID.
  • the index generation information 612 may specify at least one of the beginning and end of a value range. For example, when the index generation information 612 does not specify the value of “to” but specifies the value of “from”, the information extraction unit 102 of the search server 10 uses the Data-ID of the value of “from” as the target data. Data 412 up to the last Data-ID in the set 41 is extracted from the target data set 41 as target data for generating an index.
  • the information extraction unit 102 of the search server 10 starts from the first Data-ID in the target data set 41.
  • Data 412 up to Data-ID having a value of “to” is extracted from the target data set 41 as target data for generating an index.
  • Data 412 is specified by Data-ID.
  • the index generation information 105 of the present embodiment depends on the time when the data indicated by Data 412 is generated or the period during which the data is generated. At least one piece of data may be specified.
  • the index generation information 105 of the present embodiment may specify the Data 412 that is the target of generating an index by the transmission source address or the destination address indicated by the Data 412. Further, the index generation information 105 of this embodiment designates a plurality of Data 412 to be index generated by at least two pieces of information among Data-ID, time, period, transmission source address, or destination address. May be.
  • step 701 the system control unit 100 calls the index control unit 101, and the index control unit 101 calls the information extraction unit 102. Then, the information extraction unit 102 acquires a plurality of Data-IDs specified by the index generation information 105 (702).
  • step 702 the information extraction unit 102 executes the processing of step 704 and step 705 for all of the acquired plurality of Data-IDs (703).
  • the information extraction unit 102 acquires entries corresponding to the acquired plurality of Data-IDs from the target data set 41 as index generation data (704).
  • the information extraction unit 102 also extracts Data-ID (corresponding to Data-ID 411) and bibliographic information from the acquired index generation data, and stores the extracted Data-ID and bibliographic information in the bibliographic information table 112. (705).
  • FIG. 7 is an explanatory diagram showing the bibliographic information table 112 of this embodiment.
  • the bibliographic information table 112 stores at least one bibliographic information of data to be indexed.
  • the bibliographic information table 112 is an area that does not include a value at the start of the process illustrated in FIG. 5, and the value is stored by the process in step 705.
  • the bibliographic information table 112 stores Data-ID 1121, Time 1122, From-ID 1123, and To-ID 1124.
  • Data-ID 1121 indicates Data-ID, and corresponds to Data-ID 411 of the target data set 41.
  • Time 1122 indicates the time when the message data was generated, and corresponds to the time included in Data 412.
  • From-ID 1123 indicates the address of the transmission source when Data 412 is transmitted as a message, and corresponds to the address of the transmission source included in Data 412.
  • the To-ID 1124 indicates a destination address when the Data 412 is transmitted as a message, and corresponds to the destination address included in the Data 412.
  • step 705 the information extraction unit 102 extracts the Data-ID of the Data-ID 411 included in the index generation data, the time included in the Data 412, the address of the transmission source and the address of the destination, and bibliographic information. Then, the information extraction unit 102 stores the extracted Data-ID, time, source address, and destination address in the Data-ID 1121, Time 1122, From-ID 1123, and To-ID 1124 of the bibliographic information table 112.
  • the information extraction unit 102 holds the Data 412 template and the like in advance, and extracts the time, the transmission source address, and the destination address from the Data 412 based on the held template and the like.
  • the index control unit 101 calls the unit generation unit 103.
  • the unit generator 103 When called, the unit generator 103 includes two identifiers stored in the From-ID 1123 and the To-ID 1124 of the one entry in the From-ID 1123 and the To-ID 1124, or the To-ID 1124 and the From-ID 1123. All entries are extracted from the bibliographic information table 112. That is, the unit generation unit 103 extracts all entries indicating bibliographic information of messages exchanged by two users from the bibliographic information table 112. Then, the unit generator 103 generates at least one data group including the extracted entry (706).
  • the unit generator 103 When including bibliographic information of messages exchanged by a set of users, the unit generator 103 generates a plurality of data groups in step 706. Thereby, the unit generation unit 103 can divide a message by a plurality of sets of users as shown in FIG. 3A into a message by each of a plurality of sets of users.
  • the unit generation unit 103 sorts the entries included in the generated at least one data group according to the Time 1122. And the unit production
  • the unit generation unit 103 When a plurality of data groups are generated in step 706, the unit generation unit 103 generates a plurality of extracted data tables 106 for each data group in step 707. Then, the unit generator 103 executes the processing in step 708 for each of the plurality of extracted data tables 106.
  • FIG. 8 is an explanatory diagram showing the extracted data table 106 of the present embodiment.
  • the extracted data table 106 includes data group information and a difference in time when each of a plurality of messages is generated.
  • the extracted data table 106 is an area that does not include a value at the start of the processing shown in FIG.
  • the extracted data table 106 stores Data-ID 1061, Time 1062, Difference 1063, From-ID 1064, and To-ID 1065.
  • the Data-ID 1061 corresponds to the Data-ID 1121 of the bibliographic information table 112 and the Data-ID 411 of the target data set 41.
  • Time 1062 corresponds to Time 1122 of the bibliographic information table 112.
  • the From-ID 1064 corresponds to the From-ID 1123 in the bibliographic information table 112.
  • the To-ID 1065 corresponds to the To-ID 1124 in the bibliographic information table 112.
  • Data-ID 1061, Time 1062, From-ID 1064, and To-ID 1065 are a data group sorted according to Time 1122 in Step 707.
  • the difference 1063 includes the time difference obtained in step 707.
  • the Difference 1063 includes a difference between the time when the data indicated by the Data-ID 1061 is generated and the time when the data is generated immediately before the data is generated.
  • the difference 1063 of the entry whose Data-ID 1061 is “0002” indicates the difference between the value of the Time 1062 of the entry whose Data-ID 1061 is “0002” and the value of the Time 1062 of the entry whose Data-ID 1061 is “0001”. Show.
  • step 707 the unit generation unit 103 of the present embodiment stores “ ⁇ 1” indicating an invalid value in the difference 1063 of the first entry of the sorted data group.
  • the unit generator 103 extracts a value other than an invalid value (“ ⁇ 1” in this embodiment) from the difference 1063 in the extracted data table 106, and calculates an average value of the extracted values (708). ).
  • the unit generation unit 103 compares the average value calculated in step 708 with the difference 1063, and the difference between the entry containing the value larger than the average value in the difference 1063 and the entry immediately before the entry is coarse. It is determined that Then, the unit generator 103 reconstructs a plurality of search units by dividing between two entries determined to be coarse.
  • step 708 the unit generation unit 103 determines the density of the distribution indicated by the Time 1122 of the bibliographic information table 112 by using the difference of the Time 1062 (Difference 1063) and the average value of the difference (Difference 1063). Then, the unit generation unit 103 divides the entry of the extracted data table 106 by dividing the two entries determined to be coarse among the determined coarse and dense, and includes a plurality of divided entries. Reconfigure the search unit.
  • the unit generation unit 103 can reconstruct the message data exchanged between the two users for one theme for a certain period as one search unit.
  • the unit generation unit 103 assigns an identifier (Unit-ID) that uniquely indicates each reconstructed search unit.
  • the unit generation unit 103 associates at least one Data-ID (corresponding to Data-ID 1061) included in the search unit with the Unit-ID, and stores them in the search unit table 42 (709).
  • FIG. 9 is an explanatory diagram showing the search unit table 42 of the present embodiment.
  • the search unit table 42 shows the correspondence between the search unit and the data included in the search unit.
  • the search unit table 42 is a storage area that does not include a value at the start of the processing shown in FIG.
  • the search unit table 42 stores a Unit-ID 421 and a Data-ID List 422.
  • Unit-ID 421 includes the Unit-ID assigned in Step 709.
  • the Data-ID List 422 includes at least one Data-ID of data included in the search unit reconstructed in Step 409.
  • the unit generation unit 103 stores all of the Data-IDs included in the reconstructed search unit in the Data-ID List 422.
  • the unit generation unit 103 may store the unit-IDs of all the search units divided in the plurality of extracted data tables 106 in one search unit table 42.
  • Unit-ID uniquely indicates a plurality of search units generated by all the extracted data tables 106.
  • the index control unit 101 calls the index generation unit 104.
  • the index generation unit 104 acquires all the values of the Unit-ID 421 in the search unit table 42 (710).
  • the index generation unit 104 executes the processing from step 712 to step 714 for each acquired Unit-ID (711).
  • the index generation unit 104 acquires a Data-ID corresponding to one Unit-ID (hereinafter referred to as Unit-IDa) among the acquired Unit-IDs from the Data-ID List 422 of the search unit table 42 (712). After step 712, the index generation unit 104 acquires the body of the message from the Data 412 of the target data set 41 corresponding to all of the acquired Data-ID. Then, the index generation unit 104 generates index source data by combining the acquired at least one text (713).
  • Unit-IDa Unit-ID corresponding to one Unit-ID
  • the index generation unit 104 extracts at least one index from the index source data by performing part-of-speech decomposition on the index source data. Then, the index generation unit 104 stores the extracted index and Unit-IDa in association with the search unit index 43. When the index value already extracted is stored in the search unit index 43, the index generation unit 104 adds Unit-IDa to the entry corresponding to the extracted index (714).
  • step 712 to step 714 for all the search units the system control unit 100 ends the processing shown in FIG.
  • FIG. 10 is an explanatory diagram showing the search unit index 43 of this embodiment.
  • the search unit index 43 is a transposed index for searching a search unit by index.
  • the search unit index 43 includes a key 431 and a unit-ID list 432.
  • Unit-ID List 432 indicates a unit-ID of a search unit including data from which the key 431 index is extracted.
  • the search unit index 43 shown in FIG. 10 is a word index, and the Key 431 includes a word.
  • the search unit index 43 of this embodiment may be any index, an n-gram index, or a B-tree index.
  • the search server 10 reconfigures the search unit for each search unit even when information indicating one theme is divided into a plurality of messages.
  • a search unit index 43 that can provide a search result can be generated.
  • step 708 and step 709 described above as a method of reconstructing the search unit, a method of determining the density of the time 1062 distribution by comparing the average value of the difference 1063 and the difference 1063 was used.
  • the unit generation unit 103 of the present embodiment may reconstruct the data group into search units by any method. For example, the difference 1063 is compared with a predetermined threshold value m (the threshold value m is an arbitrary positive number), and the entry between the difference 1063 larger than the predetermined threshold value m and the entry immediately before the entry is rough. It may be determined.
  • the unit generation unit 103 compares n times the average value of the Difference 1063 (parameter n is an arbitrary positive number) with the Difference 1063, thereby comparing the density of the Time 1062 distribution. May be determined.
  • the above-described threshold m or parameter n and the method of reconfiguring the search unit may be specified by the index generation information 105 received from the instruction client 30 in step 701. Further, the threshold value m or the parameter n and a value indicating a method for reconfiguring the search unit may be set in an index setting 44 described later. For this reason, when a value is set in the index setting 44, the unit generation unit 103 reads the index setting 44 in step 708 and executes a method of reconstructing the search unit indicated by the index setting 44.
  • step 709 when the number of messages included in the reconfigured search unit is smaller than a predetermined minimum value, the unit generation unit 103 searches for the message included in the search unit as the immediately preceding search unit and the immediately following search. It may be included in both units.
  • the predetermined minimum value may be specified by the index generation information 105 received from the instruction client 30 in step 701.
  • the predetermined minimum value may be stored in advance in an index setting 44 described later, and the unit generation unit 103 may read the index setting 44 in step 708.
  • FIG. 11 is an explanatory diagram showing the concept of integration of search units according to this embodiment.
  • the unit generation unit 103 uses the message (# 0109) 627, the message (# 0001) 621, and the message (# 0002) 622.
  • the search unit of the message (# 0003) 623, or the message (# 0109) 627 is the search unit of the message (# 0317) 624, the message (# 0321) 625, and the message (# 0334) 626. It is difficult to determine whether it has the same information.
  • step 709 when the number of messages included in the reconstructed search unit such as the message (# 0109) 627 is less than the predetermined minimum value, the unit generation unit 103 sets the message included in the search unit as two. And the search unit of message (# 0001) 621, message (# 0002) 622 and message (# 0003) 623, and message (# 0317) 624, message (# 0321) 625 and message (# 0334). Included in both 626 search units. As a result, the unit generation unit 103 according to the present embodiment can prevent occurrence of search omission in advance.
  • an entry including the Data-ID of the message (# 0001) 621, the message (# 0002) 622, and the message (# 0003) 623 contains a message (# 0109).
  • Data-ID of 627 is included, and an entry including message (# 0317) 624, message (# 0321) 625, and message (# 0334) 626 also includes Data-ID of message (# 0109) 627. It is.
  • FIG. 12 is a flowchart showing search processing for each search unit of the present embodiment.
  • the input device 24 of the search client 20 receives search conditions from the operator of the search client 20, and the CPU 21 transmits the received search conditions to the search server 10 via the network 50.
  • FIG. 13A is an explanatory diagram illustrating an example of a screen for inputting search conditions displayed on the search client 20 of the present embodiment.
  • the screen 80 shown in FIG. 13A is displayed on the output device 23 of the search client 20.
  • the operator of the search client 20 inputs a search condition such as a word included in the data to be acquired to the search client 20 using the screen 80 and the input device 24.
  • the screen 80 includes an input form 801 and a button 802.
  • the input form 801 is an area for inputting a word as a search condition.
  • a plurality of words may be input to the input form 801.
  • the condition receiving unit 108 combines each of the plurality of words according to the or condition, so that the search condition combined with the processing by the search execution unit 109 is performed.
  • the acquired search condition may be converted.
  • the operator may input a logical condition to the input form 801 by a predetermined notation method, and the condition receiving unit 108 may convert the search condition according to a predetermined notation method.
  • the button 802 is an area for allowing the search client 20 to accept the search condition input in the input form 801.
  • the operator can transmit a search condition to the search server 10 and cause the search server 10 to execute a search process. Then, the process shown in FIG. 12 is started.
  • the screen 80 shown in FIG. 13A is an example, and a screen having any configuration may be used as long as the screen can input search conditions.
  • the search condition is input to the search client 20, but the operator may input the search condition directly to the search server 10.
  • the output device 13 of the search server 10 displays a screen 80, for example.
  • the system control unit 100 of the search server 10 calls the search control unit 107 when receiving a search condition from the search client 20.
  • the search control unit 107 calls the condition reception unit 108.
  • the system control unit 100 inputs a search condition to the condition reception unit 108 via the search control unit 107.
  • the condition receiving unit 108 acquires a search condition from the search control unit 107 when called. Then, the condition receiving unit 108 converts the acquired search condition into a format that can be processed by the search execution unit 109 (721).
  • the search control unit 107 calls the search execution unit 109.
  • the search execution unit 109 searches the Key 431 of the search unit index 43 according to the search condition converted by the condition reception unit 108, and acquires the value of the Unit-ID List 432 as the search result in Step 722 (722). ).
  • the search control unit 107 calls the result generation unit 110.
  • the result generation unit 110 extracts at least one Unit-ID included in the Unit-ID List 432 acquired in Step 722. Then, the result generation unit 110 acquires the Data-ID corresponding to the extracted Unit-ID from the Data-ID List 422 of the search unit table 42 (723).
  • the result generation unit 110 acquires all the Data 412 corresponding to the acquired Data-ID from the target data set 41. Then, the result generation unit 110 combines all the acquired data 412 and generates search unit data for each unit-ID extracted in step 723 as a search result of the process illustrated in FIG. 12 (724).
  • the result generation unit 110 may combine the data 412 for each search unit or may combine them according to the search condition. For example, the result generation unit 110 extracts a message including the search condition word from the data acquired in step 724. Then, the result generation unit 110 further extracts the message generated immediately before the time when the extracted message was generated and the message generated immediately after from the data acquired in step 724. Then, the result generation unit 110 may combine the demessage including the search condition word with the messages generated immediately before and immediately after the message is generated.
  • the result generation unit 110 extracts and extracts a predetermined upper limit number of messages from the data acquired in step 724. Messages may be combined.
  • the result generation unit 110 refers to the index setting 44 in step 723.
  • the result generation unit 110 may combine the acquired data according to the setting value. Good.
  • the search control unit 107 calls the result output unit 111.
  • the result output unit 111 transmits the search unit data generated by the result generation unit 110 to the search client 20 (725).
  • FIG. 13B is an explanatory diagram illustrating an example of a screen for outputting a search result displayed on the search client 20 according to the present embodiment.
  • the screen 81 shown in FIG. 13B is displayed by the output device 23.
  • the screen 81 is a screen for outputting the search result acquired by the search server 10 to the operator after the processing shown in FIG.
  • the screen 81 includes an input form 811, a button 812, a button 813, a list 814 and a button 815.
  • the input form 811 and the button 812 are the same as the input form 801 and the button 802 on the screen 80.
  • the operator uses the input form 811 and the button 812 to search further after referring to the search result. This improves the convenience for the operator.
  • the screen 81 does not include the input form 811 and the button 812, and may have a button for transitioning to the screen 80.
  • buttons 813 and 815 are buttons for displaying search results that could not be displayed. For example, if there are more search results than can be displayed due to the size of the display of the output device 23, the output device 23 may display a button 813 and a button 815 on the screen 81. Then, the operator may operate buttons 813 and 815 to display the search results that could not be displayed.
  • buttons 813 and the button 815 may be displayed, and both the button 813 and the button 815 may be displayed in order to improve the convenience for the operator.
  • the list 814 is an area for displaying search results.
  • the list 814 displays search unit data generated in step 724 shown in FIG.
  • the output device 23 may determine the order of search units to be displayed according to an arbitrary priority (for example, the time when data is generated).
  • the output device 23 may display a predetermined number of search units in the list 814.
  • the screen 81 shown in FIG. 13B is an example, and the output device 23 may display a screen having any configuration as long as the screen can output the search result. Further, although the above-described screen 81 is displayed on the display, a printer connected to the output device 23 may output the list 814. Further, although the above-described screen 81 is displayed by the output device 23 of the search client 20, the output device 13 of the search server 10 may display the screen 81 or output the list 814.
  • FIG. 14 is an explanatory diagram showing an example of a screen for setting the index setting 44 of this embodiment.
  • the screen 82 shown in FIG. 14 is a screen for setting a value in the index setting 44.
  • the screen 82 is displayed by the output device 33 of the instruction client 30.
  • the value input through the screen 82 is transmitted from the instruction client 30 to the search server 10 and stored in the index setting 44 by the system control unit 100.
  • the screen 82 includes a button 821, a button 836, an area 840, and an area 841.
  • the area 840 includes a radio button 822, a list box 823, a radio button 824, an input form 825, a list box 826, a radio button 827, a list box 828, a radio button 829, and an input form 830.
  • the area 841 includes a list box 831, a radio button 832, a list box 833, a radio button 834, and an input form 835.
  • the button 821 and the button 836 are buttons for transmitting the values set in the area 840 and the area 841 to the search server 10.
  • the values set in the area 840 and the area 841 are stored in the index setting 44 of the search server 10.
  • the area 840 is an area for setting a value related to the reconstruction of the search unit.
  • An area 841 is an area for setting a value related to display of the search result.
  • the radio button 822 is selected when the method for reconfiguring the search unit is designated by the list box 823, and indicates an active state when selected.
  • the radio button 824 shown in FIG. 14 indicates a deactivated state. This is because the list box 823 shown in FIG. 14 includes only a method that does not use the parameter specified by the input form 825 when reconfiguring the search unit.
  • the radio button in the active state is, for example, a black circle
  • the radio button in the inactive state is, for example, a white circle.
  • the list box 823 a method for reconfiguring the search unit is input.
  • the list box 823 may display a plurality of methods, and the operator may input a method by selecting one of the plurality of methods displayed in the list box 823.
  • a method such as “default: average value of time difference”, “double the average value of time difference”, or “1 ⁇ 2 the average value of time difference” is used. indicate.
  • the operator can set the method of reconstructing the search unit used in step 708 and step 709 and the parameter n.
  • the radio button 824 is selected when a parameter for reconfiguring a search unit is designated by the input form 825 and the list box 826, and indicates an active state when the parameter is selected.
  • the radio button 824 is selected on the screen 82 in FIG. 14, the radio button 822 indicates a deactivated state.
  • the numerical value of the parameter (the aforementioned threshold value m) for reconfiguring the search unit in step 709 is input.
  • the list box 826 units of numerical values input to the input form 825 are input.
  • the list box 826 may display a plurality of units as options. In this case, the operator inputs a unit by selecting one of the plurality of units displayed in the list box 826.
  • the radio button 827 is selected when the minimum value of the number of messages included in the search unit is designated by the list box 828, and indicates an active state when selected.
  • the radio button 829 indicates a deactivated state.
  • the list box 828 displays a plurality of options for the minimum value of the number of messages included in the search unit.
  • the operator selects a minimum value of the number of messages included in the search unit from options such as “default: 3”, “5”, or “7” displayed in the list box 828.
  • the radio button 829 is selected when the minimum value of the number of messages included in the search unit is designated by the input form 830.
  • the radio button 827 indicates a deactivated state.
  • the minimum value of the number of messages included in the search unit is input.
  • the operator can specify a predetermined minimum value used in step 709 by selecting a value in the list box 828 or inputting a value in the input form 830.
  • the list box 831 is an area for inputting a search result condition displayed in the list 814 of the screen 81.
  • a list box 831 shown in FIG. 14 displays a plurality of conditions as options.
  • the list box 831 is, for example, “default: data including hit terms and before and after on the time axis”, “data including hit terms regardless of the time axis”, or “from the top on the time axis”. Display as an option.
  • the operator can specify the method of combining messages when generating the search unit data in step 724 by selecting the value in the list box 831.
  • the radio button 832 is selected when the number of search results displayed in the list 814 on the screen 81 is designated by the list box 833.
  • the radio button 834 indicates a deactivated state.
  • the list box 833 displays a plurality of options for the number of search results displayed in the list 814 on the screen 81.
  • the operator selects the number of search results to be displayed from options such as “default: 3”, “1”, or “5” displayed in the list box 833.
  • the radio button 834 is selected when the number of search results displayed in the list 814 on the screen 81 is designated by the input form 835.
  • the radio button 832 indicates a deactivated state.
  • the input form 835 is an area for inputting the number of search results displayed in the list 814 of the screen 81.
  • the result output unit 111 in step 725 selects a search unit for the value in the list box 833 or the value in the input form 835. Data may be sent to the search client 20.
  • the screen 82 shown in FIG. 14 is an example, and the output device 33 may display a screen having any configuration as long as the screen can set the index setting 44. Further, although the above-described screen 82 is displayed by the output device 33 of the instruction client 30, the output device 13 of the search server 10 may display the screen 82.
  • FIG. 15 is an explanatory diagram showing the index setting 44 of this embodiment.
  • the index setting 44 indicates a setting value for reconfiguring a search unit and a setting value for displaying a search result set on the screen 82.
  • the index setting 44 includes an item 441 and a value 442.
  • the value 442 of the entry 443 indicates a value input in the list box 823 or the input form 825.
  • a value 442 of the entry 444 indicates a value input in the list box 828 or the input form 830.
  • the value 442 of the entry 445 indicates a value input to the list box 831.
  • a value 442 of the entry 446 indicates a value input in the list box 833 or the input form 835.
  • Entry 443 is read in step 708 and step 709
  • entry 444 is read in step 709
  • step 445 is read in step 724
  • step 446 is read in step 725.
  • the screen 82 and index setting 44 shown in FIG. 14 allow the operator to arbitrarily change the method for reconfiguring the search unit, the minimum value of the number of messages included in the search unit, and the like.
  • a plurality of messages having strong semantic relationships are reconfigured as a search unit, and reconfiguration is performed. Search for a given search unit. As a result, a search result that is meaningful to the user can be output.
  • the search server 10 since the search server 10 according to the present embodiment uses the time at which the message is generated to reconstruct the search unit, the search server 10 uses the bibliographic information alone to reconstruct the search unit. It can be extracted appropriately. As a result, the search server 10 according to the present embodiment can reduce noise included in the search results.
  • messages exchanged between two users are reconstructed in units of search, but are a plurality of data indicating one theme, and data that does not indicate the theme in each.
  • the present embodiment may be applied to any data as long as it exists.
  • each of the above-described configurations, functions, processing units, processing procedures, etc. may be realized in hardware by designing a part or all of them, for example, with an integrated circuit.
  • Information such as programs and tables for realizing the functions of each processing unit should be stored in a recording device such as a memory, hard disk, or SSD (Solid State Drive), or a recording medium such as an IC card, SD card, or DVD. Can do.
  • control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. In practice, it can be considered that almost all the components are connected to each other.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

 データ集合記憶部は、少なくとも一つのテーマを構成する情報として生成された複数のメッセージであって、当該複数のメッセージの各々が当該少なくとも一つのテーマを示さない複数のメッセージを含み、計算機は、少なくとも一つの前記メッセージを含み、かつ、前記テーマを示すような少なくとも一つのデータ単位に、前記データ集合記憶部に格納された複数のメッセージを再構成する単位生成部と、前記再構成されたデータ単位に含まれるメッセージから、索引を生成する索引生成部と、前記複数のメッセージを検索する検索条件を受け付けた場合、前記生成された索引と前記検索条件とに基づいて、前記検索条件に対応する前記データ単位を特定する検索実行部と、前記特定されたデータ単位に基づいて、検索結果を出力する結果出力部と、を有する。

Description

計算機、データ処理方法、及び、非一時的な記録媒体
 本発明は、計算機に関する。
 ネットワークに接続された計算機の普及にともない、複数の計算機間で電子メールを送受信する技術が広まった。ユーザは、手紙に記載するような内容を電子メールによって他のユーザに送信する。さらに、送受信された電子メールを全文検索技術によって検索することが一般的になっている。
 一方で、近年、モバイル端末の普及にともないショートメッセージングサービス(SMS)の利用が広まっている。SMSによって送受信されるメッセージは、送信できる文字数に制限がある。このため、ユーザは短い文を一つのメッセージとして他のユーザに送信する。
 また、近年普及するソーシャルネットワーキングサービス(SNS)及び無料通話サービス等は、メッセンジャーソフトによって実現されている。このメッセンジャーソフトには、ユーザ間が情報を送受信するための技術として、電子メールの技術ではなく、一文が短く、かつ、情報量が少ないSMSと同様の技術が採用されている。
 SMSの技術を用いた場合、例えば、他のユーザに質問するためのメッセージと、この質問に対して回答するためのメッセージとは、異なるメッセージであり、複数のデータとして各々蓄積される。このため、一つのテーマを持つ情報の開始と終了とが一つのメッセージには含まれず、一つのテーマを持つ情報が複数のメッセージに分割される。
 一つのテーマを持つ情報が複数のメッセージに分割されるため、ユーザが一つのテーマを持つ情報から所定の内容を検索したい場合に、検索条件に適合するか否かをメッセージごとに判定する検索方法を用いても、ユーザは、適切な検索結果を得られない問題が生じる。この問題は、SMSの技術が、従来の電子メールの技術とは異なり、会話において発生する短文の一つ一つを、複数のメッセージの各々に含め送受信するために発生する。
 ユーザは、SMSを用いる場合、送受信されるメッセージを、送受信される時間順に閲覧し、閲覧した内容をユーザの脳内に蓄積することによって文脈に関する情報を生成する。しかし、データが送受信された期間の後、計算機が一つのデータだけを抽出して参照した場合、抽出されたデータの前後に生成及び送信され、かつ、抽出されたデータに関連性が強いデータを参照しなくては、ユーザが欲しい情報を得ることができない。
 このため、なんらかの単位で複数のメッセージをひとまとまりにし、ひとまとまりのメッセージを検索結果としてユーザに提供する方法が考えられている。
 ひとまとまりのメッセージの単位を生成する方法には、書誌情報を利用する方法がある(例えば、特許文献1参照)。特許文献1には、「ステップS2において、文書属性処理部22は、ステップS1の処理で文書取得部21により取得され供給された電子メールの文書から属性情報(メッセージID等のヘッダ情報)を抽出し、その属性情報に基づき、文書をグループ化して(すなわち、話題毎にグループ化して)、文書内容処理部23および文書特徴データベース作成部24に供給する。」ことが記載される。
特開2003-178075号公報
 一つのテーマを持つ情報が複数のメッセージに分割される場合、計算機は、関連性が強いメッセージを一つのデータの集合として処理することができない。このため、計算機が、従来の全文検索方法によってメッセージを検索する場合、検索条件に適合する適切なメッセージを抽出し、ユーザにとって意味のある情報を出力することができなかった。
 なんらかの単位で複数のメッセージをひとまとまりにし、検索結果として示す方法が考えられているが、特許文献1の技術のように、送信者などの書誌情報によってまとまりを生成する場合、メッセージのまとまりにはノイズ(検索条件とは適合しない情報を持つデータ)が含まれることになる。これは、同じ送信者でも複数の話題を発信する可能性があり、書誌情報によって生成された一つのまとまりが複数のテーマを含む可能性があるためである。
 本発明の目的は、ユーザにとって意味のある検索結果を出力するため、複数のデータを適切にまとめる方法の提供である。
 本発明の代表的な一形態によると、プロセッサと、前記プロセッサが実行するプログラムを格納するメモリとを有する計算機であって、前記メモリは、データ集合記憶部を有し、前記データ集合記憶部は、少なくとも一つのテーマを構成する情報として生成された複数のメッセージであって、当該複数のメッセージの各々が当該少なくとも一つのテーマを示さない複数のメッセージを含み、前記計算機は、少なくとも一つの前記メッセージを含み、かつ、前記テーマを示すような少なくとも一つのデータ単位に、前記データ集合記憶部に格納された複数のメッセージを再構成する単位生成部と、前記再構成されたデータ単位に含まれるメッセージから、索引を生成する索引生成部と、前記複数のメッセージを検索する検索条件を受け付けた場合、前記生成された索引と前記検索条件とに基づいて、前記検索条件に対応する前記データ単位を特定する検索実行部と、前記特定されたデータ単位に基づいて、検索結果を出力する結果出力部と、を有する。
 本発明の一実施形態によると、複数のメッセージを検索単位にまとめることによって、ユーザにとって意味のある検索結果を出力することができる。
 上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
本実施例の計算機システムの物理的な構成と論理的な構成とを示すブロック図である。 本実施例の電子メールによってやり取りされるメッセージの例を示す説明図である。 本実施例の一つのテーマを有する複数のメッセージを示す説明図である。 本実施例の複数のユーザがやり取りするメッセージを示す説明図である。 本実施例の二人のユーザがやり取りするメッセージを示す説明図である。 本実施例の対象データ集合を示す説明図である。 本実施例の検索単位を生成する処理を示すフローチャートである。 本実施例の索引生成情報の例を示す説明図である。 本実施例の書誌情報表を示す説明図である。 本実施例の抽出データ表を示す説明図である。 本実施例の検索単位表を示す説明図である。 本実施例の検索単位インデクスを示す説明図である。 本実施例の検索単位の統合の概念を示す説明図である。 本実施例の検索単位ごと検索処理を示すフローチャートである。 本実施例の検索クライアントに表示される検索条件を入力するための画面の例を示す説明図である。 本実施例の検索クライアントに表示される検索結果を出力するための画面の例を示す説明図である。 本実施例の索引設定を設定するための画面の例を示す説明図である。 本実施例の索引設定を示す説明図である。
 以下、本発明の実施形態について図面を参照して詳細に説明する。本実施例の計算機は、情報が複数に分割されて含まれる複数のデータから、所望の意味を含むデータのまとまり(検索単位)を再構成する。
 図1は、本実施例の計算機システムの物理的な構成と論理的な構成とを示すブロック図である。
 本実施例の計算機システムは、検索サーバ10、検索クライアント20、指示クライアント30、記憶媒体40及びネットワーク50を有する。検索サーバ10は、複数のデータの構成を変更する計算機である。
 検索クライアント20は、検索サーバ10に検索条件を入力し、検索サーバ10から検索結果を受信する計算機である。指示クライアント30は、複数のデータをまとめるための条件を検索サーバ10に入力する計算機である。
 記憶媒体40は、検索されるデータ等を保持する記憶装置である。記憶媒体40は、データを保持する記憶装置であれば、いかなる装置でもよく、例えば、ハードディスク、又は、SSD(Solid State Drive)等でもよい。
 ネットワーク50は、検索サーバ10、検索クライアント20及び指示クライアント30を接続する。ネットワーク50は、LANであっても、インターネットであってもよい。
 なお、図1に示す検索サーバ10、検索クライアント20及び指示クライアント30は、各々異なる装置に実装されるが、すべての計算機が一つの装置に実装されてもよいし、少なくとも二つの計算機が一つの装置に実装されてもよい。
 また、図1に示す検索サーバ10及び記憶媒体40は、異なる装置によって実装されるが、一つの装置に実装されてもよい。
 検索クライアント20は、CPU21、主記憶22、出力装置23、入力装置24及びネットワークポート25を、物理的な構成として有する。検索クライアント20の物理的な構成は、バスによって相互に接続される。
 CPU21は、演算装置であり、主記憶22が保持するプログラムを実行する。CPU21は、演算装置であれば、CPU(Central Processor Unit)以外のいかなるプロセッサであってもよい。主記憶22は、プログラム及びデータを保持する記憶装置である。
 出力装置23は、プリンタ又はディスプレイ等に接続され、検索サーバ10における処理の結果等を出力する。入力装置24は、マウス又はキーボードに接続され、ユーザからの指示を受け付ける。また、出力装置23及び入力装置24は、タッチパネル等の入力及び出力が可能な装置に接続されてもよい。
 ネットワークポート25は、検索クライアント20がネットワーク50と接続するためのポートである。
 指示クライアント30は、CPU31、主記憶32、出力装置33、入力装置34及びネットワークポート35を、物理的な構成として有する。指示クライアント30の物理的な構成は、バスによって相互に接続される。
 CPU31は、演算装置であり、主記憶32が保持するプログラムを実行する。CPU31は、演算装置であれば、CPU以外のいかなるプロセッサであってもよい。主記憶32は、プログラム及びデータを保持する記憶装置である。
 出力装置33は、プリンタ又はディスプレイ等に接続され、検索サーバ10における処理の結果等を出力する。入力装置34は、マウス又はキーボードに接続され、ユーザからの指示を受け付ける。また、出力装置33及び入力装置34は、タッチパネル等の入力及び出力が可能な装置に接続されてもよい。
 ネットワークポート35は、指示クライアント30がネットワーク50と接続するためのポートである。
 検索サーバ10は、CPU11、主記憶12、出力装置13、入力装置14、ネットワークポート15及びストレージポート16を、物理的な構成として有する。検索サーバ10の物理的な構成は、バスによって相互に接続される。
 CPU11は、演算装置であり、主記憶12が保持するプログラムを実行する。CPU11は、演算装置であれば、CPU以外のいかなるプロセッサであってもよい。主記憶12は、プログラム及びデータを保持する記憶装置である。
 出力装置13は、プリンタ又はディスプレイ等に接続され、検索サーバ10における処理の結果等を出力する。入力装置14は、マウス又はキーボードに接続される。また、出力装置13及び入力装置14は、タッチパネル等の入力及び出力が可能な装置に接続されてもよい。
 ネットワークポート15は、検索サーバ10がネットワーク50と接続するためのポートである。ストレージポート16は、検索サーバ10が記憶媒体40と接続するためのポートである。
 主記憶12は、システム制御部100、索引制御部101、情報抽出部102、単位生成部103、索引生成部104、検索制御部107、条件受付部108、検索実行部109、結果生成部110及び結果出力部111を、検索サーバ10の機能を実装するプログラムとして有する。
 また、図1に示す主記憶12は、索引生成情報105、書誌情報表112、及び、少なくとも一つの抽出データ表106を有する。なお、索引生成情報105、抽出データ表106及び書誌情報表112は、検索サーバ10を実装する装置とは異なる装置に格納されてもよい。
 システム制御部100は、索引制御部101及び検索制御部107を制御する。索引制御部101は、情報抽出部102、単位生成部103及び索引生成部104を制御する。検索制御部107は、条件受付部108、検索実行部109、結果生成部110及び結果出力部111を制御する。
 情報抽出部102は、指定された複数のデータを対象データ集合41から取得し、取得された複数のデータから書誌情報を抽出する。そして、情報抽出部102は、抽出された書誌情報を書誌情報表112に格納する。
 単位生成部103は、書誌情報表112を用いて、対象データ集合41の少なくとも一つのデータと、検索単位との組合せを検索単位表42に格納する。索引生成部104は、検索単位表42に格納される検索単位を用いて、検索単位インデクス43を生成する。
 条件受付部108は、検索条件を取得する。そして、条件受付部108は、検索実行部109による処理のためのフォーマットに、取得された検索条件を変換する。
 検索実行部109は、検索単位インデクス43を検索する。結果生成部110は、検索単位表42を用いて、対象データ集合41からデータを抽出し、抽出されたデータを結合することによって、検索結果を生成する。
 結果出力部111は、結果生成部110によって生成された検索結果を検索クライアント20に送信する。
 索引生成情報105は、対象データ集合41のデータを指定する情報である。抽出データ表106は、メッセージをやり取りしたユーザの組合せに従って抽出されたデータを示す。書誌情報表112は、対象データ集合41のデータの書誌情報を含む。
 本実施例において、検索サーバ10は各機能をプログラムによって実装するが、検索サーバ10の各機能は集積回路等の物理的な装置によって実装されてもよい。また、以下に示す索引生成情報105、書誌情報表112及び抽出データ表106は、テーブルのフォーマットによって情報を保持するが、本実施例の索引生成情報105、書誌情報表112及び抽出データ表106は、CSV等のいかなるフォーマットによって情報を保持してもよい。
 図1に示す記憶媒体40は、対象データ集合41、検索単位表42、検索単位インデクス43及び索引設定44を有する。記憶媒体40は、検索サーバ10のストレージポート16を介して検索サーバ10と接続される。
 対象データ集合41は、複数のユーザがやり取りしたメッセージのデータを格納する。検索単位表42は、単位生成部103によって再構成された検索単位を格納する。検索単位インデクス43は、索引と検索単位とを格納する。索引設定44は、検索単位を生成するための方法等を示すパラメータを格納する。
 なお、対象データ集合41、検索単位表42、検索単位インデクス43及び索引設定44は、主記憶12に格納されてもよいし、記憶媒体40を実装する装置とは異なる装置に格納されてもよい。
 図2Aは、本実施例の電子メールによってやり取りされるメッセージの例を示す説明図である。
 図2Aに示すメッセージ600は、ユーザ61からユーザ60へ電子メールによって送信されるメッセージである。ユーザ60のアドレスは、taro@hi.comであり、ユーザ61のアドレスは、hanako@hi.comである。メッセージ600には、ユーザ60及びユーザ61がやり取りした情報が、履歴として含まれる。
 具体的には、メッセージ600には、ユーザ60とユーザ61との話題がユーザにとって理解できる情報として含まれる。ここで、ユーザにとって理解できる情報とは、話題の文脈であり、話題の文脈とは、話題の背景及び経緯、並びに、話題の背景及び経緯の説明である。
 このため、計算機は、ユーザ60及びユーザ61が一つのテーマに従って相互に交換した情報を、一つのメッセージ600の一つのデータから有効に検索することができる。
 なお、図2Aに示すメッセージは電子メールであるが、計算機が有効に検索できる一つのデータには、電子化された特許明細書、論文、新聞記事及びブログ記事等の一つのデータも含まれる。
 図2Bは、本実施例の一つのテーマを有する複数のメッセージを示す説明図である。
 図2Bに示すメッセージ601~メッセージ607の各々には、メッセージ600に含まれる内容が分割されて含まれる。ユーザ60は、メッセージ600の内容の一部を、質問又は回答を示す一つメッセージとして、ユーザ61に送信する。
 図2Bに示すメッセージ601~メッセージ607は、例えばSMSによって送信されるメッセージである。メッセージ601~メッセージ607の各々のデータは、独立する。
 図2Aに示すように、ユーザ60がユーザ61からメッセージ600を受信し、計算機が、ユーザ60及びユーザ61間でやり取りされるすべてのメッセージのデータを、「製品A」、「実行権限」及び「エラー」の検索条件によって検索した場合、計算機は、メッセージ600の「管理者権限で実行・・・」を、解決方法を示す検索結果として取得することができる。これは、メッセージ600のデータが、「製品Aが・・・」及び「実行権限ないエラー・・・」などの文字列を含むためである。
 一方、図2Bに示すように、ユーザ60及びユーザ61がメッセージ601~メッセージ607をやり取りし、計算機が、ユーザ60及びユーザ61間でやり取りされるすべてのメッセージを、「製品A」、「実行権限」及び「エラー」の検索条件によって検索した場合、計算機は、検索結果を取得することができない。
 これは、メッセージ601~メッセージ607には、「製品A」、「実行権限」及び「エラー」の検索条件をすべて含むメッセージが含まれていないためである。また、解決方法を示す文字列が、「製品A」、「実行権限」及び「エラー」の各々が含まれるメッセージとは異なるメッセージに含まれるためである。
 さらに、電子的なメッセンジャー機能による会話の例を以下に示す。
・DATA1: From USER1 To USER2 “子供が大きくなって生活が苦しい”
・DATA2: From USER2 To USER1 “なんで?”
・DATA3: From USER1 To USER2 “支出は増えたけど、給料が上がらん”
・DATA4: From USER2 To USER1 “もっと給料がいいの探せば?”
・DATA5: From USER1 To USER2 “例えば?”
・DATA6: From USER2 To USER1 “(新興国系メーカの)○○とか?”
・DATA7: From USER1 To USER2 “いけるかな?”
・DATA8: From USER2 To USER1 “ノウハウとかが売りになるんじゃない?”
・DATA9: From USER1 To USER2 “転職サイトとかみてみるかなー”
 前述の会話は、企業が有する装置によって、二人の社員(USER1及びUSER2)間がやり取りしたメッセージである。前述のDATA1~DATA9の各々は、複数のデータの各々に含まれる。
 この企業の人事部は、社内規則に抵触する会話を監視し、「メーカ名○○」と「転職」との検索条件によって、問題となる社員の会話を抽出したい。この場合、前述のDATA1~DATA9において、「メーカ名○○」と「転職」との文字列の各々は異なる複数のデータに含まれるため、人事部は、問題となる社員の会話を抽出できない。
 図3Aは、本実施例の複数のユーザがやり取りするメッセージを示す説明図である。
 図3Aに示すユーザ60は、複数のユーザ(ユーザ61~ユーザ66)と複数のテーマによって、複数のメッセージをやり取りする。図3Aに示すユーザ60は、ユーザ61と複数のメッセージ608をやり取りする。
 ユーザ62のアドレスは、jiro@hi.comであり、ユーザ63のアドレスは、saburo@hi.comであり、ユーザ64のアドレスは、shiro@hi.comであり、ユーザ65は、goro@hi.comであり、ユーザ66のアドレスは、rokuro@hi.comである。
 一つのテーマを示す情報が分割されて含まれる複数のメッセージに基づいて、ユーザ60が、自らの脳内で情報を再構成する場合、ユーザ60は、ユーザ60が見た複数のメッセージに基づいて情報を再構成する。このため本実施例において、ユーザ60が、複数のユーザとやり取りした複数のメッセージに基づいて、一つのテーマを示す情報を再構成する可能性は低いと仮定する。
 この仮定において、ユーザ60が送信及び受信するメッセージの中で、一つのテーマを持つ複数のメッセージは、一人のユーザとやり取りした複数のメッセージに含まれる可能性が高い。このため、本実施例の検索サーバ10は、一人のユーザとやり取りした複数のメッセージを一つのまとまりに再構成すれば、一つのテーマを示す情報を再構成できる可能性が高い。
 一方、ユーザ60が一人のユーザとやり取りした複数のメッセージにも、異なるテーマを示す情報が分割されて含まれることが考えられる。
 図3Bは、本実施例の二人のユーザがやり取りする複数のメッセージを示す説明図である。
 図3Bは、図3Aに示すユーザ60とユーザ61とがやり取りした複数のメッセージ608を、生成された時刻順にソートした図である。図3Bに示す時間の流れは、実際の時刻に対応する。複数のメッセージ608には、メッセージ621~メッセージ626が含まれる。メッセージ621~メッセージ626には、識別子(#0001)~識別子(#0003)、識別子(#0317)、識別子(#0321)、及び識別子(#0334)が各々割り当てられる。
 メッセージ(#0001)621が生成された時刻とメッセージ(#0002)622が生成された時刻との差、及び、メッセージ(#0002)622が生成された時刻とメッセージ(#0003)623が生成された時刻との差は、メッセージ(#0003)623が生成された時刻とメッセージ(#0317)624が生成された時刻との差に比べ、極めて小さい。
 一般的に、一つのテーマについての会話は連続して行われることが多く、異なる期間において行われる複数の会話の各々は、異なるテーマに関することが多い。
 メッセージ(#0001)621、メッセージ(#0002)622及びメッセージ(#0003)623は、「製品A」及び「処理B」に関する情報を含む。また、メッセージ(#0317)624、メッセージ(#0321)625及びメッセージ(#0334)626は、「製品C」及び「処理D」に関する情報を含む。
 計算機が、図3Bに示すメッセージ608の全てのデータを一つのデータとして結合し、結合されたデータを「製品C」又は「処理B」のキーワードによって全文検索した場合、計算機は、メッセージ(#0001)621、メッセージ(#0002)622、メッセージ(#0003)623、メッセージ(#0317)624、メッセージ(#0321)625及びメッセージ(#0334)626の内容を、検索結果として取得する。
 ここで、取得された検索結果には、不要なデータ(ノイズ)が含まれる。具体的には、キーワードが「製品C」である場合、取得された検索結果のうち、メッセージ(#0001)621、メッセージ(#0002)622及びメッセージ(#0003)623の内容は、ノイズである。また、キーワードが「処理B」である場合、取得された検索結果のうち、メッセージ(#0317)624、メッセージ(#0321)625及びメッセージ(#0334)626の内容がノイズである。
 このため、本実施例の検索サーバ10は、メッセージ(#0001)621、メッセージ(#0002)622、及びメッセージ(#0003)623を一つの検索単位として再構成し、さらに、メッセージ(#0317)624、メッセージ(#0321)625及びメッセージ(#0334)626を、当該検索単位とは異なる検索単位として再構成し、再構成された複数の検索単位を検索することによって、検索結果に含まれるノイズを低減する。
 そして、これを実現するため、本実施例の検索サーバ10は、複数のメッセージが生成された時刻を取得し、メッセージの各々が生成された時刻の差を取得する。そして、検索サーバ10は、例えば、取得された差の平均値を算出し、算出された平均値よりも取得された差が大きい二つのメッセージの間を、検索単位の境界に決定する。
 図4は、本実施例の対象データ集合41を示す説明図である。
 対象データ集合41は、検索サーバ10によって検索される対象のメッセージのデータを複数格納する。また、対象データ集合41は、ユーザ間においてやり取りされた複数のメッセージの複数のデータを格納する。対象データ集合41は、Data-ID411及びData412を含む。
 Data-ID411は、複数のメッセージの各々を一意に示し、かつ、複数のメッセージに含まれるデータの各々の識別子(以下、Data-IDと記載)を示す。Data412は、メッセージに含まれるデータを示す。なお、Data-IDは数値であっても文字であってもよい。
 一つのエントリのData412は、ユーザ間において送信される一つのメッセージのデータを含む。本実施例のData412には、メッセージのデータが生成された時刻、データがメッセージとして送信された際の送信元のアドレス及び宛先のアドレス、並びに、メッセージの本文が含まれる。
 検索サーバ10は、例えばユーザが用いる通信事業者からユーザがやり取りした複数のメッセージのデータを取得してもよいし、ユーザが用いるメッセンジャーソフトからユーザがやり取りした複数のメッセージのデータを収集してもよい。そして、検索サーバ10のシステム制御部100は、取得された複数のメッセージのデータを対象データ集合41に格納し、取得されたメッセージのデータの各々にData-IDを割り当てる。
 図5は、本実施例の検索単位を生成する処理を示すフローチャートである。
 指示クライアント30は、本実施例の計算機システムの管理者又はオペレータ等(以下、オペレータ)から入力される、索引生成指示と索引生成情報とを受け付ける。そして、指示クライアント30は、索引生成指示と索引生成情報とを、検索サーバ10に送信する。
 索引生成指示と索引生成情報とが検索クライアント20から送信された場合、検索サーバ10のシステム制御部100は、索引生成指示と索引生成情報とを受信する(701)。そして、システム制御部100は、受信した索引生成情報を索引生成情報105として主記憶12に格納する。
 ここで、索引生成指示とは、対象データ集合41に含まれる複数のメッセージのデータを、少なくとも一つの検索単位に再構成し、検索単位の索引を生成する指示である。また、索引生成情報105には、対象データ集合41に含まれる複数のメッセージのデータの各々を指定する値が含まれる。
 図6は、本実施例の索引生成情報105の例を示す説明図である。
 索引生成情報105は、対象データ集合41に含まれる複数のメッセージのData412のうち、検索のための索引を生成するData412を示す。図6は、索引生成情報105の二つの例を示し、索引生成情報611及び索引生成情報612を示す。
 索引生成情報611は、索引を生成する対象のData412を、Data-IDによって示す。索引生成情報611には、少なくとも一つのData-IDが含まれる。索引生成情報612は、索引を生成する対象のData412を、Data-IDが含まれる値の範囲によって示す。
 図6に示す索引生成情報612の「from」は、Data-IDが含まれる値の範囲の始まりを示す。また、図6に示す索引生成情報612の「to」は、Data-IDが含まれる値の範囲の終わりを示す。
 索引生成情報612は、値の範囲の始まり及び終わりの少なくとも一つを指定すればよい。例えば、索引生成情報612が「to」の値を指定せず、「from」の値を指定した場合、検索サーバ10の情報抽出部102は、「from」の値のData-IDから、対象データ集合41における最後のData-IDまでのData412を、索引を生成する対象のデータとして対象データ集合41から抽出する。
 また、例えば、索引生成情報612が「to」の値を指定し、「from」の値を指定しない場合、検索サーバ10の情報抽出部102は、対象データ集合41における最初のData-IDから「to」の値のData-IDまでのData412を、索引を生成する対象のデータとして対象データ集合41から抽出する。
 なお、図6に示す索引生成情報105は、Data-IDによってData412を指定したが、本実施例の索引生成情報105は、Data412が示すデータが生成された時刻又はデータが生成された期間によって、少なくとも一つのデータを指定してもよい。
 また、本実施例の索引生成情報105は、Data412が示す送信元のアドレス又は宛先のアドレスによって、索引を生成する対象のData412を指定してもよい。また、本実施例の索引生成情報105は、Data-ID、時刻、期間、送信元のアドレス、又は、宛先のアドレスのうち、少なくとも二つの情報によって、索引を生成する対象の複数のData412を指定してもよい。
 ステップ701の後、システム制御部100は、索引制御部101を呼び出し、索引制御部101は、情報抽出部102を呼び出す。そして、情報抽出部102は、索引生成情報105が指定する複数のData-IDを取得する(702)。
 ステップ702の後、情報抽出部102は、取得された複数のData-IDのすべてに、ステップ704及びステップ705の処理を実行する(703)。
 情報抽出部102は、取得された複数のData-IDに相当するエントリを、索引生成データとして対象データ集合41から取得する(704)。また、情報抽出部102は、取得された索引生成データからData-ID(Data-ID411に相当)と書誌情報とを抽出し、抽出されたData-IDと書誌情報とを書誌情報表112に格納する(705)。
 図7は、本実施例の書誌情報表112を示す説明図である。
 書誌情報表112は、索引を生成する対象のデータの少なくとも一つの書誌情報を格納する。書誌情報表112は、図5に示す処理の開始時に値を含まない領域であり、ステップ705における処理によって値が格納される。書誌情報表112は、Data-ID1121、Time1122、From-ID1123、及び、To-ID1124を格納する。
 Data-ID1121は、Data-IDを示し、対象データ集合41のData-ID411に対応する。Time1122は、メッセージのデータが生成された時刻を示し、Data412に含まれる時刻に対応する。
 From-ID1123は、Data412がメッセージとして送信された際の送信元のアドレスを示し、Data412に含まれる送信元のアドレスに対応する。To-ID1124は、Data412がメッセージとして送信された際の宛先のアドレスを示し、Data412に含まれる宛先のアドレスに対応する。
 ステップ705において情報抽出部102は、索引生成データに含まれるData-ID411のData-IDと、Data412に含まれる時刻、送信元のアドレス及び宛先のアドレスと、書誌情報として抽出する。そして、情報抽出部102は、抽出されたData-ID、時刻、送信元のアドレス及び宛先のアドレスを、書誌情報表112のData-ID1121、Time1122、From-ID1123及びTo-ID1124に格納する。
 なお、情報抽出部102は、Data412のテンプレート等をあらかじめ保持し、保持するテンプレート等に基づいて、Data412から時刻、送信元のアドレス及び宛先のアドレスを抽出する。
 情報抽出部102が、ステップ702において取得されたすべてのData-IDに、ステップ704及びステップ705を実行した後、索引制御部101は単位生成部103を呼び出す。
 単位生成部103は、呼び出された場合、一つのエントリのFrom-ID1123及びTo-ID1124に格納される二つの識別子を、From-ID1123及びTo-ID1124、又は、To-ID1124及びFrom-ID1123に含むエントリを、書誌情報表112からすべて抽出する。すなわち、単位生成部103は、二人のユーザによってやり取りされたメッセージの書誌情報を示すエントリを、書誌情報表112からすべて抽出する。そして、単位生成部103は、抽出されたエントリを含む少なくとも一つのデータ群を生成する(706)。
 なお、書誌情報表112が、From-ID1123及びTo-ID1124、又は、To-ID1124及びFrom-ID1123に格納される値の組合せとして、複数の組合せを有する場合、すなわち、書誌情報表112が、複数組のユーザによってやり取りされたメッセージの書誌情報を含む場合、単位生成部103は、ステップ706において複数のデータ群を生成する。これによって、単位生成部103は、図3Aに示すような複数組のユーザによるメッセージを、複数組の各々のユーザによるメッセージに分割することができる。
 ステップ706の後、単位生成部103は、生成された少なくとも一つのデータ群に含まれるエントリを、Time1122に従ってソートする。そして、単位生成部103は、ソートされたデータ群において、連続する二つのエントリのTime1122の差を求める。そして、単位生成部103は、ソートされたデータ群と求められた差とを、抽出データ表106に格納する(707)。
 なお、ステップ706において複数のデータ群が生成される場合、単位生成部103は、ステップ707において、抽出データ表106をデータ群ごとに複数生成する。そして、単位生成部103は、ステップ708における処理を複数の抽出データ表106の各々に実行する。
 図8は、本実施例の抽出データ表106を示す説明図である。
 抽出データ表106は、データ群の情報と、複数のメッセージの各々が生成された時刻の差とを含む。抽出データ表106は、図5に示す処理の開始時において値を含まない領域である。抽出データ表106は、Data-ID1061、Time1062、Difference1063、From-ID1064及びTo-ID1065を格納する。
 Data-ID1061は、書誌情報表112のData-ID1121及び対象データ集合41のData-ID411に対応する。Time1062は、書誌情報表112のTime1122に対応する。From-ID1064は、書誌情報表112のFrom-ID1123に対応する。To-ID1065は、書誌情報表112のTo-ID1124に対応する。
 Data-ID1061、Time1062、From-ID1064及びTo-ID1065は、ステップ707においてTime1122に従ってソートされたデータ群である。
 Difference1063は、ステップ707において求められた時刻の差を含む。Difference1063は、Data-ID1061が示すデータが生成された時刻と、当該データが生成される直前にデータが生成された時刻との差を含む。
 例えば、Data-ID1061が「0002」であるエントリのDifference1063は、Data-ID1061が「0002」であるエントリのTime1062の値と、Data-ID1061が「0001」であるエントリのTime1062の値との差を示す。
 本実施例の単位生成部103は、ステップ707において、ソートされたデータ群の最初のエントリのDifference1063に、無効の値を示す「-1」を格納する。
 ステップ707の後、単位生成部103は、抽出データ表106のDifference1063から無効な値(本実施例において「-1」)以外の値を抽出し、抽出された値の平均値を算出する(708)。
 ステップ708の後、単位生成部103は、ステップ708において算出された平均値とDifference1063とを比較し、Difference1063に平均値よりも大きい値を含むエントリと、当該エントリの直前のエントリとの間が粗であると定める。そして、単位生成部103は、粗であると定められた二つのエントリ間を分割することによって、複数の検索単位を再構成する。
 ステップ708においてTime1062の差(Difference1063)と当該差(Difference1063)の平均値とを用いることによって、単位生成部103は、書誌情報表112のTime1122が示す分布の粗密を決定する。そして、単位生成部103は、決定された粗密のうち、粗であると定められた二つのエントリ間を分割することによって、抽出データ表106のエントリを分割し、分割された複数のエントリを含む検索単位を再構成する。
 そして、これによって、単位生成部103は、二人のユーザが一つのテーマについて一定期間にやり取りしたメッセージのデータを、一つの検索単位として再構成することができる。
 さらに、単位生成部103は、再構成された検索単位の各々を一意に示す識別子(Unit-ID)を割り当てる。そして、単位生成部103は、検索単位に含まれる少なくとも一つのData-ID(Data-ID1061に対応)とUnit-IDとを対応付けて、検索単位表42に格納する(709)。
 図9は、本実施例の検索単位表42を示す説明図である。
 検索単位表42は、検索単位と、当該検索単位に含まれるデータとの対応関係を示す。検索単位表42は、図5に示す処理の開始時において値を含まない記憶領域である。検索単位表42は、Unit-ID421及びData-ID List422を格納する。
 Unit-ID421は、ステップ709において割り当てられたUnit-IDを含む。Data-ID List422は、ステップ409において再構成された検索単位に含まれるデータの少なくとも一つのData-IDを含む。
 単位生成部103は、ステップ709において、再構成された検索単位に含まれるData-IDのすべてを、Data-ID List422に格納する。なお、抽出データ表106が複数である場合、単位生成部103は、複数の抽出データ表106において分割されたすべての検索単位のUnit-IDを、一つの検索単位表42に格納してもよい。ここでUnit-IDは、すべての抽出データ表106によって生成される複数の検索単位を一意に示す。
 ステップ709の後、索引制御部101は、索引生成部104を呼び出す。索引生成部104は、呼び出された場合、検索単位表42のUnit-ID421の値をすべて取得する(710)。
 索引生成部104は、取得されたUnit-IDの各々に、ステップ712~ステップ714の処理を実行する(711)。
 索引生成部104は、取得されたUnit-IDのうち一つのUnit-ID(以下Unit-IDa)に対応するData-IDを、検索単位表42のData-ID List422から取得する(712)。ステップ712の後、索引生成部104は、取得されたData-IDのすべてに対応する対象データ集合41のData412から、メッセージの本文を取得する。そして、索引生成部104は、取得された少なくとも一つの本文を結合することによって、索引元データを生成する(713)。
 ステップ713の後、索引生成部104は、索引元データを品詞分解等することにより、索引元データから少なくとも一つの索引を抽出する。そして、索引生成部104は、抽出された索引とUnit-IDaとを、検索単位インデクス43に対応づけて格納する。なお、既に検索単位インデクス43に抽出された索引の値が格納される場合、索引生成部104は、抽出された索引に対応するエントリに、Unit-IDaを追記する(714)。
 ステップ712~ステップ714の処理をすべての検索単位に実行した後、システム制御部100は、図5に示す処理を終了する。
 図10は、本実施例の検索単位インデクス43を示す説明図である。
 検索単位インデクス43は、索引によって検索単位を検索するための転置インデクスである。検索単位インデクス43は、Key431及びUnit-ID List432を含む。
 Key431は、ステップ714において抽出された索引を示す。Unit-ID List432は、Key431の索引が抽出されたデータを含む検索単位のUnit-IDを示す。
 図10に示す検索単位インデクス43は、単語インデクスであり、Key431は単語を含む。しかし、本実施例の検索単位インデクス43は、いかなるインデクスでもよく、n-gramインデクスでもよいし、B-treeインデクスでもよい。
 図5に示す処理によって、本実施例の検索サーバ10は、一つのテーマを示す情報が、複数のメッセージに分割されて含まれる場合においても、検索単位を再構成することにより、検索単位ごとに検索結果を提供できる検索単位インデクス43を生成することができる。
 なお、前述のステップ708及びステップ709において、検索単位を再構成する方法として、Difference1063とDifference1063の平均値とを比較することによってTime1062の分布の粗密を決定する方法を用いた。しかし、本実施例の単位生成部103は、いかなる方法によってデータ群を検索単位に再構成してもよい。例えば、Difference1063と所定の閾値m(閾値mは、任意の正数)とを比較し、所定の閾値mよりもDifference1063が大きいエントリと、当該エントリの直前のエントリとの間を、粗であると定めてもよい。
 また、単位生成部103は、ステップ709における検索単位を再構成する方法として、Difference1063の平均値のn倍(パラメータnは、任意の正数)とDifference1063とを比較することによってTime1062の分布の粗密を決定してもよい。
 前述の閾値m又はパラメータn、及び、検索単位を再構成する方法は、ステップ701において指示クライアント30から受信した索引生成情報105によって指定されてもよい。また、閾値m又はパラメータn、及び、検索単位を再構成する方法を示す値は、後述の索引設定44に設定されてもよい。このため、索引設定44に値が設定される場合、単位生成部103は、ステップ708において索引設定44を読み出し、索引設定44が示す検索単位を再構成する方法を実行する。
 さらに、ステップ709において、単位生成部103は、再構成された検索単位に含まれるメッセージの数が所定の最小値よりも小さい場合、当該検索単位に含まれるメッセージを直前の検索単位及び直後の検索単位の両方に含めてもよい。
 この所定の最小値は、ステップ701において指示クライアント30から受信した索引生成情報105によって指定されてもよい。また、所定の最小値は、後述の索引設定44にあらかじめ格納されてもよく、単位生成部103は、ステップ708において索引設定44を読み出してもよい。
 以下に、検索単位を統合する場合の処理の具体例を説明する。
 図11は、本実施例の検索単位の統合の概念を示す説明図である。
 図11において、メッセージ(#0001)621、メッセージ(#0002)622及びメッセージ(#0003)623によるやり取りが終了し、所定の時間以上が経過した後、ユーザ61は、メッセージ(#0109)627をユーザ60に送信する。そして、さらに所定の時間以上が経過した後、メッセージ(#0317)624、メッセージ(#0321)625及びメッセージ(#0334)626によるやり取りが開始する。
 このように、少数のメッセージによるやり取りが、他の多数のメッセージによるやり取りとは別に行われる場合がある。さらに、少数のメッセージによるやり取りが、他の多数のメッセージによるやり取りと同じ情報の断片を含む場合がある。この場合、少数のメッセージによるやり取りを一つの検索単位として再構成した場合、検索漏れが発生する。
 しかし、前述の時刻の差の平均値等によって検索単位を再構成する方法を用いる場合、単位生成部103が、メッセージ(#0109)627が、メッセージ(#0001)621、メッセージ(#0002)622及びメッセージ(#0003)623の検索単位と同じ情報を持つか、又は、メッセージ(#0109)627が、メッセージ(#0317)624、メッセージ(#0321)625及びメッセージ(#0334)626の検索単位と同じ情報を持つかを判定することは困難である。
 このため、単位生成部103は、ステップ709において、メッセージ(#0109)627のように再構成された検索単位に含まれるメッセージが所定の最小値より少ない場合、当該検索単位に含まれるメッセージを二つに複製し、メッセージ(#0001)621、メッセージ(#0002)622及びメッセージ(#0003)623の検索単位、並びに、メッセージ(#0317)624、メッセージ(#0321)625及びメッセージ(#0334)626の検索単位の両方に含める。これによって、本実施例の単位生成部103は、検索漏れの発生を未然に防止することができる。
 なお、この場合、図9に示す検索単位表42において、メッセージ(#0001)621、メッセージ(#0002)622及びメッセージ(#0003)623のData-IDが含まれるエントリには、メッセージ(#0109)627のData-IDが含まれ、かつ、メッセージ(#0317)624、メッセージ(#0321)625及びメッセージ(#0334)626が含まれるエントリにもメッセージ(#0109)627のData-IDが含まれる。
 図12は、本実施例の検索単位ごと検索処理を示すフローチャートである。
 検索クライアント20の入力装置24は、検索クライアント20のオペレータから、検索条件を受け付け、CPU21は、受け付けた検索条件をネットワーク50を介して検索サーバ10に送信する。
 図13Aは、本実施例の検索クライアント20に表示される検索条件を入力するための画面の例を示す説明図である。
 図13Aに示す画面80は、検索クライアント20の出力装置23に表示される。検索クライアント20のオペレータは、取得したいデータに含まれる単語などの検索条件を、画面80と入力装置24とを用いて、検索クライアント20に入力する。
 画面80は、入力フォーム801及びボタン802を含む。入力フォーム801は、検索条件である単語などを入力するための領域である。入力フォーム801には、複数の単語が入力されてもよい。入力フォーム801に複数の単語が入力される場合、後述するステップ721において、条件受付部108は、複数の単語の各々をor条件によって結合することによって、検索実行部109による処理に併せた検索条件に、取得された検索条件を変換してもよい。
 また、オペレータは、あらかじめ定められた表記方法によって論理条件を入力フォーム801に入力し、条件受付部108が、あらかじめ定められた表記方法に従って検索条件を変換してもよい。
 ボタン802は、入力フォーム801に入力された検索条件を検索クライアント20に受け付けさせるための領域である。オペレータがボタン802を操作することによって、オペレータは、検索サーバ10に検索条件を送信し、検索サーバ10に検索処理を実行させることができる。そして、図12に示す処理が開始される。
 なお、図13Aに示す画面80は例であり、検索条件を入力できる画面であればいかなる構成の画面が用いられてもよい。また、前述において検索条件は検索クライアント20に入力されたが、オペレータは検索サーバ10に検索条件を直接入力してもよい。オペレータが検索サーバ10に検索条件を直接入力する場合、検索サーバ10の出力装置13は、例えば、画面80を表示する。
 検索サーバ10のシステム制御部100は、検索クライアント20から検索条件を受信した場合、検索制御部107を呼び出す。検索制御部107は、条件受付部108を呼び出す。システム制御部100は、検索制御部107を介して、条件受付部108に検索条件を入力する。
 条件受付部108は、呼び出された場合、検索制御部107から検索条件を取得する。そして、条件受付部108は、検索実行部109が処理できるフォーマットに、取得された検索条件を変換する(721)。
 ステップ721の後、検索制御部107は、検索実行部109を呼び出す。検索実行部109は、呼び出された場合、条件受付部108によって変換された検索条件によって、検索単位インデクス43のKey431を検索し、ステップ722における検索結果としてUnit-ID List432の値を取得する(722)。
 ステップ722の後、検索制御部107は、結果生成部110を呼び出す。結果生成部110は、呼び出された場合、ステップ722において取得されたUnit-ID List432に含まれる少なくとも一つのUnit-IDを抽出する。そして、結果生成部110は、抽出されたUnit-IDに対応するData-IDを、検索単位表42のData-ID List422から取得する(723)。
 ステップ723の後、結果生成部110は、取得されたData-IDに対応するData412を対象データ集合41からすべて取得する。そして、結果生成部110は、取得されたすべてのData412を結合し、図12に示す処理の検索結果として、ステップ723において抽出されたUnit-IDごとに検索単位のデータを生成する(724)。
 なお、ステップ724において、結果生成部110は、検索単位ごとにData412を結合してもよいし、検索条件に従って結合してもよい。例えば、結果生成部110は、検索条件の単語を含むメッセージを、ステップ724において取得されたデータから抽出する。そして、結果生成部110は、抽出されたメッセージが生成された時刻の直前に生成されたメッセージ及び直後に生成されたメッセージを、ステップ724において取得されたデータからさらに抽出する。そして、結果生成部110は、検索条件の単語を含むデメッセージと、当該メッセージが生成された直前及び直後に生成されたメッセージとを、結合してもよい。
 また、検索結果として出力するメッセージの数の上限数が、あらかじめ定められる場合、結果生成部110は、ステップ724において取得されたデータのうち、あらかじめ定められた上限数のメッセージを抽出し、抽出されたメッセージを結合してもよい。
 さらに、結果生成部110は、ステップ723において索引設定44を参照し、索引設定44が、検索結果の表示の設定に関する設定値を含む場合、当該設定値に従って、取得されたデータを結合してもよい。
 ステップ724の後、検索制御部107は、結果出力部111を呼び出す。結果出力部111は、呼び出された場合、結果生成部110によって生成された検索単位のデータを、検索クライアント20に送信する(725)。
 図13Bは、本実施例の検索クライアント20に表示される検索結果を出力するための画面の例を示す説明図である。
 図13Bに示す画面81は、出力装置23によって表示される。画面81は、図12に示す処理が終了し、検索サーバ10によって取得された検索結果を、オペレータに出力するための画面である。画面81は、入力フォーム811、ボタン812、ボタン813、リスト814及びボタン815を含む。
 入力フォーム811及びボタン812は、画面80の入力フォーム801及びボタン802と同じである。オペレータは、検索結果を参照した後、さらに検索をしたい場合、入力フォーム811及びボタン812を用いる。これによって、オペレータの利便性が向上する。しかし、画面81は、入力フォーム811及びボタン812は含まず、画面80に遷移するためのボタンを有してもよい。
 ボタン813及びボタン815は、表示できなかった検索結果を表示するためのボタンである。例えば、出力装置23のディスプレイの大きさの都合上、表示することができる量よりも検索結果が多い場合、出力装置23は画面81にボタン813及びボタン815を表示してもよい。そして、オペレータはボタン813及びボタン815を操作し、表示できなかった検索結果を表示させてもよい。
 なお、ボタン813及びボタン815の少なくとも一つが表示されてよく、オペレータの利便性を向上させるため、ボタン813及びボタン815の両方が表示されてもよい。
 リスト814は、検索結果を表示するための領域である。リスト814には、図12に示すステップ724において生成された検索単位のデータが表示される。リスト814に、複数の検索単位が表示される場合、出力装置23は、任意の優先順位(例えば、データが生成された時刻)に従って、表示する検索単位の順番を決定してもよい。
 また、出力装置23は、あらかじめ指定された個数の検索単位を、リスト814に表示してもよい。
 図13Bに示す画面81は例であり、出力装置23は、検索結果を出力できる画面であればいかなる構成の画面を表示してもよい。また、前述の画面81はディスプレイに表示されたが、出力装置23に接続されるプリンタがリスト814を出力してもよい。また、前述の画面81は、検索クライアント20の出力装置23によって表示されたが、検索サーバ10の出力装置13が、画面81を表示するか、又は、リスト814を出力してもよい。
 図14は、本実施例の索引設定44を設定するための画面の例を示す説明図である。
 図14に示す画面82は、索引設定44に値を設定するための画面である。画面82は、指示クライアント30の出力装置33によって表示される。画面82によって入力された値は、指示クライアント30から検索サーバ10に送信され、システム制御部100によって索引設定44に格納される。
 画面82は、ボタン821、ボタン836、領域840及び領域841を含む。領域840は、ラジオボタン822、リストボックス823、ラジオボタン824、入力フォーム825、リストボックス826、ラジオボタン827、リストボックス828、ラジオボタン829及び入力フォーム830を含む。領域841は、リストボックス831、ラジオボタン832、リストボックス833、ラジオボタン834及び入力フォーム835を含む。
 ボタン821及びボタン836は、領域840及び領域841に設定された値を検索サーバ10に送信するためのボタンである。オペレータがボタン821又はボタン836を操作することによって、領域840及び領域841に設定された値が、検索サーバ10の索引設定44に格納される。
 領域840は、検索単位の再構成に関する値を設定する領域である。領域841は、検索結果の表示に関する値を設定する領域である。
 ラジオボタン822は、検索単位を再構成する方法をリストボックス823によって指定する場合に選択され、選択された場合アクティブ状態を示す。図14の画面82において、ラジオボタン822が選択された場合、図14に示すラジオボタン824はディアクティブ状態を示す。これは、図14に示すリストボックス823が、検索単位を再構成する際に入力フォーム825によって指定されるパラメータを用いない方法のみを含むためである。
 なお、図14において、アクティブ状態のラジオボタンは、例えば、黒丸であり、ディアクティブ状態のラジオボタンは、例えば、白丸である。
 リストボックス823には、検索単位を再構成する方法が入力される。リストボックス823は、複数の方法を表示してもよく、オペレータは、リストボックス823に表示された複数の方法のうちいずれかを選択することによって方法を入力してもよい。
 リストボックス823には、例えば、「デフォルト:時刻の差の平均値」、「時刻の差の平均値の2倍」、又は、「時刻の差の平均値の1/2倍」などの方法を表示する。リストボックス823の方法を選択することによって、オペレータは、ステップ708及びステップ709において用いられる検索単位を再構成する方法、及び、パラメータnを設定することができる。
 ラジオボタン824は、検索単位を再構成するためのパラメータを入力フォーム825及びリストボックス826によって指定する場合に選択され、選択された場合にアクティブ状態を示す。図14の画面82において、ラジオボタン824が選択された場合、ラジオボタン822はディアクティブ状態を示す。
 入力フォーム825には、ステップ709において検索単位を再構成するためのパラメータ(前述の閾値m)の数値が入力される。リストボックス826には、入力フォーム825に入力される数値の単位が入力される。
 リストボックス826は、複数の単位を選択肢として表示してもよく、この場合、オペレータは、リストボックス826に表示された複数の単位のうちいずれかを選択することによって単位を入力する。
 ラジオボタン827は、検索単位に含まれるメッセージの数の最小値をリストボックス828によって指定する場合に選択され、選択された場合アクティブ状態を示す。ラジオボタン827が選択された場合、ラジオボタン829がディアクティブ状態を示す。
 リストボックス828は、検索単位に含まれるメッセージの数の最小値の選択肢を、複数表示する。オペレータは、リストボックス828に表示される、例えば、「デフォルト:3」、「5」又は「7」などの選択肢から、検索単位に含まれるメッセージの数の最小値を選択する。
 ラジオボタン829は、検索単位に含まれるメッセージの数の最小値を入力フォーム830によって指定する場合に選択される。ラジオボタン829が選択された場合、ラジオボタン827はディアクティブ状態を示す。入力フォーム830は、検索単位に含まれるメッセージの数の最小値を入力される。
 オペレータは、リストボックス828の値を選択するか、又は、入力フォーム830に値を入力することによって、ステップ709において用いられる所定の最小値を指定することができる。
 リストボックス831は、画面81のリスト814に表示される検索結果の条件を入力するための領域である。図14に示すリストボックス831は、複数の条件を選択肢として表示する。
 リストボックス831は、例えば、「デフォルト:ヒットタームを含むデータと時間軸上の前後」、「ヒットタームを含むデータを時間軸に関わらず」、又は、「時間軸上での先頭から」などを選択肢として表示する。オペレータは、リストボックス831の値を選択することによって、ステップ724において検索単位のデータを生成する際の、メッセージの結合方法を指定することができる。
 ラジオボタン832は、画面81のリスト814に表示される検索結果の数をリストボックス833によって指定する場合、選択される。ラジオボタン832が選択された場合、ラジオボタン834はディアクティブ状態を示す。
 リストボックス833は、画面81のリスト814に表示される検索結果の数の選択肢を、複数表示する。オペレータは、リストボックス833に表示される、例えば、「デフォルト:3」、「1」又は「5」などの選択肢から、表示される検索結果の数を選択する。
 ラジオボタン834は、画面81のリスト814に表示される検索結果の数を入力フォーム835によって指定する場合、選択される。ラジオボタン834が選択された場合、ラジオボタン832はディアクティブ状態を示す。
 入力フォーム835は、画面81のリスト814に表示される検索結果の数を入力するための領域である。
 オペレータがリストボックス833の値を選択するか、又は、入力フォーム835に値を入力することによって、結果出力部111は、ステップ725において、リストボックス833の値又は入力フォーム835の値の検索単位のデータを、検索クライアント20に送信してもよい。
 図14に示す画面82は例であり、出力装置33は、索引設定44を設定できる画面であればいかなる構成の画面を表示してもよい。また、前述の画面82は、指示クライアント30の出力装置33によって表示されたが、検索サーバ10の出力装置13が、画面82を表示してもよい。
 図15は、本実施例の索引設定44を示す説明図である。
 索引設定44は、画面82によって設定された、検索単位を再構成するための設定値及び検索結果を表示するための設定値を示す。索引設定44は、item441及びvalue442を含む。
 エントリ443のvalue442は、リストボックス823又は入力フォーム825に入力された値を示す。エントリ444のvalue442は、リストボックス828又は入力フォーム830に入力された値を示す。
 エントリ445のvalue442は、リストボックス831に入力された値を示す。エントリ446のvalue442は、リストボックス833又は入力フォーム835に入力された値を示す。
 エントリ443はステップ708及びステップ709において読み出され、エントリ444はステップ709において読み出され、ステップ445はステップ724において読み出され、ステップ446はステップ725において読み出される。
 図14に示す画面82及び索引設定44によって、オペレータは、任意に検索単位を再構成する方法、及び、検索単位に含まれるメッセージの数の最小値等を変更することができる。
 以上説明したように、本実施例によれば、一つのテーマを示す情報が複数のメッセージに分割されて含まれる場合、意味の関係性が強い複数のメッセージを検索単位として再構成し、再構成された検索単位を検索する。これによって、ユーザにとって意味のある検索結果を出力することができる。
 また、本実施例の検索サーバ10は、検索単位を再構成するためメッセージが生成された時刻を用いるため、書誌情報のみを用いて検索単位を再構成するよりも、検索単位に含まれるメッセージを適切に抽出することができる。そして、この結果、本実施例の検索サーバ10は、検索結果に含まれるノイズを低減できる。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
 また、本実施例において、二人のユーザ間においてやり取りされるメッセージを検索単位に再構成したが、一つのテーマを示す複数のデータであり、かつ、各々では当該テーマを示さないようなデータであれば、いかなるデータに本実施例を適用してもよい。
 また、上記の各構成、機能、処理部、処理手順等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。各処理部の機能を実現するプログラム及び表などの情報は、メモリ、ハードディスク、若しくはSSD(Solid State Drive)等の記録装置、又は、ICカード、SDカード、若しくはDVD等の記録媒体に格納することができる。
 また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてよい。
 SMS、及び、SNS等、断片的なデータを用いるシステムに適用できる。

Claims (15)

  1.  プロセッサと、前記プロセッサが実行するプログラムを格納するメモリとを有する計算機であって、
     前記メモリは、データ集合記憶部を有し、
     前記データ集合記憶部は、少なくとも一つのテーマを構成する情報として生成された複数のメッセージであって、当該複数のメッセージの各々が当該少なくとも一つのテーマを示さない複数のメッセージを含み、
     前記計算機は、
     少なくとも一つの前記メッセージを含み、かつ、前記テーマを示すような少なくとも一つのデータ単位に、前記データ集合記憶部に格納された複数のメッセージを再構成する単位生成部と、
     前記再構成されたデータ単位に含まれるメッセージから、索引を生成する索引生成部と、
     前記複数のメッセージを検索する検索条件を受け付けた場合、前記生成された索引と前記検索条件とに基づいて、前記検索条件に対応する前記データ単位を特定する検索実行部と、
     前記特定されたデータ単位に基づいて、検索結果を出力する結果出力部と、を有することを特徴とする計算機。
  2.  請求項1に記載の計算機であって、
     前記計算機は、前記データ集合記憶部に含まれる複数のメッセージの各々から、当該メッセージが生成された生成時刻を抽出し、前記抽出された生成時刻を含む書誌情報を前記メモリに格納する情報抽出部を有し、
     前記単位生成部は、前記書誌情報に含まれる複数の生成時刻の分布の粗密に基づいて、前記複数のメッセージを前記データ単位に再構成することを特徴とする計算機。
  3.  請求項2に記載の計算機であって、
     前記単位生成部は、
     前記書誌情報に含まれる複数の生成時刻の各々と、当該生成時刻の直前の時刻を示し、かつ、前記書誌情報に含まれる生成時刻との差を算出し、
     前記算出された複数の差の平均値を算出し、
     前記算出された平均値よりも大きい前記差が算出された二つの生成時刻の間を、粗であると決定し、
     前記粗の二つの生成時刻によって、前記複数のメッセージを複数の前記データ単位に再構成することを特徴とする計算機。
  4.  請求項3に記載の計算機であって、
     前記単位生成部は、
     前記データ単位に含まれるメッセージの数の最小値を取得し、
     前記再構成された第1のデータ単位に含まれる第1のメッセージの数が前記最小値を下回る場合、前記第1のメッセージの直前に生成された第2のメッセージが含まれる前記第2のデータ単位と、前記第1のメッセージの直後に生成された第3のメッセージが含まれる前記第3のデータ単位とに、前記第1のメッセージの各々を含めることを特徴とする計算機。
  5.  請求項4に記載の計算機であって、
     前記情報抽出部は、
     前記データ集合記憶部に含まれる複数のメッセージの各々から、前記メッセージの送信元のアドレス、及び、前記メッセージの宛先のアドレスを抽出し、
     前記抽出された送信元のアドレス及び宛先のアドレスを、前記書誌情報として格納し、
     前記単位生成部は、前記生成時刻、前記送信元のアドレス及び宛先のアドレスに基づいて、前記複数のメッセージをデータ単位に再構成することを特徴とする計算機。
  6.  請求項5に記載の計算機であって、
     前記計算機は、入出力装置を有し、
     前記入出力装置は、前記最小値を受け付けるためのインタフェースを表示することを特徴とする計算機。
  7.  プロセッサと、前記プロセッサが実行するプログラムを格納するメモリとを有する計算機におけるデータ処理方法であって、
     前記メモリは、データ集合記憶部を有し、
     前記データ集合記憶部は、少なくとも一つのテーマを構成する情報として生成された複数のメッセージであって、当該複数のメッセージの各々が当該少なくとも一つのテーマを示さない複数のメッセージを含み、
     前記方法は、
     前記プロセッサが、少なくとも一つの前記メッセージを含み、かつ、前記テーマを示すような少なくとも一つのデータ単位に、前記データ集合記憶部に格納された複数のメッセージを再構成する単位生成手順と、
     前記プロセッサが、前記再構成されたデータ単位に含まれるメッセージから、索引を生成する索引生成手順と、
     前記プロセッサが、前記複数のメッセージを検索する検索条件を受け付けた場合、前記生成された索引と前記検索条件とに基づいて、前記検索条件に対応する前記データ単位を特定する検索実行手順と、
     前記プロセッサが、前記特定されたデータ単位に基づいて、検索結果を出力する結果出力手順と、を含むことを特徴とするデータ処理方法。
  8.  請求項7に記載のデータ処理方法であって、
     前記方法は、前記プロセッサが、前記データ集合記憶部に含まれる複数のメッセージの各々から、当該メッセージが生成された生成時刻を抽出し、前記抽出された生成時刻を含む書誌情報を前記メモリに格納する情報抽出手順を含み、
     前記単位生成手順は、前記プロセッサが、前記書誌情報に含まれる複数の生成時刻の分布の粗密に基づいて、前記複数のメッセージを前記データ単位に再構成する手順を含むことを特徴とするデータ処理方法。
  9.  請求項8に記載のデータ処理方法であって、
     前記単位生成手順は、
     前記プロセッサが、前記書誌情報に含まれる複数の生成時刻の各々と、当該生成時刻の直前の時刻を示し、かつ、前記書誌情報に含まれる生成時刻との差を算出する手順と、
     前記プロセッサが、前記算出された複数の差の平均値を算出する手順と、
     前記プロセッサが、前記算出された平均値よりも大きい前記差が算出された二つの生成時刻の間を、粗であると決定する手順と、
     前記プロセッサが、前記粗の二つの生成時刻によって、前記複数のメッセージを複数の前記データ単位に再構成する手順を含むことを特徴とするデータ処理方法。
  10.  請求項9に記載のデータ処理方法であって、
     前記単位生成手順は、
     前記プロセッサが、前記データ単位に含まれるメッセージの数の最小値を取得する手順と、
     前記プロセッサが、前記再構成された第1のデータ単位に含まれる第1のメッセージの数が前記最小値を下回る場合、前記第1のメッセージの直前に生成された第2のメッセージが含まれる前記第2のデータ単位と、前記第1のメッセージの直後に生成された第3のメッセージが含まれる前記第3のデータ単位とに、前記第1のメッセージの各々を含める手順とを含むことを特徴とするデータ処理方法。
  11.  請求項10に記載のデータ処理方法であって、
     前記情報抽出手順は、
     前記プロセッサが、前記データ集合記憶部に含まれる複数のメッセージの各々から、前記メッセージの送信元のアドレス、及び、前記メッセージの宛先のアドレスを抽出する手順と、
     前記プロセッサが、前記抽出された送信元のアドレス及び宛先のアドレスを、前記書誌情報として格納する手順を含み、
     前記単位生成手順は、前記プロセッサが、前記生成時刻、前記送信元のアドレス及び宛先のアドレスに基づいて、前記複数のメッセージをデータ単位に再構成する手順を含むことを特徴とするデータ処理方法。
  12.  請求項11に記載のデータ処理方法であって、
     前記計算機は、入出力装置を有し、
     前記方法は、前記入出力装置が、前記最小値を受け付けるためのインタフェースを表示する手順を含むことを特徴とするデータ処理方法。
  13.  計算機が読み取り可能な非一時的な記録媒体であって、
     前記計算機は、データ集合記憶部を有するメモリを有し、
     前記データ集合記憶部は、少なくとも一つのテーマを構成する情報として生成された複数のメッセージであって、当該複数のメッセージの各々が当該少なくとも一つのテーマを示さない複数のメッセージを含み、
     前記非一時的な記録媒体は、
     前記計算機に、少なくとも一つの前記メッセージを含み、かつ、前記テーマを示すような少なくとも一つのデータ単位に、前記データ集合記憶部に格納された複数のメッセージを再構成する単位生成手順と、
     前記計算機に、前記再構成されたデータ単位に含まれるメッセージから、索引を生成する索引生成手順と、
     前記計算機に、前記複数のメッセージを検索する検索条件を受け付けた場合、前記生成された索引と前記検索条件とに基づいて、前記検索条件に対応する前記データ単位を特定する検索実行手順と、
     前記計算機に、前記特定されたデータ単位に基づいて、検索結果を出力する結果出力手順と、を実行させるためのプログラムを記憶した非一時的な記録媒体。
  14.  請求項13に記載の非一時的な記録媒体であって、
     前記計算機に、前記データ集合記憶部に含まれる複数のメッセージの各々から、当該メッセージが生成された生成時刻を抽出し、前記抽出された生成時刻を含む書誌情報を前記メモリに格納する情報抽出手順を、実行させ、
     前記単位生成手順において、前記計算機に、前記書誌情報に含まれる複数の生成時刻の分布の粗密に基づいて、前記複数のメッセージを前記データ単位に再構成する手順を実行させるためのプログラムを記憶した非一時的な記録媒体。
  15.  請求項14に記載の非一時的な記録媒体であって、
     前記単位生成手順において、
     前記計算機に、前記書誌情報に含まれる複数の生成時刻の各々と、当該生成時刻の直前の時刻を示し、かつ、前記書誌情報に含まれる生成時刻との差を算出する手順と、
     前記計算機に、前記算出された複数の差の平均値を算出する手順と、
     前記計算機に、前記算出された平均値よりも大きい前記差が算出された二つの生成時刻の間を、粗であると決定する手順と、
     前記計算機に、前記粗の二つの生成時刻によって、前記複数のメッセージを複数の前記データ単位に再構成する手順と、を実行させるためのプログラムを記憶した非一時的な記録媒体。
PCT/JP2013/061027 2013-04-12 2013-04-12 計算機、データ処理方法、及び、非一時的な記録媒体 Ceased WO2014167702A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/428,208 US20150234872A1 (en) 2013-04-12 2013-04-12 Computer, data processing method, and non-transitory storage medium
PCT/JP2013/061027 WO2014167702A1 (ja) 2013-04-12 2013-04-12 計算機、データ処理方法、及び、非一時的な記録媒体
JP2015511042A JP5922306B2 (ja) 2013-04-12 2013-04-12 計算機、データ処理方法、及び、非一時的な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/061027 WO2014167702A1 (ja) 2013-04-12 2013-04-12 計算機、データ処理方法、及び、非一時的な記録媒体

Publications (1)

Publication Number Publication Date
WO2014167702A1 true WO2014167702A1 (ja) 2014-10-16

Family

ID=51689135

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/061027 Ceased WO2014167702A1 (ja) 2013-04-12 2013-04-12 計算機、データ処理方法、及び、非一時的な記録媒体

Country Status (3)

Country Link
US (1) US20150234872A1 (ja)
JP (1) JP5922306B2 (ja)
WO (1) WO2014167702A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018212106A1 (ja) * 2017-05-19 2018-11-22 学校法人神奈川大学 情報検索装置、検索用プログラム、データベースの更新方法、データベースの更新装置、データベース更新用プログラム
JP2018195165A (ja) * 2017-05-19 2018-12-06 学校法人神奈川大学 情報検索装置、検索用プログラム、データベースの更新装置、データベース更新用プログラム
JP2022090242A (ja) * 2020-12-07 2022-06-17 株式会社Niコンサルティング メール作成支援プログラム及びサーバ

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715515B2 (en) * 2014-01-31 2017-07-25 Microsoft Technology Licensing, Llc External data access with split index
WO2016070338A1 (zh) * 2014-11-04 2016-05-12 华为技术有限公司 一种显示消息的方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007531165A (ja) * 2004-03-31 2007-11-01 グーグル インコーポレイテッド 会話ベースの電子メールシステムにおける会話の表示
JP2010097324A (ja) * 2008-10-15 2010-04-30 Nec Corp 文書共同編集システム、文書共同編集方法およびプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5864862A (en) * 1996-09-30 1999-01-26 Telefonaktiebolaget Lm Ericsson (Publ) System and method for creating reusable components in an object-oriented programming environment
CA2204971A1 (en) * 1997-05-09 1998-11-09 Michael Cheng Uniform access to and interchange between objects employing a plurality of access methods
CA2349177A1 (en) * 1998-11-03 2000-05-11 British Telecommunications Public Limited Company Apparatus for processing communications
US8112529B2 (en) * 2001-08-20 2012-02-07 Masterobjects, Inc. System and method for asynchronous client server session communication
EP1783604A3 (en) * 2005-11-07 2007-10-03 Slawomir Adam Janczewski Object-oriented, parallel language, method of programming and multi-processor computer
US7647338B2 (en) * 2007-02-21 2010-01-12 Microsoft Corporation Content item query formulation
US20080250227A1 (en) * 2007-04-04 2008-10-09 Linderman Michael D General Purpose Multiprocessor Programming Apparatus And Method
US8316035B2 (en) * 2008-01-16 2012-11-20 International Business Machines Corporation Systems and arrangements of text type-ahead
US8869165B2 (en) * 2008-03-20 2014-10-21 International Business Machines Corporation Integrating flow orchestration and scheduling of jobs and data activities for a batch of workflows over multiple domains subject to constraints
US8543592B2 (en) * 2008-05-30 2013-09-24 Microsoft Corporation Related URLs for task-oriented query results
US20100005087A1 (en) * 2008-07-01 2010-01-07 Stephen Basco Facilitating collaborative searching using semantic contexts associated with information
US8271497B2 (en) * 2009-12-03 2012-09-18 Sony Computer Entertainment Inc. Information processing apparatus and information processing method outputting information on movement of person
US20110225028A1 (en) * 2010-03-11 2011-09-15 Skiff Llc System and method for providing communication with an advertiser from an electronic device
AU2011291544B2 (en) * 2010-08-19 2015-03-26 Google Llc Predictive query completion and predictive search results
US20120167009A1 (en) * 2010-12-22 2012-06-28 Apple Inc. Combining timing and geometry information for typing correction
US8639679B1 (en) * 2011-05-05 2014-01-28 Google Inc. Generating query suggestions
US8412728B1 (en) * 2011-09-26 2013-04-02 Google Inc. User interface (UI) for presentation of match quality in auto-complete suggestions
WO2013130633A1 (en) * 2012-02-29 2013-09-06 Google Inc. Interactive query completion templates
US9027024B2 (en) * 2012-05-09 2015-05-05 Rackspace Us, Inc. Market-based virtual machine allocation
US20130346870A1 (en) * 2012-06-22 2013-12-26 Apple Inc. Multi-user targeted content delivery
WO2014081727A1 (en) * 2012-11-20 2014-05-30 Denninghoff Karl L Search and navigation to specific document content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007531165A (ja) * 2004-03-31 2007-11-01 グーグル インコーポレイテッド 会話ベースの電子メールシステムにおける会話の表示
JP2010097324A (ja) * 2008-10-15 2010-04-30 Nec Corp 文書共同編集システム、文書共同編集方法およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018212106A1 (ja) * 2017-05-19 2018-11-22 学校法人神奈川大学 情報検索装置、検索用プログラム、データベースの更新方法、データベースの更新装置、データベース更新用プログラム
JP2018195165A (ja) * 2017-05-19 2018-12-06 学校法人神奈川大学 情報検索装置、検索用プログラム、データベースの更新装置、データベース更新用プログラム
US11294961B2 (en) 2017-05-19 2022-04-05 Kanagawa University Information search apparatus, search program, database update method, database update apparatus and database update program, for searching a specified search target item associated with specified relation item
JP2022090242A (ja) * 2020-12-07 2022-06-17 株式会社Niコンサルティング メール作成支援プログラム及びサーバ

Also Published As

Publication number Publication date
JPWO2014167702A1 (ja) 2017-02-16
JP5922306B2 (ja) 2016-05-24
US20150234872A1 (en) 2015-08-20

Similar Documents

Publication Publication Date Title
US12204865B2 (en) Automatically assisting conversations using graph database
US11876760B2 (en) Determining strength of association between user contacts
US9141689B2 (en) Persona management system for communications
KR102193489B1 (ko) 엔트리들을 위한 옵트-인 영속성을 갖는 메시지 스레드를 유지하는 장치 및 방법
JP5922306B2 (ja) 計算機、データ処理方法、及び、非一時的な記録媒体
US20130166543A1 (en) Client-based search over local and remote data sources for intent analysis, ranking, and relevance
US20130117383A1 (en) System and method for insertion of addresses in electronic messages
US8126973B2 (en) System and method for incorporating social networking maps in collaboration tooling and devices
US20120239663A1 (en) Perspective-based content filtering
CN113692597B (zh) 电子邮件内容修改系统
US10885283B2 (en) Real time parsing and suggestions from pre-generated corpus with hypernyms
US10810256B1 (en) Per-user search strategies
WO2021006977A1 (en) Delta graph traversing system
US8296372B2 (en) Method and system for merging electronic messages
CN113515712B (zh) 集成系统的页面生成方法、装置、电子设备和存储介质
CN111506737B (zh) 图数据处理方法、检索方法、装置及电子设备
CN103532827A (zh) 一种通过扩展xmpp协议实现通信录功能的系统和方法
WO2023278885A1 (en) Moderation of user content for a social messaging platform
CN105814559B (zh) 具有特定于用户的工作集的增强型服务环境
CN117056174B (zh) 一种通知信息处理方法及装置
CN107609093B (zh) 一种数据库表监控方法、装置、设备和存储介质
Chen et al. The media feature analysis of microblog topics
JP2010191516A (ja) 情報同期装置
CN121188071A (zh) 内容处理方法、装置及计算机设备、存储介质、程序产品
CA2793654A1 (en) System and method for insertion of addresses in electronic messages

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13881986

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015511042

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14428208

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13881986

Country of ref document: EP

Kind code of ref document: A1