VR-LLM-AAC

news/2024/9/29 7:18:05

VR-LLM-AAC

方案测试

测试一:汉字聚类

  • hanzi_similar 算法 Github

  • Kmeans 算法

hanzi_similar 通过四角编码,汉字结构,偏旁部首,笔画数来判断两个汉字之间的相似度

将权重调整为

parameter

调高偏旁部首和汉字结构的权重

根据任意两个汉字之间的相似度,通过 Kmeans 算法构建相似度矩阵,取得两两之间边的数值,进行聚类,得到 hanzi_clusters.txt

测试采用随机给出 n 个空,每个空随机分配一个聚类的方法,同时将每一个聚类按照使用频率从大到小排序扔给 ChatGPT 进行选择

generate_prompt_1

结果是无论 3.5-turbo 还是 4o 都不能很好的完成预测,主要问题还是无中生有,假如频率指标没有改善

方案二:音节思路

2024.6.12

spell1

spell2

由于最多有九种组合,尝试在键盘上再加入一行数字,这样打一个字需要操作三下(声母,韵母,选择组合)

例如 \(1 1 1\) 则输入 "ma"

将拼音作为 prompt 扔给 ChatGPT 让它进行预测能达到几乎百分百的效果

InitialConsonantPath = "./spelling/InitialConsonants.txt"
VowelPath = "./spelling/Vowels.txt"def read_file_lines(filename):lines = []with open(filename, 'r') as file:for line in file:lines.append(line.strip()) return linesdef combine(InitialConsonantNumber, VowelNumber, InitialConsonants, Vowels):combinations = ["{}{}".format(InitialConsonant.strip(), Vowel.strip()) for InitialConsonant in InitialConsonants[InitialConsonantNumber].split() for Vowel in Vowels[VowelNumber].split()]return combinationsInitialConsonants = read_file_lines(InitialConsonantPath)
Vowels = read_file_lines(VowelPath)def enter():print(f"声母: {InitialConsonants}\n韵母: {Vowels}\n")message = ""while True:a = int(input()) - 1b = int(input()) - 1combination = combine(a, b, InitialConsonants, Vowels)print(combination)c = int(input()) - 1message += f"{combination[c]} "more = input("是否继续选择?(yes/no): ").lower()if more != "yes":breakreturn messagedef generate_prompt():prompt = ""prompt += f"你是一个擅长中文的汉语言学家,你的汉语发音也十分标准,我将给你一些线索,请你猜测我正在说什么。像你知道的那样,中文的一个汉字由一个声母音节和一个韵母音节构成,例如,\"虐\"的拼音是 \"nve\",一下面我将给出每个字可能的拼音,请你从这些音节中推测出一个字,要保证这些字会连成一我想说的话,逻辑清晰,语意连贯。\n"prompt += f"注意\"/\"代表空韵母\n"prompt += enter()return promptif __name__ == "__main__":a = int(input()) - 1b = int(input()) - 1combination = combine(a, b, InitialConsonants, Vowels)print(combination)c = int(input()) - 1print(combination[c])

ChatGPT 3.5-turbo 预测:

gpt

2024.6.13

上述方法并不能简化按键效率,每个字需要进行三次操作,所以依然考虑只通过按声母韵母进行输入,通过 LLM 预测结果

考虑利用 Pinyin2Hanzi 库 GitHub

pip install Pinyin2Hanzi

这个库提供了检测拼音是否合法,将拼音转变为合法和将拼音转变成汉字等功能

首先将 prompt 生成器和 ChatGPT 接口集成得到类 GeneratorChatBot

基于三者简单实现一个虚拟键盘,实现方法是将所有输入可能性通过 Pinyin2Hanzi 库转化为其最有可能所代表的汉字,将两者合并成询问对扔给 ChatGPT 进行预测

时间复杂度约为 \(O(f(m^n) + C)\),其中 \(m\) 为单个拼音组合数,约为 \(6\), \(n\) 为输入字数,\(f(x), C\) 分别为库处理复杂度常数和询问常数

根据日常生活习惯 \(n\) 极大概率小于 \(10\),而 \(m\) 最大为 \(9\),时间复杂度较为合理

但是由于自身算法原因 \(f, C\) 常数太大,降低了效率

通过实验观察预测效率显著提高,对词语的预测率几乎为百分百,且耗时较短

然而对句子预测依然不准,且太过耗时

期望结果是 ”我想上厕所“

若对句子进行人为断句,则又能成功预测

2024.6.14

不难发现时间复杂度主要是因为 Pinyin2Hanzi 库的算法问题,然而其本身算法我们不能进行修改,所以考虑减少扔进去的数据量

同时已知若进行短句预测准确率能够显著提升,所以我们考虑修改算法

我们希望数据量从 \(m^n\) 缩减为一个常数,考虑每次再句子后面增加一个拼音时便进行检测,并选出最有可能的 \(q\) 组拼音

如此,时间复杂度便降为 \(O(n\times f(q) + C)\),其中我们取 \(q\)\(10\) 增加容错

Pinyin2Hanzi 库中有两种算法,一种基于 viterbi 算法,一种基于 DAG \(+\) 动态规划

前者时间复杂度大但是预测精准,后者时间复杂度极小但是预测较为模糊

基于两种算法的不同特点,我们利用前者在打字时缩减数据量,利用后者预测最终结果

预测准确率十分高,但是大于五个字时每次输入需要等待 \(10s\) 左右

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hjln.cn/news/45468.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

组件/框架设计原则

Windows应用软件开发,会有很多常用的模块,比如数据库、配置文件、日志、后台通信、进程通信、埋点、浏览器等等。下面是目前我们公司windows梳理的部分组件,梳理出来方便大家了解组件概念以及依赖关系:每个应用里,现在或者以后都可能会存在这些模块。以我团队开发的全家桶…

会计科目大白话

会计科目大白话,这样更好理解

Android中EventBus简单使用

综述 消息总线又叫事件总线, 被广泛的应用于各类项目之中. 但是此处只概述Android体系中用到的框架. 为什么项目会需要一个消息总线呢? 一句话概括, 在大多数常见项目中, 随着项目变大, 项目可能出现大量的跨页面, 跨组件, 跨线程, 跨进程来传递消息与数据的需求. 为了更方便的…

记录--N 个值得一看的前端代码片段

🧑‍💻 写在开头 点赞 + 收藏 === 学会🤣🤣🤣在日常的开发过程中,我们都会有一些常用的代码片段,这些代码片段可以直接复制到各个项目中使用,非常方便。如果你有接手过别人的项目,就可以很明显感受到几个项目一般都会有一些相同的工具类方法,这些方法就是之前开…

2024.06 PET父母效能【扩大无问题区】

参考:https://www.jianshu.com/p/1676653be220 PART1:父母也是一个平凡的人,做真实的父母 关注关系,而非问题 父母不需要为每个问题负责 PART2:孩子有问题:积极的倾听,门把手法,让孩子自己发现问题,解决问题接纳孩子,更要接纳自己PART3:父母有问题:面质技巧 1.清楚界…

2024.06PET父母效能

参考:https://www.jianshu.com/p/1676653be220 PART1:父母也是一个平凡的人,做真实的父母 关注关系,而非问题 父母不需要为每个问题负责 PART2:孩子有问题:积极的倾听,门把手法,让孩子自己发现问题,解决问题接纳孩子,更要接纳自己PART3:父母有问题:面质技巧 1.清楚界…

SpringBoot集成devtools实现热部署调试

SpringBoot集成devtools实现热部署调试 简述 参考多篇网上文章终于实现热部署,中间出现过更改的文件已加载,但是并未自动重启的情况。由于判断不出哪些操作时多余的,记录了所有修改项 操作步骤 1.pom文件中增加依赖<dependency><groupId>org.springframework.bo…

【专题】2024绿色供应链白皮书报告合集PDF分享(附原数据表)

原文链接:https://tecdat.cn/?p=36468 原文出处:拓端数据部落公众号 最新的调研数据揭示,大部分企业已经深刻认识到供应链在环境、社会与治理(ESG)领域的重要性,并已经开始付诸实践。尽管如此,企业在供应链ESG的成熟度上仍有显著的进步空间,其中供应链伙伴间的协同合作…