AI起名 思路 与初探

Posted shiter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AI起名 思路 与初探相关的知识,希望对你有一定的参考价值。


简介

起名就像命令变量一样,见名知意。写程序命名有驼峰,蛇形。中国人起名字也有规则:《三才五格姓名学》,一般人姓,名,加起来不过3-4 个字,古时候还有个号。现在人没到出人头地的境界,是没有称谓的。 可见姓名这个短文本承载了,短期内父母对子女的期许,需要有点含义才能对得起将来的询问。

总不能学日本人,叫什么,松下,床头,屋内 吧,哈哈哈,大雾。

下面我来说说我的思路吧:

  1. 既然是短文本,需要符合规则是比较重要的。这方面的参考就是姓名学,另外的正样本是科学家,优美诗句,典故等的释义加成。
  2. 生辰八字,姓氏,性别作为参数
  3. 要根据姓名,生成释义,这是个nlu 问题。

数据收集与整理

  1. 新华字典

一个典型的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起名 思路 与初探的主要内容,如果未能解决你的问题,请参考以下文章

用AI算法起中文名字 ---- 传统起名字方法

初探JSP与LEeclipse

AI鉴黄开发:项目启动,pyqt5初探

AI鉴黄开发:项目启动,pyqt5初探

用AI算法起中文名字 ---- 传统起名字方法:传统经典起名方法罗列

起名字这个技术活,终于用Pytorch找到解决办法了!