我正在尝试使用数据湖的微软认知服务,并试图从CSV文件列中的文本中获取关键短语和情绪时遇到问题。
我已经检查过以确保文件格式正确并且正确读取(我已经完成了一些基本操作,例如复制,以确保它可行)。
我还确保我对CSV文件(描述)感兴趣的列只包含自己提取的文本(字符串)。
输入文件和输出文件夹位于我的Azure数据湖中,我正在运行Azure上的数据湖分析脚本。我不试图在Visual Studio中本地运行它。
我使用Key Phrases Extraction (U-SQL)和Sentiment Analysis (U-SQL)作为我的参考,并按照指示进行操作,包括获取插件。
在我提交作业的每种情况下,我都会收到一个错误,似乎无法找到答案。下面我展示了我用过的每个代码以及运行时得到的错误。
关键词组代码
REFERENCE ASSEMBLY [TextSentiment];
REFERENCE ASSEMBLY [TextKeyPhrase];
@myinput =
EXTRACT
Modified_On string,
_Name string,
Description string,
Customer string,
Category string,
Target_Market string,
Person_Responsible string,
Status string,
_Region string,
Modified_On_2 string,
Created_On string,
_Site string,
_Team string
FROM "/userData/fromSharepoint/Game_Plans"
USING Extractors.Csv(skipFirstNRows:1);
@keyphrase =
PROCESS @myinput
PRODUCE
Description,
KeyPhrase string
READONLY
Description
USING new Cognition.Text.KeyPhraseExtractor();
OUTPUT @keyphrase
TO "/userData/testingCognitive/tesing1.csv"
USING Outputters.Csv();
密钥短语错误消息
情感代码
REFERENCE ASSEMBLY [TextSentiment];
REFERENCE ASSEMBLY [TextKeyPhrase];
@myinput =
EXTRACT
Modified_On string,
_Name string,
Description string,
Customer string,
Category string,
Target_Market string,
Person_Responsible string,
Status string,
_Region string,
Modified_On_2 string,
Created_On string,
_Site string,
_Team string
FROM "/userData/fromSharepoint/Game_Plans"
USING Extractors.Csv(skipFirstNRows:1);
@sentiment =
PROCESS @myinput
PRODUCE
Description,
sentiment string,
conf double
READONLY
Description
USING new Cognition.Text.SentimentAnalyzer(true);
OUTPUT @sentiment
TO "/userData/testingCognitive/tesing1.csv"
USING Outputters.Csv();
情绪错误讯息
非常感谢任何有关如何解决这个问题的帮助。
或者,如果有人使这些功能正常工作,并且可以提供一些脚本来测试,并且链接到输入文件以便下载,这将是非常棒的。
答案 0 :(得分:1)
我无法重现您的确切错误(您可以发布一些简单的示例数据吗?)但我可以让这些库工作。我认为默认情况下KeyPhraseExtractor需要名为Text
和KeyPhrase
的列,因此如果要更改它们,则必须将列名称作为参数传递,例如
@keyphrase =
PROCESS @myinput
PRODUCE Description,
KeyPhrase string
READONLY Description
USING new Cognition.Text.KeyPhraseExtractor("Description", "KeyPhrase");
更新:示例文件中有一些无效字符,就在“Bass”之后。这是一个不间断的空间(U + 00A0),我不会认为你可以导入它们 - 很乐意纠正。我手动删除了这些并能够导入文件。你可以用某种方式预处理它们。