Произошла ошибка при подключении к базе данных MySQL Workbench: java.sql.SQLNonTransientConnectionException: Не удалось создать соединение с сервером базы данных

Хорошо, так что предложения-токенизаторы - это то, на что я смотрел в деталях, используя регулярные выражения, nltk, CoreNLP. Вы в конечном итоге пишете свои собственные, и это зависит от приложения. Этот материал сложный и ценный, и люди не просто отдают свой код токенизатора. (В конечном счете, токенизация не является детерминированной процедурой, она вероятностна и также очень сильно зависит от вашего корпуса или домена, например, сообщения в социальных сетях против обзоров Yelp vs. ...)

В общем, вы не можете полагайтесь на одно непогрешимое регулярное выражение Great White, вам нужно написать функцию, которая использует несколько регулярных выражений (как положительных, так и отрицательных); также словарь аббревиатур и некоторый базовый язык, который знает, что, например, «Я», «США», «FCC», «TARP» капитализируются на английском языке.

Чтобы проиллюстрировать, насколько легко это может серьезно осложниться, попробуем написать вам эту функциональную спецификацию для детерминированного токенизатора просто решить, будет ли один или несколько периодов ('.' / '...') обозначать конец предложения или что-то еще:

function isEndOfSentence(leftContext, rightContext)

  1. Возврат Ложно для десятичных знаков внутри чисел или валюты, например 1.23, $ 1.23: «Это просто мои $ .02» . Рассмотрим также ссылки на разделы, такие как 1.2.3 или европейские форматы даты, например 09.07.2014
  2. Возврат False (и не tokenize на отдельные буквы) для известных сокращений, например «Запасы США падают»; для этого требуется словарь известных сокращений. Все, что за пределами этого словаря вы ошибетесь.
  3. Эллипсы «...» в конце предложений являются терминальными, но в середине предложений нет. Это не так просто, как вы могли бы подумать: вам нужно взглянуть на левый контекст и правильный контекст, в частности, заглавный RHS и снова рассмотреть заглавные слова типа «я» и аббревиатуры. Вот пример доказательства двусмысленности, который: Она попросила меня остаться ... Я ушел через час. (Было ли это одно предложение или два? Невозможно определить)
  4. Вы также можете хотите написать несколько шаблонов, чтобы обнаруживать и отклонять разные варианты прерывания, отличные от предложения: символика, искусство ASCII, эллипсы на расстоянии. , , и другие вещи esp. Twitter. (Сделать эту адаптивность еще сложнее). Как узнать, является ли @midnight пользователем Twitter, показателем в Comedy Central или просто пунктуацией нежелательной / нежелательной / опечатки? Серьезно нетривиально.
  5. После того, как вы справитесь со всеми этими отрицательными случаями, вы можете произвольно сказать, что любой изолированный период, за которым следуют пробелы, скорее всего, будет окончанием предложения. (В конечном счете, если вы действительно хотите приобрести дополнительную точность, вы в конечном итоге пишете свой собственный вероятностный фреймворк предложения, который использует веса и обучает его конкретному корпусу (например, юридические тексты, широковещательные СМИ, StackOverflow, Twitter, комментарии к форуму и т. Д.), ) Затем вам нужно вручную просмотреть образцы и ошибки обучения. См. Книгу Маннинга и Джурафского или курс Курсера [a]. В конечном итоге вы получаете столько же корректности, сколько готовы заплатить.
  6. . Все вышеизложенное четко относится к англоязычным / аббревиатурам, форматам US number / time / date. Если вы хотите сделать это независимым от страны и языка, это более важное предложение, вам понадобятся корпорация, люди, говорящие на родном языке, для маркировки и QA, и т. Д.
  7. Все вышеизложенное остается только ASCII. Разрешить ввод Unicode, и все становится еще сложнее (и набор тренировок обязательно должен быть либо намного большим, либо намного реже)

В простом (детерминированном) случае function isEndOfSentence(leftContext, rightContext) возвращает boolean, но в более общем смысле это вероятностно: он возвращает float (уровень уверенности, что этот конкретный «.» - конец предложения).

Ссылки: [a] Видео Coursera: «Обработка основного текста 2-5 - Сегментация предложений - Стэнфордская НЛП - Профессор Дэн Юрафски и Крис Маннинг»

0
задан Rameel Hashmi 16 January 2019 в 14:41
поделиться

1 ответ

Имя пользователя и пароль необходимо передать getConnection (), например.

Connection conn = null; 
 String url = "jdbc:mysql://localhost/"; 
 String dbName = "someDb"; 
 String driver = "com.mysql.jdbc.Driver"; 
 String userName = "root"; String password = "password"; 
 try { Class.forName(driver).newInstance();
       conn = DriverManager.getConnection(url+dbName,userName,password);   System.out.println("Connected to the database"); conn.close(); System.out.println("Disconnected from database"); } catch (Exception e) { System.out.println("NO CONNECTION =("); } }
0
ответ дан user3307291 16 January 2019 в 14:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: