Weka 和 CSV 文件

Weka and CSV files

我目前正在尝试将一些数据导入 weka。目前数据在 CSV 文件中,由数字 ID 和一些字符串数据(推文)组成。我在读取 "Wrong number of values, Read 1, expected 2 Token[EOL], line 17" 时遇到错误。我使用引号作为字符串数据的封闭字符。我知道某些东西(大概是 EOL 字符?)导致 weka 错误地将一些字符串数据分成同一行的多个条目,但我不确定如何解决 EOL 令牌问题。

我的数据集可以在这里查看。当前数据集在Sheet 2:

https://docs.google.com/spreadsheets/d/1Yclu0t4ITFWn6itYBsVtkGalmP9BPaWFFP6U6jAeLMU/edit?usp=sharing

可以在此处找到文本文件本身:

https://drive.google.com/file/d/0B433FqC3TscQQkRxZklQclA3Z3M/view?usp=sharing

当前错误在第3行,同样的错误。唯一的换行符是行尾的那个,表示一个新条目,所以我不确定为什么它有问题。

在其数据集中,Weka 将 newline 字符视为实例结束的指示。您的第 17 行实际上是一条让 Weka 感到困惑的 multi-line 推文。您可以使用

  1. 一个正则表达式,用于删除每条推文中的 newline 个字符或
  2. 在下载推文期间,清理推文以删除其中的任何 newline 个字符。

不幸的是,Weka 没有自己解决这个问题的机制(据我所知)。


编辑

好的,这里还有一些其他需要解决的问题(根据您在问题中的编辑):

  1. '替换为\'
  2. grave accent替换为\grave accent
  3. 许多推文包含引号中的引号。内部双引号 (") 应替换为 \"
  4. 如果你将推文放在双引号内,那么你的 header 应该是 id, "text"
  5. 有些推文包含两个连续的双引号,去掉它们或用\"替换它们。
  6. 我不能确切地说出在哪里,因为我失去了踪迹,但我认为仍然有一些推文包含新行(或者至少有一条推文仍然存在)

这些只是我注意到的几件事。可能还有更多。时间会证明一切。