nlp - NLP - 语言一致性分析
问题描述
我希望你能帮帮我 :)。
我在一家翻译公司工作。
如您所知,每次翻译都包括将原始文本分成小段,然后将它们重新连接到最终产品中。
换言之,句段被视为“翻译单元”。
通常,特别是对于大型文档,翻译人员会犯一些语言一致性错误,我尝试用一个例子来解释它。
在西班牙语中,您可以使用“tu”或“usted”,具体取决于上下文,这决定了句子的正式-非正式语气。
因此,如果您考虑文档的这两个句子:
Lara, te has lavado las manos? (TU)
Lara usted se lavò las manos? (USTED)
它们都是正确的,但是如果您考虑整个文档,就会发现语言不一致。
我在业余时间学习 NLP 基础知识,并且正在研究如何创建一个工具来对一组句子进行语言一致性分析。
我特别关注Standford CoreNLP(我更喜欢 Java 而不是 Python)。我想我首先需要一些语言工具来执行动词分析。当然,该工具将能够使用不同的语言(EN、IT、ES、FR、PT)。
任何人都可以帮我弄清楚如何开始这个?
任何帮助,将不胜感激,
提前致谢!
解决方案
我不确定斯坦福 CoreNLP,但如果您正在考虑这是一个选项,您可以制作自己的标记器并在 pos tagging 处使用修饰符。然后,将其用作翻译功能。
换句话说,您可以将其标记为“不定式第二人称中的动词”,而不仅仅是将单词标记为动词。
已经有很好的西班牙语预标记语料库可以帮助您做到这一点。例如,如果您查看Universal Dependencies Ankora Corpus,您会发现有一些注解指的是动词的 Person。
稍作调整,您就可以制作一个包含“Verb-1st-Person”或类似内容的 compose PoS 并训练一个 Tagger。
我已经写了一篇关于如何在 Python 中做到这一点的文章,但我敢打赌,你可以使用 Weka 在 Java 中做到这一点。你可以在这里阅读这篇文章。
在此之后,我想下一步是确保将一个“翻译单元”的人员与另一个匹配,或者以管道方式制作一些东西。
推荐阅读
- bash - 将变量从一个 Jenkins 阶段传递给 sh 中的其他阶段
- gradle - 如何在一个 gradle 项目中构建两个应用程序
- ruby-on-rails - 启用 public_file_server 时如何记录资产请求?
- html - 将图标移动到 h2 标题下方?
- elasticsearch - 使用 Kubernetes 的 Elasticsearch:使用 bootstrap.memory_lock 的内存锁不起作用
- php - 使用 Atom 进行 PHP 实时预览以编辑 WordPress 文件
- c - 自由链表
- python - 在特定条件下在 Dataframe 中添加新列
- python - 在for循环python中跳过错误的方法
- python - 无法使用生成的 tmux 窗口激活 conda 环境