semvec/pypi-packages huggingface dataset:
char-similar-z 0.2.0
计算两个字符的相似度
Requires Python: >=3.10

# char-similar-z
 汉字字形/拼音/语义相似度(单字, 可用于数据增强, CSC错别字检测识别任务(构建混淆集))

- 备注: 完全基于[https://github.com/yongzhuo/char-similar](https://github.com/yongzhuo/char-similar) 项目, 仅修改了部分代码(删除了多线程和多进程，只保留了基础的功能), 使其支持python3.10+版本, 其他功能和使用方式保持一致.



# 一、安装
```bash
pip install char_similar_z
```

# 二、使用方式

## 2.1 详细使用
```python3
import time
from char_similar_z import CharSimilarity

# "shape"-字形; "all"-汇总字形/词义/拼音; "w2v"-词义优先+字形; "pinyin"-拼音优先+字形
# kind = "shape" ,  "all"  , "w2v"  , "pinyin"  选其一即可 
# 如果要使用 w2v或all，需要安装 pip install xiangsi,
# 对于字符而言， 使用 w2v 和all 无意义， 推荐使用 pinyin

sim = CharSimilarity()
char1 = "我"
char2 = "他"
for kind in ["shape", "pinyin"]:
    t0 = time.time()
    score = sim.std_cal_sim(char1, char2, kind=kind)
    t1 = time.time()
    print(f"相似度({char1}, {char2})[{kind}]: {score}, 用时: {round(t1 - t0, 4)}s")


```





# 三、技术原理
```
char-similar最初的使用场景是计算两个汉字的字形相似度(构建csc混淆集), 后加入拼音相似度,字义相似度,字频相似度...详见源码.

# 四角码(code=4, 共5位), 统计四个数字中的相同数/4
# 偏旁部首, 相同为1
# 词频log10, 统计大规模语料macropodus中词频log10的 1-(差的绝对值/两数中的最大值)
# 笔画数, 1-(差的绝对值/两数中的最大值)
# 拆字, 集合的与 / 集合的并
# 构造结构, 相同为1
# 笔顺(实际为最小的集合), 集合的与 / 集合的并
# 拼音(code=4, 共4位), 统计四个数字中的相同数(拼音/声母/韵母/声调)/4
# 词向量, char-word2vec, cosine
```


# 四、参考(部分字典来源以下项目)
 - [https://github.com/contr4l/SimilarCharacter](https://github.com/contr4l/SimilarCharacter)
 - [https://github.com/houbb/nlp-hanzi-similar](https://github.com/houbb/nlp-hanzi-similar)
 - [https://github.com/mozillazg/python-pinyin](https://github.com/mozillazg/python-pinyin)
 - [https://github.com/CNMan/UnicodeCJK-WuBi](https://github.com/CNMan/UnicodeCJK-WuBi)
 - [https://github.com/yongzhuo/Macropodus](https://github.com/yongzhuo/Macropodus)
 - [https://github.com/kfcd/chaizi](https://github.com/kfcd/chaizi)
 


# Reference
For citing this work, you can refer to the present GitHub project. For example, with BibTeX:
```
@misc{Macropodus,
    howpublished = {https://github.com/yongzhuo/char-similar},
    title = {char-similar},
    author = {Yongzhuo Mo},
    publisher = {GitHub},
    year = {2024}
}
```
envcontrolz 0.1.1
知识
Requires Python: >=3.10

# 初始化一个仓库的步骤

使用该方式 仓库 来固定知识


0 起名 查看pypi 是否重名
1 在能力面板创建其内容
2 创建仓库
3 克隆

0 uv init .
1 uv sync


1 mkdocs new .
2 p_updatedocs
3 构建包 init
4 更新readme  pyproject
5 更新mkdocs.yml  
6 mkdocs gh-deploy -d ../.temp
7 p_pushdocs 
8 p_build
9 uv publish

测试的时候
1 在jupyter 上使用 use case
2 写入use case
3 编写细节的 pytesr
测试完再上的应该