Python 在R中使用自定义标记器将文本转换为向量?

Python 在R中使用自定义标记器将文本转换为向量?,python,r,vector,machine-learning,data-science,Python,R,Vector,Machine Learning,Data Science,R中是否有任何方法可以使用我自己的标记器将文本转换为向量? vectorizer=TfidfVectorizer(标记器=getTokens) X=矢量器。拟合变换(语料库) 上面的代码是用python编写的,getTokens是我的自定义标记器,所以我可以在R中做同样的事情。 有些事情我想提一下,比如Rlibrary(text2vec)中也有一个库,但我不知道如何在R中应用我的自定义标记器 Tokens=words“标记化是将文本拆分为标记的过程”。我假设你用代币指的是文字。这可以在R中完成,

R中是否有任何方法可以使用我自己的标记器将文本转换为向量?
vectorizer=TfidfVectorizer(标记器=getTokens)
X=矢量器。拟合变换(语料库)

上面的代码是用python编写的,getTokens是我的自定义标记器,所以我可以在R中做同样的事情。 有些事情我想提一下,比如R
library(text2vec)
中也有一个库,但我不知道如何在R中应用我的自定义标记器 Tokens=words

“标记化是将文本拆分为标记的过程”。我假设你用代币指的是文字。这可以在R中完成,例如在低电平上使用strsplit。例如:

> example <- "This is an example. This is an example"
> unlist(strsplit(example, split = " "))
[1] "This"     "is"       "an"       "example." "This"     "is"       "an"       "example" 
如果要保留标点符号,可以使用
“\\s+”
又名空白代替alnum。我们可以将其包装成一个函数:

> tokenize <- function(x){
+   unlist(strsplit(example, split = "\\s+"))
+ }
> tokenize(example)
 [1] "This"      "is"        "an"        "example."  "This"      "is"        "an"        "example"
>标记化标记化(示例)
[1] “这”是“一个”示例。“这”是“一个”示例”
如果您希望使用与word不同的标记(例如,句子或字符)。您可以使用quanteda的标记器,它可以处理特殊情况,例如句点不表示新句子:

> example <- "This is an example. This is an example Dr. Knowitall"
> quanteda::tokens(example, what = "sentence")
tokens from 1 document.
text1 :
[1] "This is an example."              "This is an example Dr. Knowitall"
>示例quanteda::标记(示例,what=“句子”)
来自1个文档的令牌。
正文1:
[1] “这是一个例子。”“这是一个例子Knowitall博士”
还有几个其他的包附带了它们自己的标记器。例如,包tokenizers就提供了这一点。

“标记化是将文本拆分为标记的过程”。我假设你用代币指的是文字。这可以在R中完成,例如在低电平上使用strsplit。例如:

> example <- "This is an example. This is an example"
> unlist(strsplit(example, split = " "))
[1] "This"     "is"       "an"       "example." "This"     "is"       "an"       "example" 
如果要保留标点符号,可以使用
“\\s+”
又名空白代替alnum。我们可以将其包装成一个函数:

> tokenize <- function(x){
+   unlist(strsplit(example, split = "\\s+"))
+ }
> tokenize(example)
 [1] "This"      "is"        "an"        "example."  "This"      "is"        "an"        "example"
>标记化标记化(示例)
[1] “这”是“一个”示例。“这”是“一个”示例”
如果您希望使用与word不同的标记(例如,句子或字符)。您可以使用quanteda的标记器,它可以处理特殊情况,例如句点不表示新句子:

> example <- "This is an example. This is an example Dr. Knowitall"
> quanteda::tokens(example, what = "sentence")
tokens from 1 document.
text1 :
[1] "This is an example."              "This is an example Dr. Knowitall"
>示例quanteda::标记(示例,what=“句子”)
来自1个文档的令牌。
正文1:
[1] “这是一个例子。”“这是一个例子Knowitall博士”

还有几个其他的包附带了它们自己的标记器。例如,包标记器,提供了这一点。

基本上,我想在URl检测中使用这一点,因为我必须以矢量形式创建URl,并预测分数。有没有任何方法可以这样做,或者你可以在R中创建相同的函数。这将是一个很大的帮助。@Jongrub请将此添加到你的问题中,然后给出一些你想要标记化的URl的示例。正如您所看到的,这主要取决于您在split选项中写入的内容。例如,如果URL以逗号分隔,您可以将其放入函数中。请浏览github链接:您将了解发生了什么,这将非常有帮助。@jongrubI认为这没有多大帮助。脚本显然指向
all\u url='/home/mifi/Desktop/R\u project\u detecting\u恶意\u url/original\u dataset/data.csv'
中的一组url。由于我查不到这个文件,我想我帮不了你。只需提供一个URL在该文件中的位置示例。如果每一个都在一个“单元”中,则read.csv应该能够将它们彼此分开。顺便说一下,R中的标准选项是在读取csv文件时将字符串转换为因子。您可以使用read.csv(文件,stringsAsFactors=FALSE)关闭该功能,不好,这就是url的样子。基本上,我想在url检测中使用这个东西,因为我必须以向量形式创建url,并预测分数。有没有任何方法可以这样做,或者你可以在R中创建相同的函数。这将是一个很大的帮助。@Jongrub请将此添加到你的问题中,然后给出你想要的几个url的示例标记化。正如您所看到的,这主要取决于您在split选项中写入的内容。例如,如果URL以逗号分隔,您可以将其放入函数中。请浏览github链接:您将了解发生了什么,这将非常有帮助。@jongrubI认为这没有多大帮助。脚本显然指向
all\u url='/home/mifi/Desktop/R\u project\u detecting\u恶意\u url/original\u dataset/data.csv'
中的一组url。由于我查不到这个文件,我想我帮不了你。只需提供一个URL在该文件中的位置示例。如果每一个都在一个“单元”中,则read.csv应该能够将它们彼此分开。顺便说一下,R中的标准选项是在读取csv文件时将字符串转换为因子。你可以用read.csv(文件,stringsAsFactors=FALSE)关闭它…diaryofagameaddict.com,糟糕,这就是url的样子。