Extraction method for speaker recognition in text based on self-training
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- TENCENT AMERICA LLC
- Filing Date
- 2022-08-04
- Publication Date
- 2026-07-21
Smart Images

Figure CN116529577B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority to U.S. Patent Application No. 17 / 399,574, filed August 11, 2021, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This disclosure generally relates to the field of computing, and more specifically to natural language processing. Background Technology
[0004] Speaker recognition in text aims to identify the speaker of each sentence in texts such as books. Each sentence can correspond to a single speaker, multiple speakers, or an unnamed speaker (e.g., a noun phrase). This task can be divided into several subtasks such as citation recognition, named entity recognition, referential elimination, candidate speaker recognition, and feature-based classification. Summary of the Invention
[0005] The embodiments relate to a method, system, and computer-readable medium for identifying a speaker in a text-based work. According to one aspect, a method for identifying a speaker in a text-based work is provided. The method may include extracting tagged instances and untagged instances corresponding to one or more speakers. A pseudo-label is inferred from the tagged instances based on the extracted untagged instances. One or more untagged instances are tagged based on the inferred pseudo-label.
[0006] According to another aspect, a computer system for identifying a speaker in a text-based work is provided. The computer system may include one or more processors, one or more computer-readable memories, one or more computer-readable tangible storage devices, and program instructions stored on at least one of the one or more storage devices. These program instructions are executed by at least one of the one or more processors via at least one of the one or more memories, thereby enabling the computer system to perform a method. The method may include extracting tagged instances and untagged instances corresponding to one or more speakers; inferring pseudo-tags for the extracted untagged instances based on the tagged instances; and tagging one or more untagged instances based on the inferred pseudo-tags.
[0007] According to yet another aspect, a computer-readable medium is provided for identifying a speaker in a text-based work. The computer-readable medium may include one or more computer-readable storage devices and program instructions stored on at least one of the one or more tangible storage devices, the program instructions being executable by a processor. The program instructions are executable by a processor for performing a method, which accordingly includes: extracting tagged instances and untagged instances corresponding to one or more speakers; inferring pseudo-tags for the extracted untagged instances based on the tagged instances; and tagging one or more tagged instances among the untagged instances based on the inferred pseudo-tags. Attached Figure Description
[0008] These and other objects, features, and advantages will become more apparent from the following detailed description of illustrative embodiments, which will be read in conjunction with the accompanying drawings. Various features in the drawings are not drawn to scale because the drawings are provided for clarity so that those skilled in the art can understand this application in conjunction with the detailed description. In the drawings:
[0009] Figure 1 A networked computer environment according to at least one embodiment is shown;
[0010] Figure 2A It is a framework for extracting a speaker recognition model based on at least one embodiment;
[0011] Figure 2B It is a self-training framework for training a speaker recognition extraction model according to at least one embodiment;
[0012] Figure 3 This is an operation flowchart illustrating the steps performed by a program for identifying a speaker in a text-based work according to at least one embodiment;
[0013] Figure 4 According to at least one embodiment Figure 1 A block diagram of the internal and external components of the computer and server shown;
[0014] Figure 5 It includes, according to at least one embodiment Figure 1 The illustrated block diagram of the computer system shown is a cloud computing environment; and
[0015] Figure 6 According to at least one embodiment Figure 5 A block diagram illustrating the functional layers of an illustrative cloud computing environment. Detailed Implementation
[0016] This document discloses detailed embodiments of the claimed structures and methods; however, it is to be understood that the disclosed embodiments are merely illustrative of the claimed structures and methods, which can be implemented in various forms. These structures and methods may be embodied in many different forms and should not be construed as limited to the exemplary embodiments described herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope to those skilled in the art. Details of well-known features and techniques may be omitted in the specification to avoid unnecessarily obscuring the presented embodiments.
[0017] The embodiments generally relate to the field of computing, and more specifically to natural language processing. The exemplary embodiments described below provide a system, method, and computer program for identifying speakers in text-based works. Thus, some embodiments have the ability to improve the field of computing, allowing computers to determine speakers based on the content of textual works by developing possible pseudo-tags from corpora of known and unknown works.
[0018] As mentioned earlier, speaker recognition in text aims to identify the speaker of each sentence in a text such as a book. Each sentence may correspond to a single speaker, multiple speakers, or an unnamed speaker (e.g., a noun phrase). This task can be divided into several subtasks such as citation recognition, named entity recognition, referential elimination, candidate speaker recognition, and feature-based classification.
[0019] However, each module is inherently imperfect, and unavoidable propagation errors can severely impact the final performance. This task can be viewed as a span extraction task and formulated as a standard Machine Reading Comprehension (MRC) problem to leverage more contextual information. By reformulating this task, the method does not rely on any pre-trained models for other tasks (e.g., named entity recognition and pronoun removal) or predefined character lists, yet achieves state-of-the-art performance on all publicly available Chinese speaker recognition datasets. Furthermore, the method can be easily adapted to other languages without requiring the transfer of dozens of features carefully created or selected by humans for a single language.
[0020] Furthermore, this approach has several limitations. First, each module is inherently imperfect, and unavoidable propagation errors can severely impact final performance. For example, state-of-the-art referential elimination models achieve approximately 80.3% F1 performance. Second, this classic approach assumes that a speaker can only be a single entity, which is not always the case, as this occurs when multiple speakers coexist, as well as unnamed speakers (e.g., "a young girl"). Third, features are often meticulously created and selected by humans, which can make them difficult to apply to other languages. For example, previous research has designed various language-specific features, such as utterance distance, gender matching, speaker names in utterances, speech verbs, etc. Finally, previous speaker recognition methods heavily rely on manually annotated data, which is typically small-scale given the expensive and time-consuming process, and may limit the performance of pre-trained language models with millions of parameters (e.g., BERT) on small-scale speaker recognition datasets.
[0021] Therefore, transforming speaker identification into an extraction machine reading comprehension task that aims to extract spans from a given document to answer a given question can be beneficial. By reformulating the task in this way, intermediate steps such as named entity recognition and referential elimination can be skipped to avoid introducing errors. Furthermore, it may not be necessary to design any language-specific features, thus making this approach easily applicable to other languages. Since spans may not be limited to entities, the model can identify different types or forms of speakers. To overcome the limitations of small-scale, manually annotated data, inspired by the classic self-training paradigm, a large amount of pseudo-labeled data can be generated based on large-scale unlabeled books and used as additional training data, which may also help advanced pre-trained language models achieve better results on this task. The extraction method does not require a given list of candidate speakers but achieves better results than previous state-of-the-art methods on both datasets. Exact Match (EM) can be used as an evaluation metric: a model prediction is considered correct only if it perfectly matches the real data answer. Previous methods used accuracy as an evaluation metric because a candidate list was provided. Since each instance in these datasets must have a basic fact speaker, exact match here can be considered as accuracy.
[0022] This document describes aspects with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer-readable media according to various embodiments. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.
[0023] The exemplary embodiments described below provide a system, method, and computer program for identifying speakers in text-based works. References Figure 1 This diagram illustrates a functional block diagram of a networked computer environment for a speaker recognition system 100 (hereinafter referred to as the "System") used to identify speakers in text-based works. It is understood that... Figure 1 The illustrations provided are merely one example of an implementation and do not imply any limitation on the environments in which different embodiments can be implemented. Many modifications can be made to the depicted environment based on design and implementation requirements.
[0024] System 100 may include computer 102 and server computer 114. Computer 102 may communicate with server computer 114 via communication network 110 (hereinafter referred to as the "network"). Computer 102 may include processor 104 and software program 108, which is stored on data storage device 106 and is capable of communicating with a user interface and with server computer 114. Reference will be made below. Figure 4 The computer 102 discussed may include internal component 800A and external component 900A, and the server computer 114 may include internal component 800B and external component 900B. The computer 102 may be any type of computing device such as a mobile device, telephone, personal digital assistant, netbook, laptop, tablet, desktop computer, or capable of running programs, accessing networks, and accessing databases.
[0025] See below for reference. Figure 5 and Figure 6 The server computer 114 discussed can also run in a cloud computing service model (e.g., Software as a Service (SaaS), Platform as a Service (PaaS), or Infrastructure as a Service (IaaS)). The server computer 114 can also reside in a cloud computing deployment model (e.g., private cloud, community cloud, public cloud, or hybrid cloud).
[0026] The server computer 114, which can be used to identify speakers in text-based works, is capable of running a speaker identification program 116 (hereinafter referred to as the "program") that can interact with the database 112. The following will refer to... Figure 3The speaker recognition procedure method will be explained in more detail. In one embodiment, computer 102 may operate as an input device including a user interface, while program 116 may run primarily on server computer 114. In an alternative embodiment, program 116 may run primarily on one or more computers 102, while server computer 114 may be used to process and store the data used by program 116. It should be noted that program 116 may be a standalone program or may be integrated into a larger speaker recognition procedure.
[0027] However, it should be noted that in some cases, processing of program 116 can be shared between computer 102 and server computer 114 in any proportion. In another embodiment, program 116 may run on more than one computer, server computer, or some combination of computers and server computers, for example, multiple computers 102 communicating with a single server computer 114 via network 110. In another embodiment, for example, program 116 may run on multiple server computers 114 communicating with multiple client computers via network 110. Alternatively, the program may run on a network server that communicates with servers and multiple client computers via a network.
[0028] Network 110 may include wired connections, wireless connections, fiber optic connections, or combinations thereof. Typically, network 110 can be any combination of connections and protocols that support communication between computer 102 and server computer 114. Network 110 may include various types of networks, such as local area networks (LANs), wide area networks (WANs) such as the Internet, telecommunications networks such as the Public Switched Telephone Network (PSTN), wireless networks, public switched networks, satellite networks, cellular networks (e.g., fifth-generation (5G) networks, long-term evolution (LTE) networks, third-generation (3G) networks, code division multiple access (CDMA) networks, etc.), public land mobile networks (PLMNs), metropolitan area networks (MANs), private networks, ad hoc networks, intranets, fiber optic-based networks, etc., and / or combinations of these or other types of networks.
[0029] supply Figure 1 The number and arrangement of devices and networks shown are for illustrative purposes only. In practice, relative to... Figure 1The devices and / or networks shown may include additional devices and / or networks, fewer devices and / or networks, different devices and / or networks, or devices and / or networks arranged differently. Furthermore, Figure 1 The two or more devices shown can be implemented within a single device, or Figure 1 The single device shown can be implemented as multiple distributed devices. Additionally or alternatively, a group of devices in system 100 (e.g., one or more devices) can perform one or more functions described as being performed by another group of devices in system 100.
[0030] refer to Figure 2A This paper illustrates the framework of the speaker recognition model 200A. Since instances in all existing speaker recognition datasets provide utterances from real-data segments, the provided context containing the utterance can be considered a given document, the utterance itself a question, and the real-data speakers appearing in the document can be considered as the answer spans to be extracted. For practical applications where utterance labels are unavailable, the method can be tuned by adding additional training instances. For example, given a text segment that may contain utterances (i.e., including quotation marks), if utterances are indeed present, the speaker can be annotated; otherwise, the content within the quotation marks and tags is labeled as the answer span to be extracted.
[0031] The extracted MRC model can be built on RoBERTa-wwm-ext-large and a pre-trained Chinese language model, which is widely used in many Chinese natural language understanding tasks. It is understood that the disclosed method can be readily applied to other recently released pre-trained language models.
[0032] To construct the input sequence, we can concatenate the Special Class Token (CLS), the token in a given text fragment q that may contain a utterance or a given utterance, the Special Separator Token (SEP), and the token in a given text d that overlays the text fragment q. We introduce two vectors p. start and p end Let represent the estimated probability of each token in d, and let be the start or end token of the answer span 'a' in d, respectively. Let 'a' be... start and a end These represent the start and end offsets of 'a', respectively.
[0033] The extracted MRC model can be obtained by minimizing ∑ t∈V L(t,θ) is used for optimization using parameter θ, where V represents the speaker recognition instance group, and L is defined as:
[0034] L(t,θ)=-logp start,θ (a start |t)-logp end,θ (a end |t)
[0035] refer to Figure 2B The self-training framework 200B for training the speaker recognition extraction model 200A is shown. To achieve end-to-end training, known works can be annotated with speakers (if any). Otherwise, content within quotation marks and other tags may be annotated. Additional works can be annotated as a development set, and further instances can be collected as unlabeled works. At (1), unlabeled speaker recognition extraction instances can be generated from the unlabeled works. At (2), labeled data can be used to train the teacher model. The resulting teacher model can be used to infer pseudo-labels for unlabeled instances. At (3), a student model can be trained using a combination of pseudo-labeled and labeled data. The student model can be considered a new teacher model, and this process can be repeated.
[0036] refer to Figure 3 The flowchart depicts the steps of a method 300 performed by a program that identifies the speaker in a text-based work.
[0037] In step 302, method 300 may include extracting tagged instances and untagged instances corresponding to one or more speakers.
[0038] In step 304, method 300 may include inferring pseudo-labels for extracted unlabeled instances based on the labeled instances.
[0039] In step 306, method 300 may include labeling one or more unlabeled instances among the unlabeled instances based on inferred pseudo-labels.
[0040] Understandable Figure 3 The illustrations provided are merely one example of an implementation and do not imply any limitations on how different implementations can be carried out. Many modifications can be made to the depicted environment based on design and implementation requirements.
[0041] Figure 4 According to an illustrative embodiment Figure 1 The diagram 400 shows the internal and external components of the computer. It is understood that... Figure 4 The illustrations provided are merely one example of an implementation and do not imply any limitation on the environments in which different embodiments can be implemented. Many modifications can be made to the depicted environment based on design and implementation requirements.
[0042] Computer 102 ( Figure 1) and server computer 114 ( Figure 1 ) can include Figure 5 The internal components 800A, 800B and the corresponding groups of external components 900A, 900B shown are illustrated. Each group of internal components 800 includes one or more processors 820, one or more computer-readable RAMs 822, one or more computer-readable ROMs 824 located on one or more buses 826, one or more operating systems 828, and one or more computer-readable tangible storage devices 830.
[0043] Processor 820 is implemented in hardware, firmware, or a combination of hardware and software. Processor 820 is a central processing unit (CPU), graphics processing unit (GPU), accelerated processing unit (APU), microprocessor, microcontroller, digital signal processor (DSP), field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), or other type of processing component. In some embodiments, processor 820 includes one or more processors that can be programmed to perform functions. Bus 826 includes components that allow communication between internal components 800A, 800B.
[0044] One or more operating systems 828, software programs 108 ( Figure 1 ), and server computer 114 ( Figure 1 Speaker recognition program 116 on ) Figure 1 The data is stored in one or more of the respective computer-readable tangible storage devices 830 for execution by one or more processors of the respective processors 820 via one or more of the respective RAMs 822 (which typically include cache memory). Figure 4 In the illustrated embodiment, each computer-readable tangible storage device 830 is a disk storage device of an internal hard disk drive. Alternatively, each computer-readable tangible storage device 830 is a semiconductor storage device, such as ROM 824, EPROM, flash memory, optical disc, magneto-optical disc, solid-state drive, optical disc (Compact Disc, CD), digital versatile disc (DVD), floppy disk, cassette tape, magnetic tape, etc., and / or another type of non-transitory computer-readable tangible storage device capable of storing computer programs and digital information.
[0045] Each set of internal components 800A, 800B also includes an R / W drive or interface 832 for reading and writing to one or more portable computer-readable tangible storage devices 936, such as CD-ROMs, DVDs, Memory Sticks, magnetic tapes, disks, optical discs, or semiconductor storage devices. Such as software programs 108 ( Figure 1 ) and speaker recognition program 116 ( Figure 1The software program can be stored on one or more of the corresponding portable computer-readable tangible storage devices 936, read from and loaded into the corresponding hard disk drive 830 via the corresponding R / W drive or interface 832.
[0046] Each set of internal components 800A, 800B also includes a network adapter or interface 836, such as a TCP / IP adapter card, a wireless Wi-Fi interface card, or a 3G, 4G, or 5G wireless interface card, or other wired or wireless communication links. Software program 108 ( Figure 1 ) and server computer 114 ( Figure 1 Speaker recognition program 116 on ) Figure 1 It can be downloaded from an external computer to computer 102 via a network (e.g., the Internet, a local area network, or other wide area networks) and a corresponding network adapter or interface 836. Figure 1 The network includes a network adapter or interface 836 and a server computer 114. Software program 108 and speaker recognition program 116 on server computer 114 are loaded from the network adapter or interface 836 into the corresponding hard disk drive 830. The network may include copper wire, fiber optic, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers.
[0047] Each set of external components 900A, 900B may include a computer monitor 920, a keyboard 930, and a computer mouse 934. External components 900A, 900B may also include a touchscreen, virtual keyboard, touchpad, pointing device, and other human-machine interface devices. Each set of internal components 800A, 800B also includes a device driver 840 for interfacing with the computer monitor 920, keyboard 930, and computer mouse 934. Device driver 840, R / W driver or interface 832, and network adapter or interface 836 include hardware and software (stored in storage device 830 and / or ROM 824).
[0048] It should be understood beforehand that although this disclosure includes a detailed description of cloud computing, the implementation of the teachings described herein is not limited to a cloud computing environment. Rather, some embodiments can be implemented in conjunction with any other type of computing environment now known or developed hereafter.
[0049] Cloud computing is a service delivery model that enables convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing power, memory, storage, applications, virtual machines, and services) that can be rapidly provisioned and released with minimal management effort or interaction with service providers. This cloud model may include at least five features, at least three service models, and at least four deployment models.
[0050] Its characteristics are as follows:
[0051] On-demand self-service: Cloud consumers can automatically and unilaterally provide computing power (e.g., server time and network storage) as needed without human interaction with service providers.
[0052] Extensive network access: Providing functionality over the network and accessing it through standard mechanisms to facilitate the use of heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
[0053] Resource pooling: A provider's computing resources are pooled to serve multiple consumers using a multi-tenant model, dynamically allocating and reallocating different physical and virtual resources based on demand. There is a sense of location independence; consumers typically have no control or awareness of the exact location of the resources provided, but can specify the location at a higher level of abstraction (e.g., country, state, or data center).
[0054] Rapid and flexible: Features can be delivered quickly and flexibly, in some cases automatically, to scale outwards rapidly and inwards rapidly through rapid release. For consumers, the available features are often virtually unlimited and can be purchased in any quantity at any time.
[0055] Measurement services: By leveraging measurement capabilities at some level of abstraction applicable to service types (e.g., storage, processing, bandwidth, and active user accounts), cloud systems automatically control and optimize resource usage. Resource usage can be detected, controlled, and reported, providing transparency to both service providers and consumers.
[0056] The service model is as follows:
[0057] Software as a Service (SaaS): The functionality provided to consumers is the use of applications running on cloud infrastructure by the vendor. These applications can be accessed from various client devices through thin client interfaces such as web browsers (e.g., web-based email). Consumers do not manage or control the underlying cloud infrastructure (including networks, servers, operating systems, storage, and even individual application functionalities), except perhaps for limited user-specific application configuration settings.
[0058] Platform as a Service (PaaS): This provides consumers with the ability to deploy applications created or acquired by the consumer onto cloud infrastructure. These applications are created using programming languages and tools supported by the provider. Consumers do not manage or control the underlying cloud infrastructure (including networks, servers, operating systems, or storage), but they can control the deployed applications and, if any, the configuration of the application hosting environment.
[0059] Infrastructure as a Service (IaaS): The functionality provided to consumers is the provision of processing, storage, networking, and other basic computing resources on which consumers can deploy and run arbitrary software (which may include operating systems and applications). Consumers do not manage or control the underlying cloud infrastructure, but they can control the operating system, storage, deployed applications, and may have limited control over selected network components (e.g., host firewalls).
[0060] The deployment model is as follows:
[0061] Private cloud: The cloud infrastructure operates for only one organization. It can be managed by that organization or a third party, and it can exist on-site or off-site.
[0062] Community cloud: A cloud infrastructure shared by multiple organizations that supports a specific community with common concerns (e.g., missions, security requirements, policies, and compliance considerations). It can be managed by the organization or a third party and can exist on-site or off-site.
[0063] Public cloud: Cloud infrastructure that is open to the public or large industry groups and is owned by the organization that sells cloud services.
[0064] Hybrid cloud: A cloud infrastructure consisting of two or more clouds (private, community, or public) that remain a single entity but are bound together by standardized or proprietary technologies to enable data and application portability (e.g., cloud bursts for load balancing between clouds).
[0065] Cloud computing environments are service-oriented and focus on statelessness, loose coupling, modularity, and semantic interoperability. At the heart of cloud computing is an infrastructure consisting of a network of interconnected nodes.
[0066] refer to Figure 5 The illustration depicts an illustrative cloud computing environment 500. As shown, the cloud computing environment 500 includes one or more cloud computing nodes 10, with local computing devices used by cloud consumers (e.g., personal digital assistants (PDAs) or cellular phones 54A, desktop computers 54B, laptop computers 54C, and / or automotive computer systems 54N) capable of communicating with the one or more cloud computing nodes 10. The cloud computing nodes 10 can communicate with each other. They can be physically or virtually grouped in one or more networks, such as the private cloud, community cloud, public cloud, or hybrid cloud, or a combination thereof, as described above. This enables the cloud computing environment 500 to provide infrastructure, platform, and / or software as services that cloud consumers do not need to maintain resources on their local computing devices. It should be understood that... Figure 5The types of computing devices 54A-N shown are for illustrative purposes only, and cloud computing node 10 and cloud computing environment 500 can communicate with any type of computerized device via any type of network and / or network-addressable connection (e.g., using a web browser).
[0067] refer to Figure 6 This demonstrates the 500 (cloud computing environment) Figure 5 The provided functional abstraction layer 600 should be understood in advance. Figure 6 The components, layers, and functions shown are for illustrative purposes only, and the embodiments are not limited thereto. As shown, the following layers and corresponding functions are provided:
[0068] The hardware and software layer 60 includes hardware and software components. Examples of hardware components include: a mainframe 61, servers 62 and 63 based on a Reduced Instruction Set Computer (RISC) architecture, blade servers 64, storage devices 65, and networking and networking components 66. In some embodiments, software components include network application server software 67 and database software 68.
[0069] The virtualization layer 70 provides an abstraction layer from which the following examples of virtual entities can be provided: virtual server 71, virtual storage 72, virtual network including virtual private network 73, virtual application and operating system 74, and virtual client 75.
[0070] In one example, management layer 80 can provide the following functionalities: Resource Provisioning 81 provides dynamic procurement of computing resources and other resources used to perform tasks within the cloud computing environment. Metering and Pricing 82 provides cost tracking as resources are used in the cloud computing environment and provides billing or invoicing for the consumption of these resources. In one example, these resources may include application software licenses. Security provides authentication for cloud consumers and tasks and protection for data and other resources. User Access Point 83 provides access to the cloud computing environment for consumers and system administrators. Service Level Management 84 provides cloud resource allocation and management to meet the required service level. Service Level Agreement (SLA) Planning and Enforcement 85 pre-schedules and acquires cloud resources based on the anticipated future demand for cloud resources according to the SLA.
[0071] Workload layer 90 provides examples of functionalities that can be leveraged in a cloud computing environment. Examples of workloads and functionalities that can be provided from the workload layer include: mapping and navigation 91, software development and lifecycle management 92, virtual classroom education delivery 93, data analytics and processing 94, transaction processing 95, and speaker recognition 96. Speaker recognition 96 can identify speakers in text-based works.
[0072] Some embodiments may relate to systems, methods, and / or computer-readable media at any possible level of integration technical detail. A computer-readable medium may include a computer-readable non-transitory storage medium (or medium) having computer-readable program instructions thereon for causing a processor to perform operations.
[0073] Computer-readable storage media can be tangible devices that can retain and store instructions for use by an instruction execution device. Computer-readable storage media can be, but is not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of computer-readable storage media includes the following: portable computer floppy disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM, or flash memory), static random access memory (SRAM), portable optical disc read-only memory (CD-ROM), digital versatile disk (DVD), memory sticks, floppy disks, mechanical encoding devices (e.g., punched cards or raised structures in recesses on which instructions are recorded), and any suitable combination of the foregoing. The computer-readable storage medium used in this document should not be construed as a transient signal, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., optical pulses through fiber optic cables), or electrical signals transmitted through wires.
[0074] The computer-readable program instructions described herein can be downloaded from a computer-readable storage medium to a corresponding computing / processing device, or downloaded to an external computer or external storage device via a network (e.g., the Internet, a local area network, a wide area network, and / or a wireless network). This network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to a computer-readable storage medium within the corresponding computing / processing device.
[0075] Computer-readable program code / instructions used to perform operations can be assembly instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and procedural programming languages such as the "C" programming language or similar programming languages. Computer-readable program instructions can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computer (e.g., via the Internet through an Internet service provider). In some embodiments, electronic circuits including programmable logic circuits, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs) can execute computer-readable program instructions by utilizing the status information of the computer-readable program instructions to personalize the electronic circuits, thereby performing various aspects or operations.
[0076] These computer-readable program instructions may be provided to the processor of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / actions specified in the flowchart and / or one or more block diagram blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can instruct a computer, programmable data processing apparatus, and / or other apparatus to operate in a particular manner, such that the computer-readable storage medium having the instructions stored therein comprises an article of manufacture having the instructions implementing aspects of the functions / actions specified in the flowchart and / or one or more block diagram blocks.
[0077] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device, thereby producing a computer-implemented process, such that the instructions executed on the computer, other programmable apparatus or other device perform the functions / actions specified in the flowchart and / or one or more block diagram blocks.
[0078] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of instructions comprising one or more executable instructions for implementing a specified logical function. The method, computer system, and computer-readable medium may include more blocks, fewer blocks, different blocks, or blocks arranged differently than those shown in the figures. In some alternative implementations, the functions indicated in the blocks may appear in the order indicated in the figures. For example, in fact, two blocks shown consecutively may be executed simultaneously or substantially simultaneously, or these blocks may sometimes be executed in reverse order, depending on the functions involved. It will also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented by a system based on dedicated hardware that performs the specified function or action, or a combination of dedicated hardware and computer instructions.
[0079] It is evident that the systems and / or methods described herein can be implemented in various forms of hardware, firmware, or combinations of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods does not limit these implementations. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to any specific software code. It should be understood that software and hardware can be designed to implement the systems and / or methods based on the descriptions herein.
[0080] Unless explicitly stated otherwise, no element, action, or instruction used herein should be construed as critical or necessary. Furthermore, as used herein, the article “a” is intended to include one or more items and may be used interchangeably with “one or more.” Additionally, as used herein, the term “set” is intended to include one or more items (e.g., related items, unrelated items, a combination of related and unrelated items, etc.) and may be used interchangeably with “one or more.” The term “a” or similar language is used if intended to refer to a single item. Furthermore, as used herein, the terms “having,” “possessing,” “containing,” etc., are intended to indicate open-ended terms. Furthermore, unless explicitly stated otherwise, the word “based on” is intended to mean “at least partially based on.”
[0081] Descriptions of various aspects and embodiments have been given for illustrative purposes, but are not intended to be exhaustive or limiting to the disclosed embodiments. Even though combinations of features are set forth in the claims and / or disclosed in the specification, these combinations are not intended to limit the possible disclosures. In fact, many of these features can be combined in ways not specifically listed in the claims and / or not disclosed in the specification. Although each dependent claim listed below may depend directly on only one claim, possible disclosures include combinations of each dependent claim with each other claim in the claim set. Many modifications and variations will be apparent to those skilled in the art without departing from the scope of the described embodiments. The terminology chosen herein is for the purpose of best explaining the principles of the embodiments, their practical application, or technical improvements to technologies found in the market, or to enable those skilled in the art to understand the embodiments disclosed herein.
Claims
1. A method for identifying a speaker in a text-based work, the method being executed by a processor, comprising: Extract tagged and untagged instances corresponding to one or more speakers; A first model is trained based on the labeled instances, and the first model is a teacher model; The first model is used to infer pseudo-labels for the extracted unlabeled instances; as well as One or more unlabeled instances are labeled based on inferred pseudo-labels; A second model is trained based on pseudo-labeled data and the labeled instances. The second model is a student model. The pseudo-labeled data consists of one or more unlabeled instances among the unlabeled instances. The first model is replaced by the second model, wherein the second model is regarded as a new teacher model after replacing the first model, to repeat the process of inferring pseudo-labels of the extracted unlabeled instances and labeling one or more unlabeled instances among the unlabeled instances based on the inferred pseudo-labels; The context containing the discourse is considered a given document, the discourse is considered a question, and the speaker appearing in the given document is considered the span for extracting the answer; Wherein, the marked instance and the unmarked instance correspond to class tokens, tokens in the first paragraph of text containing utterances, delimiter tokens, and tokens in the second paragraph of text that covers the first paragraph; Two vectors correspond to the estimated probability of each token, which is either the start or end token of the answer span appearing in the second paragraph of text.
2. The method according to claim 1, wherein, The answer span extracted from the given document corresponds to the speaker or quotation.
3. A computer system for identifying a speaker in a text-based work, the computer system comprising: One or more computer-readable non-transitory storage media are configured to store computer program code; as well as One or more computer processors are configured to access and operate as instructed by the computer program code, the computer program code comprising: The extraction code is configured to cause the one or more computer processors to extract tagged and untagged instances corresponding to one or more speakers; Training code is configured to cause the one or more computer processors to train a first model based on the labeled instances, the first model being a teacher model; Inference code is configured to cause the one or more computer processors to use the first model to infer pseudo-labels for extracted unlabeled instances; and The tagging code is configured to cause the one or more computer processors to tag one or more untagged instances among the untagged instances based on inferred pseudo-tags; The training code is further configured to cause the one or more computer processors to train a second model based on pseudo-labeled data and the labeled instances, the second model being a student model, the pseudo-labeled data being one or more unlabeled instances among the unlabeled instances; The replacement code is configured to cause the one or more computer processors to replace the first model with the second model, wherein the second model, after replacing the first model, is regarded as a new teacher model to repeat the process of inferring pseudo-labels for extracted unlabeled instances and labeling one or more unlabeled instances among the unlabeled instances based on the inferred pseudo-labels; the context containing the utterance is regarded as a given document, the utterance as a question, and the speaker appearing in the given document as the extracted answer span; wherein the labeled instances and the unlabeled instances correspond to class tokens, tokens in the first paragraph of text containing the utterance, separator tokens, and tokens in the second paragraph of text covering the first paragraph; two vectors correspond to the estimated probability of each token, the token being the start token or end token of the answer span appearing in the second paragraph.
4. The computer system according to claim 3, wherein, The tagged instances and the untagged instances correspond to speakers or quotations.
5. A non-transitory computer-readable medium having stored thereon a computer program for identifying a speaker in a text-based work, said computer program being configured to cause one or more computer processors to perform the following operations: Extract tagged and untagged instances corresponding to one or more speakers; A first model is trained based on the labeled instances, and the first model is a teacher model; The first model is used to infer pseudo-labels for the extracted unlabeled instances; as well as One or more unlabeled instances are labeled based on inferred pseudo-labels; A second model is trained based on pseudo-labeled data and the labeled instances. The second model is a student model. The pseudo-labeled data consists of one or more unlabeled instances among the unlabeled instances. The first model is replaced by the second model, wherein the second model is regarded as a new teacher model after replacing the first model, to repeat the process of inferring pseudo-labels of the extracted unlabeled instances and labeling one or more unlabeled instances among the unlabeled instances based on the inferred pseudo-labels; The context containing the discourse is considered a given document, the discourse is considered a question, and the speaker appearing in the given document is considered the span for extracting the answer; Wherein, the marked instance and the unmarked instance correspond to class tokens, tokens in the first paragraph of text containing utterances, delimiter tokens, and tokens in the second paragraph of text that covers the first paragraph; Two vectors correspond to the estimated probability of each token, which is either the start or end token of the answer span appearing in the second paragraph of text.
6. The computer-readable medium according to claim 5, wherein, The tagged instances and the untagged instances correspond to speakers or quotations.