이 코드는 Chatbot , 텍스트 생성 등과 같은 대화 생성 작업에 필요한 모든 것인 Paper Attention을 구현한 것입니다.
문제를 제기하고 해결하는 데 도움을 준 모든 친구들에게 감사드립니다. 귀하의 기여는 이 프로젝트의 개선에 매우 중요합니다. 코딩 시 '정적 그래프 모드'의 제한된 지원으로 인해 해당 기능을 2.0.0-beta1 버전으로 이동하기로 결정했습니다. 그러나 버전 문제로 도커 빌드 및 서비스 생성 문제가 걱정된다면 텐서플로우 1.12.x 버전을 사용하여 Eager 모드로 작성된 이전 버전의 코드를 참조하세요.
|-- root/
|-- data/
|-- src-train.csv
|-- src-val.csv
|-- tgt-train.csv
`-- tgt-val.csv
|-- old_version/
|-- data_loader.py
|-- eval.py
|-- make_dic.py
|-- modules.py
|-- params.py
|-- requirements.txt
`-- train.py
|-- tf1.12.0-eager/
|-- bleu.py
|-- main.ipynb
|-- modules.py
|-- params.py
|-- requirements.txt
`-- utils.py
|-- images/
|-- bleu.py
|-- main-v2.ipynb
|-- modules-v2.py
|-- params.py
|-- requirements.txt
`-- utils-v2.py
우리 모두 알고 있듯이 번역 시스템은 서로 다른 두 문장의 패리스를 질문과 답변으로 바꾸는 것만으로 대화 모델을 구현하는 데 사용될 수 있습니다. 결국 "Sequence-to-Sequence"라는 기본 대화 모델은 번역 시스템에서 개발되었습니다. 그렇다면 대화 생성에 있어서 대화 모델의 효율성을 향상시키지 않는 이유는 무엇입니까?
BERT 기반 모델이 개발됨에 따라 점점 더 많은 nlp 작업이 지속적으로 새로 고쳐집니다. 그러나 언어 모델은 BERT의 오픈 소스 작업에 포함되어 있지 않습니다. 이 길에서 우리가 아직 갈 길이 멀다는 것은 의심의 여지가 없습니다.
변환기 모델은 RNN 또는 CNN 대신 self-attention 레이어 스택을 사용하여 가변 크기 입력을 처리합니다. 이 일반 아키텍처에는 여러 가지 장점과 특별한 특징이 있습니다. 이제 그것들을 꺼내봅시다:
최신 버전의 코드에서는 문서에 설명된 세부 정보를 완성합니다.
그러나 이러한 강력한 아키텍처에는 여전히 몇 가지 단점이 있습니다.
data/
폴더에 추출합니다.params.py
에서 하이퍼 매개변수를 조정합니다.make_dic.py
실행하여 dictionary
라는 새 폴더에 어휘 파일을 생성합니다.train.py
실행하여 모델을 빌드합니다. 체크포인트는 checkpoint
폴더에 저장되고 텐서플로우 이벤트 파일은 logdir
에서 찾을 수 있습니다.eval.py
실행하여 테스트 데이터로 결과를 평가합니다. 결과는 Results
폴더에 저장됩니다.GPU
사용하는 경우 코드에서 장치를 설정하십시오.(다중 작업자 훈련을 지원합니다) - Source: 肥 宅 初 夜 可 以 賣 多 少 `
- Ground Truth: 肥 宅 還 是 去 打 手 槍 吧
- Predict: 肥 宅 還 是 去 打 手 槍 吧
- Source: 兇 的 女 生 484 都 很 胸
- Ground Truth: 我 看 都 是 醜 的 比 較 凶
- Predict: 我 看 都 是 醜 的 比 較
- Source: 留 髮 不 留 頭
- Ground Truth: 還 好 我 早 就 禿 頭 了
- Predict: 還 好 我 早 就 禿 頭 了
- Source: 當 人 好 痛 苦 R 的 八 卦
- Ground Truth: 去 中 國 就 不 用 當 人 了
- Predict: 去 中 國 就 不 會 有 了 -
- Source: 有 沒 有 今 天 捷 運 的 八 卦
- Ground Truth: 有 - 真 的 有 多
- Predict: 有 - 真 的 有 多
- Source: 2016 帶 走 了 什 麼 `
- Ground Truth: HellKitty 麥 當 勞 歡 樂 送 開 門 -
- Predict: 麥 當 勞 歡 樂 送 開 門 -
- Source: 有 沒 有 多 益 很 賺 的 八 卦
- Ground Truth: 比 大 型 包 裹 貴
- Predict: 比 大 型 包 貴
- Source: 邊 緣 人 收 到 地 震 警 報 了
- Ground Truth: 都 跑 到 窗 邊 了 才 來
- Predict: 都 跑 到 邊 了 才 來
- Source: 車 震
- Ground Truth: 沒 被 刪 版 主 是 有 眼 睛 der
- Predict: 沒 被 刪 版 主 是 有 眼 睛 der
- Source: 在 家 跌 倒 的 八 卦 `
- Ground Truth: 傷 到 腦 袋 - 可 憐
- Predict: 傷 到 腦 袋 - 可 憐
- Source: 大 家 很 討 厭 核 核 嗎 `
- Ground Truth: 核 核 欠 幹 阿
- Predict: 核 核 欠 幹 阿
- Source: 館 長 跟 黎 明 打 誰 贏 -
- Ground Truth: 我 愛 黎 明 - 我 愛 黎 明 -
- Predict: 我 愛 明 - 我 愛 明 -
- Source: 嘻 嘻 打 打
- Ground Truth: 媽 的 智 障 姆 咪 滾 喇 幹
- Predict: 媽 的 智 障 姆 咪 滾 喇 幹
- Source: 經 典 電 影 台 詞
- Ground Truth: 超 時 空 要 愛 裡 滿 滿 的 梗
- Predict: 超 時 空 要 愛 裡 滿 滿 滿 的
- Source: 2B 守 得 住 街 亭 嗎 `
- Ground Truth: 被 病 毒 滅 亡 真 的 會 -
- Predict: 守 得 住
훈련 과정의 속도를 높이기 위해 AutoGraph를 사용하려는 경우 데이터세트가 고정된 길이로 채워졌는지 확인하세요. 그래프 재구축 작업이 훈련 중에 활성화되어 성능에 영향을 미칠 수 있기 때문입니다. 우리 코드는 버전 2.0의 성능만 보장하며, 하위 버전에서는 이를 참조할 수 있습니다.
Transformer와 Tensorflow에 감사드립니다.