Showing preview only (339K chars total). Download the full file or copy to clipboard to get everything.
Repository: baidu/lac
Branch: master
Commit: 3e10dbed9bfd
Files: 83
Total size: 316.1 KB
Directory structure:
gitextract_88jgzumm/
├── .gitattributes
├── AUTHORS
├── Android/
│ ├── README.md
│ └── testlac/
│ ├── .project
│ ├── app/
│ │ ├── .gitignore
│ │ ├── .project
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src/
│ │ ├── androidTest/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── testlac/
│ │ │ └── ExampleInstrumentedTest.java
│ │ ├── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets/
│ │ │ │ └── lac_model/
│ │ │ │ ├── model.nb
│ │ │ │ ├── q2b.dic
│ │ │ │ ├── tag.dic
│ │ │ │ └── word.dic
│ │ │ ├── cpp/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── lac.cpp
│ │ │ │ ├── lac.h
│ │ │ │ ├── lac_util.cpp
│ │ │ │ ├── lac_util.h
│ │ │ │ ├── native_lib.cpp
│ │ │ │ └── paddle/
│ │ │ │ └── include/
│ │ │ │ ├── paddle_api.h
│ │ │ │ ├── paddle_image_preprocess.h
│ │ │ │ ├── paddle_lite_factory_helper.h
│ │ │ │ ├── paddle_place.h
│ │ │ │ ├── paddle_use_kernels.h
│ │ │ │ ├── paddle_use_ops.h
│ │ │ │ └── paddle_use_passes.h
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── testlac/
│ │ │ │ └── MainActivity.java
│ │ │ └── res/
│ │ │ ├── drawable/
│ │ │ │ └── ic_launcher_background.xml
│ │ │ ├── drawable-v24/
│ │ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── layout/
│ │ │ │ └── activity_main.xml
│ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ └── ic_launcher_round.xml
│ │ │ └── values/
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ └── test/
│ │ └── java/
│ │ └── com/
│ │ └── example/
│ │ └── testlac/
│ │ └── ExampleUnitTest.java
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── local.properties
│ ├── settings.gradle
│ └── testlac.iml
├── CMakeLists.txt
├── Changelog
├── LICENSE
├── README.md
├── c++/
│ ├── README.md
│ ├── include/
│ │ ├── ahocorasick.h
│ │ ├── lac.h
│ │ ├── lac_custom.h
│ │ └── lac_util.h
│ ├── lac_demo.cpp
│ ├── lac_multi.cpp
│ └── src/
│ ├── ahocorasick.cpp
│ ├── lac.cpp
│ ├── lac_custom.cpp
│ └── lac_util.cpp
├── compile4windows.md
├── java/
│ ├── LacDemo.java
│ ├── LacMulti.java
│ ├── README.md
│ ├── com/
│ │ └── baidu/
│ │ └── nlp/
│ │ └── LAC.java
│ └── cpp/
│ ├── lac_jni.cpp
│ └── lac_jni.h
└── python/
├── LAC/
│ ├── __init__.py
│ ├── _compat.py
│ ├── ahocorasick.py
│ ├── cmdline.py
│ ├── custom.py
│ ├── lac.py
│ ├── models.py
│ ├── nets.py
│ ├── prefix_tree.py
│ ├── reader.py
│ ├── segment.py
│ ├── tests/
│ │ ├── __init__.py
│ │ └── lac_test.py
│ └── utils.py
├── README.md
├── setup.cfg
└── setup.py
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitattributes
================================================
================================================
FILE: AUTHORS
================================================
# Contributors should be added to this file in the following format:
# Name or Organization <email address>
Baidu.com, Inc.
# Initial version authors:
Sun Shuqi <sunshuqi01@baidu.com>
Sun Huifeng <sunhuifeng@baidu.com>
Jiao Zhenyu <jiaozhenyu@baidu.com>
Yang Yu <yangyu16@baidu.com>
# Partial list of contributors:
Huang Dingbang <huangdingbang@baidu.com>
================================================
FILE: Android/README.md
================================================
## LAC的Android调用
Android的调用中,我们采用[NDK](https://developer.android.google.cn/ndk/)调用[C++的接口](../c++/README.md)的代码。NDK的使用可以参照[NDK官网](https://developer.android.google.cn/ndk/)或其他博客的教程,这里我们主要展示如何将我们的LAC模型集成到Android应用中
### 示例运行
#### 1. 直接安装运行
- 我们编译了一个**APK安装包**`lac_demo.apk`,可在[release界面](https://github.com/baidu/lac/releases/)下载文件、安装到Android手机中进行测试,目前该demo仅集成了armeabi-v7a或arm64-v8a的库。
#### 2. 编译APK文件
- 下载代码后,可直接使用Android Studio打开[testlac](./testlac)这个文件夹的项目,编译运行该项目即可直接生成一个Android手机的apk文件(支持armeabi-v7a或arm64-v8a)。
- 项目依赖于[NDK](https://developer.android.google.cn/ndk/)和[CMake](https://developer.android.google.cn/ndk/guides/cmake)进行编译,如果编译过程中提示NDK配置有误,可参照此处进行安装配置:
- **安装**:依次打开Tools>SDK Manager>SDK Tools,勾选LLDB、CMake和NDK进行下载
- **配置**:打开File > Project Structure > SDK Location,选择默认NDK的路径
### 模型集成过程
LAC模型是使用Paddle训练所得的模型,若要在移动端的调用自己训练的Paddle模型,需要进行以下两项工作
- 集成依赖库[PaddleLite](https://paddle-lite.readthedocs.io/zh/latest/index.html),该库Paddle为移动端调用模型所定制的轻量库,并集成模型压缩和优化等相关功能
- 为了适配移动端设备,还需要使用PaddleLite的工具对模型进行优化
#### 1. 依赖库准备
`testlac`项目仅支持armeabi-v7a和arm64-v8a是因为在该项目中仅集成了armeabi-v7a和arm64-v8a的PaddleLite依赖库,即testlac项目中jniLibs中的文件。如需更多平台依赖库的支持,需要集成对应的libs文件:
- 直接下载:https://paddle-lite.readthedocs.io/zh/latest/user_guides/release_lib.html
- 自行编译:https://paddle-lite.readthedocs.io/zh/latest/user_guides/source_compile.html
下载或编译完成后,参照示例将其放于testlac项目的jniLibs文件夹,同时修改build.gradle中ndk的abiFilters选项,即可完成其他框架的支持。
> 注:PaddleLite预测库的Libs链接需要在CMakeLists.txt文件中声明,如需在自己项目中进行集成,可参考testlac项目中CMakeLists.txt文件的写法。
#### 2. 模型优化
为了适配于移动端设备,我们需要通过PaddleLite的工具对模型进行优化。具体模型优化可以参考PaddleLite官网的介绍:[模型优化工具 opt](https://paddle-lite.readthedocs.io/zh/latest/user_guides/model_optimize_tool.html),在此我们给出一个简单的使用示例:
- 到[官网](https://paddle-lite.readthedocs.io/zh/latest/user_guides/model_optimize_tool.html)中下载优化工具opt
- 执行下列命令生成优化后的模型
```sh
# valid_targets可选(arm|opencl|x86|npu|xpu)
./opt --model_dir=./lac_model/model \
--valid_targets=arm \
--optimize_out_type=naive_buffer \
--optimize_out=lac_model_opt
```
> 经过转换后的模型,对应于testlac项目assets目录下的lac_model/model.nb文件。
- 我们在[release界面](https://github.com/baidu/lac/releases/)提供了经过优化转换的LAC模型`models_android.zip`,以供大家下载使用,解压后其中包含三个不同的模型:
- `seg_model`:仅实现分词的模型,体积小
- `lac_model`:实现分词、词性标注、实体识别于一体的词法分析模型
- `laclite_model`:`lac_model`的轻量化版本,效果会稍差于`lac_model`
#### 3. 其他
- 目前PaddleLite已支持直接使用Java接口调用模型,而不用通过jni的形式调用c++接口,具体可参照官网提供的[Android Demo](https://paddle-lite.readthedocs.io/zh/latest/demo_guides/android_app_demo.html)进行修改
- PaddleLite官网也提供了[iOS Demo](https://paddle-lite.readthedocs.io/zh/latest/demo_guides/ios_app_demo.html),有需要的同学可参照[iOS Demo](https://paddle-lite.readthedocs.io/zh/latest/demo_guides/ios_app_demo.html)实现在iOS上的应用
================================================
FILE: Android/testlac/.project
================================================
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>testlac</name>
<comment>Project testlac created by Buildship.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
</projectDescription>
================================================
FILE: Android/testlac/app/.gitignore
================================================
/build
================================================
FILE: Android/testlac/app/.project
================================================
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>app</name>
<comment>Project app created by Buildship.</comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.buildship.core.gradleprojectbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
</natures>
</projectDescription>
================================================
FILE: Android/testlac/app/build.gradle
================================================
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.example.testlac"
minSdkVersion 23
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags ""
arguments "-DANDROID_STL=c++_shared"
}
}
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
version "3.10.2"
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
================================================
FILE: Android/testlac/app/proguard-rules.pro
================================================
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
================================================
FILE: Android/testlac/app/src/androidTest/java/com/example/testlac/ExampleInstrumentedTest.java
================================================
package com.example.testlac;
import android.content.Context;
import androidx.test.platform.app.InstrumentationRegistry;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
import static org.junit.Assert.*;
/**
* Instrumented test, which will execute on an Android device.
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.example.testlac", appContext.getPackageName());
}
}
================================================
FILE: Android/testlac/app/src/main/AndroidManifest.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.testlac">
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:requestLegacyExternalStorage="true">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
================================================
FILE: Android/testlac/app/src/main/assets/lac_model/q2b.dic
================================================
萬 万
與 与
醜 丑
專 专
業 业
叢 丛
東 东
絲 丝
丟 丢
兩 两
嚴 严
喪 丧
個 个
爿 丬
豐 丰
臨 临
為 为
麗 丽
舉 举
麼 么
義 义
烏 乌
樂 乐
喬 乔
習 习
鄉 乡
書 书
買 买
亂 乱
爭 争
於 于
虧 亏
雲 云
亙 亘
亞 亚
產 产
畝 亩
親 亲
褻 亵
嚲 亸
億 亿
僅 仅
從 从
侖 仑
倉 仓
儀 仪
們 们
價 价
眾 众
優 优
夥 伙
會 会
傴 伛
傘 伞
偉 伟
傳 传
傷 伤
倀 伥
倫 伦
傖 伧
偽 伪
佇 伫
體 体
餘 余
傭 佣
僉 佥
俠 侠
侶 侣
僥 侥
偵 侦
側 侧
僑 侨
儈 侩
儕 侪
儂 侬
俁 俣
儔 俦
儼 俨
倆 俩
儷 俪
儉 俭
債 债
傾 倾
傯 偬
僂 偻
僨 偾
償 偿
儻 傥
儐 傧
儲 储
儺 傩
兒 儿
兌 兑
兗 兖
黨 党
蘭 兰
關 关
興 兴
茲 兹
養 养
獸 兽
囅 冁
內 内
岡 冈
冊 册
寫 写
軍 军
農 农
塚 冢
馮 冯
沖 冲
決 决
況 况
凍 冻
淨 净
淒 凄
涼 凉
淩 凌
減 减
湊 凑
凜 凛
幾 几
鳳 凤
鳧 凫
憑 凭
凱 凯
擊 击
氹 凼
鑿 凿
芻 刍
劃 划
劉 刘
則 则
剛 刚
創 創
刪 删
別 别
剗 刬
剄 刭
劊 刽
劌 刿
剴 剀
劑 剂
剮 剐
劍 剑
剝 剥
劇 剧
勸 劝
辦 办
務 务
勱 劢
動 動
勵 励
勁 劲
勞 劳
勢 势
勳 勋
猛 勐
勩 勚
勻 匀
匭 匦
匱 匮
區 区
醫 医
華 华
協 协
單 单
賣 卖
盧 卢
鹵 卤
臥 卧
衛 卫
卻 却
巹 卺
廠 厂
廳 厅
曆 历
厲 厉
壓 压
厭 厌
厙 厍
廁 厕
廂 厢
厴 厣
廈 厦
廚 厨
廄 厩
廝 厮
縣 县
三 叁
參 參
靉 叆
靆 叇
雙 双
發 发
變 变
敘 叙
疊 叠
葉 叶
號 号
歎 叹
嘰 叽
籲 吁
後 后
嚇 吓
呂 吕
嗎 吗
唚 吣
噸 吨
聽 听
啟 启
吳 吴
嘸 呒
囈 呓
嘔 呕
嚦 呖
唄 呗
員 员
咼 呙
嗆 呛
嗚 呜
詠 咏
哢 咔
嚨 咙
嚀 咛
噝 咝
吒 咤
噅 咴
鹹 咸
呱 哌
響 响
啞 哑
噠 哒
嘵 哓
嗶 哔
噦 哕
嘩 哗
噲 哙
嚌 哜
噥 哝
喲 哟
嘜 唛
嗊 唝
嘮 唠
啢 唡
嗩 唢
唕 唣
喚 唤
呼 唿
嘖 啧
嗇 啬
囀 啭
齧 啮
囉 啰
嘽 啴
嘯 啸
噴 喷
嘍 喽
嚳 喾
囁 嗫
呵 呵
噯 嗳
噓 嘘
嚶 嘤
囑 嘱
嚕 噜
劈 噼
囂 嚣
謔 嚯
團 团
園 园
囪 囱
圍 围
圇 囵
國 国
圖 图
圓 圆
聖 圣
壙 圹
場 场
阪 坂
壞 坏
塊 块
堅 坚
壇 坛
壢 坜
壩 坝
塢 坞
墳 坟
墜 坠
壟 垄
垅 垄
壚 垆
壘 垒
墾 垦
坰 垧
堊 垩
墊 垫
埡 垭
墶 垯
壋 垱
塏 垲
堖 垴
塒 埘
塤 埙
堝 埚
埝 垫
垵 埯
塹 堑
墮 堕
壪 塆
原 塬
牆 墙
壯 壮
聲 声
殼 壳
壺 壶
壼 壸
處 处
備 备
複 复
夠 够
頭 头
誇 夸
夾 夹
奪 夺
奩 奁
奐 奂
奮 奋
獎 奖
奧 奥
妝 妆
婦 妇
媽 妈
嫵 妩
嫗 妪
媯 妫
姍 姗
薑 姜
婁 娄
婭 娅
嬈 娆
嬌 娇
孌 娈
娛 娱
媧 娲
嫻 娴
嫿 婳
嬰 婴
嬋 婵
嬸 婶
媼 媪
嬡 嫒
嬪 嫔
嬙 嫱
嬤 嬷
孫 孙
學 学
孿 孪
寧 宁
寶 宝
實 实
寵 宠
審 审
憲 宪
宮 宫
寬 宽
賓 宾
寢 寝
對 对
尋 寻
導 导
壽 寿
將 将
爾 尔
塵 尘
嘗 尝
堯 尧
尷 尴
屍 尸
盡 尽
層 层
屭 屃
屜 屉
屆 届
屬 属
屢 屡
屨 屦
嶼 屿
歲 岁
豈 岂
嶇 岖
崗 岗
峴 岘
嶴 岙
嵐 岚
島 岛
嶺 岭
嶽 岳
崠 岽
巋 岿
嶨 峃
嶧 峄
峽 峡
嶢 峣
嶠 峤
崢 峥
巒 峦
嶗 崂
崍 崃
嶮 崄
嶄 崭
嶸 嵘
嶔 嵚
崳 嵛
嶁 嵝
脊 嵴
巔 巅
鞏 巩
巰 巯
幣 币
帥 帅
師 师
幃 帏
帳 帐
簾 帘
幟 帜
帶 带
幀 帧
幫 帮
幬 帱
幘 帻
幗 帼
冪 幂
襆 幞
幹 干
並 并
么 么
廣 广
莊 庄
慶 庆
廬 庐
廡 庑
庫 库
應 应
廟 庙
龐 庞
廢 废
廎 庼
廩 廪
開 开
異 异
棄 弃
張 张
彌 弥
弳 弪
彎 弯
彈 弹
強 强
歸 归
當 当
錄 录
彠 彟
彥 彦
徹 彻
徑 径
徠 徕
禦 御
憶 忆
懺 忏
憂 忧
愾 忾
懷 怀
態 态
慫 怂
憮 怃
慪 怄
悵 怅
愴 怆
憐 怜
總 总
懟 怼
懌 怿
戀 恋
懇 恳
惡 恶
慟 恸
懨 恹
愷 恺
惻 恻
惱 恼
惲 恽
悅 悦
愨 悫
懸 悬
慳 悭
憫 悯
驚 惊
懼 惧
慘 惨
懲 惩
憊 惫
愜 惬
慚 惭
憚 惮
慣 惯
湣 愍
慍 愠
憤 愤
憒 愦
願 愿
懾 慑
憖 慭
怵 憷
懣 懑
懶 懒
懍 懔
戇 戆
戔 戋
戲 戏
戧 戗
戰 战
戩 戬
戶 户
紮 扎
撲 扑
扡 扦
執 执
擴 扩
捫 扪
掃 扫
揚 扬
擾 扰
撫 抚
拋 抛
摶 抟
摳 抠
掄 抡
搶 抢
護 护
報 报
擔 担
擬 拟
攏 拢
揀 拣
擁 拥
攔 拦
擰 拧
撥 拨
擇 择
掛 挂
摯 挚
攣 挛
掗 挜
撾 挝
撻 挞
挾 挟
撓 挠
擋 挡
撟 挢
掙 挣
擠 挤
揮 挥
撏 挦
撈 捞
損 损
撿 捡
換 换
搗 捣
據 据
撚 捻
擄 掳
摑 掴
擲 掷
撣 掸
摻 掺
摜 掼
摣 揸
攬 揽
撳 揿
攙 搀
擱 搁
摟 搂
攪 搅
攜 携
攝 摄
攄 摅
擺 摆
搖 摇
擯 摈
攤 摊
攖 撄
撐 撑
攆 撵
擷 撷
擼 撸
攛 撺
擻 擞
攢 攒
敵 敌
斂 敛
數 数
齋 斋
斕 斓
斬 斩
斷 断
無 无
舊 旧
時 时
曠 旷
暘 旸
曇 昙
晝 昼
曨 昽
顯 显
晉 晋
曬 晒
曉 晓
曄 晔
暈 晕
暉 晖
暫 暂
曖 暧
劄 札
術 术
樸 朴
機 机
殺 杀
雜 杂
權 权
條 条
來 来
楊 杨
榪 杩
傑 杰
極 极
構 构
樅 枞
樞 枢
棗 枣
櫪 枥
梘 枧
棖 枨
槍 枪
楓 枫
梟 枭
櫃 柜
檸 柠
檉 柽
梔 栀
柵 栅
標 标
棧 栈
櫛 栉
櫳 栊
棟 栋
櫨 栌
櫟 栎
欄 栏
樹 树
棲 栖
樣 样
欒 栾
棬 桊
椏 丫
橈 桡
楨 桢
檔 档
榿 桤
橋 桥
樺 桦
檜 桧
槳 桨
樁 桩
夢 梦
檮 梼
棶 梾
檢 检
欞 棂
槨 椁
櫝 椟
槧 椠
欏 椤
橢 椭
樓 楼
欖 榄
櫬 榇
櫚 榈
櫸 榉
檟 槚
檻 槛
檳 槟
櫧 槠
橫 横
檣 樯
櫻 樱
櫫 橥
櫥 橱
櫓 橹
櫞 橼
簷 檐
檁 檩
歡 欢
歟 欤
歐 欧
殲 歼
歿 殁
殤 殇
殘 残
殞 殒
殮 殓
殫 殚
殯 殡
毆 殴
毀 毁
轂 毂
畢 毕
斃 毙
氈 毡
毿 毵
氌 氇
氣 气
氫 氢
氬 氩
氳 氲
彙 汇
漢 汉
汙 污
湯 汤
洶 汹
遝 沓
溝 沟
沒 没
灃 沣
漚 沤
瀝 沥
淪 沦
滄 沧
渢 沨
溈 沩
滬 沪
濔 沵
濘 泞
淚 泪
澩 泶
瀧 泷
瀘 泸
濼 泺
瀉 泻
潑 泼
澤 泽
涇 泾
潔 洁
灑 洒
窪 洼
浹 浃
淺 浅
漿 浆
澆 浇
湞 浈
溮 浉
濁 浊
測 测
澮 浍
濟 济
瀏 浏
滻 浐
渾 浑
滸 浒
濃 浓
潯 浔
濜 浕
塗 涂
湧 涌
濤 涛
澇 涝
淶 涞
漣 涟
潿 涠
渦 涡
溳 涢
渙 涣
滌 涤
潤 润
澗 涧
漲 涨
澀 涩
澱 淀
淵 渊
淥 渌
漬 渍
瀆 渎
漸 渐
澠 渑
漁 渔
瀋 渖
滲 渗
溫 温
遊 游
灣 湾
濕 湿
潰 溃
濺 溅
漵 溆
漊 溇
潷 滗
滾 滚
滯 滞
灩 滟
灄 滠
滿 满
瀅 滢
濾 滤
濫 滥
灤 滦
濱 滨
灘 滩
澦 滪
漤 滥
瀠 潆
瀟 潇
瀲 潋
濰 潍
潛 潜
瀦 潴
瀾 澜
瀨 濑
瀕 濒
灝 灏
滅 灭
燈 灯
靈 灵
災 灾
燦 灿
煬 炀
爐 炉
燉 炖
煒 炜
熗 炝
點 点
煉 炼
熾 炽
爍 烁
爛 烂
烴 烃
燭 烛
煙 烟
煩 烦
燒 烧
燁 烨
燴 烩
燙 烫
燼 烬
熱 热
煥 焕
燜 焖
燾 焘
煆 煅
糊 煳
退 煺
溜 熘
愛 爱
爺 爷
牘 牍
犛 牦
牽 牵
犧 牺
犢 犊
犟 强
犬 犭
狀 状
獷 犷
獁 犸
猶 犹
狽 狈
麅 狍
獮 狝
獰 狞
獨 独
狹 狭
獅 狮
獪 狯
猙 狰
獄 狱
猻 狲
獫 猃
獵 猎
獼 猕
玀 猡
豬 猪
貓 猫
蝟 猬
獻 献
獺 獭
璣 玑
璵 玙
瑒 玚
瑪 玛
瑋 玮
環 环
現 现
瑲 玱
璽 玺
瑉 珉
玨 珏
琺 珐
瓏 珑
璫 珰
琿 珲
璡 琎
璉 琏
瑣 琐
瓊 琼
瑤 瑶
璦 瑷
璿 璇
瓔 璎
瓚 瓒
甕 瓮
甌 瓯
電 电
畫 画
暢 畅
佘 畲
疇 畴
癤 疖
療 疗
瘧 疟
癘 疠
瘍 疡
鬁 疬
瘡 疮
瘋 疯
皰 疱
屙 疴
癰 痈
痙 痉
癢 痒
瘂 痖
癆 痨
瘓 痪
癇 痫
癡 痴
癉 瘅
瘮 瘆
瘞 瘗
瘺 瘘
癟 瘪
癱 瘫
癮 瘾
癭 瘿
癩 癞
癬 癣
癲 癫
臒 癯
皚 皑
皺 皱
皸 皲
盞 盏
鹽 盐
監 监
蓋 盖
盜 盗
盤 盘
瞘 眍
眥 眦
矓 眬
著 著
睜 睁
睞 睐
瞼 睑
瞞 瞒
矚 瞩
矯 矫
磯 矶
礬 矾
礦 矿
碭 砀
碼 码
磚 砖
硨 砗
硯 砚
碸 砜
礪 砺
礱 砻
礫 砾
礎 础
硜 硁
矽 硅
碩 硕
硤 硖
磽 硗
磑 硙
礄 硚
確 确
鹼 硷
礙 碍
磧 碛
磣 碜
堿 硷
镟 碹
磙 滚
禮 礼
禕 祎
禰 祢
禎 祯
禱 祷
禍 祸
稟 禀
祿 禄
禪 禅
離 离
禿 秃
稈 秆
種 种
積 积
稱 称
穢 秽
穠 秾
穭 稆
稅 税
穌 稣
穩 稳
穡 穑
窮 穷
竊 窃
竅 窍
窯 窑
竄 窜
窩 窝
窺 窥
竇 窦
窶 窭
豎 竖
競 竞
篤 笃
筍 笋
筆 笔
筧 笕
箋 笺
籠 笼
籩 笾
築 筑
篳 筚
篩 筛
簹 筜
箏 筝
籌 筹
簽 签
簡 简
籙 箓
簀 箦
篋 箧
籜 箨
籮 箩
簞 箪
簫 箫
簣 篑
簍 篓
籃 篮
籬 篱
籪 簖
籟 籁
糴 籴
類 类
秈 籼
糶 粜
糲 粝
粵 粤
糞 粪
糧 粮
糝 糁
餱 糇
緊 紧
縶 絷
糸 纟
糾 纠
紆 纡
紅 红
紂 纣
纖 纤
紇 纥
約 约
級 级
紈 纨
纊 纩
紀 纪
紉 纫
緯 纬
紜 纭
紘 纮
純 纯
紕 纰
紗 纱
綱 纲
納 纳
紝 纴
縱 纵
綸 纶
紛 纷
紙 纸
紋 纹
紡 纺
紵 纻
紖 纼
紐 纽
紓 纾
線 线
紺 绀
絏 绁
紱 绂
練 练
組 组
紳 绅
細 细
織 织
終 终
縐 绉
絆 绊
紼 绋
絀 绌
紹 绍
繹 绎
經 经
紿 绐
綁 绑
絨 绒
結 结
絝 绔
繞 绕
絰 绖
絎 绗
繪 绘
給 给
絢 绚
絳 绛
絡 络
絕 绝
絞 绞
統 统
綆 绠
綃 绡
絹 绢
繡 绣
綌 绤
綏 绥
絛 绦
繼 继
綈 绨
績 绩
緒 绪
綾 绫
緓 绬
續 续
綺 绮
緋 绯
綽 绰
緔 绱
緄 绲
繩 绳
維 维
綿 绵
綬 绶
繃 绷
綢 䌷
綯 绹
綹 绺
綣 绻
綜 综
綻 绽
綰 绾
綠 绿
綴 缀
緇 缁
緙 缂
緗 缃
緘 缄
緬 缅
纜 缆
緹 缇
緲 缈
緝 缉
縕 缊
繢 缋
緦 缌
綞 缍
緞 缎
緶 缏
缐 线
緱 缑
縋 缒
緩 缓
締 缔
縷 缕
編 编
緡 缗
緣 缘
縉 缙
縛 缚
縟 缛
縝 缜
縫 缝
縗 缞
縞 缟
纏 缠
縭 缡
縊 缢
縑 缣
繽 缤
縹 缥
縵 缦
縲 缧
纓 缨
縮 缩
繆 缪
繅 缫
纈 缬
繚 缭
繕 缮
繒 缯
韁 缰
繾 缱
繰 缲
繯 缳
繳 缴
纘 缵
罌 罂
網 网
羅 罗
罰 罚
罷 罢
羆 罴
羈 羁
羥 羟
羨 羡
翹 翘
翽 翙
翬 翚
耮 耢
耬 耧
聳 耸
恥 耻
聶 聂
聾 聋
職 职
聹 聍
聯 联
聵 聩
聰 聪
肅 肃
腸 肠
膚 肤
膁 肷
腎 肾
腫 肿
脹 胀
脅 胁
膽 胆
勝 胜
朧 胧
腖 胨
臚 胪
脛 胫
膠 胶
脈 脉
膾 脍
髒 脏
臍 脐
腦 脑
膿 脓
臠 脔
腳 脚
脫 脱
腡 脶
臉 脸
臘 腊
醃 腌
膕 腘
齶 腭
膩 腻
靦 腼
膃 腽
騰 腾
臏 膑
臢 臜
輿 舆
艤 舣
艦 舰
艙 舱
艫 舻
艱 艰
豔 艳
艸 艹
藝 艺
節 节
羋 芈
薌 芗
蕪 芜
蘆 芦
蓯 苁
葦 苇
藶 苈
莧 苋
萇 苌
蒼 苍
苧 苎
蘇 苏
檾 苘
蘋 苹
範 范
莖 茎
蘢 茏
蔦 茑
塋 茔
煢 茕
繭 茧
荊 荆
薦 荐
薘 荙
莢 荚
蕘 荛
蓽 荜
蕎 荞
薈 荟
薺 荠
蕩 荡
榮 荣
葷 荤
滎 荥
犖 荦
熒 荧
蕁 荨
藎 荩
蓀 荪
蔭 荫
蕒 荬
葒 荭
葤 荮
藥 药
蒞 莅
蓧 莜
萊 莱
蓮 莲
蒔 莳
萵 莴
薟 莶
獲 获
蕕 莸
瑩 莹
鶯 莺
蓴 莼
蘀 萚
蘿 萝
螢 萤
營 营
縈 萦
蕭 萧
薩 萨
蔥 葱
蕆 蒇
蕢 蒉
蔣 蒋
蔞 蒌
藍 蓝
薊 蓟
蘺 蓠
蕷 蓣
鎣 蓥
驀 蓦
薔 蔷
蘞 蔹
藺 蔺
藹 蔼
蘄 蕲
蘊 蕴
藪 薮
槁 藁
蘚 藓
虜 虏
慮 虑
虛 虚
蟲 虫
虯 虬
蟣 虮
雖 虽
蝦 虾
蠆 虿
蝕 蚀
蟻 蚁
螞 蚂
蠶 蚕
蠔 蚝
蜆 蚬
蠱 蛊
蠣 蛎
蟶 蛏
蠻 蛮
蟄 蛰
蛺 蛱
蟯 蛲
螄 蛳
蠐 蛴
蛻 蜕
蝸 蜗
蠟 蜡
蠅 蝇
蟈 蝈
蟬 蝉
蠍 蝎
螻 蝼
蠑 蝾
螿 螀
蟎 螨
蠨 蟏
釁 衅
銜 衔
補 补
襯 衬
袞 衮
襖 袄
嫋 袅
褘 袆
襪 袜
襲 袭
襏 袯
裝 装
襠 裆
褌 裈
褳 裢
襝 裣
褲 裤
襇 裥
褸 褛
襤 褴
繈 襁
襴 襕
見 见
觀 观
覎 觃
規 規
覓 觅
視 视
覘 觇
覽 览
覺 觉
覬 觊
覡 觋
覿 觌
覥 觍
覦 觎
覯 觏
覲 觐
覷 觑
觴 觞
觸 触
觶 觯
讋 詟
譽 誉
謄 誊
訁 讠
計 计
訂 订
訃 讣
認 认
譏 讥
訐 讦
訌 讧
討 讨
讓 让
訕 讪
訖 讫
訓 训
議 议
訊 讯
記 记
訒 讱
講 讲
諱 讳
謳 讴
詎 讵
訝 讶
訥 讷
許 许
訛 讹
論 论
訩 讻
訟 讼
諷 讽
設 设
訪 访
訣 诀
證 证
詁 诂
訶 诃
評 评
詛 诅
識 识
詗 诇
詐 诈
訴 诉
診 诊
詆 诋
謅 诌
詞 词
詘 诎
詔 诏
詖 诐
譯 译
詒 诒
誆 诓
誄 诔
試 试
詿 诖
詩 诗
詰 诘
詼 诙
誠 诚
誅 诛
詵 诜
話 话
誕 诞
詬 诟
詮 诠
詭 诡
詢 询
詣 诣
諍 诤
該 该
詳 详
詫 诧
諢 诨
詡 诩
譸 诪
誡 诫
誣 诬
語 语
誚 诮
誤 误
誥 诰
誘 诱
誨 诲
誑 诳
說 说
誦 诵
誒 诶
請 请
諸 诸
諏 诹
諾 诺
讀 读
諑 诼
誹 诽
課 课
諉 诿
諛 谀
誰 谁
諗 谂
調 调
諂 谄
諒 谅
諄 谆
誶 谇
談 谈
誼 谊
謀 谋
諶 谌
諜 谍
謊 谎
諫 谏
諧 谐
谑 嚯
謁 谒
謂 谓
諤 谔
諭 谕
諼 谖
讒 谗
諮 咨
諳 谙
諺 谚
諦 谛
謎 谜
諞 谝
諝 谞
謨 谟
讜 谠
謖 谡
謝 谢
謠 谣
謗 谤
諡 谥
謙 谦
謐 谧
謹 谨
謾 谩
謫 谪
譾 谫
謬 谬
譚 谭
譖 谮
譙 谯
讕 谰
譜 谱
譎 谲
讞 谳
譴 谴
譫 谵
讖 谶
穀 谷
豶 豮
貝 贝
貞 贞
負 负
貟 贠
貢 贡
財 财
責 责
賢 贤
敗 败
賬 账
貨 货
質 质
販 贩
貪 贪
貧 贫
貶 贬
購 购
貯 贮
貫 贯
貳 贰
賤 贱
賁 贲
貰 贳
貼 贴
貴 贵
貺 贶
貸 贷
貿 贸
費 费
賀 贺
貽 贻
賊 贼
贄 贽
賈 贾
賄 贿
貲 资
賃 赁
賂 赂
贓 赃
資 资
賅 赅
贐 赆
賕 赇
賑 赈
賚 赉
賒 赊
賦 赋
賭 赌
齎 赍
贖 赎
賞 赏
賜 赐
贔 赑
賙 赒
賡 赓
賠 赔
賧 赕
賴 赖
賵 赗
贅 赘
賻 赙
賺 赚
賽 赛
賾 赜
贗 赝
贊 赞
贇 赟
贈 赠
贍 赡
贏 赢
贛 贛
赬 赪
趙 赵
趕 赶
趨 趋
趲 趱
躉 趸
躍 跃
蹌 跄
蹠 跖
躒 跞
踐 践
躂 跶
蹺 跷
蹕 跸
躚 跹
躋 跻
踴 踊
躊 踌
蹤 踪
躓 踬
躑 踯
躡 蹑
蹣 蹒
躕 蹰
躥 蹿
躪 躏
躦 躜
軀 躯
車 车
軋 轧
軌 轨
軒 轩
軑 轪
軔 轫
轉 转
軛 轭
輪 轮
軟 软
轟 轰
軲 轱
軻 轲
轤 轳
軸 轴
軹 轵
軼 轶
軤 轷
軫 轸
轢 轹
軺 轺
輕 轻
軾 轼
載 载
輊 轾
轎 轿
輈 辀
輇 辁
輅 辂
較 较
輒 辄
輔 辅
輛 辆
輦 辇
輩 辈
輝 辉
輥 辊
輞 辋
輬 辌
輟 辍
輜 辎
輳 辏
輻 辐
輯 辑
轀 辒
輸 输
轡 辔
轅 辕
轄 辖
輾 辗
轆 辘
轍 辙
轔 辚
辭 辞
辯 辩
辮 辫
邊 边
遼 辽
達 达
遷 迁
過 过
邁 迈
運 运
還 还
這 这
進 进
遠 远
違 违
連 连
遲 迟
邇 迩
逕 径
跡 迹
適 适
選 选
遜 逊
遞 递
邐 逦
邏 逻
遺 遗
遙 遥
鄧 邓
鄺 邝
鄔 邬
郵 邮
鄒 邹
鄴 邺
鄰 邻
鬱 郁
郤 郄
郟 郏
鄶 郐
鄭 郑
鄆 郓
酈 郦
鄖 郧
鄲 郸
醞 酝
醱 酦
醬 酱
釅 酽
釃 酾
釀 酿
釋 释
裏 里
鑒 鉴
鑾 銮
鏨 錾
釓 钆
釔 钇
針 针
釘 钉
釗 钊
釙 钋
釕 钌
釷 钍
釺 钎
釧 钏
釤 钐
鈒 钑
釩 钒
釣 钓
鍆 钔
釹 钕
鍚 钖
釵 钗
鈃 钘
鈣 钙
鈈 钚
鈦 钛
鈍 钝
鈔 钞
鍾 钟
鈉 钠
鋇 钡
鋼 钢
鈑 钣
鈐 钤
鑰 钥
欽 钦
鈞 钧
鎢 钨
鉤 钩
鈧 钪
鈁 钫
鈥 钬
鈄 钭
鈕 钮
鈀 钯
鈺 钰
錢 钱
鉦 钲
鉗 钳
鈷 钴
缽 钵
鈳 钶
鉕 钷
鈽 钸
鈸 钹
鉞 钺
鑽 钻
鉬 钼
鉭 钽
鉀 钾
鈿 钿
鈾 铀
鐵 铁
鉑 铂
鈴 铃
鑠 铄
鉛 铅
鉚 铆
鈰 铈
鉉 铉
鉈 铊
鉍 铋
鈮 铌
鈹 铍
鐸 铎
鉶 铏
銬 铐
銠 铑
鉺 铒
鋩 铓
錏 铔
銪 铕
鋮 铖
鋏 铗
鋣 铘
鐃 铙
銍 铚
鐺 铛
銅 铜
鋁 铝
銱 铞
銦 铟
鎧 铠
鍘 铡
銖 铢
銑 铣
鋌 铤
銩 铥
銛 铦
鏵 铧
銓 铨
鎩 铩
鉿 铪
銚 铫
鉻 铬
銘 铭
錚 铮
銫 铯
鉸 铰
銥 铱
鏟 铲
銃 铳
鐋 铴
銨 铵
銀 银
銣 铷
鑄 铸
鐒 铹
鋪 铺
鋙 铻
錸 铼
鋱 铽
鏈 炼
鏗 铿
銷 销
鎖 锁
鋰 锂
鋥 锃
鋤 锄
鍋 锅
鋯 锆
鋨 锇
鏽 锈
銼 锉
鋝 锊
鋒 锋
鋅 锌
鋶 锍
鐦 锎
鐧 锏
銳 锐
銻 锑
鋃 锒
鋟 锓
鋦 锔
錒 锕
錆 锖
鍺 锗
鍩 锘
錯 错
錨 锚
錛 锛
錡 锜
鍀 锝
錁 锞
錕 锟
錩 锠
錫 锡
錮 锢
鑼 锣
錘 锤
錐 锥
錦 锦
鑕 锧
鍁 锨
錈 锩
鍃 锪
錇 锫
錟 锬
錠 锭
鍵 键
鋸 锯
錳 锰
錙 锱
鍥 锲
鍈 锳
鍇 锴
鏘 锵
鍶 锶
鍔 锷
鍤 锸
鍬 锹
锺 钟
鍛 锻
鎪 锼
鍠 锽
鍰 锾
鎄 锿
鍍 镀
鎂 镁
鏤 镂
鎡 镃
鐨 镄
鎇 镅
鏌 镆
鎮 镇
鎛 镈
鎘 镉
鑷 镊
钂 镋
鐫 镌
鎳 镍
鎿 镎
鎦 镏
鎬 镐
鎊 镑
鎰 镒
鎵 镓
鑌 镔
鎔 镕
鏢 镖
鏜 镗
鏝 镘
鏍 镙
鏰 镚
鏞 镛
鏡 镜
鏑 镝
鏃 镞
鏐 镠
鐔 镡
钁 镢
鐐 镣
鏷 镤
鑥 镥
鐓 镦
鑭 镧
鐠 镨
鑹 镩
鏹 镪
鐙 镫
鑊 镬
鐳 镭
鐶 镮
鐲 镯
鐮 镰
鐿 镱
鑔 镲
鑣 镳
鑞 镴
鑱 镵
鑲 镶
長 长
門 门
閂 闩
閃 闪
閆 闫
閈 闬
閉 闭
問 问
闖 闯
閏 闰
闈 闱
閑 闲
閎 闳
間 间
閔 闵
閌 闶
悶 闷
閘 闸
鬧 闹
閨 闺
聞 闻
闥 闼
閩 闽
閭 闾
闓 闿
閥 阀
閣 合
閡 阂
閫 阃
鬮 阄
閱 阅
閬 阆
闍 阇
閾 阈
閹 阉
閶 阊
鬩 阋
閿 阌
閽 阍
閻 阎
閼 阏
闡 阐
闌 阑
闃 阒
闠 阓
闊 阔
闋 阕
闔 阖
闐 阗
闒 阘
闕 阙
闞 阚
闤 阛
隊 队
陽 阳
陰 阴
陣 阵
階 階
際 际
陸 陆
隴 陇
陳 陈
陘 陉
陝 陕
隉 陧
隕 陨
險 险
隨 随
隱 隐
隸 隶
雋 隽
難 难
雛 雏
讎 仇
靂 雳
霧 雾
霽 霁
黴 霉
靄 霭
靚 靓
靜 静
靨 靥
韃 鞑
鞽 鞒
韉 鞯
韝 鞴
韋 韦
韌 韧
韍 韨
韓 韩
韙 韪
韞 韫
韜 韬
韻 韵
頁 页
頂 顶
頃 顷
頇 顸
項 项
順 顺
須 须
頊 顼
頑 顽
顧 顾
頓 顿
頎 颀
頒 颁
頌 颂
頏 颃
預 预
顱 颅
領 领
頗 颇
頸 颈
頡 颉
頰 颊
頲 颋
頜 颌
潁 颍
熲 颎
頦 颏
頤 颐
頻 频
頮 颒
頹 颓
頷 颔
頴 颖
穎 颖
顆 颗
題 题
顒 颙
顎 颚
顓 颛
顏 颜
額 额
顳 颞
顢 颟
顛 颠
顙 颡
顥 颢
纇 颣
顫 颤
顬 颥
顰 颦
顴 颧
風 风
颺 扬
颭 飐
颮 飑
颯 飒
颶 飓
颸 飔
颼 飕
颻 飖
飀 飗
飄 飘
飆 飙
飚 飙
飛 飞
饗 飨
饜 餍
飣 饤
饑 饥
飥 饦
餳 饧
飩 饨
餼 饩
飪 饪
飫 饫
飭 饬
飯 饭
飲 饮
餞 饯
飾 饰
飽 饱
飼 饲
飿 饳
飴 饴
餌 饵
饒 饶
餉 饷
餄 饸
餎 饹
餃 饺
餏 饻
餅 饼
餑 饽
餖 饾
餓 饿
馀 余
餒 馁
餕 馂
餜 馃
餛 馄
餡 馅
館 馆
餷 馇
饋 馈
餶 馉
餿 馊
饞 馋
饁 馌
饃 馍
餺 馎
餾 馏
饈 馐
饉 馑
饅 馒
饊 馓
饌 馔
饢 馕
馬 马
馭 驭
馱 驮
馴 驯
馳 驰
驅 驱
馹 驲
駁 驳
驢 驴
駔 驵
駛 驶
駟 驷
駙 驸
駒 驹
騶 驺
駐 驻
駝 驼
駑 驽
駕 驾
驛 驿
駘 骀
驍 骁
罵 骂
駰 骃
驕 骄
驊 骅
駱 骆
駭 骇
駢 骈
驫 骉
驪 骊
騁 骋
驗 验
騂 骍
駸 骎
駿 骏
騏 骐
騎 骑
騍 骒
騅 骓
騌 鬃
驌 骕
驂 骖
騙 骗
騭 骘
騤 骙
騷 骚
騖 骛
驁 骜
騮 骝
騫 骞
騸 骟
驃 骠
騾 骡
驄 骢
驏 骣
驟 骤
驥 骥
驦 骦
驤 骧
髏 髅
髖 髋
髕 髌
鬢 鬓
魘 魇
魎 魉
魚 鱼
魛 鱽
魢 鱾
魷 鱿
魨 鲀
魯 鲁
魴 鲂
魺 鲄
鮁 鲅
鮃 鲆
鯰 鲇
鱸 鲈
鮋 鲉
鮓 鲊
鮒 鲋
鮊 鲌
鮑 鲍
鱟 鲎
鮍 鲏
鮐 鲐
鮭 鲑
鮚 鲒
鮳 鲓
鮪 鲔
鮞 鲕
鮦 鲖
鰂 鲗
鮜 鲘
鱠 鲙
鱭 鲚
鮫 鲛
鮮 鲜
鮺 鲝
鯗 鲞
鱘 鲟
鯁 鲠
鱺 鲡
鰱 鲢
鰹 鲣
鯉 鲤
鰣 鲥
鰷 鲦
鯀 鲧
鯊 鲨
鯇 鲩
鮶 鲪
鯽 鲫
鯒 鲬
鯖 鲭
鯪 鲮
鯕 鲯
鯫 鲰
鯡 鲱
鯤 鲲
鯧 鲳
鯝 鲴
鯢 鲵
鲶 鲇
鯛 鲷
鯨 鲸
鯵 鲹
鯴 鲺
鯔 鲻
鱝 鲼
鰈 鲽
鰏 鲾
鱨 鲿
鯷 鳀
鰮 鳁
鰃 鳂
鰓 鳃
鱷 鳄
鰍 鳅
鰒 鳆
鰉 鳇
鰁 鳈
鱂 鳉
鯿 鳊
鰠 鳋
鼇 鳌
鰭 鳍
鰨 鳎
鰥 鳏
鰩 鳐
鰟 鳑
鰜 鳒
鰳 鳓
鰾 鳔
鱈 鳕
鱉 鳖
鰻 鳗
鰵 鳘
鱅 鳙
鰼 鳛
鱖 鳜
鱔 鳝
鱗 鳞
鱒 鳟
鱯 鳠
鱤 鳡
鱧 鳢
鱣 鳣
鳥 鸟
鳩 鸠
雞 鸡
鳶 鸢
鳴 鸣
鳲 鸤
鷗 鸥
鴉 鸦
鶬 鸧
鴇 鸨
鴆 鸩
鴣 鸪
鶇 鸫
鸕 鸬
鴨 鸭
鴞 鸮
鴦 鸯
鴒 鸰
鴟 鸱
鴝 鸲
鴛 鸳
鴬 鸴
鴕 鸵
鷥 鸶
鷙 鸷
鴯 鸸
鴰 鸹
鵂 鸺
鴴 鸻
鵃 鸼
鴿 鸽
鸞 鸾
鴻 鸿
鵐 鹀
鵓 鹁
鸝 鹂
鵑 鹃
鵠 鹄
鵝 鹅
鵒 鹆
鷳 鹇
鵜 鹈
鵡 鹉
鵲 鹊
鶓 鹋
鵪 鹌
鶤 鹍
鵯 鹎
鵬 鹏
鵮 鹐
鶉 鹑
鶊 鹒
鵷 鹓
鷫 鹔
鶘 鹕
鶡 鹖
鶚 鹗
鶻 鹘
鶖 鹙
鶿 鹚
鶥 鹛
鶩 鹜
鷊 鹝
鷂 鹞
鶲 鹟
鶹 鹠
鶺 鹡
鷁 鹢
鶼 鹣
鶴 鹤
鷖 鹥
鸚 鹦
鷓 鹧
鷚 鹨
鷯 鹩
鷦 鹪
鷲 鹫
鷸 鹬
鷺 鹭
鸇 鹯
鷹 鹰
鸌 鹱
鸏 鹲
鸛 鹳
鸘 鹴
鹺 鹾
麥 麦
麩 麸
黃 黄
黌 黉
黶 黡
黷 黩
黲 黪
黽 黾
黿 鼋
鼂 鼌
鼉 鼍
鞀 鼗
鼴 鼹
齇 齄
齊 齐
齏 齑
齒 齿
齔 龀
齕 龁
齗 龂
齟 龃
齡 龄
齙 龅
齠 龆
齜 龇
齦 龈
齬 龉
齪 龊
齲 龋
齷 龌
龍 龙
龔 龚
龕 龛
龜 龟
「 "
」 "
『 "
』 "
鑀 锿
鞌 鞍
骯 肮
爊 熬
厫 廒
翶 翱
鰲 鳌
抝 拗
垇 坳
慠 傲
覇 霸
栢 柏
襬 摆
岅 坂
闆 板
幇 帮
幚 帮
牓 榜
蜯 蚌
襃 褒
緥 褓
寳 宝
菢 抱
鉋 铇
鑤 铇
盃 杯
桮 杯
揹 背
俻 备
誖 悖
逩 奔
綳 绷
逬 迸
偪 逼
粃 秕
痺 痹
獘 毙
徧 遍
臕 膘
飈 飚
錶 表
鼈 鳖
龞 鳖
彆 别
璸 瑸
髩 鬓
鬂 鬓
氷 冰
梹 槟
幷 并
併 并
倂 并
竝 并
盋 钵
鉢 钵
愽 博
駮 驳
蔔 卜
倸 睬
採 采
寀 采
跴 踩
綵 彩
埰 采
叄 叁
湌 餐
飱 飧
慙 惭
厠 厕
筞 䇲
揷 插
査 查
詧 察
奼 姹
産 产
剷 铲
甞 尝
塲 场
膓 肠
嚐 尝
厰 厂
謿 嘲
撦 扯
趂 趁
乗 乘
堘 塍
椉 乘
喫 吃
竾 篪
勅 敕
翄 翅
衝 冲
紬 䌷
酧 酬
醻 酬
讐 仇
矁 瞅
耡 锄
処 处
舩 船
窓 窗
牎 窗
牕 窗
窻 窗
牀 床
剏 創
剙 創
搥 捶
鎚 锤
旾 春
脣 唇
湻 淳
蒓 莼
醕 醇
惷 蠢
甆 瓷
飺 糍
辤 辞
餈 糍
鷀 鹚
怱 匆
悤 匆
麁 粗
麤 粗
蹵 蹴
欑 攒
簒 篡
脃 脆
畣 答
迖 达
剳 札
獃 呆
瑇 玳
躭 耽
啗 啖
噉 啖
噹 当
攩 挡
盪 荡
擣 捣
惪 德
櫈 凳
隄 堤
廸 迪
牴 抵
觝 抵
蔕 蒂
敁 掂
彫 雕
琱 雕
鼦 貂
鵰 雕
弔 吊
窵 窎
蜨 蝶
曡 叠
疉 叠
矴 碇
椗 碇
崬 岽
峝 峒
働 動
兠 兜
荳 豆
鬥 斗
鬦 斗
鬪 斗
鬭 斗
匵 椟
覩 睹
妬 妒
螙 蠹
蠧 蠹
撴 蹾
墪 墩
遯 遁
朶 朵
躱 躲
刴 剁
垜 垛
跥 跺
峩 峨
頟 额
鵞 鹅
譌 讹
戹 厄
阨 厄
蕚 萼
鰐 鳄
尒 尔
弍 贰
栰 筏
罸 罚
灋 法
髮 发
旛 幡
飜 翻
凣 凡
緐 繁
倣 仿
髣 仿
疿 痱
蚡 鼢
峯 峰
蠭 蜂
伕 夫
彿 佛
鳬 凫
髴 佛
鬴 釜
坿 附
復 复
媍 妇
嘠 嘎
畡 垓
槩 概
槪 概
乹 干
亁 干
尲 尴
桿 杆
榦 干
灨 贛
棡
罁 缸
槓 杠
皐 皋
臯 皋
睪 睾
槹 槔
橰 槔
餻 糕
槀 槁
稾 稿
吿 告
暠 皓
肐 胳
謌 歌
挌 格
骼 胳
臈 腊
箇 个
畊 耕
骾 鲠
躳 躬
贑 贛
鈎 钩
耉 耇
耈 耇
搆 构
皷 鼓
僱 雇
騧 䯄
罣 挂
枴 拐
柺 拐
恠 怪
関 关
舘 馆
礶 罐
鑵 罐
珪 圭
槼 規
嬀 妫
瓌 瑰
槶 椢
瞶 瞆
嘓 啯
囯 国
菓 果
圅 函
猂 悍
釬 焊
銲 焊
澣 浣
糰 团
噑 嗥
皜 皓
嗬 呵
咊 和
盇 盍
覈 核
龢 和
恆 恒
鬨 闹
虖 呼
衚 胡
餬 糊
鬍 胡
箎 篪
沍 冱
芲 花
蘤 花
畵 画
懽 欢
貛 獾
怳 恍
煇 辉
幑 徽
囘 回
囬 回
廻 回
迴 回
逥 回
痐 蛔
蛕 蛔
蜖 蛔
譭 毁
匯 汇
滙 汇
殨 㱮
篲 彗
昬 昏
旤 祸
穫 获
飢 饥
賫 赍
撃 击
賷 赍
鷄 鸡
覊 羁
卽 即
檝 楫
颳 刮
旣 既
蹟 迹
繫 系
傢 家
裌 夹
筴 䇲
戞 戛
叚 假
斚 斝
姦 奸
牋 笺
椾 笺
絸 茧
襉 裥
礆 硷
謭 谫
蠒 茧
鹻 硷
籛 篯
劒 剑
鍳 鉴
鑑 鉴
彊 强
殭 僵
繮 缰
奨 奖
奬 奖
敎 教
糹 纟
勦 剿
儌 侥
呌 叫
堦 階
稭 秸
刦 劫
刧 劫
刼 劫
媫 婕
觧 解
釒 钅
觔 斤
儘 尽
秔 糠
稉 糠
穽 阱
浄 净
凈 净
踁 胫
逈 迥
烱 炯
絅 䌹
揫 揪
韮 韭
廐 厩
俥 伡
捄 救
侷 局
鶪 䴗
榘 矩
擧 举
欅 榉
钜 巨
鉅 巨
鎸 镌
捲 卷
勌 倦
睠 眷
獧 狷
撧 撅
絶 绝
橜 橛
鐝 镢
麕 麇
儁 俊
栞 刊
埳 坎
偘 侃
矙 瞰
穅 糠
摃 扛
攷 考
痾 疴
殻 壳
剋 克
尅 克
肎 肯
褃 裉
阬 坑
敂 叩
宼 寇
釦 扣
簆 筘
擓 㧟
欵 款
鑛 矿
闚 窥
媿 愧
餽 馈
髠 髡
裩 裈
鵾 鹍
綑 捆
睏 困
濶 阔
辢 辣
倈 俫
頼 赖
嬾 懒
灠 滥
瑯 琅
虆 蔂
纍 累
稜 棱
棃 梨
犂 犁
貍 狸
釐 厘
灕 漓
裡 里
茘 荔
涖 莅
厤 历
厯 历
慄 栗
歴 历
隷 隶
歷 历
癧 疬
瓈 璃
亷 廉
匲 奁
匳 奁
鎌 镰
籨 奁
槤 梿
歛 敛
蜋 螂
樑 梁
両 两
鴷 䴕
粦 磷
隣 邻
燐 磷
麐 麟
恡 吝
蔆 菱
霛 灵
櫺 棂
畱 留
瑠 琉
璢 琉
癅 瘤
栁 柳
桺 柳
磟 碌
蹓 溜
霤 溜
壠 垄
衖 弄
瞜 䁖
瘻 瘘
罏 垆
滷 卤
樐 橹
磠 硵
艣 橹
艪 橹
彔 录
剹 戮
勠 戮
録 录
圝 圞
崙 仑
驘 骡
躶 裸
臝 裸
緑 绿
畧 略
痲 淋
蟇 蟆
禡 祃
駡 骂
衇 脉
霢 霡
氂 牦
冇 没
夘 卯
戼 卯
皃 貌
獏 貘
麽 么
苺 莓
楳 梅
鋂 镅
蝱 虻
醿 醾
瞇 眯
祕 秘
覔 觅
幎 幂
緜 绵
靣 面
麪 面
麵 面
玅 妙
冺 泯
謩 谟
饝 馍
冐 冒
畆 亩
畮 亩
幙 幕
吶 呐
廼 乃
嬭 奶
錼 镎
閙 闹
嫰 嫩
蜺 霓
妳 奶
暱 昵
秊 年
鮎 鲇
唸 念
裊 袅
褭 袅
嬝 袅
揑 捏
湼 涅
嚙 啮
孼 孽
櫱 蘖
糱 糵
囓 啮
寕 宁
薴 苎
辳 农
挵 弄
煗 暖
稬 糯
穤 糯
衂 衄
蕅 藕
槃 盘
厐 庞
徬 彷
龎 厐
髈 膀
砲 炮
礮 炮
肧 胚
珮 佩
掽 碰
毘 毗
闢 辟
鷿 䴙
腁 胼
騗 骗
飃 飘
闝 嫖
拚 拼
屛 屏
蓱 萍
幈 屏
缾 瓶
凴 凭
廹 迫
僕 仆
舖 铺
悽 凄
朞 期
慽 戚
慼 戚
亝 斋
竒 奇
旂 旗
棊 棋
碁 棋
碕 埼
唘 启
啓 启
栔 契
噐 器
憇 憩
鈆 铅
諐 愆
籤 签
拑 钳
乾 干
鉆 钻
羗 羌
鎗 枪
墻 墙
艢 樯
繦 襁
鍫 锹
顦 憔
陗 峭
琹 琴
懃 勤
寑 寝
吢 吣
搇 揿
鶄 䴖
坵 丘
秌 秋
鰌 鳅
駈 驱
敺 驱
覰 觑
踡 蜷
甽 圳
舃 舄
搉 榷
慤 悫
帬 裙
裠 裙
羣 群
冄 冉
蚦 蚺
髥 髯
孃 娘
遶 绕
姙 妊
袵 衽
靭 韧
靱 韧
餁 饪
毧 绒
羢 绒
螎 融
宂 冗
壖 堧
輭 软
蕋 蕊
橤 蕊
蘂 蕊
鋭 锐
叡 睿
篛 箬
揌 塞
顋 腮
繖 伞
桒 桑
澁 涩
濇 涩
槮 椮
剎 刹
挱 挲
搧 扇
羴 膻
羶 膻
樿 椫
饍 膳
鱓 鳝
尙 尚
捨 舍
慴 慑
葠 參
蓡 參
蔘 參
鰺 鲹
讅 审
昇 升
賸 剩
溼 湿
鳾 䴓
蝨 虱
飠 饣
旹 时
拾 十
柹 柿
眎 视
眡 视
弒 弑
謚 谥
収 收
夀 寿
倐 倏
疎 疏
庻 庶
竪 竖
潄 漱
挩 捝
説 说
枱 台
飤 饲
竢 俟
禩 祀
崧 嵩
鬆 松
叜 叟
甦 苏
蘓 苏
泝 溯
遡 溯
膆 嗉
愬 诉
痠 酸
祘 算
筭 算
嵗 岁
歳 岁
繸 䍁
潠 噀
簑 蓑
鎻 锁
牠 它
墖 塔
荅 答
搨 拓
臺 台
颱 台
擡 抬
檯 台
罈 坛
壜 坛
罎 坛
嘆 叹
撢 掸
醣 糖
餹 糖
鎲 镋
搯 掏
縧 绦
縚 绦
迯 逃
咷 啕
鞉 鼗
籐 藤
鷈 䴘
嗁 啼
蹏 蹄
逷 逖
鬀 剃
塡 填
儵 倏
聼 听
痌 恫
衕 同
筩 筒
兎 兔
頽 颓
穨 颓
臋 臀
拕 拖
託 讬
駞 驼
鼃 蛙
譁 哗
韈 袜
韤 袜
喎 㖞
盌 碗
椀 碗
輓 挽
翫 玩
尫 尪
尩 尪
亾 亡
徃 往
朢 望
爲 为
撝 㧑
潙 沩
僞 伪
衞 卫
餧 喂
餵 喂
榲 榅
鰛 鳁
螡 蚊
蟁 蚊
脗 吻
搵 揾
杇 圬
啎 忤
摀 捂
悮 误
悞 悮
隖 坞
煕 熙
熈 熙
磎 溪
醯 酰
譆 嘻
蓆 席
係 系
隟 隙
戱 戏
舝 辖
杴 锨
僊 仙
鱻 鲜
絃 弦
閒 闲
啣 衔
嫺 娴
鷴 鹇
尠 鲜
尟 鲜
俔 伣
綫 线
亯 享
鮝 鲞
饟 饷
曏 向
嚮 向
鵁 䴔
篠 筱
効 效
傚 效
歗 啸
脇 胁
衺 邪
擕 携
鞵 鞋
洩 泄
屓 屃
紲 绁
蠏 蟹
爕 燮
訢 欣
郉 邢
莕 荇
倖 幸
兇 凶
胷 胸
綉 绣
銹 锈
歘 欻
鬚 须
卹 恤
勗 勖
敍 叙
壻 婿
賉 恤
萲 萱
煖 暖
蕿 萱
諠 喧
蘐 萱
藼 萱
衒 炫
鏇 镟
斈 学
鷽 鸴
勛 勋
壎 埙
薰 熏
燻 熏
廵 巡
鱏 鲟
狥 徇
鵶 鸦
枒 丫
崕 崖
菸 烟
臙 胭
姸 妍
硏 研
喦 岩
嵒 岩
揅 研
顔 颜
巗 岩
菴 庵
鴈 雁
燄 焰
騐 验
贋 赝
鷰 燕
醼 宴
讌 宴
艷 艳
豓 艳
灧 滟
敭 扬
幺 么
殀 夭
窰 窑
餚 肴
謡 谣
齩 咬
葯 药
鈅 钥
燿 耀
虵 蛇
埜 野
壄 野
抴 曳
亱 夜
爗 烨
弌 壹
吚 咿
毉 医
迻 移
銕 铁
彜 彝
彞 彝
迆 迤
螘 蚁
搤 扼
瞖 翳
囙 因
陻 堙
隂 阴
婣 姻
慇 殷
瘖 喑
婬 淫
滛 淫
誾 訚
螾 蚓
廕 荫
甖 罂
鸎 莺
颕 颖
暎 映
雝 雍
惥 恿
慂 恿
肬 疣
蚘 蛔
汚 污
踰 逾
庽 寓
瘉 愈
慾 欲
魊 蜮
癒 愈
欎 郁
鬰 郁
寃 冤
猨 猿
蝯 猿
戉 钺
閲 阅
蕓 芸
篔 筼
熅 煴
薀 蕰
醖 酝
藴 蕴
帀 匝
桚 拶
襍 杂
烖 灾
簮 簪
偺 咱
儹 攒
賛 赞
蹔 暂
酇 酂
讚 赞
喒 咱
贜 赃
塟 葬
臟 脏
蹧 糟
皁 皂
譟 噪
竈 灶
紥 扎
箚 札
樝 楂
牐 闸
煠 炸
搾 榨
氊 毡
琖 盏
嶃 崭
佔 占
麞 獐
鞝 绱
炤 照
櫂 棹
摺 折
輙 辄
讁 谪
淛 浙
遉 侦
碪 砧
鍼 针
辴 冁
癥 症
証 证
巵 卮
秖 只
衹 只
隻 只
姪 侄
阯 址
帋 纸
恉 旨
徵 征
製 制
誌 志
稺 稚
緻 致
穉 稚
鐘 钟
衆 众
週 周
箒 帚
呪 咒
藷 薯
煑 煮
苎 苎
竚 伫
註 注
筯 箸
塼 砖
甎 砖
縳 䌸
譔 撰
粧 妆
準 准
槕 桌
梲 棁
谘 咨
孶 孳
趦 趑
姉 姊
骔 鬃
椶 棕
鬉 鬃
騣 鬃
縂 总
糉 粽
瘲 疭
鉏 锄
鑚 钻
辠 罪
檇 槜
罇 樽
𩣑 䯃
𨯅 䥿
𩨂 骢
𤺥 瘩
𧩙 䜥
𧝞 䘛
𨧜 䦁
𩗗 飓
𩶘 䲞
𤫩 㻏
𨊰 䢀
𧶧 䞎
𧵳 䞌
𩞯 䭪
𡢃 㛠
𨦫 䦀
𨋢 䢂
𨊸 䢁
𧹔 账
𡠹 㛿
𧜵 䙊
𡞵 㛟
𤪺 㻘
着 著
𩚥 𩠀
𨏠 𨐇
𩣺 𩧼
𩗀 𩙦
𩞄 𩠎
𥿊 𦈈
𩞦 𩠏
𧶔 𧹓
𩿪 𪉄
𩥄 𩨋
𩜦 𩠆
𩵩 𩽺
𩵹 𩽻
𩚵 𩠁
𩎢 𩏾
𩤊 𩧩
𨥛 𨱀
𨊻 𨐆
𩥉 𩧱
𩛩 𩠃
𨶲 𨸋
𩢴 𩧵
𪀾 𪉋
𩡺 𩧦
𩜇 𩠉
𨶏 𨸊
𩣏 𩧶
𩢾 𩧮
𩧆 𩨐
𩏪 𩏽
𨫒 𨱐
𪃏 𪉏
𩚛 𩟿
𩸦 𩾆
𪘀 𪚏
𨧱 𨱊
𪁖 𪉌
𩢡 𩧬
𩤲 𩨉
𩙈 𩙰
𩘹 𩙨
𩘝 𩙭
𩥑 𩨌
𩤙 𩨆
𨳑 𨸁
𩸃 𩾅
𩜵 𩠊
𩘺 𩙬
𩤸 𩨅
𨥊 𨰿
𨏥 𨐊
𦂅 𦈒
𩓣 𩖕
𩝔 𩠋
𨷲 𨸎
𨶮 𨸌
𩛆 𩠂
𩽇 𩾎
𪃍 𪉐
𨳕 𨸀
𨎮 𨐉
𩶱 𩽽
𩥇 𩨍
𩘀 𩙩
𪈁 𪉕
𩢸 𩧳
𪁈 𪉉
𩶰 𩽿
𩷰 𩾄
𪀸 𪉅
𪄕 𪉒
𪈼 𪉓
𪄆 𪉔
瞭 了
乃 乃
迺 乃
纔 才
韆 千
凢 凡
丫 丫
桠 丫
耑 专
匃 丐
匄 丐
𠪾 历
疋 匹
巨 巨
陞 升
仇 仇
雠 仇
崘 仑
㕥 以
㠯 以
朮 术
佈 布
祇 只
丣 卯
鼕 冬
甯 宁
齣 出
糺 纠
动 動
托 讬
扬 扬
飏 扬
𠕂 再
𠕅 再
袷 夹
麴 曲
麯 曲
麹 曲
仝 同
㠶 帆
颿 帆
硃 朱
佀 似
閤 合
𠌂 伞
创 創
𡬶 寻
阶 階
戯 戏
讙 欢
驩 欢
䭾 驮
縴 纤
垻 坝
儗 拟
㕁 却
囌 苏
邨 村
唫 吟
你 奶
隣 邻
疘 肛
㠀 岛
刨 铇
㱃 饮
𤰜 亩
畂 亩
𤱈 亩
氾 泛
汎 泛
沈 渖
菑 灾
䛐 词
跼 局
规 規
堃 坤
𬞟 苹
欝 郁
犇 奔
崐 昆
崑 昆
嘑 呼
謼 呼
㟁 岸
巖 岩
雰 氛
妷 侄
欣 欣
䜣 欣
径 径
迳 径
𠇮 命
兔 兔
䘚 卒
癈 废
劵 券
匟 炕
鑪 炉
𬬻 炉
㳒 法
霑 沾
寔 实
䛡 话
𨽻 隶
瀰 弥
㕘 參
参 參
珎 珍
𦊱 挂
𢬸 括
草 艹
㙛 砖
昰 是
閧 闹
哄 闹
嚥 咽
傌 骂
倃 咱
𠴰 咱
偺 咱
欬 咳
鞦 秋
龝 秋
脩 修
㑺 俊
䘑 脉
陿 狭
合 合
阁 合
鍊 炼
薙 剃
絜 洁
䘏 恤
醆 盏
扞 捍
喆 哲
𢷬 捣
噁 恶
𫫇 恶
𦂳 紧
𦃂 紧
㨪 晃
㤙 恩
咲 笑
藉 借
俛 俯
頫 俯
𫖯 俯
䠶 射
拏 拿
㧱 拿
挐 拿
𤱊 留
㽞 留
资 资
𠖇 冥
㝠 冥
𡨘 冤
毬 球
𤨏 琐
㨗 捷
㨿 据
惏 婪
槑 梅
𡐨 野
媮 偷
衘 衔
𩓐 脖
蔴 麻
旋 镟
觕 粗
痳 淋
殽 淆
㴱 深
顇 悴
㓂 寇
𡨥 寇
㝛 宿
勣 绩
𪟝 绩
绸 䌷
菉 绿
蒐 搜
㪚 散
𦵏 葬
㕑 厨
冣 最
㝡 最
晳 晰
㡌 帽
链 炼
䳘 鹅
策 䇲
㪟 敦
淼 渺
𣺌 渺
嘅 慨
𥦗 窗
袴 裤
䰟 魂
㩗 携
㩦 携
鞾 靴
濛 蒙
懞 蒙
矇 蒙
㮣 概
詶 酬
踫 碰
㼝 碗
㬉 暖
闇 暗
晻 暗
蹻 跷
䗬 蜂
寘 置
燬 毁
骽 腿
㢘 廉
谿 溪
昚 慎
㬪 叠
𠞰 剿
琍 璃
衊 蔑
𤋮 熙
碱 硷
𥄨 瞅
𠻳 嗽
筦 管
𡚁 弊
砦 寨
厀 膝
㿜 瘪
䊀 糊
澂 澄
癄 憔
𢮥 操
撡 操
粇 糠
䥥 镰
繙 翻
蝡 蠕
赣 贛
札 札
㩳 㧐
軔 轫
𦍑 羌
㘭 坳
袟 帙
袠 帙
㒺 罔
罋 瓮
膞 䏝
熰 𬉼
㥮 㤘
荍 荞
斮 斫
斲 斫
斵 斫
𦕈 眇
哶 咩
𠴟 咩
䬃 飒
㳄 涎
酖 鸩
鏺 䥽
䶊 衄
濬 浚
襢 袒
謟 谄
娿 婀
粰 麸
䴸 麸
勑 敕
覜 眺
㥦 惬
㥫 惇
箠 棰
啑 喋
剉 锉
嬃 媭
椷 缄
枏 楠
柟 楠
楥 楦
嘷 嗥
獋 嗥
粺 稗
䈰 筲
糠 糠
粳 糠
𣙜 榷
𦉆 碴
籑 馔
㯭 橹
鐯 䦃
蔾 藜
䠀 蹚
䴉 鹮
𥲻 纂
䝔 獾
訏 𬣙
澫 𬇕
詝 𬣞
紃 𬘓
塸 𫭟
埨 𫭢
蒍 𫇭
蔿 𫇭
軏 𫐄
㠣 𫵷
㑳 㑇
潕 𣲘
湋 𣲗
澐 沄
浿 𬇙
諓 𬣡
彄 𫸩
馼 𫘜
紞 𬘘
駃 𫘝
㭎
軝 𬨂
暐 𬀩
晛 𬀪
釴 𬬩
詷 𫍣
詪 𬣳
鄩 𬩽
隑 𬮿
隮 𬯀
娙 𫰛
駓 𬳵
駉 𬳶
䮄 𫠊
瓅 𬍛
蔄 𬜬
龑 䶮
睍 𪾢
鈇 𫓧
鋹 𬬮
釿 𬬱
錀 𬬭
絪 𬘡
駪 𬳽
綎 𬘩
綖 𫄧
璕 𬍤
𡑍 𫭼
䓣 𬜯
藭 䓖
梜 𬂩
頍 𫠆
輄 𨐈
赀 资
鄳 𫑡
輋 𪨶
鉥 𬬸
鉮 𬬹
鉊 𬬿
鉧 𬭁
僤 𫢸
餗 𫗧
燖 𬊈
礐 𬒈
駼 𬳿
絺 𫄨
綄 𬘫
墠 𫮃
罃 䓨
頔 𬱖
蝀 𬟽
銈 𫓯
鉷 𫟹
鐽 𫟼
貙 䝙
漍 𬇹
璗 𬍡
諲 𬤇
諴 𫍯
諟 𬤊
謏 𫍲
隤 𬯎
綪 𬘬
綝 𬘭
騑 𬴂
騊 𫘦
綡 𫟅
綧 𬘯
騄 𫘧
塿 𪣻
櫍 𬃊
鵏 𬷕
輗 𫐐
齘 𬹼
嵽 𫶇
顗 𫖮
䥑 鿏
𨧀 𬭊
銶 𨱇
鋗 𫓶
鋐 𬭎
頠 𬱟
䰾 鲃
鵟 𫛭
廞 𫷷
闉 𬮱
燀 𬊤
濆 𣸣
濚 溁
斆 敩
騞 𬴃
騠 𫘨
緼 缊
醲 𬪩
磾 䃅
輼 辒
輶 𬨎
輮 𫐓
錤 𫓹
錞 𬭚
𨨏 𬭛
穇 䅟
篢 𬕂
鮣 䲟
鮈 𬶋
鮀 𬶍
膢 𦝼
闑 𫔶
襀 𫌀
頵 𫖳
騵 𫘪
騱 𫘬
璊 𫞩
欓 𣗋
鶠 𬸘
𥗽 𬒗
鮆 𫚖
鎝 𨱏
鍭 𬭤
鰤 𫚕
鮡 𬶐
鮠 𬶏
鮟 𩽾
鸑 𬸚
譓 𬤝
縯 𬙂
螮 䗖
鎓 𬭩
鷉 䴘
鮸 𩾃
瀂 澛
鶱 𬸣
譞 𫍽
驎 𬴊
䡵 𫟦
齮 𬺈
齯 𫠜
巘 𪩘
鏏 𬭬
鐄 𨱑
䥕 𬭯
饘 𫗴
鷟 𬸦
繶 𫄷
瓛 𤩽
㘚 㘎
𨭎 𬭳
𨭆 𬭶
鐇 𫔍
鏻 𬭸
鐏 𨱔
鐩 𬭼
鐍 𫔎
鷭 𬸪
鰆 䲠
鯻 𬶟
鰊 𬶠
鱀 𬶨
繻 𦈡
纁 𫄸
鬹 鬶
虉 𬟁
鰧 䲢
鸊 䴙
纆 𬙊
鰶 𬶭
鱇 𩾌
䲁 鳚
鱚 𬶮
纕 𬙋
齼 𬺓
䲘 鳤
鱲 𫚭
‘ "
’ "
“ "
” "
` `
^ ^
~ ~
 ̄ ~
< <
﹤ <
〈 <
= =
﹦ =
> >
﹥ >
〉 >
| |
‖ |
_ _
- -
﹣ -
— -
, ,
﹑ ,
﹐ ,
、 ,
; ;
﹔ ;
∶ :
: :
﹕ :
! !
﹗ !
? ?
﹖ ?
/ /
. .
﹒ .
。 .
… .
・ ·
• ·
' "
' "
" "
〝 "
〞 "
( (
﹙ (
〔 (
) )
﹚ )
〕 )
[ [
﹝ [
【 [
〖 [
] ]
﹞ ]
】 ]
〗 ]
{ {
﹜ {
﹛ {
} }
@ @
﹫ @
$ $
﹩ $
* *
﹡ *
\ \
﹨ \
& &
﹠ &
# #
﹟ #
% %
﹪ %
+ +
﹢ +
𐒠 0
𐴰 0
𑁦 0
𑃰 0
𑄶 0
𑇐 0
𑋰 0
𑑐 0
𑓐 0
𑙐 0
𑛀 0
𑜰 0
𑣠 0
𑱐 0
𑵐 0
𑶠 0
𖩠 0
𖭐 0
𝟎 0
𝟘 0
𝟢 0
𝟬 0
𝟶 0
𞥐 0
0 0
୦ 0
෦ 0
๐ 0
໐ 0
༠ 0
၀ 0
႐ 0
០ 0
᠐ 0
᥆ 0
᧐ 0
᪀ 0
᪐ 0
᭐ 0
᮰ 0
᱀ 0
᱐ 0
꘠ 0
꣐ 0
꤀ 0
꧐ 0
꧰ 0
꩐ 0
꯰ 0
߀ 0
٠ 0
० 0
০ 0
੦ 0
૦ 0
௦ 0
౦ 0
೦ 0
൦ 0
۰ 0
𐒡 1
𐴱 1
𑁧 1
𑃱 1
𑄷 1
𑇑 1
𑋱 1
𑑑 1
𑓑 1
𑙑 1
𑛁 1
𑜱 1
𑣡 1
𑱑 1
𑵑 1
𑶡 1
𖩡 1
𖭑 1
𝟏 1
𝟙 1
𝟣 1
𝟭 1
𝟷 1
𞥑 1
1 1
୧ 1
෧ 1
๑ 1
໑ 1
༡ 1
၁ 1
႑ 1
១ 1
᠑ 1
᥇ 1
᧑ 1
᪁ 1
᪑ 1
᭑ 1
᮱ 1
᱁ 1
᱑ 1
꘡ 1
꣑ 1
꤁ 1
꧑ 1
꧱ 1
꩑ 1
꯱ 1
߁ 1
١ 1
१ 1
১ 1
੧ 1
૧ 1
௧ 1
౧ 1
೧ 1
൧ 1
۱ 1
𐒢 2
𐴲 2
𑁨 2
𑃲 2
𑄸 2
𑇒 2
𑋲 2
𑑒 2
𑓒 2
𑙒 2
𑛂 2
𑜲 2
𑣢 2
𑱒 2
𑵒 2
𑶢 2
𖩢 2
𖭒 2
𝟐 2
𝟚 2
𝟤 2
𝟮 2
𝟸 2
𞥒 2
2 2
୨ 2
෨ 2
๒ 2
໒ 2
༢ 2
၂ 2
႒ 2
២ 2
᠒ 2
᥈ 2
᧒ 2
᪂ 2
᪒ 2
᭒ 2
᮲ 2
᱂ 2
᱒ 2
꘢ 2
꣒ 2
꤂ 2
꧒ 2
꧲ 2
꩒ 2
꯲ 2
߂ 2
٢ 2
२ 2
২ 2
੨ 2
૨ 2
௨ 2
౨ 2
೨ 2
൨ 2
۲ 2
𐒣 3
𐴳 3
𑁩 3
𑃳 3
𑄹 3
𑇓 3
𑋳 3
𑑓 3
𑓓 3
𑙓 3
𑛃 3
𑜳 3
𑣣 3
𑱓 3
𑵓 3
𑶣 3
𖩣 3
𖭓 3
𝟑 3
𝟛 3
𝟥 3
𝟯 3
𝟹 3
𞥓 3
3 3
୩ 3
෩ 3
๓ 3
໓ 3
༣ 3
၃ 3
႓ 3
៣ 3
᠓ 3
᥉ 3
᧓ 3
᪃ 3
᪓ 3
᭓ 3
᮳ 3
᱃ 3
᱓ 3
꘣ 3
꣓ 3
꤃ 3
꧓ 3
꧳ 3
꩓ 3
꯳ 3
߃ 3
٣ 3
३ 3
৩ 3
੩ 3
૩ 3
௩ 3
౩ 3
೩ 3
൩ 3
۳ 3
𐒤 4
𐴴 4
𑁪 4
𑃴 4
𑄺 4
𑇔 4
𑋴 4
𑑔 4
𑓔 4
𑙔 4
𑛄 4
𑜴 4
𑣤 4
𑱔 4
𑵔 4
𑶤 4
𖩤 4
𖭔 4
𝟒 4
𝟜 4
𝟦 4
𝟰 4
𝟺 4
𞥔 4
4 4
୪ 4
෪ 4
๔ 4
໔ 4
༤ 4
၄ 4
႔ 4
៤ 4
᠔ 4
᥊ 4
᧔ 4
᪄ 4
᪔ 4
᭔ 4
᮴ 4
᱄ 4
᱔ 4
꘤ 4
꣔ 4
꤄ 4
꧔ 4
꧴ 4
꩔ 4
꯴ 4
߄ 4
٤ 4
४ 4
৪ 4
੪ 4
૪ 4
௪ 4
౪ 4
೪ 4
൪ 4
۴ 4
𐒥 5
𐴵 5
𑁫 5
𑃵 5
𑄻 5
𑇕 5
𑋵 5
𑑕 5
𑓕 5
𑙕 5
𑛅 5
𑜵 5
𑣥 5
𑱕 5
𑵕 5
𑶥 5
𖩥 5
𖭕 5
𝟓 5
𝟝 5
𝟧 5
𝟱 5
𝟻 5
𞥕 5
5 5
୫ 5
෫ 5
๕ 5
໕ 5
༥ 5
၅ 5
႕ 5
៥ 5
᠕ 5
᥋ 5
᧕ 5
᪅ 5
᪕ 5
᭕ 5
᮵ 5
᱅ 5
᱕ 5
꘥ 5
꣕ 5
꤅ 5
꧕ 5
꧵ 5
꩕ 5
꯵ 5
߅ 5
٥ 5
५ 5
৫ 5
੫ 5
૫ 5
௫ 5
౫ 5
೫ 5
൫ 5
۵ 5
𐒦 6
𐴶 6
𑁬 6
𑃶 6
𑄼 6
𑇖 6
𑋶 6
𑑖 6
𑓖 6
𑙖 6
𑛆 6
𑜶 6
𑣦 6
𑱖 6
𑵖 6
𑶦 6
𖩦 6
𖭖 6
𝟔 6
𝟞 6
𝟨 6
𝟲 6
𝟼 6
𞥖 6
6 6
୬ 6
෬ 6
๖ 6
໖ 6
༦ 6
၆ 6
႖ 6
៦ 6
᠖ 6
᥌ 6
᧖ 6
᪆ 6
᪖ 6
᭖ 6
᮶ 6
᱆ 6
᱖ 6
꘦ 6
꣖ 6
꤆ 6
꧖ 6
꧶ 6
꩖ 6
꯶ 6
߆ 6
٦ 6
६ 6
৬ 6
੬ 6
૬ 6
௬ 6
౬ 6
೬ 6
൬ 6
۶ 6
𐒧 7
𐴷 7
𑁭 7
𑃷 7
𑄽 7
𑇗 7
𑋷 7
𑑗 7
𑓗 7
𑙗 7
𑛇 7
𑜷 7
𑣧 7
𑱗 7
𑵗 7
𑶧 7
𖩧 7
𖭗 7
𝟕 7
𝟟 7
𝟩 7
𝟳 7
𝟽 7
𞥗 7
7 7
୭ 7
෭ 7
๗ 7
໗ 7
༧ 7
၇ 7
႗ 7
៧ 7
᠗ 7
᥍ 7
᧗ 7
᪇ 7
᪗ 7
᭗ 7
᮷ 7
᱇ 7
᱗ 7
꘧ 7
꣗ 7
꤇ 7
꧗ 7
꧷ 7
꩗ 7
꯷ 7
߇ 7
٧ 7
७ 7
৭ 7
੭ 7
૭ 7
௭ 7
౭ 7
೭ 7
൭ 7
۷ 7
𐒨 8
𐴸 8
𑁮 8
𑃸 8
𑄾 8
𑇘 8
𑋸 8
𑑘 8
𑓘 8
𑙘 8
𑛈 8
𑜸 8
𑣨 8
𑱘 8
𑵘 8
𑶨 8
𖩨 8
𖭘 8
𝟖 8
𝟠 8
𝟪 8
𝟴 8
𝟾 8
𞥘 8
8 8
୮ 8
෮ 8
๘ 8
໘ 8
༨ 8
၈ 8
႘ 8
៨ 8
᠘ 8
᥎ 8
᧘ 8
᪈ 8
᪘ 8
᭘ 8
᮸ 8
᱈ 8
᱘ 8
꘨ 8
꣘ 8
꤈ 8
꧘ 8
꧸ 8
꩘ 8
꯸ 8
߈ 8
٨ 8
८ 8
৮ 8
੮ 8
૮ 8
௮ 8
౮ 8
೮ 8
൮ 8
۸ 8
𐒩 9
𐴹 9
𑁯 9
𑃹 9
𑄿 9
𑇙 9
𑋹 9
𑑙 9
𑓙 9
𑙙 9
𑛉 9
𑜹 9
𑣩 9
𑱙 9
𑵙 9
𑶩 9
𖩩 9
𖭙 9
𝟗 9
𝟡 9
𝟫 9
𝟵 9
𝟿 9
𞥙 9
9 9
୯ 9
෯ 9
๙ 9
໙ 9
༩ 9
၉ 9
႙ 9
៩ 9
᠙ 9
᥏ 9
᧙ 9
᪉ 9
᪙ 9
᭙ 9
᮹ 9
᱉ 9
᱙ 9
꘩ 9
꣙ 9
꤉ 9
꧙ 9
꧹ 9
꩙ 9
꯹ 9
߉ 9
٩ 9
९ 9
৯ 9
੯ 9
૯ 9
௯ 9
౯ 9
೯ 9
൯ 9
۹ 9
a a
A A
b b
B B
c c
C C
d d
D D
e e
E E
f f
F F
g g
G G
h h
H H
i i
I I
j j
J J
k k
K K
l l
L L
m m
M M
n n
N N
o o
O O
p p
P P
q q
Q Q
r r
R R
s s
S S
t t
T T
u u
U U
v v
V V
w w
W W
x x
X X
y y
Y Y
z z
Z Z
ブ フ
ド ト
が か
ど と
で て
ビ ヒ
だ た
べ へ
デ テ
ジ シ
グ ク
じ し
ベ ヘ
バ ハ
ぐ く
ダ タ
プ フ
び ひ
ポ ホ
げ け
ズ ス
ぷ ふ
ぱ は
ガ カ
ゴ コ
ゼ セ
ピ ヒ
ペ ヘ
ヴ ウ
パ ハ
ご こ
ぴ ひ
ず す
ザ サ
ギ キ
ヂ チ
ボ ホ
ぶ ふ
ば は
ゲ ケ
ぼ ほ
ぺ へ
ぎ き
ゾ ソ
ぽ ほ
づ つ
ぞ そ
ざ さ
ゞ ゝ
ヅ ツ
ぜ せ
ぢ ち
ヾ ヽ
ü u
‑ ‐
① 1
② 2
Ⅱ I
è e
ö o
ầ a
ơ o
é e
ò o
ó o
﹊
ǐ i
Ö O
₂ 2
ń n
ñ n
à a
⑩ 1
℃ °
Š S
č c
í i
á a
ù u
š s
² 2
≠ =
ã a
ć c
ě e
ž z
Č C
③ 3
£ £
ā a
ą a
⒍ 6
Ⅴ V
ē e
å a
Ó O
Ⅲ I
ţ t
ş s
й и
ë e
Ô O
ú u
É E
½ 1
¼ 1
Ś S
ś s
ä a
Ż Z
ğ g
ç c
¹ 1
⑧ 8
ê e
fl f
ǔ u
℡ T
﹏ _
Ş S
Å A
㎡ m
ô o
¥ ¥
ṭ t
Á A
ấ a
ź z
⑦ 7
Ⅳ I
â a
ō o
㏒ l
ï i
Ŝ S
ū u
Ⅰ I
㎝ c
ḩ h
ī i
ⅳ i
ǒ o
ę e
Ⅹ X
ý y
Ä A
ř r
④ 4
ă a
№ N
ì i
Ά Α
ά α
ί ι
ộ o
ạ a
ắ a
⑨ 9
≯ >
ẕ z
Ā A
ⅲ i
ľ l
ோ ே
⑤ 5
ṛ r
﹍ _
㎎ m
⒊ 3
⒋ 4
 A
İ I
î i
ё е
凉 凉
ș s
ő o
Ğ G
Ž Z
ℝ R
ℙ P
㊣ 正
ż z
ſ s
ű u
Ī I
Ç C
″ ′
º o
Ú U
ǹ n
ẃ w
õ o
Ⅶ V
ⅱ i
¨
ḥ h
ệ e
ư u
ờ o
¢ ¢
≮ <
Ё Е
ⅹ x
Ő O
fi f
Ⅺ X
ŏ o
Й И
Ō O
¬ ¬
À A
㎜ m
ª a
ả a
Î I
ế e
⒏ 8
⒈ 1
⒉ 2
⒌ 5
⑴ (
⑵ (
⒁ (
Ș S
ⅴ v
칠 ᄎ
보 ᄇ
산 ᄉ
ņ n
ė e
ṇ n
⑥ 6
ử u
ũ u
ὐ υ
ų u
ⅸ i
郎 郎
´
참 ᄎ
치 ᄎ
ǫ o
ṣ s
ŷ y
Ü U
ň n
Í I
﹎ _
ț t
ṅ n
ό ο
ύ υ
¾ 3
¯
裏 裏
⒛ 2
ǎ a
⑺ (
Ḳ K
ẩ a
ổ o
Ἃ Α
ῶ ω
⒎ 7
ǜ u
ǚ u
﹋
Ḩ H
ḏ d
ỳ y
는 ᄂ
ỵ y
Ē E
Ế E
ļ l
광 ᄀ
릉 ᄅ
⑸ (
ẹ e
설 ᄉ
빙 ᄇ
박 ᄇ
호 ᄒ
ⅰ i
Ò O
Ḥ H
㏄ c
매 ᄆ
운 ᄋ
족 ᄌ
발 ᄇ
û u
Ḫ H
⑷ (
ů u
⅔ 2
ķ k
ÿ y
㈱ (
Ǧ G
Ⅷ V
ỗ o
ọ o
애 ᄋ
자 ᄌ
인 ᄋ
권 ᄀ
연 ᄋ
ொ ெ
Ć C
종 ᄌ
갓 ᄀ
집 ᄌ
ḍ d
Ñ N
⑹ (
ở o
ứ u
⅓ 1
Ū U
ĕ e
˙
﹌
ố o
ữ u
ǘ u
ị i
㏕ m
ĩ i
ễ e
정 ᄌ
희 ᄒ
Ý Y
와 ᄋ
Ⅵ V
ⅶ v
ⅵ v
ǖ u
Ț T
³ 3
ṃ m
ồ o
재 ᄌ
활 ᄒ
립 ᄅ
과 ᄀ
㎞ k
행 ᄒ
베 ᄇ
⒒ 1
중 ᄌ
고 ᄀ
등 ᄃ
교 ᄀ
µ μ
﹃ 『
ŭ u
경 ᄀ
공 ᄀ
업 ᄋ
체 ᄎ
육 ᄋ
단 ᄃ
أ ا
ὲ ε
ụ u
™ T
ĝ g
È E
Ì I
Ù U
إ ا
Ⅻ X
ἀ α
ή η
ể e
늦 ᄂ
어 ᄋ
양 ᄋ
έ ε
Ọ O
Ġ G
Ⅸ I
ớ o
︿ 〈
그 ᄀ
래 ᄅ
드 ᄃ
론 ᄅ
ќ к
㏑ l
ề e
ợ o
주 ᄌ
⁺ +
⒐ 9
ằ a
달 ᄃ
나 ᄂ
Ὀ Ο
⑻ (
바 ᄇ
탕 ᄐ
돋 ᄃ
움 ᄋ
ώ ω
ť t
환 ᄒ
국 ᄀ
선 ᄉ
㎏ k
찜 ᄍ
닭 ᄃ
ἶ ι
آ ا
Ľ L
겸 ᄀ
ⅷ v
ŵ w
ự u
ำ ํ
︶ )
힘 ᄒ
찬 ᄎ
㏎ K
ṁ m
⒆ (
ḵ k
응 ᄋ
답 ᄃ
하 ᄒ
라 ᄅ
청 ᄎ
춘 ᄎ
⒚ 1
ģ g
Ę E
ḱ k
ḳ k
⑶ (
ʰ h
⁵ 5
모 ᄆ
ẻ e
⑿ (
ġ g
ṉ n
포 ᄑ
외 ᄋ
생 ᄉ
여 ᄋ
린 ᄅ
소 ᄉ
반 ᄇ
군 ᄀ
웅 ᄋ
본 ᄇ
풀 ᄑ
ʷ w
ў у
⒔ 1
𝜀 ε
귀 ᄀ
℉ °
℅ c
Ṭ T
Ό Ο
적 ᄌ
유 ᄋ
령 ᄅ
맥 ᄆ
ἐ ε
ῦ υ
ὸ ο
Õ O
Ÿ Y
ẫ a
ủ u
ї і
ĉ c
¦ ¦
﹉
⒀ (
ℳ M
ĭ i
Ţ T
΄
ǯ ʒ
젇 ᄌ
객 ᄀ
품 ᄑ
Ṣ S
점 ᄌ
만 ᄆ
에 ᄋ
︱ —
ď d
ừ u
ℵ א
ậ a
Ê E
를 ᄅ
위 ᄋ
합 ᄒ
ൊ െ
길 ᄀ
ῆ η
Ἐ Ε
Ἀ Α
Ἄ Α
⒕ 1
제 ᄌ
망 ᄆ
루 ᄅ
ো ে
황 ᄒ
해 ᄒ
북 ᄇ
도 ᄃ
병 ᄇ
Ḷ L
ḷ l
ḻ l
〈 〈
〉 〉
새 ᄉ
옥 ᄋ
ἄ α
피 ᄑ
세 ᄉ
계 ᄀ
로 ᄅ
영 ᄋ
송 ᄉ
비 ᄇ
상 ᄉ
ὼ ω
ἒ ε
ὴ η
ὶ ι
ὖ υ
ἳ ι
ℓ l
Ą A
Ẓ Z
Ẹ E
Ϲ Σ
ϲ ς
ỏ o
ೇ ೆ
ئ ي
⒇ (
ȕ u
ẓ z
ㅭ ᇙ
ො ෙ
礼 礼
ȟ h
헌 ᄒ
구 ᄀ
려 ᄅ
쪼 ᄍ
디 ᄃ
킨 ᄏ
⅝ 5
렇 ᄅ
게 ᄀ
울 ᄋ
었 ᄋ
다 ᄃ
ŗ r
율 ᄋ
전 ᄌ
역 ᄋ
앞 ᄋ
독 ᄃ
︴ _
누 ᄂ
밀 ᄆ
은 ᄋ
있 ᄋ
ặ a
⅜ 3
︻ 【
원 ᄋ
더 ᄃ
문 ᄆ
네 ᄂ
림 ᄅ
메 ᄆ
커 ᄏ
담 ᄃ
ỹ y
미 ᄆ
허 ᄒ
각 ᄀ
⒑ 1
և ե
방 ᄇ
ǣ æ
Ῥ Ρ
ຳ ໍ
용 ᄋ
마 ᄆ
차 ᄎ
Ṗ P
온 ᄋ
우 ᄋ
뢰 ᄅ
Ĭ I
강 ᄀ
남 ᄂ
헤 ᄒ
Ấ A
오 ᄋ
므 ᄆ
스 ᄉ
Ḍ D
㎚ n
ẽ e
ΐ ι
ὁ ο
⅞ 7
・ ・
팔 ᄑ
손 ᄉ
현 ᄒ
석 ᄉ
진 ᄌ
완 ᄋ
가 ᄀ
요 ᄋ
첨 ᄎ
ὺ υ
︽ 《
⒓ 1
내 ᄂ
신 ᄉ
시 ᄉ
지 ᄌ
ḡ g
천 ᄎ
안 ᄋ
ffi f
Ὁ Ο
゚ ゚
ŝ s
ㅣ ᅵ
ㅜ ᅮ
토 ᄐ
끼 ᄁ
늘 ᄂ
ৌ ে
데 ᄃ
į i
ೀ ಿ
ἅ α
ẋ x
㎢ k
트 ᄐ
윤 ᄋ
조 ᄌ
찰 ᄎ
화 ᄒ
녀 ᄂ
Ἡ Η
ὑ υ
Ǵ G
ϊ ι
Έ Ε
곰 ᄀ
엌 ᄋ
후 ᄒ
춧 ᄎ
à A
왕 ᄋ
덕 ᄃ
두 ᄃ
봉 ᄇ
큰 ᄏ
렁 ᄅ
난 ᄂ
수 ᄉ
ḫ h
앙 ᄋ
책 ᄎ
ỉ i
Ķ K
ẖ h
ˢ s
ஔ ஒ
ϵ ε
˚
₨ R
콤 ᄏ
날 ᄂ
러 ᄅ
⅛ 1
당 ᄃ
Ģ G
혁 ᄒ
낭 ᄂ
식 ᄉ
Ř R
명 ᄆ
타 ᄐ
일 ᄋ
‼ !
ṟ r
풍 ᄑ
댐 ᄃ
첫 ᄎ
눈 ᄂ
코 ᄏ
리 ᄅ
범 ᄇ
순 ᄉ
출 ᄎ
무 ᄆ
축 ᄎ
회 ᄒ
창 ᄎ
년 ᄂ
념 ᄂ
금 ᄀ
협 ᄒ
총 ᄎ
밤 ᄇ
Ẽ E
ϕ φ
씨 ᄊ
으 ᄋ
ỷ y
ṱ t
백 ᄇ
ǽ æ
ේ ෙ
Ẕ Z
ϖ π
秊 秊
¸
을 ᄋ
ῖ ι
ẵ a
항 ᄒ
술 ᄉ
준 ᄌ
관 ᄀ
규 ᄀ
칙 ᄎ
먹 ᄆ
Ď D
⒙ 1
ೊ ೆ
복 ᄇ
눌 ᄂ
룽 ᄅ
돌 ᄃ
솥 ᄉ
빔 ᄇ
ෝ ෙ
⑼ (
최 ᄎ
니 ᄂ
엘 ᄋ
별 ᄇ
분 ᄇ
Ἰ Ι
Ἔ Ε
᾿
Ἑ Ε
ᵒ o
ḑ d
민 ᄆ
결 ᄀ
승 ᄉ
웃 ᄋ
음 ᄋ
찾 ᄎ
람 ᄅ
들 ᄃ
빅 ᄇ
램 ᄅ
넌 ᄂ
ȍ o
름 ᄅ
귤 ᄀ
감 ᄀ
류 ᄅ
₄ 4
₃ 3
궁 ᄀ
향 ᄒ
ǰ j
ṯ t
Ὡ Ω
ὰ α
떻 ᄄ
낼 ᄂ
획 ᄒ
Ἅ Α
칭 ᄎ
Ả A
취 ᄎ
개 ᄀ
ĵ j
ӯ у
물 ᄆ
짜 ᄍ
났 ᄂ
란 ᄅ
초 ᄎ
ℕ N
₀ 0
특 ᄐ
목 ᄆ
︹ 〔
︺ 〕
랑 ᄅ
팍 ᄑ
휘 ᄒ
Ĵ J
찍 ᄍ
⒄ (
⒃ (
⑾ (
ʲ j
똑 ᄄ
ὠ ω
야 ᄋ
채 ᄎ
슴 ᄉ
︒ 。
ἡ η
Ї І
ὄ ο
Ḡ G
⑽ (
Ќ К
ḗ e
쁜 ᄈ
놈 ᄂ
𝔓 P
ῡ υ
왜 ᄋ
골 ᄀ
ἰ ι
쇼 ᄉ
뷰 ᄇ
티 ᄐ
흥 ᄒ
투 ᄐ
ೋ ೆ
틀 ᄐ
嗀 嗀
ോ േ
Ơ O
첩 ᄎ
딪 ᄃ
쳐 ᄎ
빠 ᄈ
˘
형 ᄒ
엽 ᄋ
클 ᄏ
브 ᄇ
릴 ᄅ
ῥ ρ
ὤ ω
친 ᄎ
존 ᄌ
렌 ᄅ
검 ᄀ
절 ᄌ
ؤ و
롯 ᄅ
험 ᄒ
ӧ о
알 ᄋ
플 ᄑ
ℂ C
ċ c
실 ᄉ
Ļ L
낙 ᄂ
맵 ᄆ
⒗ 1
홍 ᄒ
Ṛ R
납 ᄂ
Ị I
Ộ O
Ệ E
Ư U
탁 ᄐ
텔 ᄐ
︵ (
따 ᄄ
언 ᄋ
약 ᄋ
블 ᄇ
ǧ g
장 ᄌ
간 ᄀ
⁷ 7
쟁 ᄌ
찔 ᄍ
팥 ᄑ
렘 ᄅ
⁶ 6
예 ᄋ
불 ᄇ
Ṯ T
번 ᄇ
층 ᄎ
료 ᄅ
ᾶ α
맨 ᄆ
키 ᄏ
효 ᄒ
Ṁ M
ỡ o
Ḵ K
⒅ (
노 ᄂ
흠 ᄒ
Ἱ Ι
능 ᄂ
없 ᄋ
말 ᄆ
레 ᄅ
﹁ "
﹂ "
파 ᄑ
℠ S
================================================
FILE: Android/testlac/app/src/main/assets/lac_model/tag.dic
================================================
0 a-B
1 a-I
2 ad-B
3 ad-I
4 an-B
5 an-I
6 c-B
7 c-I
8 d-B
9 d-I
10 f-B
11 f-I
12 m-B
13 m-I
14 n-B
15 n-I
16 nr-B
17 nr-I
18 ns-B
19 ns-I
20 nt-B
21 nt-I
22 nw-B
23 nw-I
24 nz-B
25 nz-I
26 p-B
27 p-I
28 q-B
29 q-I
30 r-B
31 r-I
32 s-B
33 s-I
34 t-B
35 t-I
36 u-B
37 u-I
38 v-B
39 v-I
40 vd-B
41 vd-I
42 vn-B
43 vn-I
44 w-B
45 w-I
46 xc-B
47 xc-I
16 PER-B
17 PER-I
18 LOC-B
19 LOC-I
20 ORG-B
21 ORG-I
34 TIME-B
35 TIME-I
48 O
================================================
FILE: Android/testlac/app/src/main/assets/lac_model/word.dic
================================================
0
1 !
2 "
3 #
4 $
5 %
6 &
7 (
8 )
9 *
10 +
11 ,
12 -
13 .
14 /
15 0
16 1
17 2
18 3
19 4
20 5
21 6
22 7
23 8
24 9
25 :
26 ;
27 <
28 =
29 >
30 ?
31 @
32 A
33 B
34 C
35 D
36 E
37 F
38 G
39 H
40 I
41 J
42 K
43 L
44 M
45 N
46 O
47 P
48 Q
49 R
50 S
51 T
52 U
53 V
54 W
55 X
56 Y
57 Z
58 [
59 \
60 ]
61 ^
62 _
63 `
64 a
65 b
66 c
67 d
68 e
69 f
70 g
71 h
72 i
73 j
74 k
75 l
76 m
77 n
78 o
79 p
80 q
81 r
82 s
83 t
84 u
85 v
86 w
87 x
88 y
89 z
90 {
91 |
92 }
93 ~
94
95 ¢
96 £
97 ¤
98 ¥
99 §
100 «
101 ®
102 °
103 ±
104 ·
105 »
106 Æ
107 ×
108 Ø
109 Þ
110 ß
111 æ
112 ð
113 ÷
114 ø
115 þ
116 Đ
117 đ
118 ı
119 Ł
120 ł
121 œ
122 ə
123 ɡ
124 ʻ
125 ʿ
126 ˇ
127 ˉ
128 ˊ
129 ˋ
130 ́
131 Α
132 Β
133 Γ
134 Δ
135 Ε
136 Η
137 Θ
138 Ι
139 Κ
140 Μ
141 Ο
142 Π
143 Ρ
144 Σ
145 Τ
146 Υ
147 Φ
148 Χ
149 Ψ
150 Ω
151 α
152 β
153 γ
154 δ
155 ε
156 ζ
157 η
158 θ
159 ι
160 κ
161 λ
162 μ
163 ν
164 ξ
165 ο
166 π
167 ρ
168 ς
169 σ
170 τ
171 υ
172 φ
173 χ
174 ψ
175 ω
176 А
177 Б
178 В
179 Г
180 Д
181 Е
182 Ж
183 З
184 И
185 К
186 Л
187 М
188 Н
189 О
190 П
191 Р
192 С
193 Т
194 У
195 Ф
196 Х
197 Ц
198 Ч
199 Ш
200 Щ
201 Ъ
202 Ы
203 Ь
204 Э
205 Ю
206 Я
207 а
208 б
209 в
210 г
211 д
212 е
213 ж
214 з
215 и
216 к
217 л
218 м
219 н
220 о
221 п
222 р
223 с
224 т
225 у
226 ф
227 х
228 ц
229 ч
230 ш
231 щ
232 ъ
233 ы
234 ь
235 э
236 ю
237 я
238 і
239 ј
240 ա
241 א
242 ב
243 ד
244 ה
245 ו
246 ח
247 י
248 ל
249 מ
250 ן
251 נ
252 ס
253 ע
254 ק
255 ר
256 ש
257 ת
258 ا
259 ب
260 ة
261 ت
262 ج
263 ح
264 د
265 ر
266 س
267 ش
268 ع
269 ف
270 ل
271 م
272 ن
273 ه
274 و
275 ي
276 ی
277 ं
278 क
279 ग
280 ज
281 त
282 द
283 न
284 प
285 ब
286 म
287 य
288 र
289 ल
290 व
291 स
292 ह
293 ा
294 ि
295 ी
296 ु
297 े
298 ो
299 ्
300 া
301 ்
302 න
303 ර
304 ව
305 ්
306 ා
307 ි
308 ු
309 ෙ
310 ง
311 น
312 ม
313 ร
314 อ
315 า
316 เ
317 ་
318 ᄀ
319 ᄂ
320 ᄃ
321 ᄅ
322 ᄆ
323 ᄇ
324 ᄉ
325 ᄋ
326 ᄌ
327 ᄎ
328 ᄒ
329 ‐
330 –
331 ―
332 „
333 †
334 ‰
335 ′
336 ※
337 ₤
338 €
339 ←
340 ↑
341 →
342 ↓
343 ↖
344 ↗
345 ↘
346 ↙
347 ∈
348 ∏
349 ∑
350 −
351 ∕
352 √
353 ∝
354 ∞
355 ∠
356 ∣
357 ∧
358 ∨
359 ∩
360 ∪
361 ∫
362 ∮
363 ∴
364 ∵
365 ∽
366 ≈
367 ≌
368 ≡
369 ≤
370 ≥
371 ⊕
372 ⊙
373 ⊥
374 ⌒
375 ━
376 │
377 ┃
378 ┄
379 ┅
380 ┈
381 ┊
382 ┋
383 ┏
384 ┓
385 ┛
386 ┦
387 ┬
388 ┳
389 ┷
390 ┻
391 ╃
392 ═
393 ╟
394 ╧
395 ╬
396 ╭
397 ╮
398 ╯
399 ╰
400 ╱
401 ▁
402 ▂
403 ▃
404 ▄
405 ▅
406 ▆
407 ▇
408 █
409 ▌
410 ▓
411 ■
412 □
413 ▪
414 ▲
415 △
416 ▼
417 ▽
418 ◆
419 ◇
420 ○
421 ◎
422 ●
423 ◢
424 ◣
425 ◤
426 ◥
427 ★
428 ☆
429 ♀
430 ♂
431 ❤
432 〃
433 々
434 〆
435 〇
436 《
437 》
438 〓
439 ぁ
440 あ
441 ぃ
442 い
443 ぅ
444 う
445 ぇ
446 え
447 ぉ
448 お
449 か
450 き
451 く
452 け
453 こ
454 さ
455 し
456 す
457 せ
458 そ
459 た
460 ち
461 っ
462 つ
463 て
464 と
465 な
466 に
467 ぬ
468 ね
469 の
470 は
471 ひ
472 ふ
473 へ
474 ほ
475 ま
476 み
477 む
478 め
479 も
480 ゃ
481 や
482 ゅ
483 ゆ
484 ょ
485 よ
486 ら
487 り
488 る
489 れ
490 ろ
491 ゎ
492 わ
493 ゐ
494 ゑ
495 を
496 ん
497 ゛
498 ゜
499 ゝ
500 ァ
501 ア
502 ィ
503 イ
504 ゥ
505 ウ
506 ェ
507 エ
508 ォ
509 オ
510 カ
511 キ
512 ク
513 ケ
514 コ
515 サ
516 シ
517 ス
518 セ
519 ソ
520 タ
521 チ
522 ッ
523 ツ
524 テ
525 ト
526 ナ
527 ニ
528 ヌ
529 ネ
530 ノ
531 ハ
532 ヒ
533 フ
534 ヘ
535 ホ
536 マ
537 ミ
538 ム
539 メ
540 モ
541 ャ
542 ヤ
543 ュ
544 ユ
545 ョ
546 ヨ
547 ラ
548 リ
549 ル
550 レ
551 ロ
552 ワ
553 ヲ
554 ン
555 ヶ
556 ー
557 ヽ
558 ㄆ
559 ㄇ
560 ㄊ
561 ㄋ
562 ㄎ
563 ㄏ
564 ㄒ
565 ㄚ
566 ㄟ
567 ㄣ
568 ㄥ
569 ㄧ
570 ㄨ
571 䇲
572 䌷
573 䴘
574 䴙
575 䶮
576 一
577 丁
578 丂
579 七
580 丄
581 丅
582 丆
583 万
584 丈
585 上
586 下
587 丌
588 不
589 与
590 丏
591 丐
592 丑
593 专
594 且
595 丕
596 世
597 丗
598 丘
599 丙
600 业
601 丛
602 东
603 丝
604 丞
605 丢
606 两
607 严
608 丧
609 丨
610 个
611 丫
612 丬
613 中
614 丰
615 串
616 临
617 丶
618 丷
619 丸
620 丹
621 为
622 主
623 丼
624 丽
625 举
626 丿
627 乀
628 乁
629 乂
630 乃
631 乄
632 久
633 乇
634 么
635 义
636 之
637 乌
638 乍
639 乎
640 乏
641 乐
642 乒
643 乓
644 乔
645 乕
646 乖
647 乘
648 乙
649 乚
650 乛
651 乜
652 九
653 乞
654 也
655 习
656 乡
657 乣
658 书
659 乩
660 买
661 乱
662 乳
663 乸
664 亀
665 亅
666 了
667 亇
668 予
669 争
670 亊
671 事
672 二
673 亍
674 于
675 亏
676 云
677 互
678 亓
679 五
680 井
681 亖
682 亘
683 亚
684 些
685 亜
686 亟
687 亠
688 亡
689 亢
690 交
691 亥
692 亦
693 产
694 亨
695 亩
696 享
697 京
698 亭
699 亮
700 亰
701 亲
702 亳
703 亵
704 亶
705 亹
706 人
707 亻
708 亽
709 亿
710 什
711 仁
712 仂
713 仃
714 仄
715 仅
716 仆
717 仇
718 仉
719 今
720 介
721 仍
722 从
723 仏
724 仐
725 仑
726 仓
727 仔
728 仕
729 他
730 仗
731 付
732 仙
733 仞
734 仟
735 仡
736 代
737 令
738 以
739 仨
740 仪
741 仫
742 们
743 仮
744 仰
745 仲
746 仵
747 件
748 价
749 任
750 仼
751 份
752 仿
753 企
754 伈
755 伉
756 伊
757 伋
758 伍
759 伎
760 伏
761 伐
762 休
763 众
764 优
765 伙
766 会
767 伛
768 伝
769 伞
770 伟
771 传
772 伢
773 伤
774 伥
775 伦
776 伧
777 伩
778 伪
779 伫
780 伬
781 伯
782 估
783 伱
784 伲
785 伴
786 伶
787 伸
788 伺
789 似
790 伽
791 伾
792 佂
793 佃
794 但
795 佉
796 位
797 低
798 住
799 佐
800 佑
801 体
802 何
803 佗
804 余
805 佚
806 佛
807 作
808 佝
809 佞
810 佟
811 佢
812 佣
813 佤
814 佥
815 佧
816 佩
817 佬
818 佯
819 佰
820 佲
821 佳
822 佴
823 佶
824 佷
825 佺
826 佻
827 佼
828 佽
829 佾
830 使
831 侃
832 侄
833 侈
834 侉
835 例
836 侍
837 侎
838 侏
839 侑
840 侓
841 侗
842 侘
843 供
844 依
845 侠
846 価
847 侣
848 侥
849 侦
850 侧
851 侨
852 侩
853 侪
854 侬
855 侮
856 侯
857 侵
858 便
859 促
860 俄
861 俅
862 俆
863 俊
864 俎
865 俏
866 俐
867 俑
868 俗
869 俘
870 俚
871 俜
872 保
873 俞
874 俟
875 信
876 俢
877 俣
878 俤
879 俦
880 俨
881 俩
882 俪
883 俫
884 俬
885 俭
886 修
887 俯
888 俱
889 俳
890 俵
891 俶
892 俸
893 俺
894 俾
895 倌
896 倍
897 倏
898 倒
899 倓
900 倔
901 倘
902 候
903 倚
904 倜
905 倞
906 借
907 倡
908 値
909 倥
910 倦
911 倨
912 倩
913 倪
914 倬
915 倭
916 倮
917 倶
918 债
919 倻
920 值
921 倾
922 偁
923 偃
924 假
925 偈
926 偌
927 偎
928 偏
929 偓
930 偕
931 做
932 停
933 偞
934 健
935 偬
936 偲
937 偶
938 偷
939 偸
940 偻
941 偾
942 偿
943 傀
944 傅
945 傈
946 傉
947 傍
948 傒
949 傕
950 傣
951 傥
952 傧
953 储
954 傩
955 催
956 傲
957 傻
958 像
959 僖
960 僚
961 僦
962 僧
963 僭
964 僮
965 僰
966 僳
967 僵
968 僻
969 僾
970 儆
971 儋
972 儒
973 儚
974 儡
975 儿
976 兀
977 允
978 元
979 兄
980 充
981 兆
982 先
983 光
984 克
985 免
986 児
987 兑
988 兔
989 兕
990 兖
991 党
992 兜
993 兢
994 入
995 全
996 八
997 公
998 六
999 兮
1000 兰
1001 共
1002 兲
1003 关
1004 兴
1005 兵
1006 其
1007 具
1008 典
1009 兹
1010 养
1011 兼
1012 兽
1013 兿
1014 冀
1015 冂
1016 冃
1017 内
1018 円
1019 冈
1020 冉
1021 册
1022 再
1023 冏
1024 冒
1025 冕
1026 冖
1027 冗
1028 写
1029 冚
1030 军
1031 农
1032 冠
1033 冢
1034 冤
1035 冥
1036 冦
1037 冧
1038 冨
1039 冫
1040 冬
1041 冮
1042 冯
1043 冰
1044 冲
1045 决
1046 冴
1047 况
1048 冶
1049 冷
1050 冻
1051 冼
1052 冽
1053 冿
1054 净
1055 凃
1056 凄
1057 准
1058 凇
1059 凉
1060 凊
1061 凋
1062 凌
1063 减
1064 凑
1065 凔
1066 凖
1067 凛
1068 凝
1069 几
1070 凡
1071 凤
1072 凪
1073 凫
1074 凭
1075 凯
1076 凰
1077 凳
1078 凶
1079 凸
1080 凹
1081 出
1082 击
1083 凼
1084 函
1085 凿
1086 刀
1087 刁
1088 刂
1089 刃
1090 分
1091 切
1092 刈
1093 刊
1094 刍
1095 刎
1096 刑
1097 划
1098 刖
1099 列
1100 刘
1101 则
1102 刚
1103 初
1104 删
1105 判
1106 利
1107 别
1108 刬
1109 刮
1110 到
1111 制
1112 刷
1113 券
1114 刹
1115 刺
1116 刻
1117 刽
1118 刿
1119 剀
1120 剁
1121 剂
1122 剃
1123 削
1124 剌
1125 前
1126 剐
1127 剑
1128 剔
1129 剖
1130 剜
1131 剡
1132 剣
1133 剤
1134 剥
1135 剧
1136 剩
1137 剪
1138 副
1139 剰
1140 割
1141 創
1142 剽
1143 剿
1144 力
1145 劝
1146 办
1147 功
1148 加
1149 务
1150 劢
1151 劣
1152 助
1153 努
1154 劫
1155 劬
1156 劭
1157 励
1158 劲
1159 劳
1160 労
1161 劻
1162 劼
1163 劾
1164 势
1165 勃
1166 勇
1167 勉
1168 勋
1169 勍
1170 勐
1171 勒
1172 動
1173 勖
1174 勘
1175 募
1176 勤
1177 勥
1178 勫
1179 勰
1180 勲
1181 勺
1182 勾
1183 勿
1184 匀
1185 匂
1186 包
1187 匆
1188 匈
1189 匍
1190 匏
1191 匐
1192 匕
1193 化
1194 北
1195 匙
1196 匚
1197 匝
1198 匠
1199 匡
1200 匣
1201 匪
1202 匮
1203 匹
1204 区
1205 医
1206 匾
1207 匿
1208 十
1209 千
1210 卅
1211 升
1212 午
1213 卉
1214 半
1215 卌
1216 卍
1217 华
1218 协
1219 卐
1220 卑
1221 卒
1222 卓
1223 单
1224 卖
1225 南
1226 単
1227 博
1228 卜
1229 卞
1230 卟
1231 占
1232 卡
1233 卢
1234 卣
1235 卤
1236 卦
1237 卧
1238 卩
1239 卫
1240 卮
1241 卯
1242 印
1243 危
1244 卲
1245 即
1246 却
1247 卵
1248 卷
1249 卸
1250 卺
1251 卿
1252 厂
1253 厄
1254 厅
1255 历
1256 厉
1257 压
1258 厌
1259 厍
1260 厓
1261 厕
1262 厘
1263 厚
1264 厝
1265 厡
1266 厢
1267 厥
1268 厦
1269 厨
1270 厩
1271 厮
1272 厳
1273 厶
1274 厷
1275 去
1276 县
1277 叁
1278 參
1279 叆
1280 又
1281 叉
1282 及
1283 友
1284 双
1285 反
1286 发
1287 叒
1288 叔
1289 叕
1290 取
1291 受
1292 变
1293 叙
1294 叛
1295 叟
1296 叠
1297 口
1298 古
1299 句
1300 另
1301 叨
1302 叩
1303 只
1304 叫
1305 召
1306 叭
1307 叮
1308 可
1309 台
1310 叱
1311 史
1312 右
1313 叵
1314 叶
1315 号
1316 司
1317 叹
1318 叻
1319 叼
1320 叽
1321 吁
1322 吃
1323 各
1324 吅
1325 吆
1326 合
1327 吉
1328 吊
1329 吋
1330 同
1331 名
1332 后
1333 吏
1334 吐
1335 向
1336 吓
1337 吔
1338 吕
1339 吖
1340 吗
1341 吙
1342 君
1343 吝
1344 吞
1345 吟
1346 吠
1347 吡
1348 吣
1349 吥
1350 否
1351 吧
1352 吨
1353 吩
1354 含
1355 听
1356 吭
1357 吮
1358 启
1359 吱
1360 吲
1361 吴
1362 吵
1363 吸
1364 吹
1365 吻
1366 吼
1367 吽
1368 吾
1369 呀
1370 呃
1371 呆
1372 呈
1373 呉
1374 告
1375 呋
1376 呎
1377 呐
1378 呑
1379 呒
1380 呓
1381 呔
1382 呕
1383 呖
1384 呗
1385 员
1386 呙
1387 呛
1388 呜
1389 呢
1390 呤
1391 呦
1392 周
1393 呬
1394 呯
1395 呲
1396 味
1397 呴
1398 呵
1399 呷
1400 呸
1401 呻
1402 命
1403 咀
1404 咁
1405 咂
1406 咄
1407 咅
1408 咆
1409 咋
1410 和
1411 咎
1412 咏
1413 咐
1414 咒
1415 咔
1416 咕
1417 咖
1418 咗
1419 咘
1420 咙
1421 咚
1422 咛
1423 咝
1424 咡
1425 咣
1426 咤
1427 咥
1428 咦
1429 咧
1430 咨
1431 咩
1432 咪
1433 咫
1434 咬
1435 咭
1436 咯
1437 咱
1438 咳
1439 咵
1440 咸
1441 咻
1442 咽
1443 咾
1444 咿
1445 哀
1446 品
1447 哂
1448 哆
1449 哇
1450 哈
1451 哉
1452 哋
1453 哌
1454 响
1455 哎
1456 哏
1457 哐
1458 哑
1459 哒
1460 哓
1461 哔
1462 哕
1463 哗
1464 哙
1465 哚
1466 哝
1467 哞
1468 哟
1469 哥
1470 哦
1471 哧
1472 哨
1473 哩
1474 哪
1475 哭
1476 哮
1477 哲
1478 哹
1479 哺
1480 哻
1481 哼
1482 哽
1483 哾
1484 唁
1485 唂
1486 唃
1487 唅
1488 唆
1489 唇
1490 唈
1491 唉
1492 唊
1493 唋
1494 唌
1495 唍
1496 唎
1497 唏
1498 唐
1499 唑
1500 唒
1501 唓
1502 唔
1503 唖
1504 唗
1505 唙
1506 唛
1507 唜
1508 唝
1509 唞
1510 唠
1511 唢
1512 唣
1513 唤
1514 唧
1515 唬
1516 售
1517 唯
1518 唰
1519 唱
1520 唳
1521 唵
1522 唷
1523 唻
1524 唾
1525 唿
1526 啁
1527 啃
1528 啄
1529 商
1530 啇
1531 啉
1532 啊
1533 啐
1534 啕
1535 啖
1536 啜
1537 啡
1538 啤
1539 啥
1540 啦
1541 啧
1542 啪
1543 啫
1544 啬
1545 啭
1546 啮
1547 啰
1548 啲
1549 啵
1550 啶
1551 啷
1552 啸
1553 啻
1554 啼
1555 啾
1556 喀
1557 喁
1558 喂
1559 喃
1560 善
1561 喇
1562 喈
1563 喉
1564 喊
1565 喋
1566 喏
1567 喑
1568 喔
1569 喘
1570 喙
1571 喜
1572 喝
1573 喟
1574 喧
1575 喰
1576 喱
1577 喳
1578 喵
1579 営
1580 喷
1581 喹
1582 喻
1583 喽
1584 喾
1585 嗄
1586 嗅
1587 嗉
1588 嗌
1589 嗏
1590 嗑
1591 嗒
1592 嗓
1593 嗔
1594 嗖
1595 嗙
1596 嗜
1597 嗝
1598 嗞
1599 嗟
1600 嗡
1601 嗣
1602 嗤
1603 嗥
1604 嗦
1605 嗨
1606 嗪
1607 嗫
1608 嗮
1609 嗯
1610 嗲
1611 嗳
1612 嗵
1613 嗷
1614 嗽
1615 嘀
1616 嘁
1617 嘈
1618 嘉
1619 嘌
1620 嘎
1621 嘏
1622 嘘
1623 嘚
1624 嘛
1625 嘞
1626 嘟
1627 嘢
1628 嘣
1629 嘤
1630 嘦
1631 嘧
1632 嘬
1633 嘭
1634 嘱
1635 嘲
1636 嘴
1637 嘶
1638 嘹
1639 嘻
1640 嘼
1641 嘿
1642 噂
1643 噌
1644 噎
1645 噏
1646 噔
1647 噗
1648 噘
1649 噙
1650 噚
1651 噛
1652 噜
1653 噢
1654 噤
1655 器
1656 噩
1657 噪
1658 噫
1659 噬
1660 噱
1661 噶
1662 噺
1663 噻
1664 噼
1665 嚄
1666 嚅
1667 嚎
1668 嚏
1669 嚒
1670 嚓
1671 嚜
1672 嚞
1673 嚟
1674 嚣
1675 嚯
1676 嚷
1677 嚼
1678 囊
1679 囍
1680 囔
1681 囖
1682 囗
1683 囚
1684 四
1685 囝
1686 回
1687 囟
1688 因
1689 囡
1690 团
1691 団
1692 囤
1693 囧
1694 囩
1695 囫
1696 园
1697 囮
1698 困
1699 囱
1700 囲
1701 図
1702 围
1703 囵
1704 囷
1705 囹
1706 固
1707 国
1708 图
1709 囿
1710 圃
1711 圄
1712 圆
1713 圈
1714 圉
1715 圊
1716 圌
1717 圏
1718 圐
1719 圙
1720 圜
1721 圞
1722 土
1723 圣
1724 圧
1725 在
1726 圩
1727 圪
1728 圬
1729 圭
1730 圮
1731 圯
1732 地
1733 圳
1734 圹
1735 场
1736 圻
1737 圾
1738 址
1739 坂
1740 均
1741 坉
1742 坊
1743 坍
1744 坎
1745 坏
1746 坐
1747 坑
1748 块
1749 坚
1750 坛
1751 坜
1752 坝
1753 坞
1754 坟
1755 坠
1756 坡
1757 坤
1758 坦
1759 坨
1760 坩
1761 坪
1762 坭
1763 坯
1764 坳
1765 坷
1766 坻
1767 坼
1768 垂
1769 垃
1770 垄
1771 垆
1772 垈
1773 型
1774 垌
1775 垒
1776 垓
1777 垕
1778 垚
1779 垛
1780 垟
1781 垠
1782 垡
1783 垢
1784 垣
1785 垤
1786 垦
1787 垧
1788 垩
1789 垫
1790 垭
1791 垮
1792 垯
1793 垰
1794 垱
1795 垲
1796 垴
1797 垸
1798 垾
1799 埂
1800 埃
1801 埇
1802 埋
1803 埌
1804 城
1805 埏
1806 埒
1807 埔
1808 埕
1809 埗
1810 埘
1811 埙
1812 埚
1813 域
1814 埠
1815 埤
1816 埫
1817 埭
1818 埯
1819 埴
1820 埵
1821 埸
1822 培
1823 基
1824 埼
1825 堀
1826 堁
1827 堂
1828 堆
1829 堇
1830 堉
1831 堌
1832 堎
1833 堑
1834 堔
1835 堕
1836 堙
1837 堞
1838 堠
1839 堡
1840 堤
1841 堪
1842 堰
1843 堵
1844 堺
1845 堽
1846 塄
1847 塅
1848 塆
1849 塌
1850 塍
1851 塑
1852 塔
1853 塘
1854 塞
1855 塩
1856 填
1857 塬
1858 塯
1859 塱
1860 塾
1861 墀
1862 墁
1863 境
1864 墅
1865 墉
1866 墒
1867 墓
1868 増
1869 墘
1870 墙
1871 增
1872 墟
1873 墦
1874 墨
1875 墩
1876 壁
1877 壅
1878 壆
1879 壊
1880 壑
1881 壕
1882 壤
1883 士
1884 壬
1885 壮
1886 声
1887 壱
1888 売
1889 壳
1890 壶
1891 壷
1892 壸
1893 壹
1894 夂
1895 处
1896 夆
1897 备
1898 変
1899 夊
1900 夋
1901 夌
1902 复
1903 夏
1904 夔
1905 夕
1906 外
1907 夙
1908 多
1909 夜
1910 够
1911 夤
1912 大
1913 夨
1914 天
1915 太
1916 夫
1917 夬
1918 夭
1919 央
1920 夯
1921 失
1922 夲
1923 头
1924 夷
1925 夸
1926 夹
1927 夺
1928 夼
1929 奀
1930 奁
1931 奂
1932 奄
1933 奇
1934 奈
1935 奉
1936 奋
1937 奌
1938 奎
1939 奏
1940 契
1941 奓
1942 奔
1943 奕
1944 奖
1945 套
1946 奘
1947 奚
1948 奠
1949 奢
1950 奤
1951 奥
1952 奭
1953 女
1954 奴
1955 奶
1956 奷
1957 奸
1958 她
1959 好
1960 妁
1961 如
1962 妃
1963 妄
1964 妆
1965 妇
1966 妈
1967 妊
1968 妍
1969 妏
1970 妒
1971 妓
1972 妖
1973 妗
1974 妘
1975 妙
1976 妞
1977 妠
1978 妣
1979 妤
1980 妥
1981 妨
1982 妩
1983 妪
1984 妫
1985 妮
1986 妯
1987 妲
1988 妹
1989 妺
1990 妻
1991 妾
1992 姁
1993 姆
1994 姊
1995 始
1996 姌
1997 姐
1998 姑
1999 姒
2000 姓
2001 委
2002 姗
2003 姘
2004 姚
2005 姜
2006 姝
2007 姣
2008 姤
2009 姥
2010 姧
2011 姨
2012 姫
2013 姬
2014 姮
2015 姱
2016 姳
2017 姵
2018 姹
2019 姻
2020 姽
2021 姿
2022 威
2023 娃
2024 娄
2025 娅
2026 娆
2027 娇
2028 娈
2029 娉
2030 娌
2031 娑
2032 娓
2033 娘
2034 娚
2035 娜
2036 娟
2037 娠
2038 娡
2039 娣
2040 娥
2041 娩
2042 娭
2043 娱
2044 娲
2045 娴
2046 娶
2047 娼
2048 婀
2049 婆
2050 婉
2051 婊
2052 婍
2053 婐
2054 婓
2055 婕
2056 婖
2057 婘
2058 婚
2059 婠
2060 婢
2061 婥
2062 婧
2063 婪
2064 婲
2065 婳
2066 婴
2067 婵
2068 婶
2069 婷
2070 婺
2071 婼
2072 婿
2073 媂
2074 媃
2075 媄
2076 媒
2077 媗
2078 媚
2079 媛
2080 媜
2081 媞
2082 媤
2083 媪
2084 媱
2085 媲
2086 媳
2087 媵
2088 媸
2089 媺
2090 媾
2091 嫁
2092 嫂
2093 嫄
2094 嫉
2095 嫌
2096 嫐
2097 嫑
2098 嫒
2099 嫔
2100 嫖
2101 嫘
2102 嫚
2103 嫠
2104 嫡
2105 嫣
2106 嫤
2107 嫦
2108 嫩
2109 嫪
2110 嫫
2111 嫱
2112 嫲
2113 嫽
2114 嬅
2115 嬉
2116 嬖
2117 嬗
2118 嬛
2119 嬢
2120 嬬
2121 嬲
2122 嬴
2123 嬷
2124 嬿
2125 孀
2126 子
2127 孑
2128 孒
2129 孓
2130 孔
2131 孕
2132 孖
2133 字
2134 存
2135 孙
2136 孚
2137 孛
2138 孜
2139 孝
2140 孟
2141 孢
2142 季
2143 孤
2144 孥
2145 学
2146 孧
2147 孩
2148 孪
2149 孬
2150 孰
2151 孱
2152 孳
2153 孵
2154 孺
2155 孽
2156 宀
2157 宁
2158 它
2159 宅
2160 宇
2161 守
2162 安
2163 宋
2164 完
2165 宍
2166 宏
2167 宓
2168 宔
2169 宕
2170 宗
2171 官
2172 宙
2173 定
2174 宛
2175 宜
2176 宝
2177 实
2178 実
2179 宠
2180 审
2181 客
2182 宣
2183 室
2184 宥
2185 宦
2186 宪
2187 宫
2188 宬
2189 宰
2190 害
2191 宴
2192 宵
2193 家
2194 宸
2195 容
2196 宽
2197 宾
2198 宿
2199 寂
2200 寄
2201 寅
2202 密
2203 寇
2204 富
2205 寐
2206 寒
2207 寓
2208 寛
2209 寝
2210 寞
2211 察
2212 寡
2213 寤
2214 寥
2215 寨
2216 寮
2217 寯
2218 寰
2219 寸
2220 对
2221 寺
2222 寻
2223 导
2224 対
2225 寿
2226 封
2227 専
2228 射
2229 将
2230 尉
2231 尊
2232 小
2233 尐
2234 少
2235 尓
2236 尔
2237 尕
2238 尖
2239 尘
2240 尚
2241 尛
2242 尜
2243 尝
2244 尢
2245 尤
2246 尥
2247 尧
2248 尨
2249 尪
2250 尬
2251 就
2252 尴
2253 尸
2254 尹
2255 尺
2256 尻
2257 尼
2258 尽
2259 尾
2260 尿
2261 局
2262 屁
2263 层
2264 屃
2265 屄
2266 居
2267 屈
2268 屉
2269 届
2270 屋
2271 屌
2272 屎
2273 屏
2274 屐
2275 屑
2276 展
2277 属
2278 屠
2279 屡
2280 屣
2281 履
2282 屦
2283 屮
2284 屯
2285 山
2286 屹
2287 屺
2288 屾
2289 屿
2290 岀
2291 岁
2292 岂
2293 岈
2294 岌
2295 岐
2296 岑
2297 岒
2298 岔
2299 岕
2300 岖
2301 岗
2302 岘
2303 岙
2304 岚
2305 岛
2306 岜
2307 岞
2308 岠
2309 岢
2310 岣
2311 岩
2312 岫
2313 岬
2314 岭
2315 岱
2316 岳
2317 岵
2318 岷
2319 岸
2320 岺
2321 岽
2322 岿
2323 峁
2324 峃
2325 峄
2326 峇
2327 峋
2328 峎
2329 峒
2330 峘
2331 峙
2332 峚
2333 峠
2334 峡
2335 峣
2336 峤
2337 峥
2338 峦
2339 峨
2340 峪
2341 峭
2342 峰
2343 峻
2344 崀
2345 崁
2346 崂
2347 崃
2348 崆
2349 崇
2350 崋
2351 崎
2352 崔
2353 崖
2354 崚
2355 崛
2356 崟
2357 崤
2358 崦
2359 崩
2360 崭
2361 崮
2362 崴
2363 崽
2364 嵇
2365 嵊
2366 嵋
2367 嵌
2368 嵎
2369 嵕
2370 嵖
2371 嵘
2372 嵚
2373 嵛
2374 嵝
2375 嵨
2376 嵩
2377 嵬
2378 嵯
2379 嵴
2380 嶂
2381 嶅
2382 嶋
2383 嶌
2384 嶙
2385 嶝
2386 嶶
2387 嶷
2388 巅
2389 巆
2390 巉
2391 巍
2392 巕
2393 巛
2394 巜
2395 川
2396 州
2397 巡
2398 巢
2399 巣
2400 工
2401 左
2402 巧
2403 巨
2404 巩
2405 巫
2406 巭
2407 差
2408 巯
2409 己
2410 已
2411 巳
2412 巴
2413 巷
2414 巻
2415 巽
2416 巾
2417 巿
2418 币
2419 市
2420 布
2421 帅
2422 帆
2423 师
2424 希
2425 帏
2426 帐
2427 帑
2428 帔
2429 帕
2430 帖
2431 帘
2432 帙
2433 帚
2434 帛
2435 帜
2436 帝
2437 带
2438 帧
2439 席
2440 帮
2441 帯
2442 帰
2443 帷
2444 常
2445 帻
2446 帼
2447 帽
2448 幂
2449 幄
2450 幅
2451 幌
2452 幔
2453 幕
2454 幛
2455 幞
2456 幡
2457 幢
2458 幪
2459 干
2460 平
2461 年
2462 并
2463 幸
2464 幻
2465 幼
2466 幽
2467 广
2468 庁
2469 広
2470 庄
2471 庆
2472 庇
2473 床
2474 序
2475 庐
2476 庑
2477 庒
2478 库
2479 应
2480 底
2481 庖
2482 店
2483 庙
2484 庚
2485 府
2486 庝
2487 庞
2488 废
2489 庠
2490 庡
2491 庤
2492 庥
2493 度
2494 座
2495 庭
2496 庵
2497 庶
2498 康
2499 庸
2500 庹
2501 庾
2502 廃
2503 廆
2504 廉
2505 廊
2506 廋
2507 廌
2508 廓
2509 廖
2510 廛
2511 廨
2512 廪
2513 廯
2514 廰
2515 延
2516 廷
2517 建
2518 廿
2519 开
2520 弁
2521 异
2522 弃
2523 弄
2524 弇
2525 弈
2526 弊
2527 弋
2528 弎
2529 式
2530 弐
2531 弑
2532 弓
2533 引
2534 弗
2535 弘
2536 弛
2537 弟
2538 张
2539 弢
2540 弥
2541 弦
2542 弧
2543 弩
2544 弭
2545 弯
2546 弱
2547 弶
2548 弹
2549 强
2550 弼
2551 弾
2552 彀
2553 彐
2554 归
2555 当
2556 录
2557 彖
2558 彗
2559 彘
2560 彝
2561 彡
2562 形
2563 彤
2564 彦
2565 彧
2566 彩
2567 彪
2568 彬
2569 彭
2570 彰
2571 影
2572 彳
2573 彷
2574 役
2575 彻
2576 彼
2577 往
2578 征
2579 徂
2580 径
2581 待
2582 徇
2583 很
2584 徉
2585 徊
2586 律
2587 徍
2588 徐
2589 徒
2590 従
2591 徕
2592 得
2593 徘
2594 徙
2595 徜
2596 御
2597 徦
2598 徨
2599 循
2600 徭
2601 微
2602 徳
2603 徴
2604 德
2605 徻
2606 徼
2607 徽
2608 心
2609 忄
2610 必
2611 忆
2612 忌
2613 忍
2614 忏
2615 忐
2616 忑
2617 忒
2618 忓
2619 忔
2620 忖
2621 志
2622 忘
2623 忙
2624 忛
2625 応
2626 忝
2627 忞
2628 忠
2629 忡
2630 忤
2631 忧
2632 忪
2633 快
2634 忱
2635 念
2636 忸
2637 忻
2638 忽
2639 忾
2640 忿
2641 怀
2642 态
2643 怂
2644 怃
2645 怄
2646 怅
2647 怆
2648 怍
2649 怎
2650 怏
2651 怒
2652 怔
2653 怕
2654 怖
2655 怙
2656 怛
2657 怜
2658 思
2659 怠
2660 怡
2661 急
2662 怦
2663 性
2664 怨
2665 怩
2666 怪
2667 怫
2668 怮
2669 怯
2670 怹
2671 总
2672 怼
2673 怿
2674 恁
2675 恂
2676 恃
2677 恋
2678 恍
2679 恐
2680 恒
2681 恓
2682 恕
2683 恖
2684 恘
2685 恙
2686 恚
2687 恢
2688 恣
2689 恤
2690 恨
2691 恩
2692 恪
2693 恫
2694 恬
2695 恭
2696 息
2697 恰
2698 恳
2699 恵
2700 恶
2701 恸
2702 恹
2703 恺
2704 恻
2705 恼
2706 恽
2707 恿
2708 悄
2709 悉
2710 悌
2711 悍
2712 悒
2713 悔
2714 悕
2715 悖
2716 悚
2717 悛
2718 悝
2719 悟
2720 悠
2721 患
2722 悦
2723 您
2724 悩
2725 悪
2726 悫
2727 悬
2728 悭
2729 悯
2730 悱
2731 悲
2732 悳
2733 悴
2734 悸
2735 悻
2736 悼
2737 悾
2738 情
2739 惆
2740 惇
2741 惊
2742 惋
2743 惑
2744 惔
2745 惕
2746 惘
2747 惚
2748 惜
2749 惟
2750 惠
2751 惢
2752 惣
2753 惦
2754 惧
2755 惨
2756 惩
2757 惫
2758 惬
2759 惭
2760 惮
2761 惯
2762 惰
2763 想
2764 惴
2765 惶
2766 惹
2767 惺
2768 愀
2769 愁
2770 愆
2771 愈
2772 愉
2773 愍
2774 愎
2775 意
2776 愔
2777 愕
2778 愙
2779 愚
2780 感
2781 愠
2782 愢
2783 愣
2784 愤
2785 愧
2786 愫
2787 愿
2788 慈
2789 慊
2790 慌
2791 慎
2792 慑
2793 慕
2794 慜
2795 慢
2796 慧
2797 慨
2798 慰
2799 慱
2800 慵
2801 慷
2802 憋
2803 憎
2804 憔
2805 憝
2806 憣
2807 憧
2808 憨
2809 憩
2810 憬
2811 憷
2812 憾
2813 懂
2814 懆
2815 懈
2816 懊
2817 懋
2818 懐
2819 懑
2820 懒
2821 懓
2822 懦
2823 懵
2824 懿
2825 戆
2826 戈
2827 戊
2828 戋
2829 戌
2830 戍
2831 戎
2832 戏
2833 成
2834 我
2835 戒
2836 戕
2837 或
2838 戗
2839 战
2840 戚
2841 戛
2842 戝
2843 戟
2844 戠
2845 戡
2846 戢
2847 戥
2848 戦
2849 截
2850 戬
2851 戮
2852 戳
2853 戴
2854 户
2855 戸
2856 戻
2857 戽
2858 戾
2859 房
2860 所
2861 扁
2862 扃
2863 扆
2864 扇
2865 扈
2866 扉
2867 手
2868 扌
2869 才
2870 扎
2871 扑
2872 扒
2873 打
2874 扔
2875 払
2876 扛
2877 扣
2878 扥
2879 扦
2880 执
2881 扩
2882 扪
2883 扫
2884 扬
2885 扭
2886 扮
2887 扯
2888 扰
2889 扱
2890 扳
2891 扶
2892 批
2893 扼
2894 扽
2895 找
2896 承
2897 技
2898 抄
2899 抉
2900 把
2901 抑
2902 抒
2903 抓
2904 抔
2905 投
2906 抖
2907 抗
2908 折
2909 抚
2910 抛
2911 抜
2912 択
2913 抟
2914 抠
2915 抡
2916 抢
2917 护
2918 报
2919 抨
2920 披
2921 抬
2922 抱
2923 抵
2924 抹
2925 抺
2926 抻
2927 押
2928 抽
2929 抿
2930 拂
2931 拄
2932 担
2933 拆
2934 拇
2935 拈
2936 拉
2937 拊
2938 拌
2939 拍
2940 拎
2941 拐
2942 拒
2943 拓
2944 拔
2945 拖
2946 拗
2947 拘
2948 拙
2949 招
2950 拜
2951 拝
2952 拟
2953 拠
2954 拡
2955 拢
2956 拣
2957 拥
2958 拦
2959 拧
2960 拨
2961 择
2962 括
2963 拭
2964 拮
2965 拯
2966 拱
2967 拳
2968 拴
2969 拶
2970 拷
2971 拼
2972 拽
2973 拿
2974 持
2975 挂
2976 指
2977 挈
2978 按
2979 挎
2980 挑
2981 挖
2982 挙
2983 挚
2984 挛
2985 挝
2986 挞
2987 挟
2988 挠
2989 挡
2990 挢
2991 挣
2992 挤
2993 挥
2994 挨
2995 挪
2996 挫
2997 振
2998 挲
2999 挹
3000 挺
3001 挽
3002 挿
3003 捂
3004 捅
3005 捆
3006 捉
3007 捋
3008 捌
3009 捍
3010 捎
3011 捏
3012 捐
3013 捕
3014 捜
3015 捞
3016 损
3017 捡
3018 换
3019 捣
3020 捧
3021 捩
3022 捭
3023 据
3024 捯
3025 捰
3026 捱
3027 捶
3028 捷
3029 捺
3030 捻
3031 掀
3032 掂
3033 掇
3034 授
3035 掉
3036 掌
3037 掏
3038 掐
3039 排
3040 掖
3041 掘
3042 掟
3043 掠
3044 探
3045 掣
3046 接
3047 控
3048 推
3049 掩
3050 措
3051 掬
3052 掮
3053 掰
3054 掱
3055 掲
3056 掳
3057 掴
3058 掷
3059 掸
3060 掹
3061 掺
3062 掼
3063 掾
3064 揄
3065 揆
3066 揉
3067 揍
3068 描
3069 提
3070 插
3071 揖
3072 揠
3073 握
3074 揣
3075 揩
3076 揪
3077 揭
3078 援
3079 揵
3080 揶
3081 揸
3082 揺
3083 揽
3084 揾
3085 揿
3086 搀
3087 搁
3088 搂
3089 搅
3090 搋
3091 搏
3092 搐
3093 搓
3094 搔
3095 搜
3096 搞
3097 搡
3098 搦
3099 搪
3100 搬
3101 搭
3102 搴
3103 携
3104 搽
3105 摁
3106 摄
3107 摆
3108 摇
3109 摈
3110 摊
3111 摒
3112 摔
3113 摘
3114 摛
3115 摞
3116 摧
3117 摩
3118 摫
3119 摭
3120 摸
3121 摹
3122 摽
3123 撂
3124 撄
3125 撅
3126 撇
3127 撑
3128 撒
3129 撕
3130 撘
3131 撞
3132 撤
3133 撩
3134 撬
3135 播
3136 撮
3137 撰
3138 撵
3139 撷
3140 撸
3141 撺
3142 撼
3143 擀
3144 擂
3145 擅
3146 操
3147 擎
3148 擒
3149 擘
3150 擞
3151 擢
3152 擤
3153 擦
3154 攀
3155 攉
3156 攒
3157 攘
3158 攞
3159 攥
3160 攫
3161 支
3162 攵
3163 收
3164 攸
3165 改
3166 攻
3167 放
3168 政
3169 故
3170 效
3171 敌
3172 敏
3173 救
3174 敓
3175 敔
3176 敕
3177 敖
3178 教
3179 敛
3180 敝
3181 敞
3182 敢
3183 散
3184 敦
3185 敬
3186 数
3187 敲
3188 整
3189 敷
3190 文
3191 斉
3192 斋
3193 斌
3194 斎
3195 斐
3196 斑
3197 斓
3198 斗
3199 料
3200 斛
3201 斜
3202 斝
3203 斟
3204 斡
3205 斤
3206 斥
3207 斧
3208 斩
3209 斫
3210 断
3211 斯
3212 新
3213 方
3214 施
3215 斿
3216 旁
3217 旃
3218 旄
3219 旅
3220 旆
3221 旌
3222 旎
3223 族
3224 旒
3225 旖
3226 旗
3227 无
3228 既
3229 日
3230 旦
3231 旧
3232 旨
3233 早
3234 旬
3235 旭
3236 旮
3237 旯
3238 旰
3239 旱
3240 旳
3241 时
3242 旷
3243 旸
3244 旺
3245 旻
3246 旼
3247 昀
3248 昂
3249 昃
3250 昄
3251 昆
3252 昉
3253 昊
3254 昌
3255 明
3256 昏
3257 昐
3258 易
3259 昔
3260 昕
3261 昙
3262 昜
3263 昝
3264 星
3265 映
3266 春
3267 昧
3268 昨
3269 昭
3270 是
3271 昱
3272 昳
3273 昴
3274 昵
3275 昶
3276 昹
3277 昺
3278 昼
3279 显
3280 晁
3281 晃
3282 晋
3283 晌
3284 晏
3285 晒
3286 晓
3287 晔
3288 晕
3289 晖
3290 晗
3291 晙
3292 晚
3293 晞
3294 晟
3295 晡
3296 晢
3297 晤
3298 晥
3299 晦
3300 晧
3301 晨
3302 晩
3303 普
3304 景
3305 晰
3306 晴
3307 晶
3308 晷
3309 晸
3310 智
3311 晾
3312 暁
3313 暂
3314 暄
3315 暇
3316 暌
3317 暑
3318 暖
3319 暗
3320 暝
3321 暦
3322 暧
3323 暨
3324 暮
3325 暴
3326 暸
3327 暹
3328 暻
3329 暾
3330 曈
3331 曌
3332 曐
3333 曙
3334 曛
3335 曜
3336 曝
3337 曦
3338 曩
3339 曰
3340 曱
3341 曲
3342 曳
3343 更
3344 曷
3345 曹
3346 曺
3347 曼
3348 曽
3349 曾
3350 替
3351 最
3352 朅
3353 月
3354 有
3355 朊
3356 朋
3357 服
3358 朐
3359 朓
3360 朔
3361 朕
3362 朗
3363 望
3364 朝
3365 期
3366 朦
3367 木
3368 朩
3369 未
3370 末
3371 本
3372 札
3373 术
3374 朱
3375 朲
3376 朴
3377 朵
3378 朹
3379 机
3380 朽
3381 朿
3382 杀
3383 杂
3384 权
3385 杆
3386 杈
3387 杉
3388 杌
3389 李
3390 杏
3391 材
3392 村
3393 杓
3394 杖
3395 杜
3396 杞
3397 束
3398 杠
3399 条
3400 来
3401 杨
3402 杩
3403 杪
3404 杭
3405 杮
3406 杯
3407 杰
3408 杲
3409 杳
3410 杵
3411 杷
3412 杺
3413 杼
3414 松
3415 板
3416 极
3417 枂
3418 构
3419 枇
3420 枉
3421 枊
3422 枋
3423 析
3424 枓
3425 枕
3426 林
3427 枘
3428 枙
3429 枚
3430 果
3431 枝
3432 枞
3433 枢
3434 枣
3435 枥
3436 枧
3437 枨
3438 枪
3439 枫
3440 枭
3441 枯
3442 枰
3443 枳
3444 架
3445 枷
3446 枸
3447 枹
3448 枼
3449 柁
3450 柃
3451 柄
3452 柊
3453 柏
3454 某
3455 柑
3456 柒
3457 染
3458 柔
3459 柘
3460 柙
3461 柚
3462 柜
3463 柝
3464 柞
3465 柠
3466 柢
3467 查
3468 柩
3469 柬
3470 柯
3471 柰
3472 柱
3473 柳
3474 柴
3475 柷
3476 柸
3477 柽
3478 柾
3479 柿
3480 栀
3481 栄
3482 栅
3483 栆
3484 标
3485 栈
3486 栉
3487 栊
3488 栋
3489 栌
3490 栎
3491 栏
3492 树
3493 栒
3494 栓
3495 栖
3496 栗
3497 栝
3498 栟
3499 校
3500 栩
3501 株
3502 栲
3503 栳
3504 栴
3505 样
3506 核
3507 根
3508 格
3509 栽
3510 栾
3511 桀
3512 桁
3513 桂
3514 桃
3515 桄
3516 桅
3517 框
3518 案
3519 桉
3520 桊
3521 桌
3522 桎
3523 桐
3524 桑
3525 桓
3526 桔
3527 桕
3528 桖
3529 桜
3530 桡
3531 桢
3532 档
3533 桤
3534 桥
3535 桦
3536 桧
3537 桨
3538 桩
3539 桫
3540 桲
3541 桴
3542 桶
3543 桷
3544 梁
3545 梃
3546 梅
3547 梆
3548 梏
3549 梓
3550 梗
3551 梢
3552 梣
3553 梦
3554 梧
3555 梨
3556 梭
3557 梯
3558 械
3559 梳
3560 梵
3561 梶
3562 梼
3563 梾
3564 梿
3565 检
3566 棂
3567 棉
3568 棋
3569 棍
3570 棐
3571 棑
3572 棒
3573 棕
3574 棘
3575 棚
3576 棠
3577 棣
3578 棨
3579 棪
3580 森
3581 棰
3582 棱
3583 棵
3584 棹
3585 棺
3586 棻
3587 椁
3588 椅
3589 椇
3590 椋
3591 植
3592 椎
3593 椒
3594 椛
3595 検
3596 椟
3597 椤
3598 椪
3599 椭
3600 椰
3601 椴
3602 椹
3603 椽
3604 椿
3605 楀
3606 楂
3607 楒
3608 楔
3609 楗
3610 楚
3611 楝
3612 楞
3613 楠
3614 楢
3615 楣
3616 楦
3617 楪
3618 楫
3619 楮
3620 楯
3621 楷
3622 楸
3623 楹
3624 楼
3625 楽
3626 榀
3627 概
3628 榄
3629 榆
3630 榇
3631 榈
3632 榉
3633 榊
3634 榎
3635 榔
3636 榕
3637 榖
3638 榛
3639 榜
3640 榣
3641 榧
3642 榨
3643 榫
3644 榭
3645 榴
3646 榶
3647 榷
3648 榻
3649 槇
3650 槊
3651 槌
3652 槎
3653 槐
3654 様
3655 槙
3656 槛
3657 槟
3658 槠
3659 槭
3660 槲
3661 槺
3662 槻
3663 槽
3664 槿
3665 樊
3666 樋
3667 樗
3668 樘
3669 樟
3670 模
3671 樨
3672 権
3673 横
3674 樫
3675 樯
3676 樱
3677 樵
3678 樻
3679 樽
3680 樾
3681 橄
3682 橇
3683 橐
3684 橒
3685 橘
3686 橙
3687 橛
3688 橞
3689 橡
3690 橦
3691 橱
3692 橹
3693 橼
3694 橾
3695 檀
3696 檄
3697 檎
3698 檐
3699 檑
3700 檗
3701 檚
3702 檛
3703 檠
3704 檩
3705 檫
3706 檬
3707 檵
3708 欠
3709 次
3710 欢
3711 欣
3712 欤
3713 欧
3714 欲
3715 欷
3716 欸
3717 欹
3718 欺
3719 欻
3720 款
3721 歃
3722 歆
3723 歇
3724 歉
3725 歌
3726 歓
3727 歙
3728 止
3729 正
3730 此
3731 步
3732 武
3733 歧
3734 歩
3735 歪
3736 歯
3737 歹
3738 歺
3739 死
3740 歼
3741 殁
3742 殂
3743 殃
3744 殄
3745 殅
3746 殆
3747 殇
3748 殉
3749 殊
3750 残
3751 殍
3752 殑
3753 殒
3754 殓
3755 殖
3756 殚
3757 殛
3758 殡
3759 殢
3760 殳
3761 殴
3762 段
3763 殷
3764 殿
3765 毁
3766 毂
3767 毅
3768 毋
3769 母
3770 毎
3771 每
3772 毐
3773 毑
3774 毒
3775 毓
3776 比
3777 毕
3778 毖
3779 毗
3780 毙
3781 毛
3782 毡
3783 毫
3784 毯
3785 毳
3786 毽
3787 氅
3788 氏
3789 氐
3790 民
3791 氓
3792 气
3793 氕
3794 氖
3795 気
3796 氘
3797 氙
3798 氚
3799 氛
3800 氟
3801 氡
3802 氢
3803 氤
3804 氦
3805 氧
3806 氨
3807 氩
3808 氪
3809 氮
3810 氯
3811 氰
3812 氲
3813 水
3814 氵
3815 永
3816 氺
3817 氽
3818 氿
3819 汀
3820 汁
3821 求
3822 汆
3823 汇
3824 汉
3825 汊
3826 汏
3827 汐
3828 汔
3829 汕
3830 汖
3831 汗
3832 汛
3833 汜
3834 汝
3835 汞
3836 江
3837 池
3838 污
3839 汣
3840 汤
3841 汨
3842 汩
3843 汪
3844 汫
3845 汭
3846 汰
3847 汲
3848 汴
3849 汶
3850 汹
3851 汽
3852 汾
3853 沁
3854 沂
3855 沃
3856 沄
3857 沅
3858 沆
3859 沇
3860 沉
3861 沌
3862 沏
3863 沐
3864 沑
3865 沓
3866 沔
3867 沕
3868 沙
3869 沚
3870 沛
3871 沟
3872 没
3873 沢
3874 沣
3875 沤
3876 沥
3877 沦
3878 沧
3879 沨
3880 沩
3881 沪
3882 沫
3883 沬
3884 沭
3885 沮
3886 沱
3887 河
3888 沵
3889 沸
3890 油
3891 沺
3892 治
3893 沼
3894 沽
3895 沾
3896 沿
3897 泃
3898 泄
3899 泅
3900 泉
3901 泊
3902 泌
3903 泐
3904 泑
3905 泓
3906 泔
3907 法
3908 泖
3909 泗
3910 泘
3911 泛
3912 泞
3913 泠
3914 泡
3915 波
3916 泣
3917 泥
3918 注
3919 泪
3920 泫
3921 泬
3922 泮
3923 泯
3924 泰
3925 泱
3926 泳
3927 泵
3928 泷
3929 泸
3930 泺
3931 泻
3932 泼
3933 泽
3934 泾
3935 洁
3936 洄
3937 洇
3938 洈
3939 洋
3940 洌
3941 洎
3942 洐
3943 洑
3944 洒
3945 洗
3946 洙
3947 洛
3948 洞
3949 洢
3950 洣
3951 津
3952 洧
3953 洨
3954 洪
3955 洫
3956 洮
3957 洰
3958 洱
3959 洲
3960 洳
3961 洵
3962 洸
3963 洹
3964 洺
3965 活
3966 洼
3967 洽
3968 派
3969 流
3970 浃
3971 浅
3972 浆
3973 浇
3974 浈
3975 浉
3976 浊
3977 测
3978 浍
3979 济
3980 浏
3981 浐
3982 浑
3983 浒
3984 浓
3985 浔
3986 浗
3987 浙
3988 浚
3989 浛
3990 浜
3991 浞
3992 浠
3993 浡
3994 浣
3995 浤
3996 浥
3997 浦
3998 浩
3999 浪
4000 浭
4001 浮
4002 浯
4003 浴
4004 浵
4005 海
4006 浸
4007 浼
4008 涂
4009 涅
4010 消
4011 涉
4012 涌
4013 涎
4014 涐
4015 涑
4016 涓
4017 涔
4018 涕
4019 涘
4020 涙
4021 涛
4022 涝
4023 涞
4024 涟
4025 涠
4026 涡
4027 涢
4028 涣
4029 涤
4030 润
4031 涧
4032 涨
4033 涩
4034 涪
4035 涮
4036 涯
4037 液
4038 涴
4039 涵
4040 涸
4041 涿
4042 淀
4043 淄
4044 淅
4045 淆
4046 淇
4047 淉
4048 淋
4049 淌
4050 淏
4051 淑
4052 淖
4053 淘
4054 淙
4055 淝
4056 淞
4057 淠
4058 淡
4059 淤
4060 淦
4061 淫
4062 淬
4063 淮
4064 淯
4065 深
4066 淳
4067 淴
4068 混
4069 淸
4070 淹
4071 添
4072 渃
4073 清
4074 渇
4075 済
4076 渉
4077 渊
4078 渋
4079 渌
4080 渍
4081 渎
4082 渐
4083 渑
4084 渓
4085 渔
4086 渕
4087 渖
4088 渗
4089 渚
4090 渝
4091 渟
4092 渠
4093 渡
4094 渣
4095 渤
4096 渥
4097 温
4098 渫
4099 渭
4100 港
4101 渲
4102 渴
4103 游
4104 渺
4105 渼
4106 湃
4107 湄
4108 湉
4109 湍
4110 湎
4111 湓
4112 湔
4113 湖
4114 湘
4115 湛
4116 湜
4117 湟
4118 湫
4119 湮
4120 湲
4121 湳
4122 湴
4123 湶
4124 湾
4125 湿
4126 満
4127 溁
4128 溃
4129 溅
4130 溆
4131 溇
4132 溉
4133 溏
4134 源
4135 溘
4136 溟
4137 溢
4138 溥
4139 溦
4140 溧
4141 溪
4142 溯
4143 溱
4144 溲
4145 溴
4146 溶
4147 溷
4148 溺
4149 溽
4150 滁
4151 滂
4152 滃
4153 滆
4154 滇
4155 滈
4156 滉
4157 滋
4158 滏
4159 滑
4160 滒
4161 滓
4162 滔
4163 滕
4164 滗
4165 滘
4166 滚
4167 滝
4168 滞
4169 滟
4170 滠
4171 满
4172 滢
4173 滤
4174 滥
4175 滦
4176 滨
4177 滩
4178 滳
4179 滴
4180 滹
4181 漂
4182 漆
4183 漈
4184 漉
4185 漏
4186 漓
4187 演
4188 漕
4189 漖
4190 漟
4191 漠
4192 漩
4193 漪
4194 漫
4195 漯
4196 漱
4197 漳
4198 漶
4199 漷
4200 漾
4201 潆
4202 潇
4203 潋
4204 潍
4205 潏
4206 潓
4207 潘
4208 潜
4209 潞
4210 潟
4211 潢
4212 潥
4213 潦
4214 潭
4215 潮
4216 潲
4217 潴
4218 潸
4219 潺
4220 潼
4221 潽
4222 澄
4223 澈
4224 澉
4225 澋
4226 澌
4227 澍
4228 澎
4229 澔
4230 澛
4231 澜
4232 澡
4233 澥
4234 澧
4235 澪
4236 澭
4237 澳
4238 澴
4239 澶
4240 澹
4241 激
4242 濂
4243 濉
4244 濑
4245 濒
4246 濞
4247 濠
4248 濡
4249 濮
4250 濯
4251 濹
4252 瀍
4253 瀑
4254 瀚
4255 瀛
4256 瀞
4257 瀣
4258 瀬
4259 瀵
4260 瀹
4261 瀼
4262 灌
4263 灏
4264 灜
4265 灞
4266 灡
4267 火
4268 灬
4269 灭
4270 灯
4271 灰
4272 灵
4273 灶
4274 灸
4275 灼
4276 灾
4277 灿
4278 炀
4279 炁
4280 炅
4281 炆
4282 炉
4283 炊
4284 炎
4285 炒
4286 炔
4287 炕
4288 炖
4289 炘
4290 炙
4291 炜
4292 炝
4293 炟
4294 炣
4295 炫
4296 炬
4297 炭
4298 炮
4299 炯
4300 炳
4301 炴
4302 炷
4303 炸
4304 点
4305 炻
4306 炼
4307 炽
4308 烀
4309 烁
4310 烂
4311 烃
4312 烈
4313 烊
4314 烋
4315 烎
4316 烔
4317 烘
4318 烙
4319 烛
4320 烜
4321 烝
4322 烟
4323 烤
4324 烦
4325 烧
4326 烨
4327 烩
4328 烫
4329 烬
4330 热
4331 烯
4332 烷
4333 烹
4334 烺
4335 烽
4336 焄
4337 焉
4338 焊
4339 焌
4340 焐
4341 焓
4342 焔
4343 焕
4344 焖
4345 焗
4346 焘
4347 焙
4348 焚
4349 焜
4350 焦
4351 焯
4352 焰
4353 焱
4354 然
4355 焼
4356 煅
4357 煊
4358 煋
4359 煌
4360 煎
4361 煐
4362 煜
4363 煞
4364 煤
4365 煦
4366 照
4367 煨
4368 煮
4369 煲
4370 煳
4371 煸
4372 煺
4373 煽
4374 熄
4375 熇
4376 熊
4377 熏
4378 熔
4379 熘
4380 熙
4381 熟
4382 熠
4383 熥
4384 熨
4385 熬
4386 熳
4387 熵
4388 熹
4389 熺
4390 燃
4391 燊
4392 燎
4393 燏
4394 燔
4395 燕
4396 燚
4397 燠
4398 燥
4399 燧
4400 燮
4401 燹
4402 爆
4403 爝
4404 爨
4405 爩
4406 爪
4407 爬
4408 爰
4409 爱
4410 爵
4411 父
4412 爷
4413 爸
4414 爹
4415 爻
4416 爽
4417 牁
4418 牂
4419 片
4420 版
4421 牌
4422 牍
4423 牒
4424 牖
4425 牙
4426 牛
4427 牝
4428 牟
4429 牡
4430 牢
4431 牤
4432 牦
4433 牧
4434 物
4435 牯
4436 牲
4437 牵
4438 特
4439 牺
4440 犀
4441 犁
4442 犄
4443 犊
4444 犍
4445 犒
4446 犠
4447 犭
4448 犯
4449 犰
4450 犳
4451 犴
4452 状
4453 犷
4454 犸
4455 犹
4456 犼
4457 犽
4458 犾
4459 狂
4460 狃
4461 狄
4462 狈
4463 狍
4464 狎
4465 狐
4466 狒
4467 狗
4468 狙
4469 狛
4470 狝
4471 狞
4472 狟
4473 狠
4474 狡
4475 狦
4476 狨
4477 狩
4478 独
4479 狭
4480 狮
4481 狰
4482 狱
4483 狲
4484 狳
4485 狴
4486 狶
4487 狷
4488 狸
4489 狻
4490 狼
4491 狾
4492 猁
4493 猄
4494 猇
4495 猊
4496 猋
4497 猌
4498 猎
4499 猔
4500 猕
4501 猖
4502 猗
4503 猜
4504 猝
4505 猞
4506 猟
4507 猠
4508 猡
4509 猢
4510 猥
4511 猩
4512 猪
4513 猫
4514 猬
4515 猭
4516 献
4517 猱
4518 猳
4519 猴
4520 猷
4521 猹
4522 猾
4523 猿
4524 獀
4525 獐
4526 獒
4527 獗
4528 獠
4529 獣
4530 獬
4531 獭
4532 獴
4533 獾
4534 玂
4535 玄
4536 率
4537 玉
4538 玊
4539 王
4540 玍
4541 玎
4542 玏
4543 玑
4544 玓
4545 玕
4546 玖
4547 玗
4548 玘
4549 玙
4550 玚
4551 玛
4552 玟
4553 玠
4554 玡
4555 玢
4556 玥
4557 玦
4558 玧
4559 玩
4560 玫
4561 玭
4562 玮
4563 环
4564 现
4565 玲
4566 玳
4567 玴
4568 玷
4569 玹
4570 玺
4571 玻
4572 珀
4573 珂
4574 珅
4575 珇
4576 珈
4577 珉
4578 珊
4579 珍
4580 珏
4581 珐
4582 珑
4583 珖
4584 珙
4585 珞
4586 珠
4587 珣
4588 珥
4589 珧
4590 珩
4591 班
4592 珰
4593 珲
4594 珵
4595 珹
4596 珺
4597 珽
4598 琀
4599 琁
4600 球
4601 琄
4602 琅
4603 理
4604 琇
4605 琉
4606 琊
4607 琌
4608 琎
4609 琏
4610 琐
4611 琚
4612 琛
4613 琜
4614 琢
4615 琤
4616 琥
4617 琦
4618 琨
4619 琩
4620 琪
4621 琬
4622 琭
4623 琮
4624 琯
4625 琰
4626 琲
4627 琳
4628 琴
4629 琵
4630 琶
4631 琼
4632 瑀
4633 瑁
4634 瑄
4635 瑅
4636 瑆
4637 瑈
4638 瑍
4639 瑕
4640 瑗
4641 瑙
4642 瑚
4643 瑛
4644 瑜
4645 瑝
4646 瑞
4647 瑟
4648 瑢
4649 瑧
4650 瑨
4651 瑭
4652 瑰
4653 瑱
4654 瑶
4655 瑷
4656 瑾
4657 璀
4658 璁
4659 璂
4660 璃
4661 璆
4662 璇
4663 璈
4664 璋
4665 璎
4666 璐
4667 璘
4668 璜
4669 璞
4670 璟
4671 璠
4672 璧
4673 璨
4674 璩
4675 璱
4676 璶
4677 璺
4678 瓒
4679 瓘
4680 瓙
4681 瓜
4682 瓞
4683 瓟
4684 瓠
4685 瓢
4686 瓣
4687 瓤
4688 瓦
4689 瓮
4690 瓯
4691 瓴
4692 瓶
4693 瓷
4694 瓿
4695 甁
4696 甃
4697 甄
4698 甅
4699 甍
4700 甏
4701 甑
4702 甘
4703 甙
4704 甚
4705 甜
4706 生
4707 甡
4708 甥
4709 用
4710 甩
4711 甪
4712 甫
4713 甬
4714 甭
4715 田
4716 由
4717 甲
4718 申
4719 甴
4720 电
4721 男
4722 甸
4723 町
4724 画
4725 甾
4726 畀
4727 畅
4728 畈
4729 畋
4730 界
4731 畎
4732 畏
4733 畑
4734 畔
4735 留
4736 畚
4737 畛
4738 畜
4739 畠
4740 略
4741 畦
4742 番
4743 畯
4744 畲
4745 畳
4746 畴
4747 畸
4748 畹
4749 畿
4750 疁
4751 疃
4752 疆
4753 疍
4754 疏
4755 疑
4756 疔
4757 疖
4758 疗
4759 疙
4760 疚
4761 疝
4762 疟
4763 疠
4764 疡
4765 疣
4766 疤
4767 疥
4768 疫
4769 疬
4770 疭
4771 疮
4772 疯
4773 疱
4774 疲
4775 疳
4776 疴
4777 疵
4778 疸
4779 疹
4780 疼
4781 疽
4782 疾
4783 痂
4784 痄
4785 病
4786 症
4787 痈
4788 痉
4789 痊
4790 痍
4791 痒
4792 痔
4793 痕
4794 痘
4795 痛
4796 痞
4797 痢
4798 痣
4799 痤
4800 痦
4801 痧
4802 痨
4803 痩
4804 痪
4805 痫
4806 痰
4807 痱
4808 痴
4809 痷
4810 痹
4811 痼
4812 痿
4813 瘀
4814 瘁
4815 瘆
4816 瘊
4817 瘌
4818 瘕
4819 瘗
4820 瘘
4821 瘙
4822 瘟
4823 瘠
4824 瘢
4825 瘤
4826 瘦
4827 瘩
4828 瘪
4829 瘫
4830 瘰
4831 瘳
4832 瘴
4833 瘸
4834 瘾
4835 瘿
4836 癀
4837 癃
4838 癌
4839 癍
4840 癔
4841 癖
4842 癜
4843 癞
4844 癣
4845 癫
4846 癶
4847 癸
4848 発
4849 登
4850 白
4851 百
4852 皂
4853 的
4854 皆
4855 皇
4856 皈
4857 皊
4858 皋
4859 皌
4860 皎
4861 皑
4862 皓
4863 皕
4864 皖
4865 皘
4866 皙
4867 皛
4868 皞
4869 皤
4870 皦
4871 皮
4872 皱
4873 皲
4874 皴
4875 皿
4876 盂
4877 盅
4878 盆
4879 盈
4880 盉
4881 益
4882 盍
4883 盎
4884 盏
4885 盐
4886 监
4887 盒
4888 盔
4889 盖
4890 盗
4891 盘
4892 盛
4893 盟
4894 盥
4895 盦
4896 目
4897 盯
4898 盱
4899 盲
4900 直
4901 相
4902 盹
4903 盺
4904 盼
4905 盾
4906 眀
4907 省
4908 眄
4909 眇
4910 眈
4911 眉
4912 看
4913 県
4914 眏
4915 眒
4916 眔
4917 眙
4918 眚
4919 眞
4920 真
4921 眠
4922 眦
4923 眧
4924 眨
4925 眩
4926 眬
4927 眭
4928 眯
4929 眵
4930 眶
4931 眷
4932 眸
4933 眺
4934 眼
4935 睁
4936 睇
4937 睌
4938 睐
4939 睑
4940 睚
4941 睛
4942 睡
4943 睢
4944 督
4945 睥
4946 睦
4947 睨
4948 睩
4949 睫
4950 睬
4951 睲
4952 睹
4953 睺
4954 睽
4955 睾
4956 睿
4957 瞄
4958 瞅
4959 瞆
4960 瞋
4961 瞌
4962 瞍
4963 瞎
4964 瞏
4965 瞐
4966 瞑
4967 瞒
4968 瞟
4969 瞠
4970 瞥
4971 瞧
4972 瞩
4973 瞪
4974 瞬
4975 瞰
4976 瞳
4977 瞴
4978 瞻
4979 瞽
4980 瞾
4981 瞿
4982 矍
4983 矗
4984 矛
4985 矜
4986 矞
4987 矢
4988 矣
4989 知
4990 矩
4991 矫
4992 矬
4993 短
4994 矮
4995 石
4996 矶
4997 矸
4998 矾
4999 矿
5000 砀
5001 码
5002 砂
5003 砆
5004 砉
5005 砋
5006 砌
5007 砍
5008 砑
5009 砒
5010 研
5011 砕
5012 砖
5013 砗
5014 砘
5015 砚
5016 砜
5017 砝
5018 砟
5019 砣
5020 砥
5021 砧
5022 砬
5023 砭
5024 砮
5025 砯
5026 砰
5027 砳
5028 破
5029 砵
5030 砷
5031 砸
5032 砹
5033 砺
5034 砻
5035 砼
5036 砾
5037 础
5038 硁
5039 硄
5040 硅
5041 硇
5042 硉
5043 硌
5044 硎
5045 硐
5046 硑
5047 硒
5048 硕
5049 硖
5050 硗
5051 硚
5052 硝
5053 硪
5054 硫
5055 硬
5056 确
5057 硷
5058 硼
5059 碇
5060 碉
5061 碌
5062 碍
5063 碎
5064 碑
5065 碓
5066 碗
5067 碘
5068 碚
5069 碛
5070 碜
5071 碟
5072 碣
5073 碧
5074 碰
5075 碲
5076 碳
5077 碴
5078 碶
5079 碹
5080 碾
5081 磁
5082 磅
5083 磊
5084 磋
5085 磐
5086 磔
5087 磕
5088 磡
5089 磨
5090 磬
5091 磲
5092 磴
5093 磷
5094 磺
5095 磻
5096 礁
5097 礓
5098 礞
5099 礟
5100 礤
5101 礴
5102 示
5103 礻
5104 礼
5105 礽
5106 社
5107 祀
5108 祁
5109 祂
5110 祅
5111 祆
5112 祈
5113 祉
5114 祎
5115 祐
5116 祓
5117 祖
5118 祗
5119 祙
5120 祚
5121 祛
5122 祜
5123 祝
5124 神
5125 祟
5126 祠
5127 祢
5128 祥
5129 祧
5130 票
5131 祭
5132 祯
5133 祲
5134 祷
5135 祸
5136 祺
5137 祼
5138 禀
5139 禁
5140 禄
5141 禅
5142 禇
5143 禊
5144 福
5145 禔
5146 禘
5147 禚
5148 禛
5149 禟
5150 禤
5151 禧
5152 禫
5153 禬
5154 禳
5155 禹
5156 禺
5157 离
5158 禽
5159 禾
5160 秀
5161 私
5162 秃
5163 秆
5164 秇
5165 秉
5166 秋
5167 种
5168 科
5169 秒
5170 秕
5171 秘
5172 租
5173 秣
5174 秤
5175 秦
5176 秧
5177 秩
5178 秫
5179 秭
5180 积
5181 称
5182 秸
5183 移
5184 秽
5185 秾
5186 稀
5187 稂
5188 稃
5189 程
5190 稍
5191 税
5192 稔
5193 稗
5194 稚
5195 稞
5196 稠
5197 稣
5198 稥
5199 稰
5200 稲
5201 稳
5202 稷
5203 稹
5204 稻
5205 稼
5206 稽
5207 稿
5208 穂
5209 穆
5210 穑
5211 穗
5212 穝
5213 穰
5214 穴
5215 究
5216 穷
5217 穸
5218 穹
5219 空
5220 穿
5221 突
5222 窃
5223 窄
5224 窅
5225 窈
5226 窊
5227 窍
5228 窎
5229 窑
5230 窒
5231 窕
5232 窖
5233 窗
5234 窘
5235 窜
5236 窝
5237 窟
5238 窠
5239 窣
5240 窥
5241 窦
5242 窨
5243 窳
5244 窸
5245 窿
5246 竂
5247 立
5248 竑
5249 竖
5250 站
5251 竜
5252 竞
5253 竟
5254 章
5255 竣
5256 童
5257 竦
5258 竨
5259 竭
5260 端
5261 竹
5262 竺
5263 竽
5264 竿
5265 笃
5266 笄
5267 笆
5268 笈
5269 笊
5270 笋
5271 笏
5272 笑
5273 笔
5274 笕
5275 笙
5276 笛
5277 笞
5278 笠
5279 笢
5280 笤
5281 笥
5282 符
5283 笨
5284 笪
5285 笫
5286 第
5287 笮
5288 笳
5289 笵
5290 笸
5291 笹
5292 笺
5293 笼
5294 笾
5295 筇
5296 等
5297 筋
5298 筌
5299 筏
5300 筐
5301 筑
5302 筒
5303 答
5304 筘
5305 筚
5306 筛
5307 筜
5308 筝
5309 筠
5310 筮
5311 筱
5312 筲
5313 筵
5314 筷
5315 筹
5316 筼
5317 筽
5318 签
5319 简
5320 箅
5321 箍
5322 箐
5323 箓
5324 箔
5325 箕
5326 算
5327 箜
5328 箝
5329 管
5330 箦
5331 箧
5332 箨
5333 箩
5334 箪
5335 箫
5336 箬
5337 箭
5338 箱
5339 箴
5340 箸
5341 篁
5342 篆
5343 篇
5344 篌
5345 篑
5346 篓
5347 篙
5348 篝
5349 篡
5350 篦
5351 篪
5352 篮
5353 篱
5354 篷
5355 篸
5356 篼
5357 篾
5358 簃
5359 簇
5360 簈
5361 簋
5362 簌
5363 簕
5364 簖
5365 簟
5366 簧
5367 簪
5368 簸
5369 簿
5370 籀
5371 籁
5372 籍
5373 籖
5374 籣
5375 米
5376 籴
5377 籹
5378 类
5379 籼
5380 籽
5381 粄
5382 粉
5383 粋
5384 粑
5385 粒
5386 粕
5387 粗
5388 粘
5389 粜
5390 粞
5391 粟
5392 粢
5393 粤
5394 粥
5395 粨
5396 粪
5397 粮
5398 粱
5399 粲
5400 粹
5401 粼
5402 粽
5403 精
5404 粿
5405 糁
5406 糅
5407 糌
5408 糍
5409 糕
5410 糖
5411 糗
5412 糙
5413 糜
5414 糟
5415 糠
5416 糡
5417 糨
5418 糬
5419 糯
5420 糵
5421 系
5422 紊
5423 素
5424 索
5425 紧
5426 紫
5427 累
5428 経
5429 絚
5430 絮
5431 絵
5432 継
5433 続
5434 綦
5435 綮
5436 綶
5437 総
5438 縁
5439 縄
5440 縠
5441 縦
5442 縻
5443 繁
5444 繇
5445 繋
5446 纂
5447 纛
5448 纟
5449 纠
5450 纡
5451 红
5452 纣
5453 纤
5454 纥
5455 约
5456 级
5457 纨
5458 纪
5459 纫
5460 纬
5461 纭
5462 纮
5463 纯
5464 纰
5465 纱
5466 纲
5467 纳
5468 纴
5469 纵
5470 纶
5471 纷
5472 纸
5473 纹
5474 纺
5475 纻
5476 纽
5477 纾
5478 线
5479 绀
5480 绁
5481 绂
5482 练
5483 组
5484 绅
5485 细
5486 织
5487 终
5488 绉
5489 绊
5490 绌
5491 绍
5492 绎
5493 经
5494 绐
5495 绑
5496 绒
5497 结
5498 绔
5499 绕
5500 绖
5501 绗
5502 绘
5503 给
5504 绚
5505 绛
5506 络
5507 绝
5508 绞
5509 统
5510 绠
5511 绡
5512 绢
5513 绣
5514 绥
5515 绦
5516 继
5517 绨
5518 绩
5519 绪
5520 绫
5521 续
5522 绮
5523 绯
5524 绰
5525 绱
5526 绳
5527 维
5528 绵
5529 绶
5530 绷
5531 绹
5532 绺
5533 绻
5534 综
5535 绽
5536 绾
5537 绿
5538 缀
5539 缁
5540 缂
5541 缃
5542 缄
5543 缅
5544 缆
5545 缇
5546 缈
5547 缉
5548 缊
5549 缌
5550 缎
5551 缑
5552 缒
5553 缓
5554 缔
5555 缕
5556 编
5557 缗
5558 缘
5559 缙
5560 缚
5561 缛
5562 缜
5563 缝
5564 缟
5565 缠
5566 缡
5567 缢
5568 缤
5569 缥
5570 缦
5571 缧
5572 缨
5573 缩
5574 缪
5575 缫
5576 缬
5577 缭
5578 缮
5579 缯
5580 缰
5581 缱
5582 缲
5583 缳
5584 缴
5585 缵
5586 缶
5587 缷
5588 缸
5589 缺
5590 罂
5591 罄
5592 罅
5593 罉
5594 罍
5595 罐
5596 网
5597 罒
5598 罔
5599 罕
5600 罗
5601 罘
5602 罚
5603 罟
5604 罠
5605 罡
5606 罢
5607 罥
5608 罨
5609 罩
5610 罪
5611 置
5612 署
5613 罴
5614 罹
5615 罾
5616 羁
5617 羊
5618 羌
5619 美
5620 羑
5621 羔
5622 羙
5623 羚
5624 羞
5625 羟
5626 羡
5627 群
5628 羧
5629 羮
5630 羯
5631 羰
5632 羱
5633 羲
5634 羸
5635 羹
5636 羼
5637 羽
5638 羿
5639 翀
5640 翁
5641 翃
5642 翅
5643 翊
5644 翌
5645 翎
5646 翔
5647 翕
5648 翘
5649 翙
5650 翚
5651 翛
5652 翟
5653 翠
5654 翡
5655 翥
5656 翦
5657 翩
5658 翮
5659 翯
5660 翰
5661 翱
5662 翳
5663 翻
5664 翼
5665 翾
5666 耀
5667 老
5668 考
5669 耄
5670 者
5671 耆
5672 耋
5673 而
5674 耍
5675 耐
5676 耒
5677 耔
5678 耕
5679 耖
5680 耗
5681 耘
5682 耙
5683 耜
5684 耦
5685 耧
5686 耨
5687 耳
5688 耵
5689 耶
5690 耷
5691 耸
5692 耻
5693 耽
5694 耿
5695 聂
5696 聃
5697 聆
5698 聊
5699 聋
5700 职
5701 聍
5702 聒
5703 联
5704 聘
5705 聚
5706 聛
5707 聜
5708 聝
5709 聡
5710 聢
5711 聩
5712 聪
5713 聱
5714 聴
5715 聿
5716 肃
5717 肄
5718 肆
5719 肇
5720 肉
5721 肋
5722 肌
5723 肏
5724 肓
5725 肖
5726 肘
5727 肚
5728 肛
5729 肜
5730 肝
5731 肟
5732 肠
5733 股
5734 肢
5735 肤
5736 肥
5737 肩
5738 肪
5739 肫
5740 肮
5741 肯
5742 肱
5743 育
5744 肴
5745 肶
5746 肸
5747 肺
5748 肼
5749 肽
5750 肾
5751 肿
5752 胀
5753 胁
5754 胂
5755 胃
5756 胄
5757 胆
5758 背
5759 胍
5760 胎
5761 胔
5762 胖
5763 胗
5764 胙
5765 胚
5766 胛
5767 胜
5768 胝
5769 胞
5770 胡
5771 胤
5772 胥
5773 胧
5774 胨
5775 胪
5776 胫
5777 胬
5778 胭
5779 胯
5780 胰
5781 胱
5782 胳
5783 胴
5784 胶
5785 胸
5786 胺
5787 胼
5788 能
5789 脂
5790 脆
5791 脉
5792 脌
5793 脍
5794 脏
5795 脐
5796 脑
5797 脒
5798 脓
5799 脔
5800 脕
5801 脖
5802 脘
5803 脙
5804 脚
5805 脜
5806 脝
5807 脟
5808 脠
5809 脡
5810 脢
5811 脤
5812 脥
5813 脦
5814 脧
5815 脨
5816 脪
5817 脭
5818 脮
5819 脯
5820 脰
5821 脱
5822 脲
5823 脳
5824 脴
5825 脷
5826 脸
5827 脽
5828 脾
5829 脿
5830 腆
5831 腈
5832 腊
5833 腋
5834 腌
5835 腐
5836 腑
5837 腓
5838 腔
5839 腕
5840 腘
5841 腙
5842 腚
5843 腠
5844 腥
5845 腧
5846 腩
5847 腭
5848 腮
5849 腰
5850 腱
5851 腴
5852 腹
5853 腺
5854 腻
5855 腼
5856 腾
5857 腿
5858 膀
5859 膈
5860 膊
5861 膏
5862 膑
5863 膘
5864 膛
5865 膜
5866 膝
5867 膣
5868 膦
5869 膨
5870 膳
5871 膺
5872 膻
5873 臀
5874 臂
5875 臃
5876 臆
5877 臊
5878 臌
5879 臓
5880 臜
5881 臣
5882 臧
5883 自
5884 臬
5885 臭
5886 至
5887 致
5888 臵
5889 臸
5890 臻
5891 臼
5892 臾
5893 舀
5894 舂
5895 舅
5896 舆
5897 舌
5898 舍
5899 舎
5900 舐
5901 舒
5902 舔
5903 舗
5904 舛
5905 舜
5906 舞
5907 舟
5908 舢
5909 舣
5910 舨
5911 航
5912 舫
5913 般
5914 舰
5915 舱
5916 舴
5917 舵
5918 舶
5919 舷
5920 舸
5921 船
5922 舺
5923 舾
5924 艄
5925 艇
5926 艋
5927 艏
5928 艘
5929 艟
5930 艨
5931 艮
5932 良
5933 艰
5934 色
5935 艳
5936 艶
5937 艹
5938 艺
5939 艽
5940 艾
5941 艿
5942 节
5943 芃
5944 芄
5945 芈
5946 芊
5947 芋
5948 芍
5949 芎
5950 芐
5951 芑
5952 芒
5953 芔
5954 芗
5955 芘
5956 芙
5957 芛
5958 芜
5959 芝
5960 芟
5961 芡
5962 芣
5963 芥
5964 芦
5965 芧
5966 芨
5967 芩
5968 芪
5969 芫
5970 芬
5971 芭
5972 芮
5973 芯
5974 芰
5975 花
5976 芳
5977 芴
5978 芶
5979 芷
5980 芸
5981 芹
5982 芽
5983 芾
5984 苁
5985 苄
5986 苇
5987 苈
5988 苋
5989 苌
5990 苍
5991 苎
5992 苏
5993 苐
5994 苑
5995 苒
5996 苓
5997 苔
5998 苕
5999 苖
6000 苗
6001 苘
6002 苛
6003 苜
6004 苞
6005 苟
6006 苠
6007 苡
6008 苢
6009 苣
6010 苤
6011 若
6012 苦
6013 苨
6014 苪
6015 苫
6016 苮
6017 苯
6018 英
6019 苴
6020 苷
6021 苹
6022 苻
6023 苼
6024 苾
6025 苿
6026 茀
6027 茁
6028 茂
6029 范
6030 茄
6031 茅
6032 茆
6033 茇
6034 茈
6035 茉
6036 茌
6037 茎
6038 茏
6039 茑
6040 茓
6041 茔
6042 茕
6043 茗
6044 茚
6045 茛
6046 茜
6047 茧
6048 茨
6049 茫
6050 茬
6051 茭
6052 茯
6053 茱
6054 茳
6055 茴
6056 茵
6057 茶
6058 茸
6059 茹
6060 茺
6061 茻
6062 茼
6063 荀
6064 荃
6065 荄
6066 荆
6067 荇
6068 荌
6069 荏
6070 荐
6071 荑
6072 荒
6073 荔
6074 荖
6075 荘
6076 荚
6077 荛
6078 荜
6079 荞
6080 荟
6081 荠
6082 荡
6083 荣
6084 荤
6085 荥
6086 荦
6087 荧
6088 荨
6089 荩
6090 荪
6091 荫
6092 荬
6093 荭
6094 药
6095 荷
6096 荸
6097 荻
6098 荼
6099 荽
6100 荿
6101 莀
6102 莅
6103 莆
6104 莉
6105 莎
6106 莒
6107 莓
6108 莔
6109 莘
6110 莙
6111 莛
6112 莜
6113 莞
6114 莠
6115 莤
6116 莨
6117 莩
6118 莪
6119 莫
6120 莯
6121 莱
6122 莲
6123 莳
6124 莴
6125 莶
6126 获
6127 莸
6128 莹
6129 莺
6130 莼
6131 莽
6132 菀
6133 菁
6134 菂
6135 菅
6136 菇
6137 菈
6138 菊
6139 菋
6140 菌
6141 菏
6142 菒
6143 菔
6144 菖
6145 菘
6146 菜
6147 菝
6148 菟
6149 菠
6150 菡
6151 菥
6152 菩
6153 菪
6154 菰
6155 菱
6156 菲
6157 菻
6158 菽
6159 萁
6160 萃
6161 萄
6162 萆
6163 萋
6164 萌
6165 萍
6166 萎
6167 萏
6168 萘
6169 萜
6170 萝
6171 萢
6172 萤
6173 营
6174 萦
6175 萧
6176 萨
6177 萩
6178 萫
6179 萱
6180 萸
6181 萼
6182 落
6183 葆
6184 葇
6185 葎
6186 葑
6187 著
6188 葙
6189 葚
6190 葛
6191 葜
6192 葡
6193 董
6194 葩
6195 葫
6196 葬
6197 葭
6198 葱
6199 葳
6200 葵
6201 葶
6202 葸
6203 葺
6204 蒂
6205 蒃
6206 蒄
6207 蒇
6208 蒉
6209 蒋
6210 蒌
6211 蒎
6212 蒗
6213 蒙
6214 蒜
6215 蒟
6216 蒡
6217 蒨
6218 蒩
6219 蒯
6220 蒲
6221 蒴
6222 蒸
6223 蒹
6224 蒺
6225 蒻
6226 蒽
6227 蒾
6228 蒿
6229 蓁
6230 蓂
6231 蓃
6232 蓄
6233 蓉
6234 蓊
6235 蓍
6236 蓐
6237 蓑
6238 蓓
6239 蓖
6240 蓝
6241 蓟
6242 蓠
6243 蓣
6244 蓥
6245 蓦
6246 蓬
6247 蓼
6248 蓿
6249 蔊
6250 蔍
6251 蔑
6252 蔓
6253 蔗
6254 蔚
6255 蔟
6256 蔡
6257 蔨
6258 蔫
6259 蔬
6260 蔵
6261 蔷
6262 蔸
6263 蔹
6264 蔺
6265 蔻
6266 蔼
6267 蔽
6268 蕃
6269 蕈
6270 蕉
6271 蕊
6272 蕖
6273 蕗
6274 蕙
6275 蕞
6276 蕤
6277 蕥
6278 蕨
6279 蕰
6280 蕲
6281 蕴
6282 蕺
6283 蕻
6284 蕾
6285 薄
6286 薅
6287 薇
6288 薏
6289 薛
6290 薜
6291 薡
6292 薢
6293 薤
6294 薨
6295 薪
6296 薫
6297 薬
6298 薮
6299 薯
6300 薷
6301 薹
6302 藁
6303 藏
6304 藐
6305 藓
6306 藕
6307 藜
6308 藠
6309 藤
6310 藨
6311 藩
6312 藻
6313 藿
6314 蘅
6315 蘑
6316 蘖
6317 蘘
6318 蘧
6319 蘩
6320 蘸
6321 蘼
6322 虎
6323 虏
6324 虐
6325 虑
6326 虓
6327 虔
6328 虚
6329 虞
6330 虢
6331 虫
6332 虬
6333 虮
6334 虱
6335 虹
6336 虺
6337 虻
6338 虽
6339 虾
6340 虿
6341 蚀
6342 蚁
6343 蚂
6344 蚊
6345 蚋
6346 蚌
6347 蚍
6348 蚓
6349 蚕
6350 蚜
6351 蚝
6352 蚣
6353 蚤
6354 蚧
6355 蚨
6356 蚩
6357 蚪
6358 蚬
6359 蚯
6360 蚰
6361 蚱
6362 蚴
6363 蚵
6364 蚶
6365 蚺
6366 蛀
6367 蛄
6368 蛆
6369 蛇
6370 蛉
6371 蛊
6372 蛋
6373 蛍
6374 蛎
6375 蛏
6376 蛐
6377 蛔
6378 蛙
6379 蛛
6380 蛞
6381 蛟
6382 蛤
6383 蛩
6384 蛭
6385 蛮
6386 蛯
6387 蛰
6388 蛱
6389 蛲
6390 蛳
6391 蛴
6392 蛸
6393 蛹
6394 蛾
6395 蜀
6396 蜂
6397 蜃
6398 蜇
6399 蜈
6400 蜉
6401 蜊
6402 蜍
6403 蜒
6404 蜓
6405 蜕
6406 蜗
6407 蜘
6408 蜚
6409 蜜
6410 蜞
6411 蜡
6412 蜢
6413 蜣
6414 蜥
6415 蜩
6416 蜮
6417 蜱
6418 蜴
6419 蜷
6420 蜻
6421 蜿
6422 蝂
6423 蝇
6424 蝈
6425 蝉
6426 蝌
6427 蝎
6428 蝓
6429 蝗
6430 蝙
6431 蝜
6432 蝠
6433 蝣
6434 蝤
6435 蝥
6436 蝮
6437 蝰
6438 蝲
6439 蝴
6440 蝶
6441 蝼
6442 蝽
6443 蝾
6444 螂
6445 螃
6446 螅
6447 螈
6448 螋
6449 融
6450 螓
6451 螟
6452 螣
6453 螨
6454 螫
6455 螬
6456 螭
6457 螯
6458 螳
6459 螵
6460 螺
6461 螽
6462 蟀
6463 蟆
6464 蟊
6465 蟋
6466 蟑
6467 蟒
6468 蟛
6469 蟞
6470 蟠
6471 蟥
6472 蟮
6473 蟳
6474 蟹
6475 蟾
6476 蠃
6477 蠊
6478 蠓
6479 蠕
6480 蠖
6481 蠛
6482 蠡
6483 蠢
6484 蠲
6485 蠹
6486 蠼
6487 血
6488 衄
6489 衅
6490 行
6491 衍
6492 衎
6493 衔
6494 街
6495 衙
6496 衡
6497 衢
6498 衣
6499 衤
6500 补
6501 表
6502 衩
6503 衫
6504 衬
6505 衮
6506 衰
6507 衲
6508 衷
6509 衽
6510 衾
6511 衿
6512 袁
6513 袂
6514 袄
6515 袅
6516 袆
6517 袈
6518 袋
6519 袍
6520 袒
6521 袓
6522 袖
6523 袛
6524 袜
6525 袢
6526 袤
6527 袪
6528 被
6529 袭
6530 袱
6531 裁
6532 裂
6533 装
6534 裆
6535 裈
6536 裉
6537 裒
6538 裔
6539 裕
6540 裘
6541 裙
6542 裟
6543 裢
6544 裤
6545 裥
6546 裨
6547 裱
6548 裳
6549 裴
6550 裸
6551 裹
6552 裾
6553 褀
6554 褂
6555 褆
6556 褉
6557 褋
6558 褐
6559 褒
6560 褓
6561 褔
6562 褙
6563 褚
6564 褛
6565 褡
6566 褥
6567 褪
6568 褫
6569 褰
6570 褴
6571 褶
6572 襁
6573 襄
6574 襙
6575 襞
6576 襟
6577 襦
6578 襻
6579 西
6580 覀
6581 要
6582 覃
6583 覅
6584 覆
6585 覌
6586 規
6587 覗
6588 覚
6589 覧
6590 観
6591 见
6592 观
6593 觅
6594 视
6595 觇
6596 览
6597 觉
6598 觊
6599 觌
6600 觎
6601 觐
6602 觑
6603 角
6604 觚
6605 觜
6606 觞
6607 解
6608 觥
6609 触
6610 言
6611 訇
6612 訚
6613 訫
6614 訳
6615 訸
6616 訾
6617 詈
6618 詹
6619 誉
6620 誊
6621 誓
6622 読
6623 謇
6624 謦
6625 警
6626 譬
6627 譲
6628 讃
6629 讠
6630 计
6631 订
6632 讣
6633 认
6634 讥
6635 讦
6636 讧
6637 讨
6638 让
6639 讪
6640 讫
6641 讬
6642 训
6643 议
6644 讯
6645 记
6646 讲
6647 讳
6648 讴
6649 讵
6650 讶
6651 讷
6652 许
6653 讹
6654 论
6655 讼
6656 讽
6657 设
6658 访
6659 诀
6660 证
6661 诂
6662 诃
6663 评
6664 诅
6665 识
6666 诈
6667 诉
6668 诊
6669 诋
6670 诌
6671 词
6672 诎
6673 诏
6674 译
6675 诒
6676 诔
6677 试
6678 诗
6679 诘
6680 诙
6681 诚
6682 诛
6683 诜
6684 话
6685 诞
6686 诟
6687 诠
6688 诡
6689 询
6690 诣
6691 诤
6692 该
6693 详
6694 诧
6695 诨
6696 诩
6697 诫
6698 诬
6699 语
6700 诮
6701 误
6702 诰
6703 诱
6704 诲
6705 诳
6706 说
6707 诵
6708 诶
6709 请
6710 诸
6711 诹
6712 诺
6713 读
6714 诼
6715 诽
6716 课
6717 诿
6718 谀
6719 谁
6720 谂
6721 调
6722 谄
6723 谅
6724 谆
6725 谇
6726 谈
6727 谊
6728 谋
6729 谌
6730 谍
6731 谎
6732 谏
6733 谐
6734 谒
6735 谓
6736 谔
6737 谕
6738 谖
6739 谗
6740 谙
6741 谚
6742 谛
6743 谜
6744 谝
6745 谞
6746 谟
6747 谠
6748 谡
6749 谢
6750 谣
6751 谤
6752 谥
6753 谦
6754 谧
6755 谨
6756 谩
6757 谪
6758 谬
6759 谭
6760 谮
6761 谯
6762 谰
6763 谱
6764 谲
6765 谳
6766 谴
6767 谵
6768 谶
6769 谷
6770 豁
6771 豆
6772 豇
6773 豉
6774 豊
6775 豌
6776 豕
6777 豚
6778 象
6779 豢
6780 豨
6781 豪
6782 豫
6783 豳
6784 豸
6785 豹
6786 豺
6787 貂
6788 貅
6789 貉
6790 貊
6791 貌
6792 貔
6793 貘
6794 賨
6795 賮
6796 賯
6797 賰
6798 賱
6799 賲
6800 賳
6801 賶
6802 贛
6803 贝
6804 贞
6805 负
6806 贠
6807 贡
6808 财
6809 责
6810 贤
6811 败
6812 账
6813 货
6814 质
6815 贩
6816 贪
6817 贫
6818 贬
6819 购
6820 贮
6821 贯
6822 贰
6823 贱
6824 贲
6825 贴
6826 贵
6827 贶
6828 贷
6829 贸
6830 费
6831 贺
6832 贻
6833 贼
6834 贽
6835 贾
6836 贿
6837 赁
6838 赂
6839 赃
6840 资
6841 赅
6842 赈
6843 赉
6844 赊
6845 赋
6846 赌
6847 赍
6848 赎
6849 赏
6850 赐
6851 赑
6852 赓
6853 赔
6854 赖
6855 赗
6856 赘
6857 赚
6858 赛
6859 赜
6860 赝
6861 赞
6862 赟
6863 赠
6864 赡
6865 赢
6866 赤
6867 赦
6868 赧
6869 赪
6870 赫
6871 赭
6872 赮
6873 走
6874 赳
6875 赴
6876 赵
6877 赶
6878 起
6879 赿
6880 趁
6881 趄
6882 超
6883 越
6884 趋
6885 趐
6886 趔
6887 趟
6888 趣
6889 足
6890 趴
6891 趵
6892 趸
6893 趺
6894 趾
6895 跂
6896 跃
6897 跄
6898 跆
6899 跋
6900 跌
6901 跎
6902 跏
6903 跑
6904 跖
6905 跗
6906 跚
6907 跛
6908 距
6909 跞
6910 跟
6911 跣
6912 跤
6913 跨
6914 跩
6915 跪
6916 跬
6917 路
6918 跳
6919 践
6920 跶
6921 跷
6922 跸
6923 跹
6924 跺
6925 跻
6926 跽
6927 踅
6928 踉
6929 踊
6930 踌
6931 踏
6932 踝
6933 踞
6934 踟
6935 踢
6936 踩
6937 踪
6938 踬
6939 踮
6940 踯
6941 踱
6942 踵
6943 踹
6944 踽
6945 蹀
6946 蹁
6947 蹂
6948 蹄
6949 蹇
6950 蹈
6951 蹉
6952 蹊
6953 蹋
6954 蹑
6955 蹒
6956 蹖
6957 蹙
6958 蹚
6959 蹦
6960 蹩
6961 蹬
6962 蹭
6963 蹰
6964 蹲
6965 蹴
6966 蹶
6967 蹼
6968 蹿
6969 躁
6970 躅
6971 躇
6972 躏
6973 躔
6974 躙
6975 躞
6976 身
6977 躬
6978 躯
6979 躰
6980 躲
6981 躺
6982 躾
6983 転
6984 軽
6985 车
6986 轧
6987 轨
6988 轩
6989 轫
6990 转
6991 轭
6992 轮
6993 软
6994 轰
6995 轱
6996 轲
6997 轳
6998 轴
6999 轵
7000 轶
7001 轸
7002 轹
7003 轻
7004 轼
7005 载
7006 轿
7007 辂
7008 较
7009 辄
7010 辅
7011 辆
7012 辇
7013 辈
7014 辉
7015 辊
7016 辋
7017 辍
7018 辎
7019 辏
7020 辐
7021 辑
7022 输
7023 辔
7024 辕
7025 辖
7026 辗
7027 辘
7028 辙
7029 辚
7030 辛
7031 辜
7032 辞
7033 辟
7034 辣
7035 辨
7036 辩
7037 辫
7038 辰
7039 辱
7040 辶
7041 边
7042 辺
7043 辻
7044 込
7045 辽
7046 达
7047 辿
7048 迀
7049 迁
7050 迂
7051 迄
7052 迅
7053 过
7054 迈
7055 迎
7056 运
7057 近
7058 返
7059 还
7060 这
7061 进
7062 远
7063 违
7064 连
7065 迟
7066 迢
7067 迤
7068 迥
7069 迦
7070 迨
7071 迩
7072 迪
7073 迫
7074 迭
7075 迮
7076 述
7077 迷
7078 迸
7079 迹
7080 追
7081 送
7082 适
7083 逃
7084 逄
7085 逅
7086 逆
7087 选
7088 逊
7089 逋
7090 逍
7091 透
7092 逐
7093 逑
7094 递
7095 途
7096 逖
7097 逗
7098 通
7099 逛
7100 逝
7101 逞
7102 速
7103 造
7104 逡
7105 逢
7106 逦
7107 逮
7108 逯
7109 逵
7110 逶
7111 逸
7112 逹
7113 逺
7114 逻
7115 逼
7116 逾
7117 遁
7118 遂
7119 遄
7120 遅
7121 遇
7122 遍
7123 遏
7124 遐
7125 遑
7126 遒
7127 道
7128 遗
7129 遛
7130 遢
7131 遣
7132 遥
7133 遨
7134 遭
7135 遮
7136 遴
7137 遵
7138 遹
7139 遽
7140 避
7141 邀
7142 邂
7143 邃
7144 邈
7145 邋
7146 邑
7147 邓
7148 邕
7149 邗
7150 邙
7151 邛
7152 邝
7153 邠
7154 邡
7155 邢
7156 那
7157 邦
7158 邪
7159 邬
7160 邮
7161 邯
7162 邰
7163 邱
7164 邳
7165 邴
7166 邵
7167 邶
7168 邸
7169 邹
7170 邺
7171 邻
7172 邽
7173 邾
7174 郁
7175 郃
7176 郄
7177 郅
7178 郇
7179 郊
7180 郎
7181 郏
7182 郑
7183 郓
7184 郗
7185 郚
7186 郛
7187 郜
7188 郝
7189 郞
7190 郡
7191 郢
7192 郦
7193 郧
7194 部
7195 郪
7196 郫
7197 郭
7198 郯
7199 郴
7200 郷
7201 郸
7202 都
7203 郾
7204 鄀
7205 鄂
7206 鄄
7207 鄕
7208 鄙
7209 鄚
7210 鄜
7211 鄞
7212 鄢
7213 鄣
7214 鄯
7215 鄱
7216 酂
7217 酃
7218 酆
7219 酉
7220 酊
7221 酋
7222 酌
7223 配
7224 酎
7225 酏
7226 酐
7227 酒
7228 酔
7229 酗
7230 酚
7231 酝
7232 酞
7233 酡
7234 酢
7235 酣
7236 酤
7237 酥
7238 酩
7239 酪
7240 酫
7241 酬
7242 酮
7243 酯
7244 酰
7245 酱
7246 酴
7247 酵
7248 酶
7249 酷
7250 酸
7251 酹
7252 酽
7253 酾
7254 酿
7255 醅
7256 醇
7257 醉
7258 醋
7259 醌
7260 醍
7261 醐
7262 醒
7263 醚
7264 醛
7265 醡
7266 醢
7267 醤
7268 醪
7269 醭
7270 醮
7271 醴
7272 醸
7273 醺
7274 采
7275 釈
7276 釉
7277 释
7278 里
7279 重
7280 野
7281 量
7282 金
7283 釜
7284 釭
7285 鈊
7286 鈡
7287 鉄
7288 鉱
7289 鉲
7290 鉴
7291 銆
7292 銭
7293 銮
7294 鋆
7295 錧
7296 錬
7297 錾
7298 鍏
7299 鍐
7300 鍒
7301 鍖
7302 鍗
7303 鍙
7304 鍦
7305 鍪
7306 鎏
7307 鎭
7308 鎴
7309 鎷
7310 鏁
7311 鏂
7312 鏄
7313 鏉
7314 鏊
7315 鏖
7316 鏸
7317 鐗
7318 鐜
7319 鐡
7320 鐢
7321 鑫
7322 鑺
7323 钅
7324 钆
7325 钇
7326 针
7327 钉
7328 钊
7329 钋
7330 钌
7331 钍
7332 钎
7333 钏
7334 钐
7335 钒
7336 钓
7337 钕
7338 钖
7339 钗
7340 钙
7341 钚
7342 钛
7343 钝
7344 钞
7345 钟
7346 钠
7347 钡
7348 钢
7349 钣
7350 钤
7351 钥
7352 钦
7353 钧
7354 钨
7355 钩
7356 钪
7357 钫
7358 钬
7359 钭
7360 钮
7361 钯
7362 钰
7363 钱
7364 钲
7365 钳
7366 钴
7367 钵
7368 钶
7369 钸
7370 钹
7371 钺
7372 钻
7373 钼
7374 钽
7375 钾
7376 钿
7377 铀
7378 铁
7379 铂
7380 铃
7381 铄
7382 铅
7383 铆
7384 铇
7385 铈
7386 铉
7387 铊
7388 铋
7389 铌
7390 铍
7391 铎
7392 铏
7393 铐
7394 铑
7395 铒
7396 铕
7397 铖
7398 铗
7399 铘
7400 铙
7401 铚
7402 铛
7403 铜
7404 铝
7405 铞
7406 铟
7407 铠
7408 铡
7409 铢
7410 铣
7411 铤
7412 铥
7413 铧
7414 铨
7415 铩
7416 铪
7417 铫
7418 铬
7419 铭
7420 铮
7421 铯
7422 铰
7423 铱
7424 铲
7425 铳
7426 铵
7427 银
7428 铷
7429 铸
7430 铺
7431 铼
7432 铿
7433 销
7434 锁
7435 锂
7436 锃
7437 锄
7438 锅
7439 锆
7440 锇
7441 锈
7442 锉
7443 锋
7444 锌
7445 锍
7446 锎
7447 锏
7448 锐
7449 锑
7450 锒
7451 锔
7452 锕
7453 锖
7454 锗
7455 锘
7456 错
7457 锚
7458 锛
7459 锜
7460 锝
7461 锞
7462 锟
7463 锠
7464 锡
7465 锢
7466 锣
7467 锤
7468 锥
7469 锦
7470 锨
7471 锩
7472 锪
7473 锭
7474 键
7475 锯
7476 锰
7477 锱
7478 锲
7479 锴
7480 锵
7481 锶
7482 锷
7483 锹
7484 锻
7485 锽
7486 镀
7487 镁
7488 镂
7489 镄
7490 镆
7491 镇
7492 镈
7493 镉
7494 镊
7495 镋
7496 镌
7497 镍
7498 镏
7499 镐
7500 镑
7501 镒
7502 镓
7503 镔
7504 镕
7505 镖
7506 镗
7507 镘
7508 镙
7509 镚
7510 镛
7511 镜
7512 镝
7513 镞
7514 镟
7515 镠
7516 镡
7517 镢
7518 镣
7519 镤
7520 镥
7521 镦
7522 镧
7523 镨
7524 镩
7525 镪
7526 镫
7527 镬
7528 镭
7529 镮
7530 镯
7531 镰
7532 镱
7533 镲
7534 镳
7535 镶
7536 长
7537 閠
7538 閦
7539 閪
7540 闂
7541 闄
7542 闘
7543 门
7544 闩
7545 闪
7546 闫
7547 闭
7548 问
7549 闯
7550 闰
7551 闱
7552 闲
7553 闳
7554 间
7555 闵
7556 闷
7557 闸
7558 闹
7559 闺
7560 闻
7561 闼
7562 闽
7563 闾
7564 闿
7565 阀
7566 阂
7567 阃
7568 阄
7569 阅
7570 阆
7571 阇
7572 阈
7573 阉
7574 阊
7575 阋
7576 阌
7577 阍
7578 阎
7579 阏
7580 阐
7581 阑
7582 阒
7583 阔
7584 阕
7585 阖
7586 阗
7587 阙
7588 阚
7589 阜
7590 阝
7591 队
7592 阡
7593 阮
7594 阱
7595 防
7596 阳
7597 阴
7598 阵
7599 阻
7600 阿
7601 陀
7602 陂
7603 附
7604 际
7605 陆
7606 陇
7607 陈
7608 陉
7609 陋
7610 陌
7611 降
7612 陏
7613 限
7614 陔
7615 陕
7616 陛
7617 陜
7618 陟
7619 陡
7620 院
7621 除
7622 陥
7623 陨
7624 险
7625 陪
7626 陬
7627 陲
7628 陵
7629 陶
7630 陷
7631 険
7632 隅
7633 隆
7634 隈
7635 隋
7636 隍
7637 階
7638 随
7639 隐
7640 隔
7641 隗
7642 隘
7643 隙
7644 障
7645 隠
7646 隧
7647 隰
7648 隳
7649 隶
7650 隹
7651 隼
7652 隽
7653 难
7654 雀
7655 雁
7656 雄
7657 雅
7658 集
7659 雇
7660 雉
7661 雌
7662 雍
7663 雎
7664 雏
7665 雑
7666 雒
7667 雕
7668 雨
7669 雩
7670 雪
7671 雫
7672 雯
7673 雱
7674 雳
7675 零
7676 雷
7677 雹
7678 雾
7679 需
7680 霁
7681 霂
7682 霄
7683 霆
7684 震
7685 霈
7686 霉
7687 霊
7688 霍
7689 霎
7690 霏
7691 霓
7692 霖
7693 霙
7694 霜
7695 霞
7696 霪
7697 霭
7698 霰
7699 露
7700 霸
7701 霹
7702 霾
7703 靐
7704 靑
7705 青
7706 靓
7707 靖
7708 静
7709 靛
7710 非
7711 靠
7712 靡
7713 面
7714 靥
7715 革
7716 靬
7717 靳
7718 靴
7719 靶
7720 靺
7721 靼
7722 鞅
7723 鞋
7724 鞍
7725 鞑
7726 鞘
7727 鞠
7728 鞣
7729 鞥
7730 鞨
7731 鞭
7732 鞲
7733 韡
7734 韦
7735 韧
7736 韩
7737 韪
7738 韫
7739 韬
7740 韭
7741 韰
7742 音
7743 韵
7744 韶
7745 頬
7746 顕
7747 页
7748 顶
7749 顷
7750 顸
7751 项
7752 顺
7753 须
7754 顼
7755 顽
7756 顾
7757 顿
7758 颀
7759 颁
7760 颂
7761 颃
7762 预
7763 颅
7764 领
7765 颇
7766 颈
7767 颉
7768 颊
7769 颋
7770 颌
7771 颍
7772 颎
7773 颏
7774 颐
7775 频
7776 颓
7777 颔
7778 颖
7779 颗
7780 题
7781 颙
7782 颚
7783 颛
7784 颜
7785 额
7786 颞
7787 颠
7788 颡
7789 颢
7790 颣
7791 颤
7792 颦
7793 颧
7794 风
7795 飒
7796 飓
7797 飕
7798 飖
7799 飘
7800 飙
7801 飞
7802 食
7803 飧
7804 飨
7805 餍
7806 餐
7807 餮
7808 饔
7809 饕
7810 饣
7811 饥
7812 饦
7813 饧
7814 饨
7815 饪
7816 饬
7817 饭
7818 饮
7819 饯
7820 饰
7821 饱
7822 饲
7823 饴
7824 饵
7825 饶
7826 饷
7827 饸
7828 饹
7829 饺
7830 饼
7831 饽
7832 饿
7833 馁
7834 馃
7835 馄
7836 馅
7837 馆
7838 馇
7839 馈
7840 馊
7841 馋
7842 馍
7843 馏
7844 馐
7845 馑
7846 馒
7847 馓
7848 馔
7849 馕
7850 首
7851 馗
7852 香
7853 馥
7854 馨
7855 馫
7856 馿
7857 駄
7858 駅
7859 駆
7860 騒
7861 験
7862 騳
7863 马
7864 驭
7865 驮
7866 驯
7867 驰
7868 驱
7869 驳
7870 驴
7871 驶
7872 驷
7873 驸
7874 驹
7875 驺
7876 驻
7877 驼
7878 驽
7879 驾
7880 驿
7881 骀
7882 骁
7883 骂
7884 骃
7885 骄
7886 骅
7887 骆
7888 骇
7889 骈
7890 骉
7891 骊
7892 骋
7893 验
7894 骎
7895 骏
7896 骐
7897 骑
7898 骓
7899 骕
7900 骖
7901 骗
7902 骘
7903 骙
7904 骚
7905 骛
7906 骜
7907 骝
7908 骞
7909 骟
7910 骠
7911 骡
7912 骢
7913 骤
7914 骥
7915 骧
7916 骨
7917 骰
7918 骶
7919 骷
7920 骸
7921 骺
7922 髀
7923 髁
7924 髂
7925 髄
7926 髅
7927 髋
7928 髌
7929 髎
7930 髑
7931 髓
7932 高
7933 髙
7934 髡
7935 髦
7936 髪
7937 髫
7938 髭
7939 髯
7940 髹
7941 髻
7942 鬃
7943 鬄
7944 鬓
7945 鬘
7946 鬟
7947 鬣
7948 鬯
7949 鬲
7950 鬻
7951 鬼
7952 魁
7953 魂
7954 魃
7955 魄
7956 魅
7957 魇
7958 魈
7959 魉
7960 魍
7961 魏
7962 魑
7963 魔
7964 魕
7965 魟
7966 鮨
7967 鮰
7968 鰕
7969 鱼
7970 鱿
7971 鲀
7972 鲁
7973 鲂
7974 鲃
7975 鲅
7976 鲆
7977 鲇
7978 鲈
7979 鲉
7980 鲊
7981 鲋
7982 鲌
7983 鲍
7984 鲎
7985 鲏
7986 鲐
7987 鲑
7988 鲔
7989 鲖
7990 鲘
7991 鲚
7992 鲛
7993 鲜
7994 鲞
7995 鲟
7996 鲠
7997 鲡
7998 鲢
7999 鲣
8000 鲤
8001 鲥
8002 鲦
8003 鲧
8004 鲨
8005 鲩
8006 鲫
8007 鲭
8008 鲮
8009 鲱
8010 鲲
8011 鲳
8012 鲴
8013 鲵
8014 鲷
8015 鲸
8016 鲹
8017 鲺
8018 鲻
8019 鲼
8020 鲽
8021 鳀
8022 鳃
8023 鳄
8024 鳅
8025 鳇
8026 鳉
8027 鳊
8028 鳌
8029 鳍
8030 鳎
8031 鳏
8032 鳐
8033 鳑
8034 鳔
8035 鳕
8036 鳖
8037 鳗
8038 鳘
8039 鳙
8040 鳜
8041 鳝
8042 鳞
8043 鳟
8044 鳡
8045 鳢
8046 鳮
8047 鳯
8048 鳽
8049 鵺
8050 鶏
8051 鷇
8052 鸟
8053 鸠
8054 鸡
8055 鸢
8056 鸣
8057 鸥
8058 鸦
8059 鸨
8060 鸩
8061 鸪
8062 鸫
8063 鸬
8064 鸭
8065 鸮
8066 鸯
8067 鸰
8068 鸱
8069 鸲
8070 鸳
8071 鸵
8072 鸶
8073 鸷
8074 鸸
8075 鸹
8076 鸻
8077 鸽
8078 鸾
8079 鸿
8080 鹀
8081 鹁
8082 鹂
8083 鹃
8084 鹄
8085 鹅
8086 鹆
8087 鹇
8088 鹈
8089 鹉
8090 鹊
8091 鹋
8092 鹌
8093 鹍
8094 鹎
8095 鹏
8096 鹑
8097 鹓
8098 鹕
8099 鹗
8100 鹘
8101 鹚
8102 鹛
8103 鹜
8104 鹞
8105 鹟
8106 鹡
8107 鹣
8108 鹤
8109 鹦
8110 鹧
8111 鹨
8112 鹩
8113 鹪
8114 鹫
8115 鹬
8116 鹭
8117 鹮
8118 鹰
8119 鹳
8120 鹿
8121 麂
8122 麇
8123 麈
8124 麋
8125 麑
8126 麒
8127 麓
8128 麝
8129 麟
8130 麦
8131 麸
8132 麺
8133 麻
8134 麾
8135 麿
8136 黄
8137 黉
8138 黍
8139 黎
8140 黏
8141 黐
8142 黑
8143 黒
8144 黔
8145 黖
8146 默
8147 黙
8148 黛
8149 黜
8150 黝
8151 黟
8152 黠
8153 黢
8154 黥
8155 黧
8156 黩
8157 黪
8158 黯
8159 黻
8160 黼
8161 黾
8162 鼋
8163 鼍
8164 鼎
8165 鼐
8166 鼓
8167 鼔
8168 鼗
8169 鼙
8170 鼠
8171 鼢
8172 鼩
8173 鼬
8174 鼯
8175 鼹
8176 鼻
8177 鼾
8178 齁
8179 齉
8180 齐
8181 齑
8182 齢
8183 齾
8184 齿
8185 龃
8186 龄
8187 龅
8188 龇
8189 龈
8190 龉
8191 龊
8192 龋
8193 龌
8194 龖
8195 龘
8196 龙
8197 龚
8198 龛
8199 龟
8200 龠
8201
8202
8203
8204
8205
8206
8207
8208 𨱇
8209 𩽾
8210 𩾃
8211 𩾌
8212 𪩘
8213 𫍽
8214 𫐓
8215 𫚭
8216 𬀩
8217 𬒈
8218 𬭎
8219 𬱖
8220 𬶋
8221 𬶍
8222 𬸦
8223 OOV
================================================
FILE: Android/testlac/app/src/main/cpp/CMakeLists.txt
================================================
# For more information about using CMake with Android Studio, read the
# documentation: https://d.android.com/studio/projects/add-native-code.html
# Sets the minimum version of CMake required to build the native library.
cmake_minimum_required(VERSION 3.4.1)
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/paddle/include)
# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
# You can define multiple libraries, and CMake builds them for you.
# Gradle automatically packages shared libraries with your APK.
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -ffast-math -Ofast -Os -DNDEBUG -fno-exceptions -fomit-frame-pointer -fno-asynchronous-unwind-tables -fno-unwind-tables"
)
set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden -fdata-sections -ffunction-sections"
)
set(CMAKE_SHARED_LINKER_FLAGS
"${CMAKE_SHARED_LINKER_FLAGS} -Wl,--gc-sections -Wl,-z,nocopyreloc")
add_library( # Sets the name of the library.
native_lib
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
native_lib.cpp
lac.h
lac.cpp
lac_util.h
lac_util.cpp
)
find_library( # Sets the name of the path variable.
log-lib
# Specifies the name of the NDK library that
# you want CMake to locate.
log)
# add paddle library
add_library(
paddle_lite_jni
SHARED
IMPORTED
)
if(${ANDROID_ABI} STREQUAL "armeabi-v7a")
set_target_properties(
paddle_lite_jni
PROPERTIES IMPORTED_LOCATION
${CMAKE_CURRENT_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}/libpaddle_light_api_shared.so)
else()
set_target_properties(
paddle_lite_jni
PROPERTIES IMPORTED_LOCATION
${CMAKE_CURRENT_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}/libpaddle_lite_jni.so)
endif()
target_link_libraries( # Specifies the target library.
native_lib
paddle_lite_jni
# Links the target library to the log library
# included in the NDK.
${log-lib})
================================================
FILE: Android/testlac/app/src/main/cpp/lac.cpp
================================================
/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. */
#include <iostream>
#include<fstream>
#include<iostream>
#include "lac.h"
#include "lac_util.h"
#include "paddle_api.h"
/* LAC构造函数:初始化、装载模型和词典 */
LAC::LAC(std::string model_dict_path, int threads, CODE_TYPE type)
: _codetype(type),
_lod(std::vector<std::vector<uint64_t> >(1)),
_word2id_dict(new std::unordered_map<std::string, int64_t>),
_q2b_dict(new std::unordered_map<std::string, std::string>),
_id2label_dict(new std::unordered_map<int64_t, std::string>)
{
/* 装载词典 */
std::string word_dict_path = model_dict_path + "/word.dic";
load_word2id_dict(word_dict_path, *_word2id_dict);
std::string q2b_dict_path = model_dict_path + "/q2b.dic";
load_q2b_dict(q2b_dict_path, *_q2b_dict);
std::string label_dict_path = model_dict_path + "/tag.dic";
load_id2label_dict(label_dict_path, *_id2label_dict);
std::cout << "read word dict succeed" << std::endl;
paddle::lite_api::MobileConfig config;
config.set_threads(threads); // 自行设置多线程
/* 装载模型 */
config.set_model_from_file(model_dict_path + "/model.nb");
this->_predictor = paddle::lite_api::CreatePaddlePredictor(config);
std::cout << "load model succeed" << std::endl;
/* 初始化输入输出变量 */
this->_input_tensor = this->_predictor->GetInput(0);
this->_output_tensor = this->_predictor->GetOutput(0);
this->_oov_id = this->_word2id_dict->size() - 1;
auto word_iter = this->_word2id_dict->find("OOV");
if (word_iter != this->_word2id_dict->end())
{
this->_oov_id = word_iter->second;
}
std::cout << "init succeed" << std::endl;
}
int LAC::feed_data(const std::vector<std::string> &querys)
{
this->_seq_words_batch.clear();
this->_lod[0].clear();
this->_lod[0].push_back(0);
long shape = 0;
for (size_t i = 0; i < querys.size(); ++i)
{
split_words(querys[i], this->_codetype, this->_seq_words);
this->_seq_words_batch.push_back(this->_seq_words);
shape += this->_seq_words.size();
this->_lod[0].push_back(shape);
}
this->_input_tensor->Resize({shape, 1});
this->_input_tensor->SetLoD(this->_lod);
int64_t *input_d = this->_input_tensor->mutable_data<int64_t>();
int index = 0;
for (size_t i = 0; i < this->_seq_words_batch.size(); ++i)
{
for (size_t j = 0; j < this->_seq_words_batch[i].size(); ++j)
{
/* normalization */
std::string word = this->_seq_words_batch[i][j];
auto q2b_iter = this->_q2b_dict->find(word);
if (q2b_iter != this->_q2b_dict->end())
{
word = q2b_iter->second;
}
/* get word_id */
int64_t word_id = this->_oov_id; // OOV word
auto word_iter = this->_word2id_dict->find(word);
if (word_iter != this->_word2id_dict->end())
{
word_id = word_iter->second;
}
input_d[index++] = word_id;
}
}
return 0;
}
/* 对输出的标签进行解码转换为模型输出格式 */
int LAC::parse_targets(
const std::vector<std::string> &tags,
const std::vector<std::string> &words,
std::vector<OutputItem> &result)
{
result.clear();
for (size_t i = 0; i < tags.size(); ++i)
{
/* 若新词,则push_back一个新词,否则append到上一个词中 */
if (result.empty() || tags[i].rfind("B") == tags[i].length() - 1 || tags[i].rfind("S") == tags[i].length() - 1)
{
OutputItem output_item;
output_item.word = words[i];
output_item.tag = tags[i].substr(0, tags[i].length() - 2);
result.push_back(output_item);
}
else
{
result[result.size() - 1].word += words[i];
}
}
return 0;
}
std::vector<OutputItem> LAC::lexer(const std::string &query)
{
std::vector<std::string> query_vector = std::vector<std::string>({query});
auto result = lexer(query_vector);
return result[0];
}
std::vector<std::vector<OutputItem>> LAC::lexer(const std::vector<std::string> &querys)
{
this->feed_data(querys);
this->_predictor->Run();
/* 对模型输出进行解码 */
int output_size = 0;
const int64_t *output_d = this->_output_tensor->data<int64_t>();
this->_labels.clear();
this->_results_batch.clear();
for (size_t i = 0; i < this->_lod[0].size() - 1; ++i)
{
for (size_t j = 0; j < _lod[0][i + 1] - _lod[0][i]; ++j)
{
int64_t cur_label_id = output_d[_lod[0][i] + j];
auto it = this->_id2label_dict->find(cur_label_id);
this->_labels.push_back(it->second);
}
parse_targets(this->_labels, this->_seq_words_batch[i], this->_results);
this->_labels.clear();
_results_batch.push_back(this->_results);
}
return this->_results_batch;
}
================================================
FILE: Android/testlac/app/src/main/cpp/lac.h
================================================
/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. */
#ifndef BAIDU_LAC_LAC_H
#define BAIDU_LAC_LAC_H
#include <unordered_map>
#include <memory>
#include <string>
#include <vector>
#include "paddle_api.h"
/* 编码设置 */
enum CODE_TYPE
{
CODE_GB18030 = 0,
CODE_UTF8 = 1,
};
/* 模型输出的结构 */
struct OutputItem
{
std::string word; // 分词结果
std::string tag; // 单词类型
};
#endif
#ifndef LAC_CLASS
#define LAC_CLASS
class LAC
{
private:
CODE_TYPE _codetype;
/* 中间变量 */
std::vector<std::string> _seq_words;
std::vector<std::vector<std::string>> _seq_words_batch;
std::vector<std::vector<uint64_t>> _lod;
std::vector<std::string> _labels;
std::vector<OutputItem> _results;
std::vector<std::vector<OutputItem>> _results_batch;
/* 数据转换词典 */
std::shared_ptr<std::unordered_map<int64_t, std::string>> _id2label_dict;
std::shared_ptr<std::unordered_map<std::string, std::string>> _q2b_dict;
std::shared_ptr<std::unordered_map<std::string, int64_t>> _word2id_dict;
int64_t _oov_id;
/* paddle数据结构*/
std::shared_ptr<paddle::lite_api::PaddlePredictor> _predictor; //
std::unique_ptr<paddle::lite_api::Tensor> _input_tensor; //
std::unique_ptr<const paddle::lite_api::Tensor> _output_tensor; //
private:
/* 将字符串输入转为Tensor */
int feed_data(const std::vector<std::string> &querys);
/* 将模型标签结果转换为模型输出格式 */
int parse_targets(
const std::vector<std::string> &tag_ids,
const std::vector<std::string> &words,
std::vector<OutputItem> &result);
public:
/* 初始化:装载模型和词典 */
explicit LAC(std::string model_dict_path, int threads = 1, CODE_TYPE type = CODE_UTF8);
/* 更新为单个字典文件, 去除protobuf依赖删除 */
// explicit LAC(std::string model_dict_path, int threads = 1, CODE_TYPE type = CODE_UTF8);
/* 调用程序 */
std::vector<OutputItem> lexer(const std::string &query); // 单个query
std::vector<std::vector<OutputItem>> lexer(const std::vector<std::string> &query); // batch
};
#endif
================================================
FILE: Android/testlac/app/src/main/cpp/lac_util.cpp
================================================
/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. */
#include "lac_util.h"
// 以pattern作为切割符,对line进行切分并放入tokens中
RVAL split_tokens(const std::string &line, const std::string &pattern,
std::vector<std::string> &tokens)
{
if ("" == line || "" == pattern)
{
return _FAILD;
}
tokens.clear();
int pos = 0;
int size = line.size();
for (int i = 0; i < size; i++)
{
pos = line.find(pattern, i);
if (-1 != pos)
{
tokens.push_back(line.substr(i, pos - i));
i = pos + pattern.size() - 1;
}
else
{
tokens.push_back(line.substr(i));
break;
}
} // end of for
return _SUCCESS;
}
// 装载字符转为数字index的词典
RVAL load_word2id_dict(const std::string &filepath,
std::unordered_map<std::string, int64_t> &kv_dict)
{
kv_dict.clear();
std::ifstream infile(filepath);
if (infile.fail())
{
return _FAILD;
}
std::string line = "";
std::vector<std::string> tokens;
while (std::getline(infile, line) && infile.good())
{
split_tokens(line, "\t", tokens);
if ("" == line || 2 != tokens.size())
{
continue;
}
int64_t val = std::stoll(tokens[0]);
std::string key = tokens[1];
kv_dict[key] = val;
}
infile.close();
return _SUCCESS;
}
// 装载字符正则化的词典
RVAL load_q2b_dict(const std::string &filepath,
std::unordered_map<std::string, std::string> &kv_dict)
{
kv_dict.clear();
std::ifstream infile(filepath);
if (infile.fail())
{
return _FAILD;
}
std::string line = "";
std::vector<std::string> tokens;
while (std::getline(infile, line) && infile.good())
{
split_tokens(line, "\t", tokens);
if ("" == line || 2 != tokens.size())
{
continue;
}
kv_dict[tokens[0]] = tokens[1];
}
infile.close();
return _SUCCESS;
}
// 装载label解码用的词典
RVAL load_id2label_dict(const std::string &filepath,
std::unordered_map<int64_t, std::string> &kv_dict)
{
kv_dict.clear();
std::ifstream infile(filepath);
if (infile.fail())
{
return _FAILD;
}
std::string line = "";
std::vector<std::string> tokens;
while (std::getline(infile, line) && infile.good())
{
split_tokens(line, "\t", tokens);
if ("" == line || 2 != tokens.size())
{
continue;
}
int64_t key = std::stoll(tokens[0]);
std::string val = tokens[1];
kv_dict[key] = val;
}
infile.close();
return _SUCCESS;
}
// 获取下一个gb18030字符的长度
int get_next_gb18030(const char *str)
{
unsigned char *str_in = (unsigned char *)str;
if (str_in[0] < 0x80)
{
return 1;
}
if (str_in[0] >= 0x81 && str_in[0] <= 0xfe &&
str_in[1] >= 0x40 && str_in[1] <= 0xFE && str_in[1] != 0x7F)
{
return 2;
}
if (str_in[0] >= 0x81 && str_in[0] <= 0xfe &&
str_in[1] >= 0x30 && str_in[1] <= 0x39 &&
str_in[2] >= 0x81 && str_in[2] <= 0xfe &&
str_in[3] >= 0x30 && str_in[3] <= 0x39)
{
return 4;
}
return 0;
}
// 获取下一个UTF8字符的长度
int get_next_utf8(const char *str)
{
unsigned char *str_in = (unsigned char *)str;
if (str_in[0] < 0x80)
{
return 1;
}
if (str_in[0] >= 0xC2 && str_in[0] < 0xE0 &&
str_in[1] >> 6 == 2)
{
return 2;
}
if (str_in[0] >> 4 == 14 && str_in[1] >> 6 == 2 &&
str_in[2] >> 6 == 2 && (str_in[0] > 0xE0 || str_in[1] >= 0xA0))
{
return 3;
}
if (str_in[0] >> 3 == 30 && str_in[1] >> 6 == 2 && str_in[2] >> 6 == 2 &&
str_in[3] >> 6 == 2 && str_in[0] <= 0xF4 && (str_in[0] > 0xF0 || str_in[1] >= 0x90))
{
return 4;
}
return 0;
}
// 获取下一个codetype字符的长度
int get_next_word(const char *str, CODE_TYPE codetype)
{
int len = 0;
switch (codetype)
{
case CODE_GB18030:
len = get_next_gb18030(str);
break;
case CODE_UTF8:
len = get_next_utf8(str);
break;
default:
len = 0;
break;
}
len = len == 0 ? 1 : len;
return len;
}
// 将字符串按照单字切分
RVAL split_words(const char *input, int len, CODE_TYPE codetype, std::vector<std::string> &words)
{
words.clear();
char *p = (char *)input;
int temp_len = 0;
std::string key;
for (int i = 0; i < len; i += temp_len)
{
temp_len = get_next_word(p, codetype);
key.assign(p, temp_len);
words.push_back(key);
p += temp_len;
}
return _SUCCESS;
}
// 将字符串按照单字切分
RVAL split_words(const std::string &input, CODE_TYPE codetype, std::vector<std::string> &words)
{
const char *p = input.c_str();
int len = input.length();
return split_words(p, len, codetype, words);
}
================================================
FILE: Android/testlac/app/src/main/cpp/lac_util.h
================================================
/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License. */
#ifndef BAIDU_LAC_LAC_UTIL_H
#define BAIDU_LAC_LAC_UTIL_H
#include <vector>
#include <string>
#include <fstream>
#include <unordered_map>
#include "lac.h"
/* 函数返回值 */
enum RVAL
{
_SUCCESS = 0,
_FAILD = -1,
};
// 以pattern作为切割符,对line进行切分并放入tokens中
RVAL split_tokens(const std::string &line, const std::string &pattern,
std::vector<std::string> &tokens);
// 装载字符串输入转为数字的词典
RVAL load_word2id_dict(const std::string &filepath,
std::unordered_map<std::string, int64_t> &kv_dict);
// 装载字符正则化的词典
RVAL load_q2b_dict(const std::string &filepath,
std::unordered_map<std::string, std::string> &kv_dict);
// 装载label解码用的词典
RVAL load_id2label_dict(const std::string &filepath,
std::unordered_map<int64_t, std::string> &kv_dict);
// 获取下一个字的长度
int get_next_gb18030(const char *str);
int get_next_utf8(const char *str);
int get_next_word(const char *str, CODE_TYPE codetype);
// 将字符串按照单字切分
RVAL split_words(const char *input, int len, CODE_TYPE codetype, std::vector<std::string> &words);
RVAL split_words(const std::string &input, CODE_TYPE codetype, std::vector<std::string> &words);
#endif
================================================
FILE: Android/testlac/app/src/main/cpp/native_lib.cpp
================================================
#include <jni.h>
#include <string>
#include <iostream>
#include <fstream>
#include <ctime>
#include <sys/time.h>
#include <android/log.h>
#include "lac.h"
#define LOGI(...) \
((void)__android_log_print(ANDROID_LOG_INFO, "lac_demo::", __VA_ARGS__))
std::unique_ptr<LAC> uPtr_Lac;
extern "C"
JNIEXPORT void JNICALL
Java_com_example_testlac_MainActivity_initLac(JNIEnv *env, jobject thiz, jstring model_path) {
std::unique_ptr<LAC> lac(new LAC(env->GetStringUTFChars(model_path, 0), 1));
uPtr_Lac = std::move(lac);
}
/*
Java_com_example_testlac_MainActivity_initLac(JNIEnv *env, jobject thiz, jbyteArray buffer, jint length) {
jbyte * lac_dict = new jbyte[length];
env->GetByteArrayRegion(buffer, 0, length, lac_dict);
std::unique_ptr<LAC> lac(new LAC((void*) lac_dict, length, 1));
uPtr_Lac = std::move(lac);
} */
extern "C"
JNIEXPORT void JNICALL
Java_com_example_testlac_MainActivity_releaseLac(JNIEnv *env, jobject thiz) {
uPtr_Lac.release();
}
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_testlac_MainActivity_stringFromJNI(
JNIEnv *env,
jobject /* this */) {
std::string hello = "测试分词from LAC";
return env->NewStringUTF(hello.c_str());
}
extern "C"
JNIEXPORT jstring JNICALL
Java_com_example_testlac_MainActivity_stringCutFromJNI(JNIEnv *env, jobject thiz,
jstring source_text) {
const char *utf8 = env->GetStringUTFChars(source_text, NULL);
std::string str_source_text = std::string(utf8);
env->ReleaseStringUTFChars(source_text, utf8);
auto result = uPtr_Lac->lexer(str_source_text);
std::string output_str = "";
for (int i=0; i<result.size(); i++) {
if(result[i].tag.length() == 0){
output_str += (result[i].word + " ");
}
else{
output_str += (result[i].word + "\001" + result[i].tag + " ");
}
}
LOGI("test_lac input: %s, output: %s", str_source_text.c_str(), output_str.c_str());
return env->NewStringUTF(output_str.c_str());
}
================================================
FILE: Android/testlac/app/src/main/cpp/paddle/include/paddle_api.h
================================================
// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/*
* This file defines PaddlePredictor, the api for lite. It supports multiple
* hardware including ARM, X86, OpenCL, CUDA and so on.
*/
#ifndef PADDLE_LITE_API_H_ // NOLINT
#define PADDLE_LITE_API_H_
#include <memory>
#include <string>
#include <vector>
#include "paddle_place.h" // NOLINT
namespace paddle {
namespace lite_api {
using shape_t = std::vector<int64_t>;
using lod_t = std::vector<std::vector<uint64_t>>;
enum class LiteModelType { kProtobuf = 0, kNaiveBuffer, UNK };
struct LITE_API Tensor {
explicit Tensor(void* raw);
explicit Tensor(const void* raw);
void Resize(const shape_t& shape);
/// Readonly data.
template <typename T>
const T* data() const;
template <typename T>
T* mutable_data(TargetType type = TargetType::kHost) const;
template <typename T, TargetType type = TargetType::kHost>
void CopyFromCpu(const T* data);
template <typename T>
void CopyToCpu(T* data) const;
/// Shape of the tensor.
shape_t shape() const;
TargetType target() const;
PrecisionType precision() const;
// LoD of the tensor
lod_t lod() const;
// Set LoD of the tensor
void SetLoD(const lod_t& lod);
private:
void* raw_tensor_;
};
/// The PaddlePredictor defines the basic interfaces for different kinds of
/// predictors.
class LITE_API PaddlePredictor {
public:
PaddlePredictor() = default;
/// Get i-th input.
virtual std::unique_ptr<Tensor> GetInput(int i) = 0;
/// Get i-th output.
virtual std::unique_ptr<const Tensor> GetOutput(int i) const = 0;
virtual void Run() = 0;
virtual std::shared_ptr<PaddlePredictor> Clone() = 0;
virtual std::string GetVersion() const = 0;
// Get input names
virtual std::vector<std::string> GetInputNames() = 0;
// Get output names
virtual std::vector<std::string> GetOutputNames() = 0;
// Get Input by name
virtual std::unique_ptr<Tensor> GetInputByName(const std::string& name) = 0;
/// Get a readonly tensor, return null if no one called `name` exists.
virtual std::unique_ptr<const Tensor> GetTensor(
const std::string& name) const = 0;
/// Persist the optimized model to disk. This API is only supported by
/// CxxConfig, and the persisted model can be reused for MobileConfig.
virtual void SaveOptimizedModel(
const std::string& model_dir,
LiteModelType model_type = LiteModelType::kProtobuf,
bool record_info = false);
virtual ~PaddlePredictor() = default;
protected:
int threads_{1};
lite_api::PowerMode mode_{lite_api::LITE_POWER_NO_BIND};
};
/// Base class for all the configs.
class LITE_API ConfigBase {
std::string model_dir_;
int threads_{1};
PowerMode mode_{LITE_POWER_NO_BIND};
public:
explicit ConfigBase(PowerMode mode = LITE_POWER_NO_BIND, int threads = 1);
// set Model_dir
void set_model_dir(const std::string& x) { model_dir_ = x; }
const std::string& model_dir() const { return model_dir_; }
// set Power_mode
void set_power_mode(PowerMode mode);
PowerMode power_mode() const { return mode_; }
// set Thread
void set_threads(int threads);
int threads() const { return threads_; }
};
/// CxxConfig is the config for the Full feature predictor.
class LITE_API CxxConfig : public ConfigBase {
std::vector<Place> valid_places_;
std::string model_file_;
std::string param_file_;
bool model_from_memory_{false};
#ifdef LITE_WITH_X86
int x86_math_library_math_threads_ = 1;
#endif
#ifdef LITE_WITH_CUDA
bool multi_stream_{false};
#endif
#ifdef LITE_WITH_MLU
lite_api::MLUCoreVersion mlu_core_version_{lite_api::MLUCoreVersion::MLU_270};
int mlu_core_number_{1};
DataLayoutType mlu_input_layout_{DATALAYOUT(kNCHW)};
bool mlu_use_first_conv_{false};
std::vector<float> mlu_first_conv_mean_;
std::vector<float> mlu_first_conv_std_;
#endif
public:
void set_valid_places(const std::vector<Place>& x) { valid_places_ = x; }
void set_model_file(const std::string& path) { model_file_ = path; }
void set_param_file(const std::string& path) { param_file_ = path; }
void set_model_buffer(const char* model_buffer,
size_t model_buffer_size,
const char* param_buffer,
size_t param_buffer_size) {
model_file_ = std::string(model_buffer, model_buffer + model_buffer_size);
param_file_ = std::string(param_buffer, param_buffer + param_buffer_size);
model_from_memory_ = true;
}
const std::vector<Place>& valid_places() const { return valid_places_; }
std::string model_file() const { return model_file_; }
std::string param_file() const { return param_file_; }
bool model_from_memory() const { return model_from_memory_; }
#ifdef LITE_WITH_X86
void set_x86_math_library_num_threads(int threads) {
x86_math_library_math_threads_ = threads;
}
int x86_math_library_num_threads() const {
return x86_math_library_math_threads_;
}
#endif
#ifdef LITE_WITH_CUDA
void set_multi_stream(bool multi_stream) { multi_stream_ = multi_stream; }
int multi_stream() const { return multi_stream_; }
#endif
#ifdef LITE_WITH_MLU
// set MLU core version, which is used when compiling MLU kernels
void set_mlu_core_version(lite_api::MLUCoreVersion core_version);
// set MLU core number, which is used when compiling MLU kernels
void set_mlu_core_number(int core_number);
// set MLU input layout. User can specify layout of input data to be NHWC,
// default is NCHW
void set_mlu_input_layout(DataLayoutType layout);
// whether use MLU's first conv kernel. First conv is a special kernel
// provided by MLU, its input is uint8, and also needs two 3-dimentional
// vectors which save all inputs' mean and std values
void set_mlu_use_first_conv(bool use_first_conv);
// set the 3-dimentional mean vector used by MLU's first conv
void set_mlu_first_conv_mean(const std::vector<float>& mean);
// set the 3-dimentional std vector used by MLU's first conv
void set_mlu_first_conv_std(const std::vector<float>& std);
lite_api::MLUCoreVersion mlu_core_version() const;
int mlu_core_number() const;
DataLayoutType mlu_input_layout() const;
bool mlu_use_first_conv() const;
const std::vector<float>& mlu_first_conv_mean() const;
const std::vector<float>& mlu_first_conv_std() const;
#endif
// XPU only, set the size of the workspace memory from L3 cache for the
// current thread.
void set_xpu_workspace_l3_size_per_thread(int l3_size = 0xfffc00);
// XPU only, specify the target device ID for the current thread.
void set_xpu_dev_per_thread(int dev_no = 0);
};
/// MobileConfig is the config for the light weight predictor, it will skip
/// IR optimization or other unnecessary stages.
class LITE_API MobileConfig : public ConfigBase {
// whether to load data from memory. Model data will be loaded from memory
// buffer if model_from_memory_ is true.
bool model_from_memory_{false};
// model data readed from file or memory buffer in combined format.
std::string lite_model_file_;
// NOTE: This is a deprecated variable and will be removed in latter release.
std::string model_buffer_;
std::string param_buffer_;
public:
// set model data in combined format, `set_model_from_file` refers to loading
// model from file, set_model_from_buffer refers to loading model from memory
// buffer
void set_model_from_file(const std::string& x);
void set_model_from_buffer(const std::string& x);
// return model data in lite_model_file_, which is in combined format.
const std::string& lite_model_file() const { return lite_model_file_; }
// return model_from_memory_, which indicates whether to load model from
// memory buffer.
bool model_from_memory() const { return model_from_memory_; }
// NOTE: This is a deprecated API and will be removed in latter release.
void set_model_buffer(const char* model_buffer,
size_t model_buffer_size,
const char* param_buffer,
size_t param_buffer_size);
// NOTE: This is a deprecated API and will be removed in latter release.
const std::string& model_buffer() const { return model_buffer_; }
// NOTE: This is a deprecated API and will be removed in latter release.
const std::string& param_buffer() const { return param_buffer_; }
};
template <typename ConfigT>
LITE_API std::shared_ptr<PaddlePredictor> CreatePaddlePredictor(const ConfigT&);
} // namespace lite_api
} // namespace paddle
#endif // NOLINT
================================================
FILE: Android/testlac/app/src/main/cpp/paddle/include/paddle_image_preprocess.h
================================================
// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#pragma once
#include <stdint.h>
#include <stdio.h>
#include <vector>
#include "lite/api/paddle_api.h"
#include "lite/api/paddle_place.h"
namespace paddle {
namespace lite {
namespace utils {
namespace cv {
typedef paddle::lite_api::Tensor Tensor;
typedef paddle::lite_api::DataLayoutType LayoutType;
// color enum
enum ImageFormat {
RGBA = 0,
BGRA,
RGB,
BGR,
GRAY,
NV21 = 11,
NV12,
};
// flip enum
enum FlipParam {
XY = -1, // flip along the XY axis
X = 0, // flip along the X axis
Y // flip along the Y axis
};
// transform param
typedef struct {
int ih; // input height
int iw; // input width
int oh; // outpu theight
int ow; // output width
FlipParam flip_param; // flip, support x, y, xy
float rotate_param; // rotate, support 90, 180, 270
} TransParam;
class ImagePreprocess {
public:
/*
* init
* param srcFormat: input image color
* param dstFormat: output image color
* param param: input image parameter, egs: input size
*/
ImagePreprocess(ImageFormat srcFormat,
ImageFormat dstFormat,
TransParam param);
/*
* image color convert
* support NV12/NV21_to_BGR(RGB), NV12/NV21_to_BGRA(RGBA),
* BGR(RGB)and BGRA(RGBA) transform,
* BGR(RGB)and RGB(BGR) transform,
* BGR(RGB)and RGBA(BGRA) transform,
* BGR(RGB) and GRAY transform,
* BGRA(RGBA) and GRAY transform,
* param src: input image data
* param dst: output image data
*/
void imageConvert(const uint8_t* src, uint8_t* dst);
/*
* image color convert
* support NV12/NV21_to_BGR(RGB), NV12/NV21_to_BGRA(RGBA),
* BGR(RGB)and BGRA(RGBA) transform,
* BGR(RGB)and RGB(BGR) transform,
* BGR(RGB)and RGBA(BGRA) transform,
* BGR(RGB)and GRAY transform,
* BGRA(RGBA) and GRAY transform,
* param src: input image data
* param dst: output image data
* param srcFormat: input image image format support: GRAY, NV12(NV21),
* BGR(RGB) and BGRA(RGBA)
* param dstFormat: output image image format, support GRAY, BGR(RGB) and
* BGRA(RGBA)
*/
void imageConvert(const uint8_t* src,
uint8_t* dst,
ImageFormat srcFormat,
ImageFormat dstFormat);
/*
* image resize, use bilinear method
* support image format: 1-channel image (egs: GRAY, 2-channel image (egs:
* NV12, NV21), 3-channel(egs: BGR), 4-channel(egs: BGRA)
* param src: input image data
* param dst: output image data
*/
void imageResize(const uint8_t* src, uint8_t* dst);
/*
image resize, use bilinear method
* support image format: 1-channel image (egs: GRAY, 2-channel image (egs:
NV12, NV21), 3-channel image(egs: BGR), 4-channel image(egs: BGRA)
* param src: input image data
* param dst: output image data
* param srcw: input image width
* param srch: input image height
* param dstw: output image width
* param dsth: output image height
*/
void imageResize(const uint8_t* src,
uint8_t* dst,
ImageFormat srcFormat,
int srcw,
int srch,
int dstw,
int dsth);
/*
* image Rotate
* support 90, 180 and 270 Rotate process
* color format support 1-channel image, 3-channel image and 4-channel image
* param src: input image data
* param dst: output image data
*/
void imageRotate(const uint8_t* src, uint8_t* dst);
/*
* image Rotate
* support 90, 180 and 270 Rotate process
* color format support 1-channel image, 3-channel image and 4-channel image
* param src: input image data
* param dst: output image data
* param srcFormat: input image format, support GRAY, BGR(RGB) and BGRA(RGBA)
* param srcw: input image width
* param srch: input image height
* param degree: Rotate degree, support 90, 180 and 270
*/
void imageRotate(const uint8_t* src,
uint8_t* dst,
ImageFormat srcFormat,
int srcw,
int srch,
float degree);
/*
* image Flip
* support X, Y and XY flip process
* color format support 1-channel image, 3-channel image and 4-channel image
* param src: input image data
* param dst: output image data
*/
void imageFlip(const uint8_t* src, uint8_t* dst);
/*
* image Flip
* support X, Y and XY flip process
* color format support 1-channel image, 3-channel image and 4-channel image
* param src: input image data
* param dst: output image data
* param srcFormat: input image format, support GRAY, BGR(RGB) and BGRA(RGBA)
* param srcw: input image width
* param srch: input image height
* param flip_param: flip parameter, support X, Y and XY
*/
void imageFlip(const uint8_t* src,
uint8_t* dst,
ImageFormat srcFormat,
int srcw,
int srch,
FlipParam flip_param);
/*
* change image data to tensor data
* support image format is GRAY, BGR(RGB) and BGRA(RGBA), Data layout is NHWC
* and
* NCHW
* param src: input image data
* param dstTensor: output tensor data
* param layout: output tensor layout,support NHWC and NCHW
* param means: means of image
* param scales: scales of image
*/
void image2Tensor(const uint8_t* src,
Tensor* dstTensor,
LayoutType layout,
float* means,
float* scales);
/*
* change image data to tensor data
* support image format is GRAY, BGR(RGB) and BGRA(RGBA), Data layout is NHWC
* and
* NCHW
* param src: input image data
* param dstTensor: output tensor data
* param srcFormat: input image format, support BGR(RGB) and BGRA(RGBA)
* param srcw: input image width
* param srch: input image height
* param layout: output tensor layout,support NHWC and NCHW
* param means: means of image
* param scales: scales of image
*/
void image2Tensor(const uint8_t* src,
Tensor* dstTensor,
ImageFormat srcFormat,
int srcw,
int srch,
LayoutType layout,
float* means,
float* scales);
private:
ImageFormat srcFormat_;
ImageFormat dstFormat_;
TransParam transParam_;
};
} // namespace cv
} // namespace utils
} // namespace lite
} // namespace paddle
================================================
FILE: Android/testlac/app/src/main/cpp/paddle/include/paddle_lite_factory_helper.h
================================================
// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/*
* This file defines some MACROS that explicitly determine the op, kernel, mir
* passes used in the inference lib.
*/
#pragma once
// some platform-independent defintion
#include "lite/utils/macros.h"
#define USE_LITE_OP(op_type__) \
extern int touch_op_##op_type__(); \
int LITE_OP_REGISTER_FAKE(op_type__) UNUSED = touch_op_##op_type__();
#define USE_LITE_KERNEL(op_type__, target__, precision__, layout__, alias__) \
extern int touch_##op_type__##target__##precision__##layout__##alias__(); \
int op_type__##target__##precision__##layout__##alias__##__use_lite_kernel \
UNUSED = touch_##op_type__##target__##precision__##layout__##alias__();
#define USE_MIR_PASS(name__) \
extern bool mir_pass_registry##name__##_fake(); \
static bool mir_pass_usage##name__ UNUSED = \
mir_pass_registry##name__##_fake();
#define LITE_OP_REGISTER_FAKE(op_type__) op_type__##__registry__
================================================
FILE: Android/testlac/app/src/main/cpp/paddle/include/paddle_place.h
================================================
// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#pragma once
#include <set>
#include <string>
// Generic helper definitions for shared library support
#if defined _WIN32 || defined __CYGWIN__
#define PADDLE_LITE_HELPER_DLL_IMPORT __declspec(dllimport)
#define PADDLE_LITE_HELPER_DLL_EXPORT __declspec(dllexport)
#define PADDLE_LITE_HELPER_DLL_LOCAL
#else
#if __GNUC__ >= 4
#define PADDLE_LITE_HELPER_DLL_IMPORT __attribute__((visibility("default")))
#define PADDLE_LITE_HELPER_DLL_EXPORT __attribute__((visibility("default")))
#else
#define PADDLE_LITE_HELPER_DLL_IMPORT
#define PADDLE_LITE_HELPER_DLL_EXPORT
#endif
#endif
#ifdef LITE_ON_TINY_PUBLISH
#define LITE_API PADDLE_LITE_HELPER_DLL_EXPORT
#define LITE_API_IMPORT PADDLE_LITE_HELPER_DLL_IMPORT
#else
#define LITE_API
#define LITE_API_IMPORT
#endif
namespace paddle {
namespace lite_api {
enum class TargetType : int {
kUnk = 0,
kHost = 1,
kX86 = 2,
kCUDA = 3,
kARM = 4,
kOpenCL = 5,
kAny = 6, // any target
kFPGA = 7,
kNPU = 8,
kXPU = 9,
kBM = 10,
kMLU = 11,
kRKNPU = 12,
kAPU = 13,
NUM = 14, // number of fields.
};
enum class PrecisionType : int {
kUnk = 0,
kFloat = 1,
kInt8 = 2,
kInt32 = 3,
kAny = 4, // any precision
kFP16 = 5,
kBool = 6,
kInt64 = 7,
kInt16 = 8,
NUM = 9, // number of fields.
};
enum class DataLayoutType : int {
kUnk = 0,
kNCHW = 1,
kNHWC = 3,
kImageDefault = 4, // for opencl image2d
kImageFolder = 5, // for opencl image2d
kImageNW = 6, // for opencl image2d
kAny = 2, // any data layout
NUM = 7, // number of fields.
};
typedef enum {
LITE_POWER_HIGH = 0,
LITE_POWER_LOW = 1,
LITE_POWER_FULL = 2,
LITE_POWER_NO_BIND = 3,
LITE_POWER_RAND_HIGH = 4,
LITE_POWER_RAND_LOW = 5
} PowerMode;
typedef enum { MLU_220 = 0, MLU_270 = 1 } MLUCoreVersion;
enum class ActivationType : int {
kIndentity = 0,
kRelu = 1,
kRelu6 = 2,
kPRelu = 3,
kLeakyRelu = 4,
kSigmoid = 5,
kTanh = 6,
kSwish = 7,
kExp = 8,
kAbs = 9,
kHardSwish = 10,
kReciprocal = 11,
NUM = 12,
};
static size_t PrecisionTypeLength(PrecisionType type) {
switch (type) {
case PrecisionType::kFloat:
return 4;
case PrecisionType::kInt8:
return 1;
case PrecisionType::kInt32:
return 4;
case PrecisionType::kInt64:
return 8;
case PrecisionType::kFP16:
return 2;
default:
return 4;
}
}
template <typename T>
struct PrecisionTypeTrait {
constexpr static PrecisionType Type() { return PrecisionType::kUnk; }
};
#define _ForEachPrecisionTypeHelper(callback, cpp_type, precision_type) \
callback(cpp_type, ::paddle::lite_api::PrecisionType::precision_type);
#define _ForEachPrecisionType(callback) \
_ForEachPrecisionTypeHelper(callback, bool, kBool); \
_ForEachPrecisionTypeHelper(callback, float, kFloat); \
_ForEachPrecisionTypeHelper(callback, int8_t, kInt8); \
_ForEachPrecisionTypeHelper(callback, int16_t, kInt16); \
_ForEachPrecisionTypeHelper(callback, int, kInt32); \
_ForEachPrecisionTypeHelper(callback, int64_t, kInt64);
#define DefinePrecisionTypeTrait(cpp_type, precision_type) \
template <> \
struct PrecisionTypeTrait<cpp_type> { \
constexpr static PrecisionType Type() { return precision_type; } \
}
_ForEachPrecisionType(DefinePrecisionTypeTrait);
#undef _ForEachPrecisionTypeHelper
#undef _ForEachPrecisionType
#undef DefinePrecisionTypeTrait
#define TARGET(item__) paddle::lite_api::TargetType::item__
#define PRECISION(item__) paddle::lite_api::PrecisionType::item__
#define DATALAYOUT(item__) paddle::lite_api::DataLayoutType::item__
const std::string& ActivationTypeToStr(ActivationType act);
const std::string& TargetToStr(TargetType target);
const std::string& PrecisionToStr(PrecisionType precision);
const std::string& DataLayoutToStr(DataLayoutType layout);
const std::string& TargetRepr(TargetType target);
const std::string& PrecisionRepr(PrecisionType precision);
const std::string& DataLayoutRepr(DataLayoutType layout);
// Get a set of all the elements represented by the target.
std::set<TargetType> ExpandValidTargets(TargetType target = TARGET(kAny));
// Get a set of all the elements represented by the precision.
std::set<PrecisionType> ExpandValidPrecisions(
PrecisionType precision = PRECISION(kAny));
// Get a set of all the elements represented by the layout.
std::set<DataLayoutType> ExpandValidLayouts(
DataLayoutType layout = DATALAYOUT(kAny));
/*
* Place specifies the execution context of a Kernel or input/output for a
* kernel. It is used to make the analysis of the MIR more clear and accurate.
*/
struct LITE_API Place {
TargetType target{TARGET(kUnk)};
PrecisionType precision{PRECISION(kUnk)};
DataLayoutType layout{DATALAYOUT(kUnk)};
int16_t device{0}; // device ID
Place() = default;
Place(TargetType target,
PrecisionType precision = PRECISION(kFloat),
DataLayoutType layout = DATALAYOUT(kNCHW),
int16_t device = 0)
: target(target), precision(precision), layout(layout), device(device) {}
bool is_valid() const {
return target != TARGET(kUnk) && precision != PRECISION(kUnk) &&
layout != DATALAYOUT(kUnk);
}
size_t hash() const;
bool operator==(const Place& other) const {
return target == other.target && precision == other.precision &&
layout == other.layout && device == other.device;
}
bool operator!=(const Place& other) const { return !(*this == other); }
friend bool operator<(const Place& a, const Place& b);
std::string DebugString() const;
};
} // namespace lite_api
} // namespace paddle
================================================
FILE: Android/testlac/app/src/main/cpp/paddle/include/paddle_use_kernels.h
================================================
#pragma once
#include "paddle_lite_factory_helper.h"
USE_LITE_KERNEL(box_coder, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(calib, kARM, kInt8, kNCHW, fp32_to_int8);
USE_LITE_KERNEL(calib, kARM, kInt8, kNCHW, int8_to_fp32);
USE_LITE_KERNEL(calib, kARM, kInt8, kNHWC, fp32_to_int8);
USE_LITE_KERNEL(calib, kARM, kInt8, kNHWC, int8_to_fp32);
USE_LITE_KERNEL(calib_once, kARM, kInt8, kNCHW, fp32_to_int8);
USE_LITE_KERNEL(calib_once, kARM, kInt8, kNCHW, int8_to_fp32);
USE_LITE_KERNEL(calib_once, kARM, kInt8, kNHWC, fp32_to_int8);
USE_LITE_KERNEL(calib_once, kARM, kInt8, kNHWC, int8_to_fp32);
USE_LITE_KERNEL(reduce_prod, kARM, kInt32, kNCHW, def);
USE_LITE_KERNEL(reduce_prod, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(roi_align, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(shuffle_channel, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(scale, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(scale, kARM, kInt32, kNCHW, def);
USE_LITE_KERNEL(box_clip, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(affine_channel, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(pad2d, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(mul, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(read_from_array, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(shape, kHost, kAny, kAny, def);
USE_LITE_KERNEL(mean, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(feed, kHost, kAny, kAny, def);
USE_LITE_KERNEL(is_empty, kHost, kAny, kAny, def);
USE_LITE_KERNEL(assign, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(write_to_array, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(layout, kARM, kFloat, kNCHW, nchw2nhwc);
USE_LITE_KERNEL(layout, kARM, kFloat, kNCHW, nhwc2nchw);
USE_LITE_KERNEL(layout, kARM, kInt8, kNCHW, int8_nchw2nhwc);
USE_LITE_KERNEL(layout, kARM, kInt8, kNCHW, int8_nhwc2nchw);
USE_LITE_KERNEL(layout_once, kARM, kFloat, kNCHW, nchw2nhwc);
USE_LITE_KERNEL(layout_once, kARM, kFloat, kNCHW, nhwc2nchw);
USE_LITE_KERNEL(layout_once, kARM, kInt8, kNCHW, int8_nchw2nhwc);
USE_LITE_KERNEL(layout_once, kARM, kInt8, kNCHW, int8_nhwc2nchw);
USE_LITE_KERNEL(gru_unit, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(axpy, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(conv2d_transpose, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(lrn, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(beam_search_decode, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(density_prior_box, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(squeeze, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(squeeze2, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(sequence_softmax, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(lstm, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(relu, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(leaky_relu, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(relu_clipped, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(prelu, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(sigmoid, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(tanh, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(swish, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(relu6, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(log, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(exp, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(floor, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(hard_sigmoid, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(rsqrt, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(square, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(hard_swish, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(reciprocal, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(abs, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(top_k, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(crf_decoding, kHost, kFloat, kNCHW, def);
USE_LITE_KERNEL(cast, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(pool2d, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(logical_xor, kHost, kAny, kAny, def);
USE_LITE_KERNEL(logical_and, kHost, kAny, kAny, def);
USE_LITE_KERNEL(logical_or, kHost, kAny, kAny, def);
USE_LITE_KERNEL(logical_not, kHost, kAny, kAny, def);
USE_LITE_KERNEL(lookup_table_dequant, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(split, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(distribute_fpn_proposals, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(yolo_box, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(fill_constant, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(im2sequence, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(split_lod_tensor, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(concat, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(slice, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(slice, kARM, kInt32, kNCHW, def);
USE_LITE_KERNEL(grid_sampler, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(gather, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(power, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(negative, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(arg_max, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(reshape, kHost, kAny, kAny, def);
USE_LITE_KERNEL(reshape2, kHost, kAny, kAny, def);
USE_LITE_KERNEL(flatten, kHost, kAny, kAny, def);
USE_LITE_KERNEL(flatten2, kHost, kAny, kAny, def);
USE_LITE_KERNEL(norm, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(reduce_max, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(sequence_conv, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(lookup_table, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(lookup_table_v2, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(conv2d, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(depthwise_conv2d, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(conv2d, kARM, kInt8, kNCHW, int8_out);
USE_LITE_KERNEL(conv2d, kARM, kInt8, kNCHW, fp32_out);
USE_LITE_KERNEL(depthwise_conv2d, kARM, kInt8, kNCHW, int8_out);
USE_LITE_KERNEL(depthwise_conv2d, kARM, kInt8, kNCHW, fp32_out);
USE_LITE_KERNEL(layer_norm, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(unsqueeze, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(unsqueeze2, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(batch_norm, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(gru, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(assign_value, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(expand, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(conditional_block, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(merge_lod_tensor, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(multiclass_nms, kHost, kFloat, kNCHW, def);
USE_LITE_KERNEL(multiclass_nms2, kHost, kFloat, kNCHW, def);
USE_LITE_KERNEL(sequence_expand, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(transpose, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(transpose2, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(while, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(lod_reset, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(stack, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(increment, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(anchor_generator, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(dropout, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(softmax, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(collect_fpn_proposals, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(prior_box, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(crop, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(ctc_align, kHost, kInt64, kNCHW, def);
USE_LITE_KERNEL(ctc_align, kHost, kInt32, kNCHW, def);
USE_LITE_KERNEL(beam_search, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(sequence_pool, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(generate_proposals, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(fill_constant_batch_size_like, kARM, kAny, kNCHW, def);
USE_LITE_KERNEL(decode_bboxes, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(matmul, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(fetch, kHost, kAny, kAny, def);
USE_LITE_KERNEL(elementwise_add, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(fusion_elementwise_add_activation, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(elementwise_sub, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(fusion_elementwise_sub_activation, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(elementwise_mul, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(elementwise_mul, kARM, kInt32, kNCHW, def);
USE_LITE_KERNEL(elementwise_mul, kARM, kInt64, kNCHW, def);
USE_LITE_KERNEL(fusion_elementwise_mul_activation, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(elementwise_max, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(fusion_elementwise_max_activation, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(elementwise_div, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(fusion_elementwise_div_activation, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(bilinear_interp, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(nearest_interp, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(equal, kHost, kFloat, kAny, def);
USE_LITE_KERNEL(equal, kHost, kInt32, kAny, def);
USE_LITE_KERNEL(not_equal, kHost, kFloat, kAny, def);
USE_LITE_KERNEL(less_than, kHost, kFloat, kAny, def);
USE_LITE_KERNEL(less_than, kHost, kInt32, kAny, def);
USE_LITE_KERNEL(less_than, kHost, kInt64, kAny, def);
USE_LITE_KERNEL(less_equal, kHost, kFloat, kAny, def);
USE_LITE_KERNEL(greater_than, kHost, kFloat, kAny, def);
USE_LITE_KERNEL(greater_equal, kHost, kFloat, kAny, def);
USE_LITE_KERNEL(range, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(fc, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(fc, kARM, kInt8, kNCHW, int8out);
USE_LITE_KERNEL(fc, kARM, kInt8, kNCHW, fp32out);
USE_LITE_KERNEL(reduce_mean, kARM, kFloat, kNCHW, def);
USE_LITE_KERNEL(instance_norm, kARM, kFloat, kNCHW, def);
================================================
FILE: Android/testlac/app/src/main/cpp/paddle/include/paddle_use_ops.h
================================================
#pragma once
#include "paddle_lite_factory_helper.h"
USE_LITE_OP(unsqueeze);
USE_LITE_OP(unsqueeze2);
USE_LITE_OP(softmax);
USE_LITE_OP(search_group_padding);
USE_LITE_OP(collect_fpn_proposals);
USE_LITE_OP(beam_search);
USE_LITE_OP(search_seq_softmax);
USE_LITE_OP(mean);
USE_LITE_OP(attention_padding_mask);
USE_LITE_OP(search_attention_padding_mask);
USE_LITE_OP(increment);
USE_LITE_OP(search_seq_fc);
USE_LITE_OP(scale);
USE_LITE_OP(lookup_table_dequant);
USE_LITE_OP(reduce_mean);
USE_LITE_OP(write_to_array);
USE_LITE_OP(match_matrix_tensor);
USE_LITE_OP(sequence_reshape);
USE_LITE_OP(im2sequence);
USE_LITE_OP(sequence_arithmetic);
USE_LITE_OP(search_seq_arithmetic);
USE_LITE_OP(dropout);
USE_LITE_OP(lrn);
USE_LITE_OP(calib);
USE_LITE_OP(search_grnn);
USE_LITE_OP(cast);
USE_LITE_OP(io_copy);
USE_LITE_OP(reduce_prod);
USE_LITE_OP(fc);
USE_LITE_OP(power);
USE_LITE_OP(sequence_softmax);
USE_LITE_OP(assign);
USE_LITE_OP(ctc_align);
USE_LITE_OP(while);
USE_LITE_OP(affine_channel);
USE_LITE_OP(gru);
USE_LITE_OP(__xpu__multi_encoder);
USE_LITE_OP(uniform_random);
USE_LITE_OP(yolo_box);
USE_LITE_OP(stack);
USE_LITE_OP(shape);
USE_LITE_OP(anchor_generator);
USE_LITE_OP(sequence_reverse);
USE_LITE_OP(square);
USE_LITE_OP(relu_clipped);
USE_LITE_OP(swish);
USE_LITE_OP(log);
USE_LITE_OP(exp);
USE_LITE_OP(abs);
USE_LITE_OP(floor);
USE_LITE_OP(hard_sigmoid);
USE_LITE_OP(sqrt);
USE_LITE_OP(rsqrt);
USE_LITE_OP(softsign);
USE_LITE_OP(gelu);
USE_LITE_OP(hard_swish);
USE_LITE_OP(reciprocal);
USE_LITE_OP(var_conv_2d);
USE_LITE_OP(generate_proposals);
USE_LITE_OP(feed);
USE_LITE_OP(mul);
USE_LITE_OP(decode_bboxes);
USE_LITE_OP(sequence_topk_avg_pooling);
USE_LITE_OP(pad2d);
USE_LITE_OP(layer_norm);
USE_LITE_OP(sequence_pool_concat);
USE_LITE_OP(multiclass_nms);
USE_LITE_OP(multiclass_nms2);
USE_LITE_OP(top_k);
USE_LITE_OP(elementwise_sub);
USE_LITE_OP(elementwise_add);
USE_LITE_OP(elementwise_mul);
USE_LITE_OP(elementwise_max);
USE_LITE_OP(elementwise_div);
USE_LITE_OP(batch_norm);
USE_LITE_OP(flatten);
USE_LITE_OP(flatten2);
USE_LITE_OP(is_empty);
USE_LITE_OP(nearest_interp);
USE_LITE_OP(bilinear_interp);
USE_LITE_OP(fetch);
USE_LITE_OP(fake_quantize_moving_average_abs_max);
USE_LITE_OP(sequence_expand_as);
USE_LITE_OP(reshape);
USE_LITE_OP(reshape2);
USE_LITE_OP(matmul);
USE_LITE_OP(fake_quantize_dequantize_moving_average_abs_max);
USE_LITE_OP(assign_value);
USE_LITE_OP(merge_lod_tensor);
USE_LITE_OP(sequence_expand);
USE_LITE_OP(density_prior_box);
USE_LITE_OP(crop);
USE_LITE_OP(grid_sampler);
USE_LITE_OP(subgraph);
USE_LITE_OP(fill_constant_batch_size_like);
USE_LITE_OP(fake_dequantize_max_abs);
USE_LITE_OP(sequence_concat);
USE_LITE_OP(transpose);
USE_LITE_OP(transpose2);
USE_LITE_OP(search_fc);
USE_LITE_OP(lookup_table_v2);
USE_LITE_OP(box_coder);
USE_LITE_OP(sequence_conv);
USE_LITE_OP(equal);
USE_LITE_OP(not_equal);
USE_LITE_OP(less_than);
USE_LITE_OP(less_equal);
USE_LITE_OP(greater_than);
USE_LITE_OP(greater_equal);
USE_LITE_OP(fake_channel_wise_dequantize_max_abs);
USE_LITE_OP(beam_search_decode);
USE_LITE_OP(__xpu__resnet50);
USE_LITE_OP(io_copy_once);
USE_LITE_OP(layout);
USE_LITE_OP(instance_norm);
USE_LITE_OP(negative);
USE_LITE_OP(lod_reset);
USE_LITE_OP(norm);
USE_LITE_OP(lstm);
USE_LITE_OP(fake_quantize_range_abs_max);
USE_LITE_OP(fake_quantize_abs_max);
USE_LITE_OP(sigmoid);
USE_LITE_OP(tanh);
USE_LITE_OP(relu);
USE_LITE_OP(leaky_relu);
USE_LITE_OP(relu6);
USE_LITE_OP(prelu);
USE_LITE_OP(reduce_max);
USE_LITE_OP(logical_xor);
USE_LITE_OP(logical_and);
USE_LITE_OP(logical_or);
USE_LITE_OP(logical_not);
USE_LITE_OP(distribute_fpn_proposals);
USE_LITE_OP(split_lod_tensor);
USE_LITE_OP(reduce_sum);
USE_LITE_OP(sequence_unpad);
USE_LITE_OP(shuffle_channel);
USE_LITE_OP(read_from_array);
USE_LITE_OP(search_aligned_mat_mul);
USE_LITE_OP(arg_max);
USE_LITE_OP(conv2d);
USE_LITE_OP(depthwise_conv2d);
USE_LITE_OP(gather);
USE_LITE_OP(gru_unit);
USE_LITE_OP(expand);
USE_LITE_OP(fusion_elementwise_sub_activation);
USE_LITE_OP(fusion_elementwise_add_activation);
USE_LITE_OP(fusion_elementwise_mul_activation);
USE_LITE_OP(fusion_elementwise_max_activation);
USE_LITE_OP(fusion_elementwise_div_activation);
USE_LITE_OP(prior_box);
USE_LITE_OP(split);
USE_LITE_OP(lookup_table);
USE_LITE_OP(conv2d_transpose);
USE_LITE_OP(depthwise_conv2d_transpose);
USE_LITE_OP(crf_decoding);
USE_LITE_OP(roi_align);
USE_LITE_OP(box_clip);
USE_LITE_OP(calib_once);
USE_LITE_OP(concat);
USE_LITE_OP(pool2d);
USE_LITE_OP(conditional_block);
USE_LITE_OP(search_seq_depadding);
USE_LITE_OP(range);
USE_LITE_OP(squeeze);
USE_LITE_OP(squeeze2);
USE_LITE_OP(fill_constant);
USE_LITE_OP(sequence_pool);
USE_LITE_OP(axpy);
USE_LITE_OP(slice);
USE_LITE_OP(layout_once);
================================================
FILE: Android/testlac/app/src/main/cpp/paddle/include/paddle_use_passes.h
================================================
// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#pragma once
#include "paddle_lite_factory_helper.h" // NOLINT
USE_MIR_PASS(demo);
USE_MIR_PASS(static_kernel_pick_pass);
USE_MIR_PASS(variable_place_inference_pass);
USE_MIR_PASS(type_target_cast_pass);
USE_MIR_PASS(generate_program_pass);
USE_MIR_PASS(io_copy_kernel_pick_pass);
USE_MIR_PASS(argument_type_display_pass);
USE_MIR_PASS(runtime_context_assign_pass);
USE_MIR_PASS(graph_visualize_pass);
USE_MIR_PASS(lite_conv_bn_fuse_pass);
USE_MIR_PASS(lite_fc_fuse_pass);
USE_MIR_PASS(lite_shuffle_channel_fuse_pass);
USE_MIR_PASS(lite_transpose_softmax_transpose_fuse_pass);
USE_MIR_PASS(lite_interpolate_fuse_pass);
USE_MIR_PASS(lite_sequence_pool_concat_fuse_pass);
USE_MIR_PASS(identity_scale_eliminate_pass);
USE_MIR_PASS(lite_conv_elementwise_fuse_pass);
USE_MIR_PASS(lite_conv_activation_fuse_pass);
USE_MIR_PASS(lite_var_conv_2d_activation_fuse_pass);
USE_MIR_PASS(lite_elementwise_add_activation_fuse_pass);
USE_MIR_PASS(lite_quant_dequant_fuse_pass);
USE_MIR_PASS(type_precision_cast_pass);
USE_MIR_PASS(type_layout_cast_pass);
USE_MIR_PASS(type_layout_cast_preprocess_pass);
USE_MIR_PASS(memory_optimize_pass);
USE_MIR_PASS(multi_stream_analysis_pass);
USE_MIR_PASS(elementwise_mul_constant_eliminate_pass)
USE_MIR_PASS(npu_subgraph_pass);
USE_MIR_PASS(xpu_subgraph_pass);
USE_MIR_PASS(mlu_subgraph_pass);
USE_MIR_PASS(mlu_postprocess_pass);
USE_MIR_PASS(weight_quantization_preprocess_pass);
USE_MIR_PASS(apu_subgraph_pass);
USE_MIR_PASS(quantized_op_attributes_inference_pass);
USE_MIR_PASS(__xpu__resnet_fuse_pass);
USE_MIR_PASS(__xpu__multi_encoder_fuse_pass);
================================================
FILE: Android/testlac/app/src/main/java/com/example/testlac/MainActivity.java
================================================
package com.example.testlac;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import android.Manifest;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class MainActivity extends AppCompatActivity {
private TextView mCutResult;
private EditText mInputText;
private Button mButton;
// Used to load the 'native-lib' library on application startup.
static {
System.loadLibrary("native_lib");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mInputText = (EditText) findViewById(R.id.input_text);
mCutResult = (TextView) findViewById(R.id.cut_result);
mButton = (Button) findViewById((R.id.cut_button));
// Example of a call to a native method
TextView tv = findViewById(R.id.sample_text);
if (!checkAllPermissions()) {
requestAllPermissions();
}
tv.setText(stringFromJNI());
mButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String inputText = mInputText.getText().toString();
if (!TextUtils.isEmpty(inputText)) {
mCutResult.setText(stringCutFromJNI(inputText));
} else {
mCutResult.setText(stringCutFromJNI("输入太短"));
}
}
});
String model_path = copyFromAssetsToCache("lac_model", this);
initLac(model_path);
/* load model for protobuf file, need protobuf lib, abandon
Resources res = getResources();
try {
//获取文件的字节数
InputStream lac_dict = res.openRawResource(R.raw.lac_dict_model);
int length = lac_dict.available();
//创建byte数组
byte[] buffer = new byte[length];
//将文件中的数据读到byte数组中
lac_dict.read(buffer);
// 初始化模型
initLac(buffer, length);
} catch (IOException e) {
e.printStackTrace();
}
*/
}
@Override
protected void onDestroy() {
releaseLac();
super.onDestroy();
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (grantResults[0] != PackageManager.PERMISSION_GRANTED || grantResults[1] != PackageManager.PERMISSION_GRANTED) {
new AlertDialog.Builder(MainActivity.this)
.setTitle("Permission denied")
.setMessage("Click to force quit the app, then open Settings->Apps & notifications->Target " +
"App->Permissions to grant all of the permissions.")
.setCancelable(false)
.setPositiveButton("Exit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
MainActivity.this.finish();
}
}).show();
}
}
public static String copyFromAssetsToCache(String modelPath, Context context) {
String newPath = context.getCacheDir() + "/" + modelPath;
// String newPath = "/sdcard/" + modelPath;
File desDir = new File(newPath);
try {
if (!desDir.exists()) {
desDir.mkdir();
}
for (String fileName : context.getAssets().list(modelPath)) {
InputStream stream = context.getAssets().open(modelPath + "/" + fileName);
OutputStream output = new BufferedOutputStream(new FileOutputStream(newPath + "/" + fileName));
byte data[] = new byte[1024];
int count;
while ((count = stream.read(data)) != -1) {
output.write(data, 0, count);
}
output.flush();
output.close();
stream.close();
}
} catch (Exception e) {
throw new RuntimeException(e);
}
return desDir.getPath();
}
private void requestAllPermissions() {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE}, 0);
}
private boolean checkAllPermissions() {
return ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED
&& ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
}
/**
* A native method that is implemented by the 'native-lib' native library,
* which is packaged with this application.
*
*/
// public native void initLac(byte[] lac_dict, int length);
public native void initLac(String model_path);
public native void releaseLac();
public native String stringFromJNI();
public native String stringCutFromJNI(String source_text);
}
================================================
FILE: Android/testlac/app/src/main/res/drawable/ic_launcher_background.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>
================================================
FILE: Android/testlac/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
================================================
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="85.84757"
android:endY="92.4963"
android:startX="42.9492"
android:startY="49.59793"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>
================================================
FILE: Android/testlac/app/src/main/res/layout/activity_main.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:id="@+id/sample_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="测试Lac"
android:layout_marginTop="80dp"
android:textSize="24dp" />
<EditText
android:id="@+id/input_text"
android:layout_marginTop="60dp"
android:layout_width="300dp"
android:layout_height="50dp"
android:hint="在这里输入文字"
android:textSize="20sp"
/>
<TextView
android:id="@+id/cut_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:text="测试"
android:textSize="20sp" />
<Button
android:id="@+id/cut_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="100dp"
android:text="分词"
android:textSize="20sp" />
</LinearLayout>
================================================
FILE: Android/testlac/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
================================================
FILE: Android/testlac/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
================================================
FILE: Android/testlac/app/src/main/res/values/colors.xml
================================================
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#6200EE</color>
<color name="colorPrimaryDark">#3700B3</color>
<color name="colorAccent">#03DAC5</color>
</resources>
================================================
FILE: Android/testlac/app/src/main/res/values/strings.xml
================================================
<resources>
<string name="app_name">testlac</string>
</resources>
================================================
FILE: Android/testlac/app/src/main/res/values/styles.xml
================================================
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
================================================
FILE: Android/testlac/app/src/test/java/com/example/testlac/ExampleUnitTest.java
================================================
package com.example.testlac;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* Example local unit test, which will execute on the development machine (host).
*
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
public class ExampleUnitTest {
@Test
public void addition_isCorrect() {
assertEquals(4, 2 + 2);
}
}
================================================
FILE: Android/testlac/build.gradle
================================================
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
================================================
FILE: Android/testlac/gradle.properties
================================================
# Project-wide Gradle settings.
# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.
# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
================================================
FILE: Android/testlac/gradlew
================================================
#!/usr/bin/env sh
##############################################################################
##
## Gradle start up script for UN*X
##
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS=""
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
warn () {
echo "$*"
}
die () {
echo
echo "$*"
echo
exit 1
}
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin, switch paths to Windows format before running java
if $cygwin ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=$((i+1))
done
case $i in
(0) set -- ;;
(1) set -- "$args0" ;;
(2) set -- "$args0" "$args1" ;;
(3) set -- "$args0" "$args1" "$args2" ;;
(4) set -- "$args0" "$args1" "$args2" "$args3" ;;
(5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
(6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
(7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
(8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
(9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=$(save "$@")
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
cd "$(dirname "$0")"
fi
exec "$JAVACMD" "$@"
================================================
FILE: Android/testlac/gradlew.bat
================================================
@if "%DEBUG%" == "" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.
set APP_BASE_NAME=%~n0
set APP_HOME=%DIRNAME%
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
set DEFAULT_JVM_OPTS=
@rem Find java.exe
if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
echo.
echo Please set the JAVA_HOME variable in your environment to match the
echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
:end
@rem End local scope for the variables with windows NT shell
if "%ERRORLEVEL%"=="0" goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
exit /b 1
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
================================================
FILE: Android/testlac/local.properties
================================================
## This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
#
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
#Tue Apr 21 15:41:16 CST 2020
ndk.dir=/Users/huangdingbang/Library/Android/sdk/ndk/21.1.6352462
sdk.dir=/Users/huangdingbang/Library/Android/sdk
================================================
FILE: Android/testlac/settings.gradle
================================================
rootProject.name='testlac'
include ':app'
================================================
FILE: Android/testlac/testlac.iml
================================================
<?xml version="1.0" encoding="UTF-8"?>
<module external.linked.project.id="testlac" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="java-gradle" name="Java-Gradle">
<configuration>
<option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
<option name="BUILDABLE" value="false" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
================================================
FILE: CMakeLists.txt
================================================
cmake_minimum_required(VERSION 3.0)
project(lac CXX C)
option(WITH_STATIC_LIB "Compile demo with static/shared library, default use static." ON)
option(WITH_DEMO "Compile C++ demo or not, default yes" ON)
option(WITH_JNILIB "Compile jni library for Java or not, default not" OFF)
# set paddle and java path
#set(PADDLE_ROOT "D:/lac/fluid_inference_install_dir")
#set(JAVA_HOME "C:/Program Files/Java/jdk1.8.0_121")
message(STATUS "CXX compiler: ${CMAKE_CXX_COMPILER}, version: "
"${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}")
message(STATUS "C compiler: ${CMAKE_C_COMPILER}, version: "
"${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION}")
#[[
if(CMAKE_COMPILER_IS_GNUCXX)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
if (GCC_VERSION VERSION_LESS 8.2)
message(FATAL_ERROR "A gcc compiler with a version >= 8.2 is needed.")
endif()
else()
message(FATAL_ERROR "A gcc compiler is needed.")
endif(CMAKE_COMPILER_IS_GNUCXX)
]]
macro(safe_set_static_flag)
foreach(flag_var
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
if(${flag_var} MATCHES "/MD")
string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
endif(${flag_var} MATCHES "/MD")
endforeach(flag_var)
endmacro()
if(NOT DEFINED PADDLE_ROOT)
message(FATAL_ERROR "please set PADDLE_ROOT with -DPADDLE_ROOT=/path/paddle/lib")
endif()
if (WITH_JNILIB AND NOT DEFINED JAVA_HOME)
message(FATAL_ERROR "please set JAVA_HOME with -DJAVA_HOME=/path/of/java")
endif()
if (IS_ABSOLUTE ${PADDLE_ROOT})
set(PADDLE_ABS_PATH ${PADDLE_ROOT})
else ()
get_filename_component(PADDLE_ABS_PATH ${CMAKE_BINARY_DIR}/${PADDLE_ROOT}/ ABSOLUTE)
endif ()
message(STATUS "paddle include: ${PADDLE_ABS_PATH}/paddle/include")
message(STATUS "paddle lib: ${PADDLE_ABS_PATH}/paddle/lib")
include_directories(${PADDLE_ABS_PATH}/paddle/include)
set(PADDLE_LIB_THIRD_PARTY_PATH "${PADDLE_ABS_PATH}/third_party/install/")
include_directories("${PADDLE_LIB_THIRD_PARTY_PATH}protobuf/include")
include_directories("${PADDLE_LIB_THIRD_PARTY_PATH}glog/include")
include_directories("${PADDLE_LIB_THIRD_PARTY_PATH}gflags/include")
include_directories("${PADDLE_LIB_THIRD_PARTY_PATH}xxhash/include")
link_directories("${PADDLE_LIB_THIRD_PARTY_PATH}protobuf/lib")
link_directories("${PADDLE_LIB_THIRD_PARTY_PATH}glog/lib")
link_directories("${PADDLE_LIB_THIRD_PARTY_PATH}gflags/lib")
link_directories("${PADDLE_LIB_THIRD_PARTY_PATH}xxhash/lib")
link_directories("${PADDLE_ABS_PATH}/paddle/lib")
#link_libraries(paddle_fluid)
if (WIN32)
add_definitions("/DGOOGLE_GLOG_DLL_DECL=")
if (MSVC)
option(MSVC_STATIC_CRT "use static C Runtime library by default" ON)
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /bigobj /MTd")
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /bigobj /MT")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /bigobj /MTd")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /bigobj /MT")
if (WITH_STATIC_LIB)
safe_set_static_flag()
add_definitions(-DSTATIC_LIB)
endif()
endif()
else()
set(CMAKE_CXX_FLAGS "-O3 -g -pipe -W -Wall -Wno-unused-parameter -fPIC -fpermissive -std=gnu++11")
endif()
# add mkldnn library if it exitsts
set (mkldnn_inc_path ${PADDLE_ABS_PATH}/third_party/install/mkldnn/include)
set (mkldnn_lib_path ${PADDLE_ABS_PATH}/third_party/install/mkldnn/lib)
if (EXISTS ${mkldnn_inc_path} AND EXISTS ${mkldnn_lib_path})
message(STATUS "MKLDNN lib found.")
include_directories(${PADDLE_ABS_PATH}/third_party/install/mkldnn/include)
if (WIN32)
set (MKLDNN_LIB ${mkldnn_lib_path}/mkldnn.lib)
else (WIN32)
set (MKLDNN_LIB ${mkldnn_lib_path}/libmkldnn.so.0)
endif (WIN32)
else ()
message(STATUS "MKLDNN lib not found.")
endif()
# add mklml library if it exists
set (mklml_inc_path ${PADDLE_ABS_PATH}/third_party/install/mklml/include)
set (mklml_lib_path ${PADDLE_ABS_PATH}/third_party/install/mklml/lib)
if (EXISTS ${mklml_inc_path} AND EXISTS ${mklml_lib_path})
message(STATUS "MKLML lib found.")
include_directories(${PADDLE_ABS_PATH}/third_party/install/mklml/include)
if(WIN32)
set(MATH_LIB ${mklml_lib_path}/mklml${CMAKE_STATIC_LIBRARY_SUFFIX}
${mklml_lib_path}/libiomp5md${CMAKE_STATIC_LIBRARY_SUFFIX})
else()
set(MATH_LIB ${mklml_lib_path}/libmklml_intel${CMAKE_SHARED_LIBRARY_SUFFIX}
${mklml_lib_path}/libiomp5${CMAKE_SHARED_LIBRARY_SUFFIX})
endif()
else ()
message(STATUS "MKLML lib not found.")
endif()
# add openblas library if it exists
set (openblas_inc_path ${PADDLE_ABS_PATH}/third_party/install/openblas/include)
set (openblas_lib_path ${PADDLE_ABS_PATH}/third_party/install/openblas/lib)
if (EXISTS ${openblas_inc_path} AND EXISTS ${openblas_lib_path})
message(STATUS "openblas lib found.")
include_directories(${PADDLE_ABS_PATH}/third_party/install/openblas/include)
if(WIN32)
set(MATH_LIB ${openblas_lib_path}/openblas${CMAKE_STATIC_LIBRARY_SUFFIX})
else()
set(MATH_LIB ${openblas_lib_path}/libopenblas${CMAKE_STATIC_LIBRARY_SUFFIX})
endif()
else ()
message(STATUS "openblas lib not found.")
endif()
if(WITH_STATIC_LIB)
set(DEPS ${PADDLE_ABS_PATH}/paddle/lib/libpaddle_fluid${CMAKE_STATIC_LIBRARY_SUFFIX})
else()
if(WIN32)
set(DEPS ${PADDLE_ABS_PATH}/paddle/lib/paddle_fluid${CMAKE_SHARED_LIBRARY_SUFFIX})
else()
set(DEPS ${PADDLE_ABS_PATH}/paddle/lib/libpaddle_fluid${CMAKE_SHARED_LIBRARY_SUFFIX})
endif()
endif()
if (NOT WIN32)
set(EXTERNAL_LIB "-ldl -lpthread")
set(DEPS ${DEPS}
${MATH_LIB} ${MKLDNN_LIB}
glog gflags protobuf xxhash
${EXTERNAL_LIB})
else()
set(DEPS ${DEPS}
${MATH_LIB} ${MKLDNN_LIB}
glog gflags_static libprotobuf xxhash ${EXTERNAL_LIB})
set(DEPS ${DEPS} libcmt shlwapi.lib)
endif(NOT WIN32)
include_directories(c++/include)
aux_source_directory(c++/src SOURCE)
message(STATUS "'${PROJECT_SOURCE_DIR}' output dir")
add_library(lac ${SOURCE})
# for c++ binary demo
if (WITH_DEMO)
add_executable(lac_demo c++/lac_demo.cpp)
set_target_properties(lac_demo PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
target_link_libraries(lac_demo lac ${DEPS})
add_executable(lac_multi c++/lac_multi.cpp)
set_target_properties(lac_multi PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
target_link_libraries(lac_multi lac ${DEPS})
endif()
# for jni lib
if (WITH_JNILIB)
include_directories(./java/cpp ${JAVA_HOME}/include ${JAVA_HOME}/include/linux/ ${JAVA_HOME}/include/darwin ${JAVA_HOME}/include/win32)
add_library(lacjni SHARED ${SOURCE} ./java/cpp/lac_jni.cpp)
set_target_properties(lacjni PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
target_link_libraries(lacjni ${DEPS})
endif()
if(WIN32)
if (EXISTS ${mklml_inc_path} AND EXISTS ${mklml_lib_path})
add_custom_command(TARGET lac_demo POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${mklml_lib_path}/mklml.dll ${CMAKE_BINARY_DIR}/Release
COMMAND ${CMAKE_COMMAND} -E copy ${mklml_lib_path}/libiomp5md.dll ${CMAKE_BINARY_DIR}/Release
COMMAND ${CMAKE_COMMAND} -E copy ${mkldnn_lib_path}/mkldnn.dll ${CMAKE_BINARY_DIR}/Release
)
else()
add_custom_command(TARGET lac_demo POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${openblas_lib_path}/openblas.dll ${CMAKE_BINARY_DIR}/Release
)
endif()
if(NOT WITH_STATIC_LIB)
add_custom_command(TARGET lac_demo POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy "${PADDLE_ABS_PATH}/paddle/lib/paddle_fluid.dll" ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE}
)
endif()
endif()
install(TARGETS lac DESTINATION ${PROJECT_SOURCE_DIR}/output/lib)
install(FILES ${PROJECT_SOURCE_DIR}/c++/include/lac.h
DESTINATION ${PROJECT_SOURCE_DIR}/output/include)
if (WITH_DEMO)
install(TARGETS lac_demo DESTINATION ${PROJECT_SOURCE_DIR}/output/bin)
install(TARGETS lac_multi DESTINATION ${PROJECT_SOURCE_DIR}/output/bin)
endif()
if (WITH_JNILIB)
install(TARGETS lacjni DESTINATION ${PROJECT_SOURCE_DIR}/output/java)
install(FILES ${PROJECT_SOURCE_DIR}/java/com/baidu/nlp/LAC.java
DESTINATION ${PROJECT_SOURCE_DIR}/output/java/com/baidu/nlp/)
install(FILES ${PROJECT_SOURCE_DIR}/java/LacDemo.java
DESTINATION ${PROJECT_SOURCE_DIR}/output/java)
install(FILES ${PROJECT_SOURCE_DIR}/java/LacMulti.java
DESTINATION ${PROJECT_SOURCE_DIR}/output/java)
endif()
================================================
FILE: Changelog
================================================
2020-10-25: version 2.1.0
1. 词性标注模型粒度更新为字词混合,在效果保持不变的情况下,性能提升最高可达20%。
2. 新增加词语关键度分类功能,在维持LAC词性标注结果下可以标注词语关键程度。
3. 修复了模型训练速度慢问题。
================================================
FILE: LICENSE
================================================
Copyright (c) 2018 Baidu, Inc. All Rights Reserved
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor,
gitextract_88jgzumm/
├── .gitattributes
├── AUTHORS
├── Android/
│ ├── README.md
│ └── testlac/
│ ├── .project
│ ├── app/
│ │ ├── .gitignore
│ │ ├── .project
│ │ ├── build.gradle
│ │ ├── proguard-rules.pro
│ │ └── src/
│ │ ├── androidTest/
│ │ │ └── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── testlac/
│ │ │ └── ExampleInstrumentedTest.java
│ │ ├── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets/
│ │ │ │ └── lac_model/
│ │ │ │ ├── model.nb
│ │ │ │ ├── q2b.dic
│ │ │ │ ├── tag.dic
│ │ │ │ └── word.dic
│ │ │ ├── cpp/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── lac.cpp
│ │ │ │ ├── lac.h
│ │ │ │ ├── lac_util.cpp
│ │ │ │ ├── lac_util.h
│ │ │ │ ├── native_lib.cpp
│ │ │ │ └── paddle/
│ │ │ │ └── include/
│ │ │ │ ├── paddle_api.h
│ │ │ │ ├── paddle_image_preprocess.h
│ │ │ │ ├── paddle_lite_factory_helper.h
│ │ │ │ ├── paddle_place.h
│ │ │ │ ├── paddle_use_kernels.h
│ │ │ │ ├── paddle_use_ops.h
│ │ │ │ └── paddle_use_passes.h
│ │ │ ├── java/
│ │ │ │ └── com/
│ │ │ │ └── example/
│ │ │ │ └── testlac/
│ │ │ │ └── MainActivity.java
│ │ │ └── res/
│ │ │ ├── drawable/
│ │ │ │ └── ic_launcher_background.xml
│ │ │ ├── drawable-v24/
│ │ │ │ └── ic_launcher_foreground.xml
│ │ │ ├── layout/
│ │ │ │ └── activity_main.xml
│ │ │ ├── mipmap-anydpi-v26/
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ └── ic_launcher_round.xml
│ │ │ └── values/
│ │ │ ├── colors.xml
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ │ └── test/
│ │ └── java/
│ │ └── com/
│ │ └── example/
│ │ └── testlac/
│ │ └── ExampleUnitTest.java
│ ├── build.gradle
│ ├── gradle.properties
│ ├── gradlew
│ ├── gradlew.bat
│ ├── local.properties
│ ├── settings.gradle
│ └── testlac.iml
├── CMakeLists.txt
├── Changelog
├── LICENSE
├── README.md
├── c++/
│ ├── README.md
│ ├── include/
│ │ ├── ahocorasick.h
│ │ ├── lac.h
│ │ ├── lac_custom.h
│ │ └── lac_util.h
│ ├── lac_demo.cpp
│ ├── lac_multi.cpp
│ └── src/
│ ├── ahocorasick.cpp
│ ├── lac.cpp
│ ├── lac_custom.cpp
│ └── lac_util.cpp
├── compile4windows.md
├── java/
│ ├── LacDemo.java
│ ├── LacMulti.java
│ ├── README.md
│ ├── com/
│ │ └── baidu/
│ │ └── nlp/
│ │ └── LAC.java
│ └── cpp/
│ ├── lac_jni.cpp
│ └── lac_jni.h
└── python/
├── LAC/
│ ├── __init__.py
│ ├── _compat.py
│ ├── ahocorasick.py
│ ├── cmdline.py
│ ├── custom.py
│ ├── lac.py
│ ├── models.py
│ ├── nets.py
│ ├── prefix_tree.py
│ ├── reader.py
│ ├── segment.py
│ ├── tests/
│ │ ├── __init__.py
│ │ └── lac_test.py
│ └── utils.py
├── README.md
├── setup.cfg
└── setup.py
SYMBOL INDEX (183 symbols across 35 files)
FILE: Android/testlac/app/src/androidTest/java/com/example/testlac/ExampleInstrumentedTest.java
class ExampleInstrumentedTest (line 18) | @RunWith(AndroidJUnit4.class)
method useAppContext (line 20) | @Test
FILE: Android/testlac/app/src/main/cpp/lac.h
type CODE_TYPE (line 24) | enum CODE_TYPE
type OutputItem (line 31) | struct OutputItem
function class (line 41) | class LAC
FILE: Android/testlac/app/src/main/cpp/lac_util.cpp
function RVAL (line 18) | RVAL split_tokens(const std::string &line, const std::string &pattern,
function RVAL (line 49) | RVAL load_word2id_dict(const std::string &filepath,
function RVAL (line 77) | RVAL load_q2b_dict(const std::string &filepath,
function RVAL (line 103) | RVAL load_id2label_dict(const std::string &filepath,
function get_next_gb18030 (line 131) | int get_next_gb18030(const char *str)
function get_next_utf8 (line 154) | int get_next_utf8(const char *str)
function get_next_word (line 180) | int get_next_word(const char *str, CODE_TYPE codetype)
function RVAL (line 200) | RVAL split_words(const char *input, int len, CODE_TYPE codetype, std::ve...
function RVAL (line 217) | RVAL split_words(const std::string &input, CODE_TYPE codetype, std::vect...
FILE: Android/testlac/app/src/main/cpp/lac_util.h
type RVAL (line 25) | enum RVAL
FILE: Android/testlac/app/src/main/cpp/native_lib.cpp
function JNIEXPORT (line 15) | JNIEXPORT void JNICALL
function JNIEXPORT (line 32) | JNIEXPORT void JNICALL
function JNIEXPORT (line 37) | JNIEXPORT jstring JNICALL
function JNIEXPORT (line 45) | JNIEXPORT jstring JNICALL
FILE: Android/testlac/app/src/main/cpp/paddle/include/paddle_api.h
type class (line 33) | enum class
type LITE_API (line 35) | struct LITE_API
function virtual (line 83) | virtual std::string GetVersion() const = 0;
function threads_ (line 114) | int threads_{1}
function PowerMode (line 115) | PowerMode mode_{LITE_POWER_NO_BIND};
function mlu_core_number_ (line 144) | int mlu_core_number_{1}
function DataLayoutType (line 145) | DataLayoutType mlu_input_layout_{DATALAYOUT(kNCHW)}
function mlu_use_first_conv_ (line 146) | bool mlu_use_first_conv_{false};
FILE: Android/testlac/app/src/main/cpp/paddle/include/paddle_image_preprocess.h
function namespace (line 23) | namespace paddle {
FILE: Android/testlac/app/src/main/cpp/paddle/include/paddle_place.h
type class (line 45) | enum class
function PrecisionType (line 62) | enum class PrecisionType : int {
FILE: Android/testlac/app/src/main/java/com/example/testlac/MainActivity.java
class MainActivity (line 28) | public class MainActivity extends AppCompatActivity {
method onCreate (line 38) | @Override
method onDestroy (line 85) | @Override
method onRequestPermissionsResult (line 91) | @Override
method copyFromAssetsToCache (line 110) | public static String copyFromAssetsToCache(String modelPath, Context c...
method requestAllPermissions (line 142) | private void requestAllPermissions() {
method checkAllPermissions (line 147) | private boolean checkAllPermissions() {
method initLac (line 159) | public native void initLac(String model_path);
method releaseLac (line 161) | public native void releaseLac();
method stringFromJNI (line 163) | public native String stringFromJNI();
method stringCutFromJNI (line 165) | public native String stringCutFromJNI(String source_text);
FILE: Android/testlac/app/src/test/java/com/example/testlac/ExampleUnitTest.java
class ExampleUnitTest (line 12) | public class ExampleUnitTest {
method addition_isCorrect (line 13) | @Test
FILE: c++/include/ahocorasick.h
type Node (line 23) | struct Node{
FILE: c++/include/lac.h
type CODE_TYPE (line 25) | enum CODE_TYPE
type OutputItem (line 32) | struct OutputItem
function class (line 45) | class LAC
FILE: c++/include/lac_custom.h
type customization_term (line 26) | struct customization_term{
FILE: c++/include/lac_util.h
type RVAL (line 25) | enum RVAL
FILE: c++/lac_demo.cpp
function main (line 21) | int main(int argc, char* argv[]){
FILE: c++/lac_multi.cpp
function thread_worker (line 30) | void thread_worker(LAC& g_model) {
function main (line 61) | int main(int argc, char* argv[]) {
FILE: c++/src/ahocorasick.cpp
function Node (line 20) | Node* Node::get_child(const std::string &str){
function Node (line 29) | Node* Node::add_child(const std::string &str){
FILE: c++/src/lac_custom.cpp
function RVAL (line 19) | RVAL Customization::load_dict(const std::string &customization_dic_path){
function RVAL (line 82) | RVAL Customization::parse_customization(const std::vector<std::string> &...
FILE: c++/src/lac_util.cpp
function RVAL (line 18) | RVAL split_tokens(const std::string &line, const std::string &pattern,
function RVAL (line 49) | RVAL load_word2id_dict(const std::string &filepath,
function RVAL (line 77) | RVAL load_q2b_dict(const std::string &filepath,
function RVAL (line 103) | RVAL load_id2label_dict(const std::string &filepath,
function get_next_gb18030 (line 131) | int get_next_gb18030(const char *str)
function get_next_utf8 (line 154) | int get_next_utf8(const char *str)
function get_next_word (line 180) | int get_next_word(const char *str, CODE_TYPE codetype)
function RVAL (line 200) | RVAL split_words(const char *input, int len, CODE_TYPE codetype, std::ve...
function RVAL (line 217) | RVAL split_words(const std::string &input, CODE_TYPE codetype, std::vect...
FILE: java/LacDemo.java
class LacDemo (line 7) | public class LacDemo {
method main (line 15) | public static void main(String[] args) {
FILE: java/LacMulti.java
class LacMulti (line 9) | public class LacMulti {
method main (line 16) | public static void main(String[] args) {
class LacRunnable (line 40) | class LacRunnable implements Runnable{
method LacRunnable (line 43) | public LacRunnable(LAC lac){
method run (line 52) | public void run() {
FILE: java/com/baidu/nlp/LAC.java
class LAC (line 5) | public class LAC {
method LAC (line 10) | public LAC(String model_dir) {
method LAC (line 14) | public LAC(LAC model){
method finalize (line 18) | @Override
method close (line 24) | public void close() {
method init (line 32) | private native void init(String model_path);
method copy (line 35) | private native void copy(long self_ptr);
method release (line 38) | private static native void release(long self_ptr);
method loadCustomization (line 41) | public native int loadCustomization(String dict_path);
method run (line 44) | public native int run(String sentence, ArrayList<String> words, ArrayL...
FILE: java/cpp/lac_jni.cpp
function jfieldID (line 13) | static jfieldID _get_self_id(JNIEnv *env, jobject thisObj)
function _set_self (line 26) | static void _set_self(JNIEnv *env, jobject thisObj, LAC *self)
function LAC (line 33) | static LAC *_get_self(JNIEnv *env, jobject thisObj)
function JNIEXPORT (line 45) | JNIEXPORT void JNICALL Java_com_baidu_nlp_LAC_init(JNIEnv *env, jobject ...
function JNIEXPORT (line 57) | JNIEXPORT void JNICALL Java_com_baidu_nlp_LAC_copy(JNIEnv *env, jobject ...
function JNIEXPORT (line 70) | JNIEXPORT void JNICALL Java_com_baidu_nlp_LAC_release(JNIEnv *env, jobje...
function JNIEXPORT (line 82) | JNIEXPORT jint JNICALL Java_com_baidu_nlp_LAC_loadCustomization
function JNIEXPORT (line 94) | JNIEXPORT jint JNICALL Java_com_baidu_nlp_LAC_run
FILE: python/LAC/_compat.py
function iterkeys (line 33) | def iterkeys(d): return d.iterkeys()
function itervalues (line 35) | def itervalues(d): return d.itervalues()
function iteritems (line 37) | def iteritems(d): return d.iteritems()
function iterkeys (line 44) | def iterkeys(d): return iter(d.keys())
function itervalues (line 46) | def itervalues(d): return iter(d.values())
function iteritems (line 48) | def iteritems(d): return iter(d.items())
function strdecode (line 51) | def strdecode(sentence):
FILE: python/LAC/ahocorasick.py
class Node (line 26) | class Node(object):
method __init__ (line 36) | def __init__(self):
class Ahocorasick (line 43) | class Ahocorasick(object):
method __init__ (line 50) | def __init__(self):
method add_word (line 54) | def add_word(self, word):
method make (line 61) | def make(self):
method search (line 90) | def search(self, content):
method search_all (line 121) | def search_all(self, content):
FILE: python/LAC/cmdline.py
function main (line 40) | def main(args=args):
FILE: python/LAC/custom.py
class Customization (line 34) | class Customization(object):
method __init__ (line 39) | def __init__(self):
method add_word (line 44) | def add_word(self, words, sep=None):
method load_customization (line 76) | def load_customization(self, filename, sep=None):
method parse_customization (line 109) | def parse_customization(self, query, lac_tags):
FILE: python/LAC/lac.py
function _get_abs_path (line 40) | def _get_abs_path(path): return os.path.normpath(
class LAC (line 53) | class LAC(object):
method __init__ (line 55) | def __init__(self, model_path=None, mode='lac', use_cuda=False):
method run (line 71) | def run(self, texts):
method train (line 83) | def train(self, model_save_dir, train_data, test_data=None, iter_num=1...
method load_customization (line 94) | def load_customization(self, customization_file, sep=None):
method add_word (line 104) | def add_word(self, word, sep=None):
FILE: python/LAC/models.py
class Model (line 37) | class Model(object):
method __init__ (line 39) | def __init__(self, model_path, mode, use_cuda):
method run (line 71) | def run(self, texts):
method to_tensor (line 110) | def to_tensor(self, data, lod, dtype="int64"):
method texts2tensor (line 118) | def texts2tensor(self, texts):
method parse_result (line 140) | def parse_result(self, lines, crf_decode, dataset, words_length):
method train (line 177) | def train(self, model_save_dir, train_data, test_data, iter_num, threa...
method load_model (line 212) | def load_model(self, model_dir):
class LacModel (line 230) | class LacModel(Model):
method __init__ (line 232) | def __init__(self, model_path, mode, use_cuda):
method run (line 238) | def run(self, texts):
method call_run (line 243) | def call_run(self, texts):
class SegModel (line 248) | class SegModel(Model):
method __init__ (line 250) | def __init__(self, model_path, mode, use_cuda):
method run (line 254) | def run(self, texts):
method texts2tensor (line 259) | def texts2tensor(self, texts):
method parse_result (line 272) | def parse_result(self, lines, crf_decode, dataset, words_length):
class RankModel (line 305) | class RankModel(Model):
method __init__ (line 307) | def __init__(self, model_path, mode, use_cuda):
method run (line 318) | def run(self, texts):
method parse_result (line 347) | def parse_result(self, tags_for_rank, result, words_length):
method train (line 376) | def train(self, model_save_dir, train_data, test_data, iter_num, threa...
FILE: python/LAC/nets.py
function lex_net (line 34) | def lex_net(word, args, vocab_size, num_labels, target=None):
function create_model (line 153) | def create_model(args, vocab_size, num_labels, mode='train'):
function create_pyreader (line 197) | def create_pyreader(args, file_name, feed_list, place,
function test_process (line 246) | def test_process(exe, program, reader, test_ret):
function do_train (line 276) | def do_train(args, dataset, segment_tool):
FILE: python/LAC/prefix_tree.py
class TriedTree (line 19) | class TriedTree(object):
method __init__ (line 25) | def __init__(self):
method add_word (line 29) | def add_word(self, word):
method make (line 36) | def make(self):
method search (line 40) | def search(self, content):
method search_all (line 61) | def search_all(self, content):
FILE: python/LAC/reader.py
function load_kv_dict (line 29) | def load_kv_dict(dict_path,
class Dataset (line 53) | class Dataset(object):
method __init__ (line 56) | def __init__(self, args, dev_count=10):
method vocab_size (line 73) | def vocab_size(self):
method num_labels (line 78) | def num_labels(self):
method get_num_examples (line 82) | def get_num_examples(self, filename):
method parse_tag (line 86) | def parse_tag(self, line):
method word_to_ids (line 103) | def word_to_ids(self, words):
method text_to_ids (line 113) | def text_to_ids(self, text):
method label_to_ids (line 130) | def label_to_ids(self, labels):
method file_reader (line 140) | def file_reader(self, filename, mode="train"):
class SegDataset (line 187) | class SegDataset(Dataset):
method __init__ (line 189) | def __init__(self, args, dev_count=10):
method parse_tag (line 192) | def parse_tag(self, line):
FILE: python/LAC/segment.py
function load_seg_dict (line 32) | def load_seg_dict(dict_path):
class Segment (line 47) | class Segment(object):
method __init__ (line 48) | def __init__(self, dict_path):
method fast_get_DAG (line 65) | def fast_get_DAG(self, text):
method fast_cut (line 80) | def fast_cut(self, text):
FILE: python/LAC/tests/lac_test.py
function fun_seg (line 7) | def fun_seg():
function fun_add_word (line 21) | def fun_add_word():
function run (line 27) | def run():
function rank (line 33) | def rank():
FILE: python/LAC/utils.py
function abs_path (line 35) | def abs_path(path): return os.path.join(
function check_cuda (line 39) | def check_cuda(use_cuda):
class DefaultArgs (line 54) | class DefaultArgs(object):
method __init__ (line 57) | def __init__(self, model_path):
function print_arguments (line 98) | def print_arguments(args):
function to_str (line 106) | def to_str(string, encoding="utf-8"):
function to_lodtensor (line 120) | def to_lodtensor(data, place):
function init_checkpoint (line 136) | def init_checkpoint(exe, init_checkpoint_path, main_program):
function init_pretraining_params (line 155) | def init_pretraining_params(exe,
Condensed preview — 83 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (367K chars).
[
{
"path": ".gitattributes",
"chars": 0,
"preview": ""
},
{
"path": "AUTHORS",
"chars": 359,
"preview": "# Contributors should be added to this file in the following format:\n# Name or Organization <email address>\n\nBaidu.com, "
},
{
"path": "Android/README.md",
"chars": 2727,
"preview": "## LAC的Android调用\n\nAndroid的调用中,我们采用[NDK](https://developer.android.google.cn/ndk/)调用[C++的接口](../c++/README.md)的代码。NDK的使用可"
},
{
"path": "Android/testlac/.project",
"chars": 433,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>testlac</name>\n\t<comment>Project testlac created by B"
},
{
"path": "Android/testlac/app/.gitignore",
"chars": 7,
"preview": "/build\n"
},
{
"path": "Android/testlac/app/.project",
"chars": 591,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>app</name>\n\t<comment>Project app created by Buildship"
},
{
"path": "Android/testlac/app/build.gradle",
"chars": 1296,
"preview": "apply plugin: 'com.android.application'\n\nandroid {\n compileSdkVersion 29\n buildToolsVersion \"29.0.2\"\n\n defaultC"
},
{
"path": "Android/testlac/app/proguard-rules.pro",
"chars": 751,
"preview": "# Add project specific ProGuard rules here.\n# You can control the set of applied configuration files using the\n# proguar"
},
{
"path": "Android/testlac/app/src/androidTest/java/com/example/testlac/ExampleInstrumentedTest.java",
"chars": 754,
"preview": "package com.example.testlac;\n\nimport android.content.Context;\n\nimport androidx.test.platform.app.InstrumentationRegistry"
},
{
"path": "Android/testlac/app/src/main/AndroidManifest.xml",
"chars": 924,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\"\n package="
},
{
"path": "Android/testlac/app/src/main/assets/lac_model/q2b.dic",
"chars": 23520,
"preview": "萬\t万\n與\t与\n醜\t丑\n專\t专\n業\t业\n叢\t丛\n東\t东\n絲\t丝\n丟\t丢\n兩\t两\n嚴\t严\n喪\t丧\n個\t个\n爿\t丬\n豐\t丰\n臨\t临\n為\t为\n麗\t丽\n舉\t举\n麼\t么\n義\t义\n烏\t乌\n樂\t乐\n喬\t乔\n習\t习\n鄉\t乡\n書\t书\n買\t买\n亂\t乱\n爭\t争\n"
},
{
"path": "Android/testlac/app/src/main/assets/lac_model/tag.dic",
"chars": 425,
"preview": "0\ta-B\n1\ta-I\n2\tad-B\n3\tad-I\n4\tan-B\n5\tan-I\n6\tc-B\n7\tc-I\n8\td-B\n9\td-I\n10\tf-B\n11\tf-I\n12\tm-B\n13\tm-I\n14\tn-B\n15\tn-I\n16\tnr-B\n17\tnr-"
},
{
"path": "Android/testlac/app/src/main/assets/lac_model/word.dic",
"chars": 56460,
"preview": "0\t \n1\t!\n2\t\"\n3\t#\n4\t$\n5\t%\n6\t&\n7\t(\n8\t)\n9\t*\n10\t+\n11\t,\n12\t-\n13\t.\n14\t/\n15\t0\n16\t1\n17\t2\n18\t3\n19\t4\n20\t5\n21\t6\n22\t7\n23\t8\n24\t9\n25\t:\n"
},
{
"path": "Android/testlac/app/src/main/cpp/CMakeLists.txt",
"chars": 2202,
"preview": "# For more information about using CMake with Android Studio, read the\n# documentation: https://d.android.com/studio/pro"
},
{
"path": "Android/testlac/app/src/main/cpp/lac.cpp",
"chars": 5380,
"preview": "/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "Android/testlac/app/src/main/cpp/lac.h",
"chars": 2555,
"preview": "/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "Android/testlac/app/src/main/cpp/lac_util.cpp",
"chars": 5479,
"preview": "/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "Android/testlac/app/src/main/cpp/lac_util.h",
"chars": 1758,
"preview": "/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "Android/testlac/app/src/main/cpp/native_lib.cpp",
"chars": 2056,
"preview": "#include <jni.h>\n#include <string>\n#include <iostream>\n#include <fstream>\n#include <ctime>\n#include <sys/time.h>\n#includ"
},
{
"path": "Android/testlac/app/src/main/cpp/paddle/include/paddle_api.h",
"chars": 9073,
"preview": "// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.\n//\n// Licensed under the Apache License, Version 2.0 (t"
},
{
"path": "Android/testlac/app/src/main/cpp/paddle/include/paddle_image_preprocess.h",
"chars": 7060,
"preview": "// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.\n//\n// Licensed under the Apache License, Version 2.0 (t"
},
{
"path": "Android/testlac/app/src/main/cpp/paddle/include/paddle_lite_factory_helper.h",
"chars": 1563,
"preview": "// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.\n//\n// Licensed under the Apache License, Version 2.0 (t"
},
{
"path": "Android/testlac/app/src/main/cpp/paddle/include/paddle_place.h",
"chars": 6346,
"preview": "// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.\n//\n// Licensed under the Apache License, Version 2.0 (t"
},
{
"path": "Android/testlac/app/src/main/cpp/paddle/include/paddle_use_kernels.h",
"chars": 9037,
"preview": "#pragma once\n#include \"paddle_lite_factory_helper.h\"\n\nUSE_LITE_KERNEL(box_coder, kARM, kFloat, kNCHW, def);\nUSE_LITE_KER"
},
{
"path": "Android/testlac/app/src/main/cpp/paddle/include/paddle_use_ops.h",
"chars": 4703,
"preview": "#pragma once\n#include \"paddle_lite_factory_helper.h\"\n\nUSE_LITE_OP(unsqueeze);\nUSE_LITE_OP(unsqueeze2);\nUSE_LITE_OP(softm"
},
{
"path": "Android/testlac/app/src/main/cpp/paddle/include/paddle_use_passes.h",
"chars": 2205,
"preview": "// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.\n//\n// Licensed under the Apache License, Version 2.0 (t"
},
{
"path": "Android/testlac/app/src/main/java/com/example/testlac/MainActivity.java",
"chars": 5913,
"preview": "package com.example.testlac;\n\nimport androidx.annotation.NonNull;\nimport androidx.appcompat.app.AppCompatActivity;\nimpor"
},
{
"path": "Android/testlac/app/src/main/res/drawable/ic_launcher_background.xml",
"chars": 5606,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n android:wi"
},
{
"path": "Android/testlac/app/src/main/res/drawable-v24/ic_launcher_foreground.xml",
"chars": 1702,
"preview": "<vector xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmlns:aapt=\"http://schemas.android.com/aapt\"\n "
},
{
"path": "Android/testlac/app/src/main/res/layout/activity_main.xml",
"chars": 1394,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n xmln"
},
{
"path": "Android/testlac/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml",
"chars": 272,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n <b"
},
{
"path": "Android/testlac/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml",
"chars": 272,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<adaptive-icon xmlns:android=\"http://schemas.android.com/apk/res/android\">\n <b"
},
{
"path": "Android/testlac/app/src/main/res/values/colors.xml",
"chars": 208,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<resources>\n <color name=\"colorPrimary\">#6200EE</color>\n <color name=\"color"
},
{
"path": "Android/testlac/app/src/main/res/values/strings.xml",
"chars": 70,
"preview": "<resources>\n <string name=\"app_name\">testlac</string>\n</resources>\n"
},
{
"path": "Android/testlac/app/src/main/res/values/styles.xml",
"chars": 383,
"preview": "<resources>\n\n <!-- Base application theme. -->\n <style name=\"AppTheme\" parent=\"Theme.AppCompat.Light.DarkActionBar"
},
{
"path": "Android/testlac/app/src/test/java/com/example/testlac/ExampleUnitTest.java",
"chars": 380,
"preview": "package com.example.testlac;\n\nimport org.junit.Test;\n\nimport static org.junit.Assert.*;\n\n/**\n * Example local unit test,"
},
{
"path": "Android/testlac/build.gradle",
"chars": 564,
"preview": "// Top-level build file where you can add configuration options common to all sub-projects/modules.\n\nbuildscript {\n \n"
},
{
"path": "Android/testlac/gradle.properties",
"chars": 1073,
"preview": "# Project-wide Gradle settings.\n# IDE (e.g. Android Studio) users:\n# Gradle settings configured through the IDE *will ov"
},
{
"path": "Android/testlac/gradlew",
"chars": 5296,
"preview": "#!/usr/bin/env sh\n\n##############################################################################\n##\n## Gradle start up"
},
{
"path": "Android/testlac/gradlew.bat",
"chars": 2260,
"preview": "@if \"%DEBUG%\" == \"\" @echo off\r\n@rem ##########################################################################\r\n@rem\r\n@r"
},
{
"path": "Android/testlac/local.properties",
"chars": 419,
"preview": "## This file must *NOT* be checked into Version Control Systems,\n# as it contains information specific to your local con"
},
{
"path": "Android/testlac/settings.gradle",
"chars": 42,
"preview": "rootProject.name='testlac'\ninclude ':app'\n"
},
{
"path": "Android/testlac/testlac.iml",
"chars": 861,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<module external.linked.project.id=\"testlac\" external.linked.project.path=\"$MODUL"
},
{
"path": "CMakeLists.txt",
"chars": 8545,
"preview": "cmake_minimum_required(VERSION 3.0)\nproject(lac CXX C)\n\noption(WITH_STATIC_LIB \"Compile demo with static/shared library,"
},
{
"path": "Changelog",
"chars": 128,
"preview": "2020-10-25: version 2.1.0\n1. 词性标注模型粒度更新为字词混合,在效果保持不变的情况下,性能提升最高可达20%。\n2. 新增加词语关键度分类功能,在维持LAC词性标注结果下可以标注词语关键程度。\n3. 修复了模型训"
},
{
"path": "LICENSE",
"chars": 11418,
"preview": "Copyright (c) 2018 Baidu, Inc. All Rights Reserved\n\n Apache License\n "
},
{
"path": "README.md",
"chars": 5926,
"preview": "## 工具介绍\nLAC全称Lexical Analysis of Chinese,是百度自然语言处理部研发的一款联合的词法分析工具,实现中文分词、词性标注、专名识别等功能。该工具具有以下特点与优势:\n- **效果好**:通过深度学习模型联合"
},
{
"path": "c++/README.md",
"chars": 3199,
"preview": "## LAC的C++调用\n\nC++ 的代码可用于预测使用,除了我们预先提供的模型以外,还可直接调用[Python](../README.md)代码增量训练后保存的模型\n\n### 代码示例\n\n```c\n#include <iostream>\n"
},
{
"path": "c++/include/ahocorasick.h",
"chars": 1583,
"preview": "/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "c++/include/lac.h",
"chars": 2727,
"preview": "/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "c++/include/lac_custom.h",
"chars": 1562,
"preview": "/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "c++/include/lac_util.h",
"chars": 1809,
"preview": "/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "c++/lac_demo.cpp",
"chars": 1459,
"preview": "/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "c++/lac_multi.cpp",
"chars": 2109,
"preview": "/* Copyright (c) 2018 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "c++/src/ahocorasick.cpp",
"chars": 3414,
"preview": "\n/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");"
},
{
"path": "c++/src/lac.cpp",
"chars": 6643,
"preview": "/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "c++/src/lac_custom.cpp",
"chars": 4135,
"preview": "/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "c++/src/lac_util.cpp",
"chars": 5480,
"preview": "/* Copyright (c) 2020 Baidu, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\n"
},
{
"path": "compile4windows.md",
"chars": 2495,
"preview": "## 在Windows系统编译LAC\n\n本文档详细介绍如何在Windows上使用Visual Studio和Visual Studio Code 完成LAC的C++ demo 及 Java链接库编译的过程。\n\n### 1. 环境准备\n\n##"
},
{
"path": "java/LacDemo.java",
"chars": 1191,
"preview": "import java.util.ArrayList;\nimport java.io.InputStreamReader;\nimport java.io.BufferedReader;\n\nimport com.baidu.nlp.LAC;\n"
},
{
"path": "java/LacMulti.java",
"chars": 2159,
"preview": "import java.util.ArrayList;\nimport java.io.InputStreamReader;\nimport java.io.BufferedReader;\nimport java.util.concurrent"
},
{
"path": "java/README.md",
"chars": 3600,
"preview": "## LAC的Java调用\n\nJAVA的接口是通过jni的形式调用[C++的接口](../c++/README.md),除了我们预先提供的模型之外,还可直接调用[Python](../README.md)进行增量训练后保存的模型。因为使用的"
},
{
"path": "java/com/baidu/nlp/LAC.java",
"chars": 995,
"preview": "package com.baidu.nlp;\n\nimport java.util.ArrayList;\n\npublic class LAC {\n\n // as c++ self pointer\n private long sel"
},
{
"path": "java/cpp/lac_jni.cpp",
"chars": 3435,
"preview": "#include \"lac.h\"\n#include \"lac_jni.h\"\n#include <string>\n#include <cstring>\n#include <iostream>\n\n#ifdef __cplusplus\nexter"
},
{
"path": "java/cpp/lac_jni.h",
"chars": 804,
"preview": "/* DO NOT EDIT THIS FILE - it is machine generated */\n#include <jni.h>\n/* Header for class LAC */\n\n#ifndef _Included_lac"
},
{
"path": "python/LAC/__init__.py",
"chars": 875,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
},
{
"path": "python/LAC/_compat.py",
"chars": 1710,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
},
{
"path": "python/LAC/ahocorasick.py",
"chars": 4538,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
},
{
"path": "python/LAC/cmdline.py",
"chars": 2133,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
},
{
"path": "python/LAC/custom.py",
"chars": 4356,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
},
{
"path": "python/LAC/lac.py",
"chars": 5495,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
},
{
"path": "python/LAC/models.py",
"chars": 13771,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
},
{
"path": "python/LAC/nets.py",
"chars": 11553,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
},
{
"path": "python/LAC/prefix_tree.py",
"chars": 2786,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
},
{
"path": "python/LAC/reader.py",
"chars": 7641,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
},
{
"path": "python/LAC/segment.py",
"chars": 3491,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
},
{
"path": "python/LAC/tests/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "python/LAC/tests/lac_test.py",
"chars": 904,
"preview": "from LAC import LAC\n\"\"\"\n本文件测试LAC的分词,词性标注及重要性功能\n\"\"\"\nos.environ['PYTHONIOENCODING'] = 'UTF-8'\n\ndef fun_seg():\n # 装载分词模型"
},
{
"path": "python/LAC/utils.py",
"chars": 6136,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
},
{
"path": "python/README.md",
"chars": 5927,
"preview": "## 工具介绍\nLAC全称Lexical Analysis of Chinese,是百度自然语言处理部研发的一款联合的词法分析工具,实现中文分词、词性标注、专名识别等功能。该工具具有以下特点与优势:\n- **效果好**:通过深度学习模型联合"
},
{
"path": "python/setup.cfg",
"chars": 558,
"preview": "[metadata]\nname = lac\nauthor = Baidu NLP\nauthor_email = nlp-fenci@baidu.com\nversion = 2.1.2\ndescription = A chinese lexi"
},
{
"path": "python/setup.py",
"chars": 2609,
"preview": "# -*- coding: UTF-8 -*-\n################################################################################\n#\n# Copyright"
}
]
// ... and 1 more files (download for full content)
About this extraction
This page contains the full source code of the baidu/lac GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 83 files (316.1 KB), approximately 149.7k tokens, and a symbol index with 183 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.