CN116432603B - 一种存算一体汉语盲文芯片 - Google Patents
一种存算一体汉语盲文芯片 Download PDFInfo
- Publication number
- CN116432603B CN116432603B CN202310308296.2A CN202310308296A CN116432603B CN 116432603 B CN116432603 B CN 116432603B CN 202310308296 A CN202310308296 A CN 202310308296A CN 116432603 B CN116432603 B CN 116432603B
- Authority
- CN
- China
- Prior art keywords
- braille
- chinese
- word
- module
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 30
- 238000006243 chemical reaction Methods 0.000 claims abstract description 96
- 230000011218 segmentation Effects 0.000 claims abstract description 88
- 239000011159 matrix material Substances 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 6
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 229910052710 silicon Inorganic materials 0.000 claims description 2
- 239000010703 silicon Substances 0.000 claims description 2
- 238000004088 simulation Methods 0.000 description 16
- 238000012360 testing method Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000013519 translation Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000007704 transition Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 230000018109 developmental process Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 201000009487 Amblyopia Diseases 0.000 description 1
- 201000004569 Blindness Diseases 0.000 description 1
- 108091026890 Coding region Proteins 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B21/00—Teaching, or communicating with, the blind, deaf or mute
- G09B21/001—Teaching or communicating with blind persons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Business, Economics & Management (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明公开了一种存算一体汉语盲文芯片,包括输入FIFO模块、字符类型判断模块、中文分词模块,中文‑盲文转换模块、非中文‑盲文转换模块、Flash读写控制器、DRAM存储模块、点阵信息转换模块、输出FIFO模块,该芯片依据盲文芯片的工作原理,采用了存算一体存储架构,将文本到盲文翻译过程中数据反复往返的盲文对照表设置于DRAM DRAM存储模块,进行存算一体处理,从而能够消除总线和数据带宽的浪费,大大降低响应延迟,减少了数据读取和运算的时间。同时提高了并行化执行的吞吐率。
Description
技术领域
本发明属于自然语言处理智能芯片领域,尤其涉及一种存算一体汉语盲文芯片。
背景技术
盲文或称点字、凸字,是专为盲人设计、靠触觉感知的文字。透过点字板、点字机、点字打印机等在纸张上制作出不同组合的凸点而组成,一般每一个方块的点字是由六点组成,左侧从上到下为123,右侧为456,叫一方。
盲文对视力障碍人士的教育、言论和意见自由、信息获取和社会包容至关重要。其作为学习和交流手段,对于充分实现盲人和弱视者人权方面具有不可替代的重要性。而在知识爆炸且快速迭代的信息时代,传统纸质盲文由于制造成本高、更新周期长、信息承载量少、体积大且笨重等诸多固有缺陷,难以满足信息时代信息传播的需求,严重阻碍了视障群体的成才和就业。在此情况下,盲文数字化显得尤为重要。
目前,盲文数字化大部分依赖于计算机和盲文显示设备,例如专利文献CN102881195A公开的盲文学习机和专利文献CN114627730A公开的盲文电子书,这些设备无法做到在公共场合中便捷的、高效的应用。文字与盲文之间的转换是盲文数字化的关键环节,大多依靠软件和云计算来实现,该方法难以实现体积小、便携带、功耗低等使用需求,不适用于公交站、地铁站等人流量大、信号差的环境。同时汉盲转换过程中存在多音字混淆、盲文处理规则复杂、处理效率低等问题,对大数据文本无法实现实时转换。此外通过硬件方式实现汉盲转换的方向仍是一片空白。
发明内容
鉴于上述,本发明的目的是提供一种存算一体汉语盲文芯片,用于汉语盲文的边缘计算,为汉语盲文信息无障碍提供算力支持。
为实现上述发明目的,实施例提供的一种存算一体汉语盲文芯片,
输入FIFO模块,用于存储接收的汉字并进行字符转换;
字符类型判断模块,用于区分汉字字符与非汉字字符;
中文分词模块,用于对汉字字符进行分词得到分词结果;
中文-盲文转换模块,用于查找与分词结果匹配的盲文点序数据;
非中文-盲文转换模块,用于将非汉字字符转换为盲文点序数据;
Flash读写控制器,用于从外部存储器中读取词库和盲文对照表并写入DRAM存储模块;
DRAM存储模块,存储有词库和盲文对照表,用于根据词库为从分词模块传入的待匹配词组进行词语匹配,将匹配的词语作为分词结果送入分词模块,还用于根据盲文对照表为从中文-盲文转换模块传入的分词结果进行盲文点序数据匹配,并将匹配的盲文点序数据送入中文-盲文转换模块;
点阵信息转换模块,用于将盲文点序数据按顺序进行拼接并添加空方;
输出FIFO模块,用于存储经过点阵信息转换模块转换的盲文点序数据并输出。
优选地,所述中文分词模块采用逆向最大匹配算法对汉字字符进行分词。
优选地,所述词库基于JieBa词库中隐马尔科夫模型词库建立,并以Unicode码存储词条数据。
优选地,所述中文-盲文转换模块将分词结果划分为单字和多字两种情况进行处理,当分词结果为单字时,根据DRAM存储模块中的单字盲文对照表在在词库中的初始地址和Unicode码数据计算出盲文的目标地址,即得到单字对应的盲文点序数据。
优选地,当分词结果为多字时,需要对比盲文对照表中的中文Unicode编码部分,将由多字组成的词组、词组在词库中的地址范围和词长送入DRAM存储模块,在DRAM存储模块中与盲文对照表中的Unicode编码部分进行比较,若匹配成功,根据当前词组在词库中的地址计算对应的盲文的目标地址,并取出盲文点序数据。
优选地,所述DRAM存储模块包括计算与控制层和DRAM存储层用,两层之间以硅通孔技术实现电气连接,DRAM存储层使用DRAM来存储分词词库和盲文对照表,计算与控制层用于实现对DRAM中数据的读写和匹配计算。
优选地,当由中文分词模块输入分词时,计算与控制层依照待匹配词组的长度判断词库中目标地址范围,并从中选取地址,将待匹配词组与选取地址的词组进行比较运算,若词组相等表示匹配成功,输出匹配地址与成功信号;否则使用二分法进行地址变换,继续进行比较运算,若当前地址超出目标地址范围,则匹配失败,输出错误信号,提示中文分词模块进行后续工作。
优选地,当由中文-盲文转换模块输入分词结果时,计算与控制层依照分词结果的长度判断盲文的目标地址范围,并从中选取地址,将分词结果通过盲文对照表与选取地址的盲文进行比较运算,若分词结果与盲文对照表中的中文部分相等表示匹配成功,输出盲文地址与成功信号;否则使用二分法进行地址变换,继续进行比较运算,若当前地址超出目标地址范围,则匹配失败,输出错误信号,提示中文-盲文转换模块进行后续操作。
与选取地址的盲文词条进行比较运算,若分词结果与盲文词条中的中文部分相等表示匹配成功
优选地,所述点阵信息转换模块中,将中文-盲文转换模块和/或非中文-盲文转换模块获得盲文点序数据进行整合,并由低到高每6位截取出一方盲文点序数据,高位补零,同时根据字符类型判断和分词结果,在每次盲文转换得到的盲文点序数据后插入空方,然后按照文本数据将盲文点序数据按顺序拼接。
优选地,所述非中文-盲文转换模块通过选择器实现非汉字字符到盲文点序数据的转换;
所述的Flash读写控制器通过SPI接口与外界进行数据交互。
与现有技术相比,本发明具有的有益效果至少包括:
依据盲文芯片的工作原理,采用了存算一体存储架构,将文本到盲文翻译过程中数据反复往返的盲文对照表设置于DRAM存储模块,进行存算一体处理,从而能够消除总线和数据带宽的浪费,大大降低响应延迟,减少了数据读取和运算的时间。同时提高了并行化执行的吞吐率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。
图1是实施例提供的存算一体汉语盲文芯片的结构示意图;
图2是实施例提供的存算一体汉语盲文芯片在进行汉语盲文匹配的流程图;
图3是实施例提供的中文分词状态转换图;
图4是实施例提供的盲文转换状态转换图;
图5是实施例提供的DRAM存储模块的结构示意图;
图6是实施例提供的通用盲文表的数据结构;
图7是实施例提供的分词模块的仿真结果;
图8是实施例提供的中文-盲文转换模块的仿真结果;
图9是实施例提供的Flash读操作的仿真结果。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
图1是实施例提供的存算一体汉语盲文芯片的结构示意图。如图1所示,实施例提供的存算一体汉语盲文芯片包括输入FIFO模块、字符类型判断模块、中文分词模块、中文-盲文转换模块、非中文-盲文转换模块、Flash读写控制器、DRAM存储模块、点阵信息转换模块、输出FIFO模块,其中,输入FIFO模块用于存储接收的汉字并进行字符转换,字符类型判断模块用于区分汉字字符与非汉字字符,中文分词模块用于对汉字字符进行分词得到分词结果,中文-盲文转换模块用于查找与分词结果匹配的盲文点序数据,非中文-盲文转换模块用于将非汉字字符转换为盲文点序数据,Flash读写控制器用于从外部存储器中读取词库和盲文对照表并写入DRAM存储模块,DRAM存储模块存储有词库和盲文对照表,用于根据词库为从分词模块传入的待匹配词组进行词语匹配,将匹配的词语作为分词结果送入分词模块,还用于根据盲文对照表为从中文-盲文转换模块传入的分词结果进行盲文点序数据匹配,并将匹配的盲文点序数据送入中文-盲文转换模块;点阵信息转换模块用于将盲文点序数据按顺序进行拼接并添加空方;输出FIFO模块用于存储经过点阵信息转换模块转换的盲文点序数据并输出。该存算一体汉语盲文芯片能够实现汉语盲文的边缘计算,为汉语盲文信息无障碍提供算力支持。
实施例中,存算一体汉语盲文芯片通过串口协议与外界通信,串口协议采用10bit的数据传输格式,即1bit起始位+8bit数据位+1bit停止位。外部输入的汉字以Unicode码表示,输入FIFO模块为了适应16位的Unicode编码,设置其宽度为16bit,存储深度为256个,输入的Unicode码在输入FIFO模块中经过字符拼接并由8位转换为16位。
实施例中,字符类型判断模块主要用于对输入FIFO模块存储的字符进行类型判断,将字符区分为汉字字符与非汉字字符,并按顺序缓存字符数据。
实施例中,中文分词模块主要负责对汉字字符进行分词,分割出拼音和语义正确、便于盲人理解,且符合盲文分词连写规则的分词结果,以方便后续进行盲文转换和显示。其中,分词结果包括单字以及由多字组成的词组。研究表明,中文的信息重心习惯放在句末。且词汇长度决定了词汇所包含的信息量,词汇越长,信息量越大。基于该两点因素,本发明选用了逆向最大匹配算法进行中文分词,解决多音字的识别问题。本发明使用的分词词库是基于JieBa词库中的隐马尔科夫模型词库建立的,为降低算法复杂度,确保硬件能够准确高效地识别和对比字符,本发明以Unicode码存储词条数据,每个汉字为一个字符,占据2Byte空间。如表1所示是分词词库的词条统计,在词库中,以词条长度分类,每个词条按编码顺序进行排列。考虑盲人不便摸读过长的词汇,人为限定最大词长为8字(16Byte)。
表1分词词库词条统计
中文分词模块的状态转换过程如图3所示。当输入使能信号有效时(word_en=1'b1),状态机由空闲状态进入字符串截取状态。在该字符串截取状态,判断待匹配字符串的长度,若只有一个字符(word_len=16′d1),直接进入单字节字符状态,寄存数据内容并转入盲文转换状态;否则,进入n字节字符匹配状态,由低位向高位截取出16×nbit数据。等待一个时钟周期后进入匹配结果状态,在该匹配结果状态将上一阶段截取的数据传输给DRAM存储模块进行词组匹配:若存在匹配词组,则输出匹配成功信号,match_result=1'b1,同时word_len自减匹配词长,并进入盲文转换状态;否则match_error=1'b1,返回字符串截取状态,word_len自减1,继续进行状态转换,直到单字符状态。
在盲文转换状态调用中文-盲文转换模块,实现盲文翻译功能,即中文到盲文的转换功能。并进入在盲文数据拼接状态,将上一状态的盲文点序数据与历史盲文点序数据进行拼接,合成完整的盲文点序数据。同时判断翻译是否结束,若word_len>0,则进入字符串截取状态,继续进行翻译过程;否则当word_len=0时,本次汉-盲转换结束,等待下次输入汉字数据。
实施例中,中文-盲文转换模块用于接收分词结果,并将分词结果中包含的词汇翻译成匹配的盲文数据盲文点序数据。为解决多音字的盲文转换问题,中文-盲文转换模块将分词结果划分为单字和多字两种情况进行处理。当分词结果为单字时,由于盲文对照表中单字的Unicode码是连续的,这意味着单字盲文对照表在存储器中可以顺序、有规律地进行存储。此时,根据单字盲文对照表的单字在词库中的初始地址和Unicode码数据计算出盲文的目标地址,即可得到单字对应的盲文点序数据。
若分词结果为多字,需要对比盲文对照表中的中文Unicode编码部分,进而获取盲文方数和点序数据,状态转换图如图4所示。当翻译使能时(braille_en=1'b1),由空闲状态进入判断字长状态,根据待转换词组的长度判断下一状态,若word_len>1,进行多字转换状态。在多字转换状态时依照待翻译词组的字节长度判断对比查找的地址范围,并进入Mem获取数据状态,将由多字组成的词组、词组在词库中的地址范围和词长送入DRAM存储模块,在DRAM存储模块中与盲文对照表中的Unicode编码部分进行比较。若匹配成功,根据当前词组在词库中的地址计算对应的盲文的目标地址,并取出盲文点序数据;否则认为该词组没有多音、同音等情况,按单字转换的思路进行截取和转换。
实施例中,非中文-盲文转换模块用于将非汉字字符(数字、英文字母、标点符号等)转换为盲文点序数据。这类非汉字字符符号与盲文点序数据间存在映射关系,使用选择器即可实现映射功能完成非汉字字符到盲文点序数据的映射。
汉盲转换芯片需要大容量的存储空间,用于存储分词所需的词库数据和汉盲转换需要的盲文表。若使用SPI接口的外设存储器进行读写实现数据查表和匹配,将会耗费大量时钟周期在地址传输和数据传输过程中。如对4字词汇,在最悲观的情况下,需要进行log2(84894)+1=17次;地址变换和数据读取过程;读一次数据,需要24+4×16=88个时钟周期。对4字词汇进行匹配,至多需要17×88=1496个时钟周期。因此,盲文对照表和词库的存储和读取成为限制汉盲转换速度和效率的重要因素。
为解决该问题,芯片中设有DRAM存储模块,DRAM存储模块采用近存储计算结构进行数据存储和计算,如图5所示,DRAM存储模块包括计算与控制层和DRAM存储层用,两层之间以硅通孔(Through-Silicon-Via,TSV)技术实现电气连接,这样通过降低互联线的长度、增加并行带宽来提升系统的能效与性能。DRAM是一种易失性存储器,由MOS管和电容组成,在工作时需要不断进行刷新,防止数据丢失。DRAM存储层使用DRAM来存储分词词库和盲文对照表,计算与控制层用于实现对DRAM中数据的读写和匹配计算。系统上电后进行初始化,从外部flash读入词库和盲文对照表的数据,并将数据写入DRAM中。
当由中文分词模块输入分词时,计算与控制层依照待匹配词组的长度判断词库中目标地址范围,并从中选取地址,将待匹配词组与选取地址的词组进行比较运算,若词组相等表示匹配成功,输出匹配地址与成功信号;否则使用二分法进行地址变换,继续进行比较运算,若当前地址超出目标地址范围,则匹配失败,输出错误(error)信号,提示中文分词模块进行后续工作。
当由中文-盲文转换模块输入分词结果时,计算与控制层依照分词结果的长度判断盲文的目标地址范围,并从中选取地址,将分词结果通过盲文对照表与选取地址的盲文进行比较运算,若分词结果与盲文对照表中的中文部分相等表示匹配成功,输出盲文地址与成功信号;否则使用二分法进行地址变换,继续进行比较运算,若当前地址超出目标地址范围,则匹配失败,输出错误(error)信号,提示中文-盲文转换模块进行后续操作。
实施例中,由于DRAM是易失性存储器,掉电后无法保存数据,Flash读写控制器能够保证芯片工作时DRAM中的数据正常,需要在上电后进行初始化,从外部存储器中读取数据并写入DRAM中,该过程结束后芯片才可正常工作。实施例采用Flash作为外部存储器,与盲文芯片通过SPI接口进行数据交互。Flash用于存储分词的词库和用于盲文查找的盲文对照表,图6所示是通用盲文表的数据结构,其中虚线框的数据是6点盲文的数量,左侧是汉字的Unicode编码,右侧是HEX格式的盲文点序。Flash运行时,需要严格遵守Flash的时序控制信号。本发明主要使用的指令是读数据指令03H,执行数据读取时拉低片选信号/CS,按顺序发送读指令、3字节首地址,读取得到Flash中的词库和盲文对照表数据并将写入DRAM存储模块中。
实施例中,点阵信息转换模块用于将中文-盲文转换模块与非中文-盲文转换模块输出的盲文点序数据进行处理。经过盲文转换的盲文点序数据是连续的16进制无符号数,在实际应用时盲人无法对这类数据进行阅读和理解。因此,在实际设计时,需要对盲文转换的结果进行处理,生成可阅读的点序用来驱动点显器显示盲文。当由中文-盲文转换模块和/或非中文-盲文转换模块获得盲文点序数据时,对数据进行整合,由低到高每6位截取出一方盲文点序数据,高位补零,得到8bit的串口传输数据。同时,根据字符类型判断和分词结果,在每次盲文转换得到的盲文点序数据后插入8bit的0数据,作为一个空方。然后,按照文本数据将盲文点序数据按顺序拼接并写入输出FIFO模块中,得到最终的汉盲转换结果。
实施例中,依据如图2所示的汉语盲文匹配转换的工作原理,采用存算一体存储架构,将所有模块进行组合,减少了数据读取和运算的时间。
实施例中,还对各个模型进行仿真以进行验证,若翻译结果正确,则模块化设计完成。采用Verilog HDL硬件描述语言在Xilinx公司提供的vivado开发工具中规划其内部电路,使用第三方软件Modelsim进行功能仿真。仿真测试时,从测试程序中产生初始配置信号,向系统中输入文本数据和起始信号,输出翻译完成的盲文数据。
分词模块的仿真结果如图7所示,部分周期由于信号未发生变化,在图7中折叠未显示。从仿真结果可以得到,当写数据使能时,向分词模块写入字符数据和字符长度,一次最多可输入16个字符。本次仿真输入3个字符,有效数据为903B8F9195E8h(即“逻辑门”的Unicode码,以小端模式进行存储)。一个周期后进行字符串截取和状态跳转,由于本次输入字符小于8字节,直接进行3字节字符匹配状态。分词词库中没有“逻辑门”词条,match_error使能一个周期,后进行2字节字符匹配状态,由低位向高位截取两字节数据8F9195E8h进行匹配。与前一步相同,词库中没有“辑门”词条,match_error使能并进入单字节状态,截取出待翻译的数据0x95E8并调用汉盲中文-盲文转换模块,得到盲文数据0x0B0B。转换完成后还剩2字节数据,进行字符串截取和2字节字符匹配,匹配成功后match_result使能一周期并进行盲文转换,将盲文数据进行拼接,得到盲文数据E2A436510B0Bh。
为进一步测试分词模块的功能,还选取了两组长句进行仿真测试,测试结果如下:
示例1:FPGA是一种半定制的现场可编程逻辑门阵列
分词结果:FPGA|是|一种|半定制|的|现场|可编程|逻辑|门阵列
示例2:存算一体架构将存储与计算功能相结合
分词结果:存算|一体|架构|将|存储|与|计算|功能|相结合
经分析,使用逆向最大匹配分词可有效对中文语句进行分词,结果符合断句规则和人的阅读习惯。其中示例1的长句由字符类型判断模块进行了初步分割,得到两组不同类型的字符串,方便执行中文-盲文转换或非中文-盲文转换。除上述条件外,在分词过程中还考虑了因多音字造成的转换错误。现行盲文的标调率极低,在实际应用中如果遇到多音字,盲人需要依照上下文猜测读音,这会降低盲人摸读的效率。为解决该问题,在分词过程中就将含有多音字的词组作为一个整体进行切分,然后进行盲文转换,得到正确的盲文点序。
图8是中文-盲文转换模块的仿真结果,以上一步分词的结果903B8F91h(即“逻辑”的Unicode码)作为输入。从仿真结果可看出,当调用该模块且输入信号data_en使能时,将多字节数据发送给DRAM存储模块,与盲文对照表数据进行匹配。在盲文对照表中,不存在“逻辑”的词条,则认定该词汇没有多音、多调等特殊情况,多字节转换失败,braille_error_dn使能一个周期。随后进行单字转换,由高位向低位截取16bit数据,按顺序进行盲文转换和拼接,得到完整的盲文数据000E2A436510h,braille_result_d1使能一个周期,本次盲文转换结束,等待下一次转换。
为更深入测试中文-盲文转换模块的功能,进行多音字转换测试,结果如表2所示:
表2多音字汉盲转换结果
实施例还选取了4种典型的多音字进行仿真测试,分别为:声母不同,即“dàn”和“tán”;韵母不同,即“mó”和“mú”;声韵母不同,即和/>以及声调不同,即“gān”和“gàn”。经过仿真测试和分析,该中文-盲文转换模块可有效地识别和区分多音字,减少因多音字混淆导致的汉盲转换错误。
图9所示为Flash读写控制器的仿真结果。由仿真结果可知,当spi_cs拉低时进行数据传输,顺序写入读指令03h、读地址000000h,随后由spi_miso输出数据。系统接收到数据后,按位将数据存入移位寄存器rx_data;一次获得8bit数据,rx_data_vld使能一个周期,同时输出rx_data中的数据并进行下一次的数据接收。读Flash时序仿真结果符合Flash手册要求,且读出的数据与Flash模型数据一致。
为测试芯片的整体功能,对示例1和示例2的两组长句进行测试,测试结果如表3所示所示。从表3中可以看出,实施例提供的存算一体汉语盲文芯片可进行准确地中文分词,得到符合阅读需求的分词结果。分词完成后,实现汉盲转换功能,得到连续的0/1点序,在测试时盲文点序以16进制进行输出。通过分析,这两组语句的汉盲转换结果符合现行盲文的规则,芯片也可实现对英文字母的盲文转换。最终翻译结果正确,则设计完成。
表3长语句汉盲转换结果
上述实施例提供的存算一体汉语盲文芯片,提高执行能力,优化流程,减少汉盲转换的时间,同时降低各类盲文数字化设备的设计时间,推进盲文数字化发展。该存算一体汉语盲文芯片可以广泛应用于各种嵌入式场合和盲人使用的环境中,便捷、高效地生成海量盲文数字化资源,有效降低开发成本、缩短开发流程、提高开发效率,具有较高的实用性。
以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种存算一体汉语盲文芯片,其特征在于,包括:
输入FIFO模块,用于存储接收的汉字并进行字符转换;
字符类型判断模块,用于区分汉字字符与非汉字字符;
中文分词模块,用于对汉字字符进行分词得到分词结果;
中文-盲文转换模块,用于查找与分词结果匹配的盲文点序数据;
非中文-盲文转换模块,用于将非汉字字符转换为盲文点序数据;
Flash读写控制器,用于从外部存储器中读取词库和盲文对照表并写入DRAM存储模块;
DRAM存储模块,存储有词库和盲文对照表,用于根据词库为从分词模块传入的待匹配词组进行词语匹配,将匹配的词语作为分词结果送入分词模块,还用于根据盲文对照表为从中文-盲文转换模块传入的分词结果进行盲文点序数据匹配,并将匹配的盲文点序数据送入中文-盲文转换模块;
点阵信息转换模块,用于将盲文点序数据按顺序进行拼接并添加空方;
输出FIFO模块,用于存储经过点阵信息转换模块转换的盲文点序数据并输出;
所述DRAM存储模块包括计算与控制层和DRAM存储层,两层之间以硅通孔技术实现电气连接,DRAM存储层使用DRAM来存储分词词库和盲文对照表,计算与控制层用于实现对DRAM中数据的读写和匹配计算;
当由中文分词模块输入分词时,计算与控制层依照待匹配词组的长度判断词库中目标地址范围,并从中选取地址,将待匹配词组与选取地址的词组进行比较运算,若词组相等表示匹配成功,输出匹配地址与成功信号;否则使用二分法进行地址变换,继续进行比较运算,若当前地址超出目标地址范围,则匹配失败,输出错误信号,提示中文分词模块进行后续工作;
当由中文-盲文转换模块输入分词结果时,计算与控制层依照分词结果的长度判断盲文的目标地址范围,并从中选取地址,将分词结果通过盲文对照表与选取地址的盲文进行比较运算,若分词结果与盲文对照表中的中文部分相等表示匹配成功,输出盲文地址与成功信号;否则使用二分法进行地址变换,继续进行比较运算,若当前地址超出目标地址范围,则匹配失败,输出错误信号,提示中文-盲文转换模块进行后续操作。
2.根据权利要求1所述的存算一体汉语盲文芯片,其特征在于,所述中文分词模块采用逆向最大匹配算法对汉字字符进行分词。
3.根据权利要求1所述的存算一体汉语盲文芯片,其特征在于,所述词库基于JieBa词库中隐马尔科夫模型词库建立,并以Unicode码存储词条数据。
4.根据权利要求1所述的存算一体汉语盲文芯片,其特征在于,所述中文-盲文转换模块将分词结果划分为单字和多字两种情况进行处理,当分词结果为单字时,根据DRAM存储模块中的单字盲文对照表在在词库中的初始地址和Unicode码数据计算出盲文的目标地址,即得到单字对应的盲文点序数据。
5.根据权利要求1所述的存算一体汉语盲文芯片,其特征在于,当分词结果为多字时,需要对比盲文对照表中的中文Unicode编码部分,将由多字组成的词组、词组在词库中的地址范围和词长送入DRAM存储模块,在DRAM存储模块中与盲文对照表中的Unicode编码部分进行比较,若匹配成功,根据当前词组在词库中的地址计算对应的盲文的目标地址,并取出盲文点序数据。
6.根据权利要求1所述的存算一体汉语盲文芯片,其特征在于,所述点阵信息转换模块中,将中文-盲文转换模块和/或非中文-盲文转换模块获得盲文点序数据进行整合,并由低到高每6位截取出一方盲文点序数据,高位补零,同时根据字符类型判断和分词结果,在每次盲文转换得到的盲文点序数据后插入空方,然后按照文本数据将盲文点序数据按顺序拼接。
7.根据权利要求1所述的存算一体汉语盲文芯片,其特征在于,所述非中文-盲文转换模块通过选择器实现非汉字字符到盲文点序数据的转换;
所述的Flash读写控制器通过SPI接口与外界进行数据交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310308296.2A CN116432603B (zh) | 2023-03-27 | 2023-03-27 | 一种存算一体汉语盲文芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310308296.2A CN116432603B (zh) | 2023-03-27 | 2023-03-27 | 一种存算一体汉语盲文芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116432603A CN116432603A (zh) | 2023-07-14 |
CN116432603B true CN116432603B (zh) | 2023-10-13 |
Family
ID=87089991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310308296.2A Active CN116432603B (zh) | 2023-03-27 | 2023-03-27 | 一种存算一体汉语盲文芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116432603B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105404621A (zh) * | 2015-09-25 | 2016-03-16 | 中国科学院计算技术研究所 | 一种用于盲人读取汉字的方法及系统 |
CN107368474A (zh) * | 2017-07-07 | 2017-11-21 | 浙江理工大学 | 一种汉文到盲文的自动高效翻译转换方法 |
CN109241540A (zh) * | 2018-08-07 | 2019-01-18 | 中国科学院计算技术研究所 | 一种基于深度神经网络的汉盲自动转换方法和系统 |
CN112308222A (zh) * | 2020-10-27 | 2021-02-02 | 之江实验室 | 一种基于rram存算一体全系统模拟器及其设计方法 |
-
2023
- 2023-03-27 CN CN202310308296.2A patent/CN116432603B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105404621A (zh) * | 2015-09-25 | 2016-03-16 | 中国科学院计算技术研究所 | 一种用于盲人读取汉字的方法及系统 |
CN107368474A (zh) * | 2017-07-07 | 2017-11-21 | 浙江理工大学 | 一种汉文到盲文的自动高效翻译转换方法 |
CN109241540A (zh) * | 2018-08-07 | 2019-01-18 | 中国科学院计算技术研究所 | 一种基于深度神经网络的汉盲自动转换方法和系统 |
CN112308222A (zh) * | 2020-10-27 | 2021-02-02 | 之江实验室 | 一种基于rram存算一体全系统模拟器及其设计方法 |
Non-Patent Citations (1)
Title |
---|
阿里达摩院存算一体AI芯片打破存储与计算的"隔阂";张一迪;中国电子报;第1页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116432603A (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0180888A2 (en) | Method and apparatus for natural language processing | |
CN102929865B (zh) | 一种用于中文和东盟各国语言互译的pda翻译系统 | |
CN111950301A (zh) | 一种中译英的英语译文质量分析方法及系统 | |
CN111553157A (zh) | 一种基于实体替换的对话意图识别方法 | |
CN116432603B (zh) | 一种存算一体汉语盲文芯片 | |
Lu | Computers and Chinese writing systems | |
JP3532780B2 (ja) | 音声仮名文字の入力順序を生成するための入力システム | |
CN111488423B (zh) | 一种基于索引数据的自然语言处理方法和系统 | |
JP5454763B2 (ja) | 文の対中の単語対応付装置及びそのコンピュータプログラム | |
Wang et al. | Accurate Braille-Chinese translation towards efficient Chinese input method for blind people | |
CN100561469C (zh) | 创建和使用中文语言数据和用户自纠正数据的方法和系统 | |
Rapp | A Part-of-Speech-Based Search Algorithm for Translation Memories. | |
CN112784227A (zh) | 基于口令语义结构的字典生成系统及方法 | |
CN111428509A (zh) | 一种基于拉丁字母的维吾尔语处理方法和系统 | |
KR100463376B1 (ko) | 원시언어를 대상언어로 번역하기 위한 번역엔진 장치 및 그 번역방법 | |
JP3622841B2 (ja) | かな漢字変換装置およびかな漢字変換方法 | |
CN116306607B (zh) | 一种多语种混合语料生成方法、装置、设备和存储介质 | |
JPS6217794B2 (zh) | ||
Yang et al. | Automatic error detection and correction of text: The state of the art | |
JP2862236B2 (ja) | 文字処理装置 | |
JPS646499B2 (zh) | ||
Lu et al. | A Context-Free Spelling Correction Method for Classical Mongolian | |
Lin et al. | A Tibetan input method based on syllable word for mobile phone | |
CN114758648A (zh) | 一种语音语料的处理方法及装置 | |
JPS5832418B2 (ja) | 漢字まじり文入力装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |