AI起名 思路 与初探
Posted shiter
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AI起名 思路 与初探相关的知识,希望对你有一定的参考价值。
简介
起名就像命令变量一样,见名知意。写程序命名有驼峰,蛇形。中国人起名字也有规则:《三才五格姓名学》,一般人姓,名,加起来不过3-4 个字,古时候还有个号。现在人没到出人头地的境界,是没有称谓的。 可见姓名这个短文本承载了,短期内父母对子女的期许,需要有点含义才能对得起将来的询问。
总不能学日本人,叫什么,松下,床头,屋内 吧,哈哈哈,大雾。
下面我来说说我的思路吧:
- 既然是短文本,需要符合规则是比较重要的。这方面的参考就是姓名学,另外的正样本是科学家,优美诗句,典故等的释义加成。
- 生辰八字,姓氏,性别作为参数
- 要根据姓名,生成释义,这是个nlu 问题。
数据收集与整理
- 新华字典
一个典型的sql 表格:
CREATE TABLE WordDictionary (
Id INTEGER PRIMARY KEY UNIQUE NOT NULL,
Word VARCHAR NOT NULL UNIQUE,
PinYin_1 VARCHAR,
PinYin_2 VARCHAR,
WuBi VARCHAR,
BuShou VARCHAR,
BiHua INTEGER,
Content VARCHAR,
Remark VARCHAR);
进行一些简单的sqlite 操作:
(base) D:\\code\\python\\WhatIsYourName\\data>sqlite3 zidian.db3
SQLite version 3.33.0 2020-08-14 13:23:32
Enter ".help" for usage hints.
sqlite> .tables
WordDictionary
sqlite> .head on
sqlite> select count(*) from WordDictionary;
count(*)
20823
sqlite>
sqlschema 映射
SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。
如果已经有数据库了,怎么通过数据库逆向生成 sqlschema 的对象呢?可以 使用sqlacodegen
pip install sqlacodegen
#执行如下命令:
sqlacodegen sqlite:///./zidian.db3
生成sqlschema 模型:
# coding: utf-8
from sqlalchemy import Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
metadata = Base.metadata
class WordDictionary(Base):
__tablename__ = 'WordDictionary'
Id = Column(Integer, primary_key=True, unique=True)
Word = Column(String, nullable=False, unique=True)
PinYin_1 = Column(String)
PinYin_2 = Column(String)
WuBi = Column(String)
BuShou = Column(String)
BiHua = Column(Integer)
Content = Column(String)
Remark = Column(String)
模块设计
开源仓库地址
参考文献
数据库逆向生成sqlschema:
https://www.jb51.net/article/214878.htm
起名打分:
https://github.com/onestraw/qiming
利用古诗词起名字:
https://github.com/holynova/gushi_namer
起名参考:
https://github.com/NanBox/PiPiName
以上是关于AI起名 思路 与初探的主要内容,如果未能解决你的问题,请参考以下文章