Repository: Dustyposa/rasa_ch_faq
Branch: main
Commit: 45a29b96766f
Files: 42
Total size: 144.4 KB
Directory structure:
gitextract_18_a9r_u/
├── .gitignore
├── Dockerfile
├── LICENSE
├── README.md
├── actions/
│ ├── __init__.py
│ ├── actions.py
│ └── utils/
│ ├── __init__.py
│ ├── coins.py
│ ├── request.py
│ └── search.py
├── back_translation.py
├── compoments/
│ ├── README.md
│ ├── __init__.py
│ ├── nlu/
│ │ ├── __init__.py
│ │ ├── featurizer/
│ │ │ └── lm_featurizer.py
│ │ ├── helpers/
│ │ │ ├── README.md
│ │ │ ├── __init__.py
│ │ │ └── correction.py
│ │ └── tokenizers/
│ │ ├── __init__.py
│ │ └── bert_tokenizer.py
│ └── polices/
│ ├── README.md
│ ├── __init__.py
│ └── ask_again_policy.py
├── config.yml
├── credentials.yml
├── data/
│ ├── nlu/
│ │ ├── nlu.yml
│ │ ├── rasa_faq.yml
│ │ └── responses/
│ │ └── responses.yml
│ ├── rules/
│ │ └── rules.yml
│ └── stories/
│ ├── form_stories.yml
│ └── stories.yml
├── domain.yml
├── endpoints.yml
├── load_model.py
├── pre_models/
│ ├── config.json
│ └── vocab.txt
├── requirements.txt
├── run.py
├── run_action_server.py
├── tests/
│ ├── test_nlu.yml
│ └── test_stories.yml
└── train.py
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
# Created by .ignore support plugin (hsz.mobi)
### Example user template template
### Example user template
# IntelliJ project files
.idea
*.iml
out
gen
other_data
================================================
FILE: Dockerfile
================================================
FROM rasa/rasa:2.6.0
# 这是最小镜像,和自己的需要的lib依赖有关系,需要问题时可以参考注释部分。
# USER root # 权限不足时打开
COPY . /app
WORKDIR /app
#RUN apt-get install -y gcc # 有gcc缺失时可以打开
RUN pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
ENTRYPOINT ["rasa"]
CMD ["run", "--cors", "*"]
================================================
FILE: LICENSE
================================================
MIT License
Copyright (c) 2021 Dustyposa
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
================================================
FILE: README.md
================================================

# rasa_ch_bot
用 `RASA` 实现 `RASA Bot` 后端。 能够回答关于 `RASA` 的问题,以及一些例子。
欢迎大家多提 `RASA` 相关的问题,或者想看的示例,我会补充在这里。
> 前端地址: [这里](https://github.com/Dustyposa/rasa_bot_front)
#### 功能更新
- [2021-08-04] 增加 onnx + 量化(用于提高特征提取的速度)的 `feature` 提取[组件](./compoments/nlu/featurizer/lm_featurizer.py) # [一些注意事项](#ONNX注意事项)
- [2021-06-24] 增加知图谱的接入(放在[GRAPH](https://github.com/Dustyposa/rasa_ch_faq/tree/GRAPH)分支了)
- [2021-06-01] 增加`文本纠错 pipeline` (由于 `demo` 较慢,默认未开启,如何[开启](./compoments/nlu/helpers#文本纠错)?)
- [2021-05-20] `AlbertFeaturizer` (在[dev](https://github.com/Dustyposa/rasa_ch_faq/tree/dev)分支)
- [2021-05-13] 增加按钮 demo
- [2021-05-11] 支持查看 `BTC` 行情
- [2021-05-08] 支持 `吸猫\狗\狐狸`。支持 根据图片搜索动漫出处。
- [2021-05-06] 支持 `找饭店` demo。
- [2021-04-13] 实现追问demo,[实现细节](./compoments/polices)。
### 部分功能展示
#### FAQ
[](https://imgtu.com/i/grtKwF)
#### 天气查询及BTC查询功能
[](https://imgtu.com/i/grtGS1)
#### 吸动物
[](https://imgtu.com/i/grt2m8)
#### 搜动漫
[](https://imgtu.com/i/grtUeO)
#### 知识图谱
[](https://imgtu.com/i/RQE8gA)
## 支持的问题列表
请参见: [问题列举](./data/nlu/rasa_faq.yml)
## 一些配置
分词使用的 `bert`, 自定义了 [`tokenizers`](./compoments/nlu/tokenizers/bert_tokenizer.py)
## 如何运行
由于使用了 `bert_chinese`, 所以 需要下载 `bert_chinese` 模型。
并放到 `pre_models` 文件夹中,重命名为 `tf_model.h5`
命令执行:
```bash
curl -L https://www.flyai.com/m/bert-base-chinese-tf_model.h5 -o pre_models/tf_model.h5
rasa train
```
### 一些文件说明
```
run.py # 相当于运行 rasa run
train.py # == rasa train
run_action_server.py # == rasa run actions
load_model.py # 直接加载并运行模型,与 server 无关。(需要先训练好一个模型)
```
### 一些工具
```bash
back_translation.py # 回译脚本
# 使用方式
python back_translation.py 需要回译的文本
```
### ONNX注意事项
#### 1. 使用说明
`config` 更改为:
```yaml
- name: compoments.nlu.featurizer.lm_featurizer.OnnxLanguageModelFeaturizer
cache_dir: ./tmp
model_name: bert
model_weights: pre_models
onnx: false # 是否开启 onnx
quantize: true # 是否使用量化
```
下载 `torch` 的模型
```bash
curl -L https://www.flyai.com/m/bert-base-chinese-pytorch_model.bin -o pre_models/pytorch_model.bin
```
#### 2. 依赖安装
```yaml
pip install torch==1.9.0 transformers==4.8.2 onnx==1.9.0 onnxruntime==1.8.0 onnxruntime-tools==1.7.0 psutil==5.8.0
```
#### 3. 一些注释
1. 速度能提升多少, 可以参考[这篇](https://medium.com/microsoftazure/accelerate-your-nlp-pipelines-using-hugging-face-transformers-and-onnx-runtime-2443578f4333)文章
2. 量化后 速度有额外提升,但是效果可能会变差,需要根据语料调整
3. 如何测试效果并查看结果
```bash
rasa train nlu && rasa test nlu
cat results/intent_errors.json
```
4. 为什么没有用 `tensorflow` 用来做 `onnx`
尝试多次,都失败了,暂时未找到解决办法(输入的纬度不匹配),如果有人成功了,可以告诉我!!感谢!!!🙏
#### [我要直接看答案!!!](./data/nlu/responses/responses.yml)
### 从零开始搭建机器人
#### 1. 下载项目并进入
```bash
git clone https://github.com/Dustyposa/rasa_ch_faq.git
cd rasa_ch_faq
```
#### 2. 安装依赖
```bash
pip install -r requirements.txt
curl -L https://www.flyai.com/m/bert-base-chinese-tf_model.h5 -o pre_models/tf_model.h5
rasa train
```
ps: 注意 `python` 版本 `37+`
#### 3. 训练模型
```bash
rasa train
```
#### 4. 运行机器人
需要开两个 `shell/iterm`
第一个:
```bash
rasa shell
```
第二个:
```bash
rasa run actions
```
然后就可以在第一个 `shell` 窗口对话了
### 从 1 开始搭建机器人
这个是干啥的?如果第一个你已经会了,我们加点前端展示的,效果参看[这里](#部分功能展示)
#### 1. 下载前端项目并进入
```bash
git clone -#-depth 1 https://github.com/Dustyposa/rasa_bot_front
cd rasa_bot_front
```
#### 2. 启动前端
参照[文档](https://github.com/Dustyposa/rasa_bot_front)
#### 3. 启动 rasa
同样是两个 `shell/iterm`,第一个命令稍有不同:
```bash
rasa run --cors "*"
```
第二个:
```bash
rasa run actions
```
================================================
FILE: actions/__init__.py
================================================
================================================
FILE: actions/actions.py
================================================
# This files contains your custom actions which can be used to run
# custom Python code.
#
# See this guide on how to implement these action:
# https://rasa.com/docs/rasa/custom-actions
# This is a simple example for a custom action which utters "Hello World!"
import mimetypes
import random
from typing import Any, Text, Dict, List
from rasa_sdk import Action, Tracker, FormValidationAction
from rasa_sdk.events import SlotSet
from rasa_sdk.executor import CollectingDispatcher
import cpca
import validators
from actions.utils.coins import CoinDataManager
from actions.utils.request import get
from actions.utils.search import search_anime, AnimalImgSearch
QUERY_KEY = ""
CITY_LOOKUP_URL = "https://geoapi.qweather.com/v2/city/lookup"
WEATHER_URL = "https://devapi.qweather.com/v7/weather/now"
class ActionQueryWeather(Action):
def name(self) -> Text:
return "action_query_weather"
async def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
user_in = tracker.latest_message.get("text")
province, city = cpca.transform([user_in]).loc[0, ["省", "市"]]
city = province if city in ["市辖区", None] else city
text = await self.get_weather(await self.get_location_id(city))
dispatcher.utter_message(text=text)
return []
@staticmethod
async def get_location_id(city):
if not QUERY_KEY:
raise ValueError("需要获得自己的key。。。看一下官方文档即可。 参考地址: qweather.com")
params = {"location": city, "key": QUERY_KEY}
res = await get(CITY_LOOKUP_URL, params=params)
return res["location"][0]["id"]
# return 124
@staticmethod
async def get_weather(location_id):
params = {"location": location_id, "key": QUERY_KEY}
res = (await get(WEATHER_URL, params=params))["now"]
# res = {'code': '200', 'updateTime': '2021-04-12T13:47+08:00', 'fxLink': 'http://hfx.link/2bc1',
# 'now': {'obsTime': '2021-04-12T13:25+08:00', 'temp': random.randint(10, 30), 'feelsLike': '19',
# 'icon': '305', 'text': '小雨', 'wind360': '315', 'windDir': '西北风', 'windScale': '0',
# 'windSpeed': '0', 'humidity': '100', 'precip': '0.1', 'pressure': '1030', 'vis': '3',
# 'cloud': '91', 'dew': '16'},
# 'refer': {'sources': ['Weather China'], 'license': ['no commercial use']}}
# res = res["now"]
return f"{res['text']} 风向 {res['windDir']}\n温度: {res['temp']} 摄氏度\n体感温度:{res['feelsLike']}"
class ValidateRestaurantForm(FormValidationAction):
"""validation action 示例"""
def name(self) -> Text:
return "validate_饭店_form"
@staticmethod
def cuisine_db() -> List[Text]:
"""数据库支持的餐种 cuisines."""
return [
"西餐",
"中餐",
"泰餐",
"火锅",
"串串",
"川菜",
"粤菜",
"本帮",
"麻辣烫",
"湘菜",
"日料",
]
@staticmethod
def is_int(string: Text) -> bool:
"""检查 string 是一个 integer."""
try:
int(string)
return True
except ValueError:
return False
def validate_cuisine(
self,
value: Text,
dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any],
) -> Dict[Text, Any]:
"""检查 cuisine 值"""
print(f"slots: {tracker.current_slot_values()}, value: {value}")
if value.lower() in self.cuisine_db():
# validation succeeded, set the value of the "cuisine" slot to value
return {"cuisine": value}
else:
dispatcher.utter_message(template="utter_wrong_cuisine")
# validation failed, set this slot to None, meaning the
# user will be asked for the slot again
return {"cuisine": None}
def validate_num_people(
self,
value: Text,
dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any],
) -> Dict[Text, Any]:
"""检查 num_people 值"""
value = next(tracker.get_latest_entity_values("number"), None)
if self.is_int(value) and int(value) > 0:
return {"num_people": value}
else:
dispatcher.utter_message(template="utter_wrong_num_people")
# validation failed, set slot to None
return {"num_people": None}
def validate_outdoor_seating(
self,
value: Text,
dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any],
) -> Dict[Text, Any]:
"""检查 outdoor_seating 值"""
if isinstance(value, str):
if "外面" in value:
# convert "out..." to True
return {"outdoor_seating": True}
elif "里面" in value:
# convert "in..." to False
return {"outdoor_seating": False}
else:
dispatcher.utter_message(template="utter_wrong_outdoor_seating")
# validation failed, set slot to None
return {"outdoor_seating": None}
else:
# affirm/deny was picked up as True/False by the from_intent mapping
return {"outdoor_seating": value}
class ClearRestaurantFormSlot(Action):
"""清除掉上次收集的 slots"""
def name(self) -> Text:
return "action_clear_饭店_form_slots"
async def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
clear_slots = domain.get("forms", {})["饭店_form"]["required_slots"].keys()
slots_data = domain.get("slots")
return [SlotSet(slot_name, slots_data.get(slot_name)['initial_value']) for slot_name in clear_slots]
class ActionFindImg(Action):
SUPPORT_IMAGE_TYPE = {
"猫": AnimalImgSearch.get_dog_img,
"狐狸": AnimalImgSearch.get_cat_img,
"狗": AnimalImgSearch.get_fox_img
}
def name(self) -> Text:
return "action_find_img"
async def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
img_name = next(tracker.get_latest_entity_values("look_img"), None)
if img_name in self.SUPPORT_IMAGE_TYPE.keys():
dispatcher.utter_message(image=await self.SUPPORT_IMAGE_TYPE[img_name]())
else:
dispatcher.utter_message(text="不好意思,暂时不能吸该动物呢~~")
return []
class SearchAnimeValidateForm(FormValidationAction):
def name(self) -> Text:
return "validate_搜动漫_form"
def validate_img(
self,
value: Text,
dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any],
) -> Dict[Text, Any]:
if validators.url(value):
return {"img": f"u_{value}"}
elif self.is_url_image(value):
return {"img": f"f_{value}"}
dispatcher.utter_message(template="utter_url错误")
return {"img": None}
@staticmethod
def is_url_image(url: str) -> bool:
mimetype, encoding = mimetypes.guess_type(url)
return mimetype is not None and mimetype.startswith('image')
class SearchAnime(Action):
def name(self) -> Text:
return "action_search_anime_img"
async def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
img_url = tracker.current_slot_values()["img"]
res_string = await search_anime(img_url)
dispatcher.utter_message(text=res_string)
clear_slots = domain.get("forms", {})["搜动漫_form"]["required_slots"].keys()
slots_data = domain.get("slots")
print(f"cs: {clear_slots}")
print(f"sd: {slots_data}")
return [SlotSet(slot_name, slots_data.get(slot_name)['initial_value']) for slot_name in clear_slots]
class CoinSearchAction(Action):
def name(self) -> Text:
return "action_search_coin_history"
async def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
img_msg = await CoinDataManager().get_img()
dispatcher.utter_message(image=img_msg)
return []
if __name__ == '__main__':
# params = {"location": "上海", "key": QUERY_KEY}
# print(requests.get(CITY_LOOKUP_URL, params=params).json()["location"][0]["id"])
params = {"location": 101020100, "key": QUERY_KEY}
# print(requests.get(WEATHER_URL, params=params).json())
================================================
FILE: actions/utils/__init__.py
================================================
================================================
FILE: actions/utils/coins.py
================================================
import base64
import io
import datetime
import time
from typing import Any, Dict, List
import matplotlib.pyplot as plt
import pandas as pd
import pytz
from actions.utils.request import get
DT_FORMAT_STRING = "%Y-%m-%dT%H:%M:%S%z"
DT_FORMAT_CONVERT_STRING = "%H:%M"
TZ_INFO = pytz.timezone("Asia/Shanghai")
class CoinDataManager:
def __init__(self, coin_name: str = "btc-bitcoin"):
self.coin_searcher = CoinSearcher(coin_name)
async def get_img(self, img_type: str = "base64") -> str:
data = await self.coin_searcher.get_history()
df = pd.DataFrame(data)
df["timestamp"] = df["timestamp"].apply(
lambda x: datetime.datetime.strptime(x, DT_FORMAT_STRING).astimezone(TZ_INFO).strftime(
DT_FORMAT_CONVERT_STRING))
df["mean"] = df["price"].mean()
return Ploter.plot_line_chat(df, to_type=img_type)
class CoinSearcher:
"""API DOC Address: https://api.coinpaprika.com/"""
HISTORY_URL = "https://api.coinpaprika.com/v1/tickers/{}/historical"
INTERVAL_TIME = 24 * 60 * 60
def __init__(self, coin_name: str = "btc-bitcoin"):
self.coin_id = self.convert_coin_name_to_id(coin_name)
@staticmethod
def convert_coin_name_to_id(coin_name: str) -> str:
return coin_name
async def get_history(self) -> List[Dict[Any, Any]]:
past_ts = time.time() - self.INTERVAL_TIME
history = await get(url=self.HISTORY_URL.format(self.coin_id),
params={"start": int(past_ts), "interval": "1h"})
return history
class Ploter:
BASE64_PREFIX = "data:image/jpeg;base64,"
@classmethod
def plot_line_chat(cls, data: pd.DataFrame, to_type: str = "base64") -> str:
plt.figure(figsize=(12, 6))
plt.plot("timestamp", "price", data=data, marker="o")
plt.plot(data["mean"], "g--", label="mean price")
plt.legend()
plt.xlabel("time")
plt.xticks(rotation=45)
plt.ylabel("price")
plt.title("btc past 24 hours price")
if to_type == "base64":
return cls.BASE64_PREFIX + cls.plot_to_base64(plt)
raise NotImplementedError(f"尚未支持的格式: {to_type}")
@staticmethod
def plot_to_base64(plt):
bytes_io = io.BytesIO()
plt.savefig(bytes_io, format='png')
bytes_io.seek(0)
return base64.b64encode(bytes_io.read()).decode("u8")
if __name__ == '__main__':
import asyncio
import base64
# history = asyncio.run(CoinSearcher().get_history())
history = [{'timestamp': '2021-05-09T11:00:00Z', 'price': 58154.54, 'volume_24h': 64815608951,
'market_cap': 1087757589631},
{'timestamp': '2021-05-09T12:00:00Z', 'price': 57459.75, 'volume_24h': 65527707659,
'market_cap': 1074765494068},
{'timestamp': '2021-05-09T13:00:00Z', 'price': 57096.02, 'volume_24h': 66861708379,
'market_cap': 1067964125363},
{'timestamp': '2021-05-09T14:00:00Z', 'price': 57514.98, 'volume_24h': 67201240611,
'market_cap': 1075804076839},
{'timestamp': '2021-05-09T15:00:00Z', 'price': 57587.07, 'volume_24h': 66827703749,
'market_cap': 1077157695809},
{'timestamp': '2021-05-09T16:00:00Z', 'price': 57844.19, 'volume_24h': 65540209486,
'market_cap': 1081970848207},
{'timestamp': '2021-05-09T17:00:00Z', 'price': 57750.37, 'volume_24h': 64214755439,
'market_cap': 1080217220194},
{'timestamp': '2021-05-09T18:00:00Z', 'price': 57772.28, 'volume_24h': 62781932260,
'market_cap': 1080631254566},
{'timestamp': '2021-05-09T19:00:00Z', 'price': 57691.66, 'volume_24h': 61894813342,
'market_cap': 1079125022056},
{'timestamp': '2021-05-09T20:00:00Z', 'price': 57922.38, 'volume_24h': 62351429539,
'market_cap': 1083442714226},
{'timestamp': '2021-05-09T21:00:00Z', 'price': 58193.44, 'volume_24h': 63028207259,
'market_cap': 1088515650604},
{'timestamp': '2021-05-09T22:00:00Z', 'price': 58399.51, 'volume_24h': 63082754013,
'market_cap': 1092371937086},
{'timestamp': '2021-05-09T23:00:00Z', 'price': 58479.23, 'volume_24h': 63496464027,
'market_cap': 1093863948485},
{'timestamp': '2021-05-10T00:00:00Z', 'price': 58611.26, 'volume_24h': 64202465213,
'market_cap': 1096337008403},
{'timestamp': '2021-05-10T01:00:00Z', 'price': 59052.41, 'volume_24h': 65331346676,
'market_cap': 1104592932060},
{'timestamp': '2021-05-10T02:00:00Z', 'price': 59076.65, 'volume_24h': 65237671588,
'market_cap': 1105049551735},
{'timestamp': '2021-05-10T03:00:00Z', 'price': 59520.15, 'volume_24h': 65767597328,
'market_cap': 1113347675423},
{'timestamp': '2021-05-10T04:00:00Z', 'price': 59492.69, 'volume_24h': 64673794143,
'market_cap': 1112837758726},
{'timestamp': '2021-05-10T05:00:00Z', 'price': 59246.58, 'volume_24h': 63264532420,
'market_cap': 1108238066299},
{'timestamp': '2021-05-10T06:00:00Z', 'price': 59188.36, 'volume_24h': 63434006406,
'market_cap': 1107151193337},
{'timestamp': '2021-05-10T07:00:00Z', 'price': 58986.83, 'volume_24h': 63288842407,
'market_cap': 1103384864564},
{'timestamp': '2021-05-10T08:00:00Z', 'price': 58556.07, 'volume_24h': 63705656538,
'market_cap': 1095329802757},
{'timestamp': '2021-05-10T09:00:00Z', 'price': 58439.17, 'volume_24h': 63841785669,
'market_cap': 1093145090727}]
================================================
FILE: actions/utils/request.py
================================================
from typing import Text, Any, Dict, Optional, Union, List
import aiohttp
ANY_DATA = Optional[Dict[Any, Any]]
async def get(url: Text, params: ANY_DATA = None) -> Union[List[Dict], Dict[Any, Any]]:
async with aiohttp.ClientSession() as session:
async with session.get(url, params=params) as resp:
return await resp.json()
async def post(url: Text, data: ANY_DATA = None, params: ANY_DATA = None) \
-> Union[List[Dict], Dict[Any, Any]]:
async with aiohttp.ClientSession() as session:
async with session.post(url, params=params, data=data) as resp:
return await resp.json()
================================================
FILE: actions/utils/search.py
================================================
from typing import Text
from actions.utils.request import get, post
SEARCH_ANIME_URL = "https://trace.moe/api/search"
async def search_anime(url: Text) -> Text:
try:
url_type, url_data = url.split("_", maxsplit=1)
if url_type == "u":
res = await get(url=SEARCH_ANIME_URL, params={"url": url_data})
else:
res = await post(url=SEARCH_ANIME_URL, data={"image": url_data})
except UnicodeDecodeError:
return "搜索出错,请稍后再试"
animes = res["docs"]
if not animes:
return "不好意思,没有搜出来呢~可以换一张试试哦"
set_res = "\n".join(set(anime["anime"] for anime in animes))
return f"可能来自下列动漫:\n {set_res}"
class AnimalImgSearch:
@staticmethod
async def get_dog_img():
return (await get("https://aws.random.cat/meow"))["file"]
@staticmethod
async def get_cat_img():
return (await get("https://randomfox.ca/floof/"))["image"]
@staticmethod
async def get_fox_img():
return (await get("https://dog.ceo/api/breeds/image/random"))["message"]
if __name__ == '__main__':
import time
t1 = time.time()
print(search_anime("https://i.loli.net/2021/05/08/6IqMaO3XYiQcBJd.png"))
print(time.time() - t1)
================================================
FILE: back_translation.py
================================================
from concurrent.futures.thread import ThreadPoolExecutor
from concurrent.futures import as_completed
from enum import Enum
import click
import requests
class TransSupportEnum(str, Enum):
Chinese = "zh"
English = "en"
Arabic = "ar"
French = "fr"
German = "de"
Italian = "it"
Portuguese = "pt"
Russian = "ru"
Spanish = "es"
@click.command()
@click.option('--original_string', prompt='回译原始字符串',
help='需要回译的文本')
def trans(original_string: str):
with ThreadPoolExecutor() as executor:
res = []
for target in TransSupportEnum:
if target != TransSupportEnum.Chinese:
res.append(executor.submit(get_trans_data, original_string, "zh", target))
for r in as_completed(res):
print(r.result())
TRANS_URL = "https://libretranslate.com/translate"
def get_trans_data(q: str, source: TransSupportEnum, target: TransSupportEnum):
try:
res = requests.post(TRANS_URL, data={
"q": q,
"source": source,
"target": target
}).json()
data = {"source": target.value, "q": res["translatedText"], "target": "zh"}
except KeyError:
return
return requests.post(TRANS_URL, data=data).json()["translatedText"]
if __name__ == '__main__':
trans()
# print(TransSupportEnum)
================================================
FILE: compoments/README.md
================================================
# 已有组件介绍
## NLU
#### 1. [BERT TOKENIZER](./nlu/tokenizers/bert_tokenizer.py.py)
用于 `bert` 的模型的 `tokennizer`
## POLICES
#### 1. [ask_again_policy](./polices/ask_again_policy.py)
基于 `RULE POLICY` 实现的追问 `Policy`
================================================
FILE: compoments/__init__.py
================================================
================================================
FILE: compoments/nlu/__init__.py
================================================
================================================
FILE: compoments/nlu/featurizer/lm_featurizer.py
================================================
import logging
from functools import partial
from pathlib import Path
from typing import List
import numpy as np
from rasa.nlu.featurizers.dense_featurizer.lm_featurizer import LanguageModelFeaturizer
logger = logging.getLogger(__name__)
class OnnxLanguageModelFeaturizer(LanguageModelFeaturizer):
defaults = {
# name of the language model to load.
"model_name": "bert",
# Pre-Trained weights to be loaded(string)
"model_weights": None,
# an optional path to a specific directory to download
# and cache the pre-trained model weights.
"cache_dir": None,
"onnx": True,
"quantize": True,
"opset": 12,
"output_dir": "onnx_model"
}
def _load_model_instance(self, skip_model_load: bool) -> None:
"""Try loading the model instance.
Args:
skip_model_load: Skip loading the model instances to save time. This
should be True only for pytests
"""
if skip_model_load:
# This should be True only during pytests
return
from rasa.nlu.utils.hugging_face.registry import (
model_class_dict,
model_tokenizer_dict,
)
logger.debug(f"Loading Tokenizer and Model for {self.model_name}")
self.tokenizer = model_tokenizer_dict[self.model_name].from_pretrained(
self.model_weights, cache_dir=self.cache_dir
)
output_path = Path(self.component_config['output_dir'])
if self.component_config["onnx"]:
from transformers import convert_graph_to_onnx
onnx_path = old_onnx_path = (output_path / f"{self.model_name}.onnx").absolute()
if self.is_clean_dir(output_path) or not onnx_path.exists():
# onnx 转化
logger.info("进行 onnx 转化")
from transformers import convert_graph_to_onnx
convert_graph_to_onnx.convert(
framework="pt", # tf 暂时有问题, 转化后无法使用
model=self.model_weights,
output=onnx_path,
tokenizer=self.tokenizer,
opset=self.defaults["opset"]
)
if self.component_config["quantize"]:
logger.info("进行量化")
onnx_path = onnx_path.with_name("-optimized-quantized.".join(onnx_path.name.split(".")))
if not onnx_path.exists():
# 开启量化
optimize_path = convert_graph_to_onnx.optimize(old_onnx_path)
onnx_path = convert_graph_to_onnx.quantize(optimize_path)
Path(optimize_path).unlink()
logger.info("加载onnx模型")
self.model = self.load_onnx_model(onnx_path)
self.input_convert_func = lambda x: np.array(x, dtype="i8")
self.mode_run = lambda x: partial(self.model.run, None)(x)
self.get_feature = lambda x: x[0]
self._create_model_input = self._create_model_input_for_pt_onnx
else:
logger.info("加载非onnx模型")
self.model = model_class_dict[self.model_name].from_pretrained(
self.model_weights, cache_dir=self.cache_dir
)
self.input_convert_func = lambda x: np.array(x)
self.mode_run = self.model
self.get_feature = lambda x: x[0].numpy()
self._create_model_input = self._create_model_input_for_normal
# Use a universal pad token since all transformer architectures do not have a
# consistent token. Instead of pad_token_id we use unk_token_id because
# pad_token_id is not set for all architectures. We can't add a new token as
# well since vocabulary resizing is not yet supported for TF classes.
# Also, this does not hurt the model predictions since we use an attention mask
# while feeding input.
self.pad_token_id = self.tokenizer.unk_token_id
def _compute_batch_sequence_features(
self, batch_attention_mask: np.ndarray, padded_token_ids: List[List[int]]
) -> np.ndarray:
"""Feed the padded batch to the language model.
Args:
batch_attention_mask: Mask of 0s and 1s which indicate whether the token
is a padding token or not.
padded_token_ids: Batch of token ids for each example. The batch is padded
and hence can be fed at once.
Returns:
Sequence level representations from the language model.
"""
inputs = self._create_model_input(batch_attention_mask, padded_token_ids)
model_outputs = self.mode_run(
inputs
)
# sequence hidden states is always the first output from all models
sequence_hidden_states = self.get_feature(model_outputs)
return sequence_hidden_states
@staticmethod
def load_onnx_model(path: Path):
from os import environ
from psutil import cpu_count
from onnxruntime import ExecutionMode, InferenceSession, SessionOptions
# Constants from the performance optimization available in onnxruntime
# It needs to be done before importing onnxruntime
environ["OMP_NUM_THREADS"] = str(cpu_count(logical=True))
environ["OMP_WAIT_POLICY"] = 'ACTIVE'
options = SessionOptions()
options.intra_op_num_threads = 1
options.execution_mode = ExecutionMode.ORT_SEQUENTIAL
session = InferenceSession(str(path.absolute()), options)
return session
@staticmethod
def is_clean_dir(path: Path) -> bool:
return not path.exists() or next(path.iterdir(), None) is None
def _create_model_input_for_pt_onnx(self, batch_attention_mask: np.ndarray, padded_token_ids: List[List[int]]):
row, column = batch_attention_mask.shape
return {
"input_ids": self.input_convert_func(padded_token_ids),
"attention_mask": self.input_convert_func(batch_attention_mask),
"token_type_ids": self.input_convert_func(
np.zeros((row, column)))
}
def _create_model_input_for_normal(self, batch_attention_mask: np.ndarray, padded_token_ids: List[List[int]]):
return {
"input_ids": self.input_convert_func(padded_token_ids),
"attention_mask": self.input_convert_func(batch_attention_mask),
}
================================================
FILE: compoments/nlu/helpers/README.md
================================================
## 一些工具
- [文本纠错](#文本纠错)
### 文本纠错
#### 如何开启
1. 下载模型,[模型地址](https://github.com/SeanLee97/xmnlp#%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80)
2. 设置 config
```yaml
pipeline:
- name: compoments.nlu.helpers.correction.TextCorrection # 文本纠错 Component
model_dir: ... # 模型地址
threshold: float # 阈值
```
3. 重新训练
#### 可参考实现
- 开源纠错[汇总](https://github.com/li-aolong/li-aolong.github.io/issues/12)
================================================
FILE: compoments/nlu/helpers/__init__.py
================================================
================================================
FILE: compoments/nlu/helpers/correction.py
================================================
from typing import List, Text, Dict, Optional, Any, Tuple
from rasa.nlu.components import Component
from rasa.shared.nlu.constants import TEXT as R_TEXT
from rasa.shared.nlu.training_data.message import Message
class TextCorrection(Component):
defaults = {
"model_dir": "./pre_models/xmnlp-models", # 模型地址
"threshold": 1.0 # 判定阈值
}
OLD_TEXT_KEY = "old_text"
def __init__(self, component_config: Optional[Dict[Text, Any]] = None) -> None:
super(TextCorrection, self).__init__(component_config)
self.model = self._load_model()
@classmethod
def required_packages(cls) -> List[Text]:
return ["xmnlp"]
def _load_model(self):
import xmnlp
xmnlp.set_model(self.component_config['model_dir'])
return xmnlp
def process(self, message: Message, **kwargs: Any) -> None:
if message.get(R_TEXT):
have_error, result = self.check_text(message.get(R_TEXT))
if have_error:
new_t, old_t = result
message.set(R_TEXT, new_t)
message.set(self.OLD_TEXT_KEY, old_t)
def check_text(self, text: str) -> Tuple[bool, Tuple[str, str]]:
replace_result = {}
threshold = self.component_config["threshold"]
for pair, result in self.model.checker(text, k=1).items():
if result[0][-1] >= threshold:
replace_result[pair[0]] = result[0][0]
if replace_result:
old_text = text
tmp = list(text)
for i, v in replace_result.items():
tmp[i] = v
new_text = "".join(tmp)
return True, (new_text, old_text)
return False, ("", "")
================================================
FILE: compoments/nlu/tokenizers/__init__.py
================================================
================================================
FILE: compoments/nlu/tokenizers/bert_tokenizer.py
================================================
from typing import List, Text, Dict, Any
from rasa.shared.nlu.training_data.message import Message
from transformers import AutoTokenizer
from rasa.nlu.tokenizers.tokenizer import Tokenizer, Token
class CustomBertTokenizer(Tokenizer):
defaults = {
"model_weights": "pre_models",
"cache_dir": "./tmp"
}
def __init__(self, component_config: Dict[Text, Any] = None) -> None:
super(CustomBertTokenizer, self).__init__(component_config)
self.tokenizer = AutoTokenizer.from_pretrained(
self.component_config["model_weights"], cache_dir=self.component_config.get("cache_dir"), use_fast=True
)
def tokenize(self, message: Message, attribute: Text) -> List[Token]:
text = message.get(attribute)
encoded_input = self.tokenizer(text, return_offsets_mapping=True, add_special_tokens=False)
token_position_pair = zip(encoded_input.tokens(), encoded_input["offset_mapping"])
return [Token(text=token_text, start=position[0], end=position[1])
for token_text, position in token_position_pair]
if __name__ == '__main__':
[print(x.text) for x in CustomBertTokenizer().tokenize({"text": "BTC"}, "text")]
[print(x.text) for x in CustomBertTokenizer().tokenize({"text": "btc"}, "text")]
================================================
FILE: compoments/polices/README.md
================================================
## 追问的实现
#### 实现办法: 在 `core` 中更改 `RULE` 的预测结果。也就是把 特定的句式(目前使用的 `intent`) 根据上轮的 `intent`,来选择是否重复上轮的 `action`。
PS: 不能保证为最优思路,思路仅供参考。
#### 实现思路:
依据强规则:
- 上一轮是特定的 `intent`
- 这一轮是特定的 `intent`
- 重复上一轮的 `intent`
那么需要修改 `intent` 的判定。我们先尝试在 `nlu` 中实现,未果。最后选择 `core` 的 `policy` 来实现。
#### 实现探究:
1. 更改预测的 `intent` - 未果
原因:`nlu` 的 `pipeline` 处理时是无状态的,并不知道上一轮的 `intent`
2. 实现 `policy`,首先尝试的 `MemoizationPolicy` 中实现。但是个人感觉这个应该是基于规则的,所以放弃掉了 `MemoizationPolicy` 选择了 `RulePolicy` (欢迎指正)
#### 备注
具体代码实现可以参考 [`ask_again_policy.py`](./ask_again_policy.py),代码优化已完成。有 `BUG` 欢迎提交 `PR or Issue`。
欢迎各位大佬指教。
================================================
FILE: compoments/polices/__init__.py
================================================
================================================
FILE: compoments/polices/ask_again_policy.py
================================================
import json
from typing import List, Optional, Text, Tuple, Dict, Any
from rasa.core.policies.rule_policy import RulePolicy, RULES, RULES_FOR_LOOP_UNHAPPY_PATH, DO_NOT_PREDICT_LOOP_ACTION, \
logger, LOOP_RULES, LOOP_WAS_INTERRUPTED
from rasa.shared.core.constants import ACTION_LISTEN_NAME, PREVIOUS_ACTION, USER
from rasa.shared.nlu.constants import ACTION_NAME, INTENT, TEXT
from rasa.shared.core.domain import Domain, State
from rasa.shared.core.trackers import DialogueStateTracker, get_active_loop_name
class AskAgainRulePolicy(RulePolicy):
def __init__(
self,
ask_again_intent=Optional[str],
need_ask_again_intents=Optional[List[str]],
**kwargs
):
"""
:param ask_again_intent: ask again key intent
:param need_ask_again_intents: need to ask again intents in rules
:param kwargs:
"""
super().__init__(**kwargs)
self._ask_again_intent = ask_again_intent
self._need_ask_again_intents = need_ask_again_intents
if self.lookup.get(RULES) and ask_again_intent and need_ask_again_intents:
self.update_rules()
def _find_action_from_rules(
self,
tracker: DialogueStateTracker,
domain: Domain,
use_text_for_last_user_input: bool,
) -> Tuple[Optional[Text], Optional[Text], bool]:
"""Predicts the next action based on the memoized rules.
Args:
tracker: The current conversation tracker.
domain: The domain of the current model.
use_text_for_last_user_input: `True` if text of last user message
should be used for the prediction. `False` if intent should be used.
Returns:
A tuple of the predicted action name or text (or `None` if no matching rule
was found), a description of the matching rule, and `True` if a loop action
was predicted after the loop has been in an unhappy path before.
"""
if (
use_text_for_last_user_input
and not tracker.latest_action_name == ACTION_LISTEN_NAME
):
# make text prediction only directly after user utterance
# because we've otherwise already decided whether to use
# the text or the intent
return None, None, False
tracker_as_states = self.featurizer.prediction_states(
[tracker], domain, use_text_for_last_user_input
)
states = tracker_as_states[0]
current_states = self.format_tracker_states(states)
logger.debug(f"Current tracker state:{current_states}")
# Tracks if we are returning after an unhappy loop path. If this becomes `True`
# the policy returns an event which notifies the loop action that it
# is returning after an unhappy path. For example, the `FormAction` uses this
# to skip the validation of slots for its first execution after an unhappy path.
returning_from_unhappy_path = False
rule_keys = self._get_possible_keys(self.lookup[RULES], states)
predicted_action_name = None
best_rule_key = ""
if rule_keys:
# if there are several rules,
# it should mean that some rule is a subset of another rule
# therefore we pick a rule of maximum length
best_rule_key = max(rule_keys, key=len)
predicted_action_name = self.lookup[RULES].get(best_rule_key)
active_loop_name = tracker.active_loop_name
if active_loop_name:
# find rules for unhappy path of the loop
loop_unhappy_keys = self._get_possible_keys(
self.lookup[RULES_FOR_LOOP_UNHAPPY_PATH], states
)
# there could be several unhappy path conditions
unhappy_path_conditions = [
self.lookup[RULES_FOR_LOOP_UNHAPPY_PATH].get(key)
for key in loop_unhappy_keys
]
# Check if a rule that predicted action_listen
# was applied inside the loop.
# Rules might not explicitly switch back to the loop.
# Hence, we have to take care of that.
predicted_listen_from_general_rule = (
predicted_action_name == ACTION_LISTEN_NAME
and not get_active_loop_name(self._rule_key_to_state(best_rule_key)[-1])
)
if predicted_listen_from_general_rule:
if DO_NOT_PREDICT_LOOP_ACTION not in unhappy_path_conditions:
# negative rules don't contain a key that corresponds to
# the fact that active_loop shouldn't be predicted
logger.debug(
f"Predicted loop '{active_loop_name}' by overwriting "
f"'{ACTION_LISTEN_NAME}' predicted by general rule."
)
return active_loop_name, LOOP_RULES, returning_from_unhappy_path
# do not predict anything
predicted_action_name = None
if LOOP_WAS_INTERRUPTED in unhappy_path_conditions:
logger.debug(
"Returning from unhappy path. Loop will be notified that "
"it was interrupted."
)
returning_from_unhappy_path = True
if predicted_action_name is not None:
logger.debug(
f"There is a rule for the next action '{predicted_action_name}'."
)
else:
logger.debug("There is no applicable rule.")
# if we didn't predict anything from the rules, then the feature key created
# from states can be used as an indicator that this state will lead to fallback
return (
predicted_action_name or self.get_again_action_from_states(states),
best_rule_key or self._create_feature_key(states),
returning_from_unhappy_path,
)
def get_again_action_from_states(self, states: List[State]) -> Optional[Text]:
latest_user_state = states[-1].get(USER, {})
if self.states_is_ask_again_intent(latest_user_state):
return self.get_latest_ask_again_action(states)
return None
def states_is_ask_again_intent(self, user_state: Dict[str, str]) -> bool:
"""看 intent 是否是设置的 intent """
return (not user_state.get(TEXT)) and (user_state.get(INTENT, "") == self._ask_again_intent)
def get_latest_ask_again_action(self, states: List[State]) -> Optional[str]:
"""获取上一次的 action name"""
for state in states[-2:0:-2]:
intent = state[USER][INTENT]
if intent in self._need_ask_again_intents:
return state[PREVIOUS_ACTION][ACTION_NAME]
elif intent == self._ask_again_intent:
continue
else:
return None
return None
def _metadata(self) -> Dict[Text, Any]:
return {
"priority": self.priority,
"lookup": self.lookup,
"core_fallback_threshold": self._core_fallback_threshold,
"core_fallback_action_name": self._fallback_action_name,
"enable_fallback_prediction": self._enable_fallback_prediction,
"ask_again_intent": self._ask_again_intent,
"need_ask_again_intents": self._need_ask_again_intents
}
@classmethod
def _metadata_filename(cls) -> Text:
return "ask_again_rule_policy.json"
def update_rules(self) -> None:
"""根据 指定参数来更新 rules"""
tmp_rules = {}
for intent in self._need_ask_again_intents:
action_name = self.get_action_name_by_intent(intent)
tmp_rules[self._get_action_dumps_string_for_rule(action_name)] = ACTION_LISTEN_NAME
self.lookup[RULES].update(tmp_rules)
def get_action_name_by_intent(self, intent: str) -> Optional[str]:
return self.lookup[RULES].get(self._generate_dumps_string(intent))
@staticmethod
def _generate_dumps_string(intent: str) -> str:
return json.dumps([{PREVIOUS_ACTION: {ACTION_NAME: ACTION_LISTEN_NAME}, USER: {INTENT: intent}}])
def _get_action_dumps_string_for_rule(self, action_name: str) -> str:
return json.dumps(
[{PREVIOUS_ACTION: {ACTION_NAME: ACTION_LISTEN_NAME}, USER: {INTENT: self._ask_again_intent}},
{PREVIOUS_ACTION: {ACTION_NAME: action_name},
USER: {INTENT: self._ask_again_intent}}])
if __name__ == '__main__':
# print(common.arguments_of(AskAgainRulePolicy.__init__))
res = {
"[{\"prev_action\": {\"action_name\": \"action_listen\"}, \"user\": {\"intent\": \"rasa_faq\"}}]": "utter_rasa_faq",
"[{\"prev_action\": {\"action_name\": \"action_listen\"}, \"user\": {\"intent\": \"rasa_faq\"}}, {\"prev_action\": {\"action_name\": \"utter_rasa_faq\"}, \"user\": {\"intent\": \"rasa_faq\"}}]": "action_listen",
"[{\"prev_action\": {\"action_name\": \"action_listen\"}, \"user\": {\"intent\": \"\\u67e5\\u8be2\\u65f6\\u95f4\"}}]": "action_query_time",
"[{\"prev_action\": {\"action_name\": \"action_listen\"}, \"user\": {\"intent\": \"\\u67e5\\u8be2\\u65f6\\u95f4\"}}, {\"prev_action\": {\"action_name\": \"action_query_time\"}, \"user\": {\"intent\": \"\\u67e5\\u8be2\\u65f6\\u95f4\"}}]": "action_listen",
"[{\"prev_action\": {\"action_name\": \"action_listen\"}, \"user\": {\"intent\": \"bot_challenge\"}}]": "utter_iamabot",
"[{\"prev_action\": {\"action_name\": \"action_listen\"}, \"user\": {\"intent\": \"bot_challenge\"}}, {\"prev_action\": {\"action_name\": \"utter_iamabot\"}, \"user\": {\"intent\": \"bot_challenge\"}}]": "action_listen",
"[{\"prev_action\": {\"action_name\": \"action_listen\"}, \"user\": {\"intent\": \"goodbye\"}}]": "utter_goodbye",
"[{\"prev_action\": {\"action_name\": \"action_listen\"}, \"user\": {\"intent\": \"goodbye\"}}, {\"prev_action\": {\"action_name\": \"utter_goodbye\"}, \"user\": {\"intent\": \"goodbye\"}}]": "action_listen",
"[{\"prev_action\": {\"action_name\": \"action_listen\"}, \"user\": {\"intent\": \"\\u67e5\\u8be2\\u5929\\u6c14\"}}]": "action_query_weather",
"[{\"prev_action\": {\"action_name\": \"action_listen\"}, \"user\": {\"intent\": \"\\u67e5\\u8be2\\u5929\\u6c14\"}}, {\"prev_action\": {\"action_name\": \"action_query_weather\"}, \"user\": {\"intent\": \"\\u67e5\\u8be2\\u5929\\u6c14\"}}]": "action_listen"
}
================================================
FILE: config.yml
================================================
# Configuration for Rasa NLU.
# https://rasa.com/docs/rasa/nlu/components/
language: zh
pipeline:
# # No configuration for the NLU pipeline was provided. The following default pipeline was used to train your model.
# # If you'd like to customize it, uncomment and adjust the pipeline.
# # See https://rasa.com/docs/rasa/tuning-your-model for more information.
# - name: compoments.nlu.helpers.correction.TextCorrection # 文本纠错 Component
- name: compoments.nlu.tokenizers.bert_tokenizer.CustomBertTokenizer
cache_dir: ./tmp
model_weights: pre_models
- name: compoments.nlu.featurizer.lm_featurizer.OnnxLanguageModelFeaturizer
cache_dir: ./tmp
model_name: bert
model_weights: pre_models
onnx: false # 因为有依赖,默认未开启
quantize: false
- name: DIETClassifier
epochs: 100
- name: RegexEntityExtractor
- name: EntitySynonymMapper
- name: ResponseSelector
epochs: 100
retrieval_intent: rasa_faq
- name: FallbackClassifier
threshold: 0.3
ambiguity_threshold: 0.1
# Configuration for Rasa Core.
# https://rasa.com/docs/rasa/core/policies/
policies:
# # No configuration for policies was provided. The following default policies were used to train your model.
# # If you'd like to customize them, uncomment and adjust the policies.
# # See https://rasa.com/docs/rasa/policies for more information.
- name: AugmentedMemoizationPolicy
- name: TEDPolicy
max_history: 5
epochs: 100
- name: compoments.polices.ask_again_policy.AskAgainRulePolicy
core_fallback_threshold: 0.5
ask_again_intent: "再问一次"
need_ask_again_intents:
- "查询天气"
================================================
FILE: credentials.yml
================================================
# This file contains the credentials for the voice & chat platforms
# which your bot is using.
# https://rasa.com/docs/rasa/messaging-and-voice-channels
rest:
# # you don't need to provide anything here - this channel doesn't
# # require any credentials
#facebook:
# verify: "<verify>"
# secret: "<your secret>"
# page-access-token: "<your page access token>"
#slack:
# slack_token: "<your slack token>"
# slack_channel: "<the slack channel>"
# slack_signing_secret: "<your slack signing secret>"
#socketio:
# user_message_evt: <event name for user message>
# bot_message_evt: <event name for bot messages>
# session_persistence: <true/false>
#mattermost:
# url: "https://<mattermost instance>/api/v4"
# token: "<bot token>"
# webhook_url: "<callback URL>"
# This entry is needed if you are using Rasa X. The entry represents credentials
# for the Rasa X "channel", i.e. Talk to your bot and Share with guest testers.
rasa:
url: "http://localhost:5002/api"
================================================
FILE: data/nlu/nlu.yml
================================================
version: "2.0"
nlu:
- intent: greet
examples: |
- 你好
- 嗨
- 您好
- 早上好
- 下午好
- 晚上好
- 早
- 冲
- intent: goodbye
examples: |
- good afternoon
- cu
- good by
- cee you later
- good night
- bye
- goodbye
- have a nice day
- see you around
- bye bye
- see you later
- 明天见
- 下次再见
- 有缘再见
- 江湖再见
- intent: affirm
examples: |
- yes
- y
- indeed
- of course
- that sounds good
- correct
- 好
- 没问题
- 搞得定
- ok了
- 解决了
- intent: deny
examples: |
- no
- n
- never
- I don't think so
- don't like that
- no way
- not really
- 不
- 不要
- 不是的
- 不用这样吧
- intent: mood_great
examples: |
- perfect
- great
- amazing
- feeling like a king
- wonderful
- I am feeling very good
- I am great
- I am amazing
- I am going to save the world
- super stoked
- extremely good
- so so perfect
- so good
- so perfect
- 完美
- 棒极了
- 太帅了
- 棒呆了
- oh my god
- 你是最棒的
- 不错哟
- 不错
- intent: mood_unhappy
examples: |
- my day was horrible
- I am sad
- I don't feel very well
- I am disappointed
- super sad
- I'm so sad
- sad
- very sad
- unhappy
- not good
- not very good
- extremly sad
- so saad
- so sad
- 太难了吧
- 不要吧
- 血亏
- 难受
- 有点难
- 哭了
- 一把辛酸泪
- intent: bot_challenge
examples: |
- are you a bot?
- are you a human?
- am I talking to a bot?
- am I talking to a human?
- 你是机器人吗
- 我在和机器人说话
- 我去,你是机器人
- 你是真人吗
- 真人
- intent: 查询天气
examples: |
- [成都]{"entity": "city"}天气如何
- [成都]{"entity": "city"}的天气怎样
- 帮我查一下[成都]{"entity": "city"}的天气
- 查一下[成都]{"entity": "city"}的天气
- [成都]{"entity": "city"}今天冷不冷
- [成都]{"entity": "city"}今天热不热
- intent: 再问一次
examples: |
- [成都](city)呢
- 那[成都](city)呢
- [成都](city)如何呢
- [成都](city)怎样呢
- 那[成都](city)如何呢
- 那[成都](city)怎样呢
- intent: 找饭店
examples: |
- 我正在寻找一家饭店
- 我想找个吃饭的地方
- 可以找到[泰餐](cuisine)吗
- 一个提供[日料](cuisine)的地方
- 我想找一家餐厅
- 我在找一家[烧烤](cuisine)店
- 我能找到一家[中餐](cuisine)馆吗
- 我需要找一家饭店
- 我正在寻找可以吃[自助](cuisine)食物的地方,三个人用
- 啊,我在找可以吃[湘菜](cuisine)的地方
- 我能找一家餐馆,有[粤菜](cuisine)的那种吗
- 找一家[火锅](cuisine)店
- 来家餐馆
- 帮我找个吃饭的地方
- 我想定个双人餐,[西餐](cuisine)那种
- 4个人吃饭的地方
- 帮我定个[本帮](cuisine)菜饭店,3个人
- 能帮我找个5个人吃饭的地方吗
- 我想预订个双人餐
- 找一家[川菜](cuisine)馆,5个人
- 找个7个人吃饭的地方
- 有没有4个人适合吃的[麻辣烫](cuisine)店
- synonym: 饭店
examples: |
- 吃饭的地方
- 餐厅
- 餐馆
- intent: stop
examples: |
- 你不能帮我
- 呸,你根本不能帮我
- 换人,下一个
- 你不能帮我解决问题
- 你不行啊
- 我知道了,你不行啊
- 不是我要的
- 我知道了,但是没用
- 不行,完全没用
- 真的没用啊
- 你在说啥,换一个
- 我觉得你不能帮我
- 退出去
- 停
- 重来
- 你在说啥哦
- 你怕是在开玩笑
- 那是啥
- 还有啥
- regex: number
examples: |
- \d+
- intent: inform
examples: |
- [西餐](cuisine)厅
- [中餐](cuisine)馆
- [泰餐](cuisine)吧
- [火锅](cuisine)店
- [串串](cuisine)香
- [川菜](cuisine)馆
- [粤菜](cuisine)吧
- [本帮](cuisine)菜
- [麻辣烫](cuisine)
- [湘菜](cuisine)吧
- [自助](cuisine)餐
- [烧烤](cuisine)店
- [日料](cuisine)店
- 想吃[火锅](cuisine)
- 吃[串串](cuisine)吧
- 还是[日料](cuisine)吧
- 找一家[日料](cuisine)店如何
- [外面](seating)
- [里面](seating)
- [里面](seating)好一点
- 我想坐[里面](seating)
- 还是坐[外面](seating)吧
- 还是[外面](seating)吧
- [2](number)个人
- [12](number)个
- [3](number)
- [4](number)位
- 我觉得还[不错](feedback)
- [还行](feedback)吧
- [不行](feedback)
- intent: 看图片
examples: |
- 看看[猫](look_img)
- 看看[狗](look_img)
- 看看[狐狸](look_img)
- 吸[猫](look_img)
- 今日份吸[猫](look_img)
- 想吸[猫](look_img)了
- 今天的[狗](look_img)
- 来一张[猫](look_img)看看
- intent: 搜动漫
examples: |
- 搜一下动漫
- 帮我搜一下动漫
- 搜一下动漫图片
- 查一下这个啥动漫
- 查一下动漫图片来自哪里
- 搜动漫
- 搜动漫来自哪里
- 查动漫
- intent: 查币
examples: |
- [BTC](coin_name)价格
- [BTC](coin_name)趋势
- [BTC](coin_name)分时图
- 帮我看一下[BTC](coin_name)趋势
- synonym: BTC
examples: |
- 比特币
- intent: 试试按钮
examples: |
- 按钮功能
- 试试按钮
================================================
FILE: data/nlu/rasa_faq.yml
================================================
version: "2.0"
nlu:
- intent: rasa_faq/rasax
examples: |
- RasaX 是啥?
- RasaX 是什么?
- 你能解释一下 RasaX 吗?
- 你能告诉我什么是 RasaX 吗?
- 告诉我啥是 Rasa X?
- 我想了解一下 Rasa X
- 帮我解释一下 Rasa X
- rasax
- Rasax
- Rasa X
- intent: rasa_faq/channels
examples: |
- Channels
- channels 是啥
- channels 能干啥?
- 我想接其他通道
- rasa 支持哪些 channels?
- 如何在 slack 上设置 rasax
- Rasa 支持微信吗?
- rasa 支持QQ吗?
- rasa支持语音吗?
- rasa支持消息通道吗?
- rasa支持的消息通道
- intent: rasa_faq/build_faq
examples: |
- 如何创建faq
- rasa 如何搞 faq
- 怎么创建faq机器人
- 怎么创建闲聊机器人?
- 你的机器人怎么搭建的
- 怎么搭建问答机器人
- 问答机器人
- faq bot
- 问答或者闲聊机器人
- intent: rasa_faq/build_voice_rasa
examples: |
- 语音如何接入rasa
- rasa支持语音吗?
- 语音机器人
- 语音机器人的教程有吗?
- 语音机器人怎么弄?
- 你会弄语音机器人吗?
- 语音问答
- 如何接入语音
- 语音接入rasa
- 语音可以用吗?
- 你支持语音机器人吗?
- intent: rasa_faq/deactivate_form
examples: |
- 如何退出form
- 如何退出表单
- 怎么停止表单
- 停止表单
- 中断form
- 我想中断表单,怎么做?
- intent: rasa_faq/participles
examples: |
- rasa 怎么中文分词
- 怎么分词
- rasa支持中文吗
- 中文可以用吗
- 你支持中文吗?
- 中文好用吗?
- intent: rasa_faq/debug
examples: |
- 怎么调试rasa代码
- 你怎么调试
- pycharm调试rasa
- 如何调试
- 怎么看每一步运行结果
- 怎么把命令行转代码?
- intent: rasa_faq/hot_update_model
examples: |
- 模型可以热更新吗?
- 怎么热更新模型呢?
- 你知道怎么不停机更新吗?
- 怎么可以直接更新模型呢?
- 我想热更新模型
- intent: rasa_faq/api_doc
examples: |
- rasa api模式的文档
- 怎么通过api访问rasa
- rasa的接口
- rasa有哪些接口
- 接口文档有吗?
- 怎么通过接口访问rasa?
- API的形式调用Rasa的地址是多少以及需要传递什么参数?
- intent: rasa_faq/response_change
examples: |
- 更改 response 也要重新训练吗?
- 能不重新训练吗?
- 怎么加速response的训练时间
- 直接修改response
- intent: rasa_faq/response_format
examples: |
- 怎么把返回的值弄成变量
- utter 可以返回变量吗?
- 可以根据slot值返回吗?
- intent: rasa_faq/get_tracker_in_channel
examples: |
- 怎么在channel里面获取tracker
- 从哪里可以获取tracker?
- 我怎么才能获取到tracker?
- intent: rasa_faq/get_bot_latest_msg
examples: |
- 机器人的回话在哪里获取
- 怎么知道机器人上次回复的什么?
- 机器人的回复记录有吗?
- 机器人上次说的啥?
- rasa上次说的啥在哪里查?
- intent: rasa_faq/自定义回复
examples: |
- 怎么根据对话轮数设定不同的询问?
- 怎么自定义回复话术呢?
- 如何每次换不一样的问法?
- intent: rasa_faq/session和tracker的区别
examples: |
- session和tracker的区别
- session的数据存储了,tracker 为什么要存储
- session过期了 tracker会过期吗?
- intent: rasa_faq/获取当前表单名称
examples: |
- 怎么知道当前用户是在哪个 form 呢?
- 用户当前激活的哪个表单
- 怎么获取 form name呢?
- 用户当前激活的哪个表单
- intent: rasa_faq/中文命名
examples: |
- intent 可以用中文吗?
- 意图可以用中文吗?
- rasa文件可以用中文吗?
- form可以用中文吗?
- intent: rasa_faq/加快训练速度
examples: |
- 怎么才能加速训练呢?
- 训练好慢啊,怎么办
- 训练搞快点啊!!!
- 你训练咋这么慢啊,大哥,给力点啊。
- 训练怎么才能gkd啊
- intent: rasa_faq/conversation和sender的关系
examples: |
- conversation和sender什么关系啊?
- conversation对应几个sender?
- 怎么获取sender的tracker
- intent: rasa_faq/自定义policy
examples: |
- 自定义policy怎么添加自定义参数
- policy的自定义参数怎么没有生效
- policy怎么自定义参数
- intent: rasa_faq/反复进入story
examples: |
- 怎么反复进入story呢?
- 能在同一conversation 中多次触发 story呢?
- 为什么每次都要/restart
- 能不/restart 就再触发story吗?
- intent: rasa_faq/如何部署rasa
examples: |
- 怎么部署呢?
- 怎么部署rasa
- 如何部署rasa
- 生产上rasa怎么用?
- intent: rasa_faq/如何用代码加载模型
examples: |
- 怎么直接使用模型呢?
- 不开服务使用模型可以吗?
- 直接使用训练好的模型
- 如何直接加载训练好的模型
- 加载训练好的模型
- intent: rasa_faq/限制event长度
examples: |
- 为什么rasa运行越来越慢?
- event太多了怎么办
- 怎么限制event的长度呢?
- 越来越慢怎么办
- 为什么越来越慢
- intent: rasa_faq/多意图
examples: |
- 为什么需要多意图?
- 多意图是什么?
- 多意图怎么使用
- 为什么多意图用+连接
- intent: rasa_faq/教程
examples: |
- 哪里有rasa的教程
- 哪里可以看教程
- 视频教程有吗
- 视频教程可以在哪里看
- 有没有系列教程
- intent: rasa_faq/action触发form
examples: |
- 怎么在action里面触发form呢
- 可以手动触发form吗
- form对应什么action
- 怎么手动触发form action
- 可以动态触发form action吗
- synonym: form
examples: |
- 表单
- synonym: intent
examples: |
- 意图
- synonym: entity
examples: |
- 实体
- synonym: conversation
examples: |
- conversation id
- conversation_id
- conversationid
- synonym: sender
examples: |
- sender id
- sender_id
- senderid
- synonym: policy
examples: |
- 自定义policy
- synonym: 如何
examples: |
- 怎么
================================================
FILE: data/nlu/responses/responses.yml
================================================
version: "2.0"
responses:
utter_rasa_faq/rasax:
- text: "Rasa X是一个工具集,可以帮助您利用对话来改善您的助手。
了解更多关于Rasa X的信息[这里](https://rasa.com/docs/rasa-x/),或阅读博客文章,了解我们开发它的原因。
[此处](https://blog.rasa.com/algorithms-alone-wont-solve-conversational-ai-introducing-rasa-x/)"
utter_rasa_faq/channels:
- text: "我们有一份[支持的连接器综合清单](https://rasa.com/docs/core/connectors/)。
但如果没有你要找的那个,你可以通过以下方法创建一个自定义的连接器。
[本指南](https://rasa.com/docs/rasa/user-guide/connectors/custom-connectors/)."
utter_rasa_faq/build_faq:
- text: "创建 faq 最重要的就是配置 ResponseSelector 中的 retrieval_intent,
以及 Rule 中配置对应关系
详情可以参见:[FAQ/Chitchat 配置指南](https://rasa.com/docs/rasa/chitchat-faqs)"
utter_rasa_faq/build_voice_rasa:
- text: "定制语音机器人最重要的是更改给 rasa 的输入和输出。主要是 channel 这一层实现。
教程参考: [基于 rasa 的语音助手搭建](https://dustyposa.github.io/posts/d7e97916/)"
utter_rasa_faq/deactivate_form:
- text: "有两种方式。
1.不使用 form action,在 story/rules 中使用 `action_deactivate_loop`。可参照:[表单机器人](https://github.com/RasaHQ/rasa/blob/main/examples/formbot/data/stories.yml)\n
2. 使用 form action,实现 `next_requested_slot` 或者 `required_slots` 等方法。"
utter_rasa_faq/participles:
- text: "中文分词的话需要 tokenizer 以及 feature。token 这部分一般来说有 3 种解法。\n
1. Jieba分词,官方自带有 `JiebaTokenizer` 可以使用。\n
2. Bert 分词/分字,这部分需要自己实现一个 tokenizer,可以参照本项目。\n
3. 自定义实现,自己继承 Tokenizer/Component 根据规则自己实现。\n
feature 这部分,一般使用:\n
`LanguageModelFeaturizer` 即可
"
utter_rasa_faq/debug:
- text: "把命令行转化为代码即可。[参考代码](https://github.com/Dustyposa/rasa_ch_faq/blob/main/run.py)"
utter_rasa_faq/hot_update_model:
- text: "方法目前知道的有三种。\n
1. 在 `endpoints.yml` 中配置更新地址以及更新时间。
models:\n
url: http://my-server.com/models/default_core@latest\n
wait_time_between_pulls: 10 # [optional](default: 100)\n
2. 调用模型更新接口 /models \n
3. 手动加载模型。创建新的 `agent`
"
utter_rasa_faq/api_doc:
- text: "运行: `rasa run --enable-api` 开启全 api 模式
[文档在这里](https://rasa.com/docs/rasa/pages/http-api)
直接使用 案例:
查看5005端口是否被占用 netstat -aon | findstr 5005
启动Rasa API服务(跨域)rasa run --enable-api --cors \"*\"
启动Rasa API服务(保存日志)rasa run --enable-api --log-file out.log
启动Rasa API服务(指定模型)rasa run --enable-api -m models
"
utter_rasa_faq/response_change:
- text: "更改训练好的模型文件即可。解压后一个 `domain.yml`, 修改后再次 打包成新的模型文件即可。(个人方案,仅供参考)"
utter_rasa_faq/response_format:
- text: "使用 format 语法 `{XXX}` 即可,详情可参考 [文档](https://rasa.com/docs/rasa/responses#response-variations)\n
ps: 在 custom 中使用 `{}` 语法也会自动格式化"
utter_rasa_faq/get_tracker_in_channel:
- text: "分为两种情况
1. 如果是新用户(没有 `tracker` 记录)从 `request.app.agent.tracker_store.get_or_create_tracker(sender_id)` 中获取。
2。 如果是老用户, 从 `request.app.agent.tracker_store.retrieve(sender_id)`
备注: 当然,第一种是万能的,但是需要根据实际情况选择,接口开放的权限不同。
"
utter_rasa_faq/get_bot_latest_msg:
- text: bot_event = next(e for e in reversed(tracker.events) if e["event"] == "bot")
utter_rasa_faq/自定义回复:
- text: "需要自定义一个 `action`, [参考文档](https://rasa.com/docs/rasa/forms#using-a-custom-action-to-ask-for-the-next-slot) \n 需要注意的是,`action_ask_{form_name}_{slot_name}` 的优先级大于 `action_ask_{form_name}`\n 整体的优先级排序为 `action_ask_{form_name}_{slot_name}` \n `utter_ask_{form_name}_{slot_name}` \n `action_ask_{form_name}` \n `utter_ask_{form_name}`"
utter_rasa_faq/session和tracker的区别:
- text: "`session` 代表当前会话,`tracker` 所有的数据代表的是用户的所有会话,当 `session` 过期时(`session_expiration_time` 设置过期时间),`tracker` 不会消失。
但是需要注意的是,`session` 过期时,当前用户状态会被重置(比如表单会直接退出)。"
utter_rasa_faq/获取当前表单名称:
- text: "可以先获取 `tracker`,使用 `tracker.loop_name` 即可。
当然,知道当前的 `loop_name` 之后,我们就可以检测是否退出表单啦!可以利用 `redis` 之类存储当前的 `loop_name`, 和下一次 `loop_name` 进行比较即可。"
utter_rasa_faq/中文命名:
- text: "都可以用中文的,毕竟只是一个 key。
你可以这样:
intent:
- 意图1
- 意图2
也可以这样:
responses:
- utter_回复1: ...
当然,form 也不例外:
forms:
- 吃饭了没_form: ...
"
utter_rasa_faq/加快训练速度:
- text: "1. 使用gpu, 直接安装 tensorflow-gpu 即可。
2. 调整 `batch_size`,一般调整 `config.yml` 中的组件的 batch_size,调大一些(注意 gpu 的内存)
3. 优化训练语料(不建议。。。多一个思考方式"
utter_rasa_faq/conversation和sender的关系:
- text: "
conversation id == sender id
conversation_id 属于比较老的叫法,根据 https://rasa.com/docs/rasa/pages/http-api#operation/getConversationTracker 的返回来看, conversation 字段已经被 sender 替换了。
"
utter_rasa_faq/自定义policy:
- text: "config 中自定义一些参数
自定义的 Policy 类需要重写 `def _metadata(self)` 方法,里面表示有多少要使用的参数。
"
utter_rasa_faq/反复进入story:
- text: "配置一下 fallback 规则
- name: RulePolicy
enable_fallback_prediction: false"
utter_rasa_faq/如何部署rasa:
- text: "实际操作需要根据业务的技术架构需求来执行。
1. 先说一下最底层的部署方式,那肯定是加载模型,调用模型,产出语句。这个适用于所有的业务架构。
- 模型加载,参考源码的 `agent` 加载(可以参考 `load_model.py` 该文件)。
- 适用模型得到结果。
- 模型必须依赖的东西:
- tracker
- 模型可选依赖:
- action server
- event broker
2. web 部署
- 原生 web 部署,`rasa` 本身使用的 `sanic` 异步框架。运行 `rasa run/ rasa run --enable-api` 即可。
测试方式: curl -X POST 'http://localhost:5005/webhooks/rest/webhook'
-d '{
\"sender\": \"xxxxx\",
\"message\": \"你好\"}'
- 基于其余 web 框架部署。在 1 方式的基础上,加载模型,套在其余框架上即可。
"
utter_rasa_faq/如何用代码加载模型:
- text: "可以参考 `load_model.py` 该文件。"
utter_rasa_faq/限制event长度:
- text: "可以参考 https://medium.com/graymatrix/using-a-custom-tracker-store-to-manage-max-event-history-in-rasa-e99279ca615f"
utter_rasa_faq/多意图:
- text: "为什么需要多意图可以参考: https://forum.rasa.com/t/why-would-one-want-multi-intent/47489"
utter_rasa_faq/rasa_教程:
- text: "视频可以在这里看系列教程: https://www.youtube.com/c/RasaHQ"
utter_rasa_faq/action触发form:
- text: "执行 ActiveLoop action, 例如在 run 函数中: return [ActiveLoop(name='xxx_form', timestamp=...)]"
================================================
FILE: data/rules/rules.yml
================================================
version: "2.0"
rules:
- rule: Say goodbye anytime the user says goodbye
steps:
- intent: goodbye
- action: utter_goodbye
- rule: Say 'I am a bot' anytime the user challenges
steps:
- intent: bot_challenge
- action: utter_iamabot
- rule: rasa faq
steps:
- intent: rasa_faq
- action: utter_rasa_faq
- rule: 查询天气
steps:
- intent: 查询天气
- action: action_query_weather
- rule: 激活 饭店form
steps:
- intent: 找饭店
- action: 饭店_form
- active_loop: 饭店_form
- rule: 提交表单
condition:
- active_loop: 饭店_form
steps:
- action: 饭店_form
- active_loop: null
- action: utter_submit
- action: utter_slots_values
- action: action_clear_饭店_form_slots
- rule: 看图片
steps:
- intent: 看图片
- action: action_find_img
- rule: 激活搜动漫
steps:
- intent: 搜动漫
- action: 搜动漫_form
- active_loop: 搜动漫_form
- rule: 提交搜动漫
condition:
- active_loop: 搜动漫_form
steps:
- action: 搜动漫_form
- active_loop: null
- action: action_search_anime_img
- rule: 查币
steps:
- intent: 查币
- action: action_search_coin_history
================================================
FILE: data/stories/form_stories.yml
================================================
version: "2.0"
stories:
- story: stop form + continue
steps:
- intent: 找饭店
- action: 饭店_form
- active_loop: 饭店_form
- intent: stop
- action: utter_ask_continue
- intent: affirm
- action: 饭店_form
- active_loop: null
- action: utter_submit
- action: utter_slots_values
- action: action_clear_饭店_form_slots
- story: stop form + stop
steps:
- intent: 找饭店
- action: 饭店_form
- active_loop: 饭店_form
- intent: stop
- action: utter_ask_continue
- intent: deny
- action: action_deactivate_loop
- active_loop: null
================================================
FILE: data/stories/stories.yml
================================================
version: "2.0"
stories:
- story: happy path
steps:
- intent: greet
- action: utter_greet
- intent: mood_great
- action: utter_happy
- story: sad path 1
steps:
- intent: greet
- action: utter_greet
- intent: mood_unhappy
- action: utter_cheer_up
- action: utter_did_that_help
- intent: affirm
- action: utter_happy
- story: sad path 2
steps:
- intent: greet
- action: utter_greet
- intent: mood_unhappy
- action: utter_cheer_up
- action: utter_did_that_help
- intent: deny
- action: utter_goodbye
- story: 尝试按钮1
steps:
- intent: 试试按钮
- action: utter_试试按钮
- intent: 看图片
- action: action_find_img
- story: 尝试按钮2
steps:
- intent: 试试按钮
- action: utter_试试按钮
- intent: bot_challenge
- action: utter_iamabot
================================================
FILE: domain.yml
================================================
version: "2.0"
intents:
- greet
- goodbye
- affirm
- deny
- mood_great
- mood_unhappy
- bot_challenge
- rasa_faq
- 查询天气
- 再问一次
- 找饭店
- inform
- stop
- 搜动漫
- 看图片
- 查币
- 试试按钮
responses:
utter_greet:
- text: "嘿!最近怎样?"
utter_cheer_up:
- text: "让我们来庆祝一下!"
image: "https://i.imgur.com/nGF1K8f.jpg"
utter_did_that_help:
- text: "有帮到你吗?"
utter_happy:
- text: "好的,继续加油!"
utter_goodbye:
- text: "Bye"
- text: "拜"
utter_iamabot:
- text: "我是基于 Rasa 的机器人🤖"
utter_default:
- text: "不好意思,你这个问题太高深啦。可以在 issue 中提问哦,切换为更智能的 AI!"
utter_submit:
- text: "已经完成!"
utter_slots_values:
- text: "我将使用以下参数运行一个餐厅搜索:\n
- 餐厅类别: {cuisine}\n
- 人数: {num_people}\n
- 坐外面: {outdoor_seating}\n
- 偏好: {preferences}\n
- 反馈: {feedback}"
utter_ask_continue:
- text: "要继续吗?"
utter_ask_cuisine:
- text: "哪种店?"
utter_ask_num_people:
- text: "几位呢?"
utter_ask_outdoor_seating:
- text: "要坐在外面吗?"
utter_ask_preferences:
- text: "有什么偏好吗?"
utter_ask_feedback:
- text: "您觉得体验如何?"
utter_ask_搜动漫_form_img:
- text: "请输入图片url或者直接上传图片"
utter_wrong_cuisine:
- text: "店铺类型不在数据库中,请换一种餐种"
utter_wrong_num_people:
- text: "人数应该是一个正整数,请再试一次"
utter_wrong_outdoor_seating:
- text: "无法将输入值转换为布尔值,请重试"
utter_url错误:
- text: "url有误,请检查后再重试~"
utter_试试按钮:
- text: "这个按钮有两个功能,你可以试试:"
buttons:
- title: "吸猫"
payload: '/看图片{{"look_img":"猫"}}'
- title: "你是不是bot"
payload: "/bot_challenge"
slots:
city:
type: any
cuisine:
type: text
influence_conversation: false
auto_fill: false
num_people:
type: float
influence_conversation: false
auto_fill: false
outdoor_seating:
type: text
influence_conversation: false
auto_fill: false
preferences:
type: text
influence_conversation: false
auto_fill: false
feedback:
type: text
influence_conversation: false
auto_fill: false
requested_slot:
type: text
influence_conversation: false
img:
type: text
influence_conversation: false
auto_fill: false
entities:
- city
- cuisine
- number
- feedback
- seating
- look_img
- coin_name
forms:
饭店_form:
cuisine:
- type: from_entity
entity: cuisine
not_intent: faq
num_people:
- type: from_entity
entity: number
intent: [inform, 找饭店]
outdoor_seating:
- type: from_entity
entity: seating
- type: from_intent
intent: affirm
value: true
- type: from_intent
intent: deny
value: false
preferences:
- type: from_intent
intent: deny
value: no additional preferences
- type: from_text
not_intent: affirm
feedback:
- type: from_entity
entity: feedback
- type: from_text
搜动漫_form:
img:
- type: from_text
actions:
- action_query_weather
- validate_饭店_form
- validate_搜动漫_form
- action_clear_饭店_form_slots
- action_find_img
- action_search_anime_img
- action_search_coin_history
session_config:
session_expiration_time: 60
carry_over_slots_to_new_session: true
================================================
FILE: endpoints.yml
================================================
# This file contains the different endpoints your bot can use.
# Server where the models are pulled from.
# https://rasa.com/docs/rasa/model-storage#fetching-models-from-a-server
#models:
# url: http://my-server.com/models/default_core@latest
# wait_time_between_pulls: 10 # [optional](default: 100)
# Server which runs your custom actions.
# https://rasa.com/docs/rasa/custom-actions
action_endpoint:
url: "http://localhost:5055/webhook"
# Tracker store which is used to store the conversations.
# By default the conversations are stored in memory.
# https://rasa.com/docs/rasa/tracker-stores
#tracker_store:
# type: redis
# url: <host of the redis instance, e.g. localhost>
# port: <port of your redis instance, usually 6379>
# db: <number of your database within redis, e.g. 0>
# password: <password used for authentication>
# use_ssl: <whether or not the communication is encrypted, default false>
#tracker_store:
# type: mongod
# url: <url to your mongo instance, e.g. mongodb://localhost:27017>
# db: <name of the db within your mongo instance, e.g. rasa>
# username: <username used for authentication>
# password: <password used for authentication>
# Event broker which all conversation events should be streamed to.
# https://rasa.com/docs/rasa/event-brokers
#event_broker:
# url: localhost
# username: username
# password: password
# queue: queue
================================================
FILE: load_model.py
================================================
import asyncio
import yaml
from rasa.core.agent import Agent
from rasa.shared.constants import DEFAULT_ENDPOINTS_PATH
from rasa.utils.endpoints import EndpointConfig
# 需要先训练好一个模型
with open(DEFAULT_ENDPOINTS_PATH) as fp:
endpoint = EndpointConfig.from_dict(yaml.load(fp).get("action_endpoint"))
agent = Agent.load_local_model(
model_path="models",
action_endpoint=endpoint
)
print(asyncio.run(agent.handle_text("rasax")))
print(asyncio.run(agent.handle_text("你是机器人吗?")))
print(asyncio.run(agent.handle_text("成都天气好吗?")))
================================================
FILE: pre_models/config.json
================================================
{
"architectures": [
"BertForMaskedLM"
],
"attention_probs_dropout_prob": 0.1,
"directionality": "bidi",
"hidden_act": "gelu",
"hidden_dropout_prob": 0.1,
"hidden_size": 768,
"initializer_range": 0.02,
"intermediate_size": 3072,
"layer_norm_eps": 1e-12,
"max_position_embeddings": 512,
"model_type": "bert",
"num_attention_heads": 12,
"num_hidden_layers": 12,
"pad_token_id": 0,
"pooler_fc_size": 768,
"pooler_num_attention_heads": 12,
"pooler_num_fc_layers": 3,
"pooler_size_per_head": 128,
"pooler_type": "first_token_transform",
"type_vocab_size": 2,
"vocab_size": 21128
}
================================================
FILE: pre_models/vocab.txt
================================================
[PAD]
[unused1]
[unused2]
[unused3]
[unused4]
[unused5]
[unused6]
[unused7]
[unused8]
[unused9]
[unused10]
[unused11]
[unused12]
[unused13]
[unused14]
[unused15]
[unused16]
[unused17]
[unused18]
[unused19]
[unused20]
[unused21]
[unused22]
[unused23]
[unused24]
[unused25]
[unused26]
[unused27]
[unused28]
[unused29]
[unused30]
[unused31]
[unused32]
[unused33]
[unused34]
[unused35]
[unused36]
[unused37]
[unused38]
[unused39]
[unused40]
[unused41]
[unused42]
[unused43]
[unused44]
[unused45]
[unused46]
[unused47]
[unused48]
[unused49]
[unused50]
[unused51]
[unused52]
[unused53]
[unused54]
[unused55]
[unused56]
[unused57]
[unused58]
[unused59]
[unused60]
[unused61]
[unused62]
[unused63]
[unused64]
[unused65]
[unused66]
[unused67]
[unused68]
[unused69]
[unused70]
[unused71]
[unused72]
[unused73]
[unused74]
[unused75]
[unused76]
[unused77]
[unused78]
[unused79]
[unused80]
[unused81]
[unused82]
[unused83]
[unused84]
[unused85]
[unused86]
[unused87]
[unused88]
[unused89]
[unused90]
[unused91]
[unused92]
[unused93]
[unused94]
[unused95]
[unused96]
[unused97]
[unused98]
[unused99]
[UNK]
[CLS]
[SEP]
[MASK]
<S>
<T>
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
[
\
]
^
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
£
¤
¥
§
©
«
®
°
±
²
³
µ
·
¹
º
»
¼
×
ß
æ
÷
ø
đ
ŋ
ɔ
ə
ɡ
ʰ
ˇ
ˈ
ˊ
ˋ
ˍ
ː
˙
˚
ˢ
α
β
γ
δ
ε
η
θ
ι
κ
λ
μ
ν
ο
π
ρ
ς
σ
τ
υ
φ
χ
ψ
ω
а
б
в
г
д
е
ж
з
и
к
л
м
н
о
п
р
с
т
у
ф
х
ц
ч
ш
ы
ь
я
і
ا
ب
ة
ت
د
ر
س
ع
ل
م
ن
ه
و
ي
۩
ก
ง
น
ม
ย
ร
อ
า
เ
๑
་
ღ
ᄀ
ᄁ
ᄂ
ᄃ
ᄅ
ᄆ
ᄇ
ᄈ
ᄉ
ᄋ
ᄌ
ᄎ
ᄏ
ᄐ
ᄑ
ᄒ
ᅡ
ᅢ
ᅣ
ᅥ
ᅦ
ᅧ
ᅨ
ᅩ
ᅪ
ᅬ
ᅭ
ᅮ
ᅯ
ᅲ
ᅳ
ᅴ
ᅵ
ᆨ
ᆫ
ᆯ
ᆷ
ᆸ
ᆺ
ᆻ
ᆼ
ᗜ
ᵃ
ᵉ
ᵍ
ᵏ
ᵐ
ᵒ
ᵘ
‖
„
†
•
‥
‧
‰
′
″
‹
›
※
‿
⁄
ⁱ
⁺
ⁿ
₁
₂
₃
₄
€
℃
№
™
ⅰ
ⅱ
ⅲ
ⅳ
ⅴ
←
↑
→
↓
↔
↗
↘
⇒
∀
−
∕
∙
√
∞
∟
∠
∣
∥
∩
∮
∶
∼
∽
≈
≒
≡
≤
≥
≦
≧
≪
≫
⊙
⋅
⋈
⋯
⌒
①
②
③
④
⑤
⑥
⑦
⑧
⑨
⑩
⑴
⑵
⑶
⑷
⑸
⒈
⒉
⒊
⒋
ⓒ
ⓔ
ⓘ
─
━
│
┃
┅
┆
┊
┌
└
├
┣
═
║
╚
╞
╠
╭
╮
╯
╰
╱
╳
▂
▃
▅
▇
█
▉
▋
▌
▍
▎
■
□
▪
▫
▬
▲
△
▶
►
▼
▽
◆
◇
○
◎
●
◕
◠
◢
◤
☀
★
☆
☕
☞
☺
☼
♀
♂
♠
♡
♣
♥
♦
♪
♫
♬
✈
✔
✕
✖
✦
✨
✪
✰
✿
❀
❤
➜
➤
⦿
、
。
〃
々
〇
〈
〉
《
》
「
」
『
』
【
】
〓
〔
〕
〖
〗
〜
〝
〞
ぁ
あ
ぃ
い
う
ぇ
え
お
か
き
く
け
こ
さ
し
す
せ
そ
た
ち
っ
つ
て
と
な
に
ぬ
ね
の
は
ひ
ふ
へ
ほ
ま
み
む
め
も
ゃ
や
ゅ
ゆ
ょ
よ
ら
り
る
れ
ろ
わ
を
ん
゜
ゝ
ァ
ア
ィ
イ
ゥ
ウ
ェ
エ
ォ
オ
カ
キ
ク
ケ
コ
サ
シ
ス
セ
ソ
タ
チ
ッ
ツ
テ
ト
ナ
ニ
ヌ
ネ
ノ
ハ
ヒ
フ
ヘ
ホ
マ
ミ
ム
メ
モ
ャ
ヤ
ュ
ユ
ョ
ヨ
ラ
リ
ル
レ
ロ
ワ
ヲ
ン
ヶ
・
ー
ヽ
ㄅ
ㄆ
ㄇ
ㄉ
ㄋ
ㄌ
ㄍ
ㄎ
ㄏ
ㄒ
ㄚ
ㄛ
ㄞ
ㄟ
ㄢ
ㄤ
ㄥ
ㄧ
ㄨ
ㆍ
㈦
㊣
㎡
㗎
一
丁
七
万
丈
三
上
下
不
与
丐
丑
专
且
丕
世
丘
丙
业
丛
东
丝
丞
丟
両
丢
两
严
並
丧
丨
个
丫
中
丰
串
临
丶
丸
丹
为
主
丼
丽
举
丿
乂
乃
久
么
义
之
乌
乍
乎
乏
乐
乒
乓
乔
乖
乗
乘
乙
乜
九
乞
也
习
乡
书
乩
买
乱
乳
乾
亀
亂
了
予
争
事
二
于
亏
云
互
五
井
亘
亙
亚
些
亜
亞
亟
亡
亢
交
亥
亦
产
亨
亩
享
京
亭
亮
亲
亳
亵
人
亿
什
仁
仃
仄
仅
仆
仇
今
介
仍
从
仏
仑
仓
仔
仕
他
仗
付
仙
仝
仞
仟
代
令
以
仨
仪
们
仮
仰
仲
件
价
任
份
仿
企
伉
伊
伍
伎
伏
伐
休
伕
众
优
伙
会
伝
伞
伟
传
伢
伤
伦
伪
伫
伯
估
伴
伶
伸
伺
似
伽
佃
但
佇
佈
位
低
住
佐
佑
体
佔
何
佗
佘
余
佚
佛
作
佝
佞
佟
你
佢
佣
佤
佥
佩
佬
佯
佰
佳
併
佶
佻
佼
使
侃
侄
來
侈
例
侍
侏
侑
侖
侗
供
依
侠
価
侣
侥
侦
侧
侨
侬
侮
侯
侵
侶
侷
便
係
促
俄
俊
俎
俏
俐
俑
俗
俘
俚
保
俞
俟
俠
信
俨
俩
俪
俬
俭
修
俯
俱
俳
俸
俺
俾
倆
倉
個
倌
倍
倏
們
倒
倔
倖
倘
候
倚
倜
借
倡
値
倦
倩
倪
倫
倬
倭
倶
债
值
倾
偃
假
偈
偉
偌
偎
偏
偕
做
停
健
側
偵
偶
偷
偻
偽
偿
傀
傅
傍
傑
傘
備
傚
傢
傣
傥
储
傩
催
傭
傲
傳
債
傷
傻
傾
僅
働
像
僑
僕
僖
僚
僥
僧
僭
僮
僱
僵
價
僻
儀
儂
億
儆
儉
儋
儒
儕
儘
償
儡
優
儲
儷
儼
儿
兀
允
元
兄
充
兆
兇
先
光
克
兌
免
児
兑
兒
兔
兖
党
兜
兢
入
內
全
兩
八
公
六
兮
兰
共
兲
关
兴
兵
其
具
典
兹
养
兼
兽
冀
内
円
冇
冈
冉
冊
册
再
冏
冒
冕
冗
写
军
农
冠
冢
冤
冥
冨
冪
冬
冯
冰
冲
决
况
冶
冷
冻
冼
冽
冾
净
凄
准
凇
凈
凉
凋
凌
凍
减
凑
凛
凜
凝
几
凡
凤
処
凪
凭
凯
凰
凱
凳
凶
凸
凹
出
击
函
凿
刀
刁
刃
分
切
刈
刊
刍
刎
刑
划
列
刘
则
刚
创
初
删
判
別
刨
利
刪
别
刮
到
制
刷
券
刹
刺
刻
刽
剁
剂
剃
則
剉
削
剋
剌
前
剎
剐
剑
剔
剖
剛
剜
剝
剣
剤
剥
剧
剩
剪
副
割
創
剷
剽
剿
劃
劇
劈
劉
劊
劍
劏
劑
力
劝
办
功
加
务
劣
动
助
努
劫
劭
励
劲
劳
労
劵
効
劾
势
勁
勃
勇
勉
勋
勐
勒
動
勖
勘
務
勛
勝
勞
募
勢
勤
勧
勳
勵
勸
勺
勻
勾
勿
匀
包
匆
匈
匍
匐
匕
化
北
匙
匝
匠
匡
匣
匪
匮
匯
匱
匹
区
医
匾
匿
區
十
千
卅
升
午
卉
半
卍
华
协
卑
卒
卓
協
单
卖
南
単
博
卜
卞
卟
占
卡
卢
卤
卦
卧
卫
卮
卯
印
危
即
却
卵
卷
卸
卻
卿
厂
厄
厅
历
厉
压
厌
厕
厘
厚
厝
原
厢
厥
厦
厨
厩
厭
厮
厲
厳
去
县
叁
参
參
又
叉
及
友
双
反
収
发
叔
取
受
变
叙
叛
叟
叠
叡
叢
口
古
句
另
叨
叩
只
叫
召
叭
叮
可
台
叱
史
右
叵
叶
号
司
叹
叻
叼
叽
吁
吃
各
吆
合
吉
吊
吋
同
名
后
吏
吐
向
吒
吓
吕
吖
吗
君
吝
吞
吟
吠
吡
否
吧
吨
吩
含
听
吭
吮
启
吱
吳
吴
吵
吶
吸
吹
吻
吼
吽
吾
呀
呂
呃
呆
呈
告
呋
呎
呐
呓
呕
呗
员
呛
呜
呢
呤
呦
周
呱
呲
味
呵
呷
呸
呻
呼
命
咀
咁
咂
咄
咆
咋
和
咎
咏
咐
咒
咔
咕
咖
咗
咘
咙
咚
咛
咣
咤
咦
咧
咨
咩
咪
咫
咬
咭
咯
咱
咲
咳
咸
咻
咽
咿
哀
品
哂
哄
哆
哇
哈
哉
哋
哌
响
哎
哏
哐
哑
哒
哔
哗
哟
員
哥
哦
哧
哨
哩
哪
哭
哮
哲
哺
哼
哽
唁
唄
唆
唇
唉
唏
唐
唑
唔
唠
唤
唧
唬
售
唯
唰
唱
唳
唷
唸
唾
啃
啄
商
啉
啊
問
啓
啕
啖
啜
啞
啟
啡
啤
啥
啦
啧
啪
啫
啬
啮
啰
啱
啲
啵
啶
啷
啸
啻
啼
啾
喀
喂
喃
善
喆
喇
喉
喊
喋
喎
喏
喔
喘
喙
喚
喜
喝
喟
喧
喪
喫
喬
單
喰
喱
喲
喳
喵
営
喷
喹
喺
喻
喽
嗅
嗆
嗇
嗎
嗑
嗒
嗓
嗔
嗖
嗚
嗜
嗝
嗟
嗡
嗣
嗤
嗦
嗨
嗪
嗬
嗯
嗰
嗲
嗳
嗶
嗷
嗽
嘀
嘅
嘆
嘈
嘉
嘌
嘍
嘎
嘔
嘖
嘗
嘘
嘚
嘛
嘜
嘞
嘟
嘢
嘣
嘤
嘧
嘩
嘭
嘮
嘯
嘰
嘱
嘲
嘴
嘶
嘸
嘹
嘻
嘿
噁
噌
噎
噓
噔
噗
噙
噜
噠
噢
噤
器
噩
噪
噬
噱
噴
噶
噸
噹
噻
噼
嚀
嚇
嚎
嚏
嚐
嚓
嚕
嚟
嚣
嚥
嚨
嚮
嚴
嚷
嚼
囂
囉
囊
囍
囑
囔
囗
囚
四
囝
回
囟
因
囡
团
団
囤
囧
囪
囫
园
困
囱
囲
図
围
囹
固
国
图
囿
圃
圄
圆
圈
國
圍
圏
園
圓
圖
團
圜
土
圣
圧
在
圩
圭
地
圳
场
圻
圾
址
坂
均
坊
坍
坎
坏
坐
坑
块
坚
坛
坝
坞
坟
坠
坡
坤
坦
坨
坪
坯
坳
坵
坷
垂
垃
垄
型
垒
垚
垛
垠
垢
垣
垦
垩
垫
垭
垮
垵
埂
埃
埋
城
埔
埕
埗
域
埠
埤
埵
執
埸
培
基
埼
堀
堂
堃
堅
堆
堇
堑
堕
堙
堡
堤
堪
堯
堰
報
場
堵
堺
堿
塊
塌
塑
塔
塗
塘
塚
塞
塢
塩
填
塬
塭
塵
塾
墀
境
墅
墉
墊
墒
墓
増
墘
墙
墜
增
墟
墨
墩
墮
墳
墻
墾
壁
壅
壆
壇
壊
壑
壓
壕
壘
壞
壟
壢
壤
壩
士
壬
壮
壯
声
売
壳
壶
壹
壺
壽
处
备
変
复
夏
夔
夕
外
夙
多
夜
够
夠
夢
夥
大
天
太
夫
夭
央
夯
失
头
夷
夸
夹
夺
夾
奂
奄
奇
奈
奉
奋
奎
奏
奐
契
奔
奕
奖
套
奘
奚
奠
奢
奥
奧
奪
奬
奮
女
奴
奶
奸
她
好
如
妃
妄
妆
妇
妈
妊
妍
妒
妓
妖
妘
妙
妝
妞
妣
妤
妥
妨
妩
妪
妮
妲
妳
妹
妻
妾
姆
姉
姊
始
姍
姐
姑
姒
姓
委
姗
姚
姜
姝
姣
姥
姦
姨
姪
姫
姬
姹
姻
姿
威
娃
娄
娅
娆
娇
娉
娑
娓
娘
娛
娜
娟
娠
娣
娥
娩
娱
娲
娴
娶
娼
婀
婁
婆
婉
婊
婕
婚
婢
婦
婧
婪
婭
婴
婵
婶
婷
婺
婿
媒
媚
媛
媞
媧
媲
媳
媽
媾
嫁
嫂
嫉
嫌
嫑
嫔
嫖
嫘
嫚
嫡
嫣
嫦
嫩
嫲
嫵
嫻
嬅
嬉
嬌
嬗
嬛
嬢
嬤
嬪
嬰
嬴
嬷
嬸
嬿
孀
孃
子
孑
孔
孕
孖
字
存
孙
孚
孛
孜
孝
孟
孢
季
孤
学
孩
孪
孫
孬
孰
孱
孳
孵
學
孺
孽
孿
宁
它
宅
宇
守
安
宋
完
宏
宓
宕
宗
官
宙
定
宛
宜
宝
实
実
宠
审
客
宣
室
宥
宦
宪
宫
宮
宰
害
宴
宵
家
宸
容
宽
宾
宿
寂
寄
寅
密
寇
富
寐
寒
寓
寛
寝
寞
察
寡
寢
寥
實
寧
寨
審
寫
寬
寮
寰
寵
寶
寸
对
寺
寻
导
対
寿
封
専
射
将
將
專
尉
尊
尋
對
導
小
少
尔
尕
尖
尘
尚
尝
尤
尧
尬
就
尴
尷
尸
尹
尺
尻
尼
尽
尾
尿
局
屁
层
屄
居
屆
屈
屉
届
屋
屌
屍
屎
屏
屐
屑
展
屜
属
屠
屡
屢
層
履
屬
屯
山
屹
屿
岀
岁
岂
岌
岐
岑
岔
岖
岗
岘
岙
岚
岛
岡
岩
岫
岬
岭
岱
岳
岷
岸
峇
峋
峒
峙
峡
峤
峥
峦
峨
峪
峭
峯
峰
峴
島
峻
峽
崁
崂
崆
崇
崎
崑
崔
崖
崗
崙
崛
崧
崩
崭
崴
崽
嵇
嵊
嵋
嵌
嵐
嵘
嵩
嵬
嵯
嶂
嶄
嶇
嶋
嶙
嶺
嶼
嶽
巅
巍
巒
巔
巖
川
州
巡
巢
工
左
巧
巨
巩
巫
差
己
已
巳
巴
巷
巻
巽
巾
巿
币
市
布
帅
帆
师
希
帐
帑
帕
帖
帘
帚
帛
帜
帝
帥
带
帧
師
席
帮
帯
帰
帳
帶
帷
常
帼
帽
幀
幂
幄
幅
幌
幔
幕
幟
幡
幢
幣
幫
干
平
年
并
幸
幹
幺
幻
幼
幽
幾
广
庁
広
庄
庆
庇
床
序
庐
库
应
底
庖
店
庙
庚
府
庞
废
庠
度
座
庫
庭
庵
庶
康
庸
庹
庾
廁
廂
廃
廈
廉
廊
廓
廖
廚
廝
廟
廠
廢
廣
廬
廳
延
廷
建
廿
开
弁
异
弃
弄
弈
弊
弋
式
弑
弒
弓
弔
引
弗
弘
弛
弟
张
弥
弦
弧
弩
弭
弯
弱
張
強
弹
强
弼
弾
彅
彆
彈
彌
彎
归
当
录
彗
彙
彝
形
彤
彥
彦
彧
彩
彪
彫
彬
彭
彰
影
彷
役
彻
彼
彿
往
征
径
待
徇
很
徉
徊
律
後
徐
徑
徒
従
徕
得
徘
徙
徜
從
徠
御
徨
復
循
徬
微
徳
徴
徵
德
徹
徼
徽
心
必
忆
忌
忍
忏
忐
忑
忒
忖
志
忘
忙
応
忠
忡
忤
忧
忪
快
忱
念
忻
忽
忿
怀
态
怂
怅
怆
怎
怏
怒
怔
怕
怖
怙
怜
思
怠
怡
急
怦
性
怨
怪
怯
怵
总
怼
恁
恃
恆
恋
恍
恐
恒
恕
恙
恚
恢
恣
恤
恥
恨
恩
恪
恫
恬
恭
息
恰
恳
恵
恶
恸
恺
恻
恼
恿
悄
悅
悉
悌
悍
悔
悖
悚
悟
悠
患
悦
您
悩
悪
悬
悯
悱
悲
悴
悵
悶
悸
悻
悼
悽
情
惆
惇
惊
惋
惑
惕
惘
惚
惜
惟
惠
惡
惦
惧
惨
惩
惫
惬
惭
惮
惯
惰
惱
想
惴
惶
惹
惺
愁
愆
愈
愉
愍
意
愕
愚
愛
愜
感
愣
愤
愧
愫
愷
愿
慄
慈
態
慌
慎
慑
慕
慘
慚
慟
慢
慣
慧
慨
慫
慮
慰
慳
慵
慶
慷
慾
憂
憊
憋
憎
憐
憑
憔
憚
憤
憧
憨
憩
憫
憬
憲
憶
憾
懂
懇
懈
應
懊
懋
懑
懒
懦
懲
懵
懶
懷
懸
懺
懼
懾
懿
戀
戈
戊
戌
戍
戎
戏
成
我
戒
戕
或
战
戚
戛
戟
戡
戦
截
戬
戮
戰
戲
戳
戴
戶
户
戸
戻
戾
房
所
扁
扇
扈
扉
手
才
扎
扑
扒
打
扔
払
托
扛
扣
扦
执
扩
扪
扫
扬
扭
扮
扯
扰
扱
扳
扶
批
扼
找
承
技
抄
抉
把
抑
抒
抓
投
抖
抗
折
抚
抛
抜
択
抟
抠
抡
抢
护
报
抨
披
抬
抱
抵
抹
押
抽
抿
拂
拄
担
拆
拇
拈
拉
拋
拌
拍
拎
拐
拒
拓
拔
拖
拗
拘
拙
拚
招
拜
拟
拡
拢
拣
拥
拦
拧
拨
择
括
拭
拮
拯
拱
拳
拴
拷
拼
拽
拾
拿
持
挂
指
挈
按
挎
挑
挖
挙
挚
挛
挝
挞
挟
挠
挡
挣
挤
挥
挨
挪
挫
振
挲
挹
挺
挽
挾
捂
捅
捆
捉
捋
捌
捍
捎
捏
捐
捕
捞
损
捡
换
捣
捧
捨
捩
据
捱
捲
捶
捷
捺
捻
掀
掂
掃
掇
授
掉
掌
掏
掐
排
掖
掘
掙
掛
掠
採
探
掣
接
控
推
掩
措
掬
掰
掲
掳
掴
掷
掸
掺
揀
揃
揄
揆
揉
揍
描
提
插
揖
揚
換
握
揣
揩
揪
揭
揮
援
揶
揸
揹
揽
搀
搁
搂
搅
損
搏
搐
搓
搔
搖
搗
搜
搞
搡
搪
搬
搭
搵
搶
携
搽
摀
摁
摄
摆
摇
摈
摊
摒
摔
摘
摞
摟
摧
摩
摯
摳
摸
摹
摺
摻
撂
撃
撅
撇
撈
撐
撑
撒
撓
撕
撚
撞
撤
撥
撩
撫
撬
播
撮
撰
撲
撵
撷
撸
撻
撼
撿
擀
擁
擂
擄
擅
擇
擊
擋
操
擎
擒
擔
擘
據
擞
擠
擡
擢
擦
擬
擰
擱
擲
擴
擷
擺
擼
擾
攀
攏
攒
攔
攘
攙
攜
攝
攞
攢
攣
攤
攥
攪
攫
攬
支
收
攸
改
攻
放
政
故
效
敌
敍
敎
敏
救
敕
敖
敗
敘
教
敛
敝
敞
敢
散
敦
敬
数
敲
整
敵
敷
數
斂
斃
文
斋
斌
斎
斐
斑
斓
斗
料
斛
斜
斟
斡
斤
斥
斧
斩
斫
斬
断
斯
新
斷
方
於
施
旁
旃
旅
旋
旌
旎
族
旖
旗
无
既
日
旦
旧
旨
早
旬
旭
旮
旱
时
旷
旺
旻
昀
昂
昆
昇
昉
昊
昌
明
昏
易
昔
昕
昙
星
映
春
昧
昨
昭
是
昱
昴
昵
昶
昼
显
晁
時
晃
晉
晋
晌
晏
晒
晓
晔
晕
晖
晗
晚
晝
晞
晟
晤
晦
晨
晩
普
景
晰
晴
晶
晷
智
晾
暂
暄
暇
暈
暉
暌
暐
暑
暖
暗
暝
暢
暧
暨
暫
暮
暱
暴
暸
暹
曄
曆
曇
曉
曖
曙
曜
曝
曠
曦
曬
曰
曲
曳
更
書
曹
曼
曾
替
最
會
月
有
朋
服
朐
朔
朕
朗
望
朝
期
朦
朧
木
未
末
本
札
朮
术
朱
朴
朵
机
朽
杀
杂
权
杆
杈
杉
李
杏
材
村
杓
杖
杜
杞
束
杠
条
来
杨
杭
杯
杰
東
杳
杵
杷
杼
松
板
极
构
枇
枉
枋
析
枕
林
枚
果
枝
枢
枣
枪
枫
枭
枯
枰
枱
枳
架
枷
枸
柄
柏
某
柑
柒
染
柔
柘
柚
柜
柞
柠
柢
查
柩
柬
柯
柱
柳
柴
柵
査
柿
栀
栃
栄
栅
标
栈
栉
栋
栎
栏
树
栓
栖
栗
校
栩
株
样
核
根
格
栽
栾
桀
桁
桂
桃
桅
框
案
桉
桌
桎
桐
桑
桓
桔
桜
桠
桡
桢
档
桥
桦
桧
桨
桩
桶
桿
梁
梅
梆
梏
梓
梗
條
梟
梢
梦
梧
梨
梭
梯
械
梳
梵
梶
检
棂
棄
棉
棋
棍
棒
棕
棗
棘
棚
棟
棠
棣
棧
森
棱
棲
棵
棹
棺
椁
椅
椋
植
椎
椒
検
椪
椭
椰
椹
椽
椿
楂
楊
楓
楔
楚
楝
楞
楠
楣
楨
楫
業
楮
極
楷
楸
楹
楼
楽
概
榄
榆
榈
榉
榔
榕
榖
榛
榜
榨
榫
榭
榮
榱
榴
榷
榻
槁
槃
構
槌
槍
槎
槐
槓
様
槛
槟
槤
槭
槲
槳
槻
槽
槿
樁
樂
樊
樑
樓
標
樞
樟
模
樣
権
横
樫
樯
樱
樵
樸
樹
樺
樽
樾
橄
橇
橋
橐
橘
橙
機
橡
橢
橫
橱
橹
橼
檀
檄
檎
檐
檔
檗
檜
檢
檬
檯
檳
檸
檻
櫃
櫚
櫛
櫥
櫸
櫻
欄
權
欒
欖
欠
次
欢
欣
欧
欲
欸
欺
欽
款
歆
歇
歉
歌
歎
歐
歓
歙
歛
歡
止
正
此
步
武
歧
歩
歪
歯
歲
歳
歴
歷
歸
歹
死
歼
殁
殃
殆
殇
殉
殊
残
殒
殓
殖
殘
殞
殡
殤
殭
殯
殲
殴
段
殷
殺
殼
殿
毀
毁
毂
毅
毆
毋
母
毎
每
毒
毓
比
毕
毗
毘
毙
毛
毡
毫
毯
毽
氈
氏
氐
民
氓
气
氖
気
氙
氛
氟
氡
氢
氣
氤
氦
氧
氨
氪
氫
氮
氯
氰
氲
水
氷
永
氹
氾
汀
汁
求
汆
汇
汉
汎
汐
汕
汗
汙
汛
汝
汞
江
池
污
汤
汨
汩
汪
汰
汲
汴
汶
汹
決
汽
汾
沁
沂
沃
沅
沈
沉
沌
沏
沐
沒
沓
沖
沙
沛
沟
没
沢
沣
沥
沦
沧
沪
沫
沭
沮
沱
河
沸
油
治
沼
沽
沾
沿
況
泄
泉
泊
泌
泓
法
泗
泛
泞
泠
泡
波
泣
泥
注
泪
泫
泮
泯
泰
泱
泳
泵
泷
泸
泻
泼
泽
泾
洁
洄
洋
洒
洗
洙
洛
洞
津
洩
洪
洮
洱
洲
洵
洶
洸
洹
活
洼
洽
派
流
浃
浄
浅
浆
浇
浊
测
济
浏
浑
浒
浓
浔
浙
浚
浜
浣
浦
浩
浪
浬
浮
浯
浴
海
浸
涂
涅
涇
消
涉
涌
涎
涓
涔
涕
涙
涛
涝
涞
涟
涠
涡
涣
涤
润
涧
涨
涩
涪
涮
涯
液
涵
涸
涼
涿
淀
淄
淅
淆
淇
淋
淌
淑
淒
淖
淘
淙
淚
淞
淡
淤
淦
淨
淩
淪
淫
淬
淮
深
淳
淵
混
淹
淺
添
淼
清
済
渉
渊
渋
渍
渎
渐
渔
渗
渙
渚
減
渝
渠
渡
渣
渤
渥
渦
温
測
渭
港
渲
渴
游
渺
渾
湃
湄
湊
湍
湖
湘
湛
湟
湧
湫
湮
湯
湳
湾
湿
満
溃
溅
溉
溏
源
準
溜
溝
溟
溢
溥
溧
溪
溫
溯
溱
溴
溶
溺
溼
滁
滂
滄
滅
滇
滋
滌
滑
滓
滔
滕
滙
滚
滝
滞
滟
满
滢
滤
滥
滦
滨
滩
滬
滯
滲
滴
滷
滸
滾
滿
漁
漂
漆
漉
漏
漓
演
漕
漠
漢
漣
漩
漪
漫
漬
漯
漱
漲
漳
漸
漾
漿
潆
潇
潋
潍
潑
潔
潘
潛
潜
潞
潟
潢
潤
潦
潧
潭
潮
潰
潴
潸
潺
潼
澀
澄
澆
澈
澍
澎
澗
澜
澡
澤
澧
澱
澳
澹
激
濁
濂
濃
濑
濒
濕
濘
濛
濟
濠
濡
濤
濫
濬
濮
濯
濱
濺
濾
瀅
瀆
瀉
瀋
瀏
瀑
瀕
瀘
瀚
瀛
瀝
瀞
瀟
瀧
瀨
瀬
瀰
瀾
灌
灏
灑
灘
灝
灞
灣
火
灬
灭
灯
灰
灵
灶
灸
灼
災
灾
灿
炀
炁
炅
炉
炊
炎
炒
炔
炕
炖
炙
炜
炫
炬
炭
炮
炯
炳
炷
炸
点
為
炼
炽
烁
烂
烃
烈
烊
烏
烘
烙
烛
烟
烤
烦
烧
烨
烩
烫
烬
热
烯
烷
烹
烽
焉
焊
焕
焖
焗
焘
焙
焚
焜
無
焦
焯
焰
焱
然
焼
煅
煉
煊
煌
煎
煒
煖
煙
煜
煞
煤
煥
煦
照
煨
煩
煮
煲
煸
煽
熄
熊
熏
熒
熔
熙
熟
熠
熨
熬
熱
熵
熹
熾
燁
燃
燄
燈
燉
燊
燎
燒
燔
燕
燙
燜
營
燥
燦
燧
燭
燮
燴
燻
燼
燿
爆
爍
爐
爛
爪
爬
爭
爰
爱
爲
爵
父
爷
爸
爹
爺
爻
爽
爾
牆
片
版
牌
牍
牒
牙
牛
牝
牟
牠
牡
牢
牦
牧
物
牯
牲
牴
牵
特
牺
牽
犀
犁
犄
犊
犍
犒
犢
犧
犬
犯
状
犷
犸
犹
狀
狂
狄
狈
狎
狐
狒
狗
狙
狞
狠
狡
狩
独
狭
狮
狰
狱
狸
狹
狼
狽
猎
猕
猖
猗
猙
猛
猜
猝
猥
猩
猪
猫
猬
献
猴
猶
猷
猾
猿
獄
獅
獎
獐
獒
獗
獠
獣
獨
獭
獰
獲
獵
獷
獸
獺
獻
獼
獾
玄
率
玉
王
玑
玖
玛
玟
玠
玥
玩
玫
玮
环
现
玲
玳
玷
玺
玻
珀
珂
珅
珈
珉
珊
珍
珏
珐
珑
珙
珞
珠
珣
珥
珩
珪
班
珮
珲
珺
現
球
琅
理
琇
琉
琊
琍
琏
琐
琛
琢
琥
琦
琨
琪
琬
琮
琰
琲
琳
琴
琵
琶
琺
琼
瑀
瑁
瑄
瑋
瑕
瑗
瑙
瑚
瑛
瑜
瑞
瑟
瑠
瑣
瑤
瑩
瑪
瑯
瑰
瑶
瑾
璀
璁
璃
璇
璉
璋
璎
璐
璜
璞
璟
璧
璨
環
璽
璿
瓊
瓏
瓒
瓜
瓢
瓣
瓤
瓦
瓮
瓯
瓴
瓶
瓷
甄
甌
甕
甘
甙
甚
甜
生
產
産
甥
甦
用
甩
甫
甬
甭
甯
田
由
甲
申
电
男
甸
町
画
甾
畀
畅
界
畏
畑
畔
留
畜
畝
畢
略
畦
番
畫
異
畲
畳
畴
當
畸
畹
畿
疆
疇
疊
疏
疑
疔
疖
疗
疙
疚
疝
疟
疡
疣
疤
疥
疫
疮
疯
疱
疲
疳
疵
疸
疹
疼
疽
疾
痂
病
症
痈
痉
痊
痍
痒
痔
痕
痘
痙
痛
痞
痠
痢
痣
痤
痧
痨
痪
痫
痰
痱
痴
痹
痺
痼
痿
瘀
瘁
瘋
瘍
瘓
瘘
瘙
瘟
瘠
瘡
瘢
瘤
瘦
瘧
瘩
瘪
瘫
瘴
瘸
瘾
療
癇
癌
癒
癖
癜
癞
癡
癢
癣
癥
癫
癬
癮
癱
癲
癸
発
登
發
白
百
皂
的
皆
皇
皈
皋
皎
皑
皓
皖
皙
皚
皮
皰
皱
皴
皺
皿
盂
盃
盅
盆
盈
益
盎
盏
盐
监
盒
盔
盖
盗
盘
盛
盜
盞
盟
盡
監
盤
盥
盧
盪
目
盯
盱
盲
直
相
盹
盼
盾
省
眈
眉
看
県
眙
眞
真
眠
眦
眨
眩
眯
眶
眷
眸
眺
眼
眾
着
睁
睇
睏
睐
睑
睛
睜
睞
睡
睢
督
睥
睦
睨
睪
睫
睬
睹
睽
睾
睿
瞄
瞅
瞇
瞋
瞌
瞎
瞑
瞒
瞓
瞞
瞟
瞠
瞥
瞧
瞩
瞪
瞬
瞭
瞰
瞳
瞻
瞼
瞿
矇
矍
矗
矚
矛
矜
矢
矣
知
矩
矫
短
矮
矯
石
矶
矽
矾
矿
码
砂
砌
砍
砒
研
砖
砗
砚
砝
砣
砥
砧
砭
砰
砲
破
砷
砸
砺
砼
砾
础
硅
硐
硒
硕
硝
硫
硬
确
硯
硼
碁
碇
碉
碌
碍
碎
碑
碓
碗
碘
碚
碛
碟
碣
碧
碩
碰
碱
碳
碴
確
碼
碾
磁
磅
磊
磋
磐
磕
磚
磡
磨
磬
磯
磲
磷
磺
礁
礎
礙
礡
礦
礪
礫
礴
示
礼
社
祀
祁
祂
祇
祈
祉
祎
祐
祕
祖
祗
祚
祛
祜
祝
神
祟
祠
祢
祥
票
祭
祯
祷
祸
祺
祿
禀
禁
禄
禅
禍
禎
福
禛
禦
禧
禪
禮
禱
禹
禺
离
禽
禾
禿
秀
私
秃
秆
秉
秋
种
科
秒
秘
租
秣
秤
秦
秧
秩
秭
积
称
秸
移
秽
稀
稅
程
稍
税
稔
稗
稚
稜
稞
稟
稠
稣
種
稱
稲
稳
稷
稹
稻
稼
稽
稿
穀
穂
穆
穌
積
穎
穗
穢
穩
穫
穴
究
穷
穹
空
穿
突
窃
窄
窈
窍
窑
窒
窓
窕
窖
窗
窘
窜
窝
窟
窠
窥
窦
窨
窩
窪
窮
窯
窺
窿
竄
竅
竇
竊
立
竖
站
竜
竞
竟
章
竣
童
竭
端
競
竹
竺
竽
竿
笃
笆
笈
笋
笏
笑
笔
笙
笛
笞
笠
符
笨
第
笹
笺
笼
筆
等
筊
筋
筍
筏
筐
筑
筒
答
策
筛
筝
筠
筱
筲
筵
筷
筹
签
简
箇
箋
箍
箏
箐
箔
箕
算
箝
管
箩
箫
箭
箱
箴
箸
節
篁
範
篆
篇
築
篑
篓
篙
篝
篠
篡
篤
篩
篪
篮
篱
篷
簇
簌
簍
簡
簦
簧
簪
簫
簷
簸
簽
簾
簿
籁
籃
籌
籍
籐
籟
籠
籤
籬
籮
籲
米
类
籼
籽
粄
粉
粑
粒
粕
粗
粘
粟
粤
粥
粧
粪
粮
粱
粲
粳
粵
粹
粼
粽
精
粿
糅
糊
糍
糕
糖
糗
糙
糜
糞
糟
糠
糧
糬
糯
糰
糸
系
糾
紀
紂
約
紅
紉
紊
紋
納
紐
紓
純
紗
紘
紙
級
紛
紜
素
紡
索
紧
紫
紮
累
細
紳
紹
紺
終
絃
組
絆
経
結
絕
絞
絡
絢
給
絨
絮
統
絲
絳
絵
絶
絹
綁
綏
綑
經
継
続
綜
綠
綢
綦
綫
綬
維
綱
網
綴
綵
綸
綺
綻
綽
綾
綿
緊
緋
総
緑
緒
緘
線
緝
緞
締
緣
編
緩
緬
緯
練
緹
緻
縁
縄
縈
縛
縝
縣
縫
縮
縱
縴
縷
總
績
繁
繃
繆
繇
繋
織
繕
繚
繞
繡
繩
繪
繫
繭
繳
繹
繼
繽
纂
續
纍
纏
纓
纔
纖
纜
纠
红
纣
纤
约
级
纨
纪
纫
纬
纭
纯
纰
纱
纲
纳
纵
纶
纷
纸
纹
纺
纽
纾
线
绀
练
组
绅
细
织
终
绊
绍
绎
经
绑
绒
结
绔
绕
绘
给
绚
绛
络
绝
绞
统
绡
绢
绣
绥
绦
继
绩
绪
绫
续
绮
绯
绰
绳
维
绵
绶
绷
绸
绻
综
绽
绾
绿
缀
缄
缅
缆
缇
缈
缉
缎
缓
缔
缕
编
缘
缙
缚
缜
缝
缠
缢
缤
缥
缨
缩
缪
缭
缮
缰
缱
缴
缸
缺
缽
罂
罄
罌
罐
网
罔
罕
罗
罚
罡
罢
罩
罪
置
罰
署
罵
罷
罹
羁
羅
羈
羊
羌
美
羔
羚
羞
羟
羡
羣
群
羥
羧
羨
義
羯
羲
羸
羹
羽
羿
翁
翅
翊
翌
翎
習
翔
翘
翟
翠
翡
翦
翩
翰
翱
翳
翹
翻
翼
耀
老
考
耄
者
耆
耋
而
耍
耐
耒
耕
耗
耘
耙
耦
耨
耳
耶
耷
耸
耻
耽
耿
聂
聆
聊
聋
职
聒
联
聖
聘
聚
聞
聪
聯
聰
聲
聳
聴
聶
職
聽
聾
聿
肃
肄
肅
肆
肇
肉
肋
肌
肏
肓
肖
肘
肚
肛
肝
肠
股
肢
肤
肥
肩
肪
肮
肯
肱
育
肴
肺
肽
肾
肿
胀
胁
胃
胄
胆
背
胍
胎
胖
胚
胛
胜
胝
胞
胡
胤
胥
胧
胫
胭
胯
胰
胱
胳
胴
胶
胸
胺
能
脂
脅
脆
脇
脈
脉
脊
脍
脏
脐
脑
脓
脖
脘
脚
脛
脣
脩
脫
脯
脱
脲
脳
脸
脹
脾
腆
腈
腊
腋
腌
腎
腐
腑
腓
腔
腕
腥
腦
腩
腫
腭
腮
腰
腱
腳
腴
腸
腹
腺
腻
腼
腾
腿
膀
膈
膊
膏
膑
膘
膚
膛
膜
膝
膠
膦
膨
膩
膳
膺
膻
膽
膾
膿
臀
臂
臃
臆
臉
臊
臍
臓
臘
臟
臣
臥
臧
臨
自
臬
臭
至
致
臺
臻
臼
臾
舀
舂
舅
舆
與
興
舉
舊
舌
舍
舎
舐
舒
舔
舖
舗
舛
舜
舞
舟
航
舫
般
舰
舱
舵
舶
舷
舸
船
舺
舾
艇
艋
艘
艙
艦
艮
良
艰
艱
色
艳
艷
艹
艺
艾
节
芃
芈
芊
芋
芍
芎
芒
芙
芜
芝
芡
芥
芦
芩
芪
芫
芬
芭
芮
芯
花
芳
芷
芸
芹
芻
芽
芾
苁
苄
苇
苋
苍
苏
苑
苒
苓
苔
苕
苗
苛
苜
苞
苟
苡
苣
若
苦
苫
苯
英
苷
苹
苻
茁
茂
范
茄
茅
茉
茎
茏
茗
茜
茧
茨
茫
茬
茭
茯
茱
茲
茴
茵
茶
茸
茹
茼
荀
荃
荆
草
荊
荏
荐
荒
荔
荖
荘
荚
荞
荟
荠
荡
荣
荤
荥
荧
荨
荪
荫
药
荳
荷
荸
荻
荼
荽
莅
莆
莉
莊
莎
莒
莓
莖
莘
莞
莠
莢
莧
莪
莫
莱
莲
莴
获
莹
莺
莽
莿
菀
菁
菅
菇
菈
菊
菌
菏
菓
菖
菘
菜
菟
菠
菡
菩
華
菱
菲
菸
菽
萁
萃
萄
萊
萋
萌
萍
萎
萘
萝
萤
营
萦
萧
萨
萩
萬
萱
萵
萸
萼
落
葆
葉
著
葚
葛
葡
董
葦
葩
葫
葬
葭
葯
葱
葳
葵
葷
葺
蒂
蒋
蒐
蒔
蒙
蒜
蒞
蒟
蒡
蒨
蒲
蒸
蒹
蒻
蒼
蒿
蓁
蓄
蓆
蓉
蓋
蓑
蓓
蓖
蓝
蓟
蓦
蓬
蓮
蓼
蓿
蔑
蔓
蔔
蔗
蔘
蔚
蔡
蔣
蔥
蔫
蔬
蔭
蔵
蔷
蔺
蔻
蔼
蔽
蕁
蕃
蕈
蕉
蕊
蕎
蕙
蕤
蕨
蕩
蕪
蕭
蕲
蕴
蕻
蕾
薄
薅
薇
薈
薊
薏
薑
薔
薙
薛
薦
薨
薩
薪
薬
薯
薰
薹
藉
藍
藏
藐
藓
藕
藜
藝
藤
藥
藩
藹
藻
藿
蘆
蘇
蘊
蘋
蘑
蘚
蘭
蘸
蘼
蘿
虎
虏
虐
虑
虔
處
虚
虛
虜
虞
號
虢
虧
虫
虬
虱
虹
虻
虽
虾
蚀
蚁
蚂
蚊
蚌
蚓
蚕
蚜
蚝
蚣
蚤
蚩
蚪
蚯
蚱
蚵
蛀
蛆
蛇
蛊
蛋
蛎
蛐
蛔
蛙
蛛
蛟
蛤
蛭
蛮
蛰
蛳
蛹
蛻
蛾
蜀
蜂
蜃
蜆
蜇
蜈
蜊
蜍
蜒
蜓
蜕
蜗
蜘
蜚
蜜
蜡
蜢
蜥
蜱
蜴
蜷
蜻
蜿
蝇
蝈
蝉
蝌
蝎
蝕
蝗
蝙
蝟
蝠
蝦
蝨
蝴
蝶
蝸
蝼
螂
螃
融
螞
螢
螨
螯
螳
螺
蟀
蟄
蟆
蟋
蟎
蟑
蟒
蟠
蟬
蟲
蟹
蟻
蟾
蠅
蠍
蠔
蠕
蠛
蠟
蠡
蠢
蠣
蠱
蠶
蠹
蠻
血
衄
衅
衆
行
衍
術
衔
街
衙
衛
衝
衞
衡
衢
衣
补
表
衩
衫
衬
衮
衰
衲
衷
衹
衾
衿
袁
袂
袄
袅
袈
袋
袍
袒
袖
袜
袞
袤
袪
被
袭
袱
裁
裂
装
裆
裊
裏
裔
裕
裘
裙
補
裝
裟
裡
裤
裨
裱
裳
裴
裸
裹
製
裾
褂
複
褐
褒
褓
褔
褚
褥
褪
褫
褲
褶
褻
襁
襄
襟
襠
襪
襬
襯
襲
西
要
覃
覆
覇
見
規
覓
視
覚
覦
覧
親
覬
観
覷
覺
覽
觀
见
观
规
觅
视
览
觉
觊
觎
觐
觑
角
觞
解
觥
触
觸
言
訂
計
訊
討
訓
訕
訖
託
記
訛
訝
訟
訣
訥
訪
設
許
訳
訴
訶
診
註
証
詆
詐
詔
評
詛
詞
詠
詡
詢
詣
試
詩
詫
詬
詭
詮
詰
話
該
詳
詹
詼
誅
誇
誉
誌
認
誓
誕
誘
語
誠
誡
誣
誤
誥
誦
誨
說
説
読
誰
課
誹
誼
調
諄
談
請
諏
諒
論
諗
諜
諡
諦
諧
諫
諭
諮
諱
諳
諷
諸
諺
諾
謀
謁
謂
謄
謊
謎
謐
謔
謗
謙
講
謝
謠
謨
謬
謹
謾
譁
證
譎
譏
識
譙
譚
譜
警
譬
譯
議
譲
譴
護
譽
讀
變
讓
讚
讞
计
订
认
讥
讧
讨
让
讪
讫
训
议
讯
记
讲
讳
讴
讶
讷
许
讹
论
讼
讽
设
访
诀
证
诃
评
诅
识
诈
诉
诊
诋
词
诏
译
试
诗
诘
诙
诚
诛
话
诞
诟
诠
诡
询
诣
诤
该
详
诧
诩
诫
诬
语
误
诰
诱
诲
说
诵
诶
请
诸
诺
读
诽
课
诿
谀
谁
调
谄
谅
谆
谈
谊
谋
谌
谍
谎
谏
谐
谑
谒
谓
谔
谕
谗
谘
谙
谚
谛
谜
谟
谢
谣
谤
谥
谦
谧
谨
谩
谪
谬
谭
谯
谱
谲
谴
谶
谷
豁
豆
豇
豈
豉
豊
豌
豎
豐
豔
豚
象
豢
豪
豫
豬
豹
豺
貂
貅
貌
貓
貔
貘
貝
貞
負
財
貢
貧
貨
販
貪
貫
責
貯
貰
貳
貴
貶
買
貸
費
貼
貽
貿
賀
賁
賂
賃
賄
資
賈
賊
賑
賓
賜
賞
賠
賡
賢
賣
賤
賦
質
賬
賭
賴
賺
購
賽
贅
贈
贊
贍
贏
贓
贖
贛
贝
贞
负
贡
财
责
贤
败
账
货
质
贩
贪
贫
贬
购
贮
贯
贰
贱
贲
贴
贵
贷
贸
费
贺
贻
贼
贾
贿
赁
赂
赃
资
赅
赈
赊
赋
赌
赎
赏
赐
赓
赔
赖
赘
赚
赛
赝
赞
赠
赡
赢
赣
赤
赦
赧
赫
赭
走
赳
赴
赵
赶
起
趁
超
越
趋
趕
趙
趟
趣
趨
足
趴
趵
趸
趺
趾
跃
跄
跆
跋
跌
跎
跑
跖
跚
跛
距
跟
跡
跤
跨
跩
跪
路
跳
践
跷
跹
跺
跻
踉
踊
踌
踏
踐
踝
踞
踟
踢
踩
踪
踮
踱
踴
踵
踹
蹂
蹄
蹇
蹈
蹉
蹊
蹋
蹑
蹒
蹙
蹟
蹣
蹤
蹦
蹩
蹬
蹭
蹲
蹴
蹶
蹺
蹼
蹿
躁
躇
躉
躊
躋
躍
躏
躪
身
躬
躯
躲
躺
軀
車
軋
軌
軍
軒
軟
転
軸
軼
軽
軾
較
載
輒
輓
輔
輕
輛
輝
輟
輩
輪
輯
輸
輻
輾
輿
轄
轅
轆
轉
轍
轎
轟
车
轧
轨
轩
转
轭
轮
软
轰
轲
轴
轶
轻
轼
载
轿
较
辄
辅
辆
辇
辈
辉
辊
辍
辐
辑
输
辕
辖
辗
辘
辙
辛
辜
辞
辟
辣
辦
辨
辩
辫
辭
辮
辯
辰
辱
農
边
辺
辻
込
辽
达
迁
迂
迄
迅
过
迈
迎
运
近
返
还
这
进
远
违
连
迟
迢
迤
迥
迦
迩
迪
迫
迭
述
迴
迷
迸
迹
迺
追
退
送
适
逃
逅
逆
选
逊
逍
透
逐
递
途
逕
逗
這
通
逛
逝
逞
速
造
逢
連
逮
週
進
逵
逶
逸
逻
逼
逾
遁
遂
遅
遇
遊
運
遍
過
遏
遐
遑
遒
道
達
違
遗
遙
遛
遜
遞
遠
遢
遣
遥
遨
適
遭
遮
遲
遴
遵
遶
遷
選
遺
遼
遽
避
邀
邁
邂
邃
還
邇
邈
邊
邋
邏
邑
邓
邕
邛
邝
邢
那
邦
邨
邪
邬
邮
邯
邰
邱
邳
邵
邸
邹
邺
邻
郁
郅
郊
郎
郑
郜
郝
郡
郢
郤
郦
郧
部
郫
郭
郴
郵
郷
郸
都
鄂
鄉
鄒
鄔
鄙
鄞
鄢
鄧
鄭
鄰
鄱
鄲
鄺
酉
酊
酋
酌
配
酐
酒
酗
酚
酝
酢
酣
酥
酩
酪
酬
酮
酯
酰
酱
酵
酶
酷
酸
酿
醃
醇
醉
醋
醍
醐
醒
醚
醛
醜
醞
醣
醪
醫
醬
醮
醯
醴
醺
釀
釁
采
釉
释
釋
里
重
野
量
釐
金
釗
釘
釜
針
釣
釦
釧
釵
鈀
鈉
鈍
鈎
鈔
鈕
鈞
鈣
鈦
鈪
鈴
鈺
鈾
鉀
鉄
鉅
鉉
鉑
鉗
鉚
鉛
鉤
鉴
鉻
銀
銃
銅
銑
銓
銖
銘
銜
銬
銭
銮
銳
銷
銹
鋁
鋅
鋒
鋤
鋪
鋰
鋸
鋼
錄
錐
錘
錚
錠
錢
錦
錨
錫
錮
錯
録
錳
錶
鍊
鍋
鍍
鍛
鍥
鍰
鍵
鍺
鍾
鎂
鎊
鎌
鎏
鎔
鎖
鎗
鎚
鎧
鎬
鎮
鎳
鏈
鏖
鏗
鏘
鏞
鏟
鏡
鏢
鏤
鏽
鐘
鐮
鐲
鐳
鐵
鐸
鐺
鑄
鑊
鑑
鑒
鑣
鑫
鑰
鑲
鑼
鑽
鑾
鑿
针
钉
钊
钎
钏
钒
钓
钗
钙
钛
钜
钝
钞
钟
钠
钡
钢
钣
钤
钥
钦
钧
钨
钩
钮
钯
钰
钱
钳
钴
钵
钺
钻
钼
钾
钿
铀
铁
铂
铃
铄
铅
铆
铉
铎
铐
铛
铜
铝
铠
铡
铢
铣
铤
铨
铩
铬
铭
铮
铰
铲
铵
银
铸
铺
链
铿
销
锁
锂
锄
锅
锆
锈
锉
锋
锌
锏
锐
锑
错
锚
锟
锡
锢
锣
锤
锥
锦
锭
键
锯
锰
锲
锵
锹
锺
锻
镀
镁
镂
镇
镉
镌
镍
镐
镑
镕
镖
镗
镛
镜
镣
镭
镯
镰
镳
镶
長
长
門
閃
閉
開
閎
閏
閑
閒
間
閔
閘
閡
関
閣
閥
閨
閩
閱
閲
閹
閻
閾
闆
闇
闊
闌
闍
闔
闕
闖
闘
關
闡
闢
门
闪
闫
闭
问
闯
闰
闲
间
闵
闷
闸
闹
闺
闻
闽
闾
阀
阁
阂
阅
阆
阇
阈
阉
阎
阐
阑
阔
阕
阖
阙
阚
阜
队
阡
阪
阮
阱
防
阳
阴
阵
阶
阻
阿
陀
陂
附
际
陆
陇
陈
陋
陌
降
限
陕
陛
陝
陞
陟
陡
院
陣
除
陨
险
陪
陰
陲
陳
陵
陶
陷
陸
険
陽
隅
隆
隈
隊
隋
隍
階
随
隐
隔
隕
隘
隙
際
障
隠
隣
隧
隨
險
隱
隴
隶
隸
隻
隼
隽
难
雀
雁
雄
雅
集
雇
雉
雋
雌
雍
雎
雏
雑
雒
雕
雖
雙
雛
雜
雞
離
難
雨
雪
雯
雰
雲
雳
零
雷
雹
電
雾
需
霁
霄
霆
震
霈
霉
霊
霍
霎
霏
霑
霓
霖
霜
霞
霧
霭
霰
露
霸
霹
霽
霾
靂
靄
靈
青
靓
靖
静
靚
靛
靜
非
靠
靡
面
靥
靦
革
靳
靴
靶
靼
鞅
鞋
鞍
鞏
鞑
鞘
鞠
鞣
鞦
鞭
韆
韋
韌
韓
韜
韦
韧
韩
韬
韭
音
韵
韶
韻
響
頁
頂
頃
項
順
須
頌
預
頑
頒
頓
頗
領
頜
頡
頤
頫
頭
頰
頷
頸
頹
頻
頼
顆
題
額
顎
顏
顔
願
顛
類
顧
顫
顯
顱
顴
页
顶
顷
项
顺
须
顼
顽
顾
顿
颁
颂
预
颅
领
颇
颈
颉
颊
颌
颍
颐
频
颓
颔
颖
颗
题
颚
颛
颜
额
颞
颠
颡
颢
颤
颦
颧
風
颯
颱
颳
颶
颼
飄
飆
风
飒
飓
飕
飘
飙
飚
飛
飞
食
飢
飨
飩
飪
飯
飲
飼
飽
飾
餃
餅
餉
養
餌
餐
餒
餓
餘
餚
餛
餞
餡
館
餮
餵
餾
饅
饈
饋
饌
饍
饑
饒
饕
饗
饞
饥
饨
饪
饬
饭
饮
饯
饰
饱
饲
饴
饵
饶
饷
饺
饼
饽
饿
馀
馁
馄
馅
馆
馈
馋
馍
馏
馒
馔
首
馗
香
馥
馨
馬
馭
馮
馳
馴
駁
駄
駅
駆
駐
駒
駕
駛
駝
駭
駱
駿
騁
騎
騏
験
騙
騨
騰
騷
驀
驅
驊
驍
驒
驕
驗
驚
驛
驟
驢
驥
马
驭
驮
驯
驰
驱
驳
驴
驶
驷
驸
驹
驻
驼
驾
驿
骁
骂
骄
骅
骆
骇
骈
骊
骋
验
骏
骐
骑
骗
骚
骛
骜
骞
骠
骡
骤
骥
骧
骨
骯
骰
骶
骷
骸
骼
髂
髅
髋
髏
髒
髓
體
髖
高
髦
髪
髮
髯
髻
鬃
鬆
鬍
鬓
鬚
鬟
鬢
鬣
鬥
鬧
鬱
鬼
魁
魂
魄
魅
魇
魍
魏
魔
魘
魚
魯
魷
鮑
鮨
鮪
鮭
鮮
鯉
鯊
鯖
鯛
鯨
鯰
鯽
鰍
鰓
鰭
鰲
鰻
鰾
鱈
鱉
鱔
鱗
鱷
鱸
鱼
鱿
鲁
鲈
鲍
鲑
鲛
鲜
鲟
鲢
鲤
鲨
鲫
鲱
鲲
鲶
鲷
鲸
鳃
鳄
鳅
鳌
鳍
鳕
鳖
鳗
鳝
鳞
鳥
鳩
鳳
鳴
鳶
鴉
鴕
鴛
鴦
鴨
鴻
鴿
鵑
鵜
鵝
鵡
鵬
鵰
鵲
鶘
鶩
鶯
鶴
鷗
鷲
鷹
鷺
鸚
鸞
鸟
鸠
鸡
鸢
鸣
鸥
鸦
鸨
鸪
鸭
鸯
鸳
鸵
鸽
鸾
鸿
鹂
鹃
鹄
鹅
鹈
鹉
鹊
鹌
鹏
鹑
鹕
鹘
鹜
鹞
鹤
鹦
鹧
鹫
鹭
鹰
鹳
鹵
鹹
鹼
鹽
鹿
麂
麋
麒
麓
麗
麝
麟
麥
麦
麩
麴
麵
麸
麺
麻
麼
麽
麾
黃
黄
黍
黎
黏
黑
黒
黔
默
黛
黜
黝
點
黠
黨
黯
黴
鼋
鼎
鼐
鼓
鼠
鼬
鼹
鼻
鼾
齁
齊
齋
齐
齒
齡
齢
齣
齦
齿
龄
龅
龈
龊
龋
龌
龍
龐
龔
龕
龙
龚
龛
龜
龟
︰
︱
︶
︿
﹁
﹂
﹍
﹏
﹐
﹑
﹒
﹔
﹕
﹖
﹗
﹙
﹚
﹝
﹞
﹡
﹣
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
。
「
」
、
・
ッ
ー
イ
ク
シ
ス
ト
ノ
フ
ラ
ル
ン
゙
゚
 ̄
¥
👍
🔥
😂
😎
...
yam
10
2017
12
11
2016
20
30
15
06
lofter
##s
2015
by
16
14
18
13
24
17
2014
21
##0
22
19
25
23
com
100
00
05
2013
##a
03
09
08
28
##2
50
01
04
##1
27
02
2012
##3
26
##e
07
##8
##5
##6
##4
##9
##7
29
2011
40
##t
2010
##o
##d
##i
2009
##n
app
www
the
##m
31
##c
##l
##y
##r
##g
2008
60
http
200
qq
##p
80
##f
google
pixnet
90
cookies
tripadvisor
500
##er
##k
35
##h
facebook
2007
2000
70
##b
of
##x
##u
45
300
iphone
32
1000
2006
48
ip
36
in
38
3d
##w
##ing
55
ctrip
##on
##v
33
##の
to
34
400
id
2005
it
37
windows
llc
top
99
42
39
000
led
at
##an
41
51
52
46
49
43
53
44
##z
android
58
and
59
2004
56
vr
##か
5000
2003
47
blogthis
twitter
54
##le
150
ok
2018
57
75
cn
no
ios
##in
##mm
##00
800
on
te
3000
65
2001
360
95
ig
lv
120
##ng
##を
##us
##に
pc
てす
──
600
##te
85
2002
88
##ed
html
ncc
wifi
email
64
blog
is
##10
##て
mail
online
##al
dvd
##ic
studio
##は
##℃
##ia
##と
line
vip
72
##q
98
##ce
##en
for
##is
##ra
##es
##j
usb
net
cp
1999
asia
4g
##cm
diy
new
3c
##お
ta
66
language
vs
apple
tw
86
web
##ne
ipad
62
you
##re
101
68
##tion
ps
de
bt
pony
atm
##2017
1998
67
##ch
ceo
##or
go
##na
av
pro
cafe
96
pinterest
97
63
pixstyleme3c
##ta
more
said
##2016
1997
mp3
700
##ll
nba
jun
##20
92
tv
1995
pm
61
76
nbsp
250
##ie
linux
##ma
cd
110
hd
##17
78
##ion
77
6000
am
##th
##st
94
##se
##et
69
180
gdp
my
105
81
abc
89
flash
79
one
93
1990
1996
##ck
gps
##も
##ly
web885
106
2020
91
##ge
4000
1500
xd
boss
isbn
1994
org
##ry
me
love
##11
0fork
73
##12
3g
##ter
##ar
71
82
##la
hotel
130
1970
pk
83
87
140
ie
##os
##30
##el
74
##50
seo
cpu
##ml
p2p
84
may
##る
sun
tue
internet
cc
posted
youtube
##at
##ン
##man
ii
##ル
##15
abs
nt
pdf
yahoo
ago
1980
##it
news
mac
104
##てす
##me
##り
java
1992
spa
##de
##nt
hk
all
plus
la
1993
##mb
##16
##ve
west
##da
160
air
##い
##ps
から
##to
1989
logo
htc
php
https
fi
momo
##son
sat
##ke
##80
ebd
suv
wi
day
apk
##88
##um
mv
galaxy
wiki
or
brake
##ス
1200
する
this
1991
mon
##こ
❤2017
po
##ない
javascript
life
home
june
##ss
system
900
##ー
##0
pp
1988
world
fb
4k
br
##as
ic
ai
leonardo
safari
##60
live
free
xx
wed
win7
kiehl
##co
lg
o2o
##go
us
235
1949
mm
しい
vfm
kanye
##90
##2015
##id
jr
##ey
123
rss
##sa
##ro
##am
##no
thu
fri
350
##sh
##ki
103
comments
name
##のて
##pe
##ine
max
1987
8000
uber
##mi
##ton
wordpress
office
1986
1985
##ment
107
bd
win10
##ld
##li
gmail
bb
dior
##rs
##ri
##rd
##ます
up
cad
##®
dr
して
read
##21
をお
##io
##99
url
1984
pvc
paypal
show
policy
##40
##ty
##18
with
##★
##01
txt
102
##ba
dna
from
post
mini
ar
taiwan
john
##ga
privacy
agoda
##13
##ny
word
##24
##22
##by
##ur
##hz
1982
##ang
265
cookie
netscape
108
##ka
##~
##ad
house
share
note
ibm
code
hello
nike
sim
survey
##016
1979
1950
wikia
##32
##017
5g
cbc
##tor
##kg
1983
##rt
##14
campaign
store
2500
os
##ct
##ts
##°
170
api
##ns
365
excel
##な
##ao
##ら
##し
~~
##nd
university
163
には
518
##70
##ya
##il
##25
pierre
ipo
0020
897
##23
hotels
##ian
のお
125
years
6606
##ers
##26
high
##day
time
##ay
bug
##line
##く
##す
##be
xp
talk2yam
yamservice
10000
coco
##dy
sony
##ies
1978
microsoft
david
people
##ha
1960
instagram
intel
その
##ot
iso
1981
##va
115
##mo
##land
xxx
man
co
ltxsw
##ation
baby
220
##pa
##ol
1945
7000
tag
450
##ue
msn
##31
oppo
##ト
##ca
control
##om
st
chrome
##ure
##ん
be
##き
lol
##19
した
##bo
240
lady
##100
##way
##から
4600
##ko
##do
##un
4s
corporation
168
##ni
herme
##28
cp
978
##up
##06
ui
##ds
ppt
admin
three
します
bbc
re
128
##48
ca
##015
##35
hp
##ee
tpp
##た
##ive
××
root
##cc
##ました
##ble
##ity
adobe
park
114
et
oled
city
##ex
##ler
##ap
china
##book
20000
view
##ice
global
##km
your
hong
##mg
out
##ms
ng
ebay
##29
menu
ubuntu
##cy
rom
##view
open
ktv
do
server
##lo
if
english
##ね
##5
##oo
1600
##02
step1
kong
club
135
july
inc
1976
mr
hi
##net
touch
##ls
##ii
michael
lcd
##05
##33
phone
james
step2
1300
ios9
##box
dc
##2
##ley
samsung
111
280
pokemon
css
##ent
##les
いいえ
##1
s8
atom
play
bmw
##said
sa
etf
ctrl
♥yoyo♥
##55
2025
##2014
##66
adidas
amazon
1958
##ber
##ner
visa
##77
##der
1800
connectivity
##hi
firefox
109
118
hr
so
style
mark
pop
ol
skip
1975
as
##27
##ir
##61
190
mba
##う
##ai
le
##ver
1900
cafe2017
lte
super
113
129
##ron
amd
like
##☆
are
##ster
we
##sk
paul
data
international
##ft
longchamp
ssd
good
##ート
##ti
reply
##my
↓↓↓
apr
star
##ker
source
136
js
112
get
force
photo
##one
126
##2013
##ow
link
bbs
1972
goods
##lin
python
119
##ip
game
##ics
##ません
blue
##●
520
##45
page
itunes
##03
1955
260
1968
gt
gif
618
##ff
##47
group
くたさい
about
bar
ganji
##nce
music
lee
not
1977
1971
1973
##per
an
faq
comment
##って
days
##ock
116
##bs
1974
1969
v1
player
1956
xbox
sql
fm
f1
139
##ah
210
##lv
##mp
##000
melody
1957
##3
550
17life
199
1966
xml
market
##au
##71
999
##04
what
gl
##95
##age
tips
##68
book
##ting
mysql
can
1959
230
##ung
wonderland
watch
10℃
##ction
9000
mar
mobile
1946
1962
article
##db
part
▲top
party
って
1967
1964
1948
##07
##ore
##op
この
dj
##78
##38
010
main
225
1965
##ong
art
320
ad
134
020
##73
117
pm2
japan
228
##08
ts
1963
##ica
der
sm
##36
2019
##wa
ct
##7
##や
##64
1937
homemesh
search
##85
##れは
##tv
##di
macbook
##9
##くたさい
service
##♥
type
った
750
##ier
##si
##75
##います
##ok
best
##ット
goris
lock
##った
cf
3m
big
##ut
ftp
carol
##vi
10
1961
happy
sd
##ac
122
anti
pe
cnn
iii
1920
138
##ラ
1940
esp
jan
tags
##98
##51
august
vol
##86
154
##™
##fs
##れ
##sion
design
ac
##ム
press
jordan
ppp
that
key
check
##6
##tt
##㎡
1080p
##lt
power
##42
1952
##bc
vivi
##ック
he
133
121
jpg
##rry
201
175
3500
1947
nb
##ted
##rn
しています
1954
usd
##t00
master
##ンク
001
model
##58
al
##09
1953
##34
ram
goo
ても
##ui
127
1930
red
##ary
rpg
item
##pm
##41
270
##za
project
##2012
hot
td
blogabstract
##ger
##62
650
##44
gr2
##します
##m
black
electronic
nfc
year
asus
また
html5
cindy
##hd
m3
132
esc
##od
booking
##53
fed
tvb
##81
##ina
mit
165
##いる
chan
192
distribution
next
になる
peter
bios
steam
cm
1941
にも
pk10
##ix
##65
##91
dec
nasa
##ana
icecat
00z
b1
will
##46
li
se
##ji
##み
##ard
oct
##ain
jp
##ze
##bi
cio
##56
smart
h5
##39
##port
curve
vpn
##nm
##dia
utc
##あり
12345678910
##52
rmvb
chanel
a4
miss
##and
##im
media
who
##63
she
girl
5s
124
vera
##して
class
vivo
king
##フ
##ei
national
ab
1951
5cm
888
145
ipod
ap
1100
5mm
211
ms
2756
##69
mp4
msci
##po
##89
131
mg
index
380
##bit
##out
##zz
##97
##67
158
apec
##8
photoshop
opec
¥799
ては
##96
##tes
##ast
2g
○○
##ール
¥2899
##ling
##よ
##ory
1938
##ical
kitty
content
##43
step3
##cn
win8
155
vc
1400
iphone7
robert
##した
tcl
137
beauty
##87
en
dollars
##ys
##oc
step
pay
yy
a1
##2011
##lly
##ks
##♪
1939
188
download
1944
sep
exe
ph
います
school
gb
center
pr
street
##board
uv
##37
##lan
winrar
##que
##ua
##com
1942
1936
480
gpu
##4
ettoday
fu
tom
##54
##ren
##via
149
##72
b2b
144
##79
##tch
rose
arm
mb
##49
##ial
##nn
nvidia
step4
mvp
00㎡
york
156
##イ
how
cpi
591
2765
gov
kg
joe
##xx
mandy
pa
##ser
copyright
fashion
1935
don
##け
ecu
##ist
##art
erp
wap
have
##lm
talk
##ek
##ning
##if
ch
##ite
video
1943
cs
san
iot
look
##84
##2010
##ku
october
##ux
trump
##hs
##ide
box
141
first
##ins
april
##ight
##83
185
angel
protected
aa
151
162
x1
m2
##fe
##×
##ho
size
143
min
ofo
fun
gomaji
ex
hdmi
food
dns
march
chris
kevin
##のか
##lla
##pp
##ec
ag
ems
6s
720p
##rm
##ham
off
##92
asp
team
fandom
ed
299
▌♥
##ell
info
されています
##82
sina
4066
161
##able
##ctor
330
399
315
dll
rights
ltd
idc
jul
3kg
1927
142
ma
surface
##76
##ク
~~~
304
mall
eps
146
green
##59
map
space
donald
v2
sodu
##light
1931
148
1700
まて
310
reserved
htm
##han
##57
2d
178
mod
##ise
##tions
152
ti
##shi
doc
1933
icp
055
wang
##ram
shopping
aug
##pi
##well
now
wam
b2
からお
##hu
236
1928
##gb
266
f2
##93
153
mix
##ef
##uan
bwl
##plus
##res
core
##ess
tea
5℃
hktvmall
nhk
##ate
list
##ese
301
feb
4m
inn
ての
nov
159
12345
daniel
##ci
pass
##bet
##nk
coffee
202
ssl
airbnb
##ute
fbi
woshipm
skype
ea
cg
sp
##fc
##www
yes
edge
alt
007
##94
fpga
##ght
##gs
iso9001
さい
##ile
##wood
##uo
image
lin
icon
american
##em
1932
set
says
##king
##tive
blogger
##74
なと
256
147
##ox
##zy
##red
##ium
##lf
nokia
claire
##リ
##ding
november
lohas
##500
##tic
##マ
##cs
##ある
##che
##ire
##gy
##ult
db
january
win
##カ
166
road
ptt
##ま
##つ
198
##fa
##mer
anna
pchome
はい
udn
ef
420
##time
##tte
2030
##ア
g20
white
かかります
1929
308
garden
eleven
di
##おります
chen
309b
777
172
young
cosplay
ちてない
4500
bat
##123
##tra
##ては
kindle
npc
steve
etc
##ern
##|
call
xperia
ces
travel
sk
s7
##ous
1934
##int
みいたたけます
183
edu
file
cho
qr
##car
##our
186
##ant
##d
eric
1914
rends
##jo
##する
mastercard
##2000
kb
##min
290
##ino
vista
##ris
##ud
jack
2400
##set
169
pos
1912
##her
##ou
taipei
しく
205
beta
##ませんか
232
##fi
express
255
body
##ill
aphojoy
user
december
meiki
##ick
tweet
richard
##av
##ᆫ
iphone6
##dd
ちてすか
views
##mark
321
pd
##00
times
##▲
level
##ash
10g
point
5l
##ome
208
koreanmall
##ak
george
q2
206
wma
tcp
##200
スタッフ
full
mlb
##lle
##watch
tm
run
179
911
smith
business
##und
1919
color
##tal
222
171
##less
moon
4399
##rl
update
pcb
shop
499
157
little
なし
end
##mhz
van
dsp
easy
660
##house
##key
history
##o
oh
##001
##hy
##web
oem
let
was
##2009
##gg
review
##wan
182
##°c
203
uc
title
##val
united
233
2021
##ons
doi
trivago
overdope
sbs
##ance
##ち
grand
special
573032185
imf
216
wx17house
##so
##ーム
audi
##he
london
william
##rp
##ake
science
beach
cfa
amp
ps4
880
##800
##link
##hp
crm
ferragamo
bell
make
##eng
195
under
zh
photos
2300
##style
##ント
via
176
da
##gi
company
i7
##ray
thomas
370
ufo
i5
##max
plc
ben
back
research
8g
173
mike
##pc
##ッフ
september
189
##ace
vps
february
167
pantos
wp
lisa
1921
★★
jquery
night
long
offer
##berg
##news
1911
##いて
ray
fks
wto
せます
over
164
340
##all
##rus
1924
##888
##works
blogtitle
loftpermalink
##→
187
martin
test
ling
km
##め
15000
fda
v3
##ja
##ロ
wedding
かある
outlet
family
##ea
をこ
##top
story
##ness
salvatore
##lu
204
swift
215
room
している
oracle
##ul
1925
sam
b2c
week
pi
rock
##のは
##a
##けと
##ean
##300
##gle
cctv
after
chinese
##back
powered
x2
##tan
1918
##nes
##イン
canon
only
181
##zi
##las
say
##oe
184
##sd
221
##bot
##world
##zo
sky
made
top100
just
1926
pmi
802
234
gap
##vr
177
les
174
▲topoct
ball
vogue
vi
ing
ofweek
cos
##list
##ort
▲topmay
##なら
##lon
として
last
##tc
##of
##bus
##gen
real
eva
##コ
a3
nas
##lie
##ria
##coin
##bt
▲topapr
his
212
cat
nata
vive
health
⋯⋯
drive
sir
▲topmar
du
cup
##カー
##ook
##よう
##sy
alex
msg
tour
しました
3ce
##word
193
ebooks
r8
block
318
##より
2200
nice
pvp
207
months
1905
rewards
##ther
1917
0800
##xi
##チ
##sc
micro
850
gg
blogfp
op
1922
daily
m1
264
true
##bb
ml
##tar
##のお
##ky
anthony
196
253
##yo
state
218
##ara
##aa
##rc
##tz
##ston
より
gear
##eo
##ade
ge
see
1923
##win
##ura
ss
heart
##den
##ita
down
##sm
el
png
2100
610
rakuten
whatsapp
bay
dream
add
##use
680
311
pad
gucci
mpv
##ode
##fo
island
▲topjun
##▼
223
jason
214
chicago
##❤
しの
##hone
io
##れる
##ことか
sogo
be2
##ology
990
cloud
vcd
##con
2~3
##ford
##joy
##kb
##こさいます
##rade
but
##ach
docker
##ful
rfid
ul
##ase
hit
ford
##star
580
##○
11
a2
sdk
reading
edited
##are
cmos
##mc
238
siri
light
##ella
##ため
bloomberg
##read
pizza
##ison
jimmy
##vm
college
node
journal
ba
18k
##play
245
##cer
20
magic
##yu
191
jump
288
tt
##ings
asr
##lia
3200
step5
network
##cd
mc
いします
1234
pixstyleme
273
##600
2800
money
★★★★★
1280
12
430
bl
みの
act
##tus
tokyo
##rial
##life
emba
##ae
saas
tcs
##rk
##wang
summer
##sp
ko
##ving
390
premium
##その
netflix
##ヒ
uk
mt
##lton
right
frank
two
209
える
##ple
##cal
021
##んな
##sen
##ville
hold
nexus
dd
##ius
てお
##mah
##なく
tila
zero
820
ce
##tin
resort
##ws
charles
old
p10
5d
report
##360
##ru
##には
bus
vans
lt
##est
pv
##レ
links
rebecca
##ツ
##dm
azure
##365
きな
limited
bit
4gb
##mon
1910
moto
##eam
213
1913
var
eos
なとの
226
blogspot
された
699
e3
dos
dm
fc
##ments
##ik
##kw
boy
##bin
##ata
960
er
##せ
219
##vin
##tu
##ula
194
##∥
station
##ろ
##ature
835
files
zara
hdr
top10
nature
950
magazine
s6
marriott
##シ
avira
case
##っと
tab
##ran
tony
##home
oculus
im
##ral
jean
saint
cry
307
rosie
##force
##ini
ice
##bert
のある
##nder
##mber
pet
2600
##◆
plurk
▲topdec
##sis
00kg
▲topnov
720
##ence
tim
##ω
##nc
##ても
##name
log
ips
great
ikea
malaysia
unix
##イト
3600
##ncy
##nie
12000
akb48
##ye
##oid
404
##chi
##いた
oa
xuehai
##1000
##orm
##rf
275
さん
##ware
##リー
980
ho
##pro
text
##era
560
bob
227
##ub
##2008
8891
scp
avi
##zen
2022
mi
wu
museum
qvod
apache
lake
jcb
▲topaug
★★★
ni
##hr
hill
302
ne
weibo
490
ruby
##ーシ
##ヶ
##row
4d
▲topjul
iv
##ish
github
306
mate
312
##スト
##lot
##ane
andrew
のハイト
##tina
t1
rf
ed2k
##vel
##900
way
final
りの
ns
5a
705
197
##メ
sweet
bytes
##ene
▲topjan
231
##cker
##2007
##px
100g
topapp
229
helpapp
rs
low
14k
g4g
care
630
ldquo
あり
##fork
leave
rm
edition
##gan
##zon
##qq
▲topsep
##google
##ism
gold
224
explorer
##zer
toyota
category
select
visual
##labels
restaurant
##md
posts
s1
##ico
もっと
angelababy
123456
217
sports
s3
mbc
1915
してくたさい
shell
x86
candy
##new
kbs
face
xl
470
##here
4a
swissinfo
v8
▲topfeb
dram
##ual
##vice
3a
##wer
sport
q1
ios10
public
int
card
##c
ep
au
rt
##れた
1080
bill
##mll
kim
30
460
wan
##uk
##ミ
x3
298
0t
scott
##ming
239
e5
##3d
h7n9
worldcat
brown
##あります
##vo
##led
##580
##ax
249
410
##ert
paris
##~6
polo
925
##lr
599
##ナ
capital
##hing
bank
cv
1g
##chat
##s
##たい
adc
##ule
2m
##e
digital
hotmail
268
##pad
870
bbq
quot
##ring
before
wali
##まて
mcu
2k
2b
という
costco
316
north
333
switch
##city
##p
philips
##mann
management
panasonic
##cl
##vd
##ping
##rge
alice
##lk
##ましょう
css3
##ney
vision
alpha
##ular
##400
##tter
lz
にお
##ありません
mode
gre
1916
pci
##tm
237
1~2
##yan
##そ
について
##let
##キ
work
war
coach
ah
mary
##ᅵ
huang
##pt
a8
pt
follow
##berry
1895
##ew
a5
ghost
##ション
##wn
##og
south
##code
girls
##rid
action
villa
git
r11
table
games
##cket
error
##anonymoussaid
##ag
here
##ame
##gc
qa
##■
##lis
gmp
##gin
vmalife
##cher
yu
wedding
##tis
demo
dragon
530
soho
social
bye
##rant
river
orz
acer
325
##↑
##ース
##ats
261
del
##ven
440
ups
##ように
##ター
305
value
macd
yougou
##dn
661
##ano
ll
##urt
##rent
continue
script
##wen
##ect
paper
263
319
shift
##chel
##フト
##cat
258
x5
fox
243
##さん
car
aaa
##blog
loading
##yn
##tp
kuso
799
si
sns
イカせるテンマ
ヒンクテンマ3
rmb
vdc
forest
central
prime
help
ultra
##rmb
##ような
241
square
688
##しい
のないフロクに
##field
##reen
##ors
##ju
c1
start
510
##air
##map
cdn
##wo
cba
stephen
m8
100km
##get
opera
##base
##ood
vsa
com™
##aw
##ail
251
なのて
count
t2
##ᅡ
##een
2700
hop
##gp
vsc
tree
##eg
##ose
816
285
##ories
##shop
alphago
v4
1909
simon
##ᆼ
fluke62max
zip
スホンサー
##sta
louis
cr
bas
##~10
bc
##yer
hadoop
##ube
##wi
1906
0755
hola
##low
place
centre
5v
d3
##fer
252
##750
##media
281
540
0l
exchange
262
series
##ハー
##san
eb
##bank
##k
q3
##nge
##mail
take
##lp
259
1888
client
east
cache
event
vincent
##ールを
きを
##nse
sui
855
adchoice
##и
##stry
##なたの
246
##zone
ga
apps
sea
##ab
248
cisco
##タ
##rner
kymco
##care
dha
##pu
##yi
minkoff
royal
p1
への
annie
269
collection
kpi
playstation
257
になります
866
bh
##bar
queen
505
radio
1904
andy
armani
##xy
manager
iherb
##ery
##share
spring
raid
johnson
1908
##ob
volvo
hall
##ball
v6
our
taylor
##hk
bi
242
##cp
kate
bo
water
technology
##rie
サイトは
277
##ona
##sl
hpv
303
gtx
hip
rdquo
jayz
stone
##lex
##rum
namespace
##やり
620
##ale
##atic
des
##erson
##ql
##ves
##type
enter
##この
##てきます
d2
##168
##mix
##bian
との
a9
jj
ky
##lc
access
movie
##hc
リストに
tower
##ration
##mit
ます
##nch
ua
tel
prefix
##o2
1907
##point
1901
ott
~10
##http
##ury
baidu
##ink
member
##logy
bigbang
nownews
##js
##shot
##tb
##こと
247
eba
##tics
##lus
ける
v5
spark
##ama
there
##ions
god
##lls
##down
hiv
##ress
burberry
day2
##kv
◆◆
jeff
related
film
edit
joseph
283
##ark
cx
32gb
order
g9
30000
##ans
##tty
s5
##bee
かあります
thread
xr
buy
sh
005
land
spotify
mx
##ari
276
##verse
×email
sf
why
##ことて
244
7headlines
nego
sunny
dom
exo
401
666
positioning
fit
rgb
##tton
278
kiss
alexa
adam
lp
みリストを
##g
mp
##ties
##llow
amy
##du
np
002
institute
271
##rth
##lar
2345
590
##des
sidebar
15
imax
site
##cky
##kit
##ime
##009
season
323
##fun
##ンター
##ひ
gogoro
a7
pu
lily
fire
twd600
##ッセーシを
いて
##vis
30ml
##cture
##をお
information
##オ
close
friday
##くれる
yi
nick
てすか
##tta
##tel
6500
##lock
cbd
economy
254
かお
267
tinker
double
375
8gb
voice
##app
oops
channel
today
985
##right
raw
xyz
##+
jim
edm
##cent
7500
supreme
814
ds
##its
##asia
dropbox
##てすか
##tti
books
272
100ml
##tle
##ller
##ken
##more
##boy
sex
309
##dom
t3
##ider
##なります
##unch
1903
810
feel
5500
##かった
##put
により
s2
mo
##gh
men
ka
amoled
div
##tr
##n1
port
howard
##tags
ken
dnf
##nus
adsense
##а
ide
##へ
buff
thunder
##town
##ique
has
##body
auto
pin
##erry
tee
てした
295
number
##the
##013
object
psp
cool
udnbkk
16gb
##mic
miui
##tro
most
r2
##alk
##nity
1880
±0
##いました
428
s4
law
version
##oa
n1
sgs
docomo
##tf
##ack
henry
fc2
##ded
##sco
##014
##rite
286
0mm
linkedin
##ada
##now
wii
##ndy
ucbug
##◎
sputniknews
legalminer
##ika
##xp
2gb
##bu
q10
oo
b6
come
##rman
cheese
ming
maker
##gm
nikon
##fig
ppi
kelly
##ります
jchere
てきます
ted
md
003
fgo
tech
##tto
dan
soc
##gl
##len
hair
earth
640
521
img
##pper
##a1
##てきる
##ロク
acca
##ition
##ference
suite
##ig
outlook
##mond
##cation
398
##pr
279
101vip
358
##999
282
64gb
3800
345
airport
##over
284
##おり
jones
##ith
lab
##su
##いるのて
co2
town
piece
##llo
no1
vmware
24h
##qi
focus
reader
##admin
##ora
tb
false
##log
1898
know
lan
838
##ces
f4
##ume
motel
stop
##oper
na
flickr
netcomponents
##af
##─
pose
williams
local
##ound
##cg
##site
##iko
いお
274
5m
gsm
con
##ath
1902
friends
##hip
cell
317
##rey
780
cream
##cks
012
##dp
facebooktwitterpinterestgoogle
sso
324
shtml
song
swiss
##mw
##キンク
lumia
xdd
string
tiffany
522
marc
られた
insee
russell
sc
dell
##ations
ok
camera
289
##vs
##flow
##late
classic
287
##nter
stay
g1
mtv
512
##ever
##lab
##nger
qe
sata
ryan
d1
50ml
cms
##cing
su
292
3300
editor
296
##nap
security
sunday
association
##ens
##700
##bra
acg
##かり
sofascore
とは
mkv
##ign
jonathan
gary
build
labels
##oto
tesla
moba
qi
gohappy
general
ajax
1024
##かる
サイト
society
##test
##urs
wps
fedora
##ich
mozilla
328
##480
##dr
usa
urn
##lina
##r
grace
##die
##try
##ader
1250
##なり
elle
570
##chen
##ᆯ
price
##ten
uhz
##ough
eq
##hen
states
push
session
balance
wow
506
##cus
##py
when
##ward
##ep
34e
wong
library
prada
##サイト
##cle
running
##ree
313
ck
date
q4
##ctive
##ool
##>
mk
##ira
##163
388
die
secret
rq
dota
buffet
は1ヶ
e6
##ez
pan
368
ha
##card
##cha
2a
##さ
alan
day3
eye
f3
##end
france
keep
adi
rna
tvbs
##ala
solo
nova
##え
##tail
##ょう
support
##ries
##なる
##ved
base
copy
iis
fps
##ways
hero
hgih
profile
fish
mu
ssh
entertainment
chang
##wd
click
cake
##ond
pre
##tom
kic
pixel
##ov
##fl
product
6a
##pd
dear
##gate
es
yumi
audio
##²
##sky
echo
bin
where
##ture
329
##ape
find
sap
isis
##なと
nand
##101
##load
##ream
band
a6
525
never
##post
festival
50cm
##we
555
guide
314
zenfone
##ike
335
gd
forum
jessica
strong
alexander
##ould
software
allen
##ious
program
360°
else
lohasthree
##gar
することかてきます
please
##れます
rc
##ggle
##ric
bim
50000
##own
eclipse
355
brian
3ds
##side
061
361
##other
##ける
##tech
##ator
485
engine
##ged
##t
plaza
##fit
cia
ngo
westbrook
shi
tbs
50mm
##みませんか
sci
291
reuters
##ily
contextlink
##hn
af
##cil
bridge
very
##cel
1890
cambridge
##ize
15g
##aid
##data
790
frm
##head
award
butler
##sun
meta
##mar
america
ps3
puma
pmid
##すか
lc
670
kitchen
##lic
オーフン5
きなしソフトサーヒス
そして
day1
future
★★★★
##text
##page
##rris
pm1
##ket
fans
##っています
1001
christian
bot
kids
trackback
##hai
c3
display
##hl
n2
1896
idea
さんも
##sent
airmail
##ug
##men
pwm
けます
028
##lution
369
852
awards
schemas
354
asics
wikipedia
font
##tional
##vy
c2
293
##れている
##dget
##ein
っている
contact
pepper
スキル
339
##~5
294
##uel
##ument
730
##hang
みてす
q5
##sue
rain
##ndi
wei
swatch
##cept
わせ
331
popular
##ste
##tag
p2
501
trc
1899
##west
##live
justin
honda
ping
messenger
##rap
v9
543
##とは
unity
appqq
はすへて
025
leo
##tone
##テ
##ass
uniqlo
##010
502
her
jane
memory
moneydj
##tical
human
12306
していると
##m2
coc
miacare
##mn
tmt
##core
vim
kk
##may
fan
target
use
too
338
435
2050
867
737
fast
##2c
services
##ope
omega
energy
##わ
pinkoi
1a
##なから
##rain
jackson
##ement
##シャンルの
374
366
そんな
p9
rd
##ᆨ
1111
##tier
##vic
zone
##│
385
690
dl
isofix
cpa
m4
322
kimi
めて
davis
##lay
lulu
##uck
050
weeks
qs
##hop
920
##n
ae
##ear
~5
eia
405
##fly
korea
jpeg
boost
##ship
small
##リア
1860
eur
297
425
valley
##iel
simple
##ude
rn
k2
##ena
されます
non
patrick
しているから
##ナー
feed
5757
30g
process
well
qqmei
##thing
they
aws
lu
pink
##ters
##kin
または
board
##vertisement
wine
##ien
unicode
##dge
r1
359
##tant
いを
##twitter
##3c
cool1
される
##れて
##l
isp
##012
standard
45㎡2
402
##150
matt
##fu
326
##iner
googlemsn
pixnetfacebookyahoo
##ラン
x7
886
##uce
メーカー
sao
##ev
##きました
##file
9678
403
xddd
shirt
6l
##rio
##hat
3mm
givenchy
ya
bang
##lio
monday
crystal
ロクイン
##abc
336
head
890
ubuntuforumwikilinuxpastechat
##vc
##~20
##rity
cnc
7866
ipv6
null
1897
##ost
yang
imsean
tiger
##fet
##ンス
352
##=
dji
327
ji
maria
##come
##んて
foundation
3100
##beth
##なった
1m
601
active
##aft
##don
3p
sr
349
emma
##khz
living
415
353
1889
341
709
457
sas
x6
##face
pptv
x4
##mate
han
sophie
##jing
337
fifa
##mand
other
sale
inwedding
##gn
てきちゃいます
##mmy
##pmlast
bad
nana
nbc
してみてくたさいね
なとはお
##wu
##かあります
##あ
note7
single
##340
せからこ
してくたさい♪この
しにはとんとんワークケートを
するとあなたにもっとマッチした
ならワークケートへ
もみつかっちゃうかも
ワークケートの
##bel
window
##dio
##ht
union
age
382
14
##ivity
##y
コメント
domain
neo
##isa
##lter
5k
f5
steven
##cts
powerpoint
tft
self
g2
ft
##テル
zol
##act
mwc
381
343
もう
nbapop
408
てある
eds
ace
##room
previous
author
tomtom
il
##ets
hu
financial
☆☆☆
っています
bp
5t
chi
1gb
##hg
fairmont
cross
008
gay
h2
function
##けて
356
also
1b
625
##ータ
##raph
1894
3~5
##ils
i3
334
avenue
##host
による
##bon
##tsu
message
navigation
50g
fintech
h6
##ことを
8cm
##ject
##vas
##firm
credit
##wf
xxxx
form
##nor
##space
huawei
plan
json
sbl
##dc
machine
921
392
wish
##120
##sol
windows7
edward
##ために
development
washington
##nsis
lo
818
##sio
##ym
##bor
planet
##~8
##wt
ieee
gpa
##めて
camp
ann
gm
##tw
##oka
connect
##rss
##work
##atus
wall
chicken
soul
2mm
##times
fa
##ather
##cord
009
##eep
hitachi
gui
harry
##pan
e1
disney
##press
##ーション
wind
386
frigidaire
##tl
liu
hsu
332
basic
von
ev
いた
てきる
スホンサーサイト
learning
##ull
expedia
archives
change
##wei
santa
cut
ins
6gb
turbo
brand
cf1
508
004
return
747
##rip
h1
##nis
##をこ
128gb
##にお
3t
application
しており
emc
rx
##oon
384
quick
412
15058
wilson
wing
chapter
##bug
beyond
##cms
##dar
##oh
zoom
e2
trip
sb
##nba
rcep
342
aspx
ci
080
gc
gnu
める
##count
advanced
dance
dv
##url
##ging
367
8591
am09
shadow
battle
346
##i
##cia
##という
emily
##のてす
##tation
host
ff
techorz
sars
##mini
##mporary
##ering
nc
4200
798
##next
cma
##mbps
##gas
##ift
##dot
##ィ
455
##~17
amana
##りの
426
##ros
ir
00㎡1
##eet
##ible
##↓
710
ˋ▽ˊ
##aka
dcs
iq
##v
l1
##lor
maggie
##011
##iu
588
##~1
830
##gt
1tb
articles
create
##burg
##iki
database
fantasy
##rex
##cam
dlc
dean
##you
hard
path
gaming
victoria
maps
cb
##lee
##itor
overchicstoretvhome
systems
##xt
416
p3
sarah
760
##nan
407
486
x9
install
second
626
##ann
##ph
##rcle
##nic
860
##nar
ec
##とう
768
metro
chocolate
##rian
~4
##table
##しています
skin
##sn
395
mountain
##0mm
inparadise
6m
7x24
ib
4800
##jia
eeworld
creative
g5
g3
357
parker
ecfa
village
からの
18000
sylvia
サーヒス
hbl
##ques
##onsored
##x2
##きます
##v4
##tein
ie6
383
##stack
389
ver
##ads
##baby
sound
bbe
##110
##lone
##uid
ads
022
gundam
351
thinkpad
006
scrum
match
##ave
mems
##470
##oy
##なりました
##talk
glass
lamigo
span
##eme
job
##a5
jay
wade
kde
498
##lace
ocean
tvg
##covery
##r3
##ners
##rea
junior
think
##aine
cover
##ision
##sia
↓↓
##bow
msi
413
458
406
##love
711
801
soft
z2
##pl
456
1840
mobil
mind
##uy
427
nginx
##oi
めた
##rr
6221
##mple
##sson
##ーシてす
371
##nts
91tv
comhd
crv3000
##uard
1868
397
deep
lost
field
gallery
##bia
rate
spf
redis
traction
930
icloud
011
なら
fe
jose
372
##tory
into
sohu
fx
899
379
kicstart2
##hia
すく
##~3
##sit
ra
24
##walk
##xure
500g
##pact
pacific
xa
natural
carlo
##250
##walker
1850
##can
cto
gigi
516
##サー
pen
##hoo
ob
matlab
##b
##yy
13913459
##iti
mango
##bbs
sense
c5
oxford
##ニア
walker
jennifer
##ola
course
##bre
701
##pus
##rder
lucky
075
##ぁ
ivy
なお
##nia
sotheby
side
##ugh
joy
##orage
##ush
##bat
##dt
364
r9
##2d
##gio
511
country
wear
##lax
##~7
##moon
393
seven
study
411
348
lonzo
8k
##ェ
evolution
##イフ
##kk
gs
kd
##レス
arduino
344
b12
##lux
arpg
##rdon
cook
##x5
dark
five
##als
##ida
とても
sign
362
##ちの
something
20mm
##nda
387
##posted
fresh
tf
1870
422
cam
##mine
##skip
##form
##ssion
education
394
##tee
dyson
stage
##jie
want
##night
epson
pack
あります
##ppy
テリヘル
##█
wd
##eh
##rence
left
##lvin
golden
mhz
discovery
##trix
##n2
loft
##uch
##dra
##sse
speed
~1
1mdb
sorry
welcome
##urn
wave
gaga
##lmer
teddy
##160
トラックハック
せよ
611
##f2016
378
rp
##sha
rar
##あなたに
##きた
840
holiday
##ュー
373
074
##vg
##nos
##rail
gartner
gi
6p
##dium
kit
488
b3
eco
##ろう
20g
sean
##stone
autocad
nu
##np
f16
write
029
m5
##ias
images
atp
##dk
fsm
504
1350
ve
52kb
##xxx
##のに
##cake
414
unit
lim
ru
1v
##ification
published
angela
16g
analytics
ak
##q
##nel
gmt
##icon
again
##₂
##bby
ios11
445
かこさいます
waze
いてす
##ハ
9985
##ust
##ティー
framework
##007
iptv
delete
52sykb
cl
wwdc
027
30cm
##fw
##ての
1389
##xon
brandt
##ses
##dragon
tc
vetements
anne
monte
modern
official
##へて
##ere
##nne
##oud
もちろん
50
etnews
##a2
##graphy
421
863
##ちゃん
444
##rtex
##てお
l2
##gma
mount
ccd
たと
archive
morning
tan
ddos
e7
##ホ
day4
##ウ
gis
453
its
495
factory
bruce
pg
##ito
ってくたさい
guest
cdma
##lling
536
n3
しかし
3~4
mega
eyes
ro
13
women
dac
church
##jun
singapore
##facebook
6991
starbucks
##tos
##stin
##shine
zen
##mu
tina
20℃
1893
##たけて
503
465
request
##gence
qt
##っ
1886
347
363
q7
##zzi
diary
##tore
409
##ead
468
cst
##osa
canada
agent
va
##jiang
##ちは
##ーク
##lam
sg
##nix
##sday
##よって
g6
##master
bing
##zl
charlie
16
8mm
nb40
##ーン
thai
##ルフ
ln284ct
##itz
##2f
bonnie
##food
##lent
originals
##stro
##lts
418
∟∣
##bscribe
children
ntd
yesstyle
##かも
hmv
##tment
d5
2cm
arts
sms
##pn
##я
##いい
topios9
539
lifestyle
virtual
##ague
xz
##deo
muji
024
unt
##nnis
##ᅩ
faq1
1884
396
##ette
fly
64㎡
はしめまして
441
curry
##pop
のこ
release
##←
##◆◆
##cast
073
ありな
500ml
##ews
5c
##stle
ios7
##ima
787
dog
lenovo
##r4
roger
013
cbs
vornado
100m
417
##desk
##クok
##ald
1867
9595
2900
##van
oil
##x
some
break
common
##jy
##lines
g7
twice
419
ella
nano
belle
にこ
##mes
##self
##note
jb
##ことかてきます
benz
##との
##ova
451
save
##wing
##ますのて
kai
りは
##hua
##rect
rainer
##unge
448
##0m
adsl
##かな
guestname
##uma
##kins
##zu
tokichoi
##price
county
##med
##mus
rmk
391
address
vm
えて
openload
##group
##hin
##iginal
amg
urban
##oz
jobs
emi
##public
beautiful
##sch
album
##dden
##bell
jerry
works
hostel
miller
##drive
##rmin
##10
376
boot
828
##370
##fx
##cm~
1885
##nome
##ctionary
##oman
##lish
##cr
##hm
433
##how
432
francis
xi
c919
b5
evernote
##uc
vga
##3000
coupe
##urg
##cca
##uality
019
6g
れる
multi
##また
##ett
em
hey
##ani
##tax
##rma
inside
than
740
leonnhurt
##jin
ict
れた
bird
notes
200mm
くの
##dical
##lli
result
442
iu
ee
438
smap
gopro
##last
yin
pure
998
32g
けた
5kg
##dan
##rame
mama
##oot
bean
marketing
##hur
2l
bella
sync
xuite
##ground
515
discuz
##getrelax
##ince
##bay
##5s
cj
##イス
gmat
apt
##pass
jing
##rix
c4
rich
##とても
niusnews
##ello
bag
770
##eting
##mobile
18
culture
015
##のてすか
377
1020
area
##ience
616
details
gp
universal
silver
dit
はお
private
ddd
u11
kanshu
##ified
fung
##nny
dx
##520
tai
475
023
##fr
##lean
3s
##pin
429
##rin
25000
ly
rick
##bility
usb3
banner
##baru
##gion
metal
dt
vdf
1871
karl
qualcomm
bear
1010
oldid
ian
jo
##tors
population
##ernel
1882
mmorpg
##mv
##bike
603
##©
ww
friend
##ager
exhibition
##del
##pods
fpx
structure
##free
##tings
kl
##rley
##copyright
##mma
california
3400
orange
yoga
4l
canmake
honey
##anda
##コメント
595
nikkie
##ルハイト
dhl
publishing
##mall
##gnet
20cm
513
##クセス
##┅
e88
970
##dog
fishbase
##!
##"
###
##$
##%
##&
##'
##(
##)
##*
##+
##,
##-
##.
##/
##:
##;
##<
##=
##>
##?
##@
##[
##\
##]
##^
##_
##{
##|
##}
##~
##£
##¤
##¥
##§
##«
##±
##³
##µ
##·
##¹
##º
##»
##¼
##ß
##æ
##÷
##ø
##đ
##ŋ
##ɔ
##ə
##ɡ
##ʰ
##ˇ
##ˈ
##ˊ
##ˋ
##ˍ
##ː
##˙
##˚
##ˢ
##α
##β
##γ
##δ
##ε
##η
##θ
##ι
##κ
##λ
##μ
##ν
##ο
##π
##ρ
##ς
##σ
##τ
##υ
##φ
##χ
##ψ
##б
##в
##г
##д
##е
##ж
##з
##к
##л
##м
##н
##о
##п
##р
##с
##т
##у
##ф
##х
##ц
##ч
##ш
##ы
##ь
##і
##ا
##ب
##ة
##ت
##د
##ر
##س
##ع
##ل
##م
##ن
##ه
##و
##ي
##۩
##ก
##ง
##น
##ม
##ย
##ร
##อ
##า
##เ
##๑
##་
##ღ
##ᄀ
##ᄁ
##ᄂ
##ᄃ
##ᄅ
##ᄆ
##ᄇ
##ᄈ
##ᄉ
##ᄋ
##ᄌ
##ᄎ
##ᄏ
##ᄐ
##ᄑ
##ᄒ
##ᅢ
##ᅣ
##ᅥ
##ᅦ
##ᅧ
##ᅨ
##ᅪ
##ᅬ
##ᅭ
##ᅮ
##ᅯ
##ᅲ
##ᅳ
##ᅴ
##ᆷ
##ᆸ
##ᆺ
##ᆻ
##ᗜ
##ᵃ
##ᵉ
##ᵍ
##ᵏ
##ᵐ
##ᵒ
##ᵘ
##‖
##„
##†
##•
##‥
##‧
##
##‰
##′
##″
##‹
##›
##※
##‿
##⁄
##ⁱ
##⁺
##ⁿ
##₁
##₃
##₄
##€
##№
##ⅰ
##ⅱ
##ⅲ
##ⅳ
##ⅴ
##↔
##↗
##↘
##⇒
##∀
##−
##∕
##∙
##√
##∞
##∟
##∠
##∣
##∩
##∮
##∶
##∼
##∽
##≈
##≒
##≡
##≤
##≥
##≦
##≧
##≪
##≫
##⊙
##⋅
##⋈
##⋯
##⌒
##①
##②
##③
##④
##⑤
##⑥
##⑦
##⑧
##⑨
##⑩
##⑴
##⑵
##⑶
##⑷
##⑸
##⒈
##⒉
##⒊
##⒋
##ⓒ
##ⓔ
##ⓘ
##━
##┃
##┆
##┊
##┌
##└
##├
##┣
##═
##║
##╚
##╞
##╠
##╭
##╮
##╯
##╰
##╱
##╳
##▂
##▃
##▅
##▇
##▉
##▋
##▌
##▍
##▎
##□
##▪
##▫
##▬
##△
##▶
##►
##▽
##◇
##◕
##◠
##◢
##◤
##☀
##☕
##☞
##☺
##☼
##♀
##♂
##♠
##♡
##♣
##♦
##♫
##♬
##✈
##✔
##✕
##✖
##✦
##✨
##✪
##✰
##✿
##❀
##➜
##➤
##⦿
##、
##。
##〃
##々
##〇
##〈
##〉
##《
##》
##「
##」
##『
##』
##【
##】
##〓
##〔
##〕
##〖
##〗
##〜
##〝
##〞
##ぃ
##ぇ
##ぬ
##ふ
##ほ
##む
##ゃ
##ゅ
##ゆ
##ょ
##゜
##ゝ
##ァ
##ゥ
##エ
##ォ
##ケ
##サ
##セ
##ソ
##ッ
##ニ
##ヌ
##ネ
##ノ
##ヘ
##モ
##ャ
##ヤ
##ュ
##ユ
##ョ
##ヨ
##ワ
##ヲ
##・
##ヽ
##ㄅ
##ㄆ
##ㄇ
##ㄉ
##ㄋ
##ㄌ
##ㄍ
##ㄎ
##ㄏ
##ㄒ
##ㄚ
##ㄛ
##ㄞ
##ㄟ
##ㄢ
##ㄤ
##ㄥ
##ㄧ
##ㄨ
##ㆍ
##㈦
##㊣
##㗎
##一
##丁
##七
##万
##丈
##三
##上
##下
##不
##与
##丐
##丑
##专
##且
##丕
##世
##丘
##丙
##业
##丛
##东
##丝
##丞
##丟
##両
##丢
##两
##严
##並
##丧
##丨
##个
##丫
##中
##丰
##串
##临
##丶
##丸
##丹
##为
##主
##丼
##丽
##举
##丿
##乂
##乃
##久
##么
##义
##之
##乌
##乍
##乎
##乏
##乐
##乒
##乓
##乔
##乖
##乗
##乘
##乙
##乜
##九
##乞
##也
##习
##乡
##书
##乩
##买
##乱
##乳
##乾
##亀
##亂
##了
##予
##争
##事
##二
##于
##亏
##云
##互
##五
##井
##亘
##亙
##亚
##些
##亜
##亞
##亟
##亡
##亢
##交
##亥
##亦
##产
##亨
##亩
##享
##京
##亭
##亮
##亲
##亳
##亵
##人
##亿
##什
##仁
##仃
##仄
##仅
##仆
##仇
##今
##介
##仍
##从
##仏
##仑
##仓
##仔
##仕
##他
##仗
##付
##仙
##仝
##仞
##仟
##代
##令
##以
##仨
##仪
##们
##仮
##仰
##仲
##件
##价
##任
##份
##仿
##企
##伉
##伊
##伍
##伎
##伏
##伐
##休
##伕
##众
##优
##伙
##会
##伝
##伞
##伟
##传
##伢
##伤
##伦
##伪
##伫
##伯
##估
##伴
##伶
##伸
##伺
##似
##伽
##佃
##但
##佇
##佈
##位
##低
##住
##佐
##佑
##体
##佔
##何
##佗
##佘
##余
##佚
##佛
##作
##佝
##佞
##佟
##你
##佢
##佣
##佤
##佥
##佩
##佬
##佯
##佰
##佳
##併
##佶
##佻
##佼
##使
##侃
##侄
##來
##侈
##例
##侍
##侏
##侑
##侖
##侗
##供
##依
##侠
##価
##侣
##侥
##侦
##侧
##侨
##侬
##侮
##侯
##侵
##侶
##侷
##便
##係
##促
##俄
##俊
##俎
##俏
##俐
##俑
##俗
##俘
##俚
##保
##俞
##俟
##俠
##信
##俨
##俩
##俪
##俬
##俭
##修
##俯
##俱
##俳
##俸
##俺
##俾
##倆
##倉
##個
##倌
##倍
##倏
##們
##倒
##倔
##倖
##倘
##候
##倚
##倜
##借
##倡
##値
##倦
##倩
##倪
##倫
##倬
##倭
##倶
##债
##值
##倾
##偃
##假
##偈
##偉
##偌
##偎
##偏
##偕
##做
##停
##健
##側
##偵
##偶
##偷
##偻
##偽
##偿
##傀
##傅
##傍
##傑
##傘
##備
##傚
##傢
##傣
##傥
##储
##傩
##催
##傭
##傲
##傳
##債
##傷
##傻
##傾
##僅
##働
##像
##僑
##僕
##僖
##僚
##僥
##僧
##僭
##僮
##僱
##僵
##價
##僻
##儀
##儂
##億
##儆
##儉
##儋
##儒
##儕
##儘
##償
##儡
##優
##儲
##儷
##儼
##儿
##兀
##允
##元
##兄
##充
##兆
##兇
##先
##光
##克
##兌
##免
##児
##兑
##兒
##兔
##兖
##党
##兜
##兢
##入
##內
##全
##兩
##八
##公
##六
##兮
##兰
##共
##兲
##关
##兴
##兵
##其
##具
##典
##兹
##养
##兼
##兽
##冀
##内
##円
##冇
##冈
##冉
##冊
##册
##再
##冏
##冒
##冕
##冗
##写
##军
##农
##冠
##冢
##冤
##冥
##冨
##冪
##冬
##冯
##冰
##冲
##决
##况
##冶
##冷
##冻
##冼
##冽
##冾
##净
##凄
##准
##凇
##凈
##凉
##凋
##凌
##凍
##减
##凑
##凛
##凜
##凝
##几
##凡
##凤
##処
##凪
##凭
##凯
##凰
##凱
##凳
##凶
##凸
##凹
##出
##击
##函
##凿
##刀
##刁
##刃
##分
##切
##刈
##刊
##刍
##刎
##刑
##划
##列
##刘
##则
##刚
##创
##初
##删
##判
##別
##刨
##利
##刪
##别
##刮
##到
##制
##刷
##券
##刹
##刺
##刻
##刽
##剁
##剂
##剃
##則
##剉
##削
##剋
##剌
##前
##剎
##剐
##剑
##剔
##剖
##剛
##剜
##剝
##剣
##剤
##剥
##剧
##剩
##剪
##副
##割
##創
##剷
##剽
##剿
##劃
##劇
##劈
##劉
##劊
##劍
##劏
##劑
##力
##劝
##办
##功
##加
##务
##劣
##动
##助
##努
##劫
##劭
##励
##劲
##劳
##労
##劵
##効
##劾
##势
##勁
##勃
##勇
##勉
##勋
##勐
##勒
##動
##勖
##勘
##務
##勛
##勝
##勞
##募
##勢
##勤
##勧
##勳
##勵
##勸
##勺
##勻
##勾
##勿
##匀
##包
##匆
##匈
##匍
##匐
##匕
##化
##北
##匙
##匝
##匠
##匡
##匣
##匪
##匮
##匯
##匱
##匹
##区
##医
##匾
##匿
##區
##十
##千
##卅
##升
##午
##卉
##半
##卍
##华
##协
##卑
##卒
##卓
##協
##单
##卖
##南
##単
##博
##卜
##卞
##卟
##占
##卡
##卢
##卤
##卦
##卧
##卫
##卮
##卯
##印
##危
##即
##却
##卵
##卷
##卸
##卻
##卿
##厂
##厄
##厅
##历
##厉
##压
##厌
##厕
##厘
##厚
##厝
##原
##厢
##厥
##厦
##厨
##厩
##厭
##厮
##厲
##厳
##去
##县
##叁
##参
##參
##又
##叉
##及
##友
##双
##反
##収
##发
##叔
##取
##受
##变
##叙
##叛
##叟
##叠
##叡
##叢
##口
##古
##句
##另
##叨
##叩
##只
##叫
##召
##叭
##叮
##可
##台
##叱
##史
##右
##叵
##叶
##号
##司
##叹
##叻
##叼
##叽
##吁
##吃
##各
##吆
##合
##吉
##吊
##吋
##同
##名
##后
##吏
##吐
##向
##吒
##吓
##吕
##吖
##吗
##君
##吝
##吞
##吟
##吠
##吡
##否
##吧
##吨
##吩
##含
##听
##吭
##吮
##启
##吱
##吳
##吴
##吵
##吶
##吸
##吹
##吻
##吼
##吽
##吾
##呀
##呂
##呃
##呆
##呈
##告
##呋
##呎
##呐
##呓
##呕
##呗
##员
##呛
##呜
##呢
##呤
##呦
##周
##呱
##呲
##味
##呵
##呷
##呸
##呻
##呼
##命
##咀
##咁
##咂
##咄
##咆
##咋
##和
##咎
##咏
##咐
##咒
##咔
##咕
##咖
##咗
##咘
##咙
##咚
##咛
##咣
##咤
##咦
##咧
##咨
##咩
##咪
##咫
##咬
##咭
##咯
##咱
##咲
##咳
##咸
##咻
##咽
##咿
##哀
##品
##哂
##哄
##哆
##哇
##哈
##哉
##哋
##哌
##响
##哎
##哏
##哐
##哑
##哒
##哔
##哗
##哟
##員
##哥
##哦
##哧
##哨
##哩
##哪
##哭
##哮
##哲
##哺
##哼
##哽
##唁
##唄
##唆
##唇
##唉
##唏
##唐
##唑
##唔
##唠
##唤
##唧
##唬
##售
##唯
##唰
##唱
##唳
##唷
##唸
##唾
##啃
##啄
##商
##啉
##啊
##問
##啓
##啕
##啖
##啜
##啞
##啟
##啡
##啤
##啥
##啦
##啧
##啪
##啫
##啬
##啮
##啰
##啱
##啲
##啵
##啶
##啷
##啸
##啻
##啼
##啾
##喀
##喂
##喃
##善
##喆
##喇
##喉
##喊
##喋
##喎
##喏
##喔
##喘
##喙
##喚
##喜
##喝
##喟
##喧
##喪
##喫
##喬
##單
##喰
##喱
##喲
##喳
##喵
##営
##喷
##喹
##喺
##喻
##喽
##嗅
##嗆
##嗇
##嗎
##嗑
##嗒
##嗓
##嗔
##嗖
##嗚
##嗜
##嗝
##嗟
##嗡
##嗣
##嗤
##嗦
##嗨
##嗪
##嗬
##嗯
##嗰
##嗲
##嗳
##嗶
##嗷
##嗽
##嘀
##嘅
##嘆
##嘈
##嘉
##嘌
##嘍
##嘎
##嘔
##嘖
##嘗
##嘘
##嘚
##嘛
##嘜
##嘞
##嘟
##嘢
##嘣
##嘤
##嘧
##嘩
##嘭
##嘮
##嘯
##嘰
##嘱
##嘲
##嘴
##嘶
##嘸
##嘹
##嘻
##嘿
##噁
##噌
##噎
##噓
##噔
##噗
##噙
##噜
##噠
##噢
##噤
##器
##噩
##噪
##噬
##噱
##噴
##噶
##噸
##噹
##噻
##噼
##嚀
##嚇
##嚎
##嚏
##嚐
##嚓
##嚕
##嚟
##嚣
##嚥
##嚨
##嚮
##嚴
##嚷
##嚼
##囂
##囉
##囊
##囍
##囑
##囔
##囗
##囚
##四
##囝
##回
##囟
##因
##囡
##团
##団
##囤
##囧
##囪
##囫
##园
##困
##囱
##囲
##図
##围
##囹
##固
##国
##图
##囿
##圃
##圄
##圆
##圈
##國
##圍
##圏
##園
##圓
##圖
##團
##圜
##土
##圣
##圧
##在
##圩
##圭
##地
##圳
##场
##圻
##圾
##址
##坂
##均
##坊
##坍
##坎
##坏
##坐
##坑
##块
##坚
##坛
##坝
##坞
##坟
##坠
##坡
##坤
##坦
##坨
##坪
##坯
##坳
##坵
##坷
##垂
##垃
##垄
##型
##垒
##垚
##垛
##垠
##垢
##垣
##垦
##垩
##垫
##垭
##垮
##垵
##埂
##埃
##埋
##城
##埔
##埕
##埗
##域
##埠
##埤
##埵
##執
##埸
##培
##基
##埼
##堀
##堂
##堃
##堅
##堆
##堇
##堑
##堕
##堙
##堡
##堤
##堪
##堯
##堰
##報
##場
##堵
##堺
##堿
##塊
##塌
##塑
##塔
##塗
##塘
##塚
##塞
##塢
##塩
##填
##塬
##塭
##塵
##塾
##墀
##境
##墅
##墉
##墊
##墒
##墓
##増
##墘
##墙
##墜
##增
##墟
##墨
##墩
##墮
##墳
##墻
##墾
##壁
##壅
##壆
##壇
##壊
##壑
##壓
##壕
##壘
##壞
##壟
##壢
##壤
##壩
##士
##壬
##壮
##壯
##声
##売
##壳
##壶
##壹
##壺
##壽
##处
##备
##変
##复
##夏
##夔
##夕
##外
##夙
##多
##夜
##够
##夠
##夢
##夥
##大
##天
##太
##夫
##夭
##央
##夯
##失
##头
##夷
##夸
##夹
##夺
##夾
##奂
##奄
##奇
##奈
##奉
##奋
##奎
##奏
##奐
##契
##奔
##奕
##奖
##套
##奘
##奚
##奠
##奢
##奥
##奧
##奪
##奬
##奮
##女
##奴
##奶
##奸
##她
##好
##如
##妃
##妄
##妆
##妇
##妈
##妊
##妍
##妒
##妓
##妖
##妘
##妙
##妝
##妞
##妣
##妤
##妥
##妨
##妩
##妪
##妮
##妲
##妳
##妹
##妻
##妾
##姆
##姉
##姊
##始
##姍
##姐
##姑
##姒
##姓
##委
##姗
##姚
##姜
##姝
##姣
##姥
##姦
##姨
##姪
##姫
##姬
##姹
##姻
##姿
##威
##娃
##娄
##娅
##娆
##娇
##娉
##娑
##娓
##娘
##娛
##娜
##娟
##娠
##娣
##娥
##娩
##娱
##娲
##娴
##娶
##娼
##婀
##婁
##婆
##婉
##婊
##婕
##婚
##婢
##婦
##婧
##婪
##婭
##婴
##婵
##婶
##婷
##婺
##婿
##媒
##媚
##媛
##媞
##媧
##媲
##媳
##媽
##媾
##嫁
##嫂
##嫉
##嫌
##嫑
##嫔
##嫖
##嫘
##嫚
##嫡
##嫣
##嫦
##嫩
##嫲
##嫵
##嫻
##嬅
##嬉
##嬌
##嬗
##嬛
##嬢
##嬤
##嬪
##嬰
##嬴
##嬷
##嬸
##嬿
##孀
##孃
##子
##孑
##孔
##孕
##孖
##字
##存
##孙
##孚
##孛
##孜
##孝
##孟
##孢
##季
##孤
##学
##孩
##孪
##孫
##孬
##孰
##孱
##孳
##孵
##學
##孺
##孽
##孿
##宁
##它
##宅
##宇
##守
##安
##宋
##完
##宏
##宓
##宕
##宗
##官
##宙
##定
##宛
##宜
##宝
##实
##実
##宠
##审
##客
##宣
##室
##宥
##宦
##宪
##宫
##宮
##宰
##害
##宴
##宵
##家
##宸
##容
##宽
##宾
##宿
##寂
##寄
##寅
##密
##寇
##富
##寐
##寒
##寓
##寛
##寝
##寞
##察
##寡
##寢
##寥
##實
##寧
##寨
##審
##寫
##寬
##寮
##寰
##寵
##寶
##寸
##对
##寺
##寻
##导
##対
##寿
##封
##専
##射
##将
##將
##專
##尉
##尊
##尋
##對
##導
##小
##少
##尔
##尕
##尖
##尘
##尚
##尝
##尤
##尧
##尬
##就
##尴
##尷
##尸
##尹
##尺
##尻
##尼
##尽
##尾
##尿
##局
##屁
##层
##屄
##居
##屆
##屈
##屉
##届
##屋
##屌
##屍
##屎
##屏
##屐
##屑
##展
##屜
##属
##屠
##屡
##屢
##層
##履
##屬
##屯
##山
##屹
##屿
##岀
##岁
##岂
##岌
##岐
##岑
##岔
##岖
##岗
##岘
##岙
##岚
##岛
##岡
##岩
##岫
##岬
##岭
##岱
##岳
##岷
##岸
##峇
##峋
##峒
##峙
##峡
##峤
##峥
##峦
##峨
##峪
##峭
##峯
##峰
##峴
##島
##峻
##峽
##崁
##崂
##崆
##崇
##崎
##崑
##崔
##崖
##崗
##崙
##崛
##崧
##崩
##崭
##崴
##崽
##嵇
##嵊
##嵋
##嵌
##嵐
##嵘
##嵩
##嵬
##嵯
##嶂
##嶄
##嶇
##嶋
##嶙
##嶺
##嶼
##嶽
##巅
##巍
##巒
##巔
##巖
##川
##州
##巡
##巢
##工
##左
##巧
##巨
##巩
##巫
##差
##己
##已
##巳
##巴
##巷
##巻
##巽
##巾
##巿
##币
##市
##布
##帅
##帆
##师
##希
##帐
##帑
##帕
##帖
##帘
##帚
##帛
##帜
##帝
##帥
##带
##帧
##師
##席
##帮
##帯
##帰
##帳
##帶
##帷
##常
##帼
##帽
##幀
##幂
##幄
##幅
##幌
##幔
##幕
##幟
##幡
##幢
##幣
##幫
##干
##平
##年
##并
##幸
##幹
##幺
##幻
##幼
##幽
##幾
##广
##庁
##広
##庄
##庆
##庇
##床
##序
##庐
##库
##应
##底
##庖
##店
##庙
##庚
##府
##庞
##废
##庠
##度
##座
##庫
##庭
##庵
##庶
##康
##庸
##庹
##庾
##廁
##廂
##廃
##廈
##廉
##廊
##廓
##廖
##廚
##廝
##廟
##廠
##廢
##廣
##廬
##廳
##延
##廷
##建
##廿
##开
##弁
##异
##弃
##弄
##弈
##弊
##弋
##式
##弑
##弒
##弓
##弔
##引
##弗
##弘
##弛
##弟
##张
##弥
##弦
##弧
##弩
##弭
##弯
##弱
##張
##強
##弹
##强
##弼
##弾
##彅
##彆
##彈
##彌
##彎
##归
##当
##录
##彗
##彙
##彝
##形
##彤
##彥
##彦
##彧
##彩
##彪
##彫
##彬
##彭
##彰
##影
##彷
##役
##彻
##彼
##彿
##往
##征
##径
##待
##徇
##很
##徉
##徊
##律
##後
##徐
##徑
##徒
##従
##徕
##得
##徘
##徙
##徜
##從
##徠
##御
##徨
##復
##循
##徬
##微
##徳
##徴
##徵
##德
##徹
##徼
##徽
##心
##必
##忆
##忌
##忍
##忏
##忐
##忑
##忒
##忖
##志
##忘
##忙
##応
##忠
##忡
##忤
##忧
##忪
##快
##忱
##念
##忻
##忽
##忿
##怀
##态
##怂
##怅
##怆
##怎
##怏
##怒
##怔
##怕
##怖
##怙
##怜
##思
##怠
##怡
##急
##怦
##性
##怨
##怪
##怯
##怵
##总
##怼
##恁
##恃
##恆
##恋
##恍
##恐
##恒
##恕
##恙
##恚
##恢
##恣
##恤
##恥
##恨
##恩
##恪
##恫
##恬
##恭
##息
##恰
##恳
##恵
##恶
##恸
##恺
##恻
##恼
##恿
##悄
##悅
##悉
##悌
##悍
##悔
##悖
##悚
##悟
##悠
##患
##悦
##您
##悩
##悪
##悬
##悯
##悱
##悲
##悴
##悵
##悶
##悸
##悻
##悼
##悽
##情
##惆
##惇
##惊
##惋
##惑
##惕
##惘
##惚
##惜
##惟
##惠
##惡
##惦
##惧
##惨
##惩
##惫
##惬
##惭
##惮
##惯
##惰
##惱
##想
##惴
##惶
##惹
##惺
##愁
##愆
##愈
##愉
##愍
##意
##愕
##愚
##愛
##愜
##感
##愣
##愤
##愧
##愫
##愷
##愿
##慄
##慈
##態
##慌
##慎
##慑
##慕
##慘
##慚
##慟
##慢
##慣
##慧
##慨
##慫
##慮
##慰
##慳
##慵
##慶
##慷
##慾
##憂
##憊
##憋
##憎
##憐
##憑
##憔
##憚
##憤
##憧
##憨
##憩
##憫
##憬
##憲
##憶
##憾
##懂
##懇
##懈
##應
##懊
##懋
##懑
##懒
##懦
##懲
##懵
##懶
##懷
##懸
##懺
##懼
##懾
##懿
##戀
##戈
##戊
##戌
##戍
##戎
##戏
##成
##我
##戒
##戕
##或
##战
##戚
##戛
##戟
##戡
##戦
##截
##戬
##戮
##戰
##戲
##戳
##戴
##戶
##户
##戸
##戻
##戾
##房
##所
##扁
##扇
##扈
##扉
##手
##才
##扎
##扑
##扒
##打
##扔
##払
##托
##扛
##扣
##扦
##执
##扩
##扪
##扫
##扬
##扭
##扮
##扯
##扰
##扱
##扳
##扶
##批
##扼
##找
##承
##技
##抄
##抉
##把
##抑
##抒
##抓
##投
##抖
##抗
##折
##抚
##抛
##抜
##択
##抟
##抠
##抡
##抢
##护
##报
##抨
##披
##抬
##抱
##抵
##抹
##押
##抽
##抿
##拂
##拄
##担
##拆
##拇
##拈
##拉
##拋
##拌
##拍
##拎
##拐
##拒
##拓
##拔
##拖
##拗
##拘
##拙
##拚
##招
##拜
##拟
##拡
##拢
##拣
##拥
##拦
##拧
##拨
##择
##括
##拭
##拮
##拯
##拱
##拳
##拴
##拷
##拼
##拽
##拾
##拿
##持
##挂
##指
##挈
##按
##挎
##挑
##挖
##挙
##挚
##挛
##挝
##挞
##挟
##挠
##挡
##挣
##挤
##挥
##挨
##挪
##挫
##振
##挲
##挹
##挺
##挽
##挾
##捂
##捅
##捆
##捉
##捋
##捌
##捍
##捎
##捏
##捐
##捕
##捞
##损
##捡
##换
##捣
##捧
##捨
##捩
##据
##捱
##捲
##捶
##捷
##捺
##捻
##掀
##掂
##掃
##掇
##授
##掉
##掌
##掏
##掐
##排
##掖
##掘
##掙
##掛
##掠
##採
##探
##掣
##接
##控
##推
##掩
##措
##掬
##掰
##掲
##掳
##掴
##掷
##掸
##掺
##揀
##揃
##揄
##揆
##揉
##揍
##描
##提
##插
##揖
##揚
##換
##握
##揣
##揩
##揪
##揭
##揮
##援
##揶
##揸
##揹
##揽
##搀
##搁
##搂
##搅
##損
##搏
##搐
##搓
##搔
##搖
##搗
##搜
##搞
##搡
##搪
##搬
##搭
##搵
##搶
##携
##搽
##摀
##摁
##摄
##摆
##摇
##摈
##摊
##摒
##摔
##摘
##摞
##摟
##摧
##摩
##摯
##摳
##摸
##摹
##摺
##摻
##撂
##撃
##撅
##撇
##撈
##撐
##撑
##撒
##撓
##撕
##撚
##撞
##撤
##撥
##撩
##撫
##撬
##播
##撮
##撰
##撲
##撵
##撷
##撸
##撻
##撼
##撿
##擀
##擁
##擂
##擄
##擅
##擇
##擊
##擋
##操
##擎
##擒
##擔
##擘
##據
##擞
##擠
##擡
##擢
##擦
##擬
##擰
##擱
##擲
##擴
##擷
##擺
##擼
##擾
##攀
##攏
##攒
##攔
##攘
##攙
##攜
##攝
##攞
##攢
##攣
##攤
##攥
##攪
##攫
##攬
##支
##收
##攸
##改
##攻
##放
##政
##故
##效
##敌
##敍
##敎
##敏
##救
##敕
##敖
##敗
##敘
##教
##敛
##敝
##敞
##敢
##散
##敦
##敬
##数
##敲
##整
##敵
##敷
##數
##斂
##斃
##文
##斋
##斌
##斎
##斐
##斑
##斓
##斗
##料
##斛
##斜
##斟
##斡
##斤
##斥
##斧
##斩
##斫
##斬
##断
##斯
##新
##斷
##方
##於
##施
##旁
##旃
##旅
##旋
##旌
##旎
##族
##旖
##旗
##无
##既
##日
##旦
##旧
##旨
##早
##旬
##旭
##旮
##旱
##时
##旷
##旺
##旻
##昀
##昂
##昆
##昇
##昉
##昊
##昌
##明
##昏
##易
##昔
##昕
##昙
##星
##映
##春
##昧
##昨
##昭
##是
##昱
##昴
##昵
##昶
##昼
##显
##晁
##時
##晃
##晉
##晋
##晌
##晏
##晒
##晓
##晔
##晕
##晖
##晗
##晚
##晝
##晞
##晟
##晤
##晦
##晨
##晩
##普
##景
##晰
##晴
##晶
##晷
##智
##晾
##暂
##暄
##暇
##暈
##暉
##暌
##暐
##暑
##暖
##暗
##暝
##暢
##暧
##暨
##暫
##暮
##暱
##暴
##暸
##暹
##曄
##曆
##曇
##曉
##曖
##曙
##曜
##曝
##曠
##曦
##曬
##曰
##曲
##曳
##更
##書
##曹
##曼
##曾
##替
##最
##會
##月
##有
##朋
##服
##朐
##朔
##朕
##朗
##望
##朝
##期
##朦
##朧
##木
##未
##末
##本
##札
##朮
##术
##朱
##朴
##朵
##机
##朽
##杀
##杂
##权
##杆
##杈
##杉
##李
##杏
##材
##村
##杓
##杖
##杜
##杞
##束
##杠
##条
##来
##杨
##杭
##杯
##杰
##東
##杳
##杵
##杷
##杼
##松
##板
##极
##构
##枇
##枉
##枋
##析
##枕
##林
##枚
##果
##枝
##枢
##枣
##枪
##枫
##枭
##枯
##枰
##枱
##枳
##架
##枷
##枸
##柄
##柏
##某
##柑
##柒
##染
##柔
##柘
##柚
##柜
##柞
##柠
##柢
##查
##柩
##柬
##柯
##柱
##柳
##柴
##柵
##査
##柿
##栀
##栃
##栄
##栅
##标
##栈
##栉
##栋
##栎
##栏
##树
##栓
##栖
##栗
##校
##栩
##株
##样
##核
##根
##格
##栽
##栾
##桀
##桁
##桂
##桃
##桅
##框
##案
##桉
##桌
##桎
##桐
##桑
##桓
##桔
##桜
##桠
##桡
##桢
##档
##桥
##桦
##桧
##桨
##桩
##桶
##桿
##梁
##梅
##梆
##梏
##梓
##梗
##條
##梟
##梢
##梦
##梧
##梨
##梭
##梯
##械
##梳
##梵
##梶
##检
##棂
##棄
##棉
##棋
##棍
##棒
##棕
##棗
##棘
##棚
##棟
##棠
##棣
##棧
##森
##棱
##棲
##棵
##棹
##棺
##椁
##椅
##椋
##植
##椎
##椒
##検
##椪
##椭
##椰
##椹
##椽
##椿
##楂
##楊
##楓
##楔
##楚
##楝
##楞
##楠
##楣
##楨
##楫
##業
##楮
##極
##楷
##楸
##楹
##楼
##楽
##概
##榄
##榆
##榈
##榉
##榔
##榕
##榖
##榛
##榜
##榨
##榫
##榭
##榮
##榱
##榴
##榷
##榻
##槁
##槃
##構
##槌
##槍
##槎
##槐
##槓
##様
##槛
##槟
##槤
##槭
##槲
##槳
##槻
##槽
##槿
##樁
##樂
##樊
##樑
##樓
##標
##樞
##樟
##模
##樣
##権
##横
##樫
##樯
##樱
##樵
##樸
##樹
##樺
##樽
##樾
##橄
##橇
##橋
##橐
##橘
##橙
##機
##橡
##橢
##橫
##橱
##橹
##橼
##檀
##檄
##檎
##檐
##檔
##檗
##檜
##檢
##檬
##檯
##檳
##檸
##檻
##櫃
##櫚
##櫛
##櫥
##櫸
##櫻
##欄
##權
##欒
##欖
##欠
##次
##欢
##欣
##欧
##欲
##欸
##欺
##欽
##款
##歆
##歇
##歉
##歌
##歎
##歐
##歓
##歙
##歛
##歡
##止
##正
##此
##步
##武
##歧
##歩
##歪
##歯
##歲
##歳
##歴
##歷
##歸
##歹
##死
##歼
##殁
##殃
##殆
##殇
##殉
##殊
##残
##殒
##殓
##殖
##殘
##殞
##殡
##殤
##殭
##殯
##殲
##殴
##段
##殷
##殺
##殼
##殿
##毀
##毁
##毂
##毅
##毆
##毋
##母
##毎
##每
##毒
##毓
##比
##毕
##毗
##毘
##毙
##毛
##毡
##毫
##毯
##毽
##氈
##氏
##氐
##民
##氓
##气
##氖
##気
##氙
##氛
##氟
##氡
##氢
##氣
##氤
##氦
##氧
##氨
##氪
##氫
##氮
##氯
##氰
##氲
##水
##氷
##永
##氹
##氾
##汀
##汁
##求
##汆
##汇
##汉
##汎
##汐
##汕
##汗
##汙
##汛
##汝
##汞
##江
##池
##污
##汤
##汨
##汩
##汪
##汰
##汲
##汴
##汶
##汹
##決
##汽
##汾
##沁
##沂
##沃
##沅
##沈
##沉
##沌
##沏
##沐
##沒
##沓
##沖
##沙
##沛
##沟
##没
##沢
##沣
##沥
##沦
##沧
##沪
##沫
##沭
##沮
##沱
##河
##沸
##油
##治
##沼
##沽
##沾
##沿
##況
##泄
##泉
##泊
##泌
##泓
##法
##泗
##泛
##泞
##泠
##泡
##波
##泣
##泥
##注
##泪
##泫
##泮
##泯
##泰
##泱
##泳
##泵
##泷
##泸
##泻
##泼
##泽
##泾
##洁
##洄
##洋
##洒
##洗
##洙
##洛
##洞
##津
##洩
##洪
##洮
##洱
##洲
##洵
##洶
##洸
##洹
##活
##洼
##洽
##派
##流
##浃
##浄
##浅
##浆
##浇
##浊
##测
##济
##浏
##浑
##浒
##浓
##浔
##浙
##浚
##浜
##浣
##浦
##浩
##浪
##浬
##浮
##浯
##浴
##海
##浸
##涂
##涅
##涇
##消
##涉
##涌
##涎
##涓
##涔
##涕
##涙
##涛
##涝
##涞
##涟
##涠
##涡
##涣
##涤
##润
##涧
##涨
##涩
##涪
##涮
##涯
##液
##涵
##涸
##涼
##涿
##淀
##淄
##淅
##淆
##淇
##淋
##淌
##淑
##淒
##淖
##淘
##淙
##淚
##淞
##淡
##淤
##淦
##淨
##淩
##淪
##淫
##淬
##淮
##深
##淳
##淵
##混
##淹
##淺
##添
##淼
##清
##済
##渉
##渊
##渋
##渍
##渎
##渐
##渔
##渗
##渙
##渚
##減
##渝
##渠
##渡
##渣
##渤
##渥
##渦
##温
##測
##渭
##港
##渲
##渴
##游
##渺
##渾
##湃
##湄
##湊
##湍
##湖
##湘
##湛
##湟
##湧
##湫
##湮
##湯
##湳
##湾
##湿
##満
##溃
##溅
##溉
##溏
##源
##準
##溜
##溝
##溟
##溢
##溥
##溧
##溪
##溫
##溯
##溱
##溴
##溶
##溺
##溼
##滁
##滂
##滄
##滅
##滇
##滋
##滌
##滑
##滓
##滔
##滕
##滙
##滚
##滝
##滞
##滟
##满
##滢
##滤
##滥
##滦
##滨
##滩
##滬
##滯
##滲
##滴
##滷
##滸
##滾
##滿
##漁
##漂
##漆
##漉
##漏
##漓
##演
##漕
##漠
##漢
##漣
##漩
##漪
##漫
##漬
##漯
##漱
##漲
##漳
##漸
##漾
##漿
##潆
##潇
##潋
##潍
##潑
##潔
##潘
##潛
##潜
##潞
##潟
##潢
##潤
##潦
##潧
##潭
##潮
##潰
##潴
##潸
##潺
##潼
##澀
##澄
##澆
##澈
##澍
##澎
##澗
##澜
##澡
##澤
##澧
##澱
##澳
##澹
##激
##濁
##濂
##濃
##濑
##濒
##濕
##濘
##濛
##濟
##濠
##濡
##濤
##濫
##濬
##濮
##濯
##濱
##濺
##濾
##瀅
##瀆
##瀉
##瀋
##瀏
##瀑
##瀕
##瀘
##瀚
##瀛
##瀝
##瀞
##瀟
##瀧
##瀨
##瀬
##瀰
##瀾
##灌
##灏
##灑
##灘
##灝
##灞
##灣
##火
##灬
##灭
##灯
##灰
##灵
##灶
##灸
##灼
##災
##灾
##灿
##炀
##炁
##炅
##炉
##炊
##炎
##炒
##炔
##炕
##炖
##炙
##炜
##炫
##炬
##炭
##炮
##炯
##炳
##炷
##炸
##点
##為
##炼
##炽
##烁
##烂
##烃
##烈
##烊
##烏
##烘
##烙
##烛
##烟
##烤
##烦
##烧
##烨
##烩
##烫
##烬
##热
##烯
##烷
##烹
##烽
##焉
##焊
##焕
##焖
##焗
##焘
##焙
##焚
##焜
##無
##焦
##焯
##焰
##焱
##然
##焼
##煅
##煉
##煊
##煌
##煎
##煒
##煖
##煙
##煜
##煞
##煤
##煥
##煦
##照
##煨
##煩
##煮
##煲
##煸
##煽
##熄
##熊
##熏
##熒
##熔
##熙
##熟
##熠
##熨
##熬
##熱
##熵
##熹
##熾
##燁
##燃
##燄
##燈
##燉
##燊
##燎
##燒
##燔
##燕
##燙
##燜
##營
##燥
##燦
##燧
##燭
##燮
##燴
##燻
##燼
##燿
##爆
##爍
##爐
##爛
##爪
##爬
##爭
##爰
##爱
##爲
##爵
##父
##爷
##爸
##爹
##爺
##爻
##爽
##爾
##牆
##片
##版
##牌
##牍
##牒
##牙
##牛
##牝
##牟
##牠
##牡
##牢
##牦
##牧
##物
##牯
##牲
##牴
##牵
##特
##牺
##牽
##犀
##犁
##犄
##犊
##犍
##犒
##犢
##犧
##犬
##犯
##状
##犷
##犸
##犹
##狀
##狂
##狄
##狈
##狎
##狐
##狒
##狗
##狙
##狞
##狠
##狡
##狩
##独
##狭
##狮
##狰
##狱
##狸
##狹
##狼
##狽
##猎
##猕
##猖
##猗
##猙
##猛
##猜
##猝
##猥
##猩
##猪
##猫
##猬
##献
##猴
##猶
##猷
##猾
##猿
##獄
##獅
##獎
##獐
##獒
##獗
##獠
##獣
##獨
##獭
##獰
##獲
##獵
##獷
##獸
##獺
##獻
##獼
##獾
##玄
##率
##玉
##王
##玑
##玖
##玛
##玟
##玠
##玥
##玩
##玫
##玮
##环
##现
##玲
##玳
##玷
##玺
##玻
##珀
##珂
##珅
##珈
##珉
##珊
##珍
##珏
##珐
##珑
##珙
##珞
##珠
##珣
##珥
##珩
##珪
##班
##珮
##珲
##珺
##現
##球
##琅
##理
##琇
##琉
##琊
##琍
##琏
##琐
##琛
##琢
##琥
##琦
##琨
##琪
##琬
##琮
##琰
##琲
##琳
##琴
##琵
##琶
##琺
##琼
##瑀
##瑁
##瑄
##瑋
##瑕
##瑗
##瑙
##瑚
##瑛
##瑜
##瑞
##瑟
##瑠
##瑣
##瑤
##瑩
##瑪
##瑯
##瑰
##瑶
##瑾
##璀
##璁
##璃
##璇
##璉
##璋
##璎
##璐
##璜
##璞
##璟
##璧
##璨
##環
##璽
##璿
##瓊
##瓏
##瓒
##瓜
##瓢
##瓣
##瓤
##瓦
##瓮
##瓯
##瓴
##瓶
##瓷
##甄
##甌
##甕
##甘
##甙
##甚
##甜
##生
##產
##産
##甥
##甦
##用
##甩
##甫
##甬
##甭
##甯
##田
##由
##甲
##申
##电
##男
##甸
##町
##画
##甾
##畀
##畅
##界
##畏
##畑
##畔
##留
##畜
##畝
##畢
##略
##畦
##番
##畫
##異
##畲
##畳
##畴
##當
##畸
##畹
##畿
##疆
##疇
##疊
##疏
##疑
##疔
##疖
##疗
##疙
##疚
##疝
##疟
##疡
##疣
##疤
##疥
##疫
##疮
##疯
##疱
##疲
##疳
##疵
##疸
##疹
##疼
##疽
##疾
##痂
##病
##症
##痈
##痉
##痊
##痍
##痒
##痔
##痕
##痘
##痙
##痛
##痞
##痠
##痢
##痣
##痤
##痧
##痨
##痪
##痫
##痰
##痱
##痴
##痹
##痺
##痼
##痿
##瘀
##瘁
##瘋
##瘍
##瘓
##瘘
##瘙
##瘟
##瘠
##瘡
##瘢
##瘤
##瘦
##瘧
##瘩
##瘪
##瘫
##瘴
##瘸
##瘾
##療
##癇
##癌
##癒
##癖
##癜
##癞
##癡
##癢
##癣
##癥
##癫
##癬
##癮
##癱
##癲
##癸
##発
##登
##發
##白
##百
##皂
##的
##皆
##皇
##皈
##皋
##皎
##皑
##皓
##皖
##皙
##皚
##皮
##皰
##皱
##皴
##皺
##皿
##盂
##盃
##盅
##盆
##盈
##益
##盎
##盏
##盐
##监
##盒
##盔
##盖
##盗
##盘
##盛
##盜
##盞
##盟
##盡
##監
##盤
##盥
##盧
##盪
##目
##盯
##盱
##盲
##直
##相
##盹
##盼
##盾
##省
##眈
##眉
##看
##県
##眙
##眞
##真
##眠
##眦
##眨
##眩
##眯
##眶
##眷
##眸
##眺
##眼
##眾
##着
##睁
##睇
##睏
##睐
##睑
##睛
##睜
##睞
##睡
##睢
##督
##睥
##睦
##睨
##睪
##睫
##睬
##睹
##睽
##睾
##睿
##瞄
##瞅
##瞇
##瞋
##瞌
##瞎
##瞑
##瞒
##瞓
##瞞
##瞟
##瞠
##瞥
##瞧
##瞩
##瞪
##瞬
##瞭
##瞰
##瞳
##瞻
##瞼
##瞿
##矇
##矍
##矗
##矚
##矛
##矜
##矢
##矣
##知
##矩
##矫
##短
##矮
##矯
##石
##矶
##矽
##矾
##矿
##码
##砂
##砌
##砍
##砒
##研
##砖
##砗
##砚
##砝
##砣
##砥
##砧
##砭
##砰
##砲
##破
##砷
##砸
##砺
##砼
##砾
##础
##硅
##硐
##硒
##硕
##硝
##硫
##硬
##确
##硯
##硼
##碁
##碇
##碉
##碌
##碍
##碎
##碑
##碓
##碗
##碘
##碚
##碛
##碟
##碣
##碧
##碩
##碰
##碱
##碳
##碴
##確
##碼
##碾
##磁
##磅
##磊
##磋
##磐
##磕
##磚
##磡
##磨
##磬
##磯
##磲
##磷
##磺
##礁
##礎
##礙
##礡
##礦
##礪
##礫
##礴
##示
##礼
##社
##祀
##祁
##祂
##祇
##祈
##祉
##祎
##祐
##祕
##祖
##祗
##祚
##祛
##祜
##祝
##神
##祟
##祠
##祢
##祥
##票
##祭
##祯
##祷
##祸
##祺
##祿
##禀
##禁
##禄
##禅
##禍
##禎
##福
##禛
##禦
##禧
##禪
##禮
##禱
##禹
##禺
##离
##禽
##禾
##禿
##秀
##私
##秃
##秆
##秉
##秋
##种
##科
##秒
##秘
##租
##秣
##秤
##秦
##秧
##秩
##秭
##积
##称
##秸
##移
##秽
##稀
##稅
##程
##稍
##税
##稔
##稗
##稚
##稜
##稞
##稟
##稠
##稣
##種
##稱
##稲
##稳
##稷
##稹
##稻
##稼
##稽
##稿
##穀
##穂
##穆
##穌
##積
##穎
##穗
##穢
##穩
##穫
##穴
##究
##穷
##穹
##空
##穿
##突
##窃
##窄
##窈
##窍
##窑
##窒
##窓
##窕
##窖
##窗
##窘
##窜
##窝
##窟
##窠
##窥
##窦
##窨
##窩
##窪
##窮
##窯
##窺
##窿
##竄
##竅
##竇
##竊
##立
##竖
##站
##竜
##竞
##竟
##章
##竣
##童
##竭
##端
##競
##竹
##竺
##竽
##竿
##笃
##笆
##笈
##笋
##笏
##笑
##笔
##笙
##笛
##笞
##笠
##符
##笨
##第
##笹
##笺
##笼
##筆
##等
##筊
##筋
##筍
##筏
##筐
##筑
##筒
##答
##策
##筛
##筝
##筠
##筱
##筲
##筵
##筷
##筹
##签
##简
##箇
##箋
##箍
##箏
##箐
##箔
##箕
##算
##箝
##管
##箩
##箫
##箭
##箱
##箴
##箸
##節
##篁
##範
##篆
##篇
##築
##篑
##篓
##篙
##篝
##篠
##篡
##篤
##篩
##篪
##篮
##篱
##篷
##簇
##簌
##簍
##簡
##簦
##簧
##簪
##簫
##簷
##簸
##簽
##簾
##簿
##籁
##籃
##籌
##籍
##籐
##籟
##籠
##籤
##籬
##籮
##籲
##米
##类
##籼
##籽
##粄
##粉
##粑
##粒
##粕
##粗
##粘
##粟
##粤
##粥
##粧
##粪
##粮
##粱
##粲
##粳
##粵
##粹
##粼
##粽
##精
##粿
##糅
##糊
##糍
##糕
##糖
##糗
##糙
##糜
##糞
##糟
##糠
##糧
##糬
##糯
##糰
##糸
##系
##糾
##紀
##紂
##約
##紅
##紉
##紊
##紋
##納
##紐
##紓
##純
##紗
##紘
##紙
##級
##紛
##紜
##素
##紡
##索
##紧
##紫
##紮
##累
##細
##紳
##紹
##紺
##終
##絃
##組
##絆
##経
##結
##絕
##絞
##絡
##絢
##給
##絨
##絮
##統
##絲
##絳
##絵
##絶
##絹
##綁
##綏
##綑
##經
##継
##続
##綜
##綠
##綢
##綦
##綫
##綬
##維
##綱
##網
##綴
##綵
##綸
##綺
##綻
##綽
##綾
##綿
##緊
##緋
##総
##緑
##緒
##緘
##線
##緝
##緞
##締
##緣
##編
##緩
##緬
##緯
##練
##緹
##緻
##縁
##縄
##縈
##縛
##縝
##縣
##縫
##縮
##縱
##縴
##縷
##總
##績
##繁
##繃
##繆
##繇
##繋
##織
##繕
##繚
##繞
##繡
##繩
##繪
##繫
##繭
##繳
##繹
##繼
##繽
##纂
##續
##纍
##纏
##纓
##纔
##纖
##纜
##纠
##红
##纣
##纤
##约
##级
##纨
##纪
##纫
##纬
##纭
##纯
##纰
##纱
##纲
##纳
##纵
##纶
##纷
##纸
##纹
##纺
##纽
##纾
##线
##绀
##练
##组
##绅
##细
##织
##终
##绊
##绍
##绎
##经
##绑
##绒
##结
##绔
##绕
##绘
##给
##绚
##绛
##络
##绝
##绞
##统
##绡
##绢
##绣
##绥
##绦
##继
##绩
##绪
##绫
##续
##绮
##绯
##绰
##绳
##维
##绵
##绶
##绷
##绸
##绻
##综
##绽
##绾
##绿
##缀
##缄
##缅
##缆
##缇
##缈
##缉
##缎
##缓
##缔
##缕
##编
##缘
##缙
##缚
##缜
##缝
##缠
##缢
##缤
##缥
##缨
##缩
##缪
##缭
##缮
##缰
##缱
##缴
##缸
##缺
##缽
##罂
##罄
##罌
##罐
##网
##罔
##罕
##罗
##罚
##罡
##罢
##罩
##罪
##置
##罰
##署
##罵
##罷
##罹
##羁
##羅
##羈
##羊
##羌
##美
##羔
##羚
##羞
##羟
##羡
##羣
##群
##羥
##羧
##羨
##義
##羯
##羲
##羸
##羹
##羽
##羿
##翁
##翅
##翊
##翌
##翎
##習
##翔
##翘
##翟
##翠
##翡
##翦
##翩
##翰
##翱
##翳
##翹
##翻
##翼
##耀
##老
##考
##耄
##者
##耆
##耋
##而
##耍
##耐
##耒
##耕
##耗
##耘
##耙
##耦
##耨
##耳
##耶
##耷
##耸
##耻
##耽
##耿
##聂
##聆
##聊
##聋
##职
##聒
##联
##聖
##聘
##聚
##聞
##聪
##聯
##聰
##聲
##聳
##聴
##聶
##職
##聽
##聾
##聿
##肃
##肄
##肅
##肆
##肇
##肉
##肋
##肌
##肏
##肓
##肖
##肘
##肚
##肛
##肝
##肠
##股
##肢
##肤
##肥
##肩
##肪
##肮
##肯
##肱
##育
##肴
##肺
##肽
##肾
##肿
##胀
##胁
##胃
##胄
##胆
##背
##胍
##胎
##胖
##胚
##胛
##胜
##胝
##胞
##胡
##胤
##胥
##胧
##胫
##胭
##胯
##胰
##胱
##胳
##胴
##胶
##胸
##胺
##能
##脂
##脅
##脆
##脇
##脈
##脉
##脊
##脍
##脏
##脐
##脑
##脓
##脖
##脘
##脚
##脛
##脣
##脩
##脫
##脯
##脱
##脲
##脳
##脸
##脹
##脾
##腆
##腈
##腊
##腋
##腌
##腎
##腐
##腑
##腓
##腔
##腕
##腥
##腦
##腩
##腫
##腭
##腮
##腰
##腱
##腳
##腴
##腸
##腹
##腺
##腻
##腼
##腾
##腿
##膀
##膈
##膊
##膏
##膑
##膘
##膚
##膛
##膜
##膝
##膠
##膦
##膨
##膩
##膳
##膺
##膻
##膽
##膾
##膿
##臀
##臂
##臃
##臆
##臉
##臊
##臍
##臓
##臘
##臟
##臣
##臥
##臧
##臨
##自
##臬
##臭
##至
##致
##臺
##臻
##臼
##臾
##舀
##舂
##舅
##舆
##與
##興
##舉
##舊
##舌
##舍
##舎
##舐
##舒
##舔
##舖
##舗
##舛
##舜
##舞
##舟
##航
##舫
##般
##舰
##舱
##舵
##舶
##舷
##舸
##船
##舺
##舾
##艇
##艋
##艘
##艙
##艦
##艮
##良
##艰
##艱
##色
##艳
##艷
##艹
##艺
##艾
##节
##芃
##芈
##芊
##芋
##芍
##芎
##芒
##芙
##芜
##芝
##芡
##芥
##芦
##芩
##芪
##芫
##芬
##芭
##芮
##芯
##花
##芳
##芷
##芸
##芹
##芻
##芽
##芾
##苁
##苄
##苇
##苋
##苍
##苏
##苑
##苒
##苓
##苔
##苕
##苗
##苛
##苜
##苞
##苟
##苡
##苣
##若
##苦
##苫
##苯
##英
##苷
##苹
##苻
##茁
##茂
##范
##茄
##茅
##茉
##茎
##茏
##茗
##茜
##茧
##茨
##茫
##茬
##茭
##茯
##茱
##茲
##茴
##茵
##茶
##茸
##茹
##茼
##荀
##荃
##荆
##草
##荊
##荏
##荐
##荒
##荔
##荖
##荘
##荚
##荞
##荟
##荠
##荡
##荣
##荤
##荥
##荧
##荨
##荪
##荫
##药
##荳
##荷
##荸
##荻
##荼
##荽
##莅
##莆
##莉
##莊
##莎
##莒
##莓
##莖
##莘
##莞
##莠
##莢
##莧
##莪
##莫
##莱
##莲
##莴
##获
##莹
##莺
##莽
##莿
##菀
##菁
##菅
##菇
##菈
##菊
##菌
##菏
##菓
##菖
##菘
##菜
##菟
##菠
##菡
##菩
##華
##菱
##菲
##菸
##菽
##萁
##萃
##萄
##萊
##萋
##萌
##萍
##萎
##萘
##萝
##萤
##营
##萦
##萧
##萨
##萩
##萬
##萱
##萵
##萸
##萼
##落
##葆
##葉
##著
##葚
##葛
##葡
##董
##葦
##葩
##葫
##葬
##葭
##葯
##葱
##葳
##葵
##葷
##葺
##蒂
##蒋
##蒐
##蒔
##蒙
##蒜
##蒞
##蒟
##蒡
##蒨
##蒲
##蒸
##蒹
##蒻
##蒼
##蒿
##蓁
##蓄
##蓆
##蓉
##蓋
##蓑
##蓓
##蓖
##蓝
##蓟
##蓦
##蓬
##蓮
##蓼
##蓿
##蔑
##蔓
##蔔
##蔗
##蔘
##蔚
##蔡
##蔣
##蔥
##蔫
##蔬
##蔭
##蔵
##蔷
##蔺
##蔻
##蔼
##蔽
##蕁
##蕃
##蕈
##蕉
##蕊
##蕎
##蕙
##蕤
##蕨
##蕩
##蕪
##蕭
##蕲
##蕴
##蕻
##蕾
##薄
##薅
##薇
##薈
##薊
##薏
##薑
##薔
##薙
##薛
##薦
##薨
##薩
##薪
##薬
##薯
##薰
##薹
##藉
##藍
##藏
##藐
##藓
##藕
##藜
##藝
##藤
##藥
##藩
##藹
##藻
##藿
##蘆
##蘇
##蘊
##蘋
##蘑
##蘚
##蘭
##蘸
##蘼
##蘿
##虎
##虏
##虐
##虑
##虔
##處
##虚
##虛
##虜
##虞
##號
##虢
##虧
##虫
##虬
##虱
##虹
##虻
##虽
##虾
##蚀
##蚁
##蚂
##蚊
##蚌
##蚓
##蚕
##蚜
##蚝
##蚣
##蚤
##蚩
##蚪
##蚯
##蚱
##蚵
##蛀
##蛆
##蛇
##蛊
##蛋
##蛎
##蛐
##蛔
##蛙
##蛛
##蛟
##蛤
##蛭
##蛮
##蛰
##蛳
##蛹
##蛻
##蛾
##蜀
##蜂
##蜃
##蜆
##蜇
##蜈
##蜊
##蜍
##蜒
##蜓
##蜕
##蜗
##蜘
##蜚
##蜜
##蜡
##蜢
##蜥
##蜱
##蜴
##蜷
##蜻
##蜿
##蝇
##蝈
##蝉
##蝌
##蝎
##蝕
##蝗
##蝙
##蝟
##蝠
##蝦
##蝨
##蝴
##蝶
##蝸
##蝼
##螂
##螃
##融
##螞
##螢
##螨
##螯
##螳
##螺
##蟀
##蟄
##蟆
##蟋
##蟎
##蟑
##蟒
##蟠
##蟬
##蟲
##蟹
##蟻
##蟾
##蠅
##蠍
##蠔
##蠕
##蠛
##蠟
##蠡
##蠢
##蠣
##蠱
##蠶
##蠹
##蠻
##血
##衄
##衅
##衆
##行
##衍
##術
##衔
##街
##衙
##衛
##衝
##衞
##衡
##衢
##衣
##补
##表
##衩
##衫
##衬
##衮
##衰
##衲
##衷
##衹
##衾
##衿
##袁
##袂
##袄
##袅
##袈
##袋
##袍
##袒
##袖
##袜
##袞
##袤
##袪
##被
##袭
##袱
##裁
##裂
##装
##裆
##裊
##裏
##裔
##裕
##裘
##裙
##補
##裝
##裟
##裡
##裤
##裨
##裱
##裳
##裴
##裸
##裹
##製
##裾
##褂
##複
##褐
##褒
##褓
##褔
##褚
##褥
##褪
##褫
##褲
##褶
##褻
##襁
##襄
##襟
##襠
##襪
##襬
##襯
##襲
##西
##要
##覃
##覆
##覇
##見
##規
##覓
##視
##覚
##覦
##覧
##親
##覬
##観
##覷
##覺
##覽
##觀
##见
##观
##规
##觅
##视
##览
##觉
##觊
##觎
##觐
##觑
##角
##觞
##解
##觥
##触
##觸
##言
##訂
##計
##訊
##討
##訓
##訕
##訖
##託
##記
##訛
##訝
##訟
##訣
##訥
##訪
##設
##許
##訳
##訴
##訶
##診
##註
##証
##詆
##詐
##詔
##評
##詛
##詞
##詠
##詡
##詢
##詣
##試
##詩
##詫
##詬
##詭
##詮
##詰
##話
##該
##詳
##詹
##詼
##誅
##誇
##誉
##誌
##認
##誓
##誕
##誘
##語
##誠
##誡
##誣
##誤
##誥
##誦
##誨
##說
##説
##読
##誰
##課
##誹
##誼
##調
##諄
##談
##請
##諏
##諒
##論
##諗
##諜
##諡
##諦
##諧
##諫
##諭
##諮
##諱
##諳
##諷
##諸
##諺
##諾
##謀
##謁
##謂
##謄
##謊
##謎
##謐
##謔
##謗
##謙
##講
##謝
##謠
##謨
##謬
##謹
##謾
##譁
##證
##譎
##譏
##識
##譙
##譚
##譜
##警
##譬
##譯
##議
##譲
##譴
##護
##譽
##讀
##變
##讓
##讚
##讞
##计
##订
##认
##讥
##讧
##讨
##让
##讪
##讫
##训
##议
##讯
##记
##讲
##讳
##讴
##讶
##讷
##许
##讹
##论
##讼
##讽
##设
##访
##诀
##证
##诃
##评
##诅
##识
##诈
##诉
##诊
##诋
##词
##诏
##译
##试
##诗
##诘
##诙
##诚
##诛
##话
##诞
##诟
##诠
##诡
##询
##诣
##诤
##该
##详
##诧
##诩
##诫
##诬
##语
##误
##诰
##诱
##诲
##说
##诵
##诶
##请
##诸
##诺
##读
##诽
##课
##诿
##谀
##谁
##调
##谄
##谅
##谆
##谈
##谊
##谋
##谌
##谍
##谎
##谏
##谐
##谑
##谒
##谓
##谔
##谕
##谗
##谘
##谙
##谚
##谛
##谜
##谟
##谢
##谣
##谤
##谥
##谦
##谧
##谨
##谩
##谪
##谬
##谭
##谯
##谱
##谲
##谴
##谶
##谷
##豁
##豆
##豇
##豈
##豉
##豊
##豌
##豎
##豐
##豔
##豚
##象
##豢
##豪
##豫
##豬
##豹
##豺
##貂
##貅
##貌
##貓
##貔
##貘
##貝
##貞
##負
##財
##貢
##貧
##貨
##販
##貪
##貫
##責
##貯
##貰
##貳
##貴
##貶
##買
##貸
##費
##貼
##貽
##貿
##賀
##賁
##賂
##賃
##賄
##資
##賈
##賊
##賑
##賓
##賜
##賞
##賠
##賡
##賢
##賣
##賤
##賦
##質
##賬
##賭
##賴
##賺
##購
##賽
##贅
##贈
##贊
##贍
##贏
##贓
##贖
##贛
##贝
##贞
##负
##贡
##财
##责
##贤
##败
##账
##货
##质
##贩
##贪
##贫
##贬
##购
##贮
##贯
##贰
##贱
##贲
##贴
##贵
##贷
##贸
##费
##贺
##贻
##贼
##贾
##贿
##赁
##赂
##赃
##资
##赅
##赈
##赊
##赋
##赌
##赎
##赏
##赐
##赓
##赔
##赖
##赘
##赚
##赛
##赝
##赞
##赠
##赡
##赢
##赣
##赤
##赦
##赧
##赫
##赭
##走
##赳
##赴
##赵
##赶
##起
##趁
##超
##越
##趋
##趕
##趙
##趟
##趣
##趨
##足
##趴
##趵
##趸
##趺
##趾
##跃
##跄
##跆
##跋
##跌
##跎
##跑
##跖
##跚
##跛
##距
##跟
##跡
##跤
##跨
##跩
##跪
##路
##跳
##践
##跷
##跹
##跺
##跻
##踉
##踊
##踌
##踏
##踐
##踝
##踞
##踟
##踢
##踩
##踪
##踮
##踱
##踴
##踵
##踹
##蹂
##蹄
##蹇
##蹈
##蹉
##蹊
##蹋
##蹑
##蹒
##蹙
##蹟
##蹣
##蹤
##蹦
##蹩
##蹬
##蹭
##蹲
##蹴
##蹶
##蹺
##蹼
##蹿
##躁
##躇
##躉
##躊
##躋
##躍
##躏
##躪
##身
##躬
##躯
##躲
##躺
##軀
##車
##軋
##軌
##軍
##軒
##軟
##転
##軸
##軼
##軽
##軾
##較
##載
##輒
##輓
##輔
##輕
##輛
##輝
##輟
##輩
##輪
##輯
##輸
##輻
##輾
##輿
##轄
##轅
##轆
##轉
##轍
##轎
##轟
##车
##轧
##轨
##轩
##转
##轭
##轮
##软
##轰
##轲
##轴
##轶
##轻
##轼
##载
##轿
##较
##辄
##辅
##辆
##辇
##辈
##辉
##辊
##辍
##辐
##辑
##输
##辕
##辖
##辗
##辘
##辙
##辛
##辜
##辞
##辟
##辣
##辦
##辨
##辩
##辫
##辭
##辮
##辯
##辰
##辱
##農
##边
##辺
##辻
##込
##辽
##达
##迁
##迂
##迄
##迅
##过
##迈
##迎
##运
##近
##返
##还
##这
##进
##远
##违
##连
##迟
##迢
##迤
##迥
##迦
##迩
##迪
##迫
##迭
##述
##迴
##迷
##迸
##迹
##迺
##追
##退
##送
##适
##逃
##逅
##逆
##选
##逊
##逍
##透
##逐
##递
##途
##逕
##逗
##這
##通
##逛
##逝
##逞
##速
##造
##逢
##連
##逮
##週
##進
##逵
##逶
##逸
##逻
##逼
##逾
##遁
##遂
##遅
##遇
##遊
##運
##遍
##過
##遏
##遐
##遑
##遒
##道
##達
##違
##遗
##遙
##遛
##遜
##遞
##遠
##遢
##遣
##遥
##遨
##適
##遭
##遮
##遲
##遴
##遵
##遶
##遷
##選
##遺
##遼
##遽
##避
##邀
##邁
##邂
##邃
##還
##邇
##邈
##邊
##邋
##邏
##邑
##邓
##邕
##邛
##邝
##邢
##那
##邦
##邨
##邪
##邬
##邮
##邯
##邰
##邱
##邳
##邵
##邸
##邹
##邺
##邻
##郁
##郅
##郊
##郎
##郑
##郜
##郝
##郡
##郢
##郤
##郦
##郧
##部
##郫
##郭
##郴
##郵
##郷
##郸
##都
##鄂
##鄉
##鄒
##鄔
##鄙
##鄞
##鄢
##鄧
##鄭
##鄰
##鄱
##鄲
##鄺
##酉
##酊
##酋
##酌
##配
##酐
##酒
##酗
##酚
##酝
##酢
##酣
##酥
##酩
##酪
##酬
##酮
##酯
##酰
##酱
##酵
##酶
##酷
##酸
##酿
##醃
##醇
##醉
##醋
##醍
##醐
##醒
##醚
##醛
##醜
##醞
##醣
##醪
##醫
##醬
##醮
##醯
##醴
##醺
##釀
##釁
##采
##釉
##释
##釋
##里
##重
##野
##量
##釐
##金
##釗
##釘
##釜
##針
##釣
##釦
##釧
##釵
##鈀
##鈉
##鈍
##鈎
##鈔
##鈕
##鈞
##鈣
##鈦
##鈪
##鈴
##鈺
##鈾
##鉀
##鉄
##鉅
##鉉
##鉑
##鉗
##鉚
##鉛
##鉤
##鉴
##鉻
##銀
##銃
##銅
##銑
##銓
##銖
##銘
##銜
##銬
##銭
##銮
##銳
##銷
##銹
##鋁
##鋅
##鋒
##鋤
##鋪
##鋰
##鋸
##鋼
##錄
##錐
##錘
##錚
##錠
##錢
##錦
##錨
##錫
##錮
##錯
##録
##錳
##錶
##鍊
##鍋
##鍍
##鍛
##鍥
##鍰
##鍵
##鍺
##鍾
##鎂
##鎊
##鎌
##鎏
##鎔
##鎖
##鎗
##鎚
##鎧
##鎬
##鎮
##鎳
##鏈
##鏖
##鏗
##鏘
##鏞
##鏟
##鏡
##鏢
##鏤
##鏽
##鐘
##鐮
##鐲
##鐳
##鐵
##鐸
##鐺
##鑄
##鑊
##鑑
##鑒
##鑣
##鑫
##鑰
##鑲
##鑼
##鑽
##鑾
##鑿
##针
##钉
##钊
##钎
##钏
##钒
##钓
##钗
##钙
##钛
##钜
##钝
##钞
##钟
##钠
##钡
##钢
##钣
##钤
##钥
##钦
##钧
##钨
##钩
##钮
##钯
##钰
##钱
##钳
##钴
##钵
##钺
##钻
##钼
##钾
##钿
##铀
##铁
##铂
##铃
##铄
##铅
##铆
##铉
##铎
##铐
##铛
##铜
##铝
##铠
##铡
##铢
##铣
##铤
##铨
##铩
##铬
##铭
##铮
##铰
##铲
##铵
##银
##铸
##铺
##链
##铿
##销
##锁
##锂
##锄
##锅
##锆
##锈
##锉
##锋
##锌
##锏
##锐
##锑
##错
##锚
##锟
##锡
##锢
##锣
##锤
##锥
##锦
##锭
##键
##锯
##锰
##锲
##锵
##锹
##锺
##锻
##镀
##镁
##镂
##镇
##镉
##镌
##镍
##镐
##镑
##镕
##镖
##镗
##镛
##镜
##镣
##镭
##镯
##镰
##镳
##镶
##長
##长
##門
##閃
##閉
##開
##閎
##閏
##閑
##閒
##間
##閔
##閘
##閡
##関
##閣
##閥
##閨
##閩
##閱
##閲
##閹
##閻
##閾
##闆
##闇
##闊
##闌
##闍
##闔
##闕
##闖
##闘
##關
##闡
##闢
##门
##闪
##闫
##闭
##问
##闯
##闰
##闲
##间
##闵
##闷
##闸
##闹
##闺
##闻
##闽
##闾
##阀
##阁
##阂
##阅
##阆
##阇
##阈
##阉
##阎
##阐
##阑
##阔
##阕
##阖
##阙
##阚
##阜
##队
##阡
##阪
##阮
##阱
##防
##阳
##阴
##阵
##阶
##阻
##阿
##陀
##陂
##附
##际
##陆
##陇
##陈
##陋
##陌
##降
##限
##陕
##陛
##陝
##陞
##陟
##陡
##院
##陣
##除
##陨
##险
##陪
##陰
##陲
##陳
##陵
##陶
##陷
##陸
##険
##陽
##隅
##隆
##隈
##隊
##隋
##隍
##階
##随
##隐
##隔
##隕
##隘
##隙
##際
##障
##隠
##隣
##隧
##隨
##險
##隱
##隴
##隶
##隸
##隻
##隼
##隽
##难
##雀
##雁
##雄
##雅
##集
##雇
##雉
##雋
##雌
##雍
##雎
##雏
##雑
##雒
##雕
##雖
##雙
##雛
##雜
##雞
##離
##難
##雨
##雪
##雯
##雰
##雲
##雳
##零
##雷
##雹
##電
##雾
##需
##霁
##霄
##霆
##震
##霈
##霉
##霊
##霍
##霎
##霏
##霑
##霓
##霖
##霜
##霞
##霧
##霭
##霰
##露
##霸
##霹
##霽
##霾
##靂
##靄
##靈
##青
##靓
##靖
##静
##靚
##靛
##靜
##非
##靠
##靡
##面
##靥
##靦
##革
##靳
##靴
##靶
##靼
##鞅
##鞋
##鞍
##鞏
##鞑
##鞘
##鞠
##鞣
##鞦
##鞭
##韆
##韋
##韌
##韓
##韜
##韦
##韧
##韩
##韬
##韭
##音
##韵
##韶
##韻
##響
##頁
##頂
##頃
##項
##順
##須
##頌
##預
##頑
##頒
##頓
##頗
##領
##頜
##頡
##頤
##頫
##頭
##頰
##頷
##頸
##頹
##頻
##頼
##顆
##題
##額
##顎
##顏
##顔
##願
##顛
##類
##顧
##顫
##顯
##顱
##顴
##页
##顶
##顷
##项
##顺
##须
##顼
##顽
##顾
##顿
##颁
##颂
##预
##颅
##领
##颇
##颈
##颉
##颊
##颌
##颍
##颐
##频
##颓
##颔
##颖
##颗
##题
##颚
##颛
##颜
##额
##颞
##颠
##颡
##颢
##颤
##颦
##颧
##風
##颯
##颱
##颳
##颶
##颼
##飄
##飆
##风
##飒
##飓
##飕
##飘
##飙
##飚
##飛
##飞
##食
##飢
##飨
##飩
##飪
##飯
##飲
##飼
##飽
##飾
##餃
##餅
##餉
##養
##餌
##餐
##餒
##餓
##餘
##餚
##餛
##餞
##餡
##館
##餮
##餵
##餾
##饅
##饈
##饋
##饌
##饍
##饑
##饒
##饕
##饗
##饞
##饥
##饨
##饪
##饬
##饭
##饮
##饯
##饰
##饱
##饲
##饴
##饵
##饶
##饷
##饺
##饼
##饽
##饿
##馀
##馁
##馄
##馅
##馆
##馈
##馋
##馍
##馏
##馒
##馔
##首
##馗
##香
##馥
##馨
##馬
##馭
##馮
##馳
##馴
##駁
##駄
##駅
##駆
##駐
##駒
##駕
##駛
##駝
##駭
##駱
##駿
##騁
##騎
##騏
##験
##騙
##騨
##騰
##騷
##驀
##驅
##驊
##驍
##驒
##驕
##驗
##驚
##驛
##驟
##驢
##驥
##马
##驭
##驮
##驯
##驰
##驱
##驳
##驴
##驶
##驷
##驸
##驹
##驻
##驼
##驾
##驿
##骁
##骂
##骄
##骅
##骆
##骇
##骈
##骊
##骋
##验
##骏
##骐
##骑
##骗
##骚
##骛
##骜
##骞
##骠
##骡
##骤
##骥
##骧
##骨
##骯
##骰
##骶
##骷
##骸
##骼
##髂
##髅
##髋
##髏
##髒
##髓
##體
##髖
##高
##髦
##髪
##髮
##髯
##髻
##鬃
##鬆
##鬍
##鬓
##鬚
##鬟
##鬢
##鬣
##鬥
##鬧
##鬱
##鬼
##魁
##魂
##魄
##魅
##魇
##魍
##魏
##魔
##魘
##魚
##魯
##魷
##鮑
##鮨
##鮪
##鮭
##鮮
##鯉
##鯊
##鯖
##鯛
##鯨
##鯰
##鯽
##鰍
##鰓
##鰭
##鰲
##鰻
##鰾
##鱈
##鱉
##鱔
##鱗
##鱷
##鱸
##鱼
##鱿
##鲁
##鲈
##鲍
##鲑
##鲛
##鲜
##鲟
##鲢
##鲤
##鲨
##鲫
##鲱
##鲲
##鲶
##鲷
##鲸
##鳃
##鳄
##鳅
##鳌
##鳍
##鳕
##鳖
##鳗
##鳝
##鳞
##鳥
##鳩
##鳳
##鳴
##鳶
##鴉
##鴕
##鴛
##鴦
##鴨
##鴻
##鴿
##鵑
##鵜
##鵝
##鵡
##鵬
##鵰
##鵲
##鶘
##鶩
##鶯
##鶴
##鷗
##鷲
##鷹
##鷺
##鸚
##鸞
##鸟
##鸠
##鸡
##鸢
##鸣
##鸥
##鸦
##鸨
##鸪
##鸭
##鸯
##鸳
##鸵
##鸽
##鸾
##鸿
##鹂
##鹃
##鹄
##鹅
##鹈
##鹉
##鹊
##鹌
##鹏
##鹑
##鹕
##鹘
##鹜
##鹞
##鹤
##鹦
##鹧
##鹫
##鹭
##鹰
##鹳
##鹵
##鹹
##鹼
##鹽
##鹿
##麂
##麋
##麒
##麓
##麗
##麝
##麟
##麥
##麦
##麩
##麴
##麵
##麸
##麺
##麻
##麼
##麽
##麾
##黃
##黄
##黍
##黎
##黏
##黑
##黒
##黔
##默
##黛
##黜
##黝
##點
##黠
##黨
##黯
##黴
##鼋
##鼎
##鼐
##鼓
##鼠
##鼬
##鼹
##鼻
##鼾
##齁
##齊
##齋
##齐
##齒
##齡
##齢
##齣
##齦
##齿
##龄
##龅
##龈
##龊
##龋
##龌
##龍
##龐
##龔
##龕
##龙
##龚
##龛
##龜
##龟
##︰
##︱
##︶
##︿
##﹁
##﹂
##﹍
##﹏
##﹐
##﹑
##﹒
##﹔
##﹕
##﹖
##﹗
##﹙
##﹚
##﹝
##﹞
##﹡
##﹣
##!
##"
###
##$
##%
##&
##'
##(
##)
##*
##,
##-
##.
##/
##:
##;
##<
##?
##@
##[
##\
##]
##^
##_
##`
##f
##h
##j
##u
##w
##z
##{
##}
##。
##「
##」
##、
##・
##ッ
##ー
##イ
##ク
##シ
##ス
##ト
##ノ
##フ
##ラ
##ル
##ン
##゙
##゚
## ̄
##¥
##👍
##🔥
##😂
##😎
================================================
FILE: requirements.txt
================================================
rasa==2.6.0
rasa-sdk==2.6.0
transformers==4.2.1
requests==2.25.1
cpca==0.5.5
validators==0.18.2
aiohttp==3.6.3
matplotlib==3.3.3
pytz==2020.4
================================================
FILE: run.py
================================================
import rasa
rasa.run(
model="models",
endpoints="endpoints.yml",
credentials="credentials.yml"
)
================================================
FILE: run_action_server.py
================================================
from rasa.shared.constants import DEFAULT_ACTIONS_PATH
from rasa_sdk.endpoint import run
run(
action_package_name=DEFAULT_ACTIONS_PATH,
port=8080
)
================================================
FILE: tests/test_nlu.yml
================================================
#### This file contains tests to evaluate that your bot behaves as expected.
#### If you want to learn more, please see the docs: https://rasa.com/docs/rasa/testing-your-assistant
nlu:
- intent: bot_challenge
examples: |
- 机器人?
- 这是机器人做的?
================================================
FILE: tests/test_stories.yml
================================================
#### This file contains tests to evaluate that your bot behaves as expected.
#### If you want to learn more, please see the docs: https://rasa.com/docs/rasa/testing-your-assistant
stories:
- story: bot challenge
steps:
- user: |
早上好啊
intent: greet
- action: utter_greet
- user: |
很完美
- intent: mood_great
- action: utter_happy
- story: 问饭店
steps:
- user: |
我想吃饭
intent: 找饭店
- action: 饭店_form
- active_loop: 饭店_form
- active_loop: null
- action: utter_submit
- action: utter_slots_values
- action: action_clear_饭店_form_slots
================================================
FILE: train.py
================================================
import rasa
rasa.train(
domain="domain.yml",
config="config.yml",
training_files="data",
)
gitextract_18_a9r_u/ ├── .gitignore ├── Dockerfile ├── LICENSE ├── README.md ├── actions/ │ ├── __init__.py │ ├── actions.py │ └── utils/ │ ├── __init__.py │ ├── coins.py │ ├── request.py │ └── search.py ├── back_translation.py ├── compoments/ │ ├── README.md │ ├── __init__.py │ ├── nlu/ │ │ ├── __init__.py │ │ ├── featurizer/ │ │ │ └── lm_featurizer.py │ │ ├── helpers/ │ │ │ ├── README.md │ │ │ ├── __init__.py │ │ │ └── correction.py │ │ └── tokenizers/ │ │ ├── __init__.py │ │ └── bert_tokenizer.py │ └── polices/ │ ├── README.md │ ├── __init__.py │ └── ask_again_policy.py ├── config.yml ├── credentials.yml ├── data/ │ ├── nlu/ │ │ ├── nlu.yml │ │ ├── rasa_faq.yml │ │ └── responses/ │ │ └── responses.yml │ ├── rules/ │ │ └── rules.yml │ └── stories/ │ ├── form_stories.yml │ └── stories.yml ├── domain.yml ├── endpoints.yml ├── load_model.py ├── pre_models/ │ ├── config.json │ └── vocab.txt ├── requirements.txt ├── run.py ├── run_action_server.py ├── tests/ │ ├── test_nlu.yml │ └── test_stories.yml └── train.py
SYMBOL INDEX (76 symbols across 9 files)
FILE: actions/actions.py
class ActionQueryWeather (line 30) | class ActionQueryWeather(Action):
method name (line 32) | def name(self) -> Text:
method run (line 35) | async def run(self, dispatcher: CollectingDispatcher,
method get_location_id (line 46) | async def get_location_id(city):
method get_weather (line 55) | async def get_weather(location_id):
class ValidateRestaurantForm (line 68) | class ValidateRestaurantForm(FormValidationAction):
method name (line 71) | def name(self) -> Text:
method cuisine_db (line 75) | def cuisine_db() -> List[Text]:
method is_int (line 93) | def is_int(string: Text) -> bool:
method validate_cuisine (line 102) | def validate_cuisine(
method validate_num_people (line 120) | def validate_num_people(
method validate_outdoor_seating (line 136) | def validate_outdoor_seating(
class ClearRestaurantFormSlot (line 162) | class ClearRestaurantFormSlot(Action):
method name (line 165) | def name(self) -> Text:
method run (line 168) | async def run(self, dispatcher: CollectingDispatcher,
class ActionFindImg (line 176) | class ActionFindImg(Action):
method name (line 183) | def name(self) -> Text:
method run (line 186) | async def run(self, dispatcher: CollectingDispatcher,
class SearchAnimeValidateForm (line 197) | class SearchAnimeValidateForm(FormValidationAction):
method name (line 198) | def name(self) -> Text:
method validate_img (line 201) | def validate_img(
method is_url_image (line 216) | def is_url_image(url: str) -> bool:
class SearchAnime (line 221) | class SearchAnime(Action):
method name (line 222) | def name(self) -> Text:
method run (line 225) | async def run(self, dispatcher: CollectingDispatcher,
class CoinSearchAction (line 238) | class CoinSearchAction(Action):
method name (line 239) | def name(self) -> Text:
method run (line 242) | async def run(self, dispatcher: CollectingDispatcher,
FILE: actions/utils/coins.py
class CoinDataManager (line 19) | class CoinDataManager:
method __init__ (line 20) | def __init__(self, coin_name: str = "btc-bitcoin"):
method get_img (line 23) | async def get_img(self, img_type: str = "base64") -> str:
class CoinSearcher (line 33) | class CoinSearcher:
method __init__ (line 38) | def __init__(self, coin_name: str = "btc-bitcoin"):
method convert_coin_name_to_id (line 42) | def convert_coin_name_to_id(coin_name: str) -> str:
method get_history (line 45) | async def get_history(self) -> List[Dict[Any, Any]]:
class Ploter (line 52) | class Ploter:
method plot_line_chat (line 56) | def plot_line_chat(cls, data: pd.DataFrame, to_type: str = "base64") -...
method plot_to_base64 (line 71) | def plot_to_base64(plt):
FILE: actions/utils/request.py
function get (line 8) | async def get(url: Text, params: ANY_DATA = None) -> Union[List[Dict], D...
function post (line 14) | async def post(url: Text, data: ANY_DATA = None, params: ANY_DATA = None) \
FILE: actions/utils/search.py
function search_anime (line 8) | async def search_anime(url: Text) -> Text:
class AnimalImgSearch (line 24) | class AnimalImgSearch:
method get_dog_img (line 26) | async def get_dog_img():
method get_cat_img (line 30) | async def get_cat_img():
method get_fox_img (line 34) | async def get_fox_img():
FILE: back_translation.py
class TransSupportEnum (line 9) | class TransSupportEnum(str, Enum):
function trans (line 24) | def trans(original_string: str):
function get_trans_data (line 37) | def get_trans_data(q: str, source: TransSupportEnum, target: TransSuppor...
FILE: compoments/nlu/featurizer/lm_featurizer.py
class OnnxLanguageModelFeaturizer (line 13) | class OnnxLanguageModelFeaturizer(LanguageModelFeaturizer):
method _load_model_instance (line 28) | def _load_model_instance(self, skip_model_load: bool) -> None:
method _compute_batch_sequence_features (line 99) | def _compute_batch_sequence_features(
method load_onnx_model (line 123) | def load_onnx_model(path: Path):
method is_clean_dir (line 141) | def is_clean_dir(path: Path) -> bool:
method _create_model_input_for_pt_onnx (line 144) | def _create_model_input_for_pt_onnx(self, batch_attention_mask: np.nda...
method _create_model_input_for_normal (line 153) | def _create_model_input_for_normal(self, batch_attention_mask: np.ndar...
FILE: compoments/nlu/helpers/correction.py
class TextCorrection (line 8) | class TextCorrection(Component):
method __init__ (line 15) | def __init__(self, component_config: Optional[Dict[Text, Any]] = None)...
method required_packages (line 21) | def required_packages(cls) -> List[Text]:
method _load_model (line 24) | def _load_model(self):
method process (line 29) | def process(self, message: Message, **kwargs: Any) -> None:
method check_text (line 37) | def check_text(self, text: str) -> Tuple[bool, Tuple[str, str]]:
FILE: compoments/nlu/tokenizers/bert_tokenizer.py
class CustomBertTokenizer (line 8) | class CustomBertTokenizer(Tokenizer):
method __init__ (line 14) | def __init__(self, component_config: Dict[Text, Any] = None) -> None:
method tokenize (line 20) | def tokenize(self, message: Message, attribute: Text) -> List[Token]:
FILE: compoments/polices/ask_again_policy.py
class AskAgainRulePolicy (line 12) | class AskAgainRulePolicy(RulePolicy):
method __init__ (line 13) | def __init__(
method _find_action_from_rules (line 31) | def _find_action_from_rules(
method get_again_action_from_states (line 138) | def get_again_action_from_states(self, states: List[State]) -> Optiona...
method states_is_ask_again_intent (line 144) | def states_is_ask_again_intent(self, user_state: Dict[str, str]) -> bool:
method get_latest_ask_again_action (line 148) | def get_latest_ask_again_action(self, states: List[State]) -> Optional...
method _metadata (line 160) | def _metadata(self) -> Dict[Text, Any]:
method _metadata_filename (line 173) | def _metadata_filename(cls) -> Text:
method update_rules (line 176) | def update_rules(self) -> None:
method get_action_name_by_intent (line 184) | def get_action_name_by_intent(self, intent: str) -> Optional[str]:
method _generate_dumps_string (line 188) | def _generate_dumps_string(intent: str) -> str:
method _get_action_dumps_string_for_rule (line 191) | def _get_action_dumps_string_for_rule(self, action_name: str) -> str:
Condensed preview — 42 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (218K chars).
[
{
"path": ".gitignore",
"chars": 165,
"preview": "# Created by .ignore support plugin (hsz.mobi)\n### Example user template template\n### Example user template\n\n# IntelliJ "
},
{
"path": "Dockerfile",
"chars": 282,
"preview": "FROM rasa/rasa:2.6.0\n# 这是最小镜像,和自己的需要的lib依赖有关系,需要问题时可以参考注释部分。\n# USER root # 权限不足时打开\n\nCOPY . /app\nWORKDIR /app\n#RUN apt-g"
},
{
"path": "LICENSE",
"chars": 1066,
"preview": "MIT License\n\nCopyright (c) 2021 Dustyposa\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\n"
},
{
"path": "README.md",
"chars": 3718,
"preview": "\n\n\n# rasa_ch_bot\n用 `RASA` 实现 `RASA Bot` 后端。 能够回答关于 `RASA` 的问题,"
},
{
"path": "actions/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "actions/actions.py",
"chars": 8850,
"preview": "# This files contains your custom actions which can be used to run\n# custom Python code.\n#\n# See this guide on how to im"
},
{
"path": "actions/utils/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "actions/utils/coins.py",
"chars": 5863,
"preview": "import base64\nimport io\nimport datetime\nimport time\nfrom typing import Any, Dict, List\n\nimport matplotlib.pyplot as plt\n"
},
{
"path": "actions/utils/request.py",
"chars": 633,
"preview": "from typing import Text, Any, Dict, Optional, Union, List\n\nimport aiohttp\n\nANY_DATA = Optional[Dict[Any, Any]]\n\n\nasync d"
},
{
"path": "actions/utils/search.py",
"chars": 1221,
"preview": "from typing import Text\n\nfrom actions.utils.request import get, post\n\nSEARCH_ANIME_URL = \"https://trace.moe/api/search\"\n"
},
{
"path": "back_translation.py",
"chars": 1354,
"preview": "from concurrent.futures.thread import ThreadPoolExecutor\nfrom concurrent.futures import as_completed\nfrom enum import En"
},
{
"path": "compoments/README.md",
"chars": 213,
"preview": "# 已有组件介绍\n\n## NLU \n#### 1. [BERT TOKENIZER](./nlu/tokenizers/bert_tokenizer.py.py)\n用于 `bert` 的模型的 `tokennizer`\n\n## POLICE"
},
{
"path": "compoments/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "compoments/nlu/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "compoments/nlu/featurizer/lm_featurizer.py",
"chars": 6420,
"preview": "import logging\nfrom functools import partial\nfrom pathlib import Path\nfrom typing import List\n\nimport numpy as np\n\nfrom "
},
{
"path": "compoments/nlu/helpers/README.md",
"chars": 412,
"preview": "## 一些工具\n- [文本纠错](#文本纠错)\n\n### 文本纠错\n#### 如何开启\n1. 下载模型,[模型地址](https://github.com/SeanLee97/xmnlp#%E4%B8%8B%E8%BD%BD%E5%9C%B"
},
{
"path": "compoments/nlu/helpers/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "compoments/nlu/helpers/correction.py",
"chars": 1718,
"preview": "from typing import List, Text, Dict, Optional, Any, Tuple\n\nfrom rasa.nlu.components import Component\nfrom rasa.shared.nl"
},
{
"path": "compoments/nlu/tokenizers/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "compoments/nlu/tokenizers/bert_tokenizer.py",
"chars": 1297,
"preview": "from typing import List, Text, Dict, Any\n\nfrom rasa.shared.nlu.training_data.message import Message\nfrom transformers im"
},
{
"path": "compoments/polices/README.md",
"chars": 635,
"preview": "## 追问的实现\n#### 实现办法: 在 `core` 中更改 `RULE` 的预测结果。也就是把 特定的句式(目前使用的 `intent`) 根据上轮的 `intent`,来选择是否重复上轮的 `action`。\nPS: 不能保证为最"
},
{
"path": "compoments/polices/__init__.py",
"chars": 0,
"preview": ""
},
{
"path": "compoments/polices/ask_again_policy.py",
"chars": 10515,
"preview": "import json\nfrom typing import List, Optional, Text, Tuple, Dict, Any\n\nfrom rasa.core.policies.rule_policy import RulePo"
},
{
"path": "config.yml",
"chars": 1625,
"preview": "# Configuration for Rasa NLU.\n# https://rasa.com/docs/rasa/nlu/components/\nlanguage: zh\n\npipeline:\n # # No configuratio"
},
{
"path": "credentials.yml",
"chars": 980,
"preview": "# This file contains the credentials for the voice & chat platforms\n# which your bot is using.\n# https://rasa.com/docs/r"
},
{
"path": "data/nlu/nlu.yml",
"chars": 4717,
"preview": "version: \"2.0\"\n\nnlu:\n - intent: greet\n examples: |\n - 你好\n - 嗨\n - 您好\n - 早上好\n - 下午好\n - 晚"
},
{
"path": "data/nlu/rasa_faq.yml",
"chars": 4733,
"preview": "version: \"2.0\"\nnlu:\n - intent: rasa_faq/rasax\n examples: |\n - RasaX 是啥?\n - RasaX 是什么?\n - 你能解释一下 RasaX"
},
{
"path": "data/nlu/responses/responses.yml",
"chars": 5841,
"preview": "version: \"2.0\"\nresponses:\n utter_rasa_faq/rasax:\n - text: \"Rasa X是一个工具集,可以帮助您利用对话来改善您的助手。\n 了解更多关于Rasa"
},
{
"path": "data/rules/rules.yml",
"chars": 1203,
"preview": "version: \"2.0\"\n\nrules:\n\n - rule: Say goodbye anytime the user says goodbye\n steps:\n - intent: goodbye\n - a"
},
{
"path": "data/stories/form_stories.yml",
"chars": 632,
"preview": "version: \"2.0\"\n\nstories:\n - story: stop form + continue\n steps:\n - intent: 找饭店\n - action: 饭店_form\n - "
},
{
"path": "data/stories/stories.yml",
"chars": 784,
"preview": "version: \"2.0\"\n\nstories:\n\n- story: happy path\n steps:\n - intent: greet\n - action: utter_greet\n - intent: mood_great\n"
},
{
"path": "domain.yml",
"chars": 3278,
"preview": "version: \"2.0\"\n\nintents:\n - greet\n - goodbye\n - affirm\n - deny\n - mood_great\n - mood_unhappy\n - bot_challenge\n -"
},
{
"path": "endpoints.yml",
"chars": 1409,
"preview": "# This file contains the different endpoints your bot can use.\n\n# Server where the models are pulled from.\n# https://ras"
},
{
"path": "load_model.py",
"chars": 538,
"preview": "import asyncio\n\nimport yaml\nfrom rasa.core.agent import Agent\nfrom rasa.shared.constants import DEFAULT_ENDPOINTS_PATH\nf"
},
{
"path": "pre_models/config.json",
"chars": 624,
"preview": "{\n \"architectures\": [\n \"BertForMaskedLM\"\n ],\n \"attention_probs_dropout_prob\": 0.1,\n \"directionality\": \"bidi\",\n \""
},
{
"path": "pre_models/vocab.txt",
"chars": 75801,
"preview": "[PAD]\n[unused1]\n[unused2]\n[unused3]\n[unused4]\n[unused5]\n[unused6]\n[unused7]\n[unused8]\n[unused9]\n[unused10]\n[unused11]\n[u"
},
{
"path": "requirements.txt",
"chars": 142,
"preview": "rasa==2.6.0\nrasa-sdk==2.6.0\ntransformers==4.2.1\nrequests==2.25.1\ncpca==0.5.5\nvalidators==0.18.2\naiohttp==3.6.3\nmatplotli"
},
{
"path": "run.py",
"chars": 110,
"preview": "import rasa\n\nrasa.run(\n model=\"models\",\n endpoints=\"endpoints.yml\",\n credentials=\"credentials.yml\"\n)\n"
},
{
"path": "run_action_server.py",
"chars": 157,
"preview": "from rasa.shared.constants import DEFAULT_ACTIONS_PATH\nfrom rasa_sdk.endpoint import run\n\nrun(\n action_package_name=D"
},
{
"path": "tests/test_nlu.yml",
"chars": 250,
"preview": "#### This file contains tests to evaluate that your bot behaves as expected.\n#### If you want to learn more, please see "
},
{
"path": "tests/test_stories.yml",
"chars": 599,
"preview": "#### This file contains tests to evaluate that your bot behaves as expected.\n#### If you want to learn more, please see "
},
{
"path": "train.py",
"chars": 105,
"preview": "import rasa\n\nrasa.train(\n domain=\"domain.yml\",\n config=\"config.yml\",\n training_files=\"data\",\n)\n\n"
}
]
About this extraction
This page contains the full source code of the Dustyposa/rasa_ch_faq GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 42 files (144.4 KB), approximately 87.0k tokens, and a symbol index with 76 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.