发布时间:2020-08-30 11:11:40
目前市场上基于人工智能技术的自动化法律咨询系统越来越多。我以前和我的搭档做过这样一个系统。我有一些经验。虽然我现在辞职了,但我没有写下来就浪费了一些积累的经验。
目前市场上基于人工智能技术的自动化法律咨询系统越来越多。我以前和我的搭档做过这样一个系统。我有一些经验。虽然我现在辞职了,但我没有写下来就浪费了一些积累的经验。
首先,我将谈谈法律咨询自动化系统的基本思想。
一般的自动问答系统都有一个问答数据库,然后使用一些匹配算法将用户的问题与问答数据库中的问题进行匹配,并推送答案。看到一些论文提到有些自动问答系统会自动生成文本,但考虑到法律咨询中需要为用户提供“正确”的答案,不能像聊天那样平淡,所以问答库是一个更好的选择。
然后,将问题分为两部分,一部分是建立问答库,另一部分是建立匹配算法。
问答数据库的建设纯粹是手工操作,需要法律专业人员收集整理各个领域的各种常见法律问题,但需要注意的是,也有收集用户习惯的方法,因为用户提问的方式和法律界人士整理问答的方式可能完全不同。收集问题的方式有两种,一种是在网站上爬行各种法律咨询,一种是自己推一个初步的法律咨询系统,通过网络推广获取一定数量的用户使用数据。
网上抓取数据存在一个问题,即目前常见的法律咨询网站上用户的问题是描述性的。一段描述了事情的过程,然后问该怎么做。根据我们的试播数据,用户在面对问答系统时的表情是不同的。
构建匹配算法是法律咨询自动化的核心工作,其效果是好是坏。而匹配算法总结成一个句子就是如何判断两个句子是同一个意思,还是意思相似。
主要的匹配算法是准确匹配。例如,在问答数据库中设置了一个对话。Q: 有人吗?A: 有人。只有当用户输入完整的“任何人”时,才与完全匹配只有当这个问题匹配时,你才能输出一个答案“某人”。如果用户问“家里有人吗?”我不能回答。
这显然有很多限制,比如用户输入“你有人民币吗?”,系统将识别错误。
但是规则在很多时候都很容易使用,所以我们不能完全放弃这种方法,我们应该在适当的时候使用它。
除了规则外,我们还可以在自然语言处理和深度学习中使用一些算法来计算句子或单词的相似度,以匹配用户输入的问题和问答库中的问题。
一开始,我们使用单词transformer(w2v)加上TFIDF。该方法的基本思想是利用w2v将一个词转换成200维向量(可以理解为用200个数字表示一个词),然后根据向量之间的欧氏距离来表示相似度。当我们在短语或句子中使用它时,我们需要将向量乘以用TFIDF计算的单词分数,以区分句子中哪些单词对表达意义更重要?给一个更高的分数是很重要的。TFIDF是一种计算单词分数的算法。这两种算法都非常容易获得,不需要编写代码。阿里云上有一个拖放操作界面。如果你感兴趣,你可以找到信息。2017年,阿里云机器学习是免费的,GPU是免费的,我不能再做了。我得付钱。
需要大量的文本语料库来训练词向量和词得分。我们使用判决文件。文件的上诉和答辩部分有一些口头表达。我们认为有一个术语表达,这是非常好的语料库。
直接匹配句子时,匹配度的计算结果不是很好,因为句子中干扰太多,所以我们为每个法律领域定义了一些元素,通过寻找句子中的元素来匹配句子,从而将句子相似度问题转化为短语相似度问题。同时,将句子相似度作为判断标准之一。注意,当匹配时,每个单词都用所有元素得分,然后将超过阈值的***得分作为匹配结果,而不是仅仅设置阈值。元素设置后,预先计算问答库中每个问题的匹配元素,与用户输入的句子进行比较。
利用上述方法解决了很多问题,当问答数据库覆盖面广,问题列表足够详细时,效果还可以,但还有一个问题,就是上面的w2v方法不能识别词序,所以我们在后面增加了LSTM算法,所以算法就不详细了。在使用LSTM算法时,我们使用了200个SLTM单元,并使用判断文档进行无监督训练(从前面的单词预测下一个单词)。训练结束后,去掉输出端,取SLTM单元的输出来表达短语或句子的语义。然后我们可以利用这个LSTM构造一个双LSTM来训练句子相似度,并选择一些相似和不同的句子和短语。
完成上述步骤后,我们得到了w2v和SLTM计算的元素得分,w2v和LSTM计算的句子得分(问答库中的每个问题也计算元素得分),然后我们需要设置一系列的权重来计算终结果。我们还没有找到一个很好的方法来自动学习这个重量。我们需要根据这个结果的样本分布来选择一些测试样本来选择参数。
上述步骤中的算法都有开源代码选择,参数调整对结果的影响不是太大,远小于设置适当的元素。事实上,这些要素的设置是为了构建法律领域的知识地图。在构建知识映射时,需要注意的是,每个元素都需要设置一些公共表达式,其中,这些元素和表达式的设置对结果有相当大的影响。
此外,我们需要指出的是,上述算法在单一的法律领域都能很好地工作,但跨域应用会更糟。为了解决这一问题,我们利用CNN算法对用户输入问题进行了基于预训练向量的分类器设计,识别出用户输入问题所属的法律领域,取得了良好的效果。但当我们把它放到网上使用时,我们发现很多用户都喜欢和机器人调情,而输入的文字与法律无关。此时,识别效果特别差。于是我们在网上购买了一些聊天语料,并制作了一个分类器来区分聊天和法律咨询。
在整个建设过程中,我觉得耗时的不是算法,而是问答库。没有机会补充问答数据库,所有这些都依赖于人力。一旦修改法律或发布新的司法解释,问答数据库就必须与时俱进,这就证实,只要有足够的人力,就会有足够的情报。