Python 识别语法正确的无意义句子
我有两个文件file1.csv和file2.csv。file1.csv在每行中包含一个愚蠢的句子。file2.csv标识它是哪个列,类型0对应于0,类型1对应于1。我想做一个NLP分类任务,我通常知道怎么做。但在这种情况下,我有点困惑,不知道如何安排和组织我的数据集,以便我可以训练我的句子和标签。如果有人给我一个进步的提示,我将不胜感激 文件1.csv,格式如下:Python 识别语法正确的无意义句子,python,python-3.x,nlp,text-classification,Python,Python 3.x,Nlp,Text Classification,我有两个文件file1.csv和file2.csv。file1.csv在每行中包含一个愚蠢的句子。file2.csv标识它是哪个列,类型0对应于0,类型1对应于1。我想做一个NLP分类任务,我通常知道怎么做。但在这种情况下,我有点困惑,不知道如何安排和组织我的数据集,以便我可以训练我的句子和标签。如果有人给我一个进步的提示,我将不胜感激 文件1.csv,格式如下: id,type0,type1 0,He married to a dinosaur.,He married to a women.
id,type0,type1
0,He married to a dinosaur.,He married to a women.
1,She drinks a beer.,She drinks a banana.
2,He lifted a 500 tons.,He lifted a 50kg.
文件2.csv,格式如下
id,stupid
0,0
1,1
2,0
我的目的是对愚蠢的句子进行分类也许你可以考虑单字不单单把每个词当作一个变量,还可以用双克。这有助于识别没有意义的单词组合。 首先清除停止词中的文本 所以你会有一些变量,比如已婚的恐龙或者喝熊,而不是每个单词 我会使用tidytext来表示R,但是如果您正在Python中寻找类似的东西,您可以查看这个
也许你可以把单字视为一个变量,但也可以用双克。这些词的组合对识别没有帮助。 首先清除停止词中的文本 所以你会有一些变量,比如已婚的恐龙或者喝熊,而不是每个单词 我会使用tidytext来表示R,但是如果您正在Python中寻找类似的东西,您可以查看这个
假设在100%的情况下,有一个句子在语义上是正确的,而另一个句子在语义上是不正确的,您可以将type0和type1句子分成两个不同的示例,并分别进行分类,例如:
id,type0,type1
0,He married to a dinosaur.,He married to a women.
1,She drinks a beer.,She drinks a banana.
2,He lifted a 500 tons.,He lifted a 50kg.
变成:
id,sentence
0,He married to a dinosaur
1,He married to a women.
2,She drinks a beer.
3,She drinks a banana.
4,He lifted a 500 tons.
5,He lifted a 50kg.
但是,如果您的数据包含的记录中一个句子比另一个句子略显愚蠢,即实际需要比较两个句子,则这将不起作用。假设,在100%的情况下,会有一个句子语义正确,而另一个句子语义不正确,您可以将type0和type1句子分为两个不同的示例,并分别进行分类,例如:
id,type0,type1
0,He married to a dinosaur.,He married to a women.
1,She drinks a beer.,She drinks a banana.
2,He lifted a 500 tons.,He lifted a 50kg.
变成:
id,sentence
0,He married to a dinosaur
1,He married to a women.
2,She drinks a beer.
3,She drinks a banana.
4,He lifted a 500 tons.
5,He lifted a 50kg.
但是,如果您的数据中包含一个句子比另一个句子略显愚蠢的记录,即实际需要对两个句子进行比较,那么这将不起作用。我认为在这种情况下使用bigram会很有用。这就是一次考虑两个单词。我认为在这种情况下使用bigrams会很有用。这是一次考虑两个词。大猩猩不适合这种情况——恐龙和已婚大猩猩都是正常的大猩猩 你能做的最简单的事情就是记录标记搭配。把你的文档分成几个句子,记录在同一句话中恐龙和已婚或其他任何事情发生的次数。然后,您应该能够在标记的句子上训练分类器对它们进行分类。从直觉上看,这与bigrams的工作原理相同,但它捕获了更多的长期关系 一种更复杂的方法是将主谓宾语集分类为合理或不合理。使用依赖关系解析获得主语、动词、宾语三元组,然后将它们标记为合理或不合理,使用词向量作为输入,并训练分类器。如果你这样做了,那么你的模型应该能够告诉你,她嫁给恐龙比嫁给水管工更奇怪,因为水管工在向量空间中比恐龙更接近人类 如果你的例子总是成对出现,我也会避免把它们单独分类。您可以训练一个在单个实例上工作的二元分类器,但要比较二者之间无意义类的可能性,并选择更无意义的一个。通过这种方式,您可以轻松地强制执行一个约束,即恰好一个是无意义的
听起来是个有趣的项目,祝你好运!这是不一样的,但你可能会对经典的问题感兴趣,一些解决方法可能会对你有所帮助。从语言学角度来看,双关语的概念也是相关的。双关语不适用于这一点——恐龙和已婚的双关语都是正常的双关语 你能做的最简单的事情就是记录标记搭配。把你的文档分成几个句子,记录在同一句话中恐龙和已婚或其他任何事情发生的次数。然后,您应该能够在标记的句子上训练分类器对它们进行分类。从直觉上看,这与bigrams的工作原理相同,但它捕获了更多的长期关系 一种更复杂的方法是将主谓宾语集分类为合理或不合理。使用依赖关系解析获得主语、动词、宾语三元组,然后将它们标记为合理或不合理,使用词向量作为输入,并训练分类器。如果你这样做了,那么你的模型应该能够告诉你,她嫁给恐龙比嫁给水管工更奇怪,因为水管工在向量空间中比恐龙更接近人类 我会的 如果你的例子总是成对出现,也要避免将它们单独分类。您可以训练一个在单个实例上工作的二元分类器,但要比较二者之间无意义类的可能性,并选择更无意义的一个。通过这种方式,您可以轻松地强制执行一个约束,即恰好一个是无意义的
听起来是个有趣的项目,祝你好运!这是不一样的,但你可能会对经典的问题感兴趣,一些解决方法可能会对你有所帮助。从语言学中获取信息的概念也是相关的。对这些样本进行分类不是一项现实的任务。也许如果你有几十万或几百万个样本,一个系统可以推断出足够的关于世界的信息,从而了解哪些关系是有意义的;但正如前面所说,这似乎不是一个任务,你可以从对有限数量的样本进行手动分类开始,也绝对不是你的第一个NLP练习。我相信他有3个以上的例子,可能是为了简化而发布的。不管怎么说,我在这一领域做了将近两年的专业人士,我从未见过这样的问题。对这些样本进行分类不是一项现实的任务。也许如果你有几十万或几百万个样本,一个系统可以推断出足够的关于世界的信息,从而了解哪些关系是有意义的;但正如前面所说,这似乎不是一个任务,你可以从对有限数量的样本进行手动分类开始,也绝对不是你的第一个NLP练习。我相信他有3个以上的例子,可能是为了简化而发布的。不管怎样,我在这一领域做了将近2年的专业人士,我从未见过这样的问题。请用逻辑、数据或一些参考资料提供更具体的答案。”“我认为”或“我猜”可能对此人没有帮助。请用逻辑、数据或一些参考资料提供更具体的答案。”我认为“我猜”或“我猜”可能对这个人没有帮助。这是一个预处理步骤,我也会这样做。然后用fasttext分类这是一个我也会做的预处理步骤。然后用fasttext进行分类