Q:服务器/优化/502/网页进不去
A:已经尽力优化过了T T 非常感谢大家的耐心!
Q: 输入的文本会不会被储存?会不会被拿来训练AI?
A:不会的,机器看一眼识别之后就会忘啦,我们更是无法阅读到输入的文本的。我们的AI不会根据测试结果进行学习。就算这样cpu也快要碎掉了,再加上学习的话,它肯定会罢工。
Q:测试结果准吗?放多长的文本比较合适?
A:中文作家测试很准!我们在中文作家未参与训练的的文本,尤其是该作家不常写的文体或题材中,随机选取了600段进行测试,500字以上输入时的准确度在90%,所以建议文本输入在1000字左右,越长当然是越准确的。外文作家目前还在想办法解决译本问题,之后会更新改善!
Q:一共有多少位作家?
A:一共254位作者,其中3位主创,103位中文作家,148位外文作家。具体名录在“关于”页面可以看到,也可以搜索查询。
Q:测试结果里的4680/4201/1678是谁?
A:咳,是主创团队。4680是天才设计师,4201是全能的全栈开发,1678是AI算法开发。啊?数字是什么意思?没错正是mp皮编(。
Q:测试结果里百分比特别高,意味着特别像吗?
A:严格来说百分比是“这篇文章是这个作者写的“的概率。文本较短时会出现极高但意义不大的百分比。和原作有大量相同的专有名词、人名等也会,想去除这些名词的影响可以将这些名词替换成其它单词。关于影响模型判断的因素会在AI部分有更多的讨论。
Q:会加入网络写手/网文作家吗?
A:目前不考虑加入网络写手/作家。第一是版权问题,第二是网络作家争议性太大。除此之外文本相似度也通常被用来抄袭检测,高百分比可能会被出警。但我们认为用深度学习算法的结果作为判断抄袭的依据没有任何合理性,不希望因此引发任何莫须有的指责,所以不会考虑啦。
Q:外国作家是如何判断的?译者会影响吗?
A:非中文的作品我们选择了比较畅销的译本,后续的处理方式与中文文本一样。所以我们必须要承认译者会有影响,且很明显,在用词等方面的判断上确实是更像在和译者对比。但是我们使用的模型不止是简单地看单词频率,描写的内容、用词及上下文等都会影响,所以即使有译者的影响,模型也仍然会识别出属于原作者的特色。详情在AI部分的问答有更详细的讲解。
但我们承认模型在这里确实是有局限的。因为我们对译者了解甚少,训练数据选择时未必选择到了很能代表原作者风格的译版。在这方面能够提供帮助的小伙伴也很欢迎联系主创,为网站的严谨性做出贡献!
Q:如何定义”文风“?这里说“文风”究竟测的是什么?
A:这就不得不再提一次了,主创团队三人没有任何文学/语言学/社会科学专业背景,所以在这里完全没有定义过”文风“……总而言之,风格鉴定是ai依据机器学习权重来判定输入的文字与训练集中哪位作者最相近,诚如页面所说,分析结果仅供娱乐,供大家参考。至于网站到底是什么原理,请阅读AI相关问题回答。
Q:可以加入xxx作者吗?
A:首先感谢大家的积极留言和提议!只依靠(没有任何文学专业背景)的主创团队寻找文本的力量毕竟是有限的,因此放入的作家数量有限请见谅。提议的作家我们会尽快安排上的,但是提名的话最好能直接给我们提供作家作品的txt文件。
模型的表现和数据集的质量和数量都有关系,希望大家可以自带txt就是希望能够提升质量,毕竟你喜欢的作家肯定你更了解啦。如果选的作品非常有代表性,那最后模型的准确度也会非常好。对于外国作家,中文译版选择也很关键。数量上一位作家总共20万-80万字是比较合适的,大概在2-4本长篇小说的篇幅,更少的话需要风格更为明显。
txt文件要求:1. 中文文本 2. 清除出版信息、前后译者序、译者注等与原作无关的内容
epub, mobi等电子书格式可以使用在线转换器转换为txt噢!PDF就真的不可以了!
收集的文本请发送至[email protected],录用及更新上线都会回复反馈!
Q:做网站是为了主创毕业吗?为了论文不会保存文本数据吗?
A:网站从来都不是为了主创毕业做的!最初我们只是想做个网站练手,因为还没做过网站开发。事实上,是毕业论文因为网站才改的,而不是网站为了论文而做。
要毕业的主创1678的专业是人工智能,论文的题目是‘在 NLP 工具中整合可解释的人工智能,用于作者归属:增强用户理解和信任’,也就是说整个网站其实只有结果页里下面那部分句子分析所使用的技术,和它所对应的用户反馈是论文的关注点,所以就算是为了论文也不需要保存文本呢。关于论文和AI技术会在AI部分更深入地讨论。
Q:利益相关
A:我们没有也不打算接广告或是以任何形式盈利,其实网站爆火、用户再多,我们也是完全没有任何获利的,甚至是自己在给服务器砸钱。唯一的利就是上一个问题提到的问卷吧。
在这里提一下这样的测试我们并不是第一个做的,在先前就有像I Write Like这样的外国开发者做类似的测试,我们只是做出了一个纯中文版。想对英文文本测试的也可以用一用他们的网站呀。
大家好我是AI开发1678,那个要毕业的!这一部分我将从通俗易懂的人话逐渐深入到比较专业的陈述,小伙伴们各取所需阅读即可!
Q:网站是什么原理?
A:简单来说:文本分类,分的类别即作者。其中包含两大步:文本嵌入、机器学习分类。
文本嵌入是教机器“阅读”,这一过程是以单词(单个标点符号被视为一个单词)为单位的。我们使用的算法在这一步的学习简单来说就是不停地做“完形填空”,给定上下文来猜单词,以此来学习每个单词的含义。在机器里,单词的”意义“这被表示为一串数字。
教会它怎么读书以后就是要教它怎么分类,怎么将读的文本分给对应的作者。这里机器也有个大脑(神经网络),大脑里每个神经元都有自己用来判断的权重,把一篇文章的单词们和对应的作者(即学习的目标)塞给它,神经元通过调整权重,让大脑最终能够算出这篇文章属于这位作者的可能性为1。这就是机器学习分类过程,在这里是深度学习。
当机器学会阅读也学会判断以后就是学习好可以投入使用了,也就是大家现在在网站中所使用的模型。在预测时你的文本像哪位作家时,机器先将文本进行切分成单词(事实上是2个单词的词组,并不是单个单词,因此模型是会考虑上下文的),再把这些单词送进模型的大脑,使用先前学习好的权重进行计算,最终就得到了我们在网站中看到的作者概率。
Q:有什么因素会影响模型判断?是否存在过度依赖某种元素或者人名?
A:用词,包括词语本身和它的前后文和所在的位置,即遣词造句,是最影响结果的因素,这是由前文提到的学习原理决定的。需要注意的是标点符号也被视为单词,所以标点符号的位置和其它单词有一样的意义。但是在机器进行深度学习过程中也会学到其它潜在的因素,例如文章内容,当你和某个作者写同一件事时也会被判断像ta,而这本质上还是因为你们在描述同一件事上用的单词含义非常相似;例如题材,你写科幻小说也容易被判断给科幻小说作家,这同样还是因为在科幻小说中用词的类似性。这些潜在因素隐藏在字句之下,或多或少影响着模型判断,但它们的体现方式仍然是遣词造句。
除此之外,在整个过程中除了文本本身以外机器不会考虑任何其他因素,因为我们没有给它提供任何其它信息,例如很多小伙伴可能会想到的文体等。上一个问题的回答中可以发现,机器只是读了你的文本,通过运算给出结果,不会考虑任何其它因素。
显然,模型会依赖人名、地名这样的专有名词。这种单词通常只有一位作者用过,且作者会高频率的使用这个单词,对于机器来说这类单词就是这个作者的重要特征,如果你也使用了这些单词,它们就一定会对分类结果有影响。但如前文所说,模型不会忽视隐藏在词句里的潜在因素。想要避免这种影响,用其他名字替代即可。
值得一提的是,模型不会考虑布局谋篇,这是因为我们训练模型时是以段落为单位进行训练的。模型每一次学习都从一个自然段中学习,因此它在判断时也不能注意到几个段落之间的关系。我们一直认为训练数据应该是片段而不是单独段落,因为我们深知大家写的文章也是有结构的片段。但是如何划分片段非常难评判,而将近千本书逐一分割片段的工作量也是我们无法承受的,因此最后选择代码可以自动划分的自然段作为了训练的单位。
Q:单句分析部分的百分比和颜色有什么意义?
A:单句分析的百分比可以理解为这个句子,为这篇文章被分给这位作家,做出了多少贡献。例如整段文本被认为最像作家A,B,C,那单句这里的百分比就是有多影响模型做出这个决策。而颜色则是可视化表示这句话对A/B/C的贡献最大。
这里用到的技术叫Explainable AI,可解释人工智能,用来解释分类结果的,也是我的论文题目。这里其实应用了两个算法(具体可以在后面算法的问题回答中了解),用户会被随机初始化其中一个。这两个算法对于贡献度的计算方式不一样,对比哪一个给用户带来的体验更好也是我的论文研究问题之一。(没错,其实只有这部分是我的论文)
Q:我不理解某算法是怎么测中文文本和外文文本的文风相似度的,翻译过程中明明最易受影响的就是文风了,甚至比如同一篇诗歌作品能有很多中译版本,每个版本风格都有非常明显的区别,这要怎么量化/平均化?一些作家不同时期的作品风格有很大区别,且正式写作和书信往来/日记又有很大区别,这怎么进行比较?文体的不同又怎么解决?比如说,这个网站看起来自动把同人作品归类到fiction里,但实际上同人作品的文体是很多样的,不知道它是否先进行分类?我觉得它槽点很多,可能根本就没有一个强力的算法支持,搞了一个噱头而已,背后很可能是检测到特定分词方式就粗暴贴标签或者用词频去统计的(来自空间)
A:首先抱歉贸然将您的空间动态贴在这里,消息也是转发了很多次才到我这里,没能成功联系上您!将您的评价贴在这是因为您的思考总结了我们遇到的大多数质疑,非常感谢!在这一段我也会以更为正式的角度来回答。
语言学上我们网站的这一应用的研究领域有专门的名词,叫做Author Attribution,作者归属。作者归属是指根据文体和语言特点确定文本作者的任务。早期方法通常依赖于人工定性分析,分析的方向有例如词频统计、词语丰富度、句子和短语结构等等。人工分析出这些特征后,将这些特征作为文本的数字表示,再通过计算最后得出结论。这篇2008年的论文'A survey of modern authorship attribution methods'对于机器学习兴起前的作者归属研究做了比较全面的阐述。我认为这种人工分析文本以构建文本特征的方式是你所预想的。
但是随着自然语言处理技术的发展,文本特征的数字表示已经逐渐被深度学习取代,比如在先前回答中讲述的我们网站的原理。而GPT这类大型语言模型之所以出色,也正是通过深度学习将文本转换为数字的能力非常强。所以我们,以及我们的模型,并没有这些语言学上的考量,例如您提到的事先分类。并且,我们主创团队没有任何文学或语言学专业背景,让我们来做人工分析也不是合理、严谨的。
外文译本和作家作品的选取,我们主要是以流行度来判断的,即选取了所谓“代表作”,或者最畅销的版本。正如一般问题中提到的,我们这里有局限性,我们也深知这样的选取方式未必能够代表作者,但是这是我们能力范围内可以做到的最好的。而这也正是跨学科研究中的普遍挑战,即其中一个学科的研究人员对于另一个学科的专业不够了解。我可以预想到的是,如果能够有相关专业的研究者来构建训练数据,以及对其他值得考虑的方面如体裁、类别、时期等进行人工标注,那么我们的模型表现将会更严谨更专业。但是手工构建标注数据集的工作量是巨大的,如果您有相关资质并愿意无偿提供帮助,请不要犹豫联系我们,感激不尽!
外文文本的问题其实可以通过技术以解决,尤其是当前世界先进的大模型都支持多语言。但是站在开发为用户提供服务的网站来看,我们需要考量的不止有准确度。诚然使用大模型可以直接用当前中文文本和原作者的原文对比,我也有能力对大模型进行微调完成这一任务,但是能够负载大模型的GPU服务器价格普遍非常昂贵,起码在3000元一个月。我们没有这个经济能力负担。
而最后关于算法的质疑,我在先前问题中已经详细讲述了我们算法的原理,在下一个问题中也公开了算法的名称,就不再做多赘述了。我的主修专业名叫数据科学与人工智能,不是软件工程,网站开发不是我的学习内容,强力的算法才是。
Q:网站使用的是什么算法?
A:文本分类:FastText: 是Facebook实验室在2016年推出的开源文本分类算法,优点是在保持准确率的同时轻量,运算速度快,消耗资源少,只需CPU即可部署使用。
可解释AI(即每句成分分析部分):
LIME(Local Interpretable Model-agnostic Explanations): 将分类模型视为黑盒,通过随机删除句子对文本进行重新采样,再使用黑盒分类模型预测,通过一系列可解释的简单模型来拟合预测,最终对这些简单模型进行解释。
SHAP(SHapley Additive exPlanations): 基于博弈论,计算每句的Shapley Value
Q:关于我的论文:
A:Title: Integrating Explainable AI in a NLP Tool for Author Attribution: Enhancing User Understanding and Trust
题目:在 NLP 工具中整合可解释的人工智能,用于作者归属: 增强用户理解和信任
算法部分代码及测试集v0.1已在GitHub中开源