JP2021022199A - Classification method for terminal data, terminal, and program - Google Patents

Classification method for terminal data, terminal, and program Download PDF

Info

Publication number
JP2021022199A
JP2021022199A JP2019138687A JP2019138687A JP2021022199A JP 2021022199 A JP2021022199 A JP 2021022199A JP 2019138687 A JP2019138687 A JP 2019138687A JP 2019138687 A JP2019138687 A JP 2019138687A JP 2021022199 A JP2021022199 A JP 2021022199A
Authority
JP
Japan
Prior art keywords
data
classified
category
classification
new data
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.)
Pending
Application number
JP2019138687A
Other languages
Japanese (ja)
Other versions
JP2021022199A5 (en
Inventor
祐樹 齋藤
Yuki Saito
祐樹 齋藤
悠 菊地
Yu Kikuchi
悠 菊地
祐貴 大幸
Yuki Osachi
祐貴 大幸
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.)
Line Pay Corp
Original Assignee
Line Pay Corp
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 Line Pay Corp filed Critical Line Pay Corp
Priority to JP2019138687A priority Critical patent/JP2021022199A/en
Publication of JP2021022199A publication Critical patent/JP2021022199A/en
Publication of JP2021022199A5 publication Critical patent/JP2021022199A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

To provide a classification method, a terminal, and a program improving precision in classification of new data.SOLUTION: Data classified by a user and its categories are acquired, a first determination is made for whether or not the new data of the user is capable of being classified based on the classified data and its category, and the new data is classified into one of the categories already classified by the user when the new data is determined to be capable of being classified into the category. When determined that the new data is not capable of being classified into the category in a first determination, entropy of the new data is calculated. A second determination of whether or not the entropy is a specific value or more is made, the new data is classified into a category according to a first model when the entropy is the specific value or more, and the new data is classified according to a second model different from the first model when the entropy is less than the specific value.SELECTED DRAWING: Figure 5

Description

本開示は、端末のデータの分類方法、端末、プログラムに関する。 The present disclosure relates to a method of classifying terminal data, a terminal, and a program.

近年、家計簿をつけることができるアプリケーションで家計の管理をすることが行われている。特許文献1はグループで家計簿を管理することの他に、食費や雑費などの費目をつけて各費目に対する予算、各費目に対応する残金などを管理する技術を開示している。 In recent years, household management has been carried out with an application that can keep a household account book. Patent Document 1 discloses a technique for managing a household account book as a group, as well as managing a budget for each expense item, a balance corresponding to each expense item, and the like by assigning expense items such as food expenses and miscellaneous expenses.

再公表特許WO2012/169075 Republished patent WO2012 / 169075

本発明によると、情報処理装置によるデータの分類方法は、対象ユーザが分類したデータと、そのデータを分類したカテゴリーとを取得することと、対象ユーザの新たなデータを取得することと、新たなデータが、分類したデータとそのデータを分類したカテゴリーに基づいて、カテゴリーに分類可能であるか否かの第1の判断を下すことと、第1の判断により新たなデータがカテゴリーに分類可能であると判断された場合に、新たなデータを対象ユーザが既に分類しているカテゴリーのいずれかに分類する第1の分類を実行することと、第1の判断により新たなデータがカテゴリーに分類不可能であると判断された場合に、新たなデータのエントロピーを算出することと、エントロピーが特定の値以上であるか否かの第2の判断を下すことと、第2の判断によりエントロピーが特定の値以上であると判断された場合に、新たなデータを、第1のモデルに従ってカテゴリーに分類し、第2の判断によりエントロピーが特定の値未満であると判断された場合に、新たなデータを、第1のモデルとは異なる第2のモデルに従ってカテゴリーに分類する第2の分類を実行することと、を含む。 According to the present invention, the data classification method by the information processing apparatus is to acquire the data classified by the target user and the category in which the data is classified, to acquire new data of the target user, and to obtain new data. Based on the classified data and the category in which the data is classified, the first judgment is made as to whether or not the data can be classified into categories, and the first judgment allows new data to be classified into categories. When it is determined that there is, the first classification that classifies the new data into one of the categories already classified by the target user is executed, and the new data is not classified into the category by the first judgment. When it is determined that it is possible, calculate the entropy of new data, make a second judgment as to whether the entropy is greater than or equal to a specific value, and identify the entropy by the second judgment. If it is determined that the value is greater than or equal to the value of, the new data is classified into categories according to the first model, and if the second determination determines that the entropy is less than a specific value, the new data Includes performing a second classification that classifies the data into categories according to a second model that is different from the first model.

通信システムの構成例を示し、端末及びサーバの構成例を示すブロック図である。It is a block diagram which shows the configuration example of the communication system and shows the configuration example of a terminal and a server. (a)、(b)は、端末の表示例を示す図である。(A) and (b) are diagrams showing a display example of a terminal. (a)は、収支データベースのデータ構成例を示すデータ概念図である。(b)は、収支データの構成例を示すデータ概念図である。(A) is a data conceptual diagram showing an example of data structure of a balance database. (B) is a data conceptual diagram showing a configuration example of income and expenditure data. サーバと端末との間のやり取りの一例を示すシーケンス図である。It is a sequence diagram which shows an example of the exchange between a server and a terminal. サーバの動作例を示すフローチャートである。It is a flowchart which shows the operation example of a server. 端末の動作例を示すフローチャートである。It is a flowchart which shows the operation example of a terminal. 分類されたカテゴリーを修正する際のサーバと端末との間のやり取りの一例を示すシーケンス図である。It is a sequence diagram which shows an example of the interaction between a server and a terminal when modifying a classified category. カテゴリーの修正に係るサーバの動作例を示すフローチャートである。It is a flowchart which shows the operation example of the server which concerns on the modification of a category. 端末及びサーバの他の構成例を示すブロック図である。It is a block diagram which shows the other configuration example of a terminal and a server.

<法的事項の遵守>
本明細書に記載の開示は、通信の秘密など、本開示の実施に必要な実施国の法的事項遵守を前提とすることに留意されたい。
<Compliance with legal matters>
It should be noted that the disclosures described herein are premised on compliance with the legal matters of the implementing country necessary for the implementation of this disclosure, such as secrecy of communications.

本開示に係る端末による送信または受信に係る状況を確認できる表示方法等を実施するための実施形態について、図面を参照して説明する。 An embodiment for implementing a display method or the like capable of confirming a situation related to transmission or reception by a terminal according to the present disclosure will be described with reference to the drawings.

<システム構成> <System configuration>

図1は、本開示の一実施形態に係る通信システム1の構成を示す。図1に開示されるように、通信システム1では、ネットワーク30を介してサーバ10と、端末20(端末20A,端末20B,端末20C)とが接続される。サーバ10は、ネットワーク30を介してユーザが所有する端末20に、端末20間でのメッセージの送受信を実現するサービスを提供する。なお、ネットワーク30に接続される端末20の数は限定されない。 FIG. 1 shows the configuration of the communication system 1 according to the embodiment of the present disclosure. As disclosed in FIG. 1, in the communication system 1, the server 10 and the terminal 20 (terminal 20A, terminal 20B, terminal 20C) are connected via the network 30. The server 10 provides a service for transmitting and receiving messages between terminals 20 to terminals 20 owned by the user via the network 30. The number of terminals 20 connected to the network 30 is not limited.

ネットワーク30は、1以上の端末20と、1以上のサーバ10とを接続する役割を担う。すなわち、ネットワーク30は、端末20がサーバ10に接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。 The network 30 plays a role of connecting one or more terminals 20 and one or more servers 10. That is, the network 30 means a communication network that provides a connection route so that data can be transmitted and received after the terminal 20 connects to the server 10.

ネットワーク30のうちの1つまたは複数の部分は、有線ネットワークや無線ネットワークであってもよいし、そうでなくてもよい。ネットワーク30は、限定でなく例として、アドホック・ネットワーク(ad hoc network)、イントラネット、エクストラネット、仮想プライベート・ネットワーク(virtual private network:VPN)、ローカル・エリア・ネットワーク(local area network:LAN)、ワイヤレスLAN(wireless LAN:WLAN)、広域ネットワーク(wide area network:WAN)、ワイヤレスWAN(wireless WAN:WWAN)、大都市圏ネットワーク(metropolitan area network:MAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、ISDN(integrated service digital networks)、無線LAN、LTE(long term evolution)、CDMA(code division multiple access)、ブルートゥース(Bluetooth(登録商標))、衛星通信など、または、これらの2つ以上の組合せを含むことができる。ネットワーク30は、1つまたは複数のネットワーク30を含むことができる。 One or more parts of the network 30 may or may not be a wired or wireless network. The network 30 is not limited, but by example, an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), and a wireless network. LAN (wireless LAN: WLAN), wide area network (WAN), wireless WAN (wireless WAN: WWAN), metropolitan area network (MAN), part of the Internet, public exchange telephone network (Public) Switched Telephone Network: Part of PSTN, mobile network, ISDN (integrated service digital networks), wireless LAN, LTE (long term evolution), CDMA (code division multiple access), Bluetooth (Bluetooth (registered trademark)), satellite It can include communications, etc., or a combination of two or more of these. The network 30 may include one or more networks 30.

端末20(端末20A,端末20B,端末20C)は、各実施形態において記載する機能を実現できる情報処理端末であればどのような端末であってもよい。端末20は、限定ではなく例として、スマートフォン、携帯電話(フィーチャーフォン)、コンピュータ(限定でなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(限定でなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(限定でなく例として、PDA・(personal digital assistant)、電子メールクライアントなど)、ウェアラブル端末(メガネ型デバイス、時計型デバイスなど)、または他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、端末20は情報処理端末と表現されてもよい。 The terminal 20 (terminal 20A, terminal 20B, terminal 20C) may be any terminal as long as it is an information processing terminal capable of realizing the functions described in each embodiment. The terminal 20 is not limited but, for example, a smartphone, a mobile phone (feature phone), a computer (not limited, for example, a desktop, a laptop, a tablet, etc.), a media computer platform (not limited, for example, a cable, a satellite set). Top boxes, digital video recorders), handheld computer devices (not limited to personal digital assistants, e-mail clients, etc.), wearable devices (glasses devices, clock devices, etc.), or other types of computers , Or includes a communication platform. Further, the terminal 20 may be expressed as an information processing terminal.

端末20A、端末20Bおよび端末20Cの構成は基本的には同一であるため、以下の説明においては、端末20について説明する。また、必要に応じて、ユーザXが利用する端末を端末20Xと表現し、ユーザXまたは端末20Xに対応づけられた、所定のサービスにおけるユーザ情報をユーザ情報Xと表現する。なお、ユーザ情報とは、所定のサービスにおいてユーザが利用するアカウントに対応付けられたユーザの情報である。ユーザ情報は、限定でなく例として、ユーザにより入力される、または、所定のサービスにより付与される、ユーザの名前、ユーザのアイコン画像、ユーザの年齢、ユーザの性別、ユーザの住所、ユーザの趣味趣向、ユーザの識別子などのユーザに対応づけられた情報を含み、これらのいずれか一つまたは、組み合わせであってもよいし、そうでなくてもよい。 Since the configurations of the terminal 20A, the terminal 20B, and the terminal 20C are basically the same, the terminal 20 will be described in the following description. Further, if necessary, the terminal used by the user X is expressed as the terminal 20X, and the user information in the predetermined service associated with the user X or the terminal 20X is expressed as the user information X. The user information is user information associated with an account used by the user in a predetermined service. The user information is not limited but, as an example, input by the user or given by a predetermined service, the user's name, the user's icon image, the user's age, the user's gender, the user's address, and the user's hobby. It includes information associated with the user, such as preference, user identifier, and may or may not be any one or combination of these.

サーバ10は、端末20に対して、所定のサービスを提供する機能を備える。サーバ10は、各実施形態において記載する機能を実現できる情報処理装置であればどのような装置であってもよい。サーバ10は、限定でなく例として、サーバ装置、コンピュータ(限定でなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(限定でなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(限定でなく例として、PDA、電子メールクライアントなど)、あるいは他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、サーバ10は情報処理装置と表現されてもよい。サーバ10と端末20とを区別する必要がない場合は、サーバ10と端末20とは、それぞれ情報処理装置と表現されてもよいし、されなくてもよい。 The server 10 has a function of providing a predetermined service to the terminal 20. The server 10 may be any device as long as it is an information processing device that can realize the functions described in each embodiment. The server 10 is not limited, but by example, a server device, a computer (not limited, by example, a desktop, a laptop, a tablet, etc.), a media computer platform (not limited, by example, a cable, a satellite set-top box, a digital video recorder). ), Handheld computer devices (for example, but not limited to PDAs, e-mail clients, etc.), or other types of computers, or communication platforms. Further, the server 10 may be expressed as an information processing device. When it is not necessary to distinguish between the server 10 and the terminal 20, the server 10 and the terminal 20 may or may not be expressed as information processing devices, respectively.

<ハードウェア(HW)構成> <Hardware (HW) configuration>

図1を用いて、通信システム1に含まれる各装置のHW構成について説明する。 The HW configuration of each device included in the communication system 1 will be described with reference to FIG.

(1)端末のHW構成 (1) HW configuration of the terminal

端末20は、制御部21(CPU:central processing unit(中央処理装置))、記憶部28、通信I/F22(インタフェース)、入出力部23、表示部24、位置情報取得部25を備える。端末20のHWの各構成要素は、限定でなく例として、バスBを介して相互に接続される。なお、端末20のHW構成として、すべての構成要素を含むことは必須ではない。限定ではなく例として、端末20は、マイク232、カメラ234、位置情報取得部25等、個々の構成要素、または複数の構成要素を取り外すような構成であってもよいし、そうでなくてもよい。 The terminal 20 includes a control unit 21 (CPU: central processing unit), a storage unit 28, a communication I / F 22 (interface), an input / output unit 23, a display unit 24, and a position information acquisition unit 25. Each component of the HW of the terminal 20 is connected to each other via bus B, for example, without limitation. It is not essential that the HW configuration of the terminal 20 includes all the components. As an example without limitation, the terminal 20 may or may not be configured to remove individual components such as a microphone 232, a camera 234, a position information acquisition unit 25, or a plurality of components. Good.

通信I/F22は、ネットワーク30を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F22は、ネットワーク30を介して、サーバ10との通信を実行する機能を有する。通信I/F22は、各種データを制御部21からの指示に従って、サーバ10に送信する。また、通信I/F22は、サーバ10から送信された各種データを受信し、制御部21に伝達する。また、通信I/F22を単に通信部と表現する場合もある。また、通信I/F22が物理的に構造化された回路で構成される場合には、通信回路と表現する場合もある。 The communication I / F 22 transmits / receives various data via the network 30. The communication may be executed by wire or wirelessly, and any communication protocol may be used as long as mutual communication can be executed. The communication I / F 22 has a function of executing communication with the server 10 via the network 30. The communication I / F 22 transmits various data to the server 10 according to an instruction from the control unit 21. Further, the communication I / F 22 receives various data transmitted from the server 10 and transmits the various data to the control unit 21. Further, the communication I / F 22 may be simply expressed as a communication unit. Further, when the communication I / F 22 is composed of a physically structured circuit, it may be expressed as a communication circuit.

入出力部23は、端末20に対する各種操作を入力する装置、および、端末20で処理された処理結果を出力する装置を含む。入出力部23は、入力部と出力部が一体化していてもよいし、入力部と出力部に分離していてもよいし、そうでなくてもよい。 The input / output unit 23 includes a device for inputting various operations to the terminal 20 and a device for outputting the processing result processed by the terminal 20. The input / output unit 23 may or may not be integrated with the input unit and the output unit, or may be separated into the input unit and the output unit.

入力部は、ユーザからの入力を受け付けて、当該入力に係る情報を制御部21に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入力部は、限定でなく例として、タッチパネル231、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ234(動画像を介した操作入力)、マイク232(音声による操作入力)を含む。 The input unit is realized by any or a combination of all kinds of devices capable of receiving an input from a user and transmitting information related to the input to the control unit 21. The input unit is not limited to, for example, a touch panel 231 and a hardware key such as a touch display and a keyboard, a pointing device such as a mouse, a camera 234 (operation input via a moving image), and a microphone 232 (operation input by voice). including.

出力部は、制御部21で処理された処理結果を出力することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力部は、限定でなく例として、 タッチパネル、タッチディスプレイ、スピーカ233(音声出力)、レンズ(限定でなく例として3D(three dimensions)出力や、ホログラム出力)、プリンターなどを含む。 The output unit is realized by any or a combination of all kinds of devices capable of outputting the processing result processed by the control unit 21. The output unit includes, for example, a touch panel, a touch display, a speaker 233 (audio output), a lens (not limited to three dimensions output, a hologram output, etc.), a printer, and the like.

表示部24は、フレームバッファに書き込まれた表示データに従って、表示することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。表示部24は、限定でなく例として、タッチパネル、タッチディスプレイ、モニタ(限定でなく例として、液晶ディスプレイやOELD(organic electroluminescence display))、ヘッドマウントディスプレイ(HDM:Head Mounted Display)、プロジェクションマッピング、ホログラム、空気中など(真空であってもよいし、そうでなくてもよい)に画像やテキスト情報等を表示可能な装置を含む。なお、これらの表示部24は、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。 The display unit 24 is realized by any or a combination of all kinds of devices capable of displaying according to the display data written in the frame buffer. The display unit 24 includes a touch panel, a touch display, a monitor (not limited to an example, a liquid crystal display or an OELD (organic electroluminescence display)), a head mounted display (HDM: Head Mounted Display), a projection mapping, and a hologram. , Includes a device capable of displaying images, text information, etc. in the air (which may or may not be vacuum). It should be noted that these display units 24 may or may not be able to display display data in 3D.

入出力部23がタッチパネルの場合、入出力部23と表示部24とは、略同一の大きさおよび形状で対向して配置されていてもよい。 When the input / output unit 23 is a touch panel, the input / output unit 23 and the display unit 24 may be arranged so as to face each other with substantially the same size and shape.

制御部21は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、限定でなく例として、ハードウェアに内蔵されたデータ処理装置により実現される。そのため、制御部21は、制御回路と表現されてもよいし、されなくてもよい。 The control unit 21 has a physically structured circuit for executing a function realized by a code or an instruction contained in the program, and is not limited to, but as an example, a data processing device built in hardware. Is realized by. Therefore, the control unit 21 may or may not be expressed as a control circuit.

制御部21は、限定でなく例として、中央処理装置(CPU)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(application-specific integrated circuit)、FPGA(field programmable gate array)を含む。 The control unit 21 is not limited, but as an example, a central processing unit (CPU), a microprocessor (microprocessor), a processor core (processor core), a multiprocessor (multiprocessor), an ASIC (application-specific integrated circuit), and an FPGA (field programmable). gate array) is included.

記憶部28は、端末20が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部28は、限定でなく例として、HDD(hard disk drive)、SSD(solid state drive)、フラッシュメモリ、RAM(random access memory)、ROM(read only memory)など各種の記憶媒体を含む。また、記憶部28は、メモリ(memory)と表現されてもよいし、されなくてもよい。 The storage unit 28 has a function of storing various programs and various data required for the terminal 20 to operate. The storage unit 28 includes various storage media such as HDD (hard disk drive), SSD (solid state drive), flash memory, RAM (random access memory), and ROM (read only memory) as examples without limitation. Further, the storage unit 28 may or may not be expressed as a memory.

端末20は、プログラムPを記憶部28に記憶し、このプログラムPを実行することで、制御部21が、制御部21に含まれる各部としての処理を実行する。つまり、記憶部28に記憶されるプログラムPは、端末20に、制御部21が実行する各機能を実現させる。また、このプログラムPは、プログラムモジュールと表現されてもよいし、されなくてもよい。 The terminal 20 stores the program P in the storage unit 28, and by executing the program P, the control unit 21 executes the processing as each unit included in the control unit 21. That is, the program P stored in the storage unit 28 causes the terminal 20 to realize each function executed by the control unit 21. Further, this program P may or may not be expressed as a program module.

マイク232は、音声データの入力に利用される。スピーカ233は、音声データの出力に利用される。カメラ234は、動画像データの取得に利用される。 The microphone 232 is used for inputting voice data. The speaker 233 is used for outputting audio data. The camera 234 is used for acquiring moving image data.

(2)サーバのHW構成 (2) Server HW configuration

サーバ10は、制御部11(CPU)、記憶部15、通信I/F14(インタフェース)、入出力部12、表示部13を備える。サーバ10のHWの各構成要素は、限定でなく例として、バスBを介して相互に接続される。なお、サーバ10のHWは、サーバ10のHWの構成として、全ての構成要素を含むことは必須ではない。限定ではなく例として、サーバ10のHWは、表示部13を取り外すような構成であってもよいし、そうでなくてもよい。 The server 10 includes a control unit 11 (CPU), a storage unit 15, a communication I / F 14 (interface), an input / output unit 12, and a display unit 13. Each component of the HW of the server 10 is connected to each other via bus B, for example, without limitation. It is not essential that the HW of the server 10 includes all the components as the configuration of the HW of the server 10. As an example but not a limitation, the HW of the server 10 may or may not be configured to remove the display unit 13.

制御部11は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、限定でなく例として、ハードウェアに内蔵されたデータ処理装置により実現される。 The control unit 11 has a physically structured circuit for executing a function realized by a code or an instruction contained in the program, and is not limited to, but as an example, a data processing device built in hardware. Is realized by.

制御部11は、代表的には中央処理装置(CPU)、であり、その他にマイクロプロセッサ、プロセッサコア、マルチプロセッサ、ASIC、FPGAであってもよいし、そうでなくてもよい。本開示において、制御部11は、これらに限定されない。 The control unit 11 is typically a central processing unit (CPU), and may or may not be a microprocessor, a processor core, a multiprocessor, an ASIC, or an FPGA. In the present disclosure, the control unit 11 is not limited to these.

記憶部15は、サーバ10が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部15は、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。ただし、本開示において、記憶部15は、これらに限定されない。また、記憶部15は、メモリ(memory)と表現されてもよいし、されなくてもよい。 The storage unit 15 has a function of storing various programs and various data required for the server 10 to operate. The storage unit 15 is realized by various storage media such as HDD, SSD, and flash memory. However, in the present disclosure, the storage unit 15 is not limited to these. Further, the storage unit 15 may or may not be expressed as a memory.

通信I/F14は、ネットワーク30を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F14は、ネットワーク30を介して、端末20との通信を実行する機能を有する。通信I/F14は、各種データを制御部11からの指示に従って、端末20に送信する。また、通信I/F14は、端末20から送信された各種データを受信し、制御部11に伝達する。また、通信I/F14を単に通信部と表現する場合もある。また、通信I/F14が物理的に構造化された回路で構成される場合には、通信回路と表現する場合もある。 The communication I / F 14 transmits / receives various data via the network 30. The communication may be executed by wire or wirelessly, and any communication protocol may be used as long as mutual communication can be executed. The communication I / F 14 has a function of executing communication with the terminal 20 via the network 30. The communication I / F 14 transmits various data to the terminal 20 according to an instruction from the control unit 11. Further, the communication I / F 14 receives various data transmitted from the terminal 20 and transmits the various data to the control unit 11. Further, the communication I / F 14 may be simply expressed as a communication unit. Further, when the communication I / F 14 is composed of a physically structured circuit, it may be expressed as a communication circuit.

入出力部12は、サーバ10に対する各種操作を入力する装置により実現される。入出力部12は、ユーザからの入力を受け付けて、当該入力に係る情報を制御部11に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入出力部12は、代表的にはキーボード等に代表されるハードウェアキーや、マウス等のポインティングデバイスで実現される。なお、入出力部12、限定でなく例として、タッチパネルやカメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含んでいてもよいし、そうでなくてもよい。ただし、本開示において、入出力部12は、これらに限定されない。 The input / output unit 12 is realized by a device that inputs various operations to the server 10. The input / output unit 12 is realized by any or a combination of all kinds of devices capable of receiving an input from a user and transmitting information related to the input to the control unit 11. The input / output unit 12 is typically realized by a hardware key typified by a keyboard or the like, or a pointing device such as a mouse. The input / output unit 12 is not limited to the input / output unit 12, and may or may not include a touch panel, a camera (operation input via a moving image), and a microphone (operation input by voice) as an example. However, in the present disclosure, the input / output unit 12 is not limited to these.

表示部13は、代表的にはモニタ(限定でなく例として、液晶ディスプレイやOELD(organic electroluminescence display))で実現される。なお、表示部13は、ヘッドマウントディスプレイ(HDM)などであってもよいし、そうでなくてもよい。なお、これらの表示部13は、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。ただし、本開示において、表示部13は、これらに限定されない。 The display unit 13 is typically realized by a monitor (not limited to, for example, a liquid crystal display or an OELD (organic electroluminescence display)). The display unit 13 may or may not be a head-mounted display (HDMI) or the like. It should be noted that these display units 13 may or may not be able to display display data in 3D. However, in the present disclosure, the display unit 13 is not limited to these.

サーバ10は、プログラムPを記憶部15に記憶し、このプログラムPを実行することで、制御部11が、制御部11に含まれる各部としての処理を実行する。つまり、記憶部15に記憶されるプログラムPは、サーバ10に、制御部11が実行する各機能を実現させる。このプログラムPは、プログラムモジュールと表現されてもよいし、されなくてもよい。 The server 10 stores the program P in the storage unit 15, and by executing the program P, the control unit 11 executes the processing as each unit included in the control unit 11. That is, the program P stored in the storage unit 15 causes the server 10 to realize each function executed by the control unit 11. This program P may or may not be expressed as a program module.

本開示の各実施形態においては、端末20および/または、サーバ10のCPUがプログラムPを実行することにより、実現するものとして説明する。 Each embodiment of the present disclosure will be described as being realized by the CPU of the terminal 20 and / or the server 10 executing the program P.

なお、端末20の制御部21、および/または、サーバ10の制御部11は、制御回路を有するCPUだけでなく、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各処理を実現してもよいし、そうでなくてもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、各実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよいし、そうでなくてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。そのため、制御部21は、制御回路と表現されてもよいし、されなくてもよい。 The control unit 21 of the terminal 20 and / or the control unit 11 of the server 10 is formed not only in a CPU having a control circuit but also in an integrated circuit (IC (Integrated Circuit) chip, LSI (Large Scale Integration)) or the like. Each process may or may not be realized by a logic circuit (hardware) or a dedicated circuit. Further, these circuits may be realized by one or a plurality of integrated circuits, and the plurality of processes shown in each embodiment may or may not be realized by one integrated circuit. Further, the LSI may be referred to as a VLSI, a super LSI, an ultra LSI, or the like depending on the degree of integration. Therefore, the control unit 21 may or may not be expressed as a control circuit.

また、本開示の各実施形態のプログラムP(限定ではなく、例として、ソフトウェアプログラム、コンピュータプログラム、またはプログラムモジュール)は、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよいし、されなくてもよい。 記憶媒体は、「一時的でない有形の媒体」に、プログラムPを記憶可能である。また、プログラムPは、本開示の各実施形態の機能の一部を実現するためのものであってもよいし、そうでなくてもよい。さらに、本開示の各実施形態の機能を記憶媒体にすでに記録されているプログラムPとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよいし、そうでなくてもよい。 Further, the program P (not limited to, for example, a software program, a computer program, or a program module) of each embodiment of the present disclosure may be provided in a state of being stored in a computer-readable storage medium. , Does not have to be. The storage medium can store the program P in a "non-temporary tangible medium". In addition, the program P may or may not be for realizing a part of the functions of each embodiment of the present disclosure. Further, it may or may not be a so-called difference file (difference program) that can realize the functions of each embodiment of the present disclosure in combination with the program P already recorded on the storage medium.

記憶媒体は、1つまたは複数の半導体ベースの、または他の集積回路(IC)(限定でなく例として、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カード、またはドライブ、任意の他の適切な記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムPを記憶可能であれば、どのようなデバイスまたは媒体であってもよい。また、記憶媒体をメモリ(memory)と表現されてもよいし、されなくてもよい。 The storage medium is one or more semiconductor-based or other integrated circuits (ICs) (for example, but not limited to field programmable gate arrays (FPGAs) or application-specific ICs (ASICs)), hard disks. Disk drive (HDD), hybrid hard drive (HHD), optical disk, optical disk drive (ODD), optical magnetic disk, optical magnetic drive, floppy diskette, floppy disk drive (FDD), magnetic tape, solid It can include a drive (SSD), a RAM drive, a secure digital card, or drive, any other suitable storage medium, or any suitable combination of two or more of these. The storage medium may be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate. The storage medium is not limited to these examples, and any device or medium may be used as long as the program P can be stored. Further, the storage medium may or may not be expressed as a memory.

サーバ10および/または端末20は、記憶媒体に記憶されたプログラムPを読み出し、読み出したプログラムPを実行することによって、各実施形態に示す複数の機能部の機能を実現することができる。 The server 10 and / or the terminal 20 can read the program P stored in the storage medium and execute the read program P to realize the functions of the plurality of functional units shown in each embodiment.

また、本開示のプログラムPDDは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、サーバ10および/または端末20に提供されてもよいし、されなくてもよい。サーバ10および/または端末20は、限定でなく例として、インターネット等を介してダウンロードしたプログラムPを実行することにより、各実施形態に示す複数の機能部の機能を実現する。 Further, the program PDD of the present disclosure may or may not be provided to the server 10 and / or the terminal 20 via an arbitrary transmission medium (communication network, broadcast wave, etc.) capable of transmitting the program. Good. The server 10 and / or the terminal 20 realizes the functions of the plurality of functional units shown in each embodiment by executing the program P downloaded via the Internet or the like, as an example without limitation.

また、本開示の各実施形態は、プログラムPが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。 Each embodiment of the present disclosure can also be realized in the form of a data signal embedded in a carrier wave, in which the program P is embodied by electronic transmission.

サーバ10および/または端末20における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよいし、そうでなくてもよい。 At least part of the processing in the server 10 and / or the terminal 20 may or may not be realized by cloud computing composed of one or more computers.

端末20における処理の少なくとも一部を、サーバ10により行う構成としてもよいし、そうでなくてもよい。この場合、端末20の制御部21の各機能部の処理のうち少なくとも一部の処理を、サーバ10で行う構成としてもよいし、そうでなくてもよい。 At least a part of the processing in the terminal 20 may or may not be performed by the server 10. In this case, at least a part of the processing of each functional unit of the control unit 21 of the terminal 20 may or may not be performed by the server 10.

サーバ10における処理の少なくとも一部を、端末20により行う構成としてもよいし、そうでなくてもよい。この場合、サーバ10の制御部11の各機能部の処理のうち少なくとも一部の処理を、端末20で行う構成としてもよいし、そうでなくてもよい。 At least a part of the processing in the server 10 may or may not be performed by the terminal 20. In this case, at least a part of the processing of each functional unit of the control unit 11 of the server 10 may or may not be performed by the terminal 20.

明示的な言及のない限り、本開示の実施形態における判定の構成は必須でなく、判定条件を満たした場合に所定の処理が動作されたり、判定条件を満たさない場合に所定の処理がされたりしてもよいし、そうでなくてもよい。 Unless explicitly stated, the configuration of the determination in the embodiment of the present disclosure is not essential, and a predetermined process is operated when the determination condition is satisfied, or a predetermined process is performed when the determination condition is not satisfied. It may or may not be.

なお、本開示のプログラムは、限定でなく例として、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのオブジェクト指向プログラミング言語、HTML5などのマークアップ言語などを用いて実装される。 The program of this disclosure is not limited to, but examples include scripting languages such as ActionScript and JavaScript (registered trademark), object-oriented programming languages such as Objective-C and Java (registered trademark), and markup languages such as HTML5. Implemented using.

<実施形態>
<概要>
本実施形態に係る通信システム1においては、端末20が実行する端末20を保持するユーザの収支に係る処理を行うアプリケーション(以下、家計簿アプリと称す)を実行し、家計簿アプリに対して、新しい収支データが入力された場合に、その収支データを、カテゴリーに分類する。ここで、収支に係る処理とは、ユーザが使用した金銭を、いつ、どこで、どういう目的で使用したのかを整理しデータベースに登録する処理のことをいう。なお、家計簿アプリが実行する処理には、上述のようなユーザの支出に係る処理以外に、ユーザの収入に係る情報の登録なども含まれてもよい。更には、家計簿アプリが実行する処理には、それらの収支から資産運用の解析データの提示、運用に係る提案等の処理も含まれてもよいが、含まなくてもよい。また、収支データとは、ユーザがあるタイミングで物品あるいはサービス等に対して、金銭を支払った、あるいは、何らかの手段でユーザが収入を得たことを示す情報のことをいう。また、ここで、カテゴリーとは、収支データ各々を、登録する際に、その収支データを分類する分類項目のことをいい、例えば、食費、遊興費、交通費などが含まれてよい。
<Embodiment>
<Overview>
In the communication system 1 according to the present embodiment, an application (hereinafter referred to as a household account book application) that performs processing related to the balance of payments of the user holding the terminal 20 executed by the terminal 20 is executed, and the household account book application is subjected to. When new balance data is entered, the balance data is classified into categories. Here, the processing related to income and expenditure refers to the processing of organizing when, where, and for what purpose the money used by the user was used and registering it in the database. The process executed by the household account book application may include registration of information related to the user's income in addition to the process related to the user's expenditure as described above. Further, the processing executed by the household account book application may include, but does not have to include, processing such as presentation of analysis data of asset management from the income and expenditure, and proposals related to the operation. The income and expenditure data refers to information indicating that the user has paid money for goods or services at a certain timing, or that the user has earned income by some means. Further, here, the category means a classification item for classifying the income and expenditure data when registering each of the income and expenditure data, and may include, for example, food expenses, entertainment expenses, transportation expenses and the like.

また、通信システム1においては、サーバ10を介して、端末20同士でメッセージングアプリケーションを介して、トークルーム上でメッセージのやり取りを行うことができる。トークルームとは、サーバ10が提供するメッセージングサービスにおいて、メッセージングサービスを利用するユーザ同士がコンテンツのやり取りをする場所のことをいう。また、トークルーム上でやり取りされるコンテンツは、ユーザが自身の端末20を利用して入力した文字情報(収支内容に係る情報のテキストデータ)、写真やスタンプなどを含む画像情報(例えば、レシートの写真)、音声ファイル、動画ファイル、データファイルなど各種のファイル情報を含むが、これらに限定するものではない。ここで、トークルームは、サーバ10が提供するサービスを利用するユーザ同士のやり取りを行う場に限るものではなく、ユーザと、サーバ10のオペレータあるいは自動応答システム(いわゆるボット)とのやり取りの場としても使用できる。 Further, in the communication system 1, messages can be exchanged on the talk room between the terminals 20 via the server 10 via the messaging application. The talk room is a messaging service provided by the server 10 and refers to a place where users who use the messaging service exchange contents. In addition, the content exchanged in the talk room is character information (text data of information related to the balance content) input by the user using his / her own terminal 20, image information including photos and stamps (for example, of receipt). It includes, but is not limited to, various file information such as photo), audio file, video file, and data file. Here, the talk room is not limited to a place where users who use the service provided by the server 10 interact with each other, but as a place where the user interacts with the operator of the server 10 or an automatic response system (so-called bot). Can also be used.

通信システム1においては、そのトークルームを介して、ユーザが収支データを登録することとしてもよく、サーバ10は、そのトークルームにメッセージとして登録された収支データを分類する。以下、一例を用いて説明する。図2(a)は、ユーザが保持する端末20の表示画面の一例を示しており、端末20のユーザが、トークルームに対して、収支データの一例として、「A Cafeでランチ 1200円」というメッセージ201を入力した状態を示している。図2(a)に示すトークルームに属しているのが、端末20の他、サーバ10のボットである場合に、サーバ10は入力されたデータが収支データであることを検出すると、その収支データを分類する。このとき、サーバ10は、複数の分類手法を用いて収支データを分類する。そして、サーバ10は、トークルームに対して、収支データをその分類したカテゴリーを示す情報を送信し、図2(b)に示すように、端末20は、収支データとその分類したカテゴリーを示すメッセージ240を表示する。このメッセージ240には、収支データで示される使用した金額241、カテゴリー242、使用した時間243と、が含まれてよく、さらには、その内容、即ち、カテゴリーや時間の内容についてユーザが納得できなかった場合に修正するための修正メニュー244が表示されてよい。修正メニュー244は、タッチすることで、カテゴリーの修正内容を受け付けるトリガとなる。 In the communication system 1, the user may register the balance data via the talk room, and the server 10 classifies the balance data registered as a message in the talk room. Hereinafter, an example will be described. FIG. 2A shows an example of the display screen of the terminal 20 held by the user, and the user of the terminal 20 says "Lunch at A Cafe 1200 yen" as an example of income and expenditure data for the talk room. Indicates a state in which message 201 has been input. When the talk room shown in FIG. 2A belongs to the bot of the server 10 in addition to the terminal 20, when the server 10 detects that the input data is the balance data, the balance data To classify. At this time, the server 10 classifies the balance data using a plurality of classification methods. Then, the server 10 transmits information indicating the category in which the balance data is classified to the talk room, and as shown in FIG. 2B, the terminal 20 displays the balance data and a message indicating the classified category. 240 is displayed. This message 240 may include the amount used 241 and the category 242 shown in the balance data, the time used 243, and the user is not convinced about the contents, that is, the contents of the category and the time. In that case, a correction menu 244 for correction may be displayed. The modification menu 244 becomes a trigger for accepting the modification content of the category by touching it.

このトークルーム上でやり取りされた収支データとその分類は、端末20にインストールされている家計簿アプリと連動してよく、サーバ10から返信されたメッセージの内容を示すカテゴリーと収支データが家計簿アプリに登録されてよい。 The income and expenditure data and its classification exchanged on this talk room may be linked with the household account book application installed on the terminal 20, and the category and income and expenditure data indicating the content of the message returned from the server 10 are the household account book application. May be registered in.

上述したように、従来からある家計簿アプリにおいても、収支内容の分類をするものは存在するが、基本的にそれらは、パターンマッチング(予め定めたルールに従っての分類)によるものであり、ユーザによっては、その分類精度に満足できないことがあった。そこで、本実施形態に係る分類方法では、複数の手法を用いて分類することにより、収支データの分類精度を向上させることに、発明者らは想到した。以下、詳細に説明する。 As mentioned above, even in the conventional household account book application, there are those that classify the income and expenditure contents, but basically they are based on pattern matching (classification according to a predetermined rule), and depending on the user. Was sometimes unsatisfied with its classification accuracy. Therefore, in the classification method according to the present embodiment, the inventors have come up with the idea of improving the classification accuracy of the balance data by classifying using a plurality of methods. The details will be described below.

(1)端末の機能構成
図1に示すように、端末20は、制御部21により実現される機能として、メッセージ処理部211と、表示処理部212とを備える。
(1) Functional Configuration of Terminals As shown in FIG. 1, the terminal 20 includes a message processing unit 211 and a display processing unit 212 as functions realized by the control unit 21.

メッセージ処理部211は、サーバ10が提供するメッセージングサービスから提供されるメッセージングアプリケーションに従って、ユーザからの入力および/または通信I/F12が受信したメッセージを含むコンテンツの入力を受け付けて、表示処理部212に表示するように指示する。なお、ユーザからの入力を受け付けた場合には、その受け付けた入力内容を通信I/F22にサーバ10に宛てて送信するように指示する。また、ここでメッセージ処理部211が処理する対象として、トークルームに対してユーザが入力したテキストメッセージに限らず、写真やスタンプなどを含む画像情報、音声ファイル、動画ファイル、データファイルなどを含んでよい。更には、トークルームのユーザが入力したコンテンツ(収支データ)を、サーバ10に宛てて、その入力内容を示す情報を送信するよう通信I/F22に対して指示する。 The message processing unit 211 receives the input from the user and / or the input of the content including the message received by the communication I / F 12 according to the messaging application provided by the messaging service provided by the server 10, and causes the display processing unit 212 to receive the input. Instruct to display. When the input from the user is received, the communication I / F 22 is instructed to transmit the received input content to the server 10. Further, the target to be processed by the message processing unit 211 is not limited to the text message input by the user to the talk room, but also includes image information including photos and stamps, audio files, video files, data files, and the like. Good. Further, the communication I / F 22 is instructed to send the content (balance sheet data) input by the user of the talk room to the server 10 and transmit the information indicating the input content.

表示処理部212は、サーバ10が提供するメッセージングサービスから提供されるメッセージングアプリケーションに従って、ユーザからの入力および/または通信I/F12が受信したメッセージを含むコンテンツの入力を受け付けて、表示処理部212に表示するように指示する。なお、ユーザからの入力を受け付けた場合には、その受け付けた入力内容を通信I/F22にサーバ10に宛てて送信するように指示する。表示処理部212は、例えば、ユーザと他のユーザとの間のトークルームを表示し、そのトークルームに対するユーザの入力にしたがって、収支に関連する情報を表示する。 The display processing unit 212 receives the input from the user and / or the input of the content including the message received by the communication I / F 12 according to the messaging application provided by the messaging service provided by the server 10, and causes the display processing unit 212 to receive the input. Instruct to display. When the input from the user is received, the communication I / F 22 is instructed to transmit the received input content to the server 10. The display processing unit 212 displays, for example, a talk room between a user and another user, and displays information related to income and expenditure according to the user's input to the talk room.

家計簿アプリ実行部213は、サーバ10が提供するユーザの収支を管理するための家計簿アプリを実行する機能を有する。ここでいう家計簿アプリは、従前のアプリケーションが保持する機能の他、ユーザが入力した収支データを、サーバ10に送信し、サーバ10から受信したその収支データを指定されたカテゴリーに分類する。 The household account book application execution unit 213 has a function of executing a household account book application for managing the balance of payments of users provided by the server 10. The household account book application referred to here, in addition to the functions held by the conventional application, transmits the income and expenditure data input by the user to the server 10, and classifies the income and expenditure data received from the server 10 into a designated category.

(2)サーバの機能構成
図1に示すように、サーバ10は、制御部11により実現される機能として、メッセージ処理部111と、取得部114と、第1判断部115と、第1分類部116と、算出部117と、第2判断部118と、第2分類部119と、を備える。
(2) Functional Configuration of Server As shown in FIG. 1, the server 10 has a message processing unit 111, an acquisition unit 114, a first judgment unit 115, and a first classification unit as functions realized by the control unit 11. It includes 116, a calculation unit 117, a second determination unit 118, and a second classification unit 119.

メッセージ処理部111は、各ユーザ間のやり取りを行うためのトークルームを管理する機能を備える。メッセージ処理部111は、サーバ10が提供するメッセージングサービスの提供を受ける端末間のコンテンツを含むコンテンツのやり取りを中継する。即ち、あるユーザからトークルームへのコンテンツが送信された場合に、そのトークルームを特定し、トークルームに属する他のユーザにコンテンツを送信する。 The message processing unit 111 has a function of managing a talk room for exchanging information between users. The message processing unit 111 relays the exchange of contents including the contents between the terminals provided with the messaging service provided by the server 10. That is, when the content is transmitted from a certain user to the talk room, the talk room is specified and the content is transmitted to another user belonging to the talk room.

取得部114は、ユーザから収支データを受け付ける機能を有する。ここで、収支データは、ユーザを特定可能な情報(ユーザID)と、収支が発生した日時を特定可能な情報(日時)と、費用と、その収支データを分類するための情報とを含む。取得部114は、ユーザの端末20から、家計簿アプリに対して入力された収支データを取得することとしてもよいし、ユーザの端末20のトークルームに対して送信された収支データを取得することとしてもよいし、ユーザに対応するECサイト等での利用明細を収支データとして取得することとしてもよいし、収支内容を示すレシート等の画像データを収支データとして取得することとしてもよい。取得部114は、取得した収支データを、第1判断部115に送信する。 The acquisition unit 114 has a function of receiving income and expenditure data from the user. Here, the balance data includes information that can identify the user (user ID), information that can specify the date and time when the balance occurred (date and time), expenses, and information for classifying the balance data. The acquisition unit 114 may acquire the balance data input to the household account book application from the user's terminal 20, or acquire the balance data transmitted to the talk room of the user's terminal 20. It may be possible to acquire usage details on an EC site or the like corresponding to the user as balance data, or image data such as a receipt showing the balance contents may be acquired as balance data. The acquisition unit 114 transmits the acquired balance data to the first determination unit 115.

第1判断部115は、取得部114から送信された新たな収支データが、分類済みのデータと、その分類したデータのカテゴリーに基づいて、いずれかのカテゴリーに分類可能かどうかを判断する。第1判断部115は、後述する収支データベース151を参照し、新たな収支データで示される内容が、収支データベース151に記録されている収支データのいずれかに一致する場合に、カテゴリーに分類可能と判断する。第1判断部115は、カテゴリーに分類可能と判断した場合に、取得部114から送信された新たな収支データを、第1分類部116に送信し、カテゴリーに分類不可能と判断した場合に、取得部114から送信された新たな収支データを、算出部117に送信する。なお、収支データベース151の詳細については後述する。 The first determination unit 115 determines whether or not the new income and expenditure data transmitted from the acquisition unit 114 can be classified into any category based on the classified data and the category of the classified data. The first judgment unit 115 refers to the income and expenditure database 151 described later, and can classify into categories when the content shown in the new income and expenditure data matches any of the income and expenditure data recorded in the income and expenditure database 151. to decide. When the first determination unit 115 determines that it can be classified into a category, it transmits new income and expenditure data transmitted from the acquisition unit 114 to the first classification unit 116, and when it determines that it cannot be classified into a category, The new balance data transmitted from the acquisition unit 114 is transmitted to the calculation unit 117. The details of the balance database 151 will be described later.

第1分類部116は、第1判断部115から、新たな収支データを受信すると、受信した新たな収支データの内容が、収支データベース151に記録されている収支データのいずれかに一致する収支データに対応付けられているカテゴリーに分類する。ここで、カテゴリーに分類するとは、カテゴリーの内容を示す情報を対応付けることをいい、ここでは、新たな収支データと、そのカテゴリーとを対応付けて収支データベース151に登録することをいう。 When the first classification unit 116 receives new balance data from the first determination unit 115, the content of the received new balance data matches any of the balance data recorded in the balance database 151. Classify into the categories associated with. Here, categorizing into categories means associating information indicating the contents of the categories, and here, associating new balance data with the categories and registering them in the balance database 151.

算出部117は、第1判断部115から、新たな収支データを受信すると、その収支データのエントロピーを算出する。ここでいう、エントロピーは、情報理論における情報量を意味する。換言すれば、その内容がどれだけ曖昧であるかを意味する。ここで、エントロピーは、選択情報量であってもよいし、平均情報量(シャノン情報量)であってもよく、それぞれを算出する数式を用いて算出することができる。情報量を算出する数式については、公知の数式を用いることとして、詳細については省略する。ここで、収支データのエントロピーが高いとは、収支データの内容の曖昧さが高いことを意味する。例えば、収支データの内容に、「アップル」とあった場合に、果物としての林檎を意味するのか、アップル社の製品を意味するのか、曖昧さの度合が高いので、こういう場合は、エントロピーが高いことになる。算出部117は、収支データ全体に対して算出することとしてもよいし、収支データに含まれるユーザIDや日時、使用した費用を除く他の情報に対してのみ算出することとしてよい。算出部117は、新たな収支データのエントロピーを算出すると、第2判断部118に送信する。 When the calculation unit 117 receives new balance data from the first determination unit 115, the calculation unit 117 calculates the entropy of the balance data. Entropy here means the amount of information in information theory. In other words, it means how ambiguous the content is. Here, the entropy may be an amount of selected information or an average amount of information (shannon information amount), and can be calculated by using a mathematical formula for calculating each of them. As for the mathematical formula for calculating the amount of information, a known mathematical formula will be used, and details will be omitted. Here, a high entropy of the balance data means that the content of the balance data is highly ambiguous. For example, when the content of the income and expenditure data says "Apple", it means apple as a fruit or Apple's product, and the degree of ambiguity is high, so in such cases, the entropy is high. It will be. The calculation unit 117 may calculate for the entire balance data, or may calculate only for other information excluding the user ID, the date and time, and the cost used in the balance data. When the calculation unit 117 calculates the entropy of the new balance data, it transmits it to the second determination unit 118.

第2判断部118は、算出部117から新たな収支データのエントロピーを受信すると、そのエントロピーが高いか低いかを判断する。具体的には、第2判断部118は、エントロピーと予め定めた閾値とを比較して、エントロピーが高いか、低いかを、判定する。第2判断部118は、エントロピーが高いか低いかの判断結果を、新たな収支データとともに、第2分類部119に送信する。 When the second determination unit 118 receives the entropy of new balance data from the calculation unit 117, it determines whether the entropy is high or low. Specifically, the second determination unit 118 compares the entropy with a predetermined threshold value to determine whether the entropy is high or low. The second determination unit 118 transmits the determination result of whether the entropy is high or low to the second classification unit 119 together with the new balance data.

第2分類部119は、第2判断部118から、判断結果と、収支データを受信すると、新たな収支データをカテゴリーに分類する。具体的には、第2分類部119は、第2判断部118から受信した判断結果が、新たな収支データのエントロピーが、所定の閾値以上である場合、即ち、曖昧の度合が強い場合には、第1のモデルに従って、新たな収支データをカテゴリーに分類する。一方で、新たな収支データのエントロピーが、所定の閾値未満である場合、即ち、曖昧の度合が低い場合には、第2のモデルに従って、新たな収支データをカテゴリーに分類する。 When the second classification unit 119 receives the judgment result and the balance data from the second judgment unit 118, the second classification unit 119 classifies the new balance data into categories. Specifically, the second classification unit 119 determines that the judgment result received from the second judgment unit 118 is when the entropy of the new balance data is equal to or higher than a predetermined threshold, that is, when the degree of ambiguity is strong. , The new balance data is categorized according to the first model. On the other hand, when the entropy of the new balance data is less than a predetermined threshold value, that is, when the degree of ambiguity is low, the new balance data is classified into categories according to the second model.

ここで、第1のモデルは、収支データをカテゴリーに分類するためのモデルである。第1のモデルは、収支データのエントロピーが高い場合、即ち、情報として曖昧の度合が高い情報を分類するためのモデルであり、機械学習、深層学習を利用して、入力データとその入力データを分類するカテゴリーとの関係を学習したモデルである。一例として、第1のモデルは、決定木モデルを利用することができる。決定木モデルは、データマイニングにおいてよく用いられるモデルであり、機械学習の分野における予測モデルであって、ある事象に対する観測結果からその事象の目標値に関する結論を導出するモデルである。ここでいう、結論は、カテゴリーに該当する。なお、第1のモデルは、決定木モデルに限定するものではなく、収支データをカテゴリーに分類できるのであれば、他のモデルであってよく、限定ではなく一例として線形モデルを用いることとしてもよい。この第1のモデルである、決定木モデルは、サーバ10を利用するユーザ全ての収支データを利用して生成することとしてもよいし、サーバ10を利用する一部のユーザの収支データを利用して生成することとしてもよいし、収支データに対応するユーザ個人の過去の収支データを利用して生成することとしてもよい。第1のモデルは、言い換えれば、1以上のユーザが分類した収支データの分類の多数決に基づいて、新たな収支データのカテゴリーを決定するモデルであるともいえる。第1のモデルである決定木モデルは、限定ではなく一例として、金額と、時間と、単語による分類を行うものであってよく、例えば、金額に対して1以上の閾値を設けてその閾値に対する高低によってカテゴリーが決定されるような態様で作成されたモデルであってよい。 Here, the first model is a model for classifying the balance data into categories. The first model is a model for classifying information with a high degree of ambiguity as information when the entropy of the balance data is high, and the input data and its input data are input by using machine learning and deep learning. It is a model that learned the relationship with the categories to be classified. As an example, the first model can utilize a decision tree model. The decision tree model is a model often used in data mining, a prediction model in the field of machine learning, and a model for deriving a conclusion about a target value of an event from the observation result of the event. The conclusions here fall under the category. The first model is not limited to the decision tree model, and may be another model as long as the balance data can be classified into categories, and a linear model may be used as an example instead of the limitation. .. The decision tree model, which is the first model, may be generated by using the balance data of all the users who use the server 10, or may use the balance data of some users who use the server 10. It may be generated by using the past balance data of the individual user corresponding to the balance data. In other words, the first model can be said to be a model for determining a new income and expenditure data category based on a majority vote of the income and expenditure data classifications classified by one or more users. The decision tree model, which is the first model, is not limited, but may be classified by amount, time, and words as an example. For example, a threshold of 1 or more is set for the amount and the threshold is set. The model may be created in such a manner that the category is determined by the height.

一方で、第2のモデルも、収支データをカテゴリーに分類するためのモデルであるが、第1のモデルとは異なる手法によりカテゴリーに分類するモデルである。一例として、第2のモデルは、単語カテゴリーを利用した分類を行うこととする。収支データのエントロピーが低いということは、その収支データを構成する単語群それぞれの曖昧の度合が低いことを意味するものであり、言い換えれば、それぞれの単語を含む収支データは、ある程度決まったカテゴリーに分類されていることが予測し得る。そのため、新たな収支データに含まれる単語を有する他の収支データが割り当てられているカテゴリーを、新たな収支データのカテゴリーとして割り当てられる可能性が高いと言える。具体的には、第2分類部119は、収支データに含まれる文字列を単語単位に分割し、分割した各単語を用いている収支データがどのカテゴリーに分類されているかを特定する。そして、第2分類部119は、各単語について、割り当てられているカテゴリーと、その単語の収支データベース151上での登場頻度に基づくスコアを算出する。登場頻度に基づくスコアとは、限定ではなく一例として、収支データに含まれる単語が、家計データベース151に登場する回数であってもよいし、その登場回数に対して予め定められた重み付け値を乗じた値を用いてもよい。そして、収支データに含まれる1以上の単語について、同じカテゴリーがある場合に、そのカテゴリー同士のスコアを合算し、各カテゴリーのうち、スコアの最も高いカテゴリーを、新たな収支データのカテゴリーとして割り当てる。つまり、仮に、一例として、収支データにA、B、Cという3つの単語が含まれ、それぞれ、C1、C2、C1というカテゴリーに割り当てられていたとする。このとき、Aという単語の登場頻度が30、Bという単語の登場頻度が40、Cという単語の登場頻度が20であったとすると、この収支データのカテゴリーC1のスコアが50(30+20)、カテゴリーC2のスコアが40となるので、収支データには、C1のカテゴリーを割り当てることになる。また、Aという単語を用いているカテゴリーが、C1とC2など複数ある場合には、C1として用いられている頻度と、C2として用いられている頻度とを個別に算出して用いるとよい。例えば、Aという単語がカテゴリーC1としての登場頻度が10、C2としての登場頻度が20となった場合に、単語BのカテゴリーC2の登場頻度40、単語CのカテゴリーC1の登場頻度20とを用いると、この場合の収支データのカテゴリーは、C1のスコア30(10+20)<C2のスコア40(20+20)であるため、C2となる。なお、第2分類部119は、収支データのスコアとして、カテゴリー同士のスコアの合算ではなく、スコアの平均をとるようにしてもよい。即ち、上述の例で説明すると、カテゴリーC1のスコアが25(30+20/2)、カテゴリーC2のスコアが40となるので、平均をとった場合には、収支データのカテゴリーは、C2となる。なお、カテゴリーのスコアの算出方法は、ここに記載した例に限定するものではなく、適宜、適切に変更することとしてよい。 On the other hand, the second model is also a model for classifying the balance data into categories, but is a model for classifying into categories by a method different from that of the first model. As an example, the second model is to perform classification using word categories. The low entropy of the balance data means that the degree of ambiguity of each of the word groups constituting the balance data is low. In other words, the balance data including each word is classified into a certain category. It can be predicted that it is classified. Therefore, it can be said that there is a high possibility that a category to which another balance data having a word included in the new balance data is assigned is assigned as a category of the new balance data. Specifically, the second classification unit 119 divides the character string included in the balance data into word units, and specifies which category the balance data using each of the divided words is classified. Then, the second classification unit 119 calculates a score based on the assigned category for each word and the frequency of appearance of the word on the income and expenditure database 151. The score based on the frequency of appearance is not limited, but as an example, it may be the number of times a word included in the income and expenditure data appears in the household database 151, or the number of appearances is multiplied by a predetermined weighting value. You may use the value. Then, when one or more words included in the balance data have the same category, the scores of the categories are added up, and the category with the highest score among the categories is assigned as a new category of the balance data. That is, suppose that, as an example, the income and expenditure data includes three words A, B, and C, and they are assigned to the categories C1, C2, and C1, respectively. At this time, assuming that the frequency of appearance of the word A is 30, the frequency of appearance of the word B is 40, and the frequency of appearance of the word C is 20, the score of category C1 of this balance data is 50 (30 + 20), and the frequency of category C2. Since the score of is 40, the C1 category is assigned to the balance data. When there are a plurality of categories such as C1 and C2 in which the word A is used, the frequency used as C1 and the frequency used as C2 may be calculated and used individually. For example, when the word A has an appearance frequency of 10 as category C1 and an appearance frequency of 20 as C2, the appearance frequency of category C2 of word B is 40 and the appearance frequency of category C1 of word C is 20. In this case, the category of the balance data is C2 because the score of C1 is 30 (10 + 20) <the score of C2 is 40 (20 + 20). In addition, the second classification unit 119 may take the average of the scores as the score of the balance data, not the sum of the scores of the categories. That is, in the above example, the score of category C1 is 25 (30 + 20/2) and the score of category C2 is 40. Therefore, when the average is taken, the category of the balance data is C2. The method of calculating the score of the category is not limited to the example described here, and may be appropriately changed as appropriate.

第2分類部119は、新たな収支データのカテゴリーを、その収支データに対応付けて収支データベース151に登録する。 The second classification unit 119 registers a new category of income and expenditure data in the income and expenditure database 151 in association with the income and expenditure data.

このように、本実施形態に係る通信システム1においては、収支データのエントロピーの多寡によって、使用する分類のモデルを異ならせることで、分類の精度を向上させることができる。
以上がサーバ10の構成である。
As described above, in the communication system 1 according to the present embodiment, the accuracy of classification can be improved by differentiating the classification model to be used depending on the amount of entropy of the balance data.
The above is the configuration of the server 10.

<データ>
次に、図3(a)を用いて、収支データベース151について説明する。収支データベース151は、1以上のユーザの収支データと、その分類結果であるカテゴリーとを対応付けて統合したデータベースである。図3(a)は、収支データベース151のデータ構成例を示す図である。図3(a)に示すように、収支データベース151は、ユーザID301と、収支ID302と、日時303と、費用304と、大カテゴリ305と、小カテゴリ306と、抽出情報307と、修正履歴308とが対応付けられた情報である。
<Data>
Next, the balance database 151 will be described with reference to FIG. 3A. The balance database 151 is a database in which the balance data of one or more users and the category which is the classification result are associated and integrated. FIG. 3A is a diagram showing a data configuration example of the income and expenditure database 151. As shown in FIG. 3A, the balance database 151 includes the user ID 301, the balance ID 302, the date and time 303, the cost 304, the large category 305, the small category 306, the extraction information 307, and the correction history 308. Is the associated information.

ユーザID301は、通信システム1上で、各ユーザを一意に特定可能なユーザの識別情報である。 The user ID 301 is user identification information that can uniquely identify each user on the communication system 1.

収支ID302は、通信システム1上で、各ユーザの一つの収支データ各々を一意に特定可能な収支データの識別情報である。 The balance ID 302 is identification information of the balance data that can uniquely identify one balance data of each user on the communication system 1.

日時303は、対応する収支データによる収支が発生した日時、即ち、ユーザが金銭を支払った日時、あるいは、収入を得た日時を示す情報である。なお、図3(a)においては、図面の紙面のスペースの都合上、日付までを示している。なお、日時303は、図3(a)に示す通り、時刻の情報を含まない日付までの情報であってもよい。 The date and time 303 is information indicating the date and time when the income and expenditure according to the corresponding income and expenditure data occurred, that is, the date and time when the user paid money or the date and time when the income was earned. In FIG. 3A, up to the date is shown due to the space on the paper of the drawing. As shown in FIG. 3A, the date and time 303 may be information up to the date that does not include the time information.

費用304は、対応する収支データに示す収支において、対応するユーザが支払った金銭の額面または得た収入の額面を示す情報である。 The cost 304 is information indicating the face value of the money paid by the corresponding user or the face value of the income earned in the balance shown in the corresponding balance data.

大カテゴリ305は、対応する収支データの大きな分類の内容を示す情報である。 The large category 305 is information indicating the contents of a large classification of the corresponding balance data.

小カテゴリ306は、対応する収支データの分類であって、大カテゴリ305の下で、対応する大カテゴリ305を細分化した分類項目(カテゴリー)を示す情報である。なお、収支データのカテゴリーとしては、大カテゴリ305、小カテゴリ306の二つある必要はなく、一つだけであってもよいし、逆に三つ以上あってもよい。また、ここでは、小カテゴリ306は、大カテゴリ305を細分化した分類項目であるとしたが、小カテゴリ306は、大カテゴリ305に並列する大カテゴリ305とは別のカテゴリーであってもよい。 The small category 306 is a classification of the corresponding income and expenditure data, and is information indicating a classification item (category) in which the corresponding large category 305 is subdivided under the large category 305. It should be noted that there need not be two categories of income and expenditure data, a large category 305 and a small category 306, and there may be only one category or three or more categories. Further, here, the small category 306 is a classification item obtained by subdividing the large category 305, but the small category 306 may be a category different from the large category 305 parallel to the large category 305.

抽出情報307は、対応する収支データに含まれていた、日時や費用以外の情報のことである。抽出情報307は、限定ではなく一例として、商品やサービスを購入した場所としての店名やサービス提供場所であってもよいし、購入した商品名やサービス名であってもよいし、商品の販売場所あるいはサービスの提供場所の住所であってもよいし、購入時、サービス受領時のユーザの端末の位置情報であってもよいし、同伴者の名称であってもよいし、店舗を往訪するのに利用した交通手段であってもよいし、商品やサービスの購入が何らかのイベント(限定ではなく一例として、誕生日や記念日など)に関連する場合には、イベントの名称などであってもよい。即ち、抽出情報307は、収支データのカテゴリーを特定できる一因となる情報であればよい。 The extracted information 307 is information other than the date and time and the cost included in the corresponding income and expenditure data. The extracted information 307 is not limited, but as an example, it may be a store name or a service providing place as a place where a product or service is purchased, a purchased product name or a service name, or a selling place of a product. Alternatively, it may be the address of the place where the service is provided, the location information of the user's terminal at the time of purchase or receipt of the service, the name of the companion, or the visit to the store. It may be the means of transportation used for the purpose, or if the purchase of goods or services is related to some event (for example, birthday or anniversary, not limited), it may be the name of the event. .. That is, the extracted information 307 may be any information that contributes to the identification of the category of the balance data.

修正履歴308は、過去に、ユーザからサーバ10が分類したカテゴリーを修正されたことがあるか否かの履歴を示す。修正履歴308が「有」となっている収支データは、対応するユーザの新たな収支データの最初のパターンマッチングを利用した分類に用いられることを示す。 The modification history 308 indicates a history of whether or not the category classified by the server 10 has been modified by the user in the past. The balance data for which the modification history 308 is "Yes" indicates that it is used for classification using the first pattern matching of the new balance data of the corresponding user.

収支データベース151があることにより、サーバ10は、新たな収支データの分類を実行することができる。 With the balance database 151, the server 10 can execute a new classification of balance data.

次に、図3(b)を用いて、取得部114が取得する収支データの一例を示す。 Next, with reference to FIG. 3B, an example of the balance data acquired by the acquisition unit 114 is shown.

図3(b)に示すように、収支データ310は、ユーザID311、日時312、収支内容313とが対応付けられた情報である。 As shown in FIG. 3B, the balance data 310 is information in which the user ID 311, the date and time 312, and the balance content 313 are associated with each other.

ユーザID311は、収支データ310が誰の収支であるかを特定可能であって、通信システム1上で、各ユーザを一意に特定可能なユーザの識別情報である。図3(b)のユーザID311と、図3(a)のユーザID301とは、同じ情報である。なお、収支データ310は、対応するユーザが特定できれば、ユーザIDとは異なる情報を用いてもよい。例えば、ユーザがトークルームを介して収支データを送信する場合には、そのトークルームの情報を用いてもよい。サーバ10は、トークルームの情報を保持することから、どのトークルームに対して収支データが送信されたのかを特定できれば、対応するユーザを導出することができる。 The user ID 311 is user identification information that can identify who the balance data 310 is, and can uniquely identify each user on the communication system 1. The user ID 311 in FIG. 3 (b) and the user ID 301 in FIG. 3 (a) have the same information. The balance data 310 may use information different from the user ID as long as the corresponding user can be identified. For example, when the user transmits the balance data via the talk room, the information of the talk room may be used. Since the server 10 holds the information of the talk room, if it is possible to identify to which talk room the balance data is transmitted, the corresponding user can be derived.

日時312は、収支データ310の収支が発生した日時を示す情報である。 The date and time 312 is information indicating the date and time when the balance of the balance data 310 occurred.

収支内容313は、収支データ310で示される収支の詳細を示す情報であり、支出あるいは収入の額面を示す金額や、支出が発生した場所、収支内容の詳細として購入した物品またはサービスの名称などが含まれてよい。即ち、修正内容313は、収支データベース151の費用304や抽出情報307に相当する情報である。収支内容313は、主として、収支データの分類に用いられる。 The balance content 313 is information showing the details of the balance shown in the balance data 310, and includes the amount of expenditure or the face value of the income, the place where the expenditure was generated, the name of the goods or services purchased as the details of the balance content, and the like. May be included. That is, the modified content 313 is information corresponding to the cost 304 and the extracted information 307 of the income and expenditure database 151. The balance content 313 is mainly used for classifying the balance data.

<動作>
ここから、本実施形態に係る通信システム1、サーバ10、端末20の動作について説明する。
<Operation>
From here, the operation of the communication system 1, the server 10, and the terminal 20 according to the present embodiment will be described.

図4は、通信システム1におけるサーバ10と端末20とのやり取りの一例を示すシーケンス図である。図4は、端末20において、新たな収支データのカテゴリーを表示する際のやり取りを示す図である。 FIG. 4 is a sequence diagram showing an example of communication between the server 10 and the terminal 20 in the communication system 1. FIG. 4 is a diagram showing an exchange when displaying a new income and expenditure data category on the terminal 20.

図4に示すように、端末20は、収支データの入力を受け付ける(ステップS401)。端末20は、収支データの入力を受け付けると、その収支データを、サーバ10に送信する(ステップS402)。 As shown in FIG. 4, the terminal 20 accepts the input of the balance data (step S401). When the terminal 20 receives the input of the balance data, the terminal 20 transmits the balance data to the server 10 (step S402).

サーバ10は、端末20から収支データを受信すると、その収支データを分類する(ステップS403)。即ち、サーバ10は、受信した収支データに対して、カテゴリーを付与する。サーバ10は、収支データに対してカテゴリーを付与すると、収支データと、対応付けられたカテゴリーとを、収支データを送信してきた端末20に送信する(ステップS404)。 When the server 10 receives the balance data from the terminal 20, the server 10 classifies the balance data (step S403). That is, the server 10 assigns a category to the received balance data. When the server 10 assigns a category to the balance data, the server 10 transmits the balance data and the associated category to the terminal 20 that has transmitted the balance data (step S404).

端末20は、サーバ10から、カテゴリーが対応付けられた収支データを受信すると、受信した収支データとそのカテゴリーを、表示部24に表示する(ステップS405)。このように、端末20は、サーバ10と連動することで、収支データをカテゴリーに分類することができる。 When the terminal 20 receives the balance data associated with the category from the server 10, the terminal 20 displays the received balance data and the category on the display unit 24 (step S405). In this way, the terminal 20 can classify the balance data into categories by interlocking with the server 10.

図5は、図4に示すやり取りの中でステップS403の処理を実現するためのサーバ10の動作を示すフローチャートである。図5は、サーバ10が、ユーザから、収支データを受信した際の、収支データの分類処理を示すフローチャートである。 FIG. 5 is a flowchart showing the operation of the server 10 for realizing the process of step S403 in the exchange shown in FIG. FIG. 5 is a flowchart showing a classification process of the balance data when the server 10 receives the balance data from the user.

図5に示すように、サーバ10の通信I/F14は、ネットワーク30を介して、ユーザから新たなデータとしての収支データを受信する。サーバ10の制御部11の取得部114は、通信I/F14が受信した収支データを取得する(ステップS501)。ここで、取得部114が取得する収支データは、前述の通り、端末20から送信されたデータであってもよいし、ECサイト等からの明細書データを収支データとして取得するものであってもよい。また、端末20から取得する場合であっても取得する収支データは、ユーザが入力したテキストデータであってもよいし、収支に係る明細書のデータであってもよいし、レシートを撮像した画像データであってもよい。取得部114は、新たな収支データを取得すると、第1判断部115に取得した新たな収支データを送信する。 As shown in FIG. 5, the communication I / F 14 of the server 10 receives the balance data as new data from the user via the network 30. The acquisition unit 114 of the control unit 11 of the server 10 acquires the balance data received by the communication I / F 14 (step S501). Here, the balance data acquired by the acquisition unit 114 may be the data transmitted from the terminal 20 as described above, or the statement data from the EC site or the like may be acquired as the balance data. Good. Further, even when the balance data is acquired from the terminal 20, the balance data to be acquired may be text data input by the user, data of a statement related to the balance, or an image obtained by capturing an image of the receipt. It may be data. When the acquisition unit 114 acquires new income and expenditure data, the acquisition unit 114 transmits the acquired new income and expenditure data to the first determination unit 115.

第1判断部115は、取得部114から新たな収支データを受信すると、収支データベース(DB)151を参照して、分類済みの収支データから、新たな収支データを分類できるか、即ち、カテゴリーに分類できるか(カテゴリーを付与できるか)を判断する(ステップS502)。即ち、第1判断部115は、新たな収支データで示されるユーザID311と一致する収支データがあるか否かを、収支データベース151のユーザID301を参照して特定する。第1判断部115は、特定された収支データの中に、修正履歴308が「有」となっている収支データを抽出する。そして、第1判断部115抽出された収支データの抽出情報307と、新たな収支データの収支内容313と一致するものがあるか否かを判断する。その結果、第1判断部115は、抽出された収支データの抽出情報307と、新たな収支データの収支内容313と一致するものがあった場合に、カテゴリーに分類可能と判断し、一致するものがなかった場合に、カテゴリーに分類不可能と判断する。 When the first determination unit 115 receives the new balance data from the acquisition unit 114, can the new balance data be classified from the classified balance data by referring to the balance database (DB) 151, that is, in the category. It is determined whether the classification can be performed (the category can be assigned) (step S502). That is, the first determination unit 115 specifies whether or not there is balance data that matches the user ID 311 indicated by the new balance data with reference to the user ID 301 of the balance database 151. The first determination unit 115 extracts the balance data for which the correction history 308 is “Yes” from the specified balance data. Then, it is determined whether or not there is a match between the extraction information 307 of the balance data extracted by the first determination unit 115 and the balance content 313 of the new balance data. As a result, if there is a match between the extracted information 307 of the extracted balance data and the balance content 313 of the new balance data, the first judgment unit 115 determines that it can be classified into a category and matches. If there is no, it is judged that it cannot be classified into a category.

第1判断部115が、新たな収支データが分類可能と判断した場合には(ステップS502のYES)、第1判断部115は、その旨と、新たな収支データとを、第1分類部116に送信する。第1分類部116は、新たな収支データを第1判断部115から受信すると、新たな収支データの収支内容313と、修正履歴308が「有」となっており、かつ、抽出情報307が一致する収支データに対して割り当てられている収支データの大カテゴリ305と、小カテゴリ306とを、新たな収支データのカテゴリーとして分類する(ステップS503)。第1分類部116は、新たな収支データと、そのカテゴリーを対応付けて、収支データベース151に登録して、処理を終了する。なお、新たな収支データの収支内容313と、抽出情報307が一致する収支データが複数ある場合であって、対応するカテゴリーが一致しない場合には、日時が最も新しい収支データのカテゴリーを用いることとしてよい。ユーザが過去にカテゴリーを修正したことがある収支データのカテゴリーは、そのユーザにとって、確定した分類ということになるので、新たな収支データが同様の内容である場合に、そのユーザが割り当てたことがあるカテゴリーを用いることで、収支データの分類の精度を向上させ、ユーザ各々にとって満足のいく分類を実行することができる。 When the first judgment unit 115 determines that the new balance data can be classified (YES in step S502), the first judgment unit 115 determines that fact and the new balance data in the first classification unit 116. Send to. When the first classification unit 116 receives the new balance data from the first judgment unit 115, the balance content 313 of the new balance data and the correction history 308 are "Yes", and the extraction information 307 matches. The large category 305 and the small category 306 of the balance data assigned to the balance data to be calculated are classified as new balance data categories (step S503). The first classification unit 116 associates the new balance data with the category, registers it in the balance database 151, and ends the process. If there are a plurality of balance data in which the balance content 313 of the new balance data and the extracted information 307 match, and the corresponding categories do not match, the category of the balance data with the latest date and time is used. Good. The category of the balance data that the user has modified the category in the past is a fixed classification for the user, so if the new balance data has the same content, the user has assigned it. By using a certain category, the accuracy of classification of income and expenditure data can be improved, and classification that is satisfactory for each user can be performed.

第1判断部115が、新たな収支データが分類不可能と判断した場合には(ステップS502のNO)、第1判断部115は、新たな収支データを、算出部117に送信する。 When the first determination unit 115 determines that the new balance data cannot be classified (NO in step S502), the first determination unit 115 transmits the new balance data to the calculation unit 117.

算出部117は、新たな収支データを受信すると、そのエントロピーを算出する(ステップS504)。算出部117は、算出したエントロピーと、対応する新たな収支データとを、第2判断部118に送信する。 When the calculation unit 117 receives the new balance data, it calculates the entropy of the new balance data (step S504). The calculation unit 117 transmits the calculated entropy and the corresponding new balance data to the second determination unit 118.

第2判断部118は、算出部117から、エントロピーを受信すると、そのエントロピーが示す値が、特定の値以上であるか否かを判断する(ステップS505)。換言すれば、第2判断部118は、新たな収支データの内容が、曖昧であるか否かを判断する。 When the second determination unit 118 receives the entropy from the calculation unit 117, it determines whether or not the value indicated by the entropy is equal to or higher than a specific value (step S505). In other words, the second determination unit 118 determines whether or not the content of the new balance data is ambiguous.

第2判断部118は、エントロピーが、特定の値以上であると判断した場合には(ステップS505のYES)、第2分類部119に、エントロピーが特定の値以上である旨と、新たな収支データとを、送信する。一方で、第2判断部118は、エントロピーが、特定の値未満であると判断した場合には(ステップS505のNO)、第2分類部119に、エントロピーが特定の値未満である旨と、新たな収支データとを、送信する。 When the second determination unit 118 determines that the entropy is equal to or higher than a specific value (YES in step S505), the second determination unit 118 tells the second classification unit 119 that the entropy is equal to or higher than the specific value and a new balance. Send the data. On the other hand, when the second determination unit 118 determines that the entropy is less than the specific value (NO in step S505), the second classification unit 119 tells the second classification unit 119 that the entropy is less than the specific value. Send new balance data.

第2分類部119は、第2判断部118から、エントロピーの判断結果と、新たな収支データを受信すると、新たな収支データをカテゴリーに分類する。 When the second classification unit 119 receives the entropy determination result and the new balance data from the second determination unit 118, the second classification unit 119 classifies the new balance data into categories.

第2分類部119は、第2判断部118から、エントロピーが特定の値以上であるという情報を受信していると(ステップS505のYES)、第1モデル152を用いて、新たな収支データを分類する(ステップS506)。即ち、新たな収支データの日時132、収支内容313を入力として、第1モデル152(限定ではなく一例として決定木モデル)を用いた推定処理を行って、付与するカテゴリーを特定する。第2分類部119は、新たな収支データに特定したカテゴリーを対応付けて収支データベース151に登録することで、新たな収支データをカテゴリーに分類する。 When the second classification unit 119 receives information from the second judgment unit 118 that the entropy is equal to or higher than a specific value (YES in step S505), the second classification unit 119 uses the first model 152 to obtain new balance data. Classify (step S506). That is, the date and time 132 of the new balance data and the balance content 313 are input, and the estimation process using the first model 152 (the decision tree model as an example, not the limitation) is performed to specify the category to be assigned. The second classification unit 119 classifies the new balance data into categories by associating the specified category with the new balance data and registering it in the balance database 151.

一方で、第2分類部119は、第2判断部118から、エントロピーが特定の値未満であるという情報を受信していると(ステップS505のNO)、第2分類部119は、第1モデル152とは異なるモデルである第2モデル153を用いて、新たな収支データを分類する(ステップS507)。即ち、新たな収支データの収支内容313を、単語単位に分割し、各単語のカテゴリーを第2モデル153を用いて特定し、特定した各単語のカテゴリーから、新たな収支データのカテゴリーを特定する。そして、第2分類部119は、新たな収支データに特定したカテゴリーを対応付けて収支データベース151に登録することで、新たな収支データをカテゴリーに分類する。このように、第2分類部119が、分類対象のデータ、即ち、収支データを、そのエントロピーに基づいて、分類の手法を変えることで、分類精度を向上させることができ、ユーザにとって満足度の高い分類を実行できる分類プログラム(家計簿アプリ)を提供することができる。 On the other hand, when the second classification unit 119 receives the information from the second judgment unit 118 that the entropy is less than a specific value (NO in step S505), the second classification unit 119 is the first model. The second model 153, which is a model different from the 152, is used to classify new balance data (step S507). That is, the balance content 313 of the new balance data is divided into word units, the category of each word is specified using the second model 153, and the category of the new balance data is specified from the category of each specified word. .. Then, the second classification unit 119 classifies the new balance data into categories by associating the specified category with the new balance data and registering it in the balance database 151. In this way, the second classification unit 119 can improve the classification accuracy of the data to be classified, that is, the income and expenditure data, by changing the classification method based on the entropy, and the satisfaction level for the user is high. It is possible to provide a classification program (household account book application) that can execute high classification.

その後に、サーバ10の制御部11は、通信I/F14を介して、端末20に新たな収支データを特定可能な情報(新たな収支データそのものであってもよい)と、特定したカテゴリーとを、送信する。これによって、端末20は、カテゴリーと収支データとを対応付けて表示することができ、ユーザに新たな収支データのカテゴリーを認識させることができる。 After that, the control unit 11 of the server 10 provides information that can identify new balance data to the terminal 20 (may be the new balance data itself) and the specified category via the communication I / F14. ,Send. As a result, the terminal 20 can display the category and the balance data in association with each other, and can make the user recognize the new category of the balance data.

図6は、図4のやり取りを実現するための、端末20の動作例を示すフローチャートである。 FIG. 6 is a flowchart showing an operation example of the terminal 20 for realizing the exchange of FIG.

図6に示すように、端末20の入出力部23は、ユーザから収支データの入力を受け付ける(ステップS601)。この入力は、トークルームあるいは家計簿アプリに対するテキスト入力であってもよいし、明細書データのインプットであってもよいし、レシートなどの撮像であってもよい。 As shown in FIG. 6, the input / output unit 23 of the terminal 20 receives the input of the balance data from the user (step S601). This input may be a text input to the talk room or the household account book application, may be an input of statement data, or may be an image of a receipt or the like.

端末20の入出力部23は、収支データの入力を受け付けると、通信I/F22を介して、サーバ10に送信する(ステップS602)。これにより、サーバ10では、新たな収支データの分類処理が実行される。 When the input / output unit 23 of the terminal 20 receives the input of the balance data, it transmits it to the server 10 via the communication I / F 22 (step S602). As a result, the server 10 executes a new classification process of the balance data.

端末20の通信I/F22は、収支データと対応付けられたカテゴリーとの情報を受信する(ステップS603)。ステップS601において、収支データをトークルームに入力していた場合には、通信I/F22はメッセージ処理部211に収支データとカテゴリーの情報を送信し、ステップS601において、収支データを家計簿アプリに入力していた場合には、通信I/F22は家計簿アプリ実行部213に送信する。 The communication I / F 22 of the terminal 20 receives the information of the balance data and the category associated with it (step S603). When the balance data was input to the talk room in step S601, the communication I / F 22 transmits the balance data and the category information to the message processing unit 211, and inputs the balance data to the household account book application in step S601. If so, the communication I / F 22 transmits to the household account book application execution unit 213.

表示処理部212は、メッセージ処理部211又は家計簿アプリ実行部213からの指示に従って、新たな収支データと、対応付けられたカテゴリーとを表示する(ステップS604)。 The display processing unit 212 displays the new income and expenditure data and the associated category according to the instruction from the message processing unit 211 or the household account book application execution unit 213 (step S604).

入出力部23は、ユーザから、新たな収支データのカテゴリーについての訂正入力を受け付けたか否かを判定する(ステップS605)。カテゴリーの訂正入力は、予め定められている複数のカテゴリーの中から選択するものであってもよいし、ユーザによる直接入力であってもよい。カテゴリーの訂正入力を受け付けていた場合には(ステップS605のYES)、通信I/F14は、制御部21からの指示にしたがって、新たな収支データを特定可能な情報(新たな収支データそのものであってもよい)と、訂正後のカテゴリーとを、送信し(ステップS606)、処理を終了する。なお、入出力部23が訂正入力を受け付けていない場合には(ステップS605のNO)、そのまま処理を終了する。
以上が、端末20の動作である。
The input / output unit 23 determines whether or not a correction input for a new income and expenditure data category has been received from the user (step S605). The correction input of the category may be selected from a plurality of predetermined categories, or may be a direct input by the user. When the correction input of the category is accepted (YES in step S605), the communication I / F 14 is information that can identify new balance data according to the instruction from the control unit 21 (new balance data itself). (May be), and the corrected category are transmitted (step S606), and the process ends. If the input / output unit 23 does not accept the correction input (NO in step S605), the process ends as it is.
The above is the operation of the terminal 20.

次に、新たな収支データに対して付与されたカテゴリーにユーザが満足できなかった場合の処理について説明する。図7は、新たな収支データのカテゴリーを訂正する際の、サーバ10と端末20との間のやり取りを示すシーケンス図であり、図4のステップS405の処理以降のやり取りを示している。 Next, the processing when the user is not satisfied with the category assigned to the new balance data will be described. FIG. 7 is a sequence diagram showing an exchange between the server 10 and the terminal 20 when correcting a new income and expenditure data category, and shows the exchange after the process of step S405 of FIG.

端末20の入出力部23は、ユーザから、表示されたカテゴリーの訂正の入力を受け付ける(ステップS701)。 The input / output unit 23 of the terminal 20 receives an input for correction of the displayed category from the user (step S701).

端末20は、受け付けた訂正後のカテゴリーと、対応する収支データとを、サーバ10に送信する(ステップS702)。 The terminal 20 transmits the received corrected category and the corresponding balance data to the server 10 (step S702).

サーバ10は、端末20から、訂正後のカテゴリーと、対応する収支データと受信すると、その収支データが、収支データベース151において対応付けられているカテゴリーを、訂正後のカテゴリーに修正して、収支データベース151を更新し、記憶する(ステップS703)。 When the server 10 receives the corrected category and the corresponding balance data from the terminal 20, the server 10 corrects the category associated with the balance data in the balance database 151 to the corrected category, and the balance database. 151 is updated and stored (step S703).

収支データベース151を更新すると、サーバ10は、修正後のカテゴリーと収支データとを、端末20に送信する(ステップS704)。 When the balance database 151 is updated, the server 10 transmits the modified category and the balance data to the terminal 20 (step S704).

修正後のカテゴリーと収支データとを受信すると、端末20は、その収支データに、修正後のカテゴリーを対応付けて表示部24に表示する(ステップS705)。 Upon receiving the corrected category and the balance data, the terminal 20 associates the corrected category with the balance data and displays it on the display unit 24 (step S705).

なお、端末20では、ユーザからカテゴリーの訂正を受け付けた時点で、訂正後のカテゴリーと収支データが表示されてよく、その場合には、ステップS704、S705の処理は省略することとしてもよい。 The terminal 20 may display the corrected category and the balance data at the time when the correction of the category is received from the user. In that case, the processing of steps S704 and S705 may be omitted.

図8は、図7に示すやり取りを実現するためのサーバ10の動作例を示すフローチャートである。なお、端末20の動作は、図6のステップS605、S606の処理が該当する。 FIG. 8 is a flowchart showing an operation example of the server 10 for realizing the exchange shown in FIG. 7. The operation of the terminal 20 corresponds to the processes of steps S605 and S606 of FIG.

図8に示すようにサーバ10の制御部11は、ユーザの端末から、収支データと、カテゴリーの情報の組み合わせを受信する(ステップS801)。 As shown in FIG. 8, the control unit 11 of the server 10 receives the combination of the balance data and the category information from the user's terminal (step S801).

制御部11は、受信した収支データが、収支データベース141に登録されているか否かを判定する(ステップS802)。 The control unit 11 determines whether or not the received balance data is registered in the balance database 141 (step S802).

受信した収支データが、収支データベース141に登録されている場合には(ステップS802のYES)、制御部11は、登録されている収支データベース141の収支データに対応付けられているカテゴリーを、受信したカテゴリーの情報が示すカテゴリーに更新して(ステップS803)、処理を終了する。この後、制御部11は、修正後のカテゴリーと、収支データを、端末20に送信する。 When the received balance data is registered in the balance database 141 (YES in step S802), the control unit 11 receives the category associated with the balance data of the registered balance database 141. Update to the category indicated by the category information (step S803), and end the process. After that, the control unit 11 transmits the corrected category and the balance data to the terminal 20.

受信した収支データが、収支データベース141に登録されていない場合には(ステップS802のNO)、制御部11は、収支データベース141に新たに登録して(ステップS804)、終了する。なお、ステップS804の処理は、ユーザ側で最初からカテゴリーを指定する場合における処理である。 If the received balance data is not registered in the balance database 141 (NO in step S802), the control unit 11 newly registers it in the balance database 141 (step S804) and ends. The process of step S804 is a process when the user specifies the category from the beginning.

図7、図8に示すように、通信システム1においては、ユーザ側で、サーバ10が収支データに付与したカテゴリーを訂正することができる。 As shown in FIGS. 7 and 8, in the communication system 1, the user can correct the category assigned to the balance data by the server 10.

<実施形態変形例>
上記実施形態においては、サーバ10が、分類処理を実行しているが、端末20が、分類処理を行ってもよく、図9に示すように、サーバ10が保持していた機能を端末20が備える構成としてもよい。
<Example of modification of embodiment>
In the above embodiment, the server 10 executes the classification process, but the terminal 20 may perform the classification process, and as shown in FIG. 9, the terminal 20 performs the function held by the server 10. It may be provided.

即ち、記憶部28が、収支データベース251、第1モデル252、第2モデル253を記憶し、制御部21が、取得部214、第1判断部215、第1分類部216、算出部217、第2判断部218、第2分類部219を記憶していることとしてもよい。収支データベース251は、収支データベース151に相当し、第1モデル252は、第1モデル152に相当し、第2モデル253は、第2モデル153に相当する。同様に、取得部214は取得部114に、第1判断部215は第1判断部115に、第1分類部216は第1分類部116に、算出部217は算出部117に、第2判断部218は第2判断部118に、第2分類部219は第2分類部119に、それぞれ相当する。 That is, the storage unit 28 stores the balance database 251 and the first model 252, and the second model 253, and the control unit 21 stores the acquisition unit 214, the first judgment unit 215, the first classification unit 216, the calculation unit 217, and the second model. 2 The determination unit 218 and the second classification unit 219 may be stored. The balance database 251 corresponds to the balance database 151, the first model 252 corresponds to the first model 152, and the second model 253 corresponds to the second model 153. Similarly, the acquisition unit 214 is in the acquisition unit 114, the first judgment unit 215 is in the first judgment unit 115, the first classification unit 216 is in the first classification unit 116, the calculation unit 217 is in the calculation unit 117, and the second judgment is in the second judgment unit 117. The unit 218 corresponds to the second determination unit 118, and the second classification unit 219 corresponds to the second classification unit 119.

このとき、第1モデル252、第2モデル253については、プリインストールあるいは、家計簿アプリをインストールするタイミングで、サーバ10から提供されて記憶部28に記憶されることとしてよい。また、第1モデル252、第2モデル253を更新する場合には、サーバ10から取得することとしてよい。また、収支データベース151は、複数のユーザの収支データが含まれるものであったが、収支データベース151は、端末20のユーザ個人に特化したデータベースとなる。 At this time, the first model 252 and the second model 253 may be provided from the server 10 and stored in the storage unit 28 at the timing of pre-installing or installing the household account book application. Further, when updating the first model 252 and the second model 253, it may be acquired from the server 10. Further, the balance database 151 includes the balance data of a plurality of users, but the balance database 151 is a database specialized for individual users of the terminal 20.

このように、サーバ10が保持していた機能は、記憶部28の記憶容量と、制御部21の処理性能が許す限り、端末20によっても実現可能である。 As described above, the function held by the server 10 can also be realized by the terminal 20 as long as the storage capacity of the storage unit 28 and the processing performance of the control unit 21 allow.

また、上記実施形態においては、分類対象として支出である収支データを分類する例を示しているが、支出に限らず収入に関するものであってもよく、その場合のカテゴリーとしては、例えば、月給、ボーナス、アルバイト収入などであってもよい。また、上記実施形態においては、分類する対象として、ユーザの収支に関連する収支データを一例として示したが、分類対象は収支に関連する収支データに限定するものではなく、他の分野での分類に用いてもよい。該当するカテゴリーが複数あるデータの分類において、エントロピーを算出して、その高低によって分類に用いるモデルを異ならせれば、他の種別のデータの分類に用いてもよく、限定ではなく一例として、画像データを画像データの内容やメタデータを利用して分類する際に、画像データあるいは画像データのメタデータのエントロピーを算出して、その高低によって分類するモデルを異ならせてカテゴリーを割り当ててもよい。 Further, in the above embodiment, an example of classifying income and expenditure data which is expenditure as a classification target is shown, but it may be related to income as well as expenditure, and in that case, for example, monthly salary, It may be a bonus, part-time job income, etc. Further, in the above embodiment, the balance data related to the user's balance is shown as an example as the classification target, but the classification target is not limited to the balance data related to the balance, and the classification in other fields is not limited. It may be used for. In the classification of data with multiple applicable categories, if the entropy is calculated and the model used for classification differs depending on the level, it may be used for classification of other types of data. Image data is not a limitation but an example. When classifying using the contents of image data or metadata, the entropy of the image data or the metadata of the image data may be calculated, and the categories may be assigned to different models according to the height thereof.

また、サーバ10(又は端末20)は、第1モデルを用いた分類、あるいは、第2モデルを用いた分類の結果、仮に、分類すべきカテゴリーがない場合には、最も近しいカテゴリーに分類してもよいし、分類できなかったことを示すエラー情報を、出力するように構成されてもよい。 Further, the server 10 (or the terminal 20) is classified into the closest category if there is no category to be classified as a result of the classification using the first model or the classification using the second model. Alternatively, it may be configured to output error information indicating that the classification could not be performed.

また、第1モデル(152、252)及び第2モデル(153、253)は、その推定の精度を向上させるために適宜更新されてよく、限定ではなく一例として、1ヶ月単位あるいは半年単位など、適切なタイミングで更新されてよい。 In addition, the first model (152, 252) and the second model (153, 253) may be updated as appropriate in order to improve the accuracy of the estimation, and are not limited, but as an example, one month or six months, etc. It may be updated at an appropriate time.

<実施形態の効果>
上記実施形態に示すように、サーバ10(又は端末20)は、収支データベース151を用いた過去にユーザが修正したことがある収支データのカテゴリーに基づく分類ができなかった場合に、収支データのエントロピーを算出し、その高低、即ち、曖昧さの度合によって分類手法を変更する。即ち、収支データのエントロピーが高い場合に、サーバ10(又は端末20)は、第1モデル152(限定ではなく、一例として、決定木モデル)を用いた分類を実行し、収支データのエントロピーが低い場合に、第2モデル153を用いた分類を実行する。
<Effect of embodiment>
As shown in the above embodiment, the server 10 (or the terminal 20) cannot classify the balance data based on the balance data category that the user has modified in the past using the balance database 151, and the entropy of the balance data. Is calculated, and the classification method is changed according to the height, that is, the degree of ambiguity. That is, when the entropy of the balance data is high, the server 10 (or the terminal 20) executes the classification using the first model 152 (not limited, but as an example, the decision tree model), and the entropy of the balance data is low. In some cases, classification using the second model 153 is performed.

これにより、サーバ10(又は端末20)は、単なる形態素解析からでは得られなかった精度の高さで、収支データを分類することができる。したがって、ユーザにとって分類の信頼度の高い分類方法、及び、そのプログラムを提供することができる。 As a result, the server 10 (or the terminal 20) can classify the balance data with a high degree of accuracy that cannot be obtained by mere morphological analysis. Therefore, it is possible to provide a classification method having high classification reliability for the user and a program thereof.

また、収支データは、物品又はサービスを購入した金額、収支が発生した日時、及び、購入した物品又はサービスの名称又は購入した日時を含む情報であってよい。 In addition, the balance data may be information including the amount of purchase of goods or services, the date and time when the balance was generated, and the name of the purchased goods or services or the date and time of purchase.

収支データがこれらの情報を含むことで、サーバ10(又は端末20)は、収支データを精度よく分類することができる。 When the balance data includes such information, the server 10 (or the terminal 20) can accurately classify the balance data.

また、サーバ10(又は端末20)は、ユーザが過去にカテゴリーを修正したことがある収支データを用いて、新たな収支データを分類することとしてもよい。 Further, the server 10 (or the terminal 20) may classify the new balance data by using the balance data whose category has been modified by the user in the past.

過去の収支データの内容に一致する収支データであって、ユーザがカテゴリーを修正したことがある収支データが有る場合に、その収支データは、ユーザがカテゴリーを指定したことを示す。したがって、サーバ10(又は端末20)は、新たな収支データを確定的、即ち、確信をもって、分類することができる。 If there is income and expenditure data that matches the contents of the past income and expenditure data and the user has modified the category, the income and expenditure data indicates that the user has specified the category. Therefore, the server 10 (or terminal 20) can classify the new balance data deterministically, that is, with certainty.

また、サーバ10(又は端末20)は、複数のユーザによる収支データと対応付けられたカテゴリーとを学習した第1モデルを用いることで、新たな収支データを分類する。 Further, the server 10 (or the terminal 20) classifies new balance data by using the first model that has learned the balance data by a plurality of users and the associated category.

これにより、サーバ10(又は端末20)は、収支データの曖昧さの度合いが大きくても、新たな収支データを分類することができる。 As a result, the server 10 (or the terminal 20) can classify new balance data even if the degree of ambiguity of the balance data is large.

また、サーバ10(又は端末20)は、収支データに含まれる単語と、その単語を含む収支データに割り当てられたカテゴリーとを参照して、新たな収支データに含まれる単語それぞれのカテゴリーを特定することで、新たな収支データを分類する。 Further, the server 10 (or the terminal 20) refers to the word included in the balance data and the category assigned to the balance data including the word, and specifies the category of each word included in the new balance data. By doing so, we classify new income and expenditure data.

これにより、サーバ10(又は端末20)は、収支データの曖昧さの度合いが小さい場合に、新たな収支データを適切に分類することができる。 As a result, the server 10 (or the terminal 20) can appropriately classify the new balance data when the degree of ambiguity of the balance data is small.

また、端末20は、新たな収支データのカテゴリーを、収支データとともに出力(表示)することとしてもよい。 Further, the terminal 20 may output (display) a new category of balance data together with the balance data.

これにより、端末20のユーザは、新たな収支データのカテゴリーを一意に認識することができる。 As a result, the user of the terminal 20 can uniquely recognize the new income and expenditure data category.

また、端末20の入出力部23は、ユーザから収支データに対して割り当てられたカテゴリーの訂正入力を受け付けることとしてもよい。 Further, the input / output unit 23 of the terminal 20 may accept the correction input of the category assigned to the balance data from the user.

これにより、ユーザは、サーバ10(又は端末20)が割り当てたカテゴリーが納得いかなかった場合に、その内容を修正することができる。 As a result, the user can correct the contents of the category assigned by the server 10 (or the terminal 20) when he / she is not satisfied with the category.

また、サーバ10(又は端末20)は、ユーザからカテゴリーの訂正を受け付けた場合に、訂正後のカテゴリーを収支データに対応付けて記憶することとしてもよい。 Further, when the server 10 (or the terminal 20) receives the correction of the category from the user, the corrected category may be stored in association with the balance data.

これにより、以降において、サーバ10(又は端末20)は、類似する新たな収支データを受け付けた場合に、その収支データを、適切に分類することができる。 As a result, after that, when the server 10 (or the terminal 20) receives similar new balance data, the balance data can be appropriately classified.

なお、エントロピーとモデルを用いて分類するデータは家計簿の収支データに限られない。例えば会計におけるデータのエントロピーを算出して、エントロピーによって勘定科目に分類するモデルを切り替えるように構成しても構わない。 The data classified using entropy and the model is not limited to the income and expenditure data of the household account book. For example, the entropy of data in accounting may be calculated, and the model for classifying into accounts may be switched according to the entropy.

1 通信システム
10 サーバ
11 制御部
111 メッセージ処理部
114 取得部
115 第1判断部
116 第1分類部
117 算出部
118 第2判断部
119 第2分類部
12 入出力部
13 表示部
14 通信I/F(通信部)
20 端末
21 制御部
211 メッセージ処理部
212 表示処理部
213 家計簿アプリ実行部
214 取得部
215 第1判断部
216 第1分類部
217 算出部
218 第2判断部
219 第2分類部
22 通信I/F
23 入出力部
231 タッチパネル
232 マイク
233 スピーカ
234 カメラ
24 表示部(ディスプレイ)
28 記憶部
30 ネットワーク
1 Communication system 10 Server 11 Control unit 111 Message processing unit 114 Acquisition unit 115 1st judgment unit 116 1st classification unit 117 Calculation unit 118 2nd judgment unit 119 2nd classification unit 12 Input / output unit 13 Display unit 14 Communication I / F (Communication Department)
20 Terminal 21 Control unit 211 Message processing unit 212 Display processing unit 213 Household account book application execution unit 214 Acquisition unit 215 First judgment unit 216 First classification unit 217 Calculation unit 218 Second judgment unit 219 Second classification unit 22 Communication I / F
23 Input / output unit 231 Touch panel 232 Microphone 233 Speaker 234 Camera 24 Display unit (display)
28 Storage 30 Network

Claims (9)

対象ユーザが分類したデータと、そのデータを分類したカテゴリーとを取得することと、
前記対象ユーザの新たなデータを取得することと、
前記新たなデータが、前記分類したデータとそのデータを分類したカテゴリーに基づいて、カテゴリーに分類可能であるか否かの第1の判断を下すことと、
前記第1の判断により前記新たなデータがカテゴリーに分類可能であると判断された場合に、前記新たなデータを前記対象ユーザが既に分類しているカテゴリーのいずれかに分類する第1の分類を実行することと、
前記第1の判断により前記新たなデータがカテゴリーに分類不可能であると判断された場合に、前記新たなデータのエントロピーを算出することと、
前記エントロピーが特定の値以上であるか否かの第2の判断を下すことと、
前記第2の判断により前記エントロピーが特定の値以上であると判断された場合に、前記新たなデータを、第1のモデルに従ってカテゴリーに分類し、前記第2の判断により前記エントロピーが特定の値未満であると判断された場合に、前記新たなデータを、前記第1のモデルとは異なる第2のモデルに従ってカテゴリーに分類する第2の分類を実行することと、
を含む情報処理装置によるデータの分類方法。
Acquiring the data classified by the target user and the category in which the data is classified,
Acquiring new data of the target user and
To make a first judgment as to whether or not the new data can be classified into categories based on the classified data and the category in which the data is classified.
When it is determined by the first determination that the new data can be classified into a category, the first classification for classifying the new data into one of the categories already classified by the target user is performed. To do and
When it is determined by the first determination that the new data cannot be classified into a category, the entropy of the new data is calculated.
To make a second judgment as to whether or not the entropy is equal to or higher than a specific value,
When it is determined by the second judgment that the entropy is equal to or higher than a specific value, the new data is classified into categories according to the first model, and the entropy is a specific value by the second judgment. Performing a second classification that, when determined to be less than, classifies the new data into categories according to a second model that is different from the first model.
A method of classifying data by an information processing device including.
請求項1に記載のデータの分類方法であって、
前記データは、収支に係るデータであり、少なくとも、物品又はサービスを購入した金額、収支が発生した日時、及び、購入した物品またはサービスの名称又は購入した場所を含む情報のいずれかを含み、
前記分類方法は、
前記データから、前記金額、前記日時、前記購入した物品またはサービスの名称又は購入した場所を含む情報各々を抽出することを含む。
The data classification method according to claim 1.
The data is data relating to income and expenditure, and includes at least one of the amount of money purchased for goods or services, the date and time when the income and expenditure occurred, and the name of the goods or services purchased or the place of purchase.
The classification method is
This includes extracting information including the amount of money, the date and time, the name of the purchased goods or services, or the place of purchase from the data.
請求項2に記載のデータの分類方法であって、
前記第1のモデルは、複数のユーザが、データと、当該データを分類したカテゴリーとの関係を学習したモデルであり、
前記第2の分類は、前記第1のモデルを用いた深層学習に係る推定処理により、前記新たなデータをカテゴリーに分類する。
The data classification method according to claim 2.
The first model is a model in which a plurality of users have learned the relationship between the data and the category in which the data is classified.
In the second classification, the new data is classified into categories by an estimation process related to deep learning using the first model.
請求項2又は3に記載のデータの分類方法であって、
前記購入した物品またはサービスの名称または購入した場所の情報を単語単位に分割することを含み、
前記第2のモデルは、単語と、当該単語を含むデータを分類したカテゴリーとの関係を学習したモデルであり、
前記第2の分類は、前記分割により得られた各単語各々を前記第2のモデルを用いてカテゴリーを割り当てるとともに、各単語に割り当てられたカテゴリーに基づいて、前記新たなデータを分類する。
The data classification method according to claim 2 or 3.
Including dividing the name of the purchased goods or services or the information of the place of purchase into word units.
The second model is a model that learns the relationship between a word and a category in which data including the word is classified.
In the second classification, each word obtained by the division is assigned a category using the second model, and the new data is classified based on the category assigned to each word.
請求項1〜4のいずれか一項に記載の分類方法であって、
前記第1の分類または前記第2の分類により分類された前記新たなデータが分類されたカテゴリーを、前記新たなデータとともに出力することを含む。
The classification method according to any one of claims 1 to 4.
It includes outputting the category in which the new data classified by the first classification or the second classification is classified together with the new data.
請求項5に記載の分類方法であって、
前記第1の分類または前記第2の分類により分類された前記新たなデータのカテゴリーに対して、前記端末のユーザからカテゴリーの修正を受け付けることを含む。
The classification method according to claim 5.
This includes accepting a category modification from the user of the terminal for the new data category classified by the first classification or the second classification.
請求項6に記載の分類方法であって、
前記新たなデータと、前記受け付けた修正後のカテゴリーとを対応付けて記憶することを含む。
The classification method according to claim 6.
It includes storing the new data in association with the received modified category.
対象ユーザが分類したデータと、そのデータを分類したカテゴリーとを取得するとともに、前記対象ユーザの新たなデータを取得する取得部と、
前記新たなデータが、前記分類したデータとそのデータを分類したカテゴリーに基づいて、カテゴリーに分類可能であるか否かの第1の判断を下す第1判断部と、
前記第1の判断により前記新たなデータがカテゴリーに分類可能であると判断された場合に、前記新たなデータを前記対象ユーザが既に分類しているカテゴリーのいずれかに分類する第1の分類を実行する第1分類部と、
前記第1の判断により前記新たなデータがカテゴリーに分類不可能であると判断された場合に、前記新たなデータのエントロピーを算出する算出部と、
前記エントロピーが特定の値以上であるか否かの第2の判断を下す第2判断部と、
前記第2の判断により前記エントロピーが特定の値以上であると判断された場合に、前記新たなデータを、第1のモデルに従ってカテゴリーに分類し、前記第2の判断により前記エントロピーが特定の値未満であると判断された場合に、前記新たなデータを、前記第1のモデルとは異なる第2のモデルに従ってカテゴリーに分類する第2の分類を実行する第2分類部と、
を備える端末。
An acquisition unit that acquires the data classified by the target user and the category in which the data is classified, and acquires new data of the target user.
A first judgment unit that makes a first judgment as to whether or not the new data can be classified into categories based on the classified data and the category in which the data is classified.
When it is determined by the first determination that the new data can be classified into a category, the first classification for classifying the new data into one of the categories already classified by the target user is performed. The first classification part to be executed and
When it is determined by the first determination that the new data cannot be classified into a category, a calculation unit that calculates the entropy of the new data and a calculation unit.
A second judgment unit that makes a second judgment as to whether or not the entropy is equal to or higher than a specific value, and
When it is determined by the second judgment that the entropy is equal to or higher than a specific value, the new data is classified into categories according to the first model, and the entropy is a specific value by the second judgment. A second classification unit that executes a second classification that classifies the new data into categories according to a second model different from the first model when it is determined to be less than.
A terminal equipped with.
コンピュータに、
対象ユーザが分類したデータと、そのデータを分類したカテゴリーとを取得するとともに、前記対象ユーザの新たなデータを取得する取得機能と、
前記新たなデータが、前記分類したデータとそのデータを分類したカテゴリーに基づいて、カテゴリーに分類可能であるか否かの第1の判断を下す第1判断機能と、
前記第1の判断により前記新たなデータがカテゴリーに分類可能であると判断された場合に、前記新たなデータを前記対象ユーザが既に分類しているカテゴリーのいずれかに分類する第1の分類を実行する第1分類機能と、
前記第1の判断により前記新たなデータがカテゴリーに分類不可能であると判断された場合に、前記新たなデータのエントロピーを算出する算出機能と、
前記エントロピーが特定の値以上であるか否かの第2の判断を下す第2判断機能と、
前記第2の判断により前記エントロピーが特定の値以上であると判断された場合に、前記新たなデータを、第1のモデルに従ってカテゴリーに分類し、前記第2の判断により前記エントロピーが特定の値未満であると判断された場合に、前記新たなデータを、前記第1のモデルとは異なる第2のモデルに従ってカテゴリーに分類する第2の分類を実行する第2分類機能と、
を実現させる分類プログラム。
On the computer
An acquisition function that acquires the data classified by the target user and the category in which the data is classified, and also acquires new data of the target user.
A first judgment function that makes a first judgment as to whether or not the new data can be classified into a category based on the classified data and the category in which the data is classified.
When it is determined by the first determination that the new data can be classified into a category, the first classification for classifying the new data into one of the categories already classified by the target user is performed. The first classification function to be executed and
A calculation function for calculating the entropy of the new data when it is determined by the first judgment that the new data cannot be classified into a category.
A second judgment function that makes a second judgment as to whether or not the entropy is equal to or higher than a specific value, and
When it is determined by the second judgment that the entropy is equal to or higher than a specific value, the new data is classified into categories according to the first model, and the entropy is a specific value by the second judgment. A second classification function that executes a second classification that classifies the new data into categories according to a second model different from the first model when it is determined to be less than the first model.
A classification program that realizes.
JP2019138687A 2019-07-29 2019-07-29 Classification method for terminal data, terminal, and program Pending JP2021022199A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019138687A JP2021022199A (en) 2019-07-29 2019-07-29 Classification method for terminal data, terminal, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019138687A JP2021022199A (en) 2019-07-29 2019-07-29 Classification method for terminal data, terminal, and program

Publications (2)

Publication Number Publication Date
JP2021022199A true JP2021022199A (en) 2021-02-18
JP2021022199A5 JP2021022199A5 (en) 2022-06-03

Family

ID=74574250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019138687A Pending JP2021022199A (en) 2019-07-29 2019-07-29 Classification method for terminal data, terminal, and program

Country Status (1)

Country Link
JP (1) JP2021022199A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7100917B1 (en) 2021-05-31 2022-07-14 株式会社アルファ・ファイナンシャルプランナーズ Life plan utilization system, life plan utilization method, and life plan utilization program

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012146159A (en) * 2011-01-13 2012-08-02 Fujitsu Ltd Information processing apparatus, method and program
WO2013180121A1 (en) * 2012-05-30 2013-12-05 楽天株式会社 Information processing device, information processing method, information processing program, and recording medium
JP2014056341A (en) * 2012-09-11 2014-03-27 Hitachi Systems Ltd Marketing information sales system
WO2018179411A1 (en) * 2017-03-31 2018-10-04 ファーストアカウンティング株式会社 Accounting system and accounting method
JP2019020980A (en) * 2017-07-14 2019-02-07 ヤフー株式会社 Estimation device, estimation method, estimation program, and model

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012146159A (en) * 2011-01-13 2012-08-02 Fujitsu Ltd Information processing apparatus, method and program
WO2013180121A1 (en) * 2012-05-30 2013-12-05 楽天株式会社 Information processing device, information processing method, information processing program, and recording medium
JP2014056341A (en) * 2012-09-11 2014-03-27 Hitachi Systems Ltd Marketing information sales system
WO2018179411A1 (en) * 2017-03-31 2018-10-04 ファーストアカウンティング株式会社 Accounting system and accounting method
JP2019020980A (en) * 2017-07-14 2019-02-07 ヤフー株式会社 Estimation device, estimation method, estimation program, and model

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
塔娜 他: "レシート情報システムのためのデータベース設計と入力データ処理アルゴリズム ", 電子情報通信学会技術研究報告 LOIS2012−47−LOIS2012−68 ライフインテリジェンス, vol. 第112巻,第379号, JPN6023021764, 10 January 2013 (2013-01-10), JP, pages 85 - 90, ISSN: 0005070075 *
森 信介 他: "予測単位の変更によるn−gramモデルの改善", 電子情報通信学会技術研究報告 NLC97−43〜54 言語理解とコミュニケーション, vol. 第97巻,第440号, JPN6023021765, 12 December 1997 (1997-12-12), JP, pages 35 - 42, ISSN: 0005070076 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7100917B1 (en) 2021-05-31 2022-07-14 株式会社アルファ・ファイナンシャルプランナーズ Life plan utilization system, life plan utilization method, and life plan utilization program
JP2022184208A (en) * 2021-05-31 2022-12-13 株式会社アルファ・ファイナンシャルプランナーズ Life plan utilization system, life plan utilization method, and life plan utilization program

Similar Documents

Publication Publication Date Title
AU2014290339B2 (en) Large scale page recommendations on online social networks
US20190073580A1 (en) Sparse Neural Network Modeling Infrastructure
CN105103084B (en) Change user interface based on position or speed
US20180101540A1 (en) Diversifying Media Search Results on Online Social Networks
US9218568B2 (en) Disambiguating data using contextual and historical information
US10387473B2 (en) Real-time data input correction and facilitation of data entry at point of input
US20210390152A1 (en) Method, system, and non-transitory computer-readable record medium for providing multiple models of federated learning using personalization
US11462018B2 (en) Representative image generation
US20190129672A1 (en) Information processing program, information processing method, and information processing terminal
US11727082B2 (en) Machine-learning based personalization
US20230245247A1 (en) Online Platform for Digital Content via Blockchain
US11829809B2 (en) Method, system, and non-transitory computer-readable record medium for managing event messages and system for presenting conversation thread
JP2022545335A (en) New word classification technology
US10432572B2 (en) Content posting method and apparatus
JP2011192103A (en) Evaluation device, method, and program
JP2021022199A (en) Classification method for terminal data, terminal, and program
JP6998354B2 (en) Search-based collection support methods and computer equipment
US9678748B2 (en) Methods, systems and computer-readable media for managing a local stack
CN112232320B (en) Printed matter text proofreading method and related equipment
US20240233427A1 (en) Data categorization using topic modelling
US20230260309A1 (en) Table extraction from image-based documents
JP6967041B2 (en) Electronic devices, methods, programs and systems for identifier information inference using image recognition models
US20220383144A1 (en) Apparatus and method for predicting status value of service module based on message delivery pattern
JP2021140578A (en) Program of server, information processing method, and server
JP2024080972A (en) Program, method, information processor, and system

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20191023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20191024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220526

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220526

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230728

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20231024

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20240416

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20240425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240722