Удалить или заменить URL и RT из набора данных Twitter - PullRequest
0 голосов
/ 07 июня 2018

Итак, сейчас я пытаюсь выполнить этап очистки данных по классификации текста с использованием набора данных Twitter.Но у меня проблема с тем, как заменить (или, возможно, удалить) URL, RT и символ @.Я прочитал какое-то сообщение на форуме, но все еще ничего не понял.

Для URL-адреса в наборе данных я хочу изменить формат с ссылки "https:" или "http:" на ""(Я не знаю, почему он не может иметь нулевое значение, например" ").Но после того, как я выполнил свой процесс с использованием оператора Replace в программном обеспечении RapidMiner, результат из этого примера >> "http://blablabla" изменился не только на" ссылку ", но результат получился как эта" linkblablabla ". Может быть, этоя имею отношение к RegEx? Я знаю, что такое RegEx, но я не знаю, как его использовать и написать.]

Я сейчас очень запутался. Пожалуйста, помогите мне. Спасибо.

Это мой процесс RapidMiner:

<?xml version="1.0" encoding="UTF-8"?><process version="8.1.001">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="8.1.001" expanded="true" name="Process">
 <process expanded="true">
  <operator activated="true" class="retrieve" compatibility="8.1.001" expanded="true" height="68" name="Retrieve Dataset Skripsi" width="90" x="45" y="34">
    <parameter key="repository_entry" value="Dataset Skripsi"/>
  </operator>
  <operator activated="true" class="nominal_to_text" compatibility="8.1.001" expanded="true" height="82" name="Nominal to Text" width="90" x="179" y="34">
    <parameter key="attribute_filter_type" value="single"/>
    <parameter key="attribute" value="Text"/>
  </operator>
  <operator activated="true" class="set_role" compatibility="8.1.001" expanded="true" height="82" name="Set Role" width="90" x="313" y="34">
    <parameter key="attribute_name" value="Label"/>
    <parameter key="target_role" value="label"/>
    <list key="set_additional_roles"/>
  </operator>
  <operator activated="true" class="filter_examples" compatibility="8.1.001" expanded="true" height="103" name="Filter Examples" width="90" x="447" y="34">
    <parameter key="condition_class" value="no_missing_attributes"/>
    <list key="filters_list"/>
  </operator>
  <operator activated="true" class="remove_duplicates" compatibility="8.1.001" expanded="true" height="103" name="Remove Duplicates" width="90" x="581" y="34">
    <parameter key="attribute_filter_type" value="single"/>
    <parameter key="attribute" value="Text"/>
  </operator>
  <operator activated="true" class="replace" compatibility="8.1.001" expanded="true" height="82" name="Replace" width="90" x="715" y="34">
    <parameter key="replace_what" value="(https://)"/>
    <parameter key="replace_by" value="link"/>
  </operator>
  <connect from_op="Retrieve Dataset Skripsi" from_port="output" to_op="Nominal to Text" to_port="example set input"/>
  <connect from_op="Nominal to Text" from_port="example set output" to_op="Set Role" to_port="example set input"/>
  <connect from_op="Set Role" from_port="example set output" to_op="Filter Examples" to_port="example set input"/>
  <connect from_op="Filter Examples" from_port="example set output" to_op="Remove Duplicates" to_port="example set input"/>
  <connect from_op="Remove Duplicates" from_port="example set output" to_op="Replace" to_port="example set input"/>
  <connect from_op="Replace" from_port="example set output" to_port="result 1"/>
  <portSpacing port="source_input 1" spacing="0"/>
  <portSpacing port="sink_result 1" spacing="0"/>
  <portSpacing port="sink_result 2" spacing="0"/>
</process>
</operator>
</process>

1 Ответ

0 голосов
/ 07 июня 2018

проблема с вашим выражением в том, что оно правильно распознает часть «https:», но в аргументе замены вы утверждаете, что это совпадение должно быть заменено на «ссылку».Это приводит к выводу "" linkblablabla ".

Если вы хотите заменить полную ссылку на заменяющий токен" link ", вам понадобится следующий RegEx:

(https?|http)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]

и затем поместите [ссылка] или "" в поле замены. Либо заменить ссылку, либо полностью удалить ее.

Более подробное объяснение можно найти с более подробной информацией в RapidMiner Community . enter image description here

...