- Ümit Yılmaz @ylmz-dev
- Büşra Gökmen @newsteps8
我们的目标是创建一个开源的写作辅助/检查工具,它能够同时解决土耳其语自然语言处理文献中的多个不同问题,提出独特的方法,并弥补文献中研究的不足。我们希望通过深度学习方法解决用户文本中的拼写错误,同时对文本进行语义分析,以识别和纠正在这一背景下出现的错误。
尽管文献中有许多纠正拼写错误的库,但没有一个能够纠正语义上下文中出现的错误。这类错误中最重要的是连词和后缀的情况,如-da/-de、-ki和-mi,它们应该分开或连在一起写。我们的研究完全独特,表现远远优于文献中的所有其他示例。我们尝试了1DCNN、GRU和LSTM RNN等模型,最终选择了表现最佳的双向LSTM模型,并使用贝叶斯搜索优化技术将参数优化到最佳值。
为了使模型在正式和非正式语言中都能表现良好并具有泛化能力,我们合并了三个不同的数据集。这些数据集包括OPUS字幕数据集、TSCORPUS维基百科数据集和TSCORPUS报纸数据集。
在我们的研究中,处理了超过8500万行的数据。在预处理阶段,我们将连接的后缀与单词分开,并用"X"替换。分开的后缀也用"X"替换。这样做是为了使模型在同一句子中出现多个后缀的情况下也能给出更准确的结果。预处理后,包含分开后缀的句子标记为0,包含连接后缀的句子标记为1。然后,为了防止模型学习错误,我们通过随机欠采样减少了数量较多的0和1标签。最终,模型学会了如何正确书写后缀,而不是学习错误。创建的数据集中,20%用作测试数据,10%用作验证数据。您可以在data文件夹中或通过以下标题下的drive链接访问所有CSV格式的数据集。
您可以使用pre_trained_weights文件夹中的权重直接加载并测试模型。或者,您也可以使用我们共享的数据或您自己的数据,以及您创建的模型,通过train笔记本来训练您自己的纠正器。
您可以在以下标题下分别找到性能结果、比较、模型区分的句子示例以及数据集的drive链接。
Python 3.6+
git clone https://github.com/Fixy-TR/fixy.git
安装库:
pip install DeepChecker