完全使用GPT写的词库生成软件,支持百度、搜狗、手心输入法

查看 121|回复 11
作者:ZakaryTime   
一直以来想维护一个自己的联系人以及专业词库,每个输入法的词库格式不同。最开始使用Excel进行生成,感觉很麻烦,于是使用AI和Python搞一个脚本,实在没想到AI如此强大,写出来的脚本就没报过错,功能也完全符合预期。于是分享给大家,一是分享给对于词库和我有同样需求的人,二是希望大家都能够使用Ai编写自己需要的脚本。
脚本只经过了初步测试,符合我自己的需求,有其他需求请自行修改(也是一个学习的过程),Bug能修就修,修不了我也没办法。
脚本功能:遍历data目录下的所有文件(忽略-开头的文件),并根据输入的命令行参数输出手心输入法、搜狗输入法、百度输入法词库。支持多音字。
命令行参数:baidu、sougou、shouxin
PS:data目录下的文件编码为UTF-8,每一行一个词。
[Github地址](https://github.com/MisterZakary/input_method_thesaurus_generation/blob/main/main.py)
代码如下
```Python
# 脚本功能:遍历data目录下的所有文件(忽略-开头的文件),并根据输入的命令行参数输出手心输入法、搜狗输入法、百度输入法词库。支持多音字。
# 命令行参数:baidu、sougou、shouxin
# data目录下的文件编码为UTF-8,每一行一个词
import os
import argparse
from pypinyin import pinyin, Style
# 生成拼音
def convert_to_pinyin(text):
    pinyin_list = pinyin(text, style=Style.NORMAL, heteronym=True,errors="ignore")
    pinyin_str = "'".join([''.join(char) for char in pinyin_list])
    return pinyin_str
# 写入文件
def read_file_in_chunks(file_path, output_file_name, output_encoding, output_format, chunk_size=100):
    with open(file_path, 'r', encoding='utf-8') as file:
        lines = file.readlines()
        if lines[-1] == '\n':
            lines = lines[:-1]  # 如果最后一行是空白行,则删除
        for line in lines:
            pinyin_line = convert_to_pinyin(line.strip())
            
            if output_format == 'baidu' or output_format == 'shouxin':
                new_line = f"{line.strip()}\t{pinyin_line}\t3"
            elif output_format == 'sougou':
                new_line = f"{pinyin_line}\t{line.strip()}"
            
            with open(output_file_name, "a", encoding=output_encoding) as output_file:
                output_file.write(new_line + '\n')
# 添加命令行参数
parser = argparse.ArgumentParser(description='请输入你要生成的词库类型,sougou、baidu、shouxin')
parser.add_argument('output_format', choices=['baidu', 'shouxin', 'sougou'], help='Choose the output format')
args = parser.parse_args()
# 根据命令行参数选择输出文件名、编码格式和格式
if args.output_format == 'baidu':
    output_file_name = '百度.txt'
    output_encoding = 'utf-16'
    output_form

词库, 输入法

ZakaryTime
OP
  


gylgb 发表于 2024-8-25 10:45
不太明白,能详细点吗

0. 访问Github下载代码
1. 安装Python
2. 使用pip install pypinyin安装库
3. 在data目录下创建你需要生成的词库的文本文件,每行一个短语
4. 使用Python main.py运行脚本。或者直接双击运行对应的批处理文件(批处理文件在Github上)
5. 等待词库生成,然后导入到对应的输入法
ZakaryTime
OP
  


虚空先森 发表于 2024-8-25 12:02
已安装Python,如何运行哦,有大佬截图看一下吗

0. 访问Github下载代码
1. 安装Python
2. 使用pip install pypinyin安装库
3. 在data目录下创建你需要生成的词库的文本文件,每行一个短语
4. 使用Python main.py运行脚本。或者直接双击运行对应的批处理文件(批处理文件在Github上)
5. 等待词库生成,然后导入到对应的输入法
justwz   

有词库后是输入简单点吗
hehe549124   

具体用途是啥呢?
ZakaryTime
OP
  


justwz 发表于 2024-8-24 21:17
有词库后是输入简单点吗

能够提高准确度,打出来那个短语就能直接出来,避免一个一个单字选择
ZakaryTime
OP
  


hehe549124 发表于 2024-8-24 23:02
具体用途是啥呢?

比如说你手上有一个联系人名单,就可以根据这个名单生成词库,导入之后输入法就可以直接打出这些名字。
小智xyz   


ZakaryTime 发表于 2024-8-24 23:40
比如说你手上有一个联系人名单,就可以根据这个名单生成词库,导入之后输入法就可以直接打出这些名字。

这不是最基础的功能吗我是好像现在的输入法都有吧
h1989   

什么根据公开的gitub网站上gpt4创立本地gpt4???
ZakaryTime
OP
  


小智xyz 发表于 2024-8-25 00:31
这不是最基础的功能吗我是好像现在的输入法都有吧

手机可以直接访问通讯录,电脑不行,而且不仅仅是通讯录,可以找自己需要的任意内容生成词库,我是记者就可以把我们区域的政府机构全称,标准化简称,主要领导名字、职务,领导人讲话等内容倒入词库。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部