• Авторизация


JAVA_18 17-05-2019 20:03 к комментариям - к полной версии - понравилось!


JAVA_18

https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0_%D0%B5%D1%81%D1%82%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0

Теоретически, построение естественно-языкового интерфейса для компьютеров — очень привлекательная цель. Ранние системы, такие как SHRDLU, работая с ограниченным «миром кубиков» и используя ограниченный словарный запас, выглядели чрезвычайно хорошо, вдохновляя этим своих создателей. Однако оптимизм быстро иссяк, когда эти системы столкнулись со сложностью и неоднозначностью реального мира.

Понимание естественного языка иногда считают AI-полной задачей, потому как распознавание живого языка требует огромных знаний системы об окружающем мире и возможности с ним взаимодействовать. Само определение смысла слова «понимать» — одна из главных задач искусственного интеллекта.

https://ru.wikipedia.org/wiki/GATE_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0)

General Architecture for Text Engineering (GATE, программа) — система обработки естественного языка с открытым исходным кодом, использующая наборы компонентов на языке Java[1]. Система изначально была разработана в Университете Шеффилда и развивается с 1995 г.

С помощью GATE реализуются задачи, где требуется выявить смысловое содержание текста и кодировать его в структурированном виде путём добавления аннотаций к сегментам текста. GATE используется наряду с NLTK, R и RapidMiner [2]. Система применяется для извлечения информации, ручной и автоматической семантической аннотации, анализа кореферентности, работы с онтологиями (например, WordNet), машинного обучения (Weka, RASP, MAXENT, SVM Light), анализа потока сообщений в блогах (например, Twitter) [3].

https://ru.wikipedia.org/wiki/MARF

Модульная библиотека для распознавания аудио (англ. Modular Audio Recognition Framework, MARF) — является исследовательской платформой и подборкой алгоритмов для обработки и распознавания образов (текста, речи, звука и т. д.) и обработки естественного языка, написанная на Java и устроенная в модульную и расширяемую структуру, которая пытается облегчить дополнение новых алгоритмов, плагинов и модулей. MARF может действовать как библиотека в приложениях или может использоваться как источник для изучения и расширения. Несколько сопровождающих приложений прилагаются для иллюстрации возможностей библиотеки и как ей пользоваться. Есть также достаточно детальное руководство [1] и описание программного интерфейса[2] в формате Javadoc. MARF и её приложения выпущены согласно лицензии BSD-стиля.

Последняя версия выпущена 8 января 2007 года[3].

Ана́лиз тона́льности те́кста (сентимент-анализ, англ. Sentiment analysis, англ. Opinion mining[1]) — класс методов контент-анализа в компьютерной лингвистике, предназначенный для автоматизированного выявления в текстах эмоционально окрашенной лексики и эмоциональной оценки авторов (мнений) по отношению к объектам, речь о которых идёт в тексте[⇨].

Тональность — это эмоциональное отношение автора высказывания к некоторому объекту (объекту реального мира, событию, процессу или их свойствам/атрибутам), выраженное в тексте. Эмоциональная составляющая, выраженная на уровне лексемы или коммуникативного фрагмента, называется лексической тональностью (или лексическим сентиментом). Тональность всего текста в целом можно определить как функцию (в простейшем случае сумму) лексических тональностей составляющих его единиц (предложений) и правил их сочетания[2].

Вопросно-ответная система (QA-система; от англ. QA — англ. Question-answering system) — информационная система, способная принимать вопросы и отвечать на них на естественном языке, другими словами, это система с естественно-языковым интерфейсом

Узкоспециализированные QA-системы работают в конкретных областях (например, медицина или обслуживание автомобилей).

Современные системы предназначаются для поиска ответов на вопросы в предоставляемых документах с использованием технологий обработки естественных языков (NLP).

Генера́тор те́кста — компьютерная программа, генерирующая тексты (сленг генерёнку), корректные с точки зрения большинства языковых норм, но, как правило, лишённые смысла (в связи с чем такие программы иногда называют «бредогенераторами», «генераторами шизофазии»).

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

Существуют разные виды генераторов текста, различающиеся своими возможностями (например, некоторые из них могут самостоятельно формировать новые слова).

Джонатан Свифт в «Путешествиях Гулливера», пародируя Ars magna Раймунда Луллия, сатирически описал машину из Лагадо, генерирующую тексты.

Си́нтез ре́чи — в широком смысле — восстановление формы речевого сигнала по его параметрам[1]; в узком смысле — формирование речевого сигнала по печатному[уточнить] тексту. Часть искусственного интеллекта.

Синтезом речи — прежде всего называется всё, что связано с искусственным производством человеческой речи.

Синтезатор речи — структура, способная переводить текст/образы в речь, в программном обеспечении и/или аппаратных средствах.

Голосовой движок — непосредственно система/ядро преобразования текста/команд в речь, это также может существовать независимо от компьютера.

Всё понятно. Пока возвратился к яве. Однострочный калькулятор 100 100500 раз пока не вызубрю.

/home/alex/Consolejava/Study-java/etud/7

// https://habr.com/en/post/320830/
//
import java.util.*;
import java.util.function.DoubleBinaryOperator;
import java.util.stream.*;

public class OneLineCalc {
  private static final String OP_NAMES = "+-*/";
  private static final List<DoubleBinaryOperator> OPS =
          Arrays.asList((a, b) -> a+b, (a, b) -> a-b, (a, b) -> a*b, (a, b) -> a/b);

  private static String normalize(String s) {
    return s.replaceAll("\\s", "");
  }

  private static void calc(String s) {
    System.out.println(doCalc(normalize(s)));
  }

  private static double doCalc(String s) {
    try {
      int opPos = IntStream.range(1, s.length())
                           .filter(idx -> OP_NAMES.indexOf(s.charAt(idx)) != -1)
                           .findFirst().getAsInt();
      return OPS.get(OP_NAMES.indexOf(s.charAt(opPos))).applyAsDouble(
                Double.parseDouble(s.substring(0, opPos)),
                Double.parseDouble(s.substring(opPos+1)));
    }
    catch (NoSuchElementException | NumberFormatException e) {
      return Double.NaN;
    }
  }

  public static void main(String[] args) {
    calc("+5 + -12");
    calc("+5 * -12");
    calc("+5 - -12");
    calc("+5 / -12");
  }
}

Достаточно на сегодня 19 мая 2019 год.

 

Пн май 20 18:04:20 MSK 2019

DG - EX     Если видите, ответьте

Далее буду повторять всего 3 файла исключительно в консоли.

1).

// https://habr.com/en/post/125210/
 // Берем сам файл HelloWorld.java.
 public class HelloWorld{
         public static void main(String[] args){
            System.out.println("Hello World!");
        }
 }

2). а)

public class Date
{
    private int day;
    private String month;
    private int year;
    
    public Date()
    {
        this(1, "January", 2000);
    }
    
    public Date(int day, String month, int year)
    {
        setDate(day, month, year);
    }
    
    public Date(int day, int monthNumber, int year)
    {
        setDate(day, monthNumber, year);
    }
    
    public Date(Date original)
    {
        if (original == null)
        {
            System.out.println("Error: null Date object");
            System.exit(0);
        }
        setDate(original.day, original.month, original.year);
    }
    
    public int getDay()
    {
        return day;
    }
    
    public int getMonth()
    {
        switch(month.toLowerCase())
        {
        case "january": return 1;
        case "february": return 2;
        case "march": return 3;
        case "april": return 4;
        case "may": return 5;
        case "june": return 6;
        case "july": return 7;
        case "august": return 8;
        case "september": return 9;
        case "october": return 10;
        case "november": return 11;
        case "december": return 12;
        default: return 0;
        }
    }
    
    public int getYear()
    {
        return year;
    }
    
    public void setDay(int day)
    {
        if (!dateOK(day, month, year))
        {
            System.out.println("Error: illegal day.");
            System.exit(0);
        }
        this.day = day;
    }
    
    public void setMonth(String month)
    {
        if (!dateOK(day, month, year))
        {
            System.out.println("Error: illegal month.");
            System.exit(0);
        }
        this.month = month;
    }
    
    public void setMonth(int monthNumber)
    {
        if (!dateOK(day, monthNumber, year))
        {
            System.out.println("Error: illegal month number.");
            System.exit(0);
        }
        this.month = monthString(monthNumber);
    }
    
    public void setYear(int year)
    {
        if (!dateOK(day, month, year))
        {
            System.out.println("Error: illegal year.");
            System.exit(0);
        }
        this.year = year;
    }
    
    public void setDate(int day, String month, int year)
    {
        if (!dateOK(day, month, year))
        {
            System.out.println("Error: illegal date.");
            System.exit(0);
        }
        this.day = day;
        this.month = month;
        this.year = year;
    }
    
    public void setDate(int day, int monthNumber, int year)
    {
        if (!dateOK(day, monthNumber, year))
        {
            System.out.println("Error: illegal date.");
            System.exit(0);
        }
        this.day = day;
        this.month = monthString(monthNumber);
        this.year = year;
    }
    
    public boolean equals(Date otherDate)
    {
        return (day == otherDate.day
                && getMonth() == otherDate.getMonth()
                && year == otherDate.year);
    }
    
    public String toString()
    {
        return month + " " + day + ", " + year;
    }
    
    public boolean precedes(Date otherDate)
    {
        return (year < otherDate.year)
                || (year == otherDate.year
                    && getMonth() < otherDate.getMonth())
                || (year == otherDate.year
                    && getMonth() == otherDate.getMonth()
                    && day < otherDate.day);
    }
    
    private static boolean isLeapYear(int year)
    {
        return (year % 4 == 0 && year % 100 !=0)
                || (year % 400 == 0);
    }
    
    private static String monthString(int monthNumber)
    {
        switch (monthNumber)
        {
        case 1: return "January";
        case 2: return "February";
        case 3: return "March";
        case 4: return "April";
        case 5: return "May";
        case 6: return "June";
        case 7: return "July";
        case 8: return "August";
        case 9: return "September";
        case 10: return "October";
        case 11: return "November";
        case 12: return "December";
        default : return "Error: illegal month number";
        }
    }
    
    private static boolean dateOK(int day, String month, int year)
    {
        if (year < 1900 || year > 9999)
            return false;
        switch (month.toLowerCase())
        {
        case "january":
        case "march":
        case "may":
        case "july":
        case "august":
        case "october":
        case "december": return (day >= 1 && day <= 31);
        case "april":
        case "june":
        case "september":
        case "november": return (day >= 1 && day <= 31);
        case "february":
            if (isLeapYear(year))
                return (day >= 1 && day <= 29);
            return (day >= 1 && day <= 28);
        default: return false;
        }
    }
    
    private static boolean dateOK(int day, int monthNumber, int year)
    {
        String monthString = monthString(monthNumber);
        return dateOK(day, monthString, year);
    }
}

public class Date
{
    private int day;
    private String month;
    private int year;
    
    public Date()
    {
        this(1, "January", 2000);
    }
    
    public Date(int day, String month, int year)
    {
        setDate(day, month, year);
    }
    
    public Date(int day, int monthNumber, int year)
    {
        setDate(day, monthNumber, year);
    }
    
    public Date(Date original)
    {
        if (original == null)
        {
            System.out.println("Error: null Date object");
            System.exit(0);
        }
        setDate(original.day, original.month, original.year);
    }
    
    public int getDay()
    {
        return day;
    }
    
    public int getMonth()
    {
        switch(month.toLowerCase())
        {
        case "january": return 1;
        case "february": return 2;
        case "march": return 3;
        case "april": return 4;
        case "may": return 5;
        case "june": return 6;
        case "july": return 7;
        case "august": return 8;
        case "september": return 9;
        case "october": return 10;
        case "november": return 11;
        case "december": return 12;
        default: return 0;
        }
    }
    
    public int getYear()
    {
        return year;
    }
    
    public void setDay(int day)
    {
        if (!dateOK(day, month, year))
        {
            System.out.println("Error: illegal day.");
            System.exit(0);
        }
        this.day = day;
    }
    
    public void setMonth(String month)
    {
        if (!dateOK(day, month, year))
        {
            System.out.println("Error: illegal month.");
            System.exit(0);
        }
        this.month = month;
    }
    
    public void setMonth(int monthNumber)
    {
        if (!dateOK(day, monthNumber, year))
        {
            System.out.println("Error: illegal month number.");
            System.exit(0);
        }
        this.month = monthString(monthNumber);
    }
    
    public void setYear(int year)
    {
        if (!dateOK(day, month, year))
        {
            System.out.println("Error: illegal year.");
            System.exit(0);
        }
        this.year = year;
    }
    
    public void setDate(int day, String month, int year)
    {
        if (!dateOK(day, month, year))
        {
            System.out.println("Error: illegal date.");
            System.exit(0);
        }
        this.day = day;
        this.month = month;
        this.year = year;
    }
    
    public void setDate(int day, int monthNumber, int year)
    {
        if (!dateOK(day, monthNumber, year))
        {
            System.out.println("Error: illegal date.");
            System.exit(0);
        }
        this.day = day;
        this.month = monthString(monthNumber);
        this.year = year;
    }
    
    public boolean equals(Date otherDate)
    {
        return (day == otherDate.day
                && getMonth() == otherDate.getMonth()
                && year == otherDate.year);
    }
    
    public String toString()
    {
        return month + " " + day + ", " + year;
    }
    
    public boolean precedes(Date otherDate)
    {
        return (year < otherDate.year)
                || (year == otherDate.year
                    && getMonth() < otherDate.getMonth())
                || (year == otherDate.year
                    && getMonth() == otherDate.getMonth()
                    && day < otherDate.day);
    }
    
    private static boolean isLeapYear(int year)
    {
        return (year % 4 == 0 && year % 100 !=0)
                || (year % 400 == 0);
    }
    
    private static String monthString(int monthNumber)
    {
        switch (monthNumber)
        {
        case 1: return "January";
        case 2: return "February";
        case 3: return "March";
        case 4: return "April";
        case 5: return "May";
        case 6: return "June";
        case 7: return "July";
        case 8: return "August";
        case 9: return "September";
        case 10: return "October";
        case 11: return "November";
        case 12: return "December";
        default : return "Error: illegal month number";
        }
    }
    
    private static boolean dateOK(int day, String month, int year)
    {
        if (year < 1900 || year > 9999)
            return false;
        switch (month.toLowerCase())
        {
        case "january":
        case "march":
        case "may":
        case "july":
        case "august":
        case "october":
        case "december": return (day >= 1 && day <= 31);
        case "april":
        case "june":
        case "september":
        case "november": return (day >= 1 && day <= 31);
        case "february":
            if (isLeapYear(year))
                return (day >= 1 && day <= 29);
            return (day >= 1 && day <= 28);
        default: return false;
        }
    }
    
    private static boolean dateOK(int day, int monthNumber, int year)
    {
        String monthString = monthString(monthNumber);
        return dateOK(day, monthString, year);
    }
}

2). б)

public class DateDemo
{
    public static void main(String[] args)
    {
        Date myBirthDate = new Date(7, "August", 1992);
        Date yourBirthDate = new Date(29, "February", 1984);
        Date yourBirthDateCopy = new Date(yourBirthDate);
        yourBirthDate.setYear(2000);
        
        System.out.println("My birth date is " + myBirthDate);
        System.out.println("Your birth date is " + yourBirthDate);
        System.out.println("Your birth date copy: " + yourBirthDateCopy);
        
        if (myBirthDate.precedes(yourBirthDate))
            System.out.println(myBirthDate + " precedes " + yourBirthDate);
        else
            System.out.println(yourBirthDate + " precedes " + myBirthDate);
        
        yourBirthDate.setYear(1984);
        if (yourBirthDate.equals(yourBirthDateCopy))
            System.out.println(yourBirthDate + " equals " + yourBirthDateCopy);
        else
            System.out.println(yourBirthDate + " does not equal " +
                    yourBirthDateCopy);
    }
}

2а и 2б это двухфайловая программа

3).

// https://habr.com/en/post/320830 lany January 31, 2017 at 11:11 AM
// Вы имели в виду как-то так?

 import java.util.*;
 import java.util.function.DoubleBinaryOperator;
 import java.util.stream.*;

 public class OneLineCalc {
       private static final String OP_NAMES = "+-*/";
         private static final List<DoubleBinaryOperator> OPS =
                       Arrays.asList((a, b) -> a+b, (a, b) -> a-b, (a, b) -> a*b, (a, b) -> a/b);

           private static String normalize(String s) {
                   return s.replaceAll("\\s", "");
                 }

             private static void calc(String s) {
                 System.out.println(doCalc(normalize(s)));
                   }

           private static double doCalc(String s) {
                   try {
                             int opPos = IntStream.range(1, s.length())
                                                        .filter(idx -> OP_NAMES.indexOf(s.charAt(idx)) != -1)
                                                                   .findFirst().getAsInt();
                               return OPS.get(OP_NAMES.indexOf(s.charAt(opPos))).applyAsDouble(
                                                   Double.parseDouble(s.substring(0, opPos)),
                                                           Double.parseDouble(s.substring(opPos+1)));
                               }
                       catch (NoSuchElementException | NumberFormatException e) {
                             return Double.NaN;
                             }
                     }

             public static void main(String[] args) {
                     calc("+5 + -12");
                     calc("+5 * -12");
                         calc("+5 - -12");
                         calc("+5 / -12");
                           }
 }

Всё. Три программы, из них одна из двух файлов.

////////////////////////////////////////////////////////////////////////////////////////////

Вт май 21 19:53:20 MSK 2019

DG - EX    отвечать не обязательно просто пишу.

С принтером что-то получилось. Но ушло много времени.

С Явой это я придумал, повторять 3 примера. Так бы все стали программистами.

Там по другому, я то знаю. Дальше больше, в разные стороны и снова назад.

Потому 6 процентов доходят до юниора.

/////////////////////////////////////////////////////////////////////////////////////////////

Ср май 22 12:34:54 MSK 2019

public class HelloWorld {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
}

и другая, разница есть.

import java.io.*;
// This is a simple program called HelloWorld.java
class HelloWorld
   {
public static void main(String args
      {
System.out.println(" Welcome to the world of Java ");
       }
   }

и третья, разница есть.

 

class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

И четвёртая ( для учеников в IntelIdea )

package com.example.helloworld;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

В четвёртой не выводится Hello, World. Это для IntelIdea первая строка. Но если её закомментировть то будет нормально
примечание : Євгенія: Август 31, 2014 в 11:35 дп 
Чому ви використовуєте багнуте ECLIPSE замість адекватного Intellij IDEA?
видповидь : Мария (admin): Август 31, 2014 в 1:12 пп
каждому свое, нравится идея — пользуйтесь идеей
Ниже программа для Eclipse, где Мария каждому свое говорит
А код я перепечатал с https://www.youtube.com/watch?v=J9lkAK0L16I
public class Main {

    public static void main(String[] args){
    System.out.println("Hello world!");
     }

  }
//Выше программа для Eclipse То есть где Мария каждому свое говорит.
Ка́ждому своё (лат. suum cuique [суум куиквэ]) — всякому своё, 
каждому по его заслугам) — классический принцип справедливости. 
В Новейшей истории фраза получила известность как надпись, 
сделанная немецкими нацистами над входом в концентрационный лагерь Бухенвальд, — Jedem das Seine. 
В современном использовании, особенно в Германии и оккупированных ею во время Второй мировой войны странах, 
фраза воспринимается с негативныm оттенком...

И пятый вариант 

https://gitjournal.tech/pishem-hello-world-na-java/ Это полезный вариант
Он ведёт к компилятору https://ideone.com/07hqbe

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        // your code goes here
    }
}
 
Успешно #stdin #stdout 0.04s 2184192KB
stdin: Standard input is empty
stdout: Standard output is empty
 
И 6-й вариант Перед этим смотрим это: http://pr0java.blogspot.com/2015/03/java-hello-world.html

Строка

public class HelloWorld

Содержит модификатор доступа public и объявление class. Оба этих слова являются ключевыми словами языка, которые мы рассматривали до этого.

Модификатор public означает что класс доступен другим классам и программам извне. О модификаторах доступа будем говорить позже.

Начало класса отмечается служебным словом class, за которым следует имя класса, выбираемое произвольно, в данном случае это имя HelloWorld. Все, что содержится в классе, записывается в фигурных скобках и составляет тело класса (class body).

В следующей строке идет объявление метода класса Это ладно, public ...

//   Ср

вверх^ к полной версии понравилось! в evernote


Вы сейчас не можете прокомментировать это сообщение.

Дневник JAVA_18 | _ghbhjif - Дневник _ghbhjif | Лента друзей _ghbhjif / Полная версия Добавить в друзья Страницы: раньше»