Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 识别语法正确的无意义句子_Python_Python 3.x_Nlp_Text Classification - Fatal编程技术网

Python 识别语法正确的无意义句子

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.

我有两个文件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.
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进行分类